/* Architectural photograph supplied by the project owner. */
.product-showcase {
    position: relative;
    isolation: isolate;
    padding: 100px 0 64px;
    background: #102338 url('../img/backgrounds/product-architecture.jpg') center 48% / cover no-repeat;
    color: #fff;
    scroll-margin-top: 80px;
}
.product-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7,22,39,.91), rgba(9,28,48,.53) 60%, rgba(13,35,57,.28)),
                linear-gradient(0deg, rgba(7,20,35,.9), transparent 75%);
}
.product-heading { max-width: 760px; margin-bottom: 44px; }
.product-eyebrow { display:flex; align-items:center; gap:12px; color:#c2d8e9; font-size:12px; font-weight:600; letter-spacing:.18em; margin-bottom:22px; }
.product-eyebrow::before { content:""; width:32px; height:2px; background:var(--primary); }
.product-showcase h2 { font-family:inherit; font-size:clamp(30px,3.6vw,48px); font-weight:600; text-transform:none; line-height:1.28; letter-spacing:-.035em; text-wrap:balance; }
.product-intro { max-width:620px; margin-top:20px; color:#d5e2ee; font-size:16px; line-height:1.9; }
.product-stage { border:1px solid #ffffff30; border-radius:20px; background:rgba(11,29,48,.87); box-shadow:0 28px 70px #020c1940; overflow:hidden; }
.product-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #ffffff24; }
.product-tabs button { position:relative; display:flex; align-items:center; justify-content:center; gap:12px; padding:22px 14px; min-height:72px; border:0; border-inline-end:1px solid #ffffff14; background:transparent; color:#bacbdc; font:inherit; font-size:14px; cursor:pointer; transition:background .2s,color .2s; }
.product-tabs button:last-child { border-inline-end:0; }
.product-tab-number { font-size:11px; opacity:.6; letter-spacing:.08em; }
.product-tabs button:hover { color:#fff; background:#ffffff09; }
.product-tabs button[aria-pressed=true] { background:#ffffff0c; color:#fff; }
.product-tabs button[aria-pressed=true]::after { content:""; position:absolute; bottom:0; inset-inline:24px; height:3px; background:var(--primary); }
.product-pane { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.5fr); gap:36px; align-items:center; padding:36px; }
.product-pane[hidden] { display:none; }
.product-description { min-width:0; }
.product-language { display:flex; align-items:center; gap:9px; font-size:11px; letter-spacing:.1em; color:#b7cbdc; }
.product-language::before { content:""; width:6px; height:6px; border-radius:50%; background:#89b7d6; }
.product-description h3 { font-family:inherit; font-size:clamp(23px,2.2vw,29px); font-weight:600; text-transform:none; margin:16px 0; line-height:1.4; letter-spacing:-.02em; }
.product-description>p:not(.product-language) { font-size:15px; line-height:1.9; color:#c6d5e3; }
.product-book { display:inline-flex; align-items:center; gap:24px; margin-top:28px; padding:12px 18px; border:1px solid #ffffff50; border-radius:6px; color:#fff; text-decoration:none; font-size:14px; font-weight:500; transition:background .2s; }
.product-book:hover { background:#ffffff12; }
.product-pane figure { min-width:0; margin:0; }
.product-image-link { display:block; position:relative; border:1px solid #ffffff40; border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 18px 40px #0004; text-decoration:none; }
.product-image-link img { display:block; width:100%; height:auto; }
.product-zoom { display:flex; align-items:center; justify-content:space-between; padding:10px 16px; font-size:12px; color:#526274; background:#f1f5f9; border-top:1px solid #e2e8f0; }
.product-zoom::after { content:"↗"; font-size:16px; }
.product-bottom { display:flex; align-items:center; gap:28px; justify-content:space-between; margin-top:24px; font-size:12px; line-height:1.8; color:#bbcbd9; }
.product-bottom p { max-width:720px; }
.product-bottom a { color:#fff; text-underline-offset:5px; flex-shrink:0; }
.product-tabs button:focus-visible,.product-image-link:focus-visible,.product-book:focus-visible,.product-bottom a:focus-visible,.product-close:focus-visible { outline:3px solid #9cd6ff; outline-offset:-4px; }
#product-viewer { position:fixed; margin:auto; width:96vw; max-width:1600px; max-height:92dvh; padding:0; border:0; border-radius:12px; background:#fff; }
#product-viewer::backdrop { background:#020617d9; }
.product-close { display:block; position:sticky; top:0; margin-inline-start:auto; min-height:48px; padding:12px 20px; border:0; background:#0f172a; color:white; font:inherit; cursor:pointer; z-index:1; }
.product-viewer-scroll { overflow:auto; max-height:calc(92dvh - 48px); overscroll-behavior:contain; }
.product-viewer-scroll img { display:block; width:100%; height:auto; }
@media(max-width:768px) {
    .product-showcase { background-position:58% center; }
    .product-heading { margin-bottom:28px; }
    .product-eyebrow { margin-bottom:16px; }
    .product-intro { font-size:15px; }
    .product-stage { border-radius:14px; }
    .product-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-tabs button { min-height:62px; padding:14px 10px; gap:8px; }
    .product-tabs button:nth-child(-n+2) { border-bottom:1px solid #ffffff14; }
    .product-pane { padding:24px 18px; }
    .product-book { margin-top:20px; }
    .product-image-link { border-radius:6px; }
}
@media(max-width:1100px){.nav-container{display:flex;justify-content:space-between;padding:0 20px;gap:12px}.mobile-menu-toggle{display:flex;width:44px;height:44px;padding:12px 8px;flex-shrink:0}.nav-links{display:none;position:fixed;top:var(--nav-height);inset-inline:0;width:auto;height:calc(100dvh - var(--nav-height));overflow-y:auto;background:#0f172af5;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px;gap:0;transition:none}.nav-links.active{display:flex;right:0}.nav-links li{width:100%;border-bottom:1px solid #ffffff26}.nav-links a{display:block;padding:16px;color:white!important;white-space:normal;line-height:1.5}.nav-links a::after{display:none}.nav-actions{flex-shrink:0}.nav-links:not(.active){visibility:hidden}}
@media(max-width:768px){.product-showcase{padding:56px 0}.product-pane{grid-template-columns:1fr;gap:20px}.product-description h3{font-size:23px}.product-tabs{gap:8px}.product-tabs button{flex:1 1 calc(50% - 8px);padding:12px 8px;font-size:14px}.product-bottom{flex-direction:column;align-items:flex-start;gap:16px}.product-bottom a{flex-shrink:1}.product-viewer-scroll img{width:1400px;max-width:none}.hero .hero-content{padding:110px 20px 24px;min-height:100svh}.hero .hero-wrapper{width:100%;margin-top:20px;margin-bottom:28px}.hero .hero-metrics{gap:12px;width:100%}.hero .metric-card{padding:14px 10px}.hero .metric-card .label{overflow-wrap:anywhere;font-size:12px}.hero-eyebrow{max-width:100%;font-size:13px;padding:10px 12px}.growth-actions{gap:10px}.growth-actions .growth-button{flex:1 1 140px;font-size:14px;padding:12px}.contact .hero-content{padding:50px 16px}.contact h1{font-size:clamp(26px,7vw,38px);line-height:1.3}.grid,.grid-2,.grid-3,.feature-insights{grid-template-columns:minmax(0,1fr)}.phase-table-wrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.immersive-details.expanded,.impact-details.expanded{max-height:none}.team-table{display:block;max-width:100%;overflow-x:auto}.team-table td{white-space:normal;overflow-wrap:anywhere}.section-title,.section-subtitle{overflow-wrap:anywhere}.section-immersive{min-height:auto}.lead-form input,.lead-form select,.lead-form textarea{font-size:16px}.analytics-consent{inset-inline:12px;bottom:12px;padding:16px;max-height:45dvh;overflow:auto}.analytics-consent button{min-height:44px}.logo-subtitle{display:none}.lang-switch select{max-width:115px;min-height:44px}section[id]{scroll-margin-top:var(--nav-height)}}
@media(max-width:360px){.nav-container{padding:0 12px;gap:8px}.nav-actions{gap:6px}.logo-text{font-size:17px}.lang-switch select{max-width:95px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
