/* V6 self-contained homepage. All styles scoped to .v6. */
:root{--v6-navy:#253645;--v6-slate:#657d91;--v6-paper:#f6f6f4}
.v6{background:var(--v6-paper);color:var(--v6-navy);font-family:Inter,Arial,sans-serif;overflow:visible}
.v6 *{box-sizing:border-box}.v6 h1,.v6 h2,.v6 h3{font-family:Inter,Arial,sans-serif;letter-spacing:-.055em;font-weight:500}.v6 a{text-decoration:none;color:inherit}
.v6 .v6-kicker{font-size:clamp(15px,1.2vw,18px);line-height:1.5;font-weight:750;letter-spacing:.055em}.v6 .v6-underline{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid currentColor;padding-bottom:12px;font-size:17px;font-weight:700;margin-top:20px}
.v6-hero{min-height:700px;height:min(850px,calc(100svh - 90px));display:grid;grid-template-columns:52% 48%;background:#f6f6f4;position:relative}
.v6-hero-copy{padding:clamp(55px,7vw,115px) clamp(36px,5vw,100px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative}
.v6-hero h1{font-size:clamp(54px,5.4vw,92px);line-height:1.07;margin:28px 0 25px;white-space:nowrap}.v6-hero h1 span{color:var(--v6-slate)}.v6-lead{font-size:clamp(19px,1.6vw,24px);line-height:1.6;max-width:510px}
.v6-hero-image{overflow:hidden;min-height:0;position:relative}.v6-hero-image img{width:100%;height:100%;object-fit:cover;object-position:43% center;display:block}
.v6-scroll-label{position:absolute;bottom:32px;left:clamp(36px,5vw,100px);font-size:14px;font-weight:700;letter-spacing:.12em}
.v6-intro{padding:150px 8%;display:grid;grid-template-columns:30% 1fr;gap:6vw}.v6-intro h2,.v6-section-heading h2{font-size:clamp(54px,5.7vw,90px);line-height:1.13;margin:0 0 38px}.v6-intro h2 em,.v6-statement em,.v6-contact em{color:var(--v6-slate);font-style:normal}.v6-intro p:not(.v6-kicker){font-size:clamp(19px,1.6vw,24px);line-height:1.7;max-width:760px}
.v6-motion{height:300vh;height:300svh;position:relative;background:#273a4c;overflow:visible}.v6-motion-sticky{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}
.v6-motion-frame{position:absolute;top:var(--v6-inset-y,16%);left:var(--v6-inset-x,13%);right:var(--v6-inset-x,13%);bottom:var(--v6-inset-y,16%);border-radius:var(--v6-radius,18px);overflow:hidden;background:#546676;will-change:top,left,right,bottom,border-radius}
.v6-motion-frame img{width:100%;height:100%;display:block;object-fit:cover;transform:translate3d(0,var(--v6-photo-shift,0px),0) scale(var(--v6-scale,1.2));will-change:transform}
.v6-motion-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,29,42,.8),rgba(13,29,42,.1));opacity:var(--v6-shade,0);pointer-events:none}
.v6-motion-copy{position:absolute;left:9%;bottom:16%;z-index:2;color:#fff;opacity:var(--v6-copy-opacity,0);transform:translateY(var(--v6-copy-shift,40px));will-change:opacity,transform;max-width:900px}
.v6-motion-copy h2{font-size:clamp(64px,8vw,125px);line-height:1.02;margin:20px 0}.v6-motion-copy p:not(.v6-kicker){font-size:22px}.v6-motion-count{position:absolute;right:5%;bottom:7%;color:white;font-size:15px;letter-spacing:.14em;z-index:3}
.v6-services,.v6-insights{padding:135px 8%}.v6-services{background:#e7ebee}.v6-section-heading{display:grid;grid-template-columns:30% 1fr;gap:6vw;margin-bottom:60px}
.v6-service{display:grid;grid-template-columns:65px minmax(220px,1.1fr) minmax(210px,.9fr) 28px;align-items:center;gap:20px;border-top:1px solid #b8c3cc;padding:38px 0;transition:padding .25s,background .25s}.v6-service:last-child{border-bottom:1px solid #b8c3cc}.v6-service:hover{padding-left:18px;background:#dce3e8}.v6-service span{font-size:17px}.v6-service h3{font-size:clamp(28px,2.8vw,42px);margin:0}.v6-service p{font-size:18px;line-height:1.55;margin:0}.v6-service b{font-size:26px;font-weight:400}
.v6-image-reveal{height:100svh;min-height:600px;position:relative;overflow:hidden;background:#31465a}.v6-image-reveal-inner{position:absolute;inset:0;clip-path:inset(var(--v6-wipe,18%) 0 0 0);will-change:clip-path}.v6-image-reveal img{width:100%;height:100%;object-fit:cover;transform:translateY(var(--v6-second-shift,0px)) scale(1.13);will-change:transform;filter:brightness(.67)}.v6-image-overlay{position:absolute;left:8%;bottom:10%;color:white}.v6-image-overlay h2{font-size:clamp(65px,8vw,115px);line-height:1.05;margin:16px 0}
.v6-statement{padding:140px 8%;background:#2b3d4c;color:white}.v6-statement h2{font-size:clamp(60px,7.5vw,116px);line-height:1.12;margin:45px 0 30px}.v6-statement p:not(.v6-kicker){font-size:22px;line-height:1.7;max-width:660px}
.v6-insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.v6-insight{overflow:hidden}.v6-insight img{width:100%;height:clamp(280px,30vw,440px);object-fit:cover;display:block}.v6-insight h3{font-size:clamp(27px,2.6vw,40px);line-height:1.3}.v6-insight span{font-size:17px;font-weight:700;border-bottom:1px solid;padding-bottom:8px}
.v6-contact{text-align:center;background:#e0e5e8;padding:135px 8%}.v6-contact h2{font-size:clamp(80px,11vw,160px);line-height:1;margin:30px 0}.v6-contact p:not(.v6-kicker){font-size:22px}.v6-button{display:inline-block;background:#263b4d;color:white!important;border-radius:100px;padding:20px 35px;font-size:18px;font-weight:700;margin-top:22px}
.v6-reveal{opacity:0;transform:translateY(45px);transition:opacity .85s ease,transform .85s ease}.v6-reveal.v6-visible{opacity:1;transform:none}
.site-header .desktop-nav a,.site-header .dropdown button{font-size:18px!important;line-height:1.5!important}.site-header .nav-wrap{max-width:1500px!important}.site-header .brand img{width:120px!important;height:auto!important}
@media(max-width:1100px){.v6-hero h1{font-size:clamp(47px,5vw,70px)}}
@media(max-width:850px){.v6-hero{height:auto;grid-template-columns:1fr}.v6-hero-copy{padding:85px 7% 95px}.v6-hero h1{white-space:normal;font-size:clamp(48px,8vw,72px)}.v6-hero-image{height:430px}.v6-scroll-label{left:7%}.v6-intro,.v6-section-heading{grid-template-columns:1fr;gap:24px}.v6-intro,.v6-services,.v6-insights,.v6-statement,.v6-contact{padding:85px 7%}.v6-service{grid-template-columns:40px 1fr 24px}.v6-service p{grid-column:2;grid-row:2}.v6-service b{grid-column:3;grid-row:1}.v6-insights-grid{grid-template-columns:1fr}.v6-motion{height:250svh}.v6-motion-copy{left:7%;bottom:13%}.v6-motion-copy h2{font-size:clamp(54px,9vw,90px)}}
@media(prefers-reduced-motion:reduce){.v6-reveal{opacity:1;transform:none;transition:none}.v6-motion{height:100svh}.v6-motion-sticky{position:relative;height:95svh}.v6-motion-frame{inset:0!important;border-radius:0!important}.v6-motion-frame img,.v6-image-reveal img{transform:none!important}.v6-motion-copy{opacity:1!important;transform:none!important}.v6-motion-shade{opacity:1!important}.v6-image-reveal-inner{clip-path:none!important}}


/* V7: navigation and photograph proportions */
.site-header .desktop-nav a,.site-header .dropdown button{font-size:18px!important;line-height:1.45!important;letter-spacing:0!important}
.site-header .desktop-nav{gap:clamp(10px,1vw,18px)!important}
.site-header .nav-wrap{max-width:1600px!important;padding-inline:clamp(18px,2.5vw,44px)!important}
.v6-hero-image{display:flex;align-items:center;justify-content:center;background:#e7e9e8}
.v6-hero-image img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:1100px){.site-header .desktop-nav{display:none!important}.site-header .menu-btn{display:flex!important}.site-header .mobile-panel{display:block!important}}
@media(min-width:851px) and (max-width:1350px){.v6-hero{grid-template-columns:1fr 1fr}.v6-hero h1{font-size:clamp(42px,4.2vw,65px);white-space:normal}.v6-hero-copy{padding-inline:clamp(25px,4vw,60px)}}
/* The frame must have a measurable area and remain sticky throughout its taller parent. */
.v6-motion-sticky{height:100vh;height:100svh;position:sticky;top:0}
.v6-motion-frame{transition:none!important}
@media(prefers-reduced-motion:reduce){.v6-motion{height:100svh}.v6-motion-sticky{position:relative}.v6-motion-frame{inset:0!important}}

/* V8: stronger opening-page hierarchy, existing scroll animation unchanged */
.site-header .brand img{width:clamp(155px,13.5vw,205px)!important;max-width:none!important;height:auto!important}
.site-header .nav-wrap{max-width:1700px!important;min-height:100px;gap:24px}
.v6-hero{grid-template-columns:51% 49%;min-height:720px}
.v6-hero-copy{padding-left:clamp(40px,6vw,110px);padding-right:clamp(20px,3vw,55px)}
.v6-hero h1{font-size:clamp(57px,5.5vw,96px);line-height:1.08;letter-spacing:-.06em}
.v6-hero-image{background:#dce5e9}
.v6-hero-image img{width:100%;height:100%;object-fit:cover;object-position:51% 45%}
@media(max-width:1100px){.site-header .brand img{width:165px!important}.v6-hero h1{font-size:clamp(46px,5.3vw,72px);white-space:normal}}
@media(max-width:850px){.site-header .nav-wrap{min-height:82px}.site-header .brand img{width:150px!important}.v6-hero{grid-template-columns:1fr;min-height:0}.v6-hero-copy{padding:75px 7% 95px}.v6-hero-image{height:440px}.v6-hero-image img{object-position:50% 42%}}

/* V9: FourFold-inspired opening hierarchy. Does not modify the scroll motion. */
.site-header{background:#f6f6f4}
.site-header .nav-wrap{max-width:1800px!important;min-height:116px!important;padding-inline:clamp(26px,3.5vw,64px)!important;gap:28px}
.site-header .brand{flex-shrink:0}
.site-header .brand img{width:clamp(190px,17vw,260px)!important;max-width:none!important;height:auto!important;display:block}
.site-header .desktop-nav a,.site-header .dropdown button{font-size:18px!important}
.v6-hero{grid-template-columns:minmax(0,54%) minmax(0,46%);min-height:760px;height:min(900px,calc(100svh - 100px));background:#f6f6f4}
.v6-hero-copy{padding:clamp(72px,7vw,120px) clamp(30px,3vw,65px) clamp(85px,7vw,120px) clamp(42px,5vw,100px);justify-content:center}
.v6-hero .v6-kicker{font-size:clamp(14px,1.05vw,17px);letter-spacing:.11em;line-height:1.5;max-width:540px}
.v6-hero h1{font-size:clamp(57px,5.6vw,100px);font-weight:500;letter-spacing:-.065em;line-height:1.09;margin:34px 0 30px;white-space:normal}
.v6-hero .v6-lead{font-size:clamp(20px,1.5vw,24px);line-height:1.55;max-width:550px;margin:0;color:#4c6070}
.v9-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 32px;margin-top:32px}
.v9-primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:#253b4e;color:#fff!important;padding:17px 25px;font-size:18px;font-weight:700;min-height:58px;transition:background .2s}
.v9-primary-cta:hover,.v9-primary-cta:focus-visible{background:#425c70}
.v9-hero-actions .v6-underline{margin:0;font-size:17px;gap:18px}
.v6-hero-image{background:#dfe6e9;overflow:hidden}
.v6-hero-image img{object-fit:cover;object-position:50% 42%}
.v6-scroll-label{left:clamp(42px,5vw,100px);bottom:28px;color:#536c7d}
@media(max-width:1320px){.site-header .brand img{width:190px!important}.v6-hero h1{font-size:clamp(52px,5.2vw,76px)}.v6-hero{grid-template-columns:52% 48%}}
@media(max-width:1100px){.site-header .nav-wrap{min-height:96px!important}.site-header .brand img{width:195px!important}.v6-hero{grid-template-columns:54% 46%}.v6-hero h1{font-size:clamp(49px,5.3vw,65px)}}
@media(max-width:850px){.site-header .nav-wrap{min-height:84px!important;padding-inline:6%!important}.site-header .brand img{width:180px!important}.v6-hero{height:auto;min-height:0;grid-template-columns:1fr}.v6-hero-copy{padding:80px 7% 92px}.v6-hero h1{font-size:clamp(48px,9vw,78px);margin:25px 0}.v6-hero-image{height:clamp(350px,67vw,560px)}.v6-hero-image img{object-position:50% 40%}.v6-scroll-label{left:7%;bottom:25px}}
@media(max-width:520px){.site-header .brand img{width:155px!important}.v6-hero-copy{padding:62px 7% 90px}.v6-hero h1{font-size:clamp(43px,11.5vw,61px)}.v6-hero .v6-lead{font-size:19px}.v9-hero-actions{gap:20px}.v9-primary-cta{min-height:54px}.v6-hero-image{height:350px}}

/* V10 logo fix: style.css imposes a 68px image height cap. */
@media(min-width:1121px){.site-header .nav-wrap{min-height:174px!important;height:auto!important}.site-header .brand{height:auto!important;display:flex!important;align-items:center!important}.site-header .brand img{width:155px!important;height:172px!important;max-height:none!important;max-width:none!important;object-fit:contain!important}}
@media(min-width:851px) and (max-width:1120px){.site-header{height:112px!important;min-height:112px!important}.site-header .nav-wrap{height:112px!important;min-height:112px!important}.site-header .brand{height:auto!important}.site-header .brand img{width:96px!important;height:106px!important;max-height:none!important}}
@media(max-width:850px){.site-header{height:92px!important;min-height:92px!important}.site-header .nav-wrap{height:92px!important;min-height:92px!important}.site-header .brand{height:auto!important}.site-header .brand img{width:78px!important;height:86px!important;max-height:none!important}}

/* V11: balanced header; overrides V10 oversized logo rules. */
.site-header {
  height:112px!important; min-height:112px!important;
  transition:transform .32s ease, box-shadow .2s ease!important;
  will-change:transform;
}
.site-header.sm-nav-hidden { transform:translateY(-105%); }
.site-header .nav-wrap {
  box-sizing:border-box!important; height:112px!important; min-height:112px!important;
  max-width:1800px!important; padding:6px clamp(24px,4vw,64px)!important;
  display:flex!important; align-items:center!important; gap:32px!important;
}
.site-header .brand {height:100px!important; flex:0 0 auto!important; display:flex!important;align-items:center!important;}
.site-header .brand img {
  width:90px!important; height:100px!important; max-height:100px!important;
  max-width:90px!important; object-fit:contain!important;
}
.site-header .desktop-nav {margin-left:auto!important;gap:clamp(12px,1.4vw,24px)!important;align-items:center!important;}
.site-header .desktop-nav a,.site-header .dropdown button {font-size:clamp(14px,1.05vw,17px)!important;white-space:nowrap!important;}
@media(max-width:1100px){
 .site-header,.site-header .nav-wrap{height:94px!important;min-height:94px!important;}
 .site-header .brand{height:84px!important;}
 .site-header .brand img{width:76px!important;height:84px!important;max-height:84px!important;max-width:76px!important;}
}
@media(max-width:850px){
 .site-header,.site-header .nav-wrap{height:86px!important;min-height:86px!important;}
 .site-header .brand{height:76px!important;}
 .site-header .brand img{width:69px!important;height:76px!important;max-height:76px!important;max-width:69px!important;}
}
@media(prefers-reduced-motion:reduce){.site-header{transition:none!important;}}
