/* The mother's real italic face, scoped to the copyright to preserve other typography. */
@font-face {
  font-family: 'RESTART Copyright';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('assets/fonts/cormorantgaramond-4fb474043d26.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.brand-contact,
.brand-footer {
  --brand-charcoal: #30332e;
  --brand-line: #dedbd6;
  font-family: var(--jp);
}
.brand-layout-width { width: min(calc(100% - 96px), 1168px); margin-inline: auto; }

.brand-contact { position: relative; background: var(--paper); color: var(--ink, #333); padding-block: 120px 106px; }
.brand-contact-intro { max-width: 720px; margin-inline: auto; text-align: center; }
.brand-contact-kicker { margin: 0 0 22px; font: italic 400 13px/1.6 var(--en); letter-spacing: .3em; text-transform: uppercase; color: #77736e; }
.brand-contact-intro h2 { margin: 0; font: 400 clamp(25px, 3.2vw, 35px)/1.8 var(--jp); letter-spacing: .1em; }
.brand-contact-rule { width: 40px; height: 1px; margin: 28px auto; background: var(--gold); }
.brand-contact-lead { margin: 0 0 16px; font-size: 18px; line-height: 2.1; font-weight: 400; }
.brand-contact-description { margin: 0; font-size: 14px; line-height: 2.2; color: #64655d; }
.brand-contact-button { display: flex; align-items: center; justify-content: center; gap: 36px; width: min(100%, 340px); min-height: 64px; margin: 40px auto 0; padding: 15px 26px; border: 1px solid var(--brand-charcoal); background: var(--brand-charcoal); color: #fff; font: 400 15px/2 var(--jp); letter-spacing: .08em; text-decoration: none; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.brand-contact-button > [aria-hidden="true"] { flex: 0 0 auto; color: var(--gold); font: 400 22px/1 var(--ui); transition: transform .25s ease; }
.brand-contact-button:focus-visible { outline: 2px solid var(--gold-ink, #786443); outline-offset: 5px; border-color: var(--gold); }

.brand-footer { position: relative; padding-block: 100px 28px; background: var(--brand-charcoal); color: rgba(255, 255, 255, .85); }
.brand-footer-top { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 70px; padding-bottom: 60px; }
.brand-footer-identity { max-width: 460px; min-width: 0; }
.brand-footer-logo { display: inline-block; font: 500 30px/1.3 var(--en); letter-spacing: .22em; color: #fff; text-decoration: none; }
.brand-footer-division { margin: 17px 0 23px; color: rgba(255, 255, 255, .7); font-size: 11px; line-height: 1.9; letter-spacing: .08em; }
.brand-footer-description { margin: 0; color: rgba(255, 255, 255, .75); font-size: 13px; line-height: 2.1; }
.brand-footer-connect { margin-top: 34px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .16); }
.brand-footer-connect-label { margin: 0 0 17px; color: rgba(255, 255, 255, .7); font: italic 400 12px/1.7 var(--en); letter-spacing: .2em; text-transform: uppercase; }
.brand-footer-connect-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.brand-footer-connect-item { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 13px 15px; background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .12); text-decoration: none; transition: background .3s ease, border-color .3s ease, transform .3s ease; }
.brand-footer-connect-name { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #fff; font: 500 15px/1.6 var(--en); letter-spacing: .08em; }
.brand-footer-connect-name > span { color: var(--gold); font: 400 11px/1 var(--ui); }
.brand-footer-connect-detail { color: rgba(255, 255, 255, .72); font-size: 10px; line-height: 1.7; letter-spacing: .025em; overflow-wrap: anywhere; }
.brand-footer-column { min-width: 0; }
.brand-footer-column h2 { margin: 0 0 25px; color: var(--gold); font: italic 400 14px/1.6 var(--en); letter-spacing: .2em; text-transform: uppercase; }
.brand-footer-column ul { list-style: none; margin: 0; padding: 0; }
.brand-footer-column li + li { margin-top: 13px; }
.brand-footer-column a { display: inline-block; padding-block: 3px; color: rgba(255, 255, 255, .8); font-size: 12px; line-height: 1.9; letter-spacing: .06em; text-decoration: none; text-underline-offset: .3em; transition: color .25s ease; }
.brand-footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; padding-top: 32px; border-top: 1px solid rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .7); }
.brand-footer-bottom small { grid-column: 2; text-align: center; font: italic 300 12px/2 'RESTART Copyright', var(--en); letter-spacing: .3em; text-wrap: balance; }
.brand-footer-bottom a { grid-column: 3; justify-self: end; font: 400 10px/1.8 var(--ui); letter-spacing: .1em; display: inline-flex; align-items: center; gap: 15px; padding-block: 9px; color: inherit; text-decoration: none; }
.brand-footer a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
.brand-footer-column a:focus-visible,
.brand-footer-bottom a:focus-visible { color: #fff; text-decoration: underline; }
.brand-footer-connect-item:focus-visible { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .25); }

@media (hover: hover) {
  .brand-contact-button:hover { background: #42483d; border-color: #6b725f; transform: translateY(-2px); }
  .brand-contact-button:hover > [aria-hidden="true"] { transform: translateX(4px); }
  .brand-footer-connect-item:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .25); transform: translateY(-2px); }
  .brand-footer-column a:hover,
  .brand-footer-bottom a:hover { color: #fff; text-decoration: underline; }
}
@media (max-width: 1100px) {
  .brand-footer-top { gap: 45px; }
}
@media (max-width: 900px) {
  .brand-footer { padding-top: 76px; }
  .brand-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 40px; padding-bottom: 48px; }
  .brand-footer-identity { grid-column: 1 / -1; max-width: none; }
  .brand-footer-connect { max-width: 480px; }
}
@media (max-width: 760px) {
  .brand-footer-bottom { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .brand-footer-bottom a { grid-column: 1; grid-row: 1; }
  .brand-footer-bottom small { grid-column: 1; grid-row: 2; }
  .brand-layout-width { width: calc(100% - 48px); }
  .brand-contact { padding-block: 84px 76px; }
  .brand-contact-kicker { margin-bottom: 19px; font-size: 12px; }
  .brand-contact-intro h2 { font-size: 25px; letter-spacing: .07em; }
  .brand-contact-lead { font-size: 16px; }
  .brand-contact-description { font-size: 13px; line-height: 2.1; }
  .brand-contact-description br { display: none; }
  .brand-footer { padding-block: 68px 24px; }
  .brand-footer-connect { margin-top: 29px; padding-top: 25px; }
  .brand-footer-logo { font-size: 29px; }
}
@media (max-width: 560px) {
  .brand-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 22px; }
  .brand-footer-column h2 { margin-bottom: 18px; }
  .brand-footer-column li + li { margin-top: 10px; }
  .brand-footer-connect-list { gap: 8px; }
  .brand-footer-connect-item { padding: 12px 13px; }
  .brand-footer-connect-detail { font-size: 10px; }
  .brand-footer-bottom { padding-top: 28px; }
  .brand-footer-bottom small { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-contact-button,
  .brand-contact-button > [aria-hidden="true"] { transition: none; }
  .brand-contact-button:hover,
  .brand-contact-button:hover > [aria-hidden="true"] { transform: none; }
  .brand-footer-connect-item,
  .brand-footer-column a { transition: none; }
  .brand-footer-connect-item:hover { transform: none; }
}
