body {
            background-color: #151A1D;
            color: #F3F2EF;
            font-family: 'Inter', sans-serif;
            overflow-x: hidden;
        }

        /* Architectural Scrollbar */
        ::-webkit-scrollbar {
            width: 5px;
        }
        ::-webkit-scrollbar-track {
            background: #151A1D;
        }
        ::-webkit-scrollbar-thumb {
            background: #157C88;
            border-radius: 2px;
        }

        /* Scrims & Architectural Overlays */
        .scrim-dark {
            background: linear-gradient(180deg, rgba(21,26,29,0.85) 0%, rgba(21,26,29,0.4) 50%, rgba(21,26,29,0.95) 100%);
        }
        .scrim-teal {
            background: radial-gradient(circle at center, rgba(21,124,136,0.15) 0%, rgba(21,26,29,0.95) 100%);
        }

        /* Grid Background Pattern */
        .bg-grid {
            background-size: 40px 40px;
            background-image: 
                linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
        }

        /* Smooth Page Transition */
        .page-view {
            transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
        }
        .page-view.hidden-page {
            display: none !important;
            opacity: 0;
            transform: translateY(12px);
        }

        /* Image Mask Animations */
        .mask-reveal {
            position: relative;
            overflow: hidden;
        }
        .mask-reveal img {
            transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .mask-reveal:hover img {
            transform: scale(1.04);
        }

        /* Disclaimer ribbon */
        .demo-ribbon {
            background: rgba(21, 124, 136, 0.2);
            border-bottom: 1px solid rgba(21, 124, 136, 0.4);
        }
/* Editorial refinements and reduced motion */
html { scroll-behavior: smooth; }
.page-view:focus { outline: none; }
img { display: block; }
button, a { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ===== 308 / CINEMATIC EDITORIAL HOMEPAGE · DEMO ===== */
.home-v2 { --teal:#157C88; --ink:#151A1D; --chalk:#F3F2EF; overflow:clip; }
.home-v2 .wide-frame { width:min(100% - 72px, 1380px); margin-inline:auto; }
.home-v2 .fine-label { font:600 11px/1.5 Inter, sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.home-v2 .teal-label, .home-v2 .accent-label { color:#38a8b3; }
.home-v2 .pale-panel { background:#F3F2EF; color:#151A1D; }
.home-v2 .dark-panel { background:#151A1D; color:#F3F2EF; }
.home-v2 .editorial-copy { font:400 clamp(15px,1.25vw,18px)/1.75 Inter,sans-serif; max-width:610px; color:inherit; opacity:.78; }
.home-v2 .large-editorial-title { font-size:clamp(54px,7vw,112px);line-height:.94;letter-spacing:-.025em; margin:16px 0 30px; }
.home-v2 .large-editorial-title span { color:#157C88; }
.home-v2 .architectural-link { display:inline-flex;align-items:center;gap:18px;padding:0 0 10px;border-bottom:1px solid currentColor;color:inherit;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:color .25s,border-color .25s; text-align:left; }
.home-v2 .architectural-link:hover,.home-v2 .architectural-link:focus-visible { color:#31b1bf;border-color:#31b1bf; }
.home-v2 .architectural-button { display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:16px 21px;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:background .25s,transform .25s,border-color .25s; }
.home-v2 .architectural-button:hover { transform:translateY(-2px); }
.home-v2 .button-accent { background:#157C88;color:white;border:1px solid #157C88; }
.home-v2 .button-accent:hover { background:#0b6570; }
.home-v2 .button-outline { border:1px solid rgba(255,255,255,.57);background:rgba(21,26,29,.38);color:#fff; }
.home-v2 .button-outline:hover { background:rgba(255,255,255,.13);border-color:#fff; }
.home-v2 .hero-buttons {display:flex;flex-wrap:wrap;gap:12px;margin-top:35px;}
.home-v2 .cinematic-hero {position:relative;isolation:isolate;min-height:min(940px,94svh);background:#151A1D;color:#fff;overflow:hidden;}
.home-v2 .hero-photo {position:absolute;inset:0;z-index:0;pointer-events:none;}
.home-v2 .hero-photo img {width:100%;height:100%;object-fit:cover;object-position:50% 47%;animation:heroSettle 1.7s cubic-bezier(.16,1,.3,1) both;}
.home-v2 .hero-gradient {position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,17,20,.87) 0%,rgba(12,19,22,.55) 55%,rgba(15,18,22,.22) 100%),linear-gradient(0deg,rgba(11,17,20,.88),transparent 32%);}
.home-v2 .cinematic-hero-content {z-index:3;position:relative;min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;padding:34px clamp(26px,5vw,88px) 27px;}
.home-v2 .hero-strap,.home-v2 .hero-foot {display:flex;justify-content:space-between;align-items:center;gap:20px;color:rgba(255,255,255,.83);border-bottom:1px solid rgba(255,255,255,.24);padding-bottom:18px;}
.home-v2 .hero-foot {border-top:1px solid rgba(255,255,255,.3);border-bottom:0;padding:19px 0 0;}
.home-v2 .hero-center {padding:92px 0 88px;max-width:1150px;}
.home-v2 .cinematic-title {font-size:clamp(63px,8.4vw,145px);line-height:.86;font-weight:900;letter-spacing:-.024em;margin:18px 0 30px;max-width:1180px;}
.home-v2 .cinematic-title em {font-style:normal;color:transparent;-webkit-text-stroke:1.5px #fff;}
.home-v2 .cinematic-title strong {font-weight:900;color:#36acb8;}
.home-v2 .hero-description {font:400 clamp(15px,1.35vw,19px)/1.7 Inter,sans-serif;max-width:620px;color:rgba(255,255,255,.86);}
.home-v2 .editorial-intro,.home-v2 .editorial-services,.home-v2 .editorial-portfolio {padding:clamp(82px,10vw,156px) 0;}
.home-v2 .intro-grid {display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(45px,7vw,125px);align-items:center;}
.home-v2 .intro-grid .architectural-link {margin-top:32px;}
.home-v2 .image-mask {position:relative;overflow:hidden;}
.home-v2 .image-mask img {width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1);}
.home-v2 .image-mask:hover img {transform:scale(1.035);}
.home-v2 .feature-photo {height:clamp(440px,49vw,680px);}
.home-v2 .image-note {position:absolute;left:18px;bottom:16px;background:rgba(13,20,22,.78);color:#fff;padding:8px 10px;max-width:calc(100% - 36px);font:600 10px/1.45 Inter,sans-serif;letter-spacing:.07em;text-align:left;}
.home-v2 .editorial-section-head {display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:64px;}
.home-v2 .editorial-section-head .editorial-copy {max-width:390px;padding-bottom:18px;}
.home-v2 .chapter-row {display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(45px,7vw,125px);align-items:center;padding:35px 0 85px;border-top:1px solid rgba(255,255,255,.15);}
.home-v2 .chapter-row:last-child {padding-bottom:0;}
.home-v2 .chapter-image {height:clamp(380px,44vw,610px);}
.home-v2 .chapter-reverse .chapter-image {order:2;}
.home-v2 .chapter-reverse .chapter-copy {order:1;}
.home-v2 .chapter-copy {max-width:530px;}
.home-v2 .chapter-heading {font-size:clamp(45px,5vw,80px);line-height:.96;letter-spacing:-.018em;margin:17px 0 25px;}
.home-v2 .chapter-copy .architectural-link {margin-top:32px;}
.home-v2 .editorial-project-grid {display:grid;grid-template-columns:1.08fr .92fr;gap:60px 38px;}
.home-v2 .editorial-project {border:0;background:none;color:inherit;padding:0;display:block;text-align:left;min-width:0;cursor:pointer;}
.home-v2 .editorial-project .project-image {height:clamp(300px,34vw,510px);}
.home-v2 .editorial-project.tall .project-image {height:clamp(380px,41vw,620px);}
.home-v2 .editorial-project:nth-child(2) {margin-top:90px;}
.home-v2 .editorial-project:nth-child(4) {margin-top:90px;}
.home-v2 .project-floating-arrow {position:absolute;top:20px;right:20px;width:46px;height:46px;display:grid;place-items:center;color:#fff;background:#157C88;opacity:0;transform:translateY(9px);transition:opacity .3s,transform .3s;}
.home-v2 .editorial-project:hover .project-floating-arrow,.home-v2 .editorial-project:focus-visible .project-floating-arrow {opacity:1;transform:translateY(0);}
.home-v2 .project-legend {display:flex;justify-content:space-between;gap:16px;padding:24px 0;border-top:1px solid rgba(21,26,29,.28);border-bottom:1px solid rgba(21,26,29,.28);margin-top:14px;}
.home-v2 .project-legend .fine-label {color:#157C88;}
.home-v2 .project-legend h3 {font-size:clamp(26px,3vw,44px);font-weight:700;line-height:1.05;margin:8px 0;}
.home-v2 .project-legend p {font:400 14px/1.65 Inter,sans-serif;opacity:.7;}
.home-v2 .editorial-clients {position:relative;isolation:isolate;padding:clamp(90px,10vw,160px) 0;}
.home-v2 .clients-photo {position:absolute;inset:0;z-index:-1;}
.home-v2 .clients-photo img {width:100%;height:100%;object-fit:cover;opacity:.16;filter:grayscale(1);}
.home-v2 .client-typographic-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:65px;border-top:1px solid rgba(255,255,255,.25);}
.home-v2 .client-typographic-grid span {padding:22px 20px 22px 0;border-bottom:1px solid rgba(255,255,255,.25);font:600 clamp(15px,1.5vw,20px)/1.35 Inter,sans-serif;}
.home-v2 .editorial-last-call {position:relative;isolation:isolate;padding:clamp(100px,13vw,210px) 0;color:#fff;background:#151A1D;overflow:hidden;}
.home-v2 .last-call-photo {position:absolute;inset:0;z-index:-1;}
.home-v2 .last-call-photo img {width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:grayscale(.35);}
.home-v2 .last-call-scrim {position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,19,22,.96),rgba(14,19,22,.53));}
.home-v2 .demo-caption {font:400 11px/1.6 Inter,sans-serif;color:#b6c0c5;margin-top:42px;}
@keyframes heroSettle {from{transform:scale(1.065);filter:brightness(.85)}to{transform:scale(1);filter:brightness(1)}}
/* Activate reveals only when JavaScript registered IntersectionObserver. */
html.js-motion .home-v2 [data-reveal] {opacity:0;transform:translateY(23px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
html.js-motion .home-v2 [data-reveal].is-revealed {opacity:1;transform:translateY(0);}
html.js-motion .home-v2 .image-mask[data-reveal] img {clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);}
html.js-motion .home-v2 .image-mask[data-reveal].is-revealed img {clip-path:inset(0 0 0 0);}
@media(max-width:1024px) {
 .home-v2 .intro-grid {gap:42px;}
 .home-v2 .chapter-row {gap:38px;}
 .home-v2 .cinematic-title {font-size:clamp(62px,9vw,105px);}
}
@media(max-width:767px) {
 .home-v2 .wide-frame {width:calc(100% - 38px);}
 .home-v2 .cinematic-hero {min-height:700px;min-height:92svh;}
 .home-v2 .cinematic-hero-content {padding:26px 20px;}
 .home-v2 .hero-strap span:last-child {display:none;}
 .home-v2 .hero-center {padding:68px 0;}
 .home-v2 .cinematic-title {font-size:clamp(54px,12.5vw,85px);line-height:.9;letter-spacing:-.02em;}
 .home-v2 .cinematic-title em {-webkit-text-stroke:1px #fff;}
 .home-v2 .hero-description {max-width:490px;}
 .home-v2 .hero-foot {font-size:9px;}
 .home-v2 .editorial-intro,.home-v2 .editorial-services,.home-v2 .editorial-portfolio {padding:76px 0;}
 .home-v2 .intro-grid {grid-template-columns:1fr;gap:38px;}
 .home-v2 .feature-photo {height:420px;}
 .home-v2 .editorial-section-head {display:block;margin-bottom:44px;}
 .home-v2 .editorial-section-head .editorial-copy {padding:0;}
 .home-v2 .chapter-row {grid-template-columns:1fr;gap:25px;padding:30px 0 68px;}
 .home-v2 .chapter-reverse .chapter-image,.home-v2 .chapter-reverse .chapter-copy {order:initial;}
 .home-v2 .chapter-image {height:400px;}
 .home-v2 .chapter-heading {font-size:clamp(47px,10vw,70px);}
 .home-v2 .editorial-project-grid {grid-template-columns:1fr;gap:45px;}
 .home-v2 .editorial-project:nth-child(2),.home-v2 .editorial-project:nth-child(4) {margin-top:0;}
 .home-v2 .editorial-project .project-image,.home-v2 .editorial-project.tall .project-image {height:clamp(310px,70vw,480px);}
 .home-v2 .client-typographic-grid {grid-template-columns:1fr 1fr;margin-top:35px;}
 .home-v2 .client-typographic-grid span {padding:18px 14px 18px 0;}
}
@media(max-width:420px) {
 .home-v2 .cinematic-title {font-size:clamp(49px,13vw,58px);}
 .home-v2 .hero-strap,.home-v2 .hero-foot {font-size:9px;}
 .home-v2 .hero-buttons {flex-direction:column;align-items:stretch;}
 .home-v2 .architectural-button {width:100%;}
 .home-v2 .feature-photo,.home-v2 .chapter-image {height:330px;}
 .home-v2 .large-editorial-title {font-size:clamp(48px,12vw,58px);}
 .home-v2 .client-typographic-grid {grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce) {
 .home-v2 .hero-photo img {animation:none;}
 html.js-motion .home-v2 [data-reveal] {opacity:1 !important;transform:none !important;transition:none !important;}
 html.js-motion .home-v2 .image-mask[data-reveal] img {clip-path:none !important;transition:none !important;}
}

/* ===== 308 CONSTRUCTION / CINEMATIC SERVICES v2 ===== */
/* ===== 308 / SERVICES 2.0 · EDITORIAL CINEMATIC SEQUENCE ===== */
.services-v2 {
  --sv-ink:#151A1D;--sv-paper:#F3F2EF;--sv-teal:#116B76;--sv-teal-bright:#67CCD2;
  overflow:visible;
  background:var(--sv-ink);
}
.services-v2 .sv-frame {width:min(calc(100% - 72px),1380px);margin-inline:auto;position:relative;}
.services-v2 .sv-overline {display:block;font:700 11px/1.55 Inter,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--sv-teal-bright);}
.services-v2 .sv-teal {color:var(--sv-teal);}
.services-v2 .sv-heading {margin:18px 0 27px;font:800 clamp(55px,7.2vw,111px)/.94 "Barlow Condensed",sans-serif;letter-spacing:-.02em;color:inherit;}
.services-v2 .sv-heading span {color:var(--sv-teal);}
.services-v2 .sv-btn {display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:16px 22px;border:1px solid transparent;text-decoration:none;font:700 12px/1.45 Inter,sans-serif;letter-spacing:.065em;transition:background .3s,transform .3s,border-color .3s;cursor:pointer;}
.services-v2 .sv-btn-primary {background:#157C88;border-color:#157C88;color:#fff;}
.services-v2 .sv-btn-primary:hover,.services-v2 .sv-btn-primary:focus-visible {background:#116B76;border-color:#116B76;}
.services-v2 .sv-btn-glass {background:rgba(20,27,31,.43);border-color:rgba(255,255,255,.6);color:#fff;}
.services-v2 .sv-btn-glass:hover,.services-v2 .sv-btn-glass:focus-visible {border-color:#fff;background:rgba(255,255,255,.15);}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {.services-v2 .sv-btn:hover {transform:translateY(-2px);}}
.services-v2 .sv-btn:focus-visible,.services-v2 .sv-scene-link:focus-visible,.services-v2 .sv-related-all:focus-visible,.services-v2 .sv-related-card:focus-visible,.services-v2 .sv-index a:focus-visible {outline:3px solid #67CCD2;outline-offset:5px;}
/* Services hero: photographic but distinct from the Home cinematic video. */
.services-v2 .sv-hero {position:relative;isolation:isolate;min-height:min(870px,92svh);color:#fff;background:#11191d;overflow:hidden;}
.services-v2 .sv-hero-media,.services-v2 .sv-hero-media .sv-hero-shade {position:absolute;inset:0;pointer-events:none;}
.services-v2 .sv-hero-media {z-index:-1;overflow:hidden;}
.services-v2 .sv-hero-media img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:svHeroArrival 1.75s cubic-bezier(.16,1,.3,1) both;}
.services-v2 .sv-hero-shade {background:linear-gradient(90deg,rgba(9,16,20,.91),rgba(9,16,20,.57) 64%,rgba(9,16,20,.26)),linear-gradient(0deg,rgba(9,16,20,.75),transparent 40%);}
.services-v2 .sv-hero-content {min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;padding:31px 0 29px;}
.services-v2 .sv-hero-topline,.services-v2 .sv-hero-bottom {display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.32);font:700 10px/1.5 Inter,sans-serif;letter-spacing:.13em;}
.services-v2 .sv-hero-bottom {padding:18px 0 0;border:0;border-top:1px solid rgba(255,255,255,.3);}
.services-v2 .sv-hero-main {padding:clamp(80px,8vw,140px) 0;}
.services-v2 .sv-hero-title {margin:20px 0 30px;font:900 clamp(77px,10.3vw,164px)/.84 "Barlow Condensed",sans-serif;letter-spacing:-.03em;text-transform:uppercase;max-width:1150px;}
.services-v2 .sv-hero-title span {color:transparent;-webkit-text-stroke:1.3px #fff;}
.services-v2 .sv-hero-lead {max-width:620px;color:#e8eff0;font:400 clamp(15px,1.35vw,19px)/1.7 Inter,sans-serif;}
.services-v2 .sv-hero-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
/* Intro: compact navigation, not a second huge page hero. */
.services-v2 .sv-intro {background:var(--sv-paper);color:var(--sv-ink);padding:clamp(72px,7.5vw,116px) 0;}
.services-v2 .sv-intro-grid {display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(45px,6vw,100px);}
.services-v2 .sv-intro-copy>p {max-width:530px;color:#41494b;font:400 clamp(15px,1.18vw,18px)/1.75 Inter,sans-serif;}
.services-v2 .sv-index {margin-top:30px;border-top:1px solid rgba(21,26,29,.22);}
.services-v2 .sv-index a {display:flex;align-items:center;gap:13px;padding:16px 0;color:#151A1D;border-bottom:1px solid rgba(21,26,29,.22);text-decoration:none;font:700 12px/1.5 Inter,sans-serif;letter-spacing:.015em;transition:color .25s;}
.services-v2 .sv-index a:hover {color:var(--sv-teal);}
.services-v2 .sv-index a>span {color:var(--sv-teal);font-size:11px;margin-right:7px;}
.services-v2 .sv-index a>svg {margin-left:auto;flex-shrink:0;}
.services-v2 .sv-intro-visual {position:relative;min-height:370px;height:clamp(380px,35vw,510px);margin:0;overflow:hidden;}
.services-v2 .sv-intro-visual img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s cubic-bezier(.16,1,.3,1);}
.services-v2 .sv-intro-visual figcaption {position:absolute;left:17px;bottom:17px;max-width:calc(100% - 34px);padding:10px 13px;color:#fff;background:rgba(10,19,22,.78);font:700 10px/1.4 Inter,sans-serif;letter-spacing:.075em;}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {.services-v2 .sv-intro-visual:hover img {transform:scale(1.035);}}
/* Scroll chapters: 01 pauses, then 02 and 03 rise in normal document scrolling. */
.services-v2 .sv-service-sequence {position:relative;isolation:isolate;overflow:visible;}
.services-v2 .sv-scene {position:relative;isolation:isolate;min-height:720px;color:#fff;background:#151A1D;overflow:hidden;scroll-margin-top:0;}
.services-v2 .sv-scene-photo,.services-v2 .sv-scene-shade {position:absolute;inset:0;pointer-events:none;}
.services-v2 .sv-scene-photo {z-index:-1;overflow:hidden;}
.services-v2 .sv-scene-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86);transform:scale(1.035);}
.services-v2 .sv-scene-planning .sv-scene-photo img {object-position:center 48%;}
.services-v2 .sv-scene-construction .sv-scene-photo img {object-position:53% 48%;}
.services-v2 .sv-scene-management .sv-scene-photo img {object-position:center 48%;}
.services-v2 .sv-scene-shade {background:linear-gradient(90deg,rgba(9,16,20,.94) 0%,rgba(9,16,20,.78) 37%,rgba(9,16,20,.43) 75%,rgba(9,16,20,.34)),linear-gradient(0deg,rgba(9,16,20,.75),transparent 35%);}
.services-v2 .sv-scene-frame {min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,4vw,65px) 0;}
.services-v2 .sv-scene-top,.services-v2 .sv-scene-bottom {display:flex;justify-content:space-between;gap:20px;align-items:center;font:700 10px/1.45 Inter,sans-serif;letter-spacing:.16em;color:#d4e0e2;}
.services-v2 .sv-scene-top {border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:18px;}
.services-v2 .sv-scene-bottom {border-top:1px solid rgba(255,255,255,.25);padding-top:18px;}
.services-v2 .sv-scene-content {max-width:780px;padding:34px 0;pointer-events:auto;}
.services-v2 .sv-scene-title {margin:17px 0 23px;font:800 clamp(66px,7.7vw,122px)/.88 "Barlow Condensed",sans-serif;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance;}
.services-v2 .sv-scene-title span {color:#67CCD2;}
.services-v2 .sv-scene-summary {max-width:650px;color:#e4ebed;font:400 clamp(15px,1.25vw,19px)/1.65 Inter,sans-serif;}
.services-v2 .sv-scene-points {display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.services-v2 .sv-scene-points>span {display:inline-flex;align-items:center;gap:9px;min-height:35px;padding:8px 11px;border:1px solid rgba(255,255,255,.43);font:700 10px/1.45 Inter,sans-serif;letter-spacing:.035em;white-space:normal;}
.services-v2 .sv-scene-points em {font-style:normal;color:#8CDEE1;}
.services-v2 .sv-scene-link {display:inline-flex;align-items:center;gap:24px;margin-top:28px;min-height:44px;padding:7px 0;border:0;border-bottom:1px solid #8CDEE1;background:transparent;color:#b0f3ed;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.065em;cursor:pointer;}
.services-v2 .sv-scene-link svg {flex-shrink:0;}
@media (min-height:560px) and (prefers-reduced-motion:no-preference) {
  .services-v2 .sv-scene {position:sticky;top:0;height:100svh;min-height:0;}
  .services-v2 .sv-scene-frame {height:100%;min-height:0;}
  .services-v2 .sv-scene-planning {z-index:1;}
  .services-v2 .sv-scene-construction {z-index:2;}
  .services-v2 .sv-scene-management {z-index:3;}
  html.sv-scene-motion .services-v2 .sv-scene-photo img {
    transform:translate3d(0,var(--sv-image-shift,0px),0) scale(var(--sv-image-zoom,1.04));
    backface-visibility:hidden;
    transition:none;
  }
}
@media (max-height:559px), (prefers-reduced-motion:reduce) {
  .services-v2 .sv-scene {position:relative!important;top:auto!important;height:auto!important;min-height:650px;}
  .services-v2 .sv-scene-photo img {transform:none!important;transition:none!important;}
}
/* Related Projects echoes the approved Home Portfolio, without copying its structure. */
.services-v2 .sv-related {background:var(--sv-paper);color:var(--sv-ink);padding:clamp(82px,9vw,142px) 0;}
.services-v2 .sv-related-head {display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:end;margin-bottom:48px;}
.services-v2 .sv-related-head>div>p {max-width:480px;color:#495356;font:400 clamp(15px,1.2vw,18px)/1.7 Inter,sans-serif;}
.services-v2 .sv-related-all {display:inline-flex;align-items:center;gap:19px;margin-top:25px;padding:0 0 10px;color:#116B76;border:0;border-bottom:1px solid #116B76;background:transparent;font:700 12px/1.45 Inter,sans-serif;letter-spacing:.06em;cursor:pointer;}
.services-v2 .sv-related-grid {display:grid;grid-template-columns:1fr 1fr;gap:17px;}
.services-v2 .sv-related-card {display:block;position:relative;isolation:isolate;height:clamp(360px,40vw,560px);min-width:0;overflow:hidden;border-radius:11px;color:#fff;text-decoration:none;background:#172126;cursor:pointer;}
.services-v2 .sv-related-photo,.services-v2 .sv-related-shade {position:absolute;inset:0;pointer-events:none;}
.services-v2 .sv-related-photo {z-index:-1;overflow:hidden;}
.services-v2 .sv-related-photo img {display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.005);transition:transform 1s cubic-bezier(.16,1,.3,1);}
.services-v2 .sv-related-shade {background:linear-gradient(180deg,rgba(9,16,20,.50),transparent 32%,rgba(9,16,20,.92));}
.services-v2 .sv-related-cardtop,.services-v2 .sv-related-cardcopy {position:absolute;left:clamp(25px,2.9vw,45px);right:clamp(25px,2.9vw,45px);z-index:1;pointer-events:none;}
.services-v2 .sv-related-cardtop {top:clamp(23px,2.5vw,40px);display:flex;justify-content:space-between;gap:20px;align-items:start;}
.services-v2 .sv-related-cardtop small {color:#b0f3ed;font:700 10px/1.5 Inter,sans-serif;letter-spacing:.12em;}
.services-v2 .sv-related-arrow {display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;border:1px solid rgba(255,255,255,.7);border-radius:50%;transition:transform .3s ease;}
.services-v2 .sv-related-arrow svg {width:18px;height:18px;}
.services-v2 .sv-related-cardcopy {bottom:clamp(27px,3vw,47px);display:flex;flex-direction:column;align-items:flex-start;gap:11px;}
.services-v2 .sv-related-cardcopy strong {font:800 clamp(45px,4vw,73px)/.93 "Barlow Condensed",sans-serif;}
.services-v2 .sv-related-cardcopy>span {font:400 clamp(14px,1.1vw,17px)/1.6 Inter,sans-serif;color:#e3eaed;max-width:420px;}
.services-v2 .sv-related-cardcopy em {display:inline-flex;align-items:center;gap:15px;margin-top:10px;font:700 11px/1.4 Inter,sans-serif;letter-spacing:.13em;color:#b0f3ed;font-style:normal;}
.services-v2 .sv-related-cardcopy em svg {width:16px;height:16px;}
.services-v2 .sv-media-note {margin:17px 0 0;text-align:right;color:#555f62;font:400 11px/1.55 Inter,sans-serif;}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .services-v2 .sv-related-card:hover img {transform:scale(1.065);}
  .services-v2 .sv-related-card:hover .sv-related-arrow {transform:translate(3px,-3px);}
}
/* Final CTA: same interaction system as Home, distinct editorial composition. */
.services-v2 .sv-end-cta {position:relative;isolation:isolate;overflow:hidden;padding:clamp(120px,12vw,200px) 0;background:#151A1D;color:#fff;}
.services-v2 .sv-end-media,.services-v2 .sv-end-media>span {position:absolute;inset:0;pointer-events:none;}
.services-v2 .sv-end-media {z-index:-1;}
.services-v2 .sv-end-media img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.76);}
.services-v2 .sv-end-media>span {background:linear-gradient(90deg,rgba(9,16,20,.97) 0%,rgba(9,16,20,.75) 60%,rgba(9,16,20,.40));}
.services-v2 .sv-end-content .sv-heading {margin-top:18px;}
.services-v2 .sv-end-content .sv-heading span {color:#67CCD2;}
.services-v2 .sv-end-content>p {max-width:630px;color:#e2ebed;font:400 clamp(15px,1.3vw,19px)/1.65 Inter,sans-serif;}
@keyframes svHeroArrival {from{transform:scale(1.065)}to{transform:scale(1)}}
/* JavaScript-enhanced reveal only after observer exists. */
html.js-motion .services-v2 [data-reveal] {opacity:0;transform:translateY(23px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);}
html.js-motion .services-v2 [data-reveal].is-revealed {opacity:1;transform:translateY(0);}
@media (max-width:1100px) {
 .services-v2 .sv-frame {width:calc(100% - 54px);}
 .services-v2 .sv-hero-title {font-size:clamp(68px,10vw,120px);}
 .services-v2 .sv-scene-title {font-size:clamp(61px,8vw,91px);}
 .services-v2 .sv-scene-content {max-width:670px;}
 .services-v2 .sv-scene-points {gap:7px;}
}
@media (max-width:767px) {
 .services-v2 .sv-frame {width:calc(100% - 40px);}
 .services-v2 .sv-hero {min-height:clamp(645px,92svh,825px);}
 .services-v2 .sv-hero-content {padding:24px 0;}
 .services-v2 .sv-hero-main {padding:66px 0 70px;}
 .services-v2 .sv-hero-topline-right {display:none;}
 .services-v2 .sv-hero-topline,.services-v2 .sv-hero-bottom {font-size:9px;}
 .services-v2 .sv-hero-bottom span:first-child {max-width:192px;}
 .services-v2 .sv-hero-title {font-size:clamp(65px,13vw,94px);line-height:.86;}
 .services-v2 .sv-hero-lead {font-size:15px;line-height:1.65;}
 .services-v2 .sv-intro {padding:66px 0;}
 .services-v2 .sv-intro-grid,.services-v2 .sv-related-head {grid-template-columns:1fr;gap:30px;}
 .services-v2 .sv-heading {font-size:clamp(52px,11.5vw,74px);}
 .services-v2 .sv-intro-visual {min-height:0;height:clamp(260px,70vw,390px);}
 .services-v2 .sv-scene-frame {padding:clamp(19px,3.6svh,37px) 0;}
 .services-v2 .sv-scene-top,.services-v2 .sv-scene-bottom {font-size:9px;letter-spacing:.08em;}
 .services-v2 .sv-scene-top span:last-child {display:none;}
 .services-v2 .sv-scene-content {padding:15px 0;max-width:100%;}
 .services-v2 .sv-scene-title {font-size:clamp(48px,11.6vw,66px);line-height:.94;margin:12px 0 16px;}
 .services-v2 .sv-scene-summary {font-size:clamp(13px,3.5vw,16px);line-height:1.52;}
 .services-v2 .sv-scene-points {gap:7px;margin-top:15px;}
 .services-v2 .sv-scene-points>span {padding:6px 8px;min-height:30px;font-size:9px;}
 .services-v2 .sv-scene-link {margin-top:15px;font-size:10px;min-height:44px;}
 .services-v2 .sv-scene-shade {background:linear-gradient(90deg,rgba(9,16,20,.96),rgba(9,16,20,.76)),linear-gradient(0deg,rgba(9,16,20,.55),transparent 45%);}
 .services-v2 .sv-related {padding:76px 0;}
 .services-v2 .sv-related-head {margin-bottom:30px;}
 .services-v2 .sv-related-grid {grid-template-columns:1fr;gap:14px;}
 .services-v2 .sv-related-card {height:clamp(370px,105vw,470px);}
 .services-v2 .sv-related-cardtop,.services-v2 .sv-related-cardcopy {left:25px;right:25px;}
 .services-v2 .sv-related-cardcopy strong {font-size:clamp(48px,11vw,64px);}
 .services-v2 .sv-media-note {text-align:left;font-size:10px;}
 .services-v2 .sv-end-cta {padding:110px 0;}
}
@media(max-width:420px) {
 .services-v2 .sv-hero-actions {flex-direction:column;align-items:stretch;}
 .services-v2 .sv-btn {width:100%;}
 .services-v2 .sv-hero-title {font-size:clamp(58px,13vw,70px);}
 .services-v2 .sv-scene-title {font-size:clamp(45px,11.5vw,53px);}
 .services-v2 .sv-scene-points>span {font-size:8.5px;}
 .services-v2 .sv-scene-bottom span:first-child {max-width:225px;}
}
/* Extremely short landscape and reduced motion: natural blocks instead of sticky clipping. */
@media (max-height:639px) and (max-width:767px) {
 .services-v2 .sv-scene {position:relative!important;top:auto!important;height:auto!important;min-height:660px;}
 .services-v2 .sv-scene-frame {height:auto;min-height:660px;}
}
@media(prefers-reduced-motion:reduce) {
 .services-v2 .sv-hero-media img {animation:none;transform:none;}
 html.js-motion .services-v2 [data-reveal] {opacity:1!important;transform:none!important;transition:none!important;}
 .services-v2 .sv-scene-photo img {transform:none!important;transition:none!important;}
 .services-v2 .sv-related-photo img,.services-v2 .sv-intro-visual img {transform:none!important;transition:none!important;}
}


/* ===== HOME: FULL-BLEED CINEMATIC SERVICES + HERO VIDEO ===== */
/* Keep all three backgrounds outside the editorial width-constrained frame. */
.home-v2 .chapter-row.chapter-full {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100vw;
  width:100dvw;
  margin-left:calc(50% - 50vw);
  margin-left:calc(50% - 50dvw);
  min-height:clamp(630px,82svh,930px);
  padding:clamp(95px,10vw,145px) max(26px,calc((100vw - 1380px)/2),5vw);
  border:0;
  background:#151A1D;
  color:#fff;
  overflow:hidden;
}
.home-v2 .chapter-row.chapter-full + .chapter-row.chapter-full {border-top:1px solid rgba(255,255,255,.14);}
.home-v2 .chapter-row.chapter-full:last-child {padding-bottom:clamp(95px,10vw,145px);}
.home-v2 .chapter-full .chapter-background {position:absolute;inset:0;z-index:0;overflow:hidden;}
.home-v2 .chapter-full .chapter-background img {width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.6s cubic-bezier(.16,1,.3,1);filter:saturate(.88);}
.home-v2 .chapter-full .chapter-background-shade {position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,17,20,.92) 0%,rgba(11,17,20,.78) 38%,rgba(11,17,20,.3) 80%,rgba(11,17,20,.25) 100%),linear-gradient(0deg,rgba(11,17,20,.45),transparent 40%);}
.home-v2 .chapter-full-1 .chapter-background img {object-position:50% 45%;}
.home-v2 .chapter-full-2 .chapter-background img {object-position:50% 51%;}
.home-v2 .chapter-full-3 .chapter-background img {object-position:50% 52%;}
.home-v2 .chapter-full .chapter-stage {position:relative;z-index:1;width:min(100%,1380px);margin-inline:auto;}
.home-v2 .chapter-full .chapter-copy {max-width:850px;}
.home-v2 .chapter-full .chapter-heading {font-size:clamp(66px,7.3vw,115px);line-height:.9;max-width:950px;text-wrap:balance;color:#fff;}
.home-v2 .chapter-full .chapter-copy .editorial-copy {max-width:620px;color:#f0f3f3;opacity:.95;font-size:clamp(16px,1.3vw,20px);line-height:1.75;}
.home-v2 .chapter-full .chapter-copy .fine-label {color:#a7dce0;font-size:12px;}
.home-v2 .chapter-full .chapter-copy .architectural-link {color:#fff;border-color:#fff;margin-top:36px;}
.home-v2 .chapter-full .chapter-copy .architectural-link:hover {color:#55c1cb;border-color:#55c1cb;}
.home-v2 .chapter-full .chapter-photo-note {position:absolute;bottom:-75px;right:0;color:rgba(255,255,255,.78);font:700 10px/1.4 Inter,sans-serif;letter-spacing:.12em;text-align:right;}
/* Video sits above its still fallback but below the existing hero scrim and copy. */
.home-v2 .hero-photo .hero-fallback-image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:none;}
.home-v2 .hero-photo .hero-bg-video {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .9s ease;pointer-events:none;}
.home-v2 .hero-photo .hero-bg-video.is-playing {opacity:1;}
.home-v2 .hero-photo .hero-gradient {z-index:2;pointer-events:none;}
@media (max-width:1024px) {
  .home-v2 .chapter-row.chapter-full {padding-inline:5vw;min-height:700px;}
  .home-v2 .chapter-full .chapter-heading {font-size:clamp(62px,9vw,100px);}
}
@media (max-width:767px) {
  .home-v2 .chapter-row.chapter-full {min-height:620px;padding:86px 22px;}
  .home-v2 .chapter-row.chapter-full:last-child {padding-bottom:86px;}
  .home-v2 .chapter-full .chapter-background-shade {background:linear-gradient(90deg,rgba(11,17,20,.91),rgba(11,17,20,.57)),linear-gradient(0deg,rgba(11,17,20,.58),transparent 45%);}
  .home-v2 .chapter-full .chapter-heading {font-size:clamp(52px,11vw,84px);}
  .home-v2 .chapter-full .chapter-photo-note {position:static;display:block;text-align:left;margin-top:54px;font-size:9px;}
  .home-v2 .hero-photo .hero-bg-video {display:none;}
}
@media (max-width:420px) {
  .home-v2 .chapter-row.chapter-full {min-height:580px;padding:70px 20px;}
  .home-v2 .chapter-row.chapter-full:last-child {padding-bottom:70px;}
  .home-v2 .chapter-full .chapter-heading {font-size:clamp(48px,12vw,61px);}
}
@media(prefers-reduced-motion:reduce) {
  .home-v2 .chapter-full .chapter-background img {transition:none!important;}
  .home-v2 .hero-photo .hero-bg-video {display:none!important;}
}

/* === HOME SERVICE SCENES 3.0 — desktop / tablet / mobile ===
   Three chapters naturally pin and stack. The window keeps its normal vertical scroll.
   When the viewport is too short, or motion is reduced, use ordinary sections. */
.home-v2 .editorial-services {padding-bottom:0;}
.home-v2 .home-service-sequence {position:relative;isolation:isolate;width:100%;margin:0;}
.home-v2 .home-service-sequence .chapter-row.chapter-full {
  width:100%;
  max-width:none;
  margin:0;
  min-height:clamp(630px,90svh,960px);
  padding-inline:max(26px,calc((100% - 1380px)/2));
  padding-block:clamp(90px,9vw,145px);
}
.home-v2 .home-service-sequence .chapter-full .chapter-background,
.home-v2 .home-service-sequence .chapter-full .chapter-background-shade {
  pointer-events:none;
}
.home-v2 .home-service-sequence .chapter-full .chapter-stage {position:relative;z-index:1;pointer-events:auto;}
.home-v2 .home-service-sequence .chapter-full .chapter-copy .architectural-link {
  position:relative;
  z-index:2;
  touch-action:manipulation;
}
.home-v2 .home-service-sequence .chapter-full .chapter-copy .architectural-link:focus-visible {
  outline:3px solid #fff;
  outline-offset:7px;
}
.home-v2 .home-service-sequence .chapter-full .chapter-background img {will-change:auto;}

/* Pinning works equally on touch, tablet and desktop, provided there is space
   for content. Stacking never intercepts wheel or touch gestures. */
@media (min-height:560px) and (prefers-reduced-motion:no-preference) {
  .home-v2 {overflow:visible;}
  .home-v2 .editorial-services,
  .home-v2 .home-service-sequence {overflow:visible;}
  .home-v2 .home-service-sequence .chapter-row.chapter-full {
    position:sticky;
    top:0;
    height:100svh;
    min-height:0;
    overflow:hidden;
    margin:0;
  }
  .home-v2 .home-service-sequence .chapter-full-1 {z-index:1;}
  .home-v2 .home-service-sequence .chapter-full-2 {z-index:2;}
  .home-v2 .home-service-sequence .chapter-full-3 {z-index:3;}
  .home-v2 .home-service-sequence .chapter-row.chapter-full + .chapter-row.chapter-full {border-top:0;}
  html.scene-motion .home-v2 .home-service-sequence .chapter-full .chapter-background img {
    transform:translate3d(0,var(--scene-pan,0px),0) scale(var(--scene-scale,1.045));
    transition:none;
    backface-visibility:hidden;
  }
}
/* A small reveal mask on desktop and large tablet. Mobile skips costly clipping. */
@media (min-width:768px) and (min-height:560px) and (prefers-reduced-motion:no-preference) {
  html.scene-motion .home-v2 .home-service-sequence .chapter-full-2 .chapter-background img,
  html.scene-motion .home-v2 .home-service-sequence .chapter-full-3 .chapter-background img {
    clip-path:inset(0 var(--scene-mask,0%) 0 0);
  }
}
/* Desktop sizing preserved. */
@media (min-width:1024px) and (min-height:560px) and (max-height:760px) and (prefers-reduced-motion:no-preference) {
  .home-v2 .home-service-sequence .chapter-row.chapter-full {padding-block:clamp(28px,5svh,60px);}
  .home-v2 .home-service-sequence .chapter-full .chapter-heading {font-size:clamp(56px,9.5svh,86px);}
  .home-v2 .home-service-sequence .chapter-full .chapter-copy .editorial-copy {
    font-size:clamp(15px,2.6svh,18px);
    line-height:1.55;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-copy .architectural-link {margin-top:22px;}
  .home-v2 .home-service-sequence .chapter-full .chapter-photo-note {bottom:-45px;}
}
/* Tablet: cinematic stack and zoom with more compact composition. */
@media (min-width:768px) and (max-width:1023px) {
  .home-v2 .home-service-sequence .chapter-row.chapter-full {
    padding:clamp(50px,8svh,100px) 6vw;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-heading {font-size:clamp(58px,8.3vw,92px);}
  .home-v2 .home-service-sequence .chapter-full .chapter-photo-note {
    position:static;display:block;margin-top:35px;text-align:left;font-size:10px;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-copy .editorial-copy {
    font-size:clamp(16px,2vw,19px);
    line-height:1.6;
  }
}
/* Phone: full-bleed pinned chapters, smaller typography and tap-friendly CTA. */
@media (max-width:767px) {
  .home-v2 .home-service-sequence .chapter-row.chapter-full {
    min-height:620px;
    padding:clamp(28px,5svh,62px) 22px;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-heading {
    font-size:clamp(43px,10.6vw,67px);
    line-height:.96;
    margin:12px 0 18px;
    overflow-wrap:normal;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-copy .editorial-copy {
    font-size:clamp(14px,3.8vw,17px);
    line-height:1.55;
    max-width:490px;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-copy .architectural-link {
    min-height:44px;
    margin-top:17px;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-photo-note {
    position:static;
    display:block;
    text-align:left;
    margin-top:22px;
    font-size:9px;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-background-shade {
    background:linear-gradient(90deg,rgba(11,17,20,.94),rgba(11,17,20,.56)),linear-gradient(0deg,rgba(11,17,20,.55),transparent 52%);
  }
}
@media (max-width:420px) {
  .home-v2 .home-service-sequence .chapter-row.chapter-full {padding-inline:20px;}
  .home-v2 .home-service-sequence .chapter-full .chapter-heading {font-size:clamp(42px,11.3vw,49px);}
}
/* Scene height takes priority over old phone min-height to keep sticky functional. */
@media (min-height:560px) and (prefers-reduced-motion:no-preference) {
  .home-v2 .home-service-sequence .chapter-row.chapter-full {height:100svh;min-height:0;}
}
/* Short landscape views and reduced-motion users keep ordinary vertical sections. */
@media (max-height:559px), (prefers-reduced-motion:reduce) {
  .home-v2 .home-service-sequence .chapter-row.chapter-full {
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:560px;
    overflow:hidden;
  }
  .home-v2 .home-service-sequence .chapter-full .chapter-background img {
    clip-path:none!important;
    transform:none!important;
    transition:none!important;
  }
}
/* === HOME targeted QA: accessible light-panel kicker color and portfolio masks === */
.home-v2 .pale-panel .teal-label {color:#116B76;}
.home-v2 .editorial-project:focus-visible {
  outline:3px solid #116B76;
  outline-offset:8px;
}
html.js-motion .home-v2 .editorial-project[data-reveal] .image-mask img {
  clip-path:inset(0 28% 0 0);
  transition:clip-path 1.05s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);
}
html.js-motion .home-v2 .editorial-project[data-reveal].is-revealed .image-mask img {
  clip-path:inset(0 0 0 0);
}
@media (prefers-reduced-motion:reduce) {
  html.js-motion .home-v2 .editorial-project[data-reveal] .image-mask img {
    clip-path:none!important;
    transition:none!important;
  }
}


/* ===== HOME / PORTFOLIO · EDITORIAL IMAGE OVERLAYS =====
   One architectural feature + three equal-height secondary scenes.
   Keep photos illustrative, copy inside the media, navigation semantic. */
.home-v2 .portfolio-section-head {align-items:end;margin-bottom:clamp(35px,4.2vw,64px);}
.home-v2 .portfolio-section-intro {max-width:415px;}
.home-v2 .portfolio-section-intro .editorial-copy {padding-bottom:14px;}
.home-v2 .portfolio-section-intro .architectural-link {display:inline-flex;margin-top:14px;}
.home-v2 .editorial-project-grid.portfolio-grid {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.88fr);
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:16px;
  height:clamp(770px,71vw,950px);
}
.home-v2 .portfolio-grid .portfolio-tile {
  position:relative;
  isolation:isolate;
  display:block;
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
  background:#172126;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  box-shadow:none;
  padding:0;
  margin:0;
  color:#fff;
  text-decoration:none;
  text-align:left;
  cursor:pointer;
}
.home-v2 .portfolio-grid .portfolio-featured {grid-column:1;grid-row:1 / span 3;}
.home-v2 .portfolio-grid .portfolio-secondary {grid-column:2;}
.home-v2 .portfolio-grid .portfolio-secondary:nth-child(2) {grid-row:1;margin-top:0;}
.home-v2 .portfolio-grid .portfolio-secondary:nth-child(3) {grid-row:2;}
.home-v2 .portfolio-grid .portfolio-secondary:nth-child(4) {grid-row:3;margin-top:0;}
.home-v2 .portfolio-tile-media,
.home-v2 .portfolio-tile-shade {position:absolute;inset:0;z-index:0;pointer-events:none;}
.home-v2 .portfolio-tile-media img {
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center;
  filter:saturate(.87);
  transform:scale(1.005);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .7s ease;
}
.home-v2 .portfolio-featured .portfolio-tile-media img {object-position:54% 50%;}
.home-v2 .portfolio-secondary:nth-child(2) .portfolio-tile-media img {object-position:center 45%;}
.home-v2 .portfolio-secondary:nth-child(3) .portfolio-tile-media img {object-position:center 50%;}
.home-v2 .portfolio-secondary:nth-child(4) .portfolio-tile-media img {object-position:center 50%;}
.home-v2 .portfolio-tile-shade {
  z-index:1;
  background:linear-gradient(180deg,rgba(8,16,20,.46) 0%,transparent 34%,rgba(8,16,20,.42) 53%,rgba(8,16,20,.94) 100%);
  transition:background .5s ease;
}
.home-v2 .portfolio-featured .portfolio-tile-shade {
  background:linear-gradient(90deg,rgba(9,18,23,.28),rgba(9,18,23,.08) 80%),
             linear-gradient(180deg,rgba(8,16,20,.36) 0%,transparent 38%,rgba(8,16,20,.93) 100%);
}
.home-v2 .portfolio-tile-top,
.home-v2 .portfolio-tile-content {
  position:absolute;z-index:2;left:clamp(24px,3vw,52px);right:clamp(24px,3vw,52px);
  pointer-events:none;
}
.home-v2 .portfolio-tile-top {
  top:clamp(23px,2.5vw,43px);
  display:flex;justify-content:space-between;align-items:flex-start;gap:15px;
}
.home-v2 .portfolio-tile-top .fine-label {
  font:600 clamp(10px,.72vw,12px)/1.5 Inter,sans-serif;
  letter-spacing:.14em;color:#b1f3ed;
}
.home-v2 .portfolio-tile-arrow {
  flex:0 0 36px;display:grid;place-items:center;
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.65);border-radius:50%;
  color:#fff;background:rgba(8,16,20,.13);
  transition:transform .35s ease,background .35s ease;
}
.home-v2 .portfolio-tile-arrow svg {width:17px;height:17px;}
.home-v2 .portfolio-tile-content {
  bottom:clamp(27px,2.65vw,48px);
  display:flex;flex-direction:column;align-items:flex-start;gap:0;
}
.home-v2 .portfolio-tile-title {
  font-weight:800;
  font-size:clamp(32px,3.2vw,56px);
  letter-spacing:-.01em;
  line-height:.96;
  margin:0 0 13px;
  text-wrap:balance;
  color:#fff;
  max-width:100%;
}
.home-v2 .portfolio-featured .portfolio-tile-title {
  font-size:clamp(60px,6vw,100px);
  max-width:640px;
  line-height:.91;
  margin-bottom:22px;
}
.home-v2 .portfolio-tile-description {
  display:block;
  color:#e4ebed;font:400 clamp(13px,.9vw,16px)/1.6 Inter,sans-serif;
  max-width:460px;
}
.home-v2 .portfolio-featured .portfolio-tile-description {font-size:clamp(16px,1.25vw,20px);max-width:520px;}
.home-v2 .portfolio-tile-cta {
  display:inline-flex;gap:14px;align-items:center;
  margin-top:clamp(17px,1.85vw,29px);
  font:700 11px/1.4 Inter,sans-serif;
  letter-spacing:.13em;
  color:#b1f3ed;
  text-transform:uppercase;
}
.home-v2 .portfolio-tile-cta svg {
  width:17px;height:17px;
  transition:transform .3s ease;
}
.home-v2 .portfolio-media-note {
  margin:21px 0 0;
  text-align:right;
  color:#5b666b;
  font:400 11px/1.55 Inter,sans-serif;
}
.home-v2 .portfolio-grid .portfolio-tile:focus-visible {
  outline:3px solid #157c88;
  outline-offset:5px;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .home-v2 .portfolio-tile:hover .portfolio-tile-media img {
    transform:scale(1.065);
    filter:saturate(.97);
  }
  .home-v2 .portfolio-tile:hover .portfolio-tile-arrow {
    transform:translate(3px,-3px);background:rgba(21,124,136,.68);
  }
  .home-v2 .portfolio-tile:hover .portfolio-tile-cta svg {transform:translateX(5px);}
}
/* Tablet: one full-width lead, a balanced row, then a panoramic technical project. */
@media (min-width:768px) and (max-width:1199px) {
  .home-v2 .editorial-project-grid.portfolio-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto;
    gap:15px;
  }
  .home-v2 .portfolio-grid .portfolio-featured {grid-column:1 / -1;grid-row:auto;height:clamp(410px,52vw,580px);}
  .home-v2 .portfolio-grid .portfolio-secondary {grid-column:auto;grid-row:auto!important;height:clamp(325px,43vw,410px);}
  .home-v2 .portfolio-grid .portfolio-secondary:last-child {grid-column:1 / -1;height:320px;}
  .home-v2 .portfolio-tile-top,.home-v2 .portfolio-tile-content {left:28px;right:28px;}
  .home-v2 .portfolio-tile-title {font-size:clamp(36px,4.2vw,47px);}
  .home-v2 .portfolio-featured .portfolio-tile-title {font-size:clamp(62px,8vw,92px);}
  .home-v2 .portfolio-tile-description {font-size:14px;}
}
/* Phone: editorial stack; headings stay within the image and CTA remains tappable. */
@media (max-width:767px) {
  .home-v2 .portfolio-section-head {margin-bottom:33px;}
  .home-v2 .portfolio-section-intro {margin-top:12px;}
  .home-v2 .editorial-project-grid.portfolio-grid {
    grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto;gap:14px;
  }
  .home-v2 .portfolio-grid .portfolio-tile {
    grid-column:1!important;grid-row:auto!important;
    width:100%;height:clamp(355px,102vw,450px);
    border-radius:10px;
  }
  .home-v2 .portfolio-grid .portfolio-featured {height:clamp(425px,122vw,535px);}
  .home-v2 .portfolio-tile-top,.home-v2 .portfolio-tile-content {
    left:clamp(21px,6vw,30px);right:clamp(21px,6vw,30px);
  }
  .home-v2 .portfolio-tile-top {top:24px;}
  .home-v2 .portfolio-tile-arrow {width:34px;height:34px;flex-basis:34px;}
  .home-v2 .portfolio-tile-content {bottom:25px;}
  .home-v2 .portfolio-tile-title {font-size:clamp(37px,10vw,51px);line-height:.98;margin-bottom:11px;}
  .home-v2 .portfolio-featured .portfolio-tile-title {font-size:clamp(50px,13.3vw,72px);margin-bottom:15px;}
  .home-v2 .portfolio-tile-description,.home-v2 .portfolio-featured .portfolio-tile-description {font-size:14px;line-height:1.55;}
  .home-v2 .portfolio-tile-cta {margin-top:17px;min-height:44px;}
  .home-v2 .portfolio-media-note {margin-top:15px;text-align:left;font-size:10px;}
}
@media (max-width:375px) {
  .home-v2 .portfolio-tile-title {font-size:36px;}
  .home-v2 .portfolio-featured .portfolio-tile-title {font-size:49px;}
  .home-v2 .portfolio-grid .portfolio-tile {height:390px;}
  .home-v2 .portfolio-grid .portfolio-featured {height:455px;}
}
@media (prefers-reduced-motion:reduce) {
  .home-v2 .portfolio-tile-media img,
  .home-v2 .portfolio-tile-arrow,
  .home-v2 .portfolio-tile-cta svg {transition:none!important;transform:none!important;}
}


/* ===== PORTFOLIO 2.0 / SELECTED WORK + PROJECT STORIES =====
   Editorial vertical reading, authentic project scope, illustrative stock media only. */
.portfolio-page,.portfolio-story {--pf-ink:#151A1D;--pf-paper:#F3F2EF;--pf-accent:#116B76;--pf-sea:#B1F3ED;overflow:clip;}
.portfolio-page .portfolio-frame,.portfolio-story .portfolio-frame {width:min(calc(100% - 80px),1380px);margin-inline:auto;}
.portfolio-page .portfolio-eyebrow,.portfolio-story .portfolio-eyebrow {
  display:block;font:700 11px/1.5 Inter,sans-serif;letter-spacing:.15em;color:var(--pf-accent);text-transform:uppercase;
}
.portfolio-page .portfolio-index-hero {
  background:var(--pf-ink);color:#fff;min-height:clamp(540px,60vw,770px);display:flex;align-items:stretch;
}
.portfolio-page .portfolio-index-hero>.portfolio-frame {display:flex;flex-direction:column;justify-content:space-between;padding:40px 0 62px;}
.portfolio-page .portfolio-index-top {
  display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.22);
  padding-bottom:18px;font:700 10px/1.5 Inter,sans-serif;letter-spacing:.16em;color:#dce5e5;
}
.portfolio-page .portfolio-index-main {padding-top:60px;}
.portfolio-page .portfolio-index-main .portfolio-eyebrow {color:var(--pf-sea);}
.portfolio-page .portfolio-index-main h1 {
  font:900 clamp(100px,14vw,225px)/.79 "Barlow Condensed",sans-serif;
  letter-spacing:-.028em;margin:25px 0 60px;text-transform:uppercase;
}
.portfolio-page .portfolio-index-main h1 span {color:#67CCD2;}
.portfolio-page .portfolio-index-bottom {display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid rgba(255,255,255,.2);padding-top:25px;}
.portfolio-page .portfolio-index-bottom p {font:400 clamp(16px,1.45vw,21px)/1.6 Inter,sans-serif;color:#dce3e5;max-width:530px;}
.portfolio-page .portfolio-index-counter {display:flex;gap:15px;align-items:end;font:700 clamp(50px,6vw,90px)/.8 "Barlow Condensed",sans-serif;color:#67CCD2;}
.portfolio-page .portfolio-index-counter small {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.13em;color:#dce3e5;max-width:95px;}
.portfolio-page .portfolio-index-body {background:var(--pf-paper);padding:clamp(75px,8vw,135px) 0;}
.portfolio-page .portfolio-index-intro {display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:36px;padding-bottom:23px;border-bottom:1px solid rgba(21,26,29,.27);}
.portfolio-page .portfolio-index-intro>span {font:700 11px/1.5 Inter,sans-serif;letter-spacing:.15em;color:var(--pf-accent);}
.portfolio-page .portfolio-index-intro>p {font:400 clamp(14px,1.1vw,17px)/1.6 Inter,sans-serif;color:#455357;}
.portfolio-page .portfolio-work-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.portfolio-page .portfolio-work-card {
  position:relative;isolation:isolate;display:block;height:clamp(410px,43vw,620px);overflow:hidden;
  border-radius:10px;color:#fff;text-decoration:none;cursor:pointer;background:#172126;
}
.portfolio-page .portfolio-work-card-1 {grid-column:1/-1;height:clamp(560px,55vw,730px);}
.portfolio-page .portfolio-work-card-4 {grid-column:1/-1;height:clamp(430px,38vw,565px);}
.portfolio-page .portfolio-work-photo,.portfolio-page .portfolio-work-wash {position:absolute;inset:0;pointer-events:none;}
.portfolio-page .portfolio-work-photo {z-index:-1;overflow:hidden;}
.portfolio-page .portfolio-work-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.004);transition:transform 1.05s cubic-bezier(.16,1,.3,1);}
.portfolio-page .portfolio-work-card-1 .portfolio-work-photo img {object-position:50% 52%;}
.portfolio-page .portfolio-work-card-4 .portfolio-work-photo img {object-position:50% 49%;}
.portfolio-page .portfolio-work-wash {
  background:linear-gradient(180deg,rgba(6,13,17,.48) 0%,rgba(6,13,17,.1) 35%,rgba(6,13,17,.55) 60%,rgba(6,13,17,.95) 100%);
}
.portfolio-page .portfolio-work-card-1 .portfolio-work-wash {background:linear-gradient(90deg,rgba(7,15,19,.63),rgba(7,15,19,.16) 75%),linear-gradient(0deg,rgba(7,15,19,.90),transparent 68%);}
.portfolio-page .portfolio-work-top,.portfolio-page .portfolio-work-copy {position:absolute;z-index:1;left:clamp(25px,4vw,65px);right:clamp(25px,4vw,65px);pointer-events:none;}
.portfolio-page .portfolio-work-top {top:clamp(27px,3.25vw,53px);display:flex;align-items:start;justify-content:space-between;gap:20px;}
.portfolio-page .portfolio-work-top>span:first-child {font:700 11px/1.5 Inter,sans-serif;color:var(--pf-sea);letter-spacing:.16em;}
.portfolio-page .portfolio-work-arrow {display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid rgba(255,255,255,.76);border-radius:50%;transition:transform .35s ease,background .35s ease;}
.portfolio-page .portfolio-work-arrow svg {width:18px;height:18px;}
.portfolio-page .portfolio-work-copy {bottom:clamp(28px,4vw,63px);display:flex;align-items:start;flex-direction:column;gap:15px;}
.portfolio-page .portfolio-work-copy strong {font:800 clamp(52px,5.25vw,90px)/.92 "Barlow Condensed",sans-serif;letter-spacing:-.012em;text-wrap:balance;}
.portfolio-page .portfolio-work-card-1 .portfolio-work-copy strong {font-size:clamp(78px,9vw,145px);max-width:940px;}
.portfolio-page .portfolio-work-description {font:400 clamp(14px,1.2vw,18px)/1.57 Inter,sans-serif;color:#e6eeef;max-width:595px;}
.portfolio-page .portfolio-work-action {display:inline-flex;align-items:center;gap:17px;margin-top:7px;font:700 11px/1.4 Inter,sans-serif;letter-spacing:.13em;color:var(--pf-sea);}
.portfolio-page .portfolio-work-action svg {width:18px;height:18px;transition:transform .3s ease;}
.portfolio-page .portfolio-photo-note,.portfolio-story .portfolio-photo-note {
  margin:22px 0 0;text-align:right;color:#5a6568;font:400 11px/1.6 Inter,sans-serif;
}
.portfolio-page .portfolio-work-card:focus-visible,.portfolio-story .portfolio-story-next-card:focus-visible,
.portfolio-story .portfolio-story-navigation a:focus-visible,.portfolio-story .portfolio-story-back:focus-visible,
.portfolio-story .portfolio-story-contact button:focus-visible,.portfolio-page .portfolio-cta-button:focus-visible {
  outline:3px solid #43bac5;outline-offset:6px;
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .portfolio-page .portfolio-work-card:hover img,.portfolio-story .portfolio-story-next-card:hover img {transform:scale(1.058);}
  .portfolio-page .portfolio-work-card:hover .portfolio-work-arrow {transform:translate(3px,-3px);background:rgba(21,124,136,.4);}
  .portfolio-page .portfolio-work-card:hover .portfolio-work-action svg {transform:translateX(6px);}
}
.portfolio-page .portfolio-final-cta {background:var(--pf-ink);padding:clamp(93px,11vw,172px) 0;color:#fff;}
.portfolio-page .portfolio-cta-label {font:700 11px/1.5 Inter,sans-serif;letter-spacing:.16em;color:var(--pf-sea);}
.portfolio-page .portfolio-final-cta h2 {font:800 clamp(65px,10vw,154px)/.91 "Barlow Condensed",sans-serif;margin:24px 0 40px;}
.portfolio-page .portfolio-final-cta h2 span {color:#67CCD2;}
.portfolio-page .portfolio-cta-row {display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid rgba(255,255,255,.25);padding-top:27px;}
.portfolio-page .portfolio-cta-row p {max-width:520px;font:400 clamp(15px,1.35vw,19px)/1.7 Inter,sans-serif;color:#dbe3e4;}
.portfolio-page .portfolio-cta-button {display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;padding:16px 23px;background:#157C88;color:#fff;font:700 12px/1.5 Inter,sans-serif;letter-spacing:.07em;cursor:pointer;}
.portfolio-page .portfolio-cta-button:hover {background:#116B76;}
/* Project details: visual opening, sourced editorial story and accessible scope */
.portfolio-story .portfolio-story-hero {position:relative;isolation:isolate;min-height:min(910px,92svh);background:#10191d;color:#fff;overflow:hidden;}
.portfolio-story .portfolio-story-image,.portfolio-story .portfolio-story-shade {position:absolute;inset:0;pointer-events:none;}
.portfolio-story .portfolio-story-image {z-index:0;overflow:hidden;}
.portfolio-story .portfolio-story-image img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.84);}
.portfolio-story-twu .portfolio-story-image img {object-position:center 45%;}
.portfolio-story-plano .portfolio-story-image img {object-position:center 52%;}
.portfolio-story-mep .portfolio-story-image img {object-position:center 50%;}
.portfolio-story .portfolio-story-shade {z-index:1;background:linear-gradient(90deg,rgba(9,16,20,.74) 0%,rgba(9,16,20,.38) 42%,rgba(9,16,20,.07) 100%),linear-gradient(0deg,rgba(9,16,20,.42),transparent 29%);}
.portfolio-story .portfolio-story-hero-inner {position:relative;z-index:2;min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;padding:37px 0 35px;}
.portfolio-story .portfolio-story-navigation,.portfolio-story .portfolio-story-hero-bottom {display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.27);padding-bottom:20px;color:#e2ecee;font:700 10px/1.55 Inter,sans-serif;letter-spacing:.13em;}
.portfolio-story .portfolio-story-navigation a {display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none;}
.portfolio-story .portfolio-story-navigation a svg,.portfolio-story .portfolio-story-hero-bottom svg {width:16px;height:16px;}
.portfolio-story .portfolio-story-navigation a:hover {color:var(--pf-sea);}
.portfolio-story .portfolio-story-hero-bottom {border:0;border-top:1px solid rgba(255,255,255,.28);padding:19px 0 0;}
.portfolio-story .portfolio-story-hero-bottom span:last-child {display:inline-flex;align-items:center;gap:11px;}
.portfolio-story .portfolio-story-hero-text {padding:clamp(80px,9vw,160px) 0;}
.portfolio-story .portfolio-story-hero-text .portfolio-eyebrow {color:var(--pf-sea);}
.portfolio-story .portfolio-story-hero-text h1 {max-width:1000px;font:900 clamp(85px,10.9vw,164px)/.84 "Barlow Condensed",sans-serif;letter-spacing:-.03em;margin:20px 0 32px;text-transform:uppercase;}
.portfolio-story .portfolio-story-hero-text h1 span {color:#67CCD2;}
.portfolio-story .portfolio-story-hero-text>p {max-width:580px;color:#eef2f2;font:400 clamp(16px,1.4vw,20px)/1.7 Inter,sans-serif;}
.portfolio-story .portfolio-story-main {background:var(--pf-paper);color:var(--pf-ink);padding:clamp(95px,10vw,165px) 0 58px;}
.portfolio-story .portfolio-story-overview {display:grid;grid-template-columns:1fr .95fr;align-items:start;gap:clamp(48px,8vw,132px);}
.portfolio-story .portfolio-story-intro h2,.portfolio-story .portfolio-story-scope-head h2 {
  font:800 clamp(65px,7.5vw,117px)/.91 "Barlow Condensed",sans-serif;letter-spacing:-.018em;margin:18px 0 30px;
}
.portfolio-story .portfolio-story-intro h2 span,.portfolio-story .portfolio-story-scope-head h2 span {color:var(--pf-accent);}
.portfolio-story .portfolio-story-overview-copy {padding-top:30px;}
.portfolio-story .portfolio-story-overview-copy>p {margin-bottom:20px;color:#414b4e;font:400 clamp(15px,1.26vw,19px)/1.82 Inter,sans-serif;}
.portfolio-story .portfolio-story-overview-copy>.portfolio-story-lead {font-size:clamp(19px,1.6vw,24px);font-weight:500;line-height:1.65;color:#172327;}
.portfolio-story .portfolio-story-facts {margin-top:clamp(56px,7vw,110px);border-top:1px solid rgba(21,26,29,.28);border-bottom:1px solid rgba(21,26,29,.28);}
.portfolio-story .portfolio-story-facts dl {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;}
.portfolio-story .portfolio-fact {padding:24px 24px 25px 0;}
.portfolio-story .portfolio-fact:not(:last-child) {border-right:1px solid rgba(21,26,29,.18);margin-right:24px;}
.portfolio-story .portfolio-fact dt {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.13em;color:#657074;margin-bottom:10px;}
.portfolio-story .portfolio-fact dd {font:700 clamp(16px,1.5vw,22px)/1.3 Inter,sans-serif;color:#172125;margin:0;}
.portfolio-story .portfolio-story-scope {display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(42px,7vw,125px);padding:clamp(85px,11vw,170px) 0 45px;}
.portfolio-story .portfolio-story-scope-head h2 {margin-bottom:0;}
.portfolio-story .portfolio-scope-list {list-style:none;margin:0;padding:0;border-top:1px solid rgba(21,26,29,.27);}
.portfolio-story .portfolio-scope-list li {display:flex;align-items:baseline;gap:20px;padding:21px 0;border-bottom:1px solid rgba(21,26,29,.22);}
.portfolio-story .portfolio-scope-list li span {min-width:24px;color:var(--pf-accent);font:700 11px/1.5 Inter,sans-serif;}
.portfolio-story .portfolio-scope-list li strong {font:700 clamp(14px,1.25vw,18px)/1.5 Inter,sans-serif;letter-spacing:.025em;}
.portfolio-story .portfolio-story-note {padding-bottom:15px;}
.portfolio-story .portfolio-story-next {background:var(--pf-ink);color:#fff;padding:clamp(85px,10vw,155px) 0;}
.portfolio-story .portfolio-story-next-grid {display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,120px);align-items:center;}
.portfolio-story .portfolio-story-next-grid>div .portfolio-eyebrow {color:var(--pf-sea);}
.portfolio-story .portfolio-story-next-grid h2 {margin:20px 0 40px;font:800 clamp(65px,7vw,110px)/.9 "Barlow Condensed",sans-serif;}
.portfolio-story .portfolio-story-next-grid h2 span {color:#67CCD2;}
.portfolio-story .portfolio-story-back {display:inline-flex;align-items:center;gap:19px;padding-bottom:10px;border-bottom:1px solid var(--pf-sea);color:var(--pf-sea);font:700 11px/1.4 Inter,sans-serif;letter-spacing:.1em;}
.portfolio-story .portfolio-story-back svg {width:18px;height:18px;}
.portfolio-story .portfolio-story-next-card {position:relative;isolation:isolate;display:block;height:clamp(370px,37vw,530px);border-radius:11px;background:#122025;color:#fff;overflow:hidden;}
.portfolio-story .portfolio-story-next-photo,.portfolio-story .portfolio-story-next-wash {position:absolute;inset:0;pointer-events:none;}
.portfolio-story .portfolio-story-next-photo {z-index:-1;overflow:hidden;}
.portfolio-story .portfolio-story-next-photo img {display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1);}
.portfolio-story .portfolio-story-next-wash {background:linear-gradient(180deg,rgba(6,14,18,.47),transparent 40%,rgba(6,14,18,.91));}
.portfolio-story .portfolio-story-next-copy {position:absolute;inset:auto 30px 32px;z-index:1;display:flex;align-items:flex-start;gap:13px;flex-direction:column;}
.portfolio-story .portfolio-story-next-copy small {font:700 10px/1.4 Inter,sans-serif;letter-spacing:.13em;color:var(--pf-sea);}
.portfolio-story .portfolio-story-next-copy strong {font:800 clamp(45px,4.3vw,80px)/.96 "Barlow Condensed",sans-serif;}
.portfolio-story .portfolio-story-next-copy em {display:inline-flex;align-items:center;gap:16px;font:700 11px/1.5 Inter,sans-serif;letter-spacing:.13em;color:var(--pf-sea);font-style:normal;}
.portfolio-story .portfolio-story-next-copy em svg {width:18px;height:18px;}
.portfolio-story .portfolio-story-contact {background:#0e535c;padding:34px 0;color:#fff;}
.portfolio-story .portfolio-story-contact>.portfolio-frame {display:flex;align-items:center;justify-content:space-between;gap:25px;}
.portfolio-story .portfolio-story-contact span {font:700 11px/1.5 Inter,sans-serif;letter-spacing:.13em;}
.portfolio-story .portfolio-story-contact button {display:inline-flex;align-items:center;gap:15px;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.75);padding:10px 0;cursor:pointer;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.05em;}
.portfolio-story .portfolio-story-contact button svg {width:18px;height:18px;}
/* Subtle reveal with no JS/reduced-motion dependency for primary content. */
html.js-motion .portfolio-page [data-reveal],html.js-motion .portfolio-story [data-reveal] {
  opacity:0;transform:translateY(19px);
  transition:opacity .82s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1);
}
html.js-motion .portfolio-page [data-reveal].is-revealed,html.js-motion .portfolio-story [data-reveal].is-revealed {opacity:1;transform:translateY(0);}
@media(max-width:1023px) {
  .portfolio-page .portfolio-frame,.portfolio-story .portfolio-frame {width:calc(100% - 56px);}
  .portfolio-page .portfolio-work-card-1 {height:570px;}
  .portfolio-page .portfolio-work-card {height:460px;}
  .portfolio-page .portfolio-work-card-4 {height:440px;}
  .portfolio-page .portfolio-work-card-1 .portfolio-work-copy strong {font-size:clamp(78px,10vw,116px);}
  .portfolio-page .portfolio-work-copy strong {font-size:clamp(45px,5.5vw,67px);}
  .portfolio-story .portfolio-story-hero-text h1 {font-size:clamp(80px,10vw,124px);}
  .portfolio-story .portfolio-story-overview {gap:45px;}
  .portfolio-story .portfolio-story-scope {gap:45px;}
}
@media(max-width:767px) {
  .portfolio-page .portfolio-frame,.portfolio-story .portfolio-frame {width:calc(100% - 38px);}
  .portfolio-page .portfolio-index-hero {min-height:630px;}
  .portfolio-page .portfolio-index-hero>.portfolio-frame {padding:23px 0 38px;}
  .portfolio-page .portfolio-index-top {font-size:9px;letter-spacing:.06em;}
  .portfolio-page .portfolio-index-top span:last-child {text-align:right;}
  .portfolio-page .portfolio-index-main {padding-top:45px;}
  .portfolio-page .portfolio-index-main h1 {font-size:clamp(86px,17vw,142px);margin:25px 0 48px;}
  .portfolio-page .portfolio-index-bottom {align-items:start;gap:18px;}
  .portfolio-page .portfolio-index-bottom p {font-size:14px;}
  .portfolio-page .portfolio-index-counter {font-size:58px;gap:8px;}
  .portfolio-page .portfolio-index-counter small {font-size:9px;max-width:75px;}
  .portfolio-page .portfolio-index-body {padding:70px 0;}
  .portfolio-page .portfolio-index-intro {align-items:start;flex-direction:column;gap:8px;margin-bottom:24px;}
  .portfolio-page .portfolio-work-grid {grid-template-columns:1fr;gap:14px;}
  .portfolio-page .portfolio-work-card,.portfolio-page .portfolio-work-card-1,.portfolio-page .portfolio-work-card-4 {
    grid-column:1;height:clamp(405px,117vw,510px);border-radius:9px;
  }
  .portfolio-page .portfolio-work-card-1 {height:clamp(460px,137vw,590px);}
  .portfolio-page .portfolio-work-top,.portfolio-page .portfolio-work-copy {left:24px;right:24px;}
  .portfolio-page .portfolio-work-top {top:25px;}
  .portfolio-page .portfolio-work-copy {bottom:28px;gap:11px;}
  .portfolio-page .portfolio-work-copy strong,.portfolio-page .portfolio-work-card-1 .portfolio-work-copy strong {font-size:clamp(48px,12vw,74px);line-height:.95;}
  .portfolio-page .portfolio-work-card-1 .portfolio-work-copy strong {font-size:clamp(56px,13vw,86px);}
  .portfolio-page .portfolio-work-description {font-size:14px;line-height:1.55;}
  .portfolio-page .portfolio-work-top>span:first-child {font-size:9px;}
  .portfolio-page .portfolio-photo-note,.portfolio-story .portfolio-photo-note {font-size:10px;text-align:left;}
  .portfolio-page .portfolio-final-cta {padding:96px 0;}
  .portfolio-page .portfolio-final-cta h2 {font-size:clamp(67px,13vw,95px);}
  .portfolio-page .portfolio-cta-row {flex-direction:column;align-items:stretch;gap:24px;}
  .portfolio-page .portfolio-cta-button {justify-content:space-between;}
  .portfolio-story .portfolio-story-hero {min-height:clamp(640px,92svh,825px);}
  .portfolio-story .portfolio-story-hero-inner {padding:25px 0;}
  .portfolio-story .portfolio-story-navigation {font-size:9px;letter-spacing:.06em;}
  .portfolio-story .portfolio-story-navigation>span {text-align:right;}
  .portfolio-story .portfolio-story-hero-text {padding:70px 0;}
  .portfolio-story .portfolio-story-hero-text h1 {font-size:clamp(66px,13.2vw,96px);line-height:.88;margin:20px 0 24px;}
  .portfolio-story .portfolio-story-hero-text>p {font-size:15px;}
  .portfolio-story .portfolio-story-hero-bottom {font-size:9px;gap:13px;}
  .portfolio-story .portfolio-story-hero-bottom span:last-child {white-space:nowrap;}
  .portfolio-story .portfolio-story-main {padding:84px 0 45px;}
  .portfolio-story .portfolio-story-overview,.portfolio-story .portfolio-story-scope,.portfolio-story .portfolio-story-next-grid {grid-template-columns:1fr;gap:23px;}
  .portfolio-story .portfolio-story-intro h2,.portfolio-story .portfolio-story-scope-head h2 {font-size:clamp(62px,12vw,89px);margin-bottom:12px;}
  .portfolio-story .portfolio-story-overview-copy {padding-top:0;}
  .portfolio-story .portfolio-story-overview-copy>p {font-size:15px;line-height:1.75;}
  .portfolio-story .portfolio-story-overview-copy>.portfolio-story-lead {font-size:18px;}
  .portfolio-story .portfolio-story-facts {margin-top:65px;}
  .portfolio-story .portfolio-story-facts dl {grid-template-columns:1fr;}
  .portfolio-story .portfolio-fact {padding:18px 0;}
  .portfolio-story .portfolio-fact:not(:last-child) {border-right:0;border-bottom:1px solid rgba(21,26,29,.17);margin-right:0;}
  .portfolio-story .portfolio-fact dd {font-size:18px;}
  .portfolio-story .portfolio-story-scope {padding:78px 0 30px;}
  .portfolio-story .portfolio-scope-list li {padding:17px 0;}
  .portfolio-story .portfolio-scope-list li strong {font-size:14px;}
  .portfolio-story .portfolio-story-next {padding:85px 0;}
  .portfolio-story .portfolio-story-next-grid h2 {font-size:clamp(66px,13vw,92px);margin-bottom:24px;}
  .portfolio-story .portfolio-story-next-card {height:clamp(360px,105vw,465px);}
  .portfolio-story .portfolio-story-next-copy {inset:auto 24px 28px;}
  .portfolio-story .portfolio-story-next-copy strong {font-size:clamp(46px,11vw,72px);}
  .portfolio-story .portfolio-story-contact>.portfolio-frame {flex-direction:column;align-items:flex-start;gap:12px;}
}
@media(max-width:375px) {
  .portfolio-page .portfolio-index-main h1 {font-size:88px;}
  .portfolio-page .portfolio-work-card-1 .portfolio-work-copy strong {font-size:57px;}
  .portfolio-page .portfolio-work-copy strong {font-size:49px;}
  .portfolio-story .portfolio-story-hero-text h1 {font-size:64px;}
  .portfolio-story .portfolio-story-next-copy strong {font-size:48px;}
}
@media(prefers-reduced-motion:reduce) {
  html.js-motion .portfolio-page [data-reveal],html.js-motion .portfolio-story [data-reveal] {
    opacity:1!important;transform:none!important;transition:none!important;
  }
  .portfolio-page .portfolio-work-photo img,.portfolio-story .portfolio-story-next-photo img {transform:none!important;transition:none!important;}
  .portfolio-page .portfolio-work-arrow,.portfolio-page .portfolio-work-action svg {transition:none!important;transform:none!important;}
}


/* ===== PROJECT STORY · LAYER FIX + EDITORIAL VISUALS =====
   Explicit stacking prevents shade from sitting over the heading (reported in video).
   Hero grade is localized to text area so photography stays visible. */
.portfolio-story .portfolio-story-hero-text,
.portfolio-story .portfolio-story-navigation,
.portfolio-story .portfolio-story-hero-bottom {position:relative;z-index:1;}
.portfolio-story .portfolio-story-hero-text h1 {color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.13);}
.portfolio-story .portfolio-story-hero-text h1 span {color:#8CE3E0;}
.portfolio-story .portfolio-story-hero-text>p {color:#f2f6f6;text-shadow:0 1px 8px rgba(0,0,0,.13);}
.portfolio-story .portfolio-story-hero-text .portfolio-eyebrow {color:#B1F3ED;}
.portfolio-story .portfolio-story-main {padding-bottom:clamp(90px,9vw,145px);}
/* Interleaved visual study: one architectural establishing frame plus two details. */
.portfolio-story .portfolio-story-gallery {
  padding-top:clamp(40px,5.4vw,90px);
  border-top:1px solid rgba(21,26,29,.22);
  margin-top:clamp(55px,6vw,95px);
}
.portfolio-story .portfolio-story-gallery-head {
  display:flex;align-items:end;justify-content:space-between;gap:clamp(35px,6vw,95px);
  margin-bottom:clamp(31px,4vw,60px);
}
.portfolio-story .portfolio-story-gallery-head h2 {
  margin:15px 0 0;color:#151A1D;
  font:800 clamp(67px,7.8vw,120px)/.9 "Barlow Condensed",sans-serif;
  letter-spacing:-.025em;
}
.portfolio-story .portfolio-story-gallery-head h2 span {color:#116B76;}
.portfolio-story .portfolio-story-gallery-head>p {
  margin:0 0 9px;max-width:405px;
  color:#4C585B;font:400 clamp(15px,1.23vw,18px)/1.75 Inter,sans-serif;
}
.portfolio-story .portfolio-story-gallery-grid {
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(0,.85fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:16px;
  height:clamp(560px,58vw,740px);
}
.portfolio-story .portfolio-gallery-image {
  position:relative;margin:0;min-width:0;min-height:0;
  overflow:hidden;border-radius:10px;
  background:#d8dcdb;
}
.portfolio-story .portfolio-gallery-image-1 {grid-column:1;grid-row:1 / span 2;}
.portfolio-story .portfolio-gallery-image-2 {grid-column:2;grid-row:1;}
.portfolio-story .portfolio-gallery-image-3 {grid-column:2;grid-row:2;}
.portfolio-story .portfolio-gallery-image img {
  width:100%;height:100%;display:block;object-fit:cover;
  transform:scale(1.003);filter:saturate(.94);
  transition:transform .95s cubic-bezier(.16,1,.3,1);
}
.portfolio-story-unt .portfolio-gallery-image-1 img {object-position:center 48%;}
.portfolio-story-unt .portfolio-gallery-image-3 img {object-position:center 38%;}
.portfolio-story-twu .portfolio-gallery-image-2 img {object-position:center 43%;}
.portfolio-story-plano .portfolio-gallery-image-2 img {object-position:center 52%;}
.portfolio-story-mep .portfolio-gallery-image-1 img {object-position:center 50%;}
.portfolio-story-mep .portfolio-gallery-image-2 img {object-position:center 48%;}
.portfolio-story .portfolio-story-gallery .portfolio-story-note {
  margin:16px 0 0;text-align:left;color:#5a6568;
  font:400 11px/1.65 Inter,sans-serif;
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .portfolio-story .portfolio-gallery-image:hover img {transform:scale(1.045);}
}
@media(max-width:1023px) {
 .portfolio-story .portfolio-story-gallery-head {gap:36px;}
 .portfolio-story .portfolio-story-gallery-head h2 {font-size:clamp(65px,9vw,100px);}
 .portfolio-story .portfolio-story-gallery-grid {height:clamp(485px,63vw,650px);gap:13px;}
}
@media(max-width:767px) {
 .portfolio-story .portfolio-story-hero-text h1 {text-shadow:none;}
 .portfolio-story .portfolio-story-shade {background:linear-gradient(90deg,rgba(9,16,20,.77) 0%,rgba(9,16,20,.35) 90%),linear-gradient(0deg,rgba(9,16,20,.49),transparent 35%);}
 .portfolio-story .portfolio-story-gallery {padding-top:53px;margin-top:55px;}
 .portfolio-story .portfolio-story-gallery-head {display:block;margin-bottom:25px;}
 .portfolio-story .portfolio-story-gallery-head h2 {font-size:clamp(58px,12.5vw,88px);}
 .portfolio-story .portfolio-story-gallery-head>p {margin-top:19px;max-width:480px;font-size:14px;}
 .portfolio-story .portfolio-story-gallery-grid {
   grid-template-columns:minmax(0,1fr) minmax(0,1fr);
   grid-template-rows:auto auto;
   gap:10px;height:auto;
 }
 .portfolio-story .portfolio-gallery-image {border-radius:7px;}
 .portfolio-story .portfolio-gallery-image-1 {
   grid-column:1/-1;grid-row:1;height:clamp(300px,96vw,470px);
 }
 .portfolio-story .portfolio-gallery-image-2,
 .portfolio-story .portfolio-gallery-image-3 {
   grid-row:2;height:clamp(170px,57vw,255px);
 }
 .portfolio-story .portfolio-gallery-image-2 {grid-column:1;}
 .portfolio-story .portfolio-gallery-image-3 {grid-column:2;}
 .portfolio-story .portfolio-story-gallery .portfolio-story-note {font-size:10px;}
}
@media(max-width:375px) {
 .portfolio-story .portfolio-story-gallery-head h2 {font-size:59px;}
 .portfolio-story .portfolio-gallery-image-1 {height:340px;}
 .portfolio-story .portfolio-gallery-image-2,.portfolio-story .portfolio-gallery-image-3 {height:176px;}
}
@media(prefers-reduced-motion:reduce) {
 .portfolio-story .portfolio-gallery-image img {transform:none!important;transition:none!important;}
}


/* ===== ABOUT 3.0 — EDITORIAL COMPANY PORTRAIT =====
   Unique light split-hero, confident editorial data, source-grounded claims.
   Never substitute illustrative photography for real staff, works or offices. */
.about-v3 {--ab-ink:#151A1D;--ab-paper:#F3F2EF;--ab-teal:#116B76;--ab-tint:#67CCD2;--ab-pale:#dce7e5;background:var(--ab-paper);overflow:visible;min-height:0;}
.about-v3 .ab-frame {width:min(calc(100% - 90px),1380px);margin-inline:auto;}
.about-v3 .ab-overline {display:block;color:var(--ab-teal);font:700 11px/1.5 Inter,sans-serif;letter-spacing:.17em;text-transform:uppercase;}
.about-v3 .ab-hero {min-height:clamp(660px,88svh,920px);display:grid;grid-template-columns:56% 44%;background:var(--ab-paper);color:var(--ab-ink);}
.about-v3 .ab-hero-text {position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:30px clamp(32px,5.2vw,90px) 30px clamp(32px,5.2vw,90px);}
.about-v3 .ab-hero-top,.about-v3 .ab-hero-foot {display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 0 18px;border-bottom:1px solid rgba(21,26,29,.23);font:700 10px/1.5 Inter,sans-serif;letter-spacing:.11em;}
.about-v3 .ab-hero-foot {border-bottom:0;border-top:1px solid rgba(21,26,29,.23);padding:17px 0 0;color:#47565a;}
.about-v3 .ab-hero-foot span:last-child {display:flex;align-items:center;gap:10px;white-space:nowrap;}
.about-v3 .ab-hero-foot svg {width:14px;height:14px;}
.about-v3 .ab-hero-core {padding:clamp(55px,8vw,120px) 0 clamp(45px,5vw,80px);position:relative;z-index:1;}
.about-v3 .ab-hero-core h1 {font:900 clamp(74px,8.35vw,148px)/.84 "Barlow Condensed",sans-serif;letter-spacing:-.033em;margin:23px 0 32px;text-transform:uppercase;}
.about-v3 .ab-hero-core h1 span {color:var(--ab-teal);}
.about-v3 .ab-hero-core>p {max-width:550px;color:#455055;font:400 clamp(15px,1.32vw,19px)/1.72 Inter,sans-serif;}
.about-v3 .ab-hero-link {display:inline-flex;align-items:center;gap:25px;margin-top:38px;padding-bottom:11px;border-bottom:1px solid var(--ab-teal);color:var(--ab-teal);font:700 12px/1.4 Inter,sans-serif;letter-spacing:.095em;text-decoration:none;transition:gap .25s;}
.about-v3 .ab-hero-link svg {width:17px;height:17px;}
.about-v3 .ab-hero-link:hover {gap:32px;}
.about-v3 .ab-hero-image {position:relative;min-height:inherit;margin:0;overflow:hidden;background:#ccd2cf;}
.about-v3 .ab-hero-image img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;display:block;}
.about-v3 .ab-hero-image figcaption,.about-v3 .ab-photographic figcaption,.about-v3 .ab-markets-photo figcaption {position:absolute;left:clamp(20px,2.4vw,40px);bottom:clamp(20px,2.4vw,40px);padding:9px 12px;color:#fff;background:rgba(15,25,29,.77);font:700 10px/1.5 Inter,sans-serif;letter-spacing:.10em;}
.about-v3 .ab-profile {background:var(--ab-ink);color:#fff;padding:clamp(105px,12vw,185px) 0;}
.about-v3 .ab-profile-grid {display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(60px,9vw,140px);}
.about-v3 .ab-profile .ab-overline,.about-v3 .ab-statement .ab-overline {color:var(--ab-tint);}
.about-v3 .ab-profile h2 {font:800 clamp(65px,7.2vw,117px)/.9 "Barlow Condensed",sans-serif;letter-spacing:-.02em;margin:22px 0 0;}
.about-v3 .ab-profile h2 span {color:var(--ab-tint);}
.about-v3 .ab-profile-story {padding-top:13px;}
.about-v3 .ab-profile-story>p {font:400 clamp(15px,1.26vw,19px)/1.8 Inter,sans-serif;color:#c5d0d2;margin-bottom:25px;max-width:610px;}
.about-v3 .ab-profile-story>.ab-profile-lead {font-weight:500;font-size:clamp(19px,1.75vw,27px);line-height:1.62;color:#fff;}
.about-v3 .ab-experience {border-top:1px solid rgba(255,255,255,.28);margin-top:42px;padding-top:26px;display:flex;align-items:end;gap:25px;}
.about-v3 .ab-experience-number {font:800 clamp(102px,11.5vw,175px)/.78 "Barlow Condensed",sans-serif;color:var(--ab-tint);letter-spacing:-.06em;white-space:nowrap;}
.about-v3 .ab-experience-number span {font-size:.62em;vertical-align:top;}
.about-v3 .ab-experience-caption {max-width:215px;margin-bottom:8px;color:#e1e9e9;font:700 10px/1.65 Inter,sans-serif;letter-spacing:.12em;}
.about-v3 .ab-photographic {position:relative;height:clamp(450px,58vw,760px);overflow:hidden;margin:0;background:#a7b3b4;}
.about-v3 .ab-photographic img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.88);}
.about-v3 .ab-capabilities {background:var(--ab-paper);color:var(--ab-ink);padding:clamp(96px,11vw,174px) 0;}
.about-v3 .ab-section-head {display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:end;margin-bottom:clamp(45px,6vw,90px);}
.about-v3 .ab-section-head h2,.about-v3 .ab-clients h2 {font:800 clamp(68px,8vw,131px)/.91 "Barlow Condensed",sans-serif;letter-spacing:-.018em;margin:22px 0 0;}
.about-v3 .ab-section-head h2 span,.about-v3 .ab-clients h2 span {color:var(--ab-teal);}
.about-v3 .ab-section-head>p,.about-v3 .ab-clients-head>p {font:400 clamp(16px,1.4vw,20px)/1.7 Inter,sans-serif;color:#475458;max-width:470px;margin-bottom:8px;}
.about-v3 .ab-service-list {border-top:1px solid rgba(21,26,29,.25);}
.about-v3 .ab-service-row {display:grid;grid-template-columns:62px minmax(0,1fr) 54px;gap:30px;align-items:center;min-height:clamp(170px,18vw,260px);padding:37px 0;border-bottom:1px solid rgba(21,26,29,.25);color:var(--ab-ink);text-decoration:none;transition:padding-left .35s,color .35s;}
.about-v3 .ab-service-num {align-self:start;padding-top:14px;color:var(--ab-teal);font:700 12px/1.5 Inter,sans-serif;}
.about-v3 .ab-service-main {display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.about-v3 .ab-service-main strong {font:800 clamp(53px,6.8vw,106px)/.9 "Barlow Condensed",sans-serif;letter-spacing:-.02em;text-transform:uppercase;}
.about-v3 .ab-service-main small {font:400 clamp(14px,1.25vw,18px)/1.65 Inter,sans-serif;color:#505b5e;}
.about-v3 .ab-service-arrow {display:grid;place-items:center;width:51px;height:51px;border:1px solid rgba(21,26,29,.37);border-radius:50%;transition:transform .3s,background .3s;}
.about-v3 .ab-service-arrow svg {width:23px;height:23px;}
.about-v3 .ab-service-row:hover {padding-left:12px;color:var(--ab-teal);}
.about-v3 .ab-service-row:hover .ab-service-arrow {background:#116B76;color:#fff;transform:translate(4px,-4px);}
.about-v3 .ab-markets {background:#172126;color:#fff;padding:clamp(100px,11vw,175px) 0;}
.about-v3 .ab-markets-grid {display:grid;grid-template-columns:1fr .85fr;gap:clamp(52px,9vw,135px);align-items:stretch;}
.about-v3 .ab-markets .ab-overline {color:var(--ab-tint);}
.about-v3 .ab-markets h2 {font:800 clamp(67px,7.8vw,125px)/.90 "Barlow Condensed",sans-serif;letter-spacing:-.018em;margin:23px 0 30px;}
.about-v3 .ab-markets h2 span {color:var(--ab-tint);}
.about-v3 .ab-markets-copy>p {font:400 clamp(15px,1.3vw,18px)/1.7 Inter,sans-serif;color:#d0dcde;max-width:510px;}
.about-v3 .ab-markets-list {margin:47px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.28);}
.about-v3 .ab-markets-list li {display:flex;gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.23);}
.about-v3 .ab-markets-list li span {font:700 11px/1.4 Inter,sans-serif;color:var(--ab-tint);min-width:29px;}
.about-v3 .ab-markets-list li strong {font:700 clamp(14px,1.28vw,19px)/1.4 Inter,sans-serif;letter-spacing:.055em;}
.about-v3 .ab-markets-photo {position:relative;margin:0;min-height:760px;background:#536061;overflow:hidden;}
.about-v3 .ab-markets-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%;}
.about-v3 .ab-clients {background:#e4e9e7;color:var(--ab-ink);padding:clamp(100px,11vw,165px) 0;}
.about-v3 .ab-clients-head {display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:40px;margin-bottom:clamp(50px,6vw,92px);}
.about-v3 .ab-clients-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(21,26,29,.29);column-gap:clamp(30px,6vw,85px);}
.about-v3 .ab-client {display:flex;align-items:start;gap:21px;border-bottom:1px solid rgba(21,26,29,.26);padding:27px 0;min-height:94px;}
.about-v3 .ab-client span {color:var(--ab-teal);font:700 11px/1.5 Inter,sans-serif;min-width:25px;}
.about-v3 .ab-client strong {font:700 clamp(14px,1.4vw,20px)/1.35 Inter,sans-serif;letter-spacing:.025em;}
.about-v3 .ab-statement {background:#0e535c;color:#fff;padding:clamp(100px,12vw,175px) 0;}
.about-v3 .ab-statement h2 {font:800 clamp(74px,10vw,160px)/.89 "Barlow Condensed",sans-serif;letter-spacing:-.015em;margin:28px 0 40px;max-width:1150px;}
.about-v3 .ab-statement h2 span {color:#B1F3ED;}
.about-v3 .ab-statement p {max-width:620px;border-top:1px solid rgba(255,255,255,.36);padding-top:26px;font:400 clamp(16px,1.48vw,22px)/1.7 Inter,sans-serif;}
.about-v3 .ab-contact {background:#151A1D;color:#fff;padding:clamp(95px,11vw,173px) 0;}
.about-v3 .ab-contact .ab-overline {color:var(--ab-tint);}
.about-v3 .ab-contact-grid {display:grid;grid-template-columns:1fr .85fr;gap:clamp(45px,7vw,125px);align-items:end;}
.about-v3 .ab-contact h2 {margin:25px 0 0;font:800 clamp(72px,8.9vw,143px)/.9 "Barlow Condensed",sans-serif;}
.about-v3 .ab-contact h2 span {color:var(--ab-tint);}
.about-v3 .ab-contact-side>p:first-child {max-width:450px;color:#d6e0e1;font:400 clamp(16px,1.38vw,20px)/1.7 Inter,sans-serif;}
.about-v3 .ab-contact-actions {display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:32px;}
.about-v3 .ab-contact-cta,.about-v3 .ab-contact-phone {display:flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 20px;width:min(100%,380px);min-height:56px;border:1px solid transparent;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.08em;text-decoration:none;cursor:pointer;}
.about-v3 .ab-contact-cta {background:#157C88;color:#fff;}
.about-v3 .ab-contact-cta:hover {background:#116B76;}
.about-v3 .ab-contact-phone {background:transparent;border-color:rgba(255,255,255,.58);color:#fff;}
.about-v3 .ab-contact-phone:hover {background:rgba(255,255,255,.09);}
.about-v3 .ab-contact-cta svg,.about-v3 .ab-contact-phone svg {width:17px;height:17px;flex-shrink:0;}
.about-v3 .ab-contact-location {color:#c4d1d2!important;border-top:1px solid rgba(255,255,255,.24);padding-top:20px;margin-top:44px;font:700 10px/1.7 Inter,sans-serif!important;letter-spacing:.075em;}
.about-v3 .ab-media-disclosure {background:#151A1D;color:#b4c1c3;padding:0 30px 23px;text-align:center;font:400 10px/1.6 Inter,sans-serif;}
.about-v3 a:focus-visible,.about-v3 button:focus-visible {outline:3px solid #67CCD2;outline-offset:5px;}
/* Respect motion and avoid hiding content when JavaScript is unavailable. */
html.js-motion .about-v3 [data-reveal] {opacity:1;transform:none;transition:opacity .84s cubic-bezier(.16,1,.3,1),transform .84s cubic-bezier(.16,1,.3,1);}
html.js-motion .about-v3 [data-reveal].is-revealed {opacity:1;transform:translateY(0);}
@media(max-width:1100px) {
  .about-v3 .ab-frame {width:calc(100% - 60px);}
  .about-v3 .ab-hero-text {padding:26px 33px 26px 38px;}
  .about-v3 .ab-hero-core h1 {font-size:clamp(68px,7.5vw,95px);}
  .about-v3 .ab-hero-top,.about-v3 .ab-hero-foot {font-size:9px;}
  .about-v3 .ab-markets-photo {min-height:630px;}
  .about-v3 .ab-profile-grid {gap:60px;}
  .about-v3 .ab-service-main strong {font-size:clamp(53px,6.5vw,87px);}
}
@media(max-width:767px) {
  .about-v3 .ab-frame {width:calc(100% - 40px);}
  .about-v3 .ab-hero {display:flex;flex-direction:column;min-height:0;}
  .about-v3 .ab-hero-text {min-height:565px;padding:22px 20px 28px;}
  .about-v3 .ab-hero-top,.about-v3 .ab-hero-foot {font-size:9px;}
  .about-v3 .ab-hero-core {padding:67px 0 55px;}
  .about-v3 .ab-hero-core h1 {font-size:clamp(66px,12.4vw,101px);line-height:.85;margin:17px 0 25px;}
  .about-v3 .ab-hero-core>p {font-size:15px;line-height:1.7;}
  .about-v3 .ab-hero-link {font-size:11px;margin-top:28px;}
  .about-v3 .ab-hero-image {min-height:0;height:clamp(390px,110vw,590px);}
  .about-v3 .ab-hero-image img {object-position:center 45%;}
  .about-v3 .ab-profile {padding:89px 0 105px;}
  .about-v3 .ab-profile-grid,.about-v3 .ab-section-head,.about-v3 .ab-markets-grid,.about-v3 .ab-clients-head,.about-v3 .ab-contact-grid {grid-template-columns:1fr;gap:36px;}
  .about-v3 .ab-profile h2 {font-size:clamp(66px,13.5vw,96px);}
  .about-v3 .ab-profile-story {padding-top:0;}
  .about-v3 .ab-profile-story>.ab-profile-lead {font-size:21px;}
  .about-v3 .ab-experience {margin-top:37px;gap:16px;}
  .about-v3 .ab-experience-number {font-size:clamp(114px,24vw,175px);}
  .about-v3 .ab-experience-caption {font-size:9px;}
  .about-v3 .ab-photographic {height:clamp(340px,89vw,570px);}
  .about-v3 .ab-capabilities {padding:90px 0 105px;}
  .about-v3 .ab-section-head {margin-bottom:40px;gap:18px;}
  .about-v3 .ab-section-head h2,.about-v3 .ab-clients h2 {font-size:clamp(70px,13.6vw,100px);}
  .about-v3 .ab-section-head>p,.about-v3 .ab-clients-head>p {font-size:15px;}
  .about-v3 .ab-service-row {grid-template-columns:27px minmax(0,1fr) 38px;gap:12px;min-height:145px;padding:29px 0;}
  .about-v3 .ab-service-num {padding-top:6px;font-size:10px;}
  .about-v3 .ab-service-main strong {font-size:clamp(37px,8.2vw,61px);}
  .about-v3 .ab-service-main small {font-size:13px;line-height:1.55;}
  .about-v3 .ab-service-arrow {width:38px;height:38px;}
  .about-v3 .ab-service-arrow svg {width:17px;height:17px;}
  .about-v3 .ab-markets {padding:90px 0;}
  .about-v3 .ab-markets h2 {font-size:clamp(69px,14vw,104px);}
  .about-v3 .ab-markets-list {margin-top:35px;}
  .about-v3 .ab-markets-photo {height:clamp(395px,115vw,570px);min-height:0;}
  .about-v3 .ab-clients {padding:91px 0;}
  .about-v3 .ab-clients-head {gap:19px;margin-bottom:45px;}
  .about-v3 .ab-clients-list {grid-template-columns:1fr;}
  .about-v3 .ab-client {min-height:0;padding:20px 0;}
  .about-v3 .ab-client strong {font-size:15px;}
  .about-v3 .ab-statement {padding:90px 0;}
  .about-v3 .ab-statement h2 {font-size:clamp(72px,14vw,105px);margin:25px 0 33px;}
  .about-v3 .ab-statement p {font-size:16px;}
  .about-v3 .ab-contact {padding:90px 0;}
  .about-v3 .ab-contact h2 {font-size:clamp(76px,14vw,104px);}
  .about-v3 .ab-contact-grid {gap:38px;}
  .about-v3 .ab-contact-side>p:first-child {font-size:16px;}
  .about-v3 .ab-contact-location {font-size:9px!important;}
}
@media(max-width:375px) {
  .about-v3 .ab-hero-core h1 {font-size:61px;}
  .about-v3 .ab-profile h2 {font-size:66px;}
  .about-v3 .ab-markets h2 {font-size:70px;}
  .about-v3 .ab-service-main strong {font-size:37px;}
  .about-v3 .ab-statement h2 {font-size:73px;}
  .about-v3 .ab-contact h2 {font-size:76px;}
}
@media(prefers-reduced-motion:reduce) {
  html.js-motion .about-v3 [data-reveal] {opacity:1!important;transform:none!important;transition:none!important;}
  .about-v3 .ab-hero-link,.about-v3 .ab-service-row,.about-v3 .ab-service-arrow {transition:none!important;}
}

/* ===== ABOUT VISIBILITY HOTFIX · 2026-10-26 =====
   Do not clip the About page or depend on one-shot observers to show content.
   All sections remain in normal document flow when About is the active route. */
.about-v3:not(.hidden-page) {
  display:block;
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  transform:none;
}
.about-v3:not(.hidden-page) > .ab-profile,
.about-v3:not(.hidden-page) > .ab-photographic,
.about-v3:not(.hidden-page) > .ab-capabilities,
.about-v3:not(.hidden-page) > .ab-markets,
.about-v3:not(.hidden-page) > .ab-clients,
.about-v3:not(.hidden-page) > .ab-statement,
.about-v3:not(.hidden-page) > .ab-contact {
  display:block;
  position:relative;
  visibility:visible;
  opacity:1;
  height:auto;
}
.about-v3:not(.hidden-page) > .ab-photographic {height:clamp(450px,58vw,760px);}
.about-v3:not(.hidden-page) [data-reveal],
html.js-motion .about-v3:not(.hidden-page) [data-reveal] {
  visibility:visible;
  opacity:1;
  transform:none;
}
@media(max-width:767px){
  .about-v3:not(.hidden-page) > .ab-photographic {height:clamp(340px,89vw,570px);}
}


/* ===== ABOUT REFINEMENT · FINISHED ARCHITECTURE / 2026-10-26 =====
   Gallery-like finished space, restrained cinematic grade, no false project attribution. */
.about-v3 .ab-profile-intro h2 {scroll-margin-top:110px;}
.about-v3 .ab-photographic {isolation:isolate;background:#222c2e;}
.about-v3 .ab-photographic img {
  object-position:50% 52%;
  filter:saturate(.84) contrast(1.07) brightness(.86);
}
.about-v3 .ab-photographic::after {
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,18,22,.22),transparent 30%,rgba(10,18,21,.37) 100%);
}
.about-v3 .ab-photographic figcaption {z-index:1;}
@media(max-width:767px) {
  .about-v3 .ab-photographic img {object-position:center 50%;}
  .about-v3 .ab-profile-intro h2 {scroll-margin-top:90px;}
}


/* ===== ABOUT CTA / FINISHED ARCHITECTURAL PHOTO ===== */
.about-v3 .ab-contact {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#151A1D;
}
.about-v3 .ab-contact-media,
.about-v3 .ab-contact-scrim {
  position:absolute;
  inset:0;
  pointer-events:none;
}
.about-v3 .ab-contact-media {
  z-index:0;
  overflow:hidden;
}
.about-v3 .ab-contact-media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 50%;
  filter:saturate(.77) contrast(1.06) brightness(.88);
}
.about-v3 .ab-contact-scrim {
  z-index:1;
  background:
    linear-gradient(90deg,rgba(7,16,20,.90) 0%,rgba(7,16,20,.76) 48%,rgba(7,16,20,.62) 100%),
    linear-gradient(0deg,rgba(7,16,20,.43),transparent 39%);
}
.about-v3 .ab-contact-grid {
  position:relative;
  z-index:2;
}
.about-v3 .ab-contact .ab-overline {color:#8CE3E0;}
.about-v3 .ab-contact-side>p:first-child {color:#f0f4f4;}
.about-v3 .ab-contact-location {color:#e6eeee!important;border-top-color:rgba(255,255,255,.38);}
.about-v3 .ab-contact-phone {background:rgba(7,16,20,.38);border-color:rgba(255,255,255,.75);}
.about-v3 .ab-contact-phone:hover {background:rgba(7,16,20,.60);}
@media(max-width:767px) {
  .about-v3 .ab-contact-media img {object-position:59% center;}
  .about-v3 .ab-contact-scrim {
    background:
      linear-gradient(90deg,rgba(7,16,20,.83),rgba(7,16,20,.77)),
      linear-gradient(0deg,rgba(7,16,20,.45),transparent 55%);
  }
}


/* ===== ABOUT / PUBLISHED FIGURES + COMPLETE CLIENT ROSTER =====
   Source-attributed, static numbers (no count-up suggesting data verification).
   Premium teal editorial band; accessible natural vertical flow. */
.about-v3 .ab-statistics {
  position:relative;
  background:#0d606a;
  color:#fff;
  padding:clamp(82px,10vw,153px) 0 clamp(70px,8vw,125px);
}
.about-v3 .ab-statistics .ab-overline {color:#c7f1ef;}
.about-v3 .ab-statistics-top {display:grid;grid-template-columns:1fr .9fr;column-gap:clamp(35px,6vw,100px);align-items:end;}
.about-v3 .ab-statistics-top>.ab-overline {grid-column:1/-1;}
.about-v3 .ab-statistics-top h2 {
  margin:20px 0 0;
  color:#fff;
  font:900 clamp(70px,9.2vw,150px)/.88 "Barlow Condensed",sans-serif;
  letter-spacing:-.024em;
}
.about-v3 .ab-statistics-top h2 span {color:#B1F3ED;}
.about-v3 .ab-statistics-top>p {
  margin-bottom:9px;
  max-width:390px;
  color:#e3f0ef;
  font:400 clamp(15px,1.3vw,19px)/1.7 Inter,sans-serif;
}
.about-v3 .ab-statistics-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:clamp(55px,7vw,110px);
  border-top:1px solid rgba(255,255,255,.42);
  border-bottom:1px solid rgba(255,255,255,.42);
}
.about-v3 .ab-stat {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  padding:clamp(29px,4vw,56px) clamp(18px,4vw,64px) clamp(35px,5vw,70px);
}
.about-v3 .ab-stat:first-child {padding-left:0;border-right:1px solid rgba(255,255,255,.35);}
.about-v3 .ab-stat-id {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.14em;color:#d7efee;}
.about-v3 .ab-stat>strong {
  display:block;
  width:100%;
  margin:clamp(37px,5vw,80px) 0 12px;
  color:#fff;
  font:900 clamp(100px,12vw,191px)/.85 "Barlow Condensed",sans-serif;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.about-v3 .ab-stat-caption {color:#e1f5f3;font:700 clamp(14px,1.45vw,21px)/1.4 Inter,sans-serif;letter-spacing:.06em;}
.about-v3 .ab-stats-source {
  margin:23px 0 0;
  max-width:850px;
  color:#d8eded;
  font:400 12px/1.65 Inter,sans-serif;
}
/* Expanded client typography: roster not pseudo-logo testimonials. */
.about-v3 .ab-clients {background:#F3F2EF;}
.about-v3 .ab-clients-list {grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,56px);}
.about-v3 .ab-client {min-width:0;min-height:108px;gap:14px;padding:23px 0;}
.about-v3 .ab-client strong {
  min-width:0;
  overflow-wrap:break-word;
  font:700 clamp(13px,1.15vw,17px)/1.5 Inter,sans-serif;
  letter-spacing:0;
}
.about-v3 .ab-client span {min-width:24px;padding-top:3px;}
.about-v3 .ab-clients-note {
  margin:25px 0 0;
  font:400 12px/1.6 Inter,sans-serif;
  color:#536164;
}
@media(max-width:1100px) {
  .about-v3 .ab-statistics-grid {margin-top:60px;}
  .about-v3 .ab-stat>strong {font-size:clamp(93px,12.7vw,151px);}
  .about-v3 .ab-clients-list {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px) {
  .about-v3 .ab-statistics {padding:85px 0 82px;}
  .about-v3 .ab-statistics-top {display:block;}
  .about-v3 .ab-statistics-top h2 {font-size:clamp(75px,14vw,105px);}
  .about-v3 .ab-statistics-top>p {margin:25px 0 0;font-size:15px;}
  .about-v3 .ab-statistics-grid {grid-template-columns:1fr;margin-top:46px;}
  .about-v3 .ab-stat,.about-v3 .ab-stat:first-child {padding:33px 0 37px;border:0;}
  .about-v3 .ab-stat:first-child {border-bottom:1px solid rgba(255,255,255,.42);}
  .about-v3 .ab-stat>strong {font-size:clamp(118px,26vw,168px);margin:29px 0 10px;}
  .about-v3 .ab-stat-caption {font-size:15px;}
  .about-v3 .ab-stats-source {font-size:11px;}
  .about-v3 .ab-clients h2 {font-size:clamp(49px,9.5vw,73px);line-height:.96;overflow-wrap:normal;}
  .about-v3 .ab-clients-head {gap:22px;}
  .about-v3 .ab-clients-list {grid-template-columns:1fr;}
  .about-v3 .ab-client {min-height:0;padding:19px 0;}
  .about-v3 .ab-client strong {font-size:15px;}
}
@media(max-width:375px) {
  .about-v3 .ab-stat>strong {font-size:clamp(100px,25vw,122px);}
  .about-v3 .ab-statistics-top h2 {font-size:73px;}
  .about-v3 .ab-clients h2 {font-size:45px;}
}
@media(prefers-reduced-motion:reduce) {
  .about-v3 .ab-statistics *,
  .about-v3 .ab-clients-list * {animation:none!important;}
}

/* ===== CAREERS / EDITORIAL OPPORTUNITIES PAGE =====
   Job scope and positions sourced to 308gc.com/careers.
   All photography is illustrative, not company staff or actual worksites.
   Native details/summary supports keyboard and no-JS navigation. */
.careers-v3 {--cr-ink:#151A1D;--cr-paper:#F3F2EF;--cr-teal:#116B76;--cr-bright:#73D5D6;color:var(--cr-ink);background:var(--cr-paper);overflow:visible;}
.careers-v3 .career-frame {width:min(calc(100% - 82px),1380px);margin-inline:auto;}
.careers-v3 .career-eyebrow {display:block;color:var(--cr-bright);font:700 11px/1.55 Inter,sans-serif;letter-spacing:.17em;text-transform:uppercase;}
.careers-v3 .career-ink-eyebrow {color:var(--cr-teal);}
.careers-v3 .career-hero {position:relative;isolation:isolate;min-height:clamp(690px,91svh,980px);overflow:hidden;background:#151A1D;color:#fff;}
.careers-v3 .career-hero-media,.careers-v3 .career-hero-scrim {position:absolute;inset:0;pointer-events:none;}
.careers-v3 .career-hero-media {z-index:0;overflow:hidden;}
.careers-v3 .career-hero-media img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 49%;filter:saturate(.83) contrast(1.06);}
.careers-v3 .career-hero-scrim {z-index:1;background:linear-gradient(90deg,rgba(7,16,20,.92) 0%,rgba(7,16,20,.62) 53%,rgba(7,16,20,.25)),linear-gradient(0deg,rgba(7,16,20,.66),transparent 38%);}
.careers-v3 .career-hero-inner {position:relative;z-index:2;min-height:inherit;padding:34px 0 28px;display:flex;flex-direction:column;justify-content:space-between;}
.careers-v3 .career-hero-strap,.careers-v3 .career-hero-foot {display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.32);color:#e1eaea;font:700 10px/1.5 Inter,sans-serif;letter-spacing:.14em;}
.careers-v3 .career-hero-foot {border:0;border-top:1px solid rgba(255,255,255,.32);padding:20px 0 0;}
.careers-v3 .career-hero-foot span:last-child {display:flex;align-items:center;gap:12px;}
.careers-v3 .career-hero-foot svg {width:16px;height:16px;}
.careers-v3 .career-hero-main {padding:clamp(85px,11vw,175px) 0;}
.careers-v3 .career-hero-main h1 {margin:20px 0 33px;font:900 clamp(108px,15.6vw,240px)/.81 "Barlow Condensed",sans-serif;letter-spacing:-.035em;text-transform:uppercase;}
.careers-v3 .career-hero-main h1 span {color:#86DEE0;}
.careers-v3 .career-hero-main>p {max-width:590px;color:#f0f5f5;font:400 clamp(16px,1.35vw,20px)/1.75 Inter,sans-serif;}
.careers-v3 .career-hero-button {display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:57px;padding:16px 22px;margin-top:36px;border:1px solid #288c98;background:#157C88;color:#fff;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.065em;text-decoration:none;transition:background .25s;}
.careers-v3 .career-hero-button:hover {background:#116B76;}
.careers-v3 .career-hero-button svg {width:17px;height:17px;}
/* Warm, thoughtful editorial introduction; unlike Home's hard industrial chapter system. */
.careers-v3 .career-intro {background:var(--cr-paper);padding:clamp(98px,11vw,170px) 0;}
.careers-v3 .career-intro-grid {display:grid;grid-template-columns:.96fr 1.04fr;gap:clamp(50px,8vw,132px);align-items:center;}
.careers-v3 .career-intro-copy h2,.careers-v3 .career-openings-head h2 {font:850 clamp(75px,8.2vw,136px)/.91 "Barlow Condensed",sans-serif;letter-spacing:-.022em;margin:22px 0 30px;}
.careers-v3 .career-intro-copy h2 span,.careers-v3 .career-openings-head h2 span {color:var(--cr-teal);}
.careers-v3 .career-intro-copy>p {max-width:570px;color:#475456;font:400 clamp(16px,1.3vw,20px)/1.8 Inter,sans-serif;}
.careers-v3 .career-source-note {margin-top:42px;padding:25px 0 0;border-top:1px solid rgba(21,26,29,.26);}
.careers-v3 .career-source-note span {font:700 10px/1.45 Inter,sans-serif;letter-spacing:.13em;color:var(--cr-teal);}
.careers-v3 .career-source-note p {max-width:540px;margin-top:12px;color:#536165;font:400 clamp(13px,1.06vw,16px)/1.65 Inter,sans-serif;}
.careers-v3 .career-intro-photo {position:relative;margin:0;height:clamp(520px,51vw,765px);overflow:hidden;background:#ccd2cf;border-radius:4px;}
.careers-v3 .career-intro-photo img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 40%;filter:saturate(.86);transition:transform .85s cubic-bezier(.16,1,.3,1);}
.careers-v3 .career-intro-photo figcaption {position:absolute;left:20px;bottom:20px;max-width:calc(100% - 40px);background:rgba(7,16,20,.73);padding:10px 13px;font:700 10px/1.5 Inter,sans-serif;letter-spacing:.08em;color:#fff;}
/* Openings: native details expand without JS; no invented vacancies or titles. */
.careers-v3 .career-openings {background:#e9ebe8;padding:clamp(95px,11vw,175px) 0;scroll-margin-top:80px;}
.careers-v3 .career-openings-head {display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(45px,7vw,115px);align-items:end;margin-bottom:clamp(58px,7vw,95px);}
.careers-v3 .career-openings-head>p {margin-bottom:12px;color:#47565a;font:400 clamp(15px,1.35vw,20px)/1.75 Inter,sans-serif;max-width:515px;}
.careers-v3 .career-openings-list {border-top:1px solid rgba(21,26,29,.3);}
.careers-v3 .career-role {border-bottom:1px solid rgba(21,26,29,.3);color:var(--cr-ink);}
.careers-v3 .career-role summary {list-style:none;}
.careers-v3 .career-role summary::-webkit-details-marker {display:none;}
.careers-v3 .career-role-summary {display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:clamp(20px,3vw,40px);min-height:clamp(172px,20vw,270px);padding:36px 0;cursor:pointer;}
.careers-v3 .career-role-summary:hover .career-role-heading strong {color:var(--cr-teal);}
.careers-v3 .career-role-index {align-self:start;padding-top:15px;color:var(--cr-teal);font:700 12px/1.4 Inter,sans-serif;letter-spacing:.11em;}
.careers-v3 .career-role-heading {display:flex;flex-direction:column;gap:16px;min-width:0;}
.careers-v3 .career-role-heading strong {font:800 clamp(57px,7vw,115px)/.92 "Barlow Condensed",sans-serif;letter-spacing:-.015em;transition:color .2s;text-wrap:balance;}
.careers-v3 .career-role-category {color:#4d5a5c;font:700 11px/1.5 Inter,sans-serif;letter-spacing:.10em;}
.careers-v3 .career-role-expand {display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(21,26,29,.36);border-radius:50%;transition:transform .35s,background .35s,color .35s;}
.careers-v3 .career-role-expand svg {width:22px;height:22px;}
.careers-v3 .career-role[open] .career-role-expand {transform:rotate(45deg);color:#fff;background:var(--cr-teal);}
.careers-v3 .career-role[open] .career-role-summary {padding-bottom:17px;}
.careers-v3 .career-role-detail {padding:10px 0 46px 85px;animation:careerOpen .4s ease-out both;}
.careers-v3 .career-role-facts {display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);padding:24px 0 32px;}
.careers-v3 .career-role-facts>div>span {display:block;color:var(--cr-teal);font:700 10px/1.5 Inter,sans-serif;letter-spacing:.12em;margin-bottom:12px;}
.careers-v3 .career-role-facts p {color:#404e52;font:400 clamp(15px,1.15vw,18px)/1.7 Inter,sans-serif;max-width:540px;}
.careers-v3 .career-role-bottom {display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:22px;border-top:1px solid rgba(21,26,29,.2);}
.careers-v3 .career-role-bottom>span {color:#546368;font:700 10px/1.5 Inter,sans-serif;letter-spacing:.12em;}
.careers-v3 .career-role-bottom>a,.careers-v3 .career-openings-footer>a {display:inline-flex;align-items:center;gap:15px;text-decoration:none;border-bottom:1px solid var(--cr-teal);padding-bottom:9px;color:var(--cr-teal);font:700 11px/1.5 Inter,sans-serif;letter-spacing:.075em;}
.careers-v3 .career-role-bottom svg,.careers-v3 .career-openings-footer svg {width:17px;height:17px;flex-shrink:0;}
.careers-v3 .career-openings-footer {display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:33px;}
.careers-v3 .career-openings-footer>span {font:700 10px/1.55 Inter,sans-serif;letter-spacing:.14em;color:#667275;}
/* Closing application: authentic contact routes only, no pseudo upload. */
.careers-v3 .career-apply {position:relative;isolation:isolate;overflow:hidden;background:var(--cr-ink);color:#fff;padding:clamp(90px,10vw,165px) 0 clamp(115px,11vw,185px);}
.careers-v3 .career-apply-media,.careers-v3 .career-apply-scrim {position:absolute;inset:0;pointer-events:none;}
.careers-v3 .career-apply-media {z-index:0;}
.careers-v3 .career-apply-media img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 46%;filter:saturate(.7);}
.careers-v3 .career-apply-scrim {z-index:1;background:linear-gradient(90deg,rgba(7,15,19,.96),rgba(7,15,19,.82) 50%,rgba(7,15,19,.61)),linear-gradient(0deg,rgba(7,15,19,.65),transparent 36%);}
.careers-v3 .career-apply-main {position:relative;z-index:2;}
.careers-v3 .career-apply-top {display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.3);font:700 10px/1.5 Inter,sans-serif;letter-spacing:.1em;}
.careers-v3 .career-apply-grid {display:grid;grid-template-columns:1fr .92fr;gap:clamp(50px,8vw,135px);align-items:end;padding-top:clamp(90px,10vw,155px);}
.careers-v3 .career-apply-grid h2 {margin:0;font:850 clamp(84px,9.7vw,158px)/.88 "Barlow Condensed",sans-serif;letter-spacing:-.028em;}
.careers-v3 .career-apply-grid h2 span {color:#84E1DD;}
.careers-v3 .career-apply-side>p:first-child {color:#f2f6f6;font:400 clamp(16px,1.33vw,20px)/1.75 Inter,sans-serif;max-width:520px;}
.careers-v3 .career-apply-side>p strong {font-weight:700;}
.careers-v3 .career-action {display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:55px;padding:16px 20px;margin-top:13px;width:min(100%,480px);font:700 12px/1.5 Inter,sans-serif;letter-spacing:.065em;text-decoration:none;}
.careers-v3 .career-action-primary {background:#157C88;border:1px solid #157C88;color:#fff;margin-top:29px;}
.careers-v3 .career-action-primary:hover {background:#116B76;border-color:#116B76;}
.careers-v3 .career-action-outline {border:1px solid rgba(255,255,255,.70);background:rgba(7,15,19,.33);color:#fff;}
.careers-v3 .career-action-outline:hover {background:rgba(255,255,255,.13);}
.careers-v3 .career-action svg {height:18px;width:18px;flex-shrink:0;}
.careers-v3 .career-apply-footnote {margin-top:24px!important;max-width:515px;color:#cbd6d8!important;font:400 11px/1.65 Inter,sans-serif!important;}
.careers-v3 .career-photo-disclosure {margin:0;background:var(--cr-ink);padding:0 24px 26px;text-align:center;color:#b6c5c8;font:400 10px/1.5 Inter,sans-serif;}
.careers-v3 summary:focus-visible,.careers-v3 a:focus-visible {outline:3px solid #67CCD2;outline-offset:5px;}
@keyframes careerOpen {from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.careers-v3 .career-intro-photo:hover img {transform:scale(1.035);}}
@media(max-width:1100px) {
 .careers-v3 .career-frame {width:calc(100% - 58px);}
 .careers-v3 .career-hero-main h1 {font-size:clamp(99px,15vw,170px);}
 .careers-v3 .career-intro-copy h2,.careers-v3 .career-openings-head h2 {font-size:clamp(69px,8vw,95px);}
 .careers-v3 .career-role-heading strong {font-size:clamp(55px,7vw,85px);}
 .careers-v3 .career-apply-grid h2 {font-size:clamp(85px,9.7vw,118px);}
}
@media(max-width:767px) {
 .careers-v3 .career-frame {width:calc(100% - 40px);}
 .careers-v3 .career-hero {min-height:clamp(680px,92svh,840px);}
 .careers-v3 .career-hero-inner {padding:26px 0;}
 .careers-v3 .career-hero-strap,.careers-v3 .career-hero-foot {font-size:9px;letter-spacing:.06em;}
 .careers-v3 .career-hero-strap span:last-child,.careers-v3 .career-hero-foot span:first-child {display:none;}
 .careers-v3 .career-hero-media img {object-position:61% center;}
 .careers-v3 .career-hero-scrim {background:linear-gradient(90deg,rgba(7,16,20,.85),rgba(7,16,20,.46)),linear-gradient(0deg,rgba(7,16,20,.73),transparent 42%);}
 .careers-v3 .career-hero-main {padding:70px 0;}
 .careers-v3 .career-hero-main h1 {font-size:clamp(89px,21vw,156px);margin:24px 0 25px;}
 .careers-v3 .career-hero-main>p {font-size:15px;}
 .careers-v3 .career-hero-button {font-size:11px;}
 .careers-v3 .career-intro {padding:80px 0;}
 .careers-v3 .career-intro-grid,.careers-v3 .career-openings-head,.careers-v3 .career-apply-grid {grid-template-columns:1fr;gap:33px;}
 .careers-v3 .career-intro-copy h2,.careers-v3 .career-openings-head h2 {font-size:clamp(67px,15vw,106px);}
 .careers-v3 .career-intro-copy>p {font-size:15px;}
 .careers-v3 .career-source-note {margin-top:33px;}
 .careers-v3 .career-intro-photo {height:clamp(390px,110vw,550px);}
 .careers-v3 .career-openings {padding:84px 0;}
 .careers-v3 .career-openings-head {margin-bottom:40px;gap:19px;}
 .careers-v3 .career-openings-head>p {font-size:15px;}
 .careers-v3 .career-role-summary {grid-template-columns:25px minmax(0,1fr) 40px;gap:10px;min-height:145px;padding:27px 0;}
 .careers-v3 .career-role-index {font-size:10px;padding-top:8px;}
 .careers-v3 .career-role-heading {gap:9px;}
 .careers-v3 .career-role-heading strong {font-size:clamp(42px,9.5vw,67px);}
 .careers-v3 .career-role-category {font-size:9px;letter-spacing:.07em;}
 .careers-v3 .career-role-expand {height:38px;width:38px;}
 .careers-v3 .career-role-expand svg {height:18px;width:18px;}
 .careers-v3 .career-role-detail {padding:4px 0 35px;}
 .careers-v3 .career-role-facts {grid-template-columns:1fr;gap:24px;padding:18px 0 26px;}
 .careers-v3 .career-role-facts p {font-size:15px;}
 .careers-v3 .career-role-bottom {flex-direction:column;align-items:flex-start;gap:19px;}
 .careers-v3 .career-openings-footer {align-items:flex-start;flex-direction:column;gap:15px;}
 .careers-v3 .career-apply {padding:85px 0 110px;}
 .careers-v3 .career-apply-top span:last-child {display:none;}
 .careers-v3 .career-apply-grid {padding-top:74px;}
 .careers-v3 .career-apply-grid h2 {font-size:clamp(85px,19vw,125px);}
 .careers-v3 .career-apply-side>p:first-child {font-size:16px;}
 .careers-v3 .career-apply-media img {object-position:56% center;}
 .careers-v3 .career-apply-scrim {background:linear-gradient(90deg,rgba(7,15,19,.86),rgba(7,15,19,.71)),linear-gradient(0deg,rgba(7,15,19,.72),transparent 60%);}
}
@media(max-width:375px) {
 .careers-v3 .career-hero-main h1 {font-size:90px;}
 .careers-v3 .career-role-heading strong {font-size:43px;}
 .careers-v3 .career-intro-copy h2,.careers-v3 .career-openings-head h2 {font-size:67px;}
 .careers-v3 .career-apply-grid h2 {font-size:83px;}
}
@media(prefers-reduced-motion:reduce) {
 .careers-v3 .career-role-detail {animation:none;}
 .careers-v3 .career-role-expand,.careers-v3 .career-role-heading strong,.careers-v3 .career-intro-photo img {transition:none!important;}
}


/* ===== CAREERS / PREMIUM NATIVE APPLICATION FORM =====
   In-site file picker and structured candidature. No transmission until a
   verified, approved secure endpoint is configured; no ID upload in public demo. */
.careers-v3 .career-application {
  background:#F3F2EF;
  color:#151A1D;
  padding:clamp(92px,10vw,165px) 0 clamp(95px,10vw,155px);
  scroll-margin-top:85px;
}
.careers-v3 .career-application-heading {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(35px,7vw,110px);
  align-items:end;
  margin-bottom:clamp(55px,7vw,95px);
}
.careers-v3 .career-application-heading h2 {
  margin:22px 0 0;
  font:900 clamp(82px,10vw,160px)/.89 "Barlow Condensed",sans-serif;
  letter-spacing:-.025em;
}
.careers-v3 .career-application-heading h2 span {color:#116B76;}
.careers-v3 .career-application-heading>div:last-child>p:first-child {
  max-width:500px;
  margin-bottom:22px;
  color:#465558;
  font:400 clamp(16px,1.35vw,20px)/1.75 Inter,sans-serif;
}
.careers-v3 .career-privacy-preview {
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:560px;
  padding:15px 17px;
  background:#e0ebe8;
  border-left:3px solid #116B76;
  color:#2b474b;
  font:400 12px/1.6 Inter,sans-serif;
}
.careers-v3 .career-privacy-preview svg {width:20px;height:20px;flex:0 0 20px;margin-top:1px;}
.careers-v3 .career-application-grid {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(275px,.75fr);
  align-items:start;
  gap:clamp(40px,5.4vw,86px);
}
.careers-v3 .career-application-form {
  min-width:0;
  border-top:2px solid #151A1D;
  padding-top:17px;
}
.careers-v3 .career-form-head {
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  font:700 10px/1.5 Inter,sans-serif;letter-spacing:.13em;
  color:#566568;
}
.careers-v3 .career-form-head>span:first-child {color:#116B76;}
.careers-v3 .career-form-group {
  display:block;min-width:0;margin:0;padding:clamp(37px,4vw,60px) 0;
  border:0;border-bottom:1px solid rgba(21,26,29,.22);
}
.careers-v3 .career-form-group legend {
  float:left;width:100%;margin:0 0 25px;padding:0;
  font:800 clamp(19px,2vw,26px)/1.3 Inter,sans-serif;
  letter-spacing:-.015em;color:#151A1D;
}
.careers-v3 .career-form-group legend+* {clear:both;}
.careers-v3 .career-field-row {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-bottom:21px;
}
.careers-v3 .career-field-row:last-child {margin-bottom:0;}
.careers-v3 .career-field {display:flex;flex-direction:column;gap:9px;min-width:0;}
.careers-v3 .career-field>span {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.11em;color:#435154;}
.careers-v3 .career-field b,.careers-v3 .career-file-zone b,.careers-v3 .career-form-consent b {color:#116B76;}
.careers-v3 .career-field input,
.careers-v3 .career-field select,
.careers-v3 .career-field textarea {
  display:block;
  width:100%;
  min-width:0;
  min-height:56px;
  margin:0;
  padding:15px 17px;
  border:1px solid #b9c1bf;
  border-radius:0;
  background:#fff;
  color:#172226;
  font:400 14px/1.45 Inter,sans-serif;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.careers-v3 .career-field select {appearance:auto;cursor:pointer;}
.careers-v3 .career-field textarea {resize:vertical;min-height:115px;}
.careers-v3 .career-field input::placeholder,
.careers-v3 .career-field textarea::placeholder {color:#697578;}
.careers-v3 .career-field input:focus,
.careers-v3 .career-field select:focus,
.careers-v3 .career-field textarea:focus {
  border-color:#116B76;
  box-shadow:0 0 0 2px rgba(17,107,118,.18);
}
.careers-v3 .career-form-uploads {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.careers-v3 .career-file-zone {
  display:flex;
  flex-direction:column;
  position:relative;
  min-width:0;
  background:#fff;
  border:1px dashed #839c9c;
  color:#151A1D;
  transition:background .25s,border-color .25s;
}
.careers-v3 .career-file-zone:hover,.careers-v3 .career-file-zone.is-dragover {
  background:#e7f0ee;border-color:#116B76;
}
.careers-v3 .career-file-zone:focus-within {outline:3px solid #116B76;outline-offset:3px;}
.careers-v3 .career-file-zone input[type=file] {
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:0;
  opacity:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.careers-v3 .career-file-zone label {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
  min-height:232px;
  padding:27px clamp(18px,2vw,29px) 21px;
  cursor:pointer;
}
.careers-v3 .career-file-zone label svg {width:32px;height:32px;color:#116B76;stroke-width:1.6;}
.careers-v3 .career-file-zone label strong {font:800 clamp(16px,1.2vw,19px)/1.28 Inter,sans-serif;}
.careers-v3 .career-file-zone label>span {font:400 13px/1.45 Inter,sans-serif;color:#455457;}
.careers-v3 .career-file-zone label small {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.08em;color:#5c696a;}
.careers-v3 .career-file-name {
  margin-top:auto;
  min-height:43px;
  padding:11px 15px;
  border-top:1px solid #d9e1df;
  color:#116B76;
  font:700 11px/1.5 Inter,sans-serif;
  overflow-wrap:anywhere;
  background:rgba(230,241,239,.5);
}
.careers-v3 .career-form-warning {display:flex;align-items:flex-start;gap:10px;margin-top:19px;color:#4a595c;font:400 12px/1.7 Inter,sans-serif;}
.careers-v3 .career-form-warning svg {width:20px;height:20px;flex:0 0 20px;color:#116B76;margin-top:1px;}
.careers-v3 .career-form-consent {padding:30px 0 24px;}
.careers-v3 .career-form-consent label {display:flex;align-items:flex-start;gap:13px;cursor:pointer;color:#465458;font:400 13px/1.65 Inter,sans-serif;}
.careers-v3 .career-form-consent input {appearance:auto;width:18px;height:18px;flex:0 0 18px;margin:4px 0 0;accent-color:#116B76;}
.careers-v3 .career-form-submit {
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  width:100%;
  min-height:66px;
  padding:19px 24px;
  background:#116B76;
  color:#fff;
  border:1px solid #116B76;
  font:800 12px/1.5 Inter,sans-serif;letter-spacing:.085em;
  cursor:pointer;
  transition:background .24s;
}
.careers-v3 .career-form-submit:hover,.careers-v3 .career-form-submit:focus-visible {background:#0b4f5a;}
.careers-v3 .career-form-submit:disabled {opacity:.65;cursor:wait;}
.careers-v3 .career-form-submit svg {width:19px;height:19px;flex:0 0 19px;}
.careers-v3 .career-form-status {min-height:48px;margin:14px 0 0;color:#455458;font:400 12px/1.65 Inter,sans-serif;}
.careers-v3 .career-form-status[data-state="error"] {color:#9d3838;font-weight:600;}
.careers-v3 .career-form-status[data-state="success"] {color:#116B76;font-weight:600;}
.careers-v3 .career-application-aside {position:sticky;top:95px;min-width:0;}
.careers-v3 .career-application-photo {position:relative;overflow:hidden;margin:0;height:clamp(440px,48vw,650px);background:#cad4d3;}
.careers-v3 .career-application-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:47% 50%;filter:saturate(.87);}
.careers-v3 .career-application-photo figcaption {position:absolute;left:19px;bottom:19px;padding:10px 12px;max-width:calc(100% - 38px);color:#fff;background:rgba(13,23,27,.77);font:700 9px/1.5 Inter,sans-serif;letter-spacing:.08em;}
.careers-v3 .career-aside-info {background:#172126;color:#fff;padding:clamp(31px,3vw,48px);}
.careers-v3 .career-aside-info>span {display:block;margin-bottom:27px;color:#84d7d6;font:700 10px/1.5 Inter,sans-serif;letter-spacing:.16em;}
.careers-v3 .career-aside-info p {color:#e1e9e9;font:400 14px/1.8 Inter,sans-serif;margin-bottom:18px;}
.careers-v3 .career-aside-info p:last-child {margin-bottom:0;}
.careers-v3 .career-role-bottom>a {text-decoration:none;}
.careers-v3 .career-openings-footer>a {text-decoration:none;}
@media(max-width:1100px) {
 .careers-v3 .career-application-grid {grid-template-columns:minmax(0,1fr) minmax(230px,.72fr);gap:30px;}
 .careers-v3 .career-application-aside {top:74px;}
 .careers-v3 .career-file-zone label {min-height:226px;padding:22px 15px;}
 .careers-v3 .career-file-zone label strong {font-size:15px;}
}
@media(max-width:899px){
 .careers-v3 .career-application-grid {grid-template-columns:1fr;gap:45px;}
 .careers-v3 .career-application-aside {position:static;}
 .careers-v3 .career-application-photo {height:420px;}
 .careers-v3 .career-application-heading {gap:22px;}
}
@media(max-width:767px){
 .careers-v3 .career-application {padding:85px 0 95px;scroll-margin-top:72px;}
 .careers-v3 .career-application-heading {grid-template-columns:1fr;margin-bottom:47px;}
 .careers-v3 .career-application-heading h2 {font-size:clamp(73px,15vw,110px);}
 .careers-v3 .career-application-heading>div:last-child>p:first-child {font-size:15px;}
 .careers-v3 .career-field-row {grid-template-columns:1fr;gap:19px;}
 .careers-v3 .career-form-group legend {font-size:20px;}
 .careers-v3 .career-form-uploads {grid-template-columns:1fr;}
 .careers-v3 .career-file-zone label {min-height:185px;padding:25px 22px;}
 .careers-v3 .career-application-photo {height:clamp(350px,95vw,490px);}
 .careers-v3 .career-aside-info {padding:30px 25px;}
 .careers-v3 .career-form-submit {font-size:11px;padding:17px 18px;min-height:60px;}
}
@media(max-width:375px){
 .careers-v3 .career-application-heading h2 {font-size:71px;}
 .careers-v3 .career-form-head {font-size:9px;}
 .careers-v3 .career-form-warning {font-size:11px;}
}
@media(prefers-reduced-motion:reduce) {
 .careers-v3 .career-file-zone,.careers-v3 .career-form-submit,
 .careers-v3 .career-field input,.careers-v3 .career-field select,.careers-v3 .career-field textarea {transition:none!important;}
}


/* ===== CONTACT V3 / EDITORIAL ARCHITECTURE =====
   All contact facts are source-grounded; photography is illustrative.
   Natural vertical scroll, no animation-dependent text visibility. */
.contact-v3 {
  --ct-ink:#151A1D;
  --ct-paper:#F3F2EF;
  --ct-teal:#116B76;
  --ct-cyan:#79DFE0;
  color:var(--ct-ink);
  background:var(--ct-paper);
  overflow:visible;
}
.contact-v3 .ct-frame {width:min(calc(100% - 92px),1380px);margin-inline:auto;}
.contact-v3 .ct-eyebrow {display:block;color:var(--ct-cyan);font:700 11px/1.5 Inter,sans-serif;letter-spacing:.17em;text-transform:uppercase;}
.contact-v3 .ct-eyebrow-dark {color:var(--ct-teal);}
.contact-v3 .ct-hero {
  position:relative;
  isolation:isolate;
  min-height:clamp(680px,92svh,970px);
  background:#121B20;
  color:#fff;
  overflow:hidden;
}
.contact-v3 .ct-hero-photo,
.contact-v3 .ct-hero-shade {position:absolute;inset:0;pointer-events:none;}
.contact-v3 .ct-hero-photo {z-index:0;overflow:hidden;}
.contact-v3 .ct-hero-photo img {
  width:100%;height:100%;display:block;object-fit:cover;
  object-position:50% 46%;filter:saturate(.77) contrast(1.07);
}
.contact-v3 .ct-hero-shade {
  z-index:1;
  background:linear-gradient(90deg,rgba(6,15,19,.94),rgba(7,17,22,.63) 56%,rgba(9,18,21,.22)),
    linear-gradient(0deg,rgba(7,17,22,.78),transparent 44%);
}
.contact-v3 .ct-hero-inner {
  position:relative;
  z-index:2;
  min-height:inherit;
  padding:32px 0 26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.contact-v3 .ct-hero-top,
.contact-v3 .ct-hero-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 0 19px;
  border-bottom:1px solid rgba(255,255,255,.33);
  font:700 10px/1.5 Inter,sans-serif;
  letter-spacing:.13em;
  color:#e5eeee;
}
.contact-v3 .ct-hero-bottom {padding:19px 0 0;border:0;border-top:1px solid rgba(255,255,255,.33);}
.contact-v3 .ct-hero-bottom span:last-child {display:inline-flex;align-items:center;gap:10px;}
.contact-v3 .ct-hero-bottom svg {width:16px;height:16px;}
.contact-v3 .ct-hero-main {padding:clamp(90px,11vw,175px) 0;max-width:1160px;}
.contact-v3 .ct-hero-main h1 {
  font:900 clamp(115px,15.8vw,240px)/.83 "Barlow Condensed",sans-serif;
  letter-spacing:-.03em;
  text-transform:uppercase;
  margin:24px 0 30px;
}
.contact-v3 .ct-hero-main h1 span {color:#79DFE0;}
.contact-v3 .ct-hero-main>p {max-width:605px;color:#f0f4f5;font:400 clamp(16px,1.32vw,20px)/1.75 Inter,sans-serif;}
.contact-v3 .ct-hero-link {
  display:inline-flex;align-items:center;justify-content:space-between;gap:28px;
  margin-top:35px;
  padding:16px 21px;min-height:58px;
  border:1px solid #157C88;background:#157C88;color:white;
  font:700 12px/1.45 Inter,sans-serif;letter-spacing:.085em;
  text-decoration:none;transition:background .25s;
}
.contact-v3 .ct-hero-link:hover {background:#116B76;}
.contact-v3 .ct-hero-link svg {width:18px;height:18px;}
/* Direct methods: one architectural roster, not cards. */
.contact-v3 .ct-direct {background:var(--ct-paper);padding:clamp(110px,11vw,172px) 0 clamp(90px,9vw,138px);}
.contact-v3 .ct-direct-head {display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:45px;margin-bottom:clamp(54px,7vw,100px);}
.contact-v3 .ct-direct-head>.ct-eyebrow {grid-column:1/-1;}
.contact-v3 .ct-direct-head h2 {
  font:900 clamp(75px,9.1vw,148px)/.9 "Barlow Condensed",sans-serif;
  letter-spacing:-.02em;margin:20px 0 0;
}
.contact-v3 .ct-direct-head h2 span {color:var(--ct-teal);}
.contact-v3 .ct-direct-head>p {
  color:#47565A;
  max-width:490px;
  margin-bottom:10px;
  font:400 clamp(16px,1.3vw,20px)/1.72 Inter,sans-serif;
}
.contact-v3 .ct-methods {border-top:1px solid rgba(21,26,29,.28);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.contact-v3 .ct-method {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:55px;
  min-height:265px;
  padding:25px 25px 35px 0;
  color:var(--ct-ink);
  text-decoration:none;
  border-bottom:1px solid rgba(21,26,29,.28);
  border-right:1px solid rgba(21,26,29,.22);
  transition:padding-left .3s,background .3s;
}
.contact-v3 .ct-method:not(:first-child) {padding-left:26px;}
.contact-v3 .ct-method:last-child {border-right:0;}
.contact-v3 .ct-method:hover {background:rgba(17,107,118,.055);padding-left:16px;}
.contact-v3 .ct-method:not(:first-child):hover {padding-left:38px;}
.contact-v3 .ct-method-num {color:var(--ct-teal);font:700 11px/1.5 Inter,sans-serif;letter-spacing:.12em;}
.contact-v3 .ct-method>div {display:flex;flex-direction:column;gap:11px;min-width:0;}
.contact-v3 .ct-method strong {
  min-width:0;
  font:800 clamp(26px,3.2vw,51px)/1.0 "Barlow Condensed",sans-serif;
  letter-spacing:.005em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.contact-v3 .ct-method>div>span {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.09em;color:#4d5e61;}
.contact-v3 .ct-method>svg {position:absolute;top:22px;right:24px;width:21px;height:21px;color:var(--ct-teal);}
/* Generous form on quiet neutral background. */
.contact-v3 .ct-inquiry {background:#e6ebe8;padding:clamp(105px,11vw,175px) 0;scroll-margin-top:80px;}
.contact-v3 .ct-inquiry-grid {display:grid;grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(55px,8vw,140px);}
.contact-v3 .ct-inquiry-intro {position:sticky;top:110px;}
.contact-v3 .ct-inquiry-intro h2 {
  font:900 clamp(71px,7.4vw,120px)/.89 "Barlow Condensed",sans-serif;
  letter-spacing:-.025em;
  margin:25px 0 33px;
}
.contact-v3 .ct-inquiry-intro h2 span {color:var(--ct-teal);}
.contact-v3 .ct-inquiry-intro>p {max-width:490px;color:#465356;font:400 clamp(15px,1.26vw,19px)/1.8 Inter,sans-serif;}
.contact-v3 .ct-inquiry-guidance {display:flex;flex-direction:column;gap:16px;margin-top:56px;padding-top:25px;border-top:1px solid #b4c1be;}
.contact-v3 .ct-inquiry-guidance>span {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.13em;color:var(--ct-teal);margin-bottom:9px;}
.contact-v3 .ct-inquiry-guidance a {display:flex;align-items:center;justify-content:space-between;gap:14px;color:#151A1D;text-decoration:none;font:700 clamp(17px,1.6vw,22px)/1.3 Inter,sans-serif;overflow-wrap:anywhere;}
.contact-v3 .ct-inquiry-guidance svg {width:19px;height:19px;flex-shrink:0;color:var(--ct-teal);}
.contact-v3 .ct-form-shell {min-width:0;background:#fff;border-top:4px solid #116B76;padding:clamp(30px,4vw,63px);box-shadow:0 18px 55px rgba(9,22,26,.06);}
.contact-v3 .ct-form-heading {display:flex;justify-content:space-between;gap:20px;padding-bottom:38px;border-bottom:1px solid #ccd5d2;margin-bottom:33px;}
.contact-v3 .ct-form-heading strong {font:800 12px/1.5 Inter,sans-serif;letter-spacing:.12em;color:#116B76;}
.contact-v3 .ct-form-heading>span {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.08em;color:#536063;}
.contact-v3 .ct-form-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin-bottom:21px;}
.contact-v3 .ct-field {display:flex;flex-direction:column;gap:9px;min-width:0;}
.contact-v3 .ct-field>span {font:700 11px/1.5 Inter,sans-serif;letter-spacing:.1em;color:#39494d;}
.contact-v3 .ct-field b {color:#116B76;}
.contact-v3 .ct-field input,.contact-v3 .ct-field textarea {
  display:block;width:100%;min-width:0;min-height:58px;
  margin:0;padding:16px 18px;border:1px solid #c3ceca;
  border-radius:0;background:#F9FAF8;color:#151A1D;
  font:400 15px/1.5 Inter,sans-serif;outline:none;
  transition:border-color .22s,box-shadow .22s;
}
.contact-v3 .ct-field input::placeholder,.contact-v3 .ct-field textarea::placeholder {color:#737f80;}
.contact-v3 .ct-field textarea {min-height:165px;resize:vertical;}
.contact-v3 .ct-field input:focus,.contact-v3 .ct-field textarea:focus {border-color:#116B76;box-shadow:0 0 0 2px rgba(17,107,118,.18);}
.contact-v3 .ct-field-message {margin-top:4px;}
.contact-v3 .ct-form-bottom {margin-top:32px;}
.contact-v3 .ct-form-bottom>p:first-child,.contact-v3 .ct-form-status {font:400 12px/1.7 Inter,sans-serif;color:#4c5a5c;}
.contact-v3 .ct-form-button {
  margin:24px 0 0;padding:19px 22px;min-height:62px;
  display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;
  background:#116B76;border:1px solid #116B76;color:#fff;cursor:pointer;
  font:800 12px/1.5 Inter,sans-serif;letter-spacing:.08em;
  transition:background .25s;
}
.contact-v3 .ct-form-button:hover,.contact-v3 .ct-form-button:focus-visible {background:#0b5058;}
.contact-v3 .ct-form-button svg {width:18px;height:18px;}
.contact-v3 .ct-form-button:disabled {opacity:.65;cursor:wait;}
.contact-v3 .ct-form-status {min-height:45px;margin-top:13px!important;}
.contact-v3 .ct-form-status[data-state="error"] {color:#a83232;font-weight:600;}
.contact-v3 .ct-form-status[data-state="success"] {color:#116B76;font-weight:600;}
/* Full-bleed office direction chapter; office is text address, not photo attribution. */
.contact-v3 .ct-location {display:grid;grid-template-columns:1.05fr .95fr;min-height:clamp(590px,60vw,820px);background:#151A1D;color:#fff;}
.contact-v3 .ct-location-photo {position:relative;margin:0;min-width:0;overflow:hidden;background:#31484a;}
.contact-v3 .ct-location-photo img {display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.8) contrast(1.05);}
.contact-v3 .ct-location-photo figcaption {position:absolute;bottom:23px;left:27px;max-width:calc(100% - 54px);background:rgba(11,23,26,.76);padding:9px 12px;color:#fff;font:700 10px/1.5 Inter,sans-serif;letter-spacing:.075em;}
.contact-v3 .ct-location-copy {display:flex;align-items:center;min-width:0;padding:clamp(55px,6.8vw,105px);}
.contact-v3 .ct-location-inner {width:100%;max-width:600px;}
.contact-v3 .ct-location h2 {margin:22px 0 30px;font:900 clamp(88px,9.5vw,155px)/.86 "Barlow Condensed",sans-serif;letter-spacing:-.025em;}
.contact-v3 .ct-location h2 span {color:#7DDEE0;}
.contact-v3 .ct-location-inner>p {color:#f1f5f5;font:400 clamp(18px,1.65vw,24px)/1.7 Inter,sans-serif;}
.contact-v3 .ct-directions-link {display:inline-flex;gap:26px;align-items:center;justify-content:space-between;min-height:55px;margin-top:32px;padding:16px 20px;background:#157C88;color:#fff;font:700 12px/1.45 Inter,sans-serif;letter-spacing:.08em;text-decoration:none;}
.contact-v3 .ct-directions-link:hover {background:#116B76;}
.contact-v3 .ct-directions-link svg {width:18px;height:18px;}
.contact-v3 .ct-location-contact {display:flex;gap:15px;flex-wrap:wrap;margin-top:42px;padding-top:24px;border-top:1px solid rgba(255,255,255,.31);}
.contact-v3 .ct-location-contact a {font:600 14px/1.4 Inter,sans-serif;color:#eef8f8;text-decoration:none;overflow-wrap:anywhere;}
.contact-v3 .ct-photo-notice {text-align:center;margin:0;background:#151A1D;color:#b5c3c5;padding:0 20px 27px;font:400 11px/1.65 Inter,sans-serif;}
.contact-v3 a:focus-visible,.contact-v3 button:focus-visible {outline:3px solid #89E4E5;outline-offset:3px;}
@media(max-width:1100px) {
 .contact-v3 .ct-frame {width:calc(100% - 60px);}
 .contact-v3 .ct-method strong {font-size:clamp(25px,3.15vw,40px);}
 .contact-v3 .ct-inquiry-grid {grid-template-columns:.75fr 1.25fr;gap:35px;}
 .contact-v3 .ct-inquiry-intro h2 {font-size:clamp(66px,7.7vw,95px);}
 .contact-v3 .ct-form-shell {padding:30px;}
 .contact-v3 .ct-location-copy {padding:45px;}
}
@media(max-width:767px) {
 .contact-v3 .ct-frame {width:calc(100% - 40px);}
 .contact-v3 .ct-hero {min-height:clamp(655px,90svh,820px);}
 .contact-v3 .ct-hero-inner {padding:24px 0;}
 .contact-v3 .ct-hero-top,.contact-v3 .ct-hero-bottom {font-size:9px;}
 .contact-v3 .ct-hero-top span:last-child,.contact-v3 .ct-hero-bottom span:first-child {display:none;}
 .contact-v3 .ct-hero-main {padding:68px 0;}
 .contact-v3 .ct-hero-main h1 {font-size:clamp(95px,21vw,165px);margin:25px 0 26px;}
 .contact-v3 .ct-hero-main>p {font-size:15px;line-height:1.8;}
 .contact-v3 .ct-hero-photo img {object-position:62% center;}
 .contact-v3 .ct-hero-shade {background:linear-gradient(90deg,rgba(6,15,19,.88),rgba(7,17,22,.49)),linear-gradient(0deg,rgba(7,17,22,.75),transparent 50%);}
 .contact-v3 .ct-direct {padding:85px 0;}
 .contact-v3 .ct-direct-head {display:block;margin-bottom:45px;}
 .contact-v3 .ct-direct-head h2 {font-size:clamp(77px,16vw,115px);}
 .contact-v3 .ct-direct-head>p {font-size:15px;margin-top:28px;}
 .contact-v3 .ct-methods {grid-template-columns:1fr;}
 .contact-v3 .ct-method,.contact-v3 .ct-method:not(:first-child) {min-height:145px;padding:20px 35px 22px 0;border-right:0;gap:18px;}
 .contact-v3 .ct-method:hover,.contact-v3 .ct-method:not(:first-child):hover {padding-left:10px;}
 .contact-v3 .ct-method strong {font-size:clamp(30px,7.6vw,47px);}
 .contact-v3 .ct-method>svg {right:4px;top:23px;}
 .contact-v3 .ct-inquiry {padding:84px 0;scroll-margin-top:70px;}
 .contact-v3 .ct-inquiry-grid {grid-template-columns:1fr;gap:49px;}
 .contact-v3 .ct-inquiry-intro {position:static;}
 .contact-v3 .ct-inquiry-intro h2 {font-size:clamp(70px,14vw,110px);}
 .contact-v3 .ct-inquiry-intro>p {font-size:15px;}
 .contact-v3 .ct-inquiry-guidance {margin-top:28px;}
 .contact-v3 .ct-form-shell {padding:28px 21px;}
 .contact-v3 .ct-form-row {grid-template-columns:1fr;gap:19px;}
 .contact-v3 .ct-form-heading {padding-bottom:25px;margin-bottom:27px;}
 .contact-v3 .ct-field input,.contact-v3 .ct-field textarea {font-size:16px;}
 .contact-v3 .ct-location {grid-template-columns:1fr;}
 .contact-v3 .ct-location-photo {height:clamp(370px,96vw,570px);}
 .contact-v3 .ct-location-photo img {position:static;}
 .contact-v3 .ct-location-copy {padding:84px 20px;}
 .contact-v3 .ct-location h2 {font-size:clamp(100px,19vw,155px);}
 .contact-v3 .ct-photo-notice {font-size:10px;}
}
@media(max-width:375px) {
 .contact-v3 .ct-hero-main h1 {font-size:94px;}
 .contact-v3 .ct-direct-head h2 {font-size:73px;}
 .contact-v3 .ct-inquiry-intro h2 {font-size:65px;}
 .contact-v3 .ct-method strong {font-size:29px;}
 .contact-v3 .ct-form-shell {padding:24px 16px;}
}
@media(prefers-reduced-motion:reduce) {
 .contact-v3 .ct-hero-link,.contact-v3 .ct-form-button,
 .contact-v3 .ct-method,.contact-v3 .ct-field input,.contact-v3 .ct-field textarea {transition:none!important;}
}


/* ===== POLICY V1 / EDITORIAL LEGAL REFERENCE =====
   Independent demo transparency; not a company-approved legal policy. */
.policy-v1 {--pol-ink:#151A1D;--pol-paper:#F3F2EF;--pol-teal:#116B76;color:var(--pol-ink);background:var(--pol-paper);overflow:visible;}
.policy-v1 .policy-frame {width:min(calc(100% - 92px),1380px);margin-inline:auto;}
.policy-v1 .policy-hero {background:#151A1D;color:#fff;padding:31px 0 29px;}
.policy-v1 .policy-hero-line,.policy-v1 .policy-hero-foot {display:flex;justify-content:space-between;gap:20px;align-items:center;color:#d4e1e3;font:700 10px/1.55 Inter,sans-serif;letter-spacing:.14em;}
.policy-v1 .policy-hero-line {padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.25);}
.policy-v1 .policy-kicker {display:block;margin-top:clamp(85px,10vw,150px);font:700 11px/1.5 Inter,sans-serif;letter-spacing:.16em;color:#89DCDC;}
.policy-v1 .policy-hero h1 {margin:24px 0 30px;font:900 clamp(110px,13.2vw,215px)/.85 "Barlow Condensed",sans-serif;letter-spacing:-.026em;}
.policy-v1 .policy-hero h1 span {color:#83DDDB;}
.policy-v1 .policy-hero p {max-width:690px;color:#e0eaeb;font:400 clamp(16px,1.35vw,20px)/1.7 Inter,sans-serif;}
.policy-v1 .policy-draft {display:inline-flex;gap:12px;align-items:center;max-width:780px;margin-top:38px;padding:15px 18px;background:rgba(117,210,213,.12);border:1px solid rgba(117,210,213,.4);color:#e3f6f4;font:700 11px/1.55 Inter,sans-serif;letter-spacing:.065em;}
.policy-v1 .policy-draft svg {width:20px;height:20px;flex:0 0 20px;}
.policy-v1 .policy-hero-foot {margin-top:clamp(95px,9vw,145px);padding-top:19px;border-top:1px solid rgba(255,255,255,.25);}
.policy-v1 .policy-body {padding:clamp(85px,10vw,155px) 0;}
.policy-v1 .policy-layout {display:grid;grid-template-columns:minmax(225px,.72fr) minmax(0,1.8fr);gap:clamp(55px,8vw,140px);align-items:start;}
.policy-v1 .policy-toc {position:sticky;top:108px;display:flex;flex-direction:column;gap:0;border-top:2px solid var(--pol-teal);}
.policy-v1 .policy-toc>span {padding:24px 0 18px;font:800 10px/1.4 Inter,sans-serif;letter-spacing:.15em;color:var(--pol-teal);}
.policy-v1 .policy-toc a {display:block;padding:14px 4px;border-bottom:1px solid rgba(21,26,29,.16);color:#3d4f53;text-decoration:none;font:700 12px/1.4 Inter,sans-serif;transition:padding-left .2s,color .2s;}
.policy-v1 .policy-toc a:hover,.policy-v1 .policy-toc a:focus-visible {padding-left:10px;color:var(--pol-teal);}
.policy-v1 .policy-toc>p {padding-top:25px;max-width:290px;color:#657276;font:400 12px/1.7 Inter,sans-serif;}
.policy-v1 .policy-article {min-width:0;}
.policy-v1 .policy-chapter {padding:0 0 clamp(65px,7vw,115px);margin-bottom:clamp(64px,7vw,110px);border-bottom:1px solid rgba(21,26,29,.19);scroll-margin-top:100px;}
.policy-v1 .policy-chapter:last-child {border-bottom:0;margin-bottom:0;padding-bottom:0;}
.policy-v1 .policy-chapter-number {font:800 10px/1.5 Inter,sans-serif;letter-spacing:.15em;color:var(--pol-teal);}
.policy-v1 .policy-chapter h2 {margin:20px 0 34px;font:850 clamp(56px,6.3vw,102px)/.93 "Barlow Condensed",sans-serif;letter-spacing:-.017em;text-transform:uppercase;text-wrap:balance;}
.policy-v1 .policy-chapter p,.policy-v1 .policy-chapter li {max-width:830px;margin:0 0 20px;color:#404d50;font:400 clamp(15px,1.13vw,18px)/1.85 Inter,sans-serif;overflow-wrap:break-word;}
.policy-v1 .policy-chapter p:last-child {margin-bottom:0;}
.policy-v1 .policy-chapter strong {font-weight:700;color:#1e3337;}
.policy-v1 .policy-chapter a {color:#116B76;text-underline-offset:5px;}
.policy-v1 .policy-chapter ul {margin:20px 0 25px;padding-left:25px;}
.policy-v1 .policy-chapter li {padding-left:6px;margin:0 0 11px;}
.policy-v1 .policy-contact-details {display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:25px 0;border-top:1px solid rgba(21,26,29,.21);}
.policy-v1 .policy-contact-details a {font:800 clamp(17px,2vw,26px)/1.3 Inter,sans-serif;overflow-wrap:anywhere;text-decoration:none;}
.policy-v1 .policy-contact-details p {margin:0;}
.policy-v1 .policy-return {display:inline-flex;align-items:center;gap:22px;margin-top:25px;padding:16px 20px;background:#116B76;color:#fff!important;font:700 12px/1.5 Inter,sans-serif;text-decoration:none;letter-spacing:.09em;}
.policy-v1 .policy-return:hover {background:#0e5059;}
.policy-v1 .policy-return svg {width:18px;height:18px;}
.policy-v1 .policy-end {background:#dbe7e4;padding:28px 0;}
.policy-v1 .policy-end>.policy-frame {display:flex;justify-content:space-between;align-items:center;gap:20px;}
.policy-v1 .policy-end span {font:700 10px/1.5 Inter,sans-serif;letter-spacing:.11em;color:#42585c;}
.policy-v1 .policy-end a {display:inline-flex;align-items:center;gap:13px;color:#116B76;text-decoration:none;font:700 11px/1.5 Inter,sans-serif;letter-spacing:.08em;}
.policy-v1 .policy-end svg {width:18px;height:18px;}
.footer-policy-link {color:#a5dde0;text-decoration:underline;text-underline-offset:5px;transition:color .2s;}
.footer-policy-link:hover,.footer-policy-link:focus-visible {color:#fff;}
.policy-v1 a:focus-visible {outline:3px solid #116B76;outline-offset:5px;}
@media(max-width:1024px) {
 .policy-v1 .policy-frame {width:calc(100% - 64px);}
 .policy-v1 .policy-layout {grid-template-columns:minmax(190px,.7fr) minmax(0,1.6fr);gap:42px;}
 .policy-v1 .policy-chapter h2 {font-size:clamp(58px,7vw,89px);}
}
@media(max-width:767px) {
 .policy-v1 .policy-frame {width:calc(100% - 40px);}
 .policy-v1 .policy-hero {padding:24px 0;}
 .policy-v1 .policy-hero-line span:last-child,.policy-v1 .policy-hero-foot span:last-child {display:none;}
 .policy-v1 .policy-kicker {margin-top:84px;font-size:10px;}
 .policy-v1 .policy-hero h1 {font-size:clamp(91px,19vw,139px);}
 .policy-v1 .policy-hero p {font-size:15px;}
 .policy-v1 .policy-draft {font-size:10px;padding:13px 14px;}
 .policy-v1 .policy-hero-foot {margin-top:75px;}
 .policy-v1 .policy-body {padding:80px 0 90px;}
 .policy-v1 .policy-layout {display:block;}
 .policy-v1 .policy-toc {position:static;margin-bottom:70px;}
 .policy-v1 .policy-toc a {padding:13px 4px;}
 .policy-v1 .policy-toc>p {max-width:100%;}
 .policy-v1 .policy-chapter {scroll-margin-top:84px;padding-bottom:61px;margin-bottom:67px;}
 .policy-v1 .policy-chapter h2 {font-size:clamp(58px,12vw,85px);margin-bottom:27px;}
 .policy-v1 .policy-chapter p,.policy-v1 .policy-chapter li {font-size:15px;}
 .policy-v1 .policy-end>.policy-frame {flex-direction:column;align-items:flex-start;}
}
@media(max-width:375px) {
 .policy-v1 .policy-hero h1 {font-size:90px;}
 .policy-v1 .policy-chapter h2 {font-size:57px;}
}
@media(prefers-reduced-motion:reduce) {.policy-v1 .policy-toc a,.footer-policy-link {transition:none!important;}}


/* ===== HOME / RESPONSIVE USER-SUPPLIED SCENE PHOTOS =====
   Local 2048x1152 desktop / 941x1672 mobile WebP assets.
   Preserve scene zoom/shift applied to the img by existing CSS + JS. */
.home-v2 .home-service-sequence .chapter-full .chapter-background .chapter-responsive-picture {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.home-v2 .home-service-sequence .chapter-full .chapter-background .chapter-responsive-picture > img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-v2 .home-service-sequence .chapter-full-1 .chapter-responsive-picture > img {object-position:53% center;}
.home-v2 .home-service-sequence .chapter-full-2 .chapter-responsive-picture > img {object-position:54% center;}
.home-v2 .home-service-sequence .chapter-full-3 .chapter-responsive-picture > img {object-position:55% center;}
@media(max-width:767px) {
  .home-v2 .home-service-sequence .chapter-full-1 .chapter-responsive-picture > img,
  .home-v2 .home-service-sequence .chapter-full-2 .chapter-responsive-picture > img,
  .home-v2 .home-service-sequence .chapter-full-3 .chapter-responsive-picture > img {
    object-position:center center;
  }
}


/* 2026-10-26 / SITE QA: contiguous Projects dropdown and keyboard/touch access. */
#projectsNavGroup {display:inline-flex;align-items:center;gap:2px;isolation:isolate;}
#projectsNavGroup .projects-nav-trigger {display:inline-grid;place-items:center;width:26px;height:34px;color:#cdd3d4;cursor:pointer;border-radius:4px;background:transparent;transition:color .2s,background .2s;}
#projectsNavGroup .projects-nav-trigger:hover,#projectsNavGroup .projects-nav-trigger:focus-visible {color:#7ddce2;background:rgba(255,255,255,.09);}
#projectsNavGroup .projects-dropdown {top:calc(100% - 1px);margin-top:0!important;z-index:60;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .23s ease,transform .23s ease,visibility .23s;}
#projectsNavGroup:hover .projects-dropdown,#projectsNavGroup:focus-within .projects-dropdown,#projectsNavGroup.is-open .projects-dropdown {visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);}
#projectsNavGroup .projects-dropdown a:focus-visible {background:#14525a;color:#fff;outline:2px solid #8ee9ee;outline-offset:-1px;}
#projectsNavGroup .projects-dropdown a {min-height:42px;display:flex;align-items:center;}
#projectsNavGroup:focus-within .projects-nav-trigger svg,#projectsNavGroup.is-open .projects-nav-trigger svg {transform:rotate(180deg);}
#projectsNavGroup .projects-nav-trigger svg {transition:transform .2s;}
nav .nav-link[aria-current="page"] {color:#62cbd4;}
body.mobile-menu-open {overflow:hidden;}
#mobileMenu a:focus-visible,#mobileMenu button:focus-visible {outline:3px solid #83e1e5;outline-offset:4px;}

/* Contact intake: off-screen spam trap and clear response states. */
.ct-form .form-honeypot {position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.ct-form-status[data-state="error"] {color:#a13a36;}
.ct-form-status[data-state="success"] {color:#116B76;}

/* Elegant scroll entrances only where the prior design lacked motion. */
@media(prefers-reduced-motion:no-preference) {
 .premium-reveal {opacity:0;transform:translate3d(0,26px,0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform;}
 .premium-reveal.is-visible {opacity:1;transform:translate3d(0,0,0);will-change:auto;}
 .ct-method:nth-child(2),.career-role:nth-child(2) {transition-delay:90ms;}
 .ct-method:nth-child(3),.career-role:nth-child(3) {transition-delay:170ms;}
}
@media(prefers-reduced-motion:reduce) {
 .premium-reveal {opacity:1!important;transform:none!important;transition:none!important;}
 #projectsNavGroup .projects-dropdown,#projectsNavGroup .projects-nav-trigger svg {transition:none!important;}
}

/* Explicit recipient acknowledgment for the independent contact form. */
.ct-form .ct-routing-consent {display:flex;align-items:flex-start;gap:12px;max-width:620px;color:#374749;font:500 12px/1.65 Inter,sans-serif;margin:0 0 18px;cursor:pointer;}
.ct-form .ct-routing-consent input {flex:0 0 18px;width:18px;height:18px;margin-top:2px;accent-color:#116B76;cursor:pointer;}
.ct-form .ct-routing-consent input:focus-visible {outline:3px solid #116B76;outline-offset:3px;}
