/* Contact layout adapted from the existing Minha História page. */
.contact-page{--white:#fff;--black:#000;--functional:var(--sans);--display:var(--serif);--hairline:#e3e0da;--bronze-text:#75502c;--bronze:var(--gold);--bronze-light:var(--gold-mid);--travertine:var(--gold-soft);--tracking:-.01em;--fs-meta:14px}
.contact-page .site-header{border-bottom:1px solid var(--hairline)}
.contact-split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);min-height:calc(100vh - 113px)}
.contact-form-panel{min-width:0;padding:56px clamp(28px,5vw,88px) 96px;background:var(--paper)}
.contact-form-panel h1{max-width:680px;font-size:clamp(54px,5.7vw,83px);line-height:1.1}
.contact-form-panel h1 span{color:var(--bronze-text)}
.contact-intro{max-width:600px;margin:30px 0 48px;font-size:20px;line-height:1.4}
.contact-info-panel{background:var(--dark);color:var(--paper);padding:88px clamp(28px,5vw,88px) 56px;min-width:0}
.contact-info-inner{position:sticky;top:154px;display:flex;flex-direction:column;gap:100px}
.contact-info-panel .eyebrow{color:var(--gold-mid);font-size:12px;margin-bottom:26px}
.contact-info-panel h2{font-size:clamp(44px,4.4vw,64px);line-height:1.15}
.contact-channels{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:34px;font-style:normal}
.contact-channels a{font-size:16px;line-height:1.45;border-bottom:1px solid var(--gold);overflow-wrap:anywhere;max-width:100%}
.contact-channels a:hover,.contact-directions a:hover{color:var(--blue);border-color:var(--blue)}
.contact-info-panel a:focus-visible{outline-color:var(--blue)}
.contact-directions ul{margin:0;padding:0;list-style:none}
.contact-directions li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 0;border-top:1px solid #45413c}
.contact-directions li>span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper)}
.contact-directions a{font-family:var(--serif);font-weight:300;font-size:22px;line-height:1.3;border-bottom:1px solid var(--gold)}
.contact-signature{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;color:var(--paper);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.contact-signature i{height:1px;background:#45413c}
.contact-form,.form-controls{border:0;margin:0;padding:0;min-width:0;max-width:660px;overflow-anchor:none}
.contact-form .form-controls{width:100%}
.form-trap,.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-success{padding:40px 0 64px}
.contact-success h2{font-size:42px;margin:24px 0 18px}
.contact-success p{font-size:18px;margin-bottom:30px}
.success-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--blue);font-size:28px}
.contact-success:focus{outline:0}
.historical-smart-form { max-width: 660px; }
.historical-smart-form .form-progress { margin: 0 0 50px; }
.historical-smart-form .form-progress ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.historical-smart-form .form-progress li { position: relative; min-width: 0; display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 8px; color: var(--ink); }
.historical-smart-form .form-progress li::after { content: ""; position: absolute; z-index: 0; top: 15px; left: 30px; right: 0; height: 1px; background: var(--hairline); }
.historical-smart-form .form-progress li:last-child::after { display: none; }
.historical-smart-form .form-progress li > span { position: relative; z-index: 1; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--hairline); border-radius: 50%; background: var(--white); color: var(--ink); font-size: 12px; font-weight: 600; }
.historical-smart-form .form-progress li small { position: relative; z-index: 1; max-width: 112px; padding: 4px 10px; overflow-wrap: anywhere; background: var(--white); font-size: 10px; line-height: 1.25; }
.historical-smart-form .form-progress li.is-current > span { border-color: var(--black); background: var(--black); color: var(--white); }
.historical-smart-form .form-progress li.is-current small { color: var(--black); font-weight: 600; }
.historical-smart-form .form-progress li.is-complete > span { border-color: var(--bronze-text); color: var(--bronze-text); }
.historical-smart-form .form-step-index { margin: 0 0 12px; color: var(--black); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.historical-smart-form .form-step h2 { max-width: 650px; margin: 0; font-family: var(--display); font-size: clamp(2rem, 3.1vw, 2.625rem); font-weight: 300; line-height: 1.14; letter-spacing: var(--tracking); }
.historical-smart-form .form-step h2:focus { outline: 0; }
.historical-smart-form .form-step-lead { max-width: 62ch; margin: 18px 0 34px; color: var(--ink); font-size: 16px; line-height: 1.6; }
.historical-smart-form .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.historical-smart-form .form-field-wide { grid-column: 1 / -1; }
.historical-smart-form .form-grid > label,
.historical-smart-form .service-selector,
.historical-smart-form .smart-field:not(fieldset) { display: block; margin-bottom: 22px; color: var(--black); font-family: var(--functional); font-size: var(--fs-meta); font-weight: 600; line-height: 21px; letter-spacing: .12em; text-transform: uppercase; }
.historical-smart-form .service-selector > span,
.historical-smart-form .smart-field:not(fieldset) > span { display: block; }
.historical-smart-form .smart-field:not(fieldset) > small { display: block; max-width: 70ch; margin: 4px 0 6px; color: var(--ink); font-size: 12px; font-weight: 400; line-height: 1.5; letter-spacing: normal; text-transform: none; }
.historical-smart-form input,
.historical-smart-form textarea,
.historical-smart-form select { width: 100%; display: block; min-height: 0; border: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; background: transparent; padding: 12px 0; color: var(--black); font-family: var(--functional); font-size: 16px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.historical-smart-form input { height: 49px; line-height: 24px; }
.historical-smart-form select { height: 52.5px; line-height: normal; }
.historical-smart-form .service-select{margin-top:8px}
.historical-smart-form textarea { min-height: 169px; line-height: 24px; resize: vertical; }
.historical-smart-form input::placeholder,
.historical-smart-form textarea::placeholder { color: var(--ink); opacity: 1; }
.historical-smart-form input:focus,
.historical-smart-form textarea:focus,
.historical-smart-form select:focus { border-bottom-color: var(--black); outline: 0; box-shadow: 0 1px 0 var(--black); }
.historical-smart-form .service-context { margin: 0 0 22px; padding: 22px 0; border: 0; background: var(--white); }
.historical-smart-form .service-context strong { font-family: var(--display); font-size: 26px; font-weight: 300; }
.historical-smart-form .service-context p { margin: 8px 0 0; color: var(--ink); font-size: 14px; line-height: 1.5; }
.historical-smart-form .briefing-fields { display: grid; gap: 4px; }
.historical-smart-form .checkbox-fieldset { min-width: 0; margin: 0 0 34px; padding: 0; border: 0; }
.historical-smart-form .checkbox-fieldset legend { display: block; margin-bottom: 9px; color: var(--black); font-family: var(--functional); font-size: var(--fs-meta); font-weight: 600; line-height: 21px; letter-spacing: .12em; text-transform: uppercase; }
.historical-smart-form .checkbox-fieldset > small { display: block; max-width: 70ch; margin: -2px 0 12px; color: var(--ink); font-size: 12px; font-weight: 400; line-height: 1.5; }
.historical-smart-form .choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--hairline); border-left: 1px solid var(--hairline); }
.contact-form .historical-smart-form .choice-card,
.historical-smart-form .choice-card { min-height: 58px; display: grid; grid-template-columns: 20px 1fr; align-items: center; gap: 11px; margin: 0; padding: 12px 14px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); cursor: pointer; font-size: 13px; font-weight: 400; line-height: 1.35; letter-spacing: 0; text-transform: none; }
.historical-smart-form .choice-card:hover { color: var(--bronze-text); }
.historical-smart-form .choice-card input,
.historical-smart-form .check-label input { width: 18px; min-height: 18px; height: 18px; margin: 0; accent-color: var(--bronze-text); box-shadow: none; }
.historical-smart-form .repeater-list { display: grid; gap: 18px; }
.historical-smart-form .repeater-row { padding: 22px 0; border-top: 1px solid var(--hairline); background: var(--white); }
.historical-smart-form .repeater-row:last-child { border-bottom: 1px solid var(--hairline); }
.historical-smart-form .repeater-title { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.historical-smart-form .repeater-title strong { font-size: 13px; }
.historical-smart-form .repeater-title button,
.historical-smart-form .add-row-button { min-height: 44px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--bronze-text); padding: 3px 0; cursor: pointer; font-size: 12px; font-weight: 600; }
.historical-smart-form .repeater-fields { display: grid; gap: 18px; }
.historical-smart-form .repeater-fields-5 { grid-template-columns: 1.1fr 2fr repeat(3, 1fr); }
.historical-smart-form .repeater-fields-3 { grid-template-columns: repeat(3, 1fr); }
.historical-smart-form .repeater-fields-2 { grid-template-columns: repeat(2, 1fr); }
.contact-form .historical-smart-form .repeater-fields label,
.historical-smart-form .repeater-fields label { display: grid; gap: 4px; margin: 0; color: var(--ink); font-size: 11px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.historical-smart-form .repeater-fields input { background: var(--white); padding-inline: 9px; }
.historical-smart-form .add-row-button { margin-top: 16px; font-size: 13px; }
.historical-smart-form .audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--hairline); border-left: 1px solid var(--hairline); }
.contact-form .historical-smart-form .audience-grid label,
.historical-smart-form .audience-grid label { min-height: 62px; display: grid; grid-template-columns: minmax(0, 1fr) 76px; align-items: center; gap: 12px; margin: 0; padding: 10px 12px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); font-size: 13px; font-weight: 400; line-height: 1.3; letter-spacing: 0; text-transform: none; }
.historical-smart-form .audience-grid input { min-height: 44px; height: 44px; padding: 8px; background: var(--white); text-align: center; }
.historical-smart-form .field-hint { margin: 10px 0 30px; color: var(--ink); font-size: 12px; line-height: 1.5; }
.historical-smart-form .corporate-notice { margin: 0 0 34px; padding: 24px; border: 1px solid var(--bronze-text); background: var(--white); }
.historical-smart-form .corporate-notice strong { color: var(--bronze-text); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.historical-smart-form .corporate-notice p { margin: 10px 0 0; font-size: 14px; line-height: 1.6; }
.historical-smart-form .review-list,
.historical-smart-form .briefing-review dl { margin: 0; }
.historical-smart-form .review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 32px; border-top: 1px solid var(--hairline); border-left: 1px solid var(--hairline); }
.historical-smart-form .review-list > div,
.historical-smart-form .briefing-review dl > div { min-width: 0; padding: 16px 18px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.historical-smart-form .review-list dt,
.historical-smart-form .briefing-review dt { color: var(--ink); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.historical-smart-form .review-list dd,
.historical-smart-form .briefing-review dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 14px; line-height: 1.45; }
.historical-smart-form .briefing-review { margin: 0 0 32px; border: 1px solid var(--hairline); }
.historical-smart-form .briefing-review summary { padding: 16px 18px; cursor: pointer; font-size: 13px; font-weight: 600; }
.historical-smart-form .briefing-review dl { border-top: 1px solid var(--hairline); }
.historical-smart-form .briefing-review dl > div { border-right: 0; }
.historical-smart-form .additional-information { margin-top: 28px; }
.historical-smart-form .form-warning { margin: 0 0 24px; padding: 16px 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); color: var(--ink); font-size: 12px; line-height: 1.5; }
.contact-form .historical-smart-form .check-label,
.historical-smart-form .check-label { display: grid; grid-template-columns: 18px 1fr; gap: 12px; align-items: start; margin: 24px 0; color: var(--ink); font-size: 12px; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.historical-smart-form .check-label input { margin-top: 2px; }
.historical-smart-form .check-label a { text-decoration: underline; text-decoration-color: var(--bronze); text-underline-offset: 3px; }
.historical-smart-form .form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 22px; margin-top: 38px; padding-top: 28px; border-top: 0; }
.historical-smart-form .form-back { min-height: 44px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--black); cursor: pointer; font-weight: 600; }
.historical-smart-form .submit-button { min-width: 220px; cursor: pointer; border: 0; }
.historical-smart-form .submit-button:disabled { cursor: wait; opacity: .68; }
.historical-smart-form .form-error { margin: 0 0 28px; padding: 15px 17px; border-left: 3px solid #8d2525; background: #fff1f1; color: #5d1717; font-size: 13px; }
.historical-smart-form .form-status { margin: 18px 0 0; padding: 15px; border-left: 2px solid var(--bronze); background: var(--travertine); color: var(--black); font-size: 13px; }
.historical-smart-form .form-operational-note { margin: 20px 0 0; color: var(--ink); font-size: 11px; line-height: 1.5; }

@media (max-width: 860px) {
  .historical-smart-form .repeater-fields-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .historical-smart-form .repeater-fields-5 label:nth-child(2) { grid-column: span 2; }
}

@media (max-width: 720px) {
  .historical-smart-form .form-progress { margin-bottom: 30px; }
  .historical-smart-form .form-progress li { grid-template-columns: 30px 1fr; }
  .historical-smart-form .form-progress li small { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .historical-smart-form .form-grid,
  .historical-smart-form .choice-grid,
  .historical-smart-form .audience-grid,
  .historical-smart-form .review-list,
  .historical-smart-form .repeater-fields-5,
  .historical-smart-form .repeater-fields-3,
  .historical-smart-form .repeater-fields-2 { grid-template-columns: 1fr; }
  .historical-smart-form .repeater-fields-5 label:nth-child(2) { grid-column: auto; }
  .historical-smart-form .form-field-wide { grid-column: auto; }
  .historical-smart-form .form-step h2 { font-size: 2.25rem; }
  .historical-smart-form .form-actions { justify-content: space-between; gap: 14px; }
  .historical-smart-form .form-actions .submit-button { min-width: 0; flex: 1; }
  .historical-smart-form .form-back { flex: 0 0 auto; }
}

/* Small adjustments for the institutional direction and long service briefings. */
.historical-smart-form .form-progress li{grid-template-columns:30px minmax(0,1fr);gap:4px}
.historical-smart-form .form-progress li small{font-size:12px;padding:4px 7px}
.historical-smart-form .form-progress li::after{background:var(--hairline)}
.historical-smart-form .form-progress li.is-current>span{background:var(--gold);border-color:var(--gold);color:#fff}
.historical-smart-form .form-grid>label,.historical-smart-form .smart-field:not(fieldset),.historical-smart-form .service-selector{margin-bottom:30px}
.historical-smart-form .smart-field>.service-selector{margin-bottom:0}
.historical-smart-form .form-step h2{font-size:clamp(32px,3vw,42px);overflow-wrap:break-word}
.historical-smart-form .smart-field:not(fieldset)>small,.historical-smart-form .checkbox-fieldset>small{font-size:14px;line-height:1.5;margin-block:6px 10px}
.historical-smart-form .service-context{padding-block:20px 4px}
.historical-smart-form .choice-card{font-size:15px;line-height:1.4}
.historical-smart-form .audience-grid label{font-size:15px}
.historical-smart-form .repeater-fields-5{grid-template-columns:repeat(3,minmax(0,1fr))}
.historical-smart-form .repeater-fields-5 label:nth-child(1),.historical-smart-form .repeater-fields-5 label:nth-child(2){grid-column:1/-1;grid-row:auto}
.historical-smart-form .repeater-fields label{font-size:14px}
.historical-smart-form .repeater-title strong{font-size:16px}
.historical-smart-form .repeater-row{background:var(--gold-soft);border:0;padding:24px}
.historical-smart-form .repeater-row:last-child{border:0}
.historical-smart-form .repeater-fields input{background:transparent;padding-left:0}
.historical-smart-form .repeater-title button,.historical-smart-form .add-row-button{font-size:14px}
.historical-smart-form .review-list,.historical-smart-form .briefing-review,.historical-smart-form .briefing-review dl{border:0;background:var(--gold-soft)}
.historical-smart-form .review-list>div,.historical-smart-form .briefing-review dl>div{border:0}
.historical-smart-form .review-list dt,.historical-smart-form .briefing-review dt{font-size:12px}
.historical-smart-form .review-list dd,.historical-smart-form .briefing-review dd{font-size:16px}
.historical-smart-form .briefing-review summary{font-size:16px;min-height:48px}
.review-unit{margin-block:14px 24px}
.review-unit strong{display:block;margin-bottom:8px}
.review-unit p{margin:3px 0;white-space:pre-wrap}
.review-unit p>span{color:var(--muted)}
.historical-smart-form .form-warning{border:0;padding:10px 0;font-size:14px}
.historical-smart-form .field-hint,.historical-smart-form .form-operational-note,.historical-smart-form .check-label{font-size:14px}
.historical-smart-form .form-error{font-size:16px}
.historical-smart-form .submit-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:14px 24px;border-radius:999px;background:var(--blue);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.3}
.historical-smart-form .submit-button:hover:not(:disabled){background:var(--dark);color:var(--blue)}
.historical-smart-form .submit-button:disabled,.historical-smart-form .add-row-button:disabled{opacity:.5;cursor:not-allowed}
.historical-smart-form .form-controls:disabled{opacity:.65}
.historical-smart-form input:focus-visible,.historical-smart-form select:focus-visible,.historical-smart-form textarea:focus-visible{outline:0;box-shadow:0 1px 0 var(--black)}
.historical-smart-form input[type=checkbox]:focus-visible{outline:2px solid #165b83;outline-offset:4px;box-shadow:none}
.historical-smart-form select{max-width:100%;text-overflow:ellipsis;padding-right:24px}
.historical-smart-form .form-step h2{scroll-margin-top:24px}
@media(max-width:1100px){
  .contact-split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .contact-form-panel,.contact-info-panel{padding-inline:32px}
  .contact-info-panel h2{font-size:44px}
  .contact-signature{grid-template-columns:1fr;font-size:11px;gap:12px}
  .historical-smart-form .form-progress li small{font-size:11px}
}
@media(max-width:980px){
  .contact-split{grid-template-columns:minmax(0,1fr)}
  .contact-form-panel{padding:44px var(--gutter) 72px}
  .contact-info-panel{padding:64px var(--gutter)}
  .contact-info-inner{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
  .contact-signature{grid-column:1/-1;grid-template-columns:auto 1fr auto}
  .contact-form-panel h1{font-size:64px}
  .historical-smart-form,.contact-intro{max-width:none}
  .contact-form,.form-controls{max-width:none}
}
@media(max-width:720px){
  .contact-form-panel{padding:32px 24px 64px}
  .contact-form-panel h1{font-size:clamp(48px,10vw,62px)}
  .contact-intro{font-size:18px;margin:24px 0 36px}
  .contact-info-panel{padding:48px 24px}
  .contact-info-inner{grid-template-columns:minmax(0,1fr);gap:48px}
  .contact-info-panel h2{font-size:44px}
  .contact-signature{grid-column:auto;gap:10px;font-size:10px}
  .historical-smart-form .form-progress li small{position:absolute}
  .historical-smart-form .repeater-fields-5{grid-template-columns:minmax(0,1fr)}
  .historical-smart-form .repeater-fields-5 label:nth-child(2){grid-column:auto;grid-row:auto}
  .historical-smart-form .repeater-row{padding:20px}
  .historical-smart-form .form-step h2{font-size:32px;scroll-margin-top:24px}
  .historical-smart-form .review-list{grid-template-columns:minmax(0,1fr)}
  .historical-smart-form .form-actions{flex-wrap:wrap}
  .historical-smart-form .form-actions .submit-button{font-size:15px;padding-inline:18px}
}
@media(prefers-reduced-motion:reduce){.contact-page{scroll-behavior:auto}.contact-page *{scroll-behavior:auto!important}}
@media(min-width:981px) and (max-height:950px){.contact-info-inner{position:static}}
