.page-contact{--contact-grid:rgba(245,239,224,0.07);--contact-line:rgba(212,168,83,0.45);--contact-border:rgba(43,35,32,0.14)}
.page-contact .contact-hero{background:var(--gradient-navy);color:var(--cream);position:relative;overflow:hidden;padding:var(--space-container) 0}
.page-contact .contact-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--contact-grid) 1px,transparent 1px),linear-gradient(90deg,var(--contact-grid) 1px,transparent 1px);background-size:36px 36px}
.page-contact .contact-hero__crumb{position:relative;margin-bottom:28px;color:rgba(245,239,224,0.72)}
.page-contact .contact-hero__crumb a{color:var(--cream);text-decoration-color:var(--gold);text-underline-offset:4px}
.page-contact .contact-hero__inner{position:relative;display:grid;gap:32px}
.page-contact .contact-hero__copy{max-width:720px}
.page-contact .contact-hero__index{font-family:var(--font-headline);font-size:13px;letter-spacing:0.14em;color:var(--gold);text-transform:uppercase;margin:0 0 14px}
.page-contact .contact-hero__title{font-family:var(--font-headline);font-size:var(--h1);line-height:1.12;letter-spacing:-0.01em;margin:0 0 20px}
.page-contact .contact-hero__lead{font-family:var(--font-body);font-size:var(--body);line-height:1.75;color:rgba(245,239,224,0.86);margin:0;max-width:560px}
.page-contact .contact-hero__frame{margin:0}
.page-contact .contact-hero__frame img{width:100%;height:auto;display:block;object-fit:cover}

.page-contact .contact-channels{background:var(--cream);padding:var(--space-container) 0}
.page-contact .contact-channels__head{max-width:640px;margin-bottom:40px}
.page-contact .contact-channels__head .section-title{margin-top:8px}
.page-contact .contact-channels__desc{font-family:var(--font-body);color:var(--slate);line-height:1.7;margin:10px 0 0}
.page-contact .contact-channels__grid{display:grid;gap:24px}
.page-contact .contact-card{background:var(--mist);border:1px solid var(--contact-border);border-radius:0;padding:28px;position:relative;transition:transform 0.25s var(--ease),box-shadow 0.25s var(--ease)}
.page-contact .contact-card::before{content:"";position:absolute;left:0;top:0;width:4px;height:56px;background:var(--gold)}
.page-contact .contact-card__icon{width:52px;height:52px;border:1px solid var(--contact-border);background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:20px}
.page-contact .contact-card__kicker{font-family:var(--font-headline);font-size:12px;letter-spacing:0.12em;color:var(--slate);text-transform:uppercase;margin:0 0 8px}
.page-contact .contact-card__title{font-family:var(--font-headline);font-size:var(--h3);margin:0 0 8px;color:var(--ink)}
.page-contact .contact-card__value{font-family:var(--font-headline);font-size:clamp(18px,2.2vw,24px);font-weight:700;color:var(--navy);margin:0 0 12px;overflow-wrap:anywhere}
.page-contact .contact-card__meta{font-family:var(--font-headline);font-size:var(--small);color:var(--red-orange);margin:0 0 16px}
.page-contact .contact-card__desc{font-family:var(--font-body);font-size:var(--body);line-height:1.7;color:var(--ink);margin:0}

.page-contact .contact-address{background:var(--navy);color:var(--cream);position:relative;padding:var(--space-container) 0}
.page-contact .contact-address::after{content:"";position:absolute;right:0;top:0;width:180px;height:180px;background:linear-gradient(135deg,transparent 46%,var(--gold) 47%,var(--gold) 50%,transparent 51%);opacity:0.35;pointer-events:none}
.page-contact .contact-address__layout{display:grid;gap:32px}
.page-contact .contact-address__title{font-family:var(--font-headline);font-size:var(--h2);line-height:1.2;margin:8px 0 16px}
.page-contact .contact-address__note{font-family:var(--font-headline);color:var(--red-orange);font-size:var(--small);margin:0 0 16px;padding:10px 14px;border-left:3px solid var(--red-orange);background:rgba(232,93,58,0.10)}
.page-contact .contact-address__desc{font-family:var(--font-body);line-height:1.75;color:rgba(245,239,224,0.85);max-width:540px;margin:0}
.page-contact .contact-address__frame{margin:0;position:relative}
.page-contact .contact-address__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,31,60,0.24) 1px,transparent 1px),linear-gradient(90deg,rgba(10,31,60,0.24) 1px,transparent 1px);background-size:28px 28px;mix-blend-mode:multiply}
.page-contact .contact-address__frame img{width:100%;height:auto;display:block;object-fit:cover}

.page-contact .contact-service{background:var(--mist);padding:var(--space-container) 0}
.page-contact .contact-service__lead{font-family:var(--font-body);margin:8px 0 32px;color:var(--slate);max-width:560px;line-height:1.7}
.page-contact .contact-tabs .tabs__list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.page-contact .contact-tabs .tabs__btn{font-family:var(--font-headline);font-size:var(--body);font-weight:600;color:var(--navy);background:transparent;border:2px solid var(--navy);border-radius:0;padding:12px 28px;cursor:pointer;transition:background 0.2s var(--ease),color 0.2s var(--ease)}
.page-contact .contact-tabs .tabs__btn:hover,.page-contact .contact-tabs .tabs__btn:focus-visible{background:var(--navy);color:var(--cream);outline:none}
.page-contact .contact-service__panel{background:var(--cream);border:1px solid var(--contact-border);padding:28px;margin-bottom:24px}
.page-contact .contact-service__panel h3{font-family:var(--font-headline);font-size:var(--h3);margin:0 0 16px;color:var(--navy)}
.page-contact .contact-service__panel ul{margin:0;padding-left:20px}
.page-contact .contact-service__panel li{font-family:var(--font-body);line-height:1.7;color:var(--ink);margin-bottom:10px}
.page-contact .contact-service__panel li::marker{color:var(--gold)}
.page-contact .contact-service__notice{border-left:4px solid var(--gold);background:var(--cream);padding:16px 20px;color:var(--ink)}
.page-contact .contact-service__notice p{margin:0;font-family:var(--font-body);line-height:1.7}

.page-contact .contact-feedback{background:var(--cream);padding:var(--space-container) 0}
.page-contact .contact-feedback__intro{max-width:700px;margin-bottom:40px}
.page-contact .contact-feedback__intro p:last-child{font-family:var(--font-body);color:var(--slate);line-height:1.7}
.page-contact .contact-feedback__intro a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:4px}
.page-contact .contact-feedback__steps{display:grid;gap:24px}
.page-contact .contact-feedback__step{background:var(--mist);border-top:3px solid var(--gold);padding:28px;position:relative;transition:transform 0.25s var(--ease),box-shadow 0.25s var(--ease)}
.page-contact .contact-feedback__step:nth-child(2){border-top-color:var(--red-orange)}
.page-contact .contact-feedback__step:nth-child(3){border-top-color:var(--navy)}
.page-contact .contact-feedback__num{font-family:var(--font-headline);font-size:12px;font-weight:700;letter-spacing:0.16em;color:var(--gold);display:block;margin-bottom:14px}
.page-contact .contact-feedback__step-title{font-family:var(--font-headline);font-size:var(--h3);color:var(--ink);margin:0 0 12px}
.page-contact .contact-feedback__step p{font-family:var(--font-body);line-height:1.7;color:var(--ink);margin:0}
.page-contact .contact-feedback__step a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:4px}

@media (min-width:800px){
  .page-contact .contact-hero__inner{grid-template-columns:repeat(12,1fr)}
  .page-contact .contact-hero__copy{grid-column:1 / 8}
  .page-contact .contact-hero__frame{grid-column:1 / -1;margin-top:8px}
  .page-contact .contact-channels__grid{grid-template-columns:1fr 1fr;align-items:start}
  .page-contact .contact-card--phone{margin-top:56px;box-shadow:12px 12px 0 rgba(10,31,60,0.08)}
  .page-contact .contact-address__layout{grid-template-columns:1fr 1fr;align-items:center;gap:48px}
  .page-contact .contact-service__panel{padding:36px}
  .page-contact .contact-feedback__steps{grid-template-columns:repeat(3,1fr);gap:28px}
}

@media (min-width:1100px){
  .page-contact .contact-hero__inner{gap:48px 0}
  .page-contact .contact-feedback__steps{gap:32px}
}

@media (hover:hover){
  .page-contact .contact-card:hover{transform:translateY(-4px);box-shadow:10px 14px 0 rgba(10,31,60,0.08)}
  .page-contact .contact-feedback__step:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(10,31,60,0.08)}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .contact-card,.page-contact .contact-feedback__step{transition:none}
}
