@media (min-width:640px){
  .container{width:min(100% - 3rem,var(--container))}
  .narrow{width:min(100% - 3rem,860px)}
  .values-grid,.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1.25fr .9fr .95fr}
}

@media (min-width:768px){
  .split{grid-template-columns:.92fr 1.08fr;gap:4rem}
  .about-grid{grid-template-columns:.84fr 1.16fr;gap:4.2rem}
  .contact-grid{grid-template-columns:.92fr 1.08fr;gap:3.2rem}
  .cta-grid{grid-template-columns:minmax(0,1fr) auto}
}

@media (max-width:1160px){
  .primary-nav{gap:1rem}
  .primary-nav ul{gap:.85rem}
  .primary-nav ul a{font-size:.76rem}
  .hero-grid{gap:3.5rem}
  .hero-seal{left:-36px}
}

@media (max-width:1099px){
  .header-inner{min-height:74px}
  .js .nav-toggle{display:inline-flex}
  .js .primary-nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;gap:1rem;padding:1rem 1.25rem 1.2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(250,248,242,.98);box-shadow:var(--shadow-1);backdrop-filter:blur(18px)}
  .js .primary-nav.is-open{display:grid}
  .primary-nav ul{display:grid;gap:0}
  .primary-nav ul li{border-bottom:1px solid var(--line)}
  .primary-nav ul a{display:block;min-height:48px;padding:.92rem 0}
  .primary-nav ul a::after{bottom:.7rem;width:3rem;right:auto;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
  .primary-nav ul a:hover::after,.primary-nav ul a[aria-current="page"]::after{transform:scaleX(1)}
  .nav-appointment{width:100%}
  .nav-toggle[aria-expanded="true"] .nav-toggle-lines>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle-lines>span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] .nav-toggle-lines>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .hero-luxury{background:linear-gradient(180deg,#f8f5ee,#ede5d8)}
  .hero-grid{min-height:auto;grid-template-columns:1fr;gap:0}
  .hero-copy{padding:5rem 0 3rem}
  .hero h1{max-width:900px;font-size:clamp(4.3rem,12vw,7rem)}
  .hero-visual-luxury{min-height:520px;margin-inline:-1.5rem}
  .hero-frame{height:500px;min-height:500px}
  .hero-seal{left:2rem;bottom:40px}
  .hero-caption{right:2rem;bottom:15px}
  .hero-bottom-note{margin-top:1rem}

  .editorial-grid{grid-template-columns:70px 1fr 1fr;gap:2.5rem}
  .principles-head{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}
  .services-top{grid-template-columns:1fr;gap:1.5rem}
  .visit-layout{grid-template-columns:1fr;gap:3.5rem}
  .visit-heading{position:static}
  .contact-showcase-grid{grid-template-columns:1fr;gap:3rem;padding-left:5rem}
  .contact-showcase-copy{padding-left:0}
}

@media (min-width:1100px){.primary-nav{display:flex!important}}

@media (max-width:820px){
  .editorial-grid{grid-template-columns:1fr;gap:2rem}
  .editorial-index{display:none}
  .editorial-copy{padding-top:0}
  .principles-grid{grid-template-columns:1fr}
  .principle{min-height:auto;padding:2rem 0}
  .principle+.principle{border-left:0;border-top:1px solid var(--line-dark);padding-left:0}
  .principle h3{margin-top:2.5rem}
  .services-mosaic{grid-template-columns:repeat(2,1fr)}
  .service-card,.service-card-featured,.service-card-wide{grid-column:span 1;min-height:245px}
  .services-footer{align-items:flex-start;flex-direction:column}
  .contact-showcase-side{display:none}
  .contact-showcase-grid{padding-left:0}
}

@media (max-width:639px){
  .container,.narrow{width:min(100% - 1.4rem,var(--container))}
  .brand-mark{width:40px;height:40px}
  .brand-text strong{font-size:1rem}
  .brand-text span{font-size:.57rem}
  .hero-copy{padding-top:4rem}
  .hero h1{font-size:clamp(3.6rem,17vw,5.2rem)}
  .hero h1 .hero-name{font-size:.145em;letter-spacing:.15em}
  .hero-overline{font-size:.58rem}
  .hero-meta{grid-template-columns:1fr;margin-top:2.4rem}
  .hero-meta>div{padding:.7rem 0}
  .hero-meta>div+div{border-left:0;border-top:1px solid #d8cfc0;padding-left:0}
  .hero-visual-luxury{min-height:380px;margin-inline:-.7rem}
  .hero-frame{height:360px;min-height:360px}
  .hero-seal{left:1rem;bottom:28px;width:108px;height:108px}
  .hero-seal span{font-size:2.7rem}
  .hero-caption{display:none}
  .hero-bottom-note{display:grid;gap:.8rem}
  .button-row .button{width:100%}
  .section{padding:4.8rem 0}
  .editorial-heading h2{font-size:clamp(2.9rem,13vw,4.2rem)}
  .editorial-copy .lead{font-size:1.55rem}
  .principles-section{padding:4.8rem 0}
  .principles-head h2{font-size:clamp(3rem,13vw,4.4rem)}
  .services-mosaic{grid-template-columns:1fr}
  .service-card,.service-card-featured,.service-card-wide{grid-column:1;min-height:220px;padding:1.5rem}
  .services-top h2{font-size:clamp(3rem,13vw,4.3rem)}
  .visit-steps li{grid-template-columns:52px 1fr;gap:1rem}
  .premium-notice{margin-top:3rem}
  .contact-showcase-grid{min-height:auto;padding-top:4.5rem;padding-bottom:4.5rem}
  .contact-showcase-card{padding:2rem}
  .contact-showcase-copy h2{font-size:clamp(3rem,13vw,4.4rem)}
  .footer-bottom{display:grid}
}

@media (max-width:440px){
  .brand-text span{display:none}
  .button{width:100%}
  .contact-showcase-card{padding:1.5rem}
}

@media (min-width:1440px){
  .hero-grid{min-height:840px}
  .hero-visual-luxury{min-height:720px}
  .hero-frame{min-height:640px}
}

@media (min-width:1920px){:root{--container:1360px}}

/* Ultra Premium V2 responsive overrides */
@media (max-width:1099px){
  main{padding-top:74px}
  .hero-luxury{min-height:0}
  .hero-grid{min-height:auto;grid-template-columns:1fr}
  .hero-visual-luxury{min-height:0;padding-block:0 2.5rem}
  .hero-frame{height:auto;min-height:0;aspect-ratio:16/10}
  .hero-seal{left:1.5rem;bottom:1rem;width:112px;height:112px}
}

@media (max-width:639px){
  .hero-frame{aspect-ratio:4/3}
  .hero-seal{left:.8rem;bottom:.8rem;width:96px;height:96px}
  .hero-seal span{font-size:2.45rem}
  .hero-seal small{font-size:.42rem}
}

@media (min-width: 760px) {
  .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 980px) {
  .form-layout { grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); }
  .form-intro { position: sticky; top: 122px; }
}

@media (max-width: 639px) {
  .form-actions { display: grid; }
  .form-actions .button { width: 100%; }
}
