.contact-page { background:linear-gradient(180deg,#fffdf8 0,#fffdf8 72%,#f7f3ea 100%); }
.contact-header { position:sticky; z-index:20; top:0; height:84px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; padding:0 max(28px,calc((100vw - 1184px)/2)); border-bottom:1px solid rgba(16,47,76,.08); background:rgba(255,253,248,.96); backdrop-filter:blur(12px); }
.contact-header nav { display:flex; align-items:center; gap:30px; color:#41505c; font-size:13px; }
.contact-header nav a { position:relative; padding:31px 0; }
.contact-header nav a:hover,.contact-header nav a.active { color:var(--navy); }
.contact-header nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:21px; height:2px; background:var(--saffron); }
.contact-header-actions { justify-self:end; display:flex; align-items:center; gap:10px; }
.contact-header-actions > a:first-child { min-height:42px; display:inline-flex; align-items:center; padding:0 15px; color:var(--navy); font-size:12px; font-weight:700; }
.header-shop { min-height:42px; display:inline-flex; align-items:center; gap:15px; padding:0 18px; border-radius:999px; background:var(--navy); color:white; font-size:12px; font-weight:700; }
.header-shop:hover { background:var(--navy-deep); }

.contact-main { overflow:hidden; }
.contact-intro { max-width:1240px; margin:0 auto; padding:72px 28px 82px; display:grid; grid-template-columns:minmax(0,.82fr) minmax(540px,1.18fr); gap:76px; align-items:start; }
.contact-copy { padding-top:28px; }
.contact-copy h1 { font-size:clamp(52px,5.5vw,76px); }
.contact-copy > p:not(.eyebrow) { max-width:520px; margin:26px 0 0; color:#53616c; font-size:17px; line-height:1.7; }
.contact-route-list { margin-top:42px; border-top:1px solid var(--line); }
.contact-route-list article { display:grid; grid-template-columns:32px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid var(--line); }
.contact-route-list article > span { color:#b26a14; font:700 10px "Manrope",sans-serif; }
.contact-route-list b { color:var(--navy); font-size:14px; }
.contact-route-list p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.contact-channels { margin-top:27px; display:flex; flex-wrap:wrap; gap:18px 28px; }
.direct-contact { display:flex; align-items:center; gap:13px; }
.direct-contact[hidden] { display:none; }
.direct-contact-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#fff0d8; color:#9b5f13; font-weight:800; }
.phone-contact .direct-contact-mark { background:#e4f1ec; color:#24614e; font-size:15px; }
.direct-contact div { display:flex; flex-direction:column; }
.direct-contact small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.direct-contact a { margin-top:2px; color:var(--navy); font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.inquiry-card { scroll-margin-top:108px; overflow:hidden; background:white; border:1px solid #e3dfd6; border-radius:18px; box-shadow:0 28px 70px rgba(16,47,76,.12); }
.inquiry-card-heading { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 30px; border-bottom:1px solid var(--line); background:#fcfaf5; }
.inquiry-card-heading .eyebrow { margin-bottom:5px; }
.inquiry-card-heading h2 { margin:0; color:var(--navy); font-size:30px; }
.inquiry-card-heading > span { padding:7px 10px; border-radius:999px; background:#e4f1ec; color:#24614e; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
#contact-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:28px 30px 32px; }
.contact-field { min-width:0; display:flex; flex-direction:column; gap:7px; }
.contact-field.full,.form-submit-row.full,.contact-form-message.full { grid-column:1 / -1; }
.contact-field[hidden] { display:none; }
.contact-field label { color:var(--navy); font-size:11px; font-weight:700; }
.contact-field label span { color:var(--muted); font-weight:400; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; border:1px solid #cbc8c0; border-radius:8px; background:white; color:var(--ink); outline:none; font:inherit; font-size:13px; }
.contact-field input,.contact-field select { height:48px; padding:0 13px; }
.contact-field select { cursor:pointer; }
.contact-field textarea { min-height:132px; resize:vertical; padding:13px; line-height:1.55; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(16,47,76,.08); }
.contact-field input:user-invalid,.contact-field select:user-invalid,.contact-field textarea:user-invalid { border-color:#a94c4c; }
.field-help { color:var(--muted); font-size:9px; line-height:1.45; }
.contact-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-submit-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:3px; padding-top:18px; border-top:1px solid var(--line); }
.form-submit-row p { max-width:280px; margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.form-submit-row .button { min-width:174px; }
.form-submit-row .button:disabled { opacity:.65; cursor:wait; transform:none; }
.contact-form-message { min-height:0; margin:0; padding:0; color:#a33b3b; font-size:11px; }
.contact-form-message:empty { display:none; }
.inquiry-success { padding:62px 38px; text-align:center; }
.inquiry-success[hidden] { display:none; }
.inquiry-success .success-check { margin-bottom:22px; }
.inquiry-success h2 { margin:0; color:var(--navy); font-size:36px; }
.inquiry-success > p:not(.eyebrow) { max-width:440px; margin:13px auto; color:var(--muted); line-height:1.65; }
.inquiry-success > strong { display:block; width:max-content; margin:22px auto; padding:12px 17px; border-radius:8px; background:var(--cream); color:var(--navy); letter-spacing:.05em; }
.inquiry-success > div { display:flex; justify-content:center; gap:10px; margin-top:28px; }

.contact-assurance { max-width:1184px; margin:0 auto 100px; padding:45px 52px; background:var(--navy); color:white; }
.contact-assurance > .eyebrow { color:var(--saffron); }
.contact-assurance > div { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:27px; }
.contact-assurance article { display:grid; grid-template-columns:34px 1fr; gap:4px 13px; }
.contact-assurance article > span { grid-row:1 / 3; width:34px; height:34px; display:grid; place-items:center; border:1px solid #446078; border-radius:50%; color:var(--saffron); font-size:11px; font-weight:700; }
.contact-assurance b { font-size:13px; }
.contact-assurance p { margin:2px 0 0; color:#b6c2ca; font-size:10px; line-height:1.55; }

@media(max-width:1050px){
  .contact-header { grid-template-columns:1fr auto; }
  .contact-header nav { display:none; }
  .contact-intro { grid-template-columns:1fr; gap:45px; max-width:760px; }
  .contact-copy { padding-top:0; }
}
@media(max-width:720px){
  .contact-header { height:72px; padding:0 18px; }
  .contact-header-actions > a:first-child { display:none; }
  .header-shop { width:44px; min-width:44px; padding:0; justify-content:center; font-size:0; }
  .header-shop span { font-size:18px; }
  .contact-intro { padding:46px 18px 64px; }
  .contact-copy h1 { font-size:50px; }
  .contact-copy > p:not(.eyebrow) { font-size:15px; }
  .inquiry-card-heading { min-height:92px; padding:20px; }
  .inquiry-card-heading > span { display:none; }
  #contact-form { grid-template-columns:1fr; padding:22px 20px 24px; }
  .contact-field,.contact-field.full,.form-submit-row.full,.contact-form-message.full { grid-column:1; }
  .form-submit-row { align-items:stretch; flex-direction:column; gap:14px; }
  .form-submit-row .button { width:100%; }
  .inquiry-success { padding:48px 20px; }
  .inquiry-success h2 { font-size:31px; }
  .inquiry-success > div { flex-direction:column; }
  .contact-assurance { margin:0 18px 70px; padding:35px 26px; }
  .contact-assurance > div { grid-template-columns:1fr; gap:25px; }
}
