/* PROPOSED P2: opening-section review. Canonical R2 remains unchanged. */
:root { --button-ink:#031827; }
.container { width:min(1360px,calc(100% - 64px)); }
.nav-row { min-height:100px; gap:20px; flex-wrap:nowrap; padding:0; }
.brand { flex:0 0 440px; width:440px; height:84px; position:relative; overflow:hidden; }
.brand img { position:absolute; width:440px; max-width:none; height:auto; top:50%; left:0; transform:translateY(-52.1%); }
.site-header nav { gap:17px; margin-left:auto; }
.site-header nav a { font-size:16px; line-height:1.4; font-weight:600; padding:18px 0; }
.hero { padding:62px 0 68px; }
.hero-feature .hero-grid { grid-template-columns:1fr 1.15fr; gap:40px; }
.hero .lead { font-size:18px; line-height:1.65; color:#dce7ec; max-width:61ch; }
.hero h1 { font-size:clamp(2.5rem,4.2vw,4rem); margin-bottom:25px; }
.hero-visual { border:0; background:transparent; box-shadow:0 22px 52px #0005; }
.hero-visual img { width:100%; height:auto; }
.hero .eyebrow { font-size:11px; letter-spacing:.16em; gap:14px; }
.hero .eyebrow:before,.hero .eyebrow:after,.section-heading .eyebrow:before,.section-heading .eyebrow:after { height:10px; flex:0 0 48px; background-image:url('/assets/logo-nav-dark.png'); background-size:434.4px 144.8px; background-repeat:no-repeat; }
.hero .eyebrow:before,.section-heading .eyebrow:before { background-position:-208px -104.8px; }
.hero .eyebrow:after,.section-heading .eyebrow:after { background-position:-378px -104.8px; }
@media(max-width:1300px){.nav-row{min-height:96px;flex-wrap:wrap;gap:0}.brand{flex-basis:420px;width:420px;height:80px}.brand img{width:420px}.menu-toggle{display:block;margin-left:auto;color:#fff!important;min-width:86px;min-height:48px;border:1px solid #9dc1ce;background:#082337;font-size:16px}.site-header nav{display:none;order:4;flex-direction:column;align-items:stretch;width:100%;margin:0;gap:0;padding:8px 0 20px}.site-header nav.open{display:flex}.site-header nav a{font-size:17px;padding:13px 8px}.nav-contact{display:block!important}}
@media(max-width:760px){.container{width:calc(100% - 32px)}.nav-row{min-height:78px}.brand{flex-basis:300px;width:300px;height:62px}.brand img{width:300px}.hero{padding:36px 0 42px}.hero-feature .hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(2.5rem,8vw,3.2rem)}.hero .lead{font-size:17px}.hero .eyebrow{font-size:10px;gap:10px}.hero .eyebrow:before,.hero .eyebrow:after{flex-basis:34px}.actions{gap:14px}.hero-visual{width:100%;max-width:none}}
@media(max-width:480px){.nav-row{min-height:72px}.brand{flex-basis:calc(100% - 80px);width:calc(100% - 80px);height:60px}.brand img{width:100%;transform:translateY(-52.1%)}.menu-toggle{min-width:68px;font-size:14px}.hero .eyebrow{font-size:9px;letter-spacing:.12em;gap:8px}.hero .eyebrow:before,.hero .eyebrow:after{flex-basis:28px}}

@media(max-width:760px){.hero .eyebrow:before,.hero .eyebrow:after,.section-heading .eyebrow:before,.section-heading .eyebrow:after{flex-basis:36px;height:7.5px;background-size:325.8px 108.6px}.hero .eyebrow:before,.section-heading .eyebrow:before{background-position:-156px -78.6px}.hero .eyebrow:after,.section-heading .eyebrow:after{background-position:-283.5px -78.6px}}
@media(max-width:480px){.hero .eyebrow:before,.hero .eyebrow:after,.section-heading .eyebrow:before,.section-heading .eyebrow:after{flex-basis:32px;height:6.6667px;background-size:289.6px 96.5333px}.hero .eyebrow:before,.section-heading .eyebrow:before{background-position:-138.6667px -69.8667px}.hero .eyebrow:after,.section-heading .eyebrow:after{background-position:-252px -69.8667px}}

/* P2 local comparison: full material ranges, reflective faces and expanded art. */
:root { --button-ink:#031827; }
.hero { padding:40px 0 44px; }
.hero-feature .hero-grid { grid-template-columns:minmax(0,.91fr) minmax(0,1.22fr); gap:32px; align-items:stretch; }
.hero .hero-grid>div:first-child { padding:15px 0; }
.hero h1 { font-size:clamp(2.5rem,4.2vw,4rem); line-height:1.08; margin:26px 0 24px; }
.hero .lead { font-size:18px; line-height:1.6; }
.hero-visual { align-self:stretch; display:flex; min-height:450px; overflow:hidden; }
.hero-visual picture { display:flex; width:100%; }
.hero-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:54% center; }
.hero .actions { gap:14px; flex-wrap:nowrap; }
.hero .eyebrow,.section-heading .eyebrow { gap:12px; }
.hero .eyebrow:before,.hero .eyebrow:after,.section-heading .eyebrow:before,.section-heading .eyebrow:after {
  width:72px; flex:0 0 72px; height:11px;
  background-image:url('/assets/metallic-flares-p2.png'); background-size:78px 26px; background-repeat:no-repeat;
  image-rendering:auto; filter:drop-shadow(0 .4px .5px #ffffff40);
}
.hero .eyebrow:before,.section-heading .eyebrow:before { background-position:-2px -4.2px; }
.hero .eyebrow:after,.section-heading .eyebrow:after { background-position:-2px -14.9px; }
@media(min-width:1600px){ .hero-feature .hero-grid{grid-template-columns:1fr 1.35fr}.hero-visual{min-height:460px} }
@media(max-width:1100px){.hero-feature .hero-grid{grid-template-columns:1fr;gap:24px}.hero .hero-grid>div:first-child{padding:0}.hero .lead{max-width:70ch}.hero-visual{min-height:0;aspect-ratio:2/1}.hero .actions{flex-wrap:wrap}.hero h1{max-width:20ch}.hero-visual img{object-fit:contain}}
@media(max-width:760px){.hero{padding:30px 0 36px}.hero-feature .hero-grid{gap:24px}.hero .lead{font-size:17px}.hero .actions{flex-direction:column}.hero .eyebrow{font-size:9px;gap:8px}.hero .eyebrow:before,.hero .eyebrow:after,.section-heading .eyebrow:before,.section-heading .eyebrow:after{flex-basis:42px;width:42px;height:7px;background-size:45.5px 15.1667px}.hero .eyebrow:before,.section-heading .eyebrow:before{background-position:-1.17px -2.45px}.hero .eyebrow:after,.section-heading .eyebrow:after{background-position:-1.17px -8.69px}}




/* P2.2 canonical control rules: state changes never alter dimensions. */
.button,.button:hover,.button.secondary,.button.secondary:hover,.site-header .button:hover {
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  box-sizing:border-box; isolation:isolate; overflow:hidden;
  min-height:58px; padding:13px 40px; border:1px solid #87cbdc; border-radius:4px;
  color:#fff; font-family:inherit; font-size:14px; font-weight:650; line-height:1.4;
  text-align:center; text-decoration:none;
  background-image:url('/assets/metallic-buttons-approved-p2.png');
  background-size:106.5% 278.5%; background-position:50% 16.8%; background-repeat:no-repeat;
  filter:none; transform:none; text-shadow:none; -webkit-text-stroke:0;
  box-shadow:inset 0 1px 1px #ffffffb0,inset 0 -1px 2px #0008,0 5px 12px #0006;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.button.secondary,.button.secondary:hover {background-position:50% 85.8%;border-color:#d5a474;}
.button::before,.button::after {display:none;}
.button .button-label {
  display:block; position:relative; margin:0; padding:3px 6px;
  color:#fff; background:#031827df; border-radius:2px;
  font-weight:650; line-height:1.4; text-align:center;
  -webkit-text-stroke:0; text-shadow:none; box-shadow:none;
}
.button>span[aria-hidden="true"] {
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:#fff;background:#031827df;border-radius:2px;padding:1px 3px;
  -webkit-text-stroke:0;text-shadow:none;line-height:1;font-size:15px;
}
@media(hover:hover){
  .button:hover,.button.secondary:hover,.site-header .button:hover {
    border-color:#fff; box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #9bdce04d,0 5px 12px #0006;
  }
}
.button:focus-visible {outline:3px solid #fff;outline-offset:4px;}
.button:active {transform:none;filter:none;box-shadow:inset 0 0 0 2px #fff;}
.nav-row>.button,.nav-row>.button:hover {
  padding:12px 30px;min-width:205px;max-width:205px;min-height:54px;
  font-size:13px;flex-shrink:0;
}
.hero h1 {font-size:clamp(2.1rem,3.3vw,3.1rem);}
@media(max-width:1300px){.nav-row>.button,.nav-row>.button:hover{display:none;}}
@media(max-width:480px){.hero h1{font-size:clamp(1.85rem,8vw,2.3rem);}}
@media(prefers-reduced-motion:reduce){.button{transition:none;}}
@media(forced-colors:active){
 .button,.button:hover,.button.secondary,.button.secondary:hover,.site-header .button:hover {background:ButtonFace;color:ButtonText;border-color:ButtonText;box-shadow:none;}
 .button .button-label,.button>span[aria-hidden="true"] {background:ButtonFace;color:ButtonText;}
 .button:focus-visible {outline-color:Highlight;}
}

/* P2.3: transparent labels; no black masks, blur or fuzzy thick stroke. */
.button .button-label,.button>span[aria-hidden="true"] {
 background:transparent; border-radius:0; box-shadow:none; text-shadow:none;
 color:#fff; font-weight:700; -webkit-text-stroke:.6px #031827; paint-order:stroke fill;
}
.hero .eyebrow:before,.hero .eyebrow:after,.section-heading .eyebrow:before,.section-heading .eyebrow:after {
 content:"";width:88px;flex:0 0 88px;height:11px;
 background-size:100% 100%;background-position:center;background-repeat:no-repeat;filter:none;
}
.hero .eyebrow:before,.section-heading .eyebrow:before {background-image:url('/assets/flare-left-p23.svg');}
.hero .eyebrow:after,.section-heading .eyebrow:after {background-image:url('/assets/flare-right-p23.svg');}
@media(max-width:760px){.hero .eyebrow:before,.hero .eyebrow:after,.section-heading .eyebrow:before,.section-heading .eyebrow:after{width:42px;flex-basis:42px;height:6px;}}
@media(forced-colors:active){.button .button-label,.button>span[aria-hidden="true"]{background:transparent;color:ButtonText;-webkit-text-stroke:0;}}

/* P2.6: shared ink-navy surface for the accepted wireframe hero. */
.hero-feature { background:#020e1b; }
.hero-feature .hero-visual { box-shadow:none; }
