:root{
  --p-bg:#071723;
  --p-surface:#0d2433;
  --p-text:#eaf4f8;
  --p-muted:#91a8b5;
  --p-primary:#67e8f9;
  --p-accent:#2dd4bf;
  --p-radius:24px;
  --p-font:'Inter Tight', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --p-heading-font:'Inter Tight', Inter, system-ui, sans-serif;
  --p-mono-font:'JetBrains Mono', SFMono-Regular, Consolas, Liberation Mono, monospace;
  --role-nav:#07131d;
  --role-nav-fg:#eaf4f8;
  --role-hero:#67e8f9;
  --role-hero-fg:#04111a;
  --role-accent:#2dd4bf;
  --role-accent-fg:#04111a;
  --role-card1:#0c2638;
  --role-card1-fg:#eaf4f8;
  --role-card2:#102c3e;
  --role-card2-fg:#eaf4f8;
  --role-card3:#0b3444;
  --role-card3-fg:#eaf4f8;
  --role-foot:#07131d;
  --role-foot-fg:#91a8b5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--p-bg)}
body{margin:0;min-height:100vh;color:var(--p-text);font-family:var(--p-font);background:radial-gradient(circle at 16% 0%, rgba(103,232,249,.18), transparent 34rem),radial-gradient(circle at 88% 12%, rgba(45,212,191,.12), transparent 26rem),linear-gradient(180deg,#06131d 0%,#071723 42%,#08131e 100%);font-size:16px;line-height:1.55;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.48),transparent 68%);z-index:-1}
a{color:inherit}.page-section{padding:var(--py,72px) var(--px,54px);background:var(--section-bg,transparent);color:var(--section-fg,var(--p-text))}.page-container{width:min(var(--w,1040px),100%);margin:0 auto}.headline,.text-block h2,.box h2,.card h3,.modal-body h3{font-family:var(--p-heading-font)!important}
.header{display:flex;align-items:center;justify-content:space-between;gap:22px}.site-nav{margin:0 0 52px;padding:10px 12px;border:1px solid rgba(234,244,248,.1);border-radius:999px;background:rgba(3,13,20,.56);backdrop-filter:blur(18px);box-shadow:0 18px 60px rgba(0,0,0,.24)}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--role-nav-fg,var(--p-text));font-weight:800;text-decoration:none;letter-spacing:-.04em;min-width:0;white-space:nowrap}.brand::before{content:"";width:13px;height:13px;border-radius:5px 10px 5px 10px;background:linear-gradient(135deg,var(--p-primary),var(--p-accent));box-shadow:0 0 22px rgba(103,232,249,.45);transform:rotate(-12deg)}.brand-text{transition:opacity .22s ease, max-width .32s ease, transform .32s ease}.brand-full{display:inline-block;max-width:0;opacity:0;overflow:hidden;transform:translateX(-6px);color:var(--p-primary)}.brand-expand:hover .brand-full,.brand-expand:focus-visible .brand-full{max-width:260px;opacity:1;transform:translateX(0)}.brand-expand:hover .brand-compact,.brand-expand:focus-visible .brand-compact{opacity:.38}.nav-logo{object-fit:contain;border-radius:999px}.nav-logo.cover{object-fit:cover}.nav-logo.fill{object-fit:fill}
.nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}.nav a,.nav-item>a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:999px;color:rgba(234,244,248,.76);text-decoration:none;font-size:.93rem;font-weight:650;transition:background .18s ease,color .18s ease,transform .18s ease}.nav a:hover,.nav-item:hover>a{background:rgba(103,232,249,.12);color:#fff;transform:translateY(-1px)}.nav-item{position:relative}.nav-dropdown{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:8px;border-radius:18px;background:#07131d;border:1px solid rgba(234,244,248,.12);box-shadow:0 22px 60px rgba(0,0,0,.35);opacity:0;pointer-events:none;transform:translateY(6px);transition:.18s;z-index:30}.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-dropdown a{display:flex;width:100%;justify-content:flex-start}
.hero{text-align:var(--ta,center);display:grid;justify-items:var(--ja,center);position:relative}.logo{width:min(var(--logo,154px),52vw);height:auto;margin-bottom:28px;filter:drop-shadow(0 22px 30px rgba(0,0,0,.36));border-radius:28px}.headline{margin:0;max-width:1000px;color:var(--p-text);font-weight:760;font-size:clamp(2.75rem,7.5vw,var(--hs,82px));line-height:.95;letter-spacing:-.072em;text-wrap:balance}.headline span{color:var(--p-primary)}.copy{max-width:690px;margin:24px auto 0;color:var(--p-muted);font-size:var(--cs,19px);line-height:1.68;text-wrap:balance}.btn-row{display:flex;justify-content:var(--bj,center);gap:12px;flex-wrap:wrap;margin-top:32px}.page-btn,.action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:999px;color:var(--role-hero-fg,var(--p-bg));background:linear-gradient(135deg,var(--p-primary),var(--p-accent));text-decoration:none;font-weight:790;letter-spacing:-.01em;box-shadow:0 20px 45px rgba(21,151,167,.22);transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;border:0;cursor:pointer;font:inherit}.page-btn:hover,.action-btn:hover{transform:translateY(-2px);box-shadow:0 24px 55px rgba(21,151,167,.28)}.page-btn.ghost,.action-btn.ghost{color:var(--p-text);background:rgba(255,255,255,.055);border:1px solid rgba(234,244,248,.12);box-shadow:none}.page-btn.ghost:hover,.action-btn.ghost:hover{background:rgba(103,232,249,.1)}
.text-block{max-width:760px}.section-head{margin:0 auto 28px;text-align:center}.section-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:7px 11px;border:1px solid rgba(103,232,249,.18);border-radius:999px;color:var(--p-primary);background:rgba(103,232,249,.07);font:.74rem/1 var(--p-mono-font);text-transform:uppercase;letter-spacing:.14em}.section-kicker::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--p-accent);box-shadow:0 0 18px var(--p-accent)}.text-block h2,.box h2{font-weight:760;font-size:clamp(2rem,5vw,52px);line-height:1;letter-spacing:-.06em;margin:.1em 0;color:#f5fbfd;text-wrap:balance}.text-block p,.box p,.card p,.cta-box p{margin:14px 0 0;color:var(--p-muted);line-height:1.68}.box{padding:30px;border:1px solid rgba(234,244,248,.1);border-radius:var(--p-radius);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));box-shadow:0 18px 58px rgba(0,0,0,.26)}
.cards,.gallery-grid,.stats-grid,.showcase-grid,.showcase-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{padding:24px;border:1px solid rgba(234,244,248,.1);border-radius:var(--p-radius);background:linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.036));box-shadow:0 16px 48px rgba(0,0,0,.22);transition:transform .18s ease,border-color .18s ease,background .18s ease}.card:hover{transform:translateY(-3px);border-color:rgba(103,232,249,.24);background:linear-gradient(180deg,rgba(103,232,249,.08),rgba(255,255,255,.04))}.card.role-1,.card.role-2,.card.role-3{color:var(--p-text)}.card h3{font-weight:730;letter-spacing:-.04em;font-size:1.35rem;margin:0 0 10px}.card p{font-size:.97rem}.card-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;margin-bottom:12px}.small-link{display:inline-flex;margin-top:12px;color:var(--p-primary);font-weight:750;text-decoration:none}
.split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(280px,1.05fr);gap:28px;align-items:center}.split.visual-left > .visual{order:-1}.split .text-block{text-align:left}.visual{min-height:340px;border-radius:var(--p-radius);background:radial-gradient(circle at 34% 24%,rgba(103,232,249,.28),transparent 7rem),radial-gradient(circle at 68% 70%,rgba(45,212,191,.18),transparent 10rem),linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(234,244,248,.1);overflow:hidden;display:grid;place-items:center;color:var(--p-muted);box-shadow:inset 0 1px rgba(255,255,255,.05),0 20px 60px rgba(0,0,0,.24)}.visual::before{content:"Scope → Build → Refine";font:700 .85rem/1 var(--p-mono-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(234,244,248,.62);padding:14px 16px;border:1px solid rgba(234,244,248,.12);border-radius:999px;background:rgba(3,13,20,.38)}.visual img,.image-block img,.image-card img{width:100%;height:100%;object-fit:cover;display:block}.image-card{overflow:hidden;min-height:260px;border:1px solid rgba(234,244,248,.1);border-radius:var(--p-radius);background:rgba(255,255,255,.045);box-shadow:0 18px 48px rgba(0,0,0,.21)}.image-card.placeholder,.visual.placeholder{display:grid;place-items:center}.image-caption{color:var(--p-muted);font-size:.92rem;font-weight:500;padding:14px}.divider-line{height:1px;width:100%;background:linear-gradient(90deg,transparent,rgba(103,232,249,.28),transparent)}
.showcase-section{position:relative}.showcase-head{text-align:left;margin-left:0}.showcase-head p{max-width:720px}.showcase-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px}.filter-chip{min-height:36px;padding:0 13px;border-radius:999px;border:1px solid rgba(234,244,248,.12);background:rgba(255,255,255,.045);color:rgba(234,244,248,.78);font:700 .86rem/1 var(--p-font);cursor:pointer;transition:.16s}.filter-chip:hover,.filter-chip.is-active{background:rgba(103,232,249,.14);border-color:rgba(103,232,249,.35);color:#fff}.showcase-tile{position:relative;overflow:hidden;border:1px solid rgba(234,244,248,.1);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.068),rgba(255,255,255,.032));box-shadow:0 20px 60px rgba(0,0,0,.25);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.showcase-tile:hover,.showcase-tile:focus-visible{transform:translateY(-4px);border-color:rgba(103,232,249,.3);box-shadow:0 26px 70px rgba(0,0,0,.32)}.showcase-tile-media{height:190px;overflow:hidden;background:linear-gradient(135deg,rgba(103,232,249,.18),rgba(45,212,191,.06))}.showcase-tile-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.showcase-tile:hover img{transform:scale(1.045)}.showcase-tile-placeholder{height:100%;display:grid;place-items:center;color:rgba(234,244,248,.42);font:800 2.2rem/1 var(--p-mono-font)}.showcase-tile-body{padding:18px;min-height:250px;display:flex;flex-direction:column}.showcase-tile-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px;color:var(--p-primary);font:700 .72rem/1.3 var(--p-mono-font);text-transform:uppercase;letter-spacing:.1em}.showcase-tile-meta span:last-child{color:rgba(234,244,248,.48);text-align:right;max-width:52%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.showcase-tile h3{margin:0;color:#f5fbfd;font-size:1.4rem;line-height:1.08;letter-spacing:-.04em}.showcase-tile p{margin:12px 0 0;color:var(--p-muted);line-height:1.55;font-size:.97rem}.showcase-tile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}.action-btn{min-height:40px;padding:0 14px;font-size:.88rem;box-shadow:none}.action-btn:not(.ghost){background:rgba(103,232,249,.18);border:1px solid rgba(103,232,249,.28);color:#dffaff}.project-tile[hidden]{display:none}
.modal{border:0;padding:0;background:transparent;max-width:min(780px,calc(100vw - 24px));width:100%}.modal::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(7px)}.modal-card{background:linear-gradient(180deg,#0c2231,#071722);border-radius:28px;overflow:hidden;border:1px solid rgba(234,244,248,.13);box-shadow:0 30px 90px rgba(0,0,0,.48);color:var(--p-text)}.standard-modal-card{display:block}.modal-content-pane{padding:26px}.modal-content-pane.full{width:100%}.modal-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.modal-kicker{display:inline-flex;color:var(--p-primary);font:800 .74rem/1 var(--p-mono-font);text-transform:uppercase;letter-spacing:.12em}.modal-x{width:38px;height:38px;border:1px solid rgba(234,244,248,.12);border-radius:999px;background:rgba(255,255,255,.055);color:#fff;font-size:1.4rem;cursor:pointer}.modal h3{font-size:clamp(1.7rem,4vw,2.65rem);letter-spacing:-.06em;line-height:1;margin:0 0 14px;color:#fff}.project-fact-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.project-fact-row span{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(234,244,248,.1);color:rgba(234,244,248,.78);font-size:.85rem}.modal-scroll{max-height:min(50vh,460px);overflow:auto;padding-right:4px}.modal-actions{display:flex;gap:10px;justify-content:flex-start;align-items:center;flex-wrap:wrap;margin-top:20px}.modal-image{width:100%;max-height:420px;object-fit:cover;display:block}.modal-body{padding:22px}.modal-close-wrap{padding:0 22px 22px}.modal-media-pane{display:none}.modal-image-placeholder{min-height:160px;display:grid;place-items:center;color:var(--p-muted)}
.form{display:grid;gap:13px;max-width:760px;margin:0 auto}.form label{text-align:left;color:rgba(234,244,248,.84);font-weight:650}.form input,.form textarea,.form select{border:1px solid rgba(234,244,248,.12);border-radius:16px;background:rgba(3,13,20,.44);color:var(--p-text);padding:14px 15px;outline:none;font:inherit;width:100%;margin-top:7px}.form input:focus,.form textarea:focus,.form select:focus{border-color:rgba(103,232,249,.48);box-shadow:0 0 0 3px rgba(103,232,249,.1)}.form textarea{min-height:140px;resize:vertical}.quote-shell{padding:30px;border:1px solid rgba(234,244,248,.1);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));box-shadow:0 20px 70px rgba(0,0,0,.28)}.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.quote-grid.auto{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-field{position:absolute!important;left:-10000px!important}.required-dot{color:var(--p-primary);font-size:.8rem;margin-left:5px}.quote-success{margin:0 auto 20px;max-width:680px;padding:15px 18px;border:1px solid rgba(45,212,191,.28);border-radius:18px;background:rgba(45,212,191,.1);color:#dffff9}.quote-success p{margin:.25rem 0 0;color:var(--p-muted)}
.faq-list{display:grid;gap:10px;text-align:left}.faq-list details{border:1px solid rgba(234,244,248,.1);border-radius:20px;background:rgba(255,255,255,.046);overflow:hidden}.faq-list summary{cursor:pointer;padding:18px 20px;font-weight:760;color:#f6fbfd;letter-spacing:-.02em}.faq-list details[open]{background:rgba(103,232,249,.07);border-color:rgba(103,232,249,.22)}.faq-list p,.faq-answer{margin:0;padding:0 20px 18px;color:var(--p-muted);line-height:1.65}.stats-grid .stat-card{padding:24px;border:1px solid rgba(234,244,248,.1);border-radius:22px;background:rgba(255,255,255,.045);text-align:center}.stat-card strong{display:block;font-size:2rem;letter-spacing:-.05em;color:#fff}.stat-card span{display:block;color:var(--p-muted);margin-top:4px}.footer{display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;color:var(--role-foot-fg);font-size:.94rem;border-top:1px solid rgba(234,244,248,.1);padding-top:22px}.footer.align-center{justify-content:center;text-align:center}.footer.align-left{justify-content:flex-start}.footer.align-right{justify-content:flex-end}
.page-rich{color:var(--p-muted);line-height:1.68}.page-rich h1,.page-rich h2,.page-rich h3{color:#fff;letter-spacing:-.045em;line-height:1.1}.page-rich h1{font-size:clamp(2rem,5vw,3.8rem)}.page-rich h2{font-size:clamp(1.6rem,4vw,2.4rem)}.page-rich h3{font-size:1.25rem}.page-rich a{color:var(--p-primary)}.page-rich blockquote{margin:18px 0;padding:16px 18px;border-left:3px solid var(--p-accent);background:rgba(255,255,255,.045);border-radius:16px}.page-rich ul,.page-rich ol{padding-left:1.2rem}.page-bb-box{margin:16px 0;padding:16px 18px;border-radius:18px;border:1px solid rgba(234,244,248,.11);background:rgba(255,255,255,.045)}.page-bb-hero{text-align:center;margin:0 auto 22px}.page-bb-hero h1{font-size:clamp(2.4rem,7vw,5rem);letter-spacing:-.07em;line-height:.95}.page-bb-image{max-width:100%;border-radius:20px;border:1px solid rgba(234,244,248,.1)}.page-center{text-align:center}.page-mini-headline{font-size:clamp(2rem,5vw,3.6rem)!important}
@media (max-width: 920px){.page-section{padding-left:22px!important;padding-right:22px!important}.header{align-items:flex-start;flex-direction:column;border-radius:28px}.site-nav{border-radius:28px}.nav{justify-content:flex-start}.cards,.gallery-grid,.stats-grid,.showcase-grid,.showcase-tiles,.cols-2,.cols-3,.cols-4{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.split.visual-left > .visual{order:0}.section-head,.showcase-head{text-align:left}.quote-grid,.quote-grid.auto{grid-template-columns:1fr}.modal{max-width:calc(100vw - 18px)}.modal-content-pane{padding:22px}.modal-scroll{max-height:58vh}}
@media (max-width: 640px){body{font-size:15px}.page-section{padding-top:52px!important;padding-bottom:52px!important}.cards,.gallery-grid,.stats-grid,.showcase-grid,.showcase-tiles,.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.headline{font-size:clamp(2.25rem,13vw,4rem)}.copy{font-size:1rem}.logo{width:min(var(--logo,132px),48vw)}.site-nav{gap:14px}.nav{gap:5px}.nav a,.nav-item>a{min-height:34px;padding:0 10px;font-size:.87rem}.brand-expand:hover .brand-full,.brand-expand:focus-visible .brand-full{max-width:210px}.box,.quote-shell{padding:22px;border-radius:24px}.showcase-tile-body{min-height:auto}.showcase-tile-media{height:170px}.modal-card{border-radius:22px}.modal-actions .page-btn,.modal-actions .action-btn{width:100%}.footer{justify-content:flex-start}}
.page-content{width:min(var(--w,980px),100%);margin:0 auto}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-card{display:block;overflow:hidden;text-decoration:none;border:1px solid rgba(234,244,248,.1);border-radius:24px;background:rgba(255,255,255,.045);box-shadow:0 18px 54px rgba(0,0,0,.22);transition:transform .18s,border-color .18s}.news-card:hover{transform:translateY(-3px);border-color:rgba(103,232,249,.28)}.news-card img{width:100%;height:180px;object-fit:cover;display:block}.news-card-body{padding:18px}.news-card h3{margin:10px 0 8px;color:#fff;letter-spacing:-.04em;font-size:1.25rem}.news-card p{margin:0;color:var(--p-muted);line-height:1.6}.showcase-mini{display:inline-flex;padding:7px 10px;border:1px solid rgba(103,232,249,.18);border-radius:999px;color:var(--p-primary);font:700 .72rem/1 var(--p-mono-font);text-transform:uppercase;letter-spacing:.1em;background:rgba(103,232,249,.07)}.news-list,.news-list.compact{display:grid;gap:12px}.news-list-card{display:flex;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(234,244,248,.1);border-radius:18px;background:rgba(255,255,255,.045);text-decoration:none}.news-list-card h3{margin:0 0 4px;color:#fff}.news-list-card p{margin:0;color:var(--p-muted)}.page-logo-wrap{text-align:center;margin:0 0 24px}.page-logo-wrap img{max-width:180px;border-radius:24px}.embedded-block{margin:22px 0}.embedded-faqs{margin:18px 0}@media (max-width: 920px){.news-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.news-grid{grid-template-columns:1fr}.news-list-card{display:block}}

/* V1 Deep Ocean hotfix 01: brand, showcase and modal polish */
.brand::before{display:none!important}.brand{gap:9px}.brand-morph{display:inline-flex;align-items:baseline;white-space:nowrap;overflow:hidden;max-width:260px;color:var(--role-nav-fg,var(--p-text));font-weight:850}.brand-base{letter-spacing:-.045em}.brand-dev{color:var(--p-primary);max-width:3.3em;opacity:1;overflow:hidden;transition:max-width .34s ease,opacity .22s ease,transform .34s ease}.brand-expanded-tail{color:var(--p-primary);max-width:0;opacity:0;overflow:hidden;transform:translateX(-.35em);transition:max-width .42s ease,opacity .24s ease,transform .42s ease}.brand-expand:hover .brand-dev,.brand-expand:focus-visible .brand-dev{max-width:0;opacity:0;transform:translateX(-.4em)}.brand-expand:hover .brand-expanded-tail,.brand-expand:focus-visible .brand-expanded-tail{max-width:16em;opacity:1;transform:translateX(0)}.nav-logo{background:rgba(255,255,255,.06);border:1px solid rgba(234,244,248,.12);padding:2px}.site-nav{backdrop-filter:blur(18px)}
.showcase-tiles{align-items:stretch}.showcase-tile{display:grid;grid-template-rows:auto 1fr}.showcase-tile-media{height:auto;aspect-ratio:1/1;border-bottom:1px solid rgba(234,244,248,.08)}.showcase-tile-media img{object-fit:cover}.showcase-tile-body{min-height:220px}.showcase-tile-actions .action-btn{width:100%;justify-content:center}.showcase-tile-actions .action-btn.ghost{background:rgba(103,232,249,.12);border-color:rgba(103,232,249,.24);color:#dffaff}.showcase-tile-meta span:last-child{max-width:48%}
.modal{max-width:min(820px,calc(100vw - 24px))}.modal-card{max-height:min(88vh,860px);overflow:hidden}.modal-content-pane{display:flex;flex-direction:column;max-height:min(88vh,860px)}.modal-cover-frame{margin:0 0 16px;border-radius:20px;overflow:hidden;border:1px solid rgba(234,244,248,.11);background:rgba(255,255,255,.04)}.modal-cover-frame img{display:block;width:100%;aspect-ratio:16/9;max-height:280px;object-fit:cover}.modal-tabs{display:inline-flex;gap:6px;align-self:flex-start;margin:0 0 14px;padding:5px;border:1px solid rgba(234,244,248,.11);border-radius:999px;background:rgba(255,255,255,.045)}.modal-tab{min-height:34px;padding:0 12px;border-radius:999px;border:0;background:transparent;color:var(--p-muted);font:750 .86rem/1 var(--p-font);cursor:pointer}.modal-tab.is-active{background:rgba(103,232,249,.15);color:#fff}.modal-tab-panel{min-height:0}.modal-scroll{max-height:min(34vh,330px)}.project-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(42vh,380px);overflow:auto;padding-right:4px}.project-image-grid a{display:block;border-radius:16px;overflow:hidden;border:1px solid rgba(234,244,248,.11);background:rgba(255,255,255,.04)}.project-image-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}.project-image-grid a:hover img{transform:scale(1.035)}.modal-actions{border-top:1px solid rgba(234,244,248,.09);padding-top:16px}.modal-actions form{margin:0}
@media(max-width:640px){.brand-morph{max-width:210px}.brand-expand:hover .brand-expanded-tail,.brand-expand:focus-visible .brand-expanded-tail{max-width:11.5em}.showcase-tile-media{aspect-ratio:4/3}.modal{max-width:calc(100vw - 14px)}.modal-card,.modal-content-pane{max-height:90vh}.modal-cover-frame img{aspect-ratio:4/3;max-height:220px}.project-image-grid{grid-template-columns:1fr}.modal-scroll{max-height:30vh}.modal-tabs{width:100%;justify-content:space-between}.modal-tab{flex:1}.modal-actions .page-btn,.modal-actions .action-btn{width:100%}}

/* V1 Deep Ocean nav alignment fix 01
   Makes the admin Header menu alignment setting actually control the public nav row. */
.site-nav.header{
  width:100%;
  box-sizing:border-box;
}
.site-nav .nav{
  min-width:0;
}
.site-nav.nav-align-space-between{
  justify-content:space-between;
}
.site-nav.nav-align-space-between .nav{
  margin-left:auto;
  justify-content:flex-end;
}
.site-nav.nav-align-left{
  justify-content:flex-start;
}
.site-nav.nav-align-left .nav{
  justify-content:flex-start;
}
.site-nav.nav-align-center{
  justify-content:center;
}
.site-nav.nav-align-center .nav{
  justify-content:center;
}
.site-nav.nav-align-right{
  justify-content:flex-end;
}
.site-nav.nav-align-right .nav{
  justify-content:flex-end;
}
.site-nav.nav-align-center .brand,
.site-nav.nav-align-right .brand{
  flex:0 0 auto;
}
.site-nav.nav-align-center .nav-brand-with-logo + .nav,
.site-nav.nav-align-right .nav-brand-with-logo + .nav{
  margin-left:0;
}
.site-nav.nav-layout-plain{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  padding-left:0;
  padding-right:0;
}
.site-nav.nav-layout-boxed{
  border-radius:24px;
  padding:14px;
  background:rgba(7,19,29,.82);
}
.site-nav.nav-layout-split-center{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
}
.site-nav.nav-layout-split-center .brand{
  grid-column:2;
  justify-self:center;
}
.site-nav.nav-layout-split-center .nav{
  grid-column:3;
  justify-self:end;
}
.site-nav.nav-layout-split-center.nav-align-left .brand{grid-column:1;justify-self:start}
.site-nav.nav-layout-split-center.nav-align-left .nav{grid-column:2 / 4;justify-self:start}
.site-nav.nav-layout-split-center.nav-align-center .brand{grid-column:1 / 4;justify-self:center}
.site-nav.nav-layout-split-center.nav-align-center .nav{grid-column:1 / 4;justify-self:center;margin-top:44px}
.site-nav.nav-layout-split-center.nav-align-right .brand{grid-column:1 / 3;justify-self:end}
.site-nav.nav-layout-split-center.nav-align-right .nav{grid-column:3;justify-self:end}
@media (max-width: 920px){
  .site-nav.header,
  .site-nav.nav-layout-split-center{
    display:flex;
    align-items:flex-start;
    justify-content:flex-start!important;
  }
  .site-nav.nav-layout-split-center .brand,
  .site-nav.nav-layout-split-center .nav{
    grid-column:auto;
    justify-self:auto;
    margin-top:0!important;
  }
  .site-nav .nav{
    justify-content:flex-start!important;
  }
}


/* V2 nav/showcase unified fix: independent brand/menu positions and consistent project cards. */
.site-nav.header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px 18px;
  width:100%;
}
.site-nav.header.nav-layout-split-center{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
}
.site-nav.header .nav-zone{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.site-nav.header .nav-zone-left{grid-column:1;justify-content:flex-start}
.site-nav.header .nav-zone-center{grid-column:2;justify-content:center}
.site-nav.header .nav-zone-right{grid-column:3;justify-content:flex-end}
.site-nav.header .nav-zone:empty{min-height:1px}
.site-nav.header .nav-zone .brand,
.site-nav.header .nav-zone .nav{
  grid-column:auto!important;
  justify-self:auto!important;
  margin:0!important;
}
.site-nav.header .nav-zone .nav{
  justify-content:inherit!important;
  min-width:0;
}
.site-nav.header .nav-zone-left .nav-dropdown{left:0;right:auto}
.site-nav.header .nav-zone-center .nav-dropdown{left:50%;right:auto;transform:translate(-50%,6px)}
.site-nav.header .nav-zone-center .nav-item:hover .nav-dropdown,
.site-nav.header .nav-zone-center .nav-item:focus-within .nav-dropdown{transform:translate(-50%,0)}
.site-nav.header .nav-zone-right .nav-dropdown{left:auto;right:0}

.showcase-tiles{
  align-items:stretch!important;
  grid-auto-rows:1fr;
}
.showcase-tile{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  height:100%;
  min-height:0;
  overflow:hidden;
}
.showcase-tile-media{
  position:relative;
  width:100%;
  height:auto!important;
  aspect-ratio:1/1;
  min-height:0;
  overflow:hidden;
}
.showcase-carousel-track,
.showcase-tile-placeholder{
  position:absolute;
  inset:0;
}
.showcase-carousel-img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1);
  transition:opacity .22s ease, transform .45s ease;
  pointer-events:none;
}
.showcase-carousel-img.is-active{opacity:1}
.showcase-tile:hover .showcase-carousel-img.is-active{transform:scale(1.045)}
.showcase-carousel-btn{
  position:absolute;
  top:12px;
  z-index:4;
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(234,244,248,.24);
  border-radius:999px;
  background:rgba(3,13,20,.64);
  color:#fff;
  font:800 1.35rem/1 var(--p-font);
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:background .16s ease, transform .16s ease, border-color .16s ease;
}
.showcase-carousel-btn:hover,
.showcase-carousel-btn:focus-visible{
  background:rgba(103,232,249,.18);
  border-color:rgba(103,232,249,.42);
  transform:translateY(-1px);
}
.showcase-carousel-btn.prev{left:12px}
.showcase-carousel-btn.next{right:12px}
.showcase-carousel-count{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:4;
  padding:5px 8px;
  border:1px solid rgba(234,244,248,.18);
  border-radius:999px;
  background:rgba(3,13,20,.62);
  color:rgba(234,244,248,.86);
  font:800 .68rem/1 var(--p-mono-font);
  letter-spacing:.06em;
  backdrop-filter:blur(10px);
}
.showcase-tile-body{
  display:flex!important;
  flex-direction:column;
  min-height:240px!important;
  height:100%;
  overflow:hidden;
}
.showcase-tile h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.showcase-tile-summary{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.showcase-tile-actions{
  flex:0 0 auto;
  margin-top:auto!important;
  padding-top:18px!important;
}
.showcase-tile-actions .action-btn{
  width:100%;
  min-height:44px;
}
.modal-actions{
  gap:10px;
}
.modal-actions .page-btn,
.modal-actions .action-btn{
  min-width:160px;
  min-height:44px;
}
.modal-tab-panel[hidden]{display:none!important}

@media (max-width:920px){
  .site-nav.header,
  .site-nav.header.nav-layout-split-center{
    display:flex!important;
    flex-direction:column;
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }
  .site-nav.header .nav-zone{
    width:100%;
    justify-content:flex-start!important;
  }
  .site-nav.header .nav-zone:empty{display:none}
  .site-nav.header .nav-zone .nav{justify-content:flex-start!important}
}
@media (max-width:640px){
  .showcase-tile-media{aspect-ratio:4/3}
  .showcase-tile-body{min-height:210px!important}
  .showcase-carousel-btn{top:10px;width:32px;height:32px}
  .showcase-carousel-btn.prev{left:10px}
  .showcase-carousel-btn.next{right:10px}
}

/* V3 interaction polish: dropdowns, project filters, modal focus, image fitting and mobile finish. */
body.modal-open{overflow:hidden}
.nav-item.has-children > a{justify-content:center;text-align:center}
.nav-item.has-children{position:relative}
.nav-dropdown{
  top:calc(100% + 6px)!important;
  left:50%!important;
  right:auto!important;
  min-width:210px;
  text-align:center;
  visibility:hidden;
  transform:translate(-50%,8px)!important;
  transition:opacity .18s ease .08s,transform .18s ease .08s,visibility 0s linear .22s!important;
}
.nav-dropdown::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-dropdown a{justify-content:center;text-align:center;white-space:normal;line-height:1.2;padding-top:10px;padding-bottom:10px}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown,
.nav-item.is-open .nav-dropdown,
.site-nav.header .nav-zone-center .nav-item:hover .nav-dropdown,
.site-nav.header .nav-zone-center .nav-item:focus-within .nav-dropdown,
.site-nav.header .nav-zone-center .nav-item.is-open .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0)!important;
  transition-delay:0s!important;
}
.site-nav.header .nav-zone-left .nav-dropdown,
.site-nav.header .nav-zone-center .nav-dropdown,
.site-nav.header .nav-zone-right .nav-dropdown{left:50%!important;right:auto!important;transform:translate(-50%,8px)!important}
.site-nav.header .nav-zone-left .nav-item:hover .nav-dropdown,
.site-nav.header .nav-zone-left .nav-item:focus-within .nav-dropdown,
.site-nav.header .nav-zone-left .nav-item.is-open .nav-dropdown,
.site-nav.header .nav-zone-right .nav-item:hover .nav-dropdown,
.site-nav.header .nav-zone-right .nav-item:focus-within .nav-dropdown,
.site-nav.header .nav-zone-right .nav-item.is-open .nav-dropdown{transform:translate(-50%,0)!important}

.showcase-tile.is-filter-hidden,
.showcase-tile[hidden],
.project-tile[hidden]{display:none!important}
.filter-chip[aria-pressed="true"]{background:rgba(103,232,249,.14);border-color:rgba(103,232,249,.35);color:#fff}
.showcase-tile-media{background:rgba(3,13,20,.42)}
.showcase-tile-media img.fit-contain,
.showcase-carousel-img.fit-contain{object-fit:contain!important;padding:10px;background:rgba(3,13,20,.28)}
.showcase-tile-media img.fit-cover,
.showcase-carousel-img.fit-cover{object-fit:cover!important;padding:0}
.showcase-tile-media img.fit-fill,
.showcase-carousel-img.fit-fill{object-fit:fill!important;padding:0}
.showcase-tile:hover .showcase-carousel-img.fit-contain.is-active{transform:scale(1.018)}

.modal[open]{display:grid;place-items:center}
.project-modal{max-width:min(920px,calc(100vw - 24px))}
.project-modal .modal-card{width:100%;max-height:min(90vh,880px)}
.project-modal .modal-content-pane{max-height:min(90vh,880px);overflow:hidden}
.modal-cover-frame{display:grid;place-items:center;background:rgba(3,13,20,.45)}
.modal-cover-frame img.fit-contain{object-fit:contain!important;padding:10px;background:rgba(3,13,20,.2)}
.modal-cover-frame img.fit-cover{object-fit:cover!important;padding:0}
.modal-cover-frame img.fit-fill{object-fit:fill!important;padding:0}
.modal-detail-rich{overscroll-behavior:contain;scrollbar-gutter:stable;max-width:100%}
.modal-detail-rich .page-bb-image{display:block;max-width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:18px;margin:14px 0;background:rgba(3,13,20,.36)}
.modal-detail-rich .page-bb-box{overflow-wrap:anywhere}
.modal-detail-rich > *:last-child{margin-bottom:0}
.project-image-grid-wrap{max-height:min(50vh,460px);overflow:auto;overscroll-behavior:contain;padding-right:4px}
.project-image-grid{max-height:none!important;overflow:visible!important}
.project-image-trigger{display:grid;gap:8px;width:100%;padding:0;border:1px solid rgba(234,244,248,.11);border-radius:16px;background:rgba(255,255,255,.04);color:var(--p-text);cursor:pointer;text-align:left;overflow:hidden}
.project-image-trigger img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain!important;background:rgba(3,13,20,.42);transition:transform .2s ease}
.project-image-trigger span{display:block;padding:0 12px 12px;color:rgba(234,244,248,.82);font-weight:750;font-size:.9rem;line-height:1.25}
.project-image-trigger:hover img,.project-image-trigger:focus-visible img{transform:scale(1.025)}
.project-image-trigger:focus-visible{outline:2px solid rgba(103,232,249,.58);outline-offset:3px}
.image-lightbox{max-width:min(1040px,calc(100vw - 24px))}
.image-lightbox-card{padding:18px;width:100%;max-height:min(92vh,900px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}
.image-lightbox-topline{margin-bottom:0}.image-lightbox-topline h3{margin:0;font-size:clamp(1.2rem,3vw,2rem);line-height:1.1}
.image-lightbox-figure{margin:0;min-height:0;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(234,244,248,.11);border-radius:20px;background:rgba(3,13,20,.48)}
.image-lightbox-figure img{display:block;max-width:100%;max-height:min(68vh,680px);width:auto;height:auto;object-fit:contain}
.image-lightbox-summary{padding:12px 14px;border:1px solid rgba(234,244,248,.1);border-radius:16px;background:rgba(255,255,255,.045);color:var(--p-muted);line-height:1.55}
.image-lightbox-summary[hidden]{display:none!important}

@media (max-width:920px){
  .site-nav.header{gap:10px;padding:12px!important}
  .site-nav.header .nav-zone{align-items:stretch!important}
  .site-nav.header .nav-zone .nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .nav a,.nav-item>a{justify-content:center;text-align:center;width:100%}
  .nav-item{position:relative;width:100%}
  .nav-dropdown{position:absolute;left:50%!important;right:auto!important;width:min(280px,calc(100vw - 48px));min-width:0;z-index:80}
  .showcase-filters{gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;scrollbar-width:thin}
  .filter-chip{flex:0 0 auto;white-space:nowrap}
  .project-modal,.image-lightbox{max-width:calc(100vw - 14px)}
  .project-modal .modal-card,.project-modal .modal-content-pane{max-height:92vh}
  .project-image-grid-wrap{max-height:46vh}
}
@media (max-width:640px){
  .page-section{padding-left:16px!important;padding-right:16px!important}
  .site-nav.header .nav-zone .nav{grid-template-columns:1fr}
  .nav-dropdown{position:static!important;width:100%;transform:none!important;margin-top:6px;box-shadow:none}
  .nav-item:hover .nav-dropdown,
  .nav-item:focus-within .nav-dropdown,
  .nav-item.is-open .nav-dropdown,
  .site-nav.header .nav-zone-left .nav-item:hover .nav-dropdown,
  .site-nav.header .nav-zone-left .nav-item:focus-within .nav-dropdown,
  .site-nav.header .nav-zone-left .nav-item.is-open .nav-dropdown,
  .site-nav.header .nav-zone-center .nav-item:hover .nav-dropdown,
  .site-nav.header .nav-zone-center .nav-item:focus-within .nav-dropdown,
  .site-nav.header .nav-zone-center .nav-item.is-open .nav-dropdown,
  .site-nav.header .nav-zone-right .nav-item:hover .nav-dropdown,
  .site-nav.header .nav-zone-right .nav-item:focus-within .nav-dropdown,
  .site-nav.header .nav-zone-right .nav-item.is-open .nav-dropdown{transform:none!important}
  .showcase-tile{border-radius:22px}
  .showcase-tile-body{min-height:auto!important;padding:16px}
  .showcase-tile-meta{align-items:flex-start;flex-direction:column}.showcase-tile-meta span:last-child{max-width:100%;text-align:left}
  .modal-content-pane{padding:18px!important}
  .modal-cover-frame img{max-height:210px!important;aspect-ratio:16/10!important}
  .modal-tabs{border-radius:20px}.modal-tab{font-size:.8rem;padding:0 9px}
  .modal-scroll{max-height:34vh!important}
  .project-image-grid-wrap{max-height:40vh}.project-image-grid{grid-template-columns:1fr!important}
  .image-lightbox-card{padding:12px;border-radius:22px}.image-lightbox-figure img{max-height:62vh}.image-lightbox-summary{font-size:.94rem}
}


/* V4 font controls, modal clipping fixes, per-image fit and image-preview arrows. */
.headline,.text-block h2,.box h2,.card h3,.modal h3,.modal-body h3,.showcase-tile h3,.news-card h3,.news-list-card h3{font-family:var(--p-heading-font)!important}
.section-kicker,.visual::before,.showcase-tile-placeholder,.showcase-tile-meta,.modal-kicker,.showcase-mini,.showcase-carousel-count{font-family:var(--p-mono-font)!important}
.page-btn:not(.ghost),.quote-form .page-btn[type="submit"]{color:#03111a!important;text-shadow:none}
.quote-form .page-btn[type="submit"]{border:1px solid rgba(255,255,255,.18)}

.project-modal{width:min(960px,calc(100vw - 24px));max-width:min(960px,calc(100vw - 24px));overflow:visible}
.project-modal .modal-card{width:100%;max-height:calc(100dvh - 28px);overflow:hidden}
.project-modal .modal-content-pane.full{display:flex;flex-direction:column;gap:0;max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.project-modal .modal-topline,.project-modal h3,.project-modal .project-fact-row,.project-modal .modal-cover-frame,.project-modal .modal-tabs,.project-modal .modal-actions{flex:0 0 auto}
.project-modal .modal-tab-panel{min-height:0;flex:1 1 auto;overflow:hidden}
.project-modal .modal-tab-panel.is-active{display:flex;flex-direction:column}
.project-modal .modal-tab-panel[hidden]{display:none!important}
.project-modal .modal-scroll{height:auto;max-height:clamp(230px,42dvh,520px);overflow:auto;overscroll-behavior:contain;padding-right:6px}
.project-modal .project-image-grid-wrap{height:auto;max-height:clamp(260px,48dvh,560px);overflow:auto;overscroll-behavior:contain;padding-right:6px}
.project-image-grid{align-items:start}
.project-image-trigger img.fit-contain{object-fit:contain!important;padding:10px;background:rgba(3,13,20,.42)}
.project-image-trigger img.fit-cover{object-fit:cover!important;padding:0;background:rgba(3,13,20,.42)}
.project-image-trigger img.fit-fill{object-fit:fill!important;padding:0;background:rgba(3,13,20,.42)}
.project-image-trigger span{min-height:2.5em}
.modal-detail-rich{overflow-wrap:anywhere}
.modal-detail-rich img,.modal-detail-rich .page-bb-image{max-width:100%;height:auto}

.image-lightbox{width:min(1100px,calc(100vw - 24px));max-width:min(1100px,calc(100vw - 24px));overflow:visible}
.image-lightbox-card{max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain}
.image-lightbox-figure{position:relative;min-height:260px}
.image-lightbox-figure img.fit-contain{max-width:100%;max-height:min(68dvh,680px);width:auto;height:auto;object-fit:contain}
.image-lightbox-figure img.fit-cover{width:100%;height:min(68dvh,680px);max-height:min(68dvh,680px);object-fit:cover}
.image-lightbox-figure img.fit-fill{width:100%;height:min(68dvh,680px);max-height:min(68dvh,680px);object-fit:fill}
.image-lightbox-nav{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(234,244,248,.26);background:rgba(3,13,20,.72);color:#fff;font:900 1.7rem/1 var(--p-font);cursor:pointer;backdrop-filter:blur(10px);transform:translateY(-50%);transition:background .16s ease, transform .16s ease, border-color .16s ease}
.image-lightbox-nav.prev{left:12px}.image-lightbox-nav.next{right:12px}
.image-lightbox-nav:hover,.image-lightbox-nav:focus-visible{background:rgba(103,232,249,.2);border-color:rgba(103,232,249,.48);transform:translateY(-50%) scale(1.04)}
.image-lightbox-nav[hidden]{display:none!important}
.image-lightbox-summary{max-height:22dvh;overflow:auto}

@media (max-width:920px){
  .project-modal,.image-lightbox{width:calc(100vw - 14px);max-width:calc(100vw - 14px)}
  .project-modal .modal-card,.project-modal .modal-content-pane.full,.image-lightbox-card{max-height:calc(100dvh - 14px)}
  .project-modal .modal-scroll{max-height:38dvh}
  .project-modal .project-image-grid-wrap{max-height:42dvh}
  .image-lightbox-nav{width:40px;height:40px}
}
@media (max-width:640px){
  .project-modal .modal-scroll{max-height:34dvh!important}
  .project-modal .project-image-grid-wrap{max-height:38dvh!important}
  .image-lightbox-figure{min-height:210px}
  .image-lightbox-figure img.fit-cover,.image-lightbox-figure img.fit-fill{height:60dvh;max-height:60dvh}
  .image-lightbox-figure img.fit-contain{max-height:60dvh}
  .image-lightbox-nav{width:36px;height:36px;font-size:1.35rem}
  .image-lightbox-nav.prev{left:8px}.image-lightbox-nav.next{right:8px}
}

/* V5 sticky header, mobile menu, advanced typography, and detailed quote form. */
html{scroll-padding-top:104px}
body{font-size:var(--p-font-size,16px)}
.site-nav{font-family:var(--p-nav-font,var(--p-font));transition:box-shadow .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
.site-nav.is-sticky{position:sticky;top:14px;z-index:120;margin-top:0}
.site-nav.is-sticky.is-scrolled{background:rgba(3,13,20,.72);border-color:rgba(103,232,249,.22);box-shadow:0 18px 55px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.05)}
.nav-zone{display:flex;align-items:center;gap:10px}.nav-zone-left{justify-content:flex-start;flex:1 1 0}.nav-zone-center{justify-content:center;flex:1 1 0}.nav-zone-right{justify-content:flex-end;flex:1 1 0}
.mobile-nav-toggle{display:none;width:42px;height:42px;border-radius:999px;border:1px solid rgba(234,244,248,.14);background:rgba(255,255,255,.06);color:var(--p-text);place-items:center;gap:4px;padding:9px;cursor:pointer}
.mobile-nav-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.site-nav.mobile-open .mobile-nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-nav.mobile-open .mobile-nav-toggle span:nth-child(2){opacity:0}.site-nav.mobile-open .mobile-nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-nav-panel{display:none}.page-btn,.action-btn,.filter-chip{font-family:var(--p-button-font,var(--p-font));font-weight:var(--p-button-weight,790)}
.headline,.text-block h2,.box h2,.page-rich h1,.page-rich h2,.page-rich h3{font-weight:var(--p-heading-weight,760)}.card,.showcase-tile{font-family:var(--p-card-font,var(--p-font))}.card h3,.showcase-tile h3{font-weight:var(--p-card-heading-weight,730)}.modal,.modal-card{font-family:var(--p-modal-font,var(--p-font))}
.quote-request-shell{display:grid;gap:20px}.quote-section-fieldset{margin:0 0 18px;padding:18px;border:1px solid rgba(234,244,248,.12);border-radius:22px;background:rgba(255,255,255,.035)}.quote-section-fieldset legend{padding:0 8px;text-align:left}.quote-section-fieldset legend strong{display:block;color:#fff;font-size:1.08rem;letter-spacing:-.02em}.quote-section-fieldset legend span{display:block;color:var(--p-muted);font-size:.92rem;max-width:680px}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}.check-list label{display:flex!important;align-items:flex-start;gap:8px;padding:10px;border:1px solid rgba(234,244,248,.1);border-radius:14px;background:rgba(3,13,20,.28);font-weight:650!important}.check-list input{width:auto!important;margin-top:3px}.check-list.single{grid-template-columns:1fr}.quote-success.error{border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.12);color:#ffe0e0}
@media(max-width:920px){
  .site-nav.is-sticky{top:8px}.site-nav.header{position:sticky;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-radius:24px;margin-bottom:34px}.site-nav.header .nav-zone{min-width:0}.site-nav.header .nav-zone-left{flex:1 1 auto}.site-nav.header .nav-zone-center{flex:0 0 auto}.site-nav.header .nav-zone-right{flex:0 0 auto;margin-left:auto}.site-nav.header .nav-zone .nav{display:none!important}.mobile-nav-toggle{display:grid}.mobile-nav-panel{flex:1 0 100%;width:100%;order:10}.site-nav.mobile-open .mobile-nav-panel{display:block}.mobile-nav-panel .nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;margin-top:6px;border:1px solid rgba(234,244,248,.1);border-radius:20px;background:rgba(3,13,20,.42);max-height:min(62vh,430px);overflow:auto}.mobile-nav-panel .nav a,.mobile-nav-panel .nav-item>a{min-height:42px;justify-content:center;text-align:center;background:rgba(255,255,255,.045)}.mobile-nav-panel .nav-item{width:100%}.mobile-nav-panel .nav-dropdown{position:static!important;width:100%!important;min-width:0;margin-top:6px;opacity:1;pointer-events:auto;transform:none!important;display:none;box-shadow:none;background:rgba(255,255,255,.045)}.mobile-nav-panel .nav-item.is-open .nav-dropdown,.mobile-nav-panel .nav-item:focus-within .nav-dropdown{display:grid}.mobile-nav-panel .nav-dropdown a{justify-content:center}.brand-morph{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:620px){.mobile-nav-panel .nav{grid-template-columns:1fr;max-height:min(58vh,360px)}.check-list{grid-template-columns:1fr}.quote-section-fieldset{padding:14px}.site-nav.header{padding:9px!important}}

/* V6: reliable fixed header, mini scroll logo, Quote Manager hub, mobile accordion polish. */
html{scroll-padding-top:110px}
.site-nav.header{font-family:var(--p-nav-font,var(--p-font));}
.site-nav.is-sticky{position:fixed!important;top:14px!important;left:50%!important;right:auto!important;width:min(1160px,calc(100vw - 32px))!important;transform:translateX(-50%)!important;z-index:900!important;margin:0!important;max-width:calc(100vw - 32px);}
.site-nav.is-sticky.is-scrolled{background:rgba(3,13,20,.72);border-color:rgba(103,232,249,.22);box-shadow:0 18px 55px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.05)}
body.has-fixed-site-header .page-section:first-of-type{padding-top:max(var(--py,72px),104px)!important}.site-nav.header .brand{font-family:var(--p-site-name-font,var(--p-nav-font));font-size:var(--p-site-name-size,17px);font-weight:var(--p-site-name-weight,820)}.nav a,.nav-item>a{font-family:var(--p-nav-font,var(--p-font));font-size:var(--p-nav-size,.93rem);font-weight:var(--p-nav-weight,650)}.nav-dropdown{font-family:var(--p-dropdown-font,var(--p-nav-font));font-size:var(--p-dropdown-size,.92rem);font-weight:var(--p-dropdown-weight,680);background:linear-gradient(180deg,rgba(9,24,34,.94),rgba(4,14,22,.94));backdrop-filter:blur(16px);border-color:rgba(103,232,249,.18)}.nav-dropdown a{color:rgba(234,244,248,.9)!important}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:rgba(103,232,249,.16)!important;color:#fff!important}.nav-caret{font-size:.9em;opacity:.78;margin-left:3px;transition:transform .16s ease}.nav-item.is-open .nav-caret,.nav-item:hover .nav-caret{transform:rotate(180deg)}.nav-mini-logo{display:inline-grid;place-items:center;flex:0 0 auto;width:auto;height:auto;border-radius:999px;opacity:1;transform:scale(1);transition:opacity .2s ease,transform .2s ease,max-width .2s ease;margin-right:4px}.nav-mini-logo img{display:block;object-fit:contain;border-radius:999px;border:1px solid rgba(234,244,248,.12);box-shadow:0 8px 20px rgba(0,0,0,.24)}.nav-mini-logo img.cover{object-fit:cover}.nav-mini-logo img.fill{object-fit:fill}.nav-mini-logo.mini-logo-scrolled{opacity:0;max-width:0;overflow:hidden;transform:scale(.72);pointer-events:none;margin-right:0}.site-nav.is-scrolled .nav-mini-logo.mini-logo-scrolled{opacity:1;max-width:90px;transform:scale(1);pointer-events:auto;margin-right:4px}.headline{font-family:var(--p-hero-title-font,var(--p-heading-font))!important;font-size:clamp(2.75rem,7.5vw,var(--p-hero-title-size,88px));font-weight:var(--p-hero-title-weight,var(--p-heading-weight,760))}.copy{font-family:var(--p-hero-body-font,var(--p-font));font-size:var(--p-hero-body-size,18px);font-weight:var(--p-hero-body-weight,420)}.section-kicker{font-family:var(--p-hero-label-font,var(--p-mono-font))!important}.form,.quote-form,.quote-manager-shell{font-family:var(--p-form-font,var(--p-font));font-size:var(--p-form-size,15.5px)}.form label{font-weight:var(--p-form-weight,560)}.quote-manager-page,.quote-print-shell{font-family:var(--p-quote-font,var(--p-font))}.source-project-note{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 18px;padding:10px 14px;border:1px solid rgba(103,232,249,.2);border-radius:999px;background:rgba(103,232,249,.08);color:var(--p-text)}.source-project-note span{color:var(--p-muted);font-size:.9em}.source-project-note strong{color:#fff}.source-project-note a{color:var(--p-primary);font-weight:800;text-decoration:none}.quote-manager-shell{display:grid;gap:20px}.quote-manager-hero{text-align:center;margin:0 auto 6px;max-width:820px}.quote-hub-grid{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:18px;align-items:start}.quote-hub-grid.single{grid-template-columns:minmax(0,640px);justify-content:center}.quote-login-card,.quote-status-card,.quote-brief-card{padding:22px;border:1px solid rgba(234,244,248,.12);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));box-shadow:0 18px 58px rgba(0,0,0,.24)}.quote-status-card{position:sticky;top:104px;display:grid;gap:12px}.quote-status-card h2,.quote-brief-card h2{margin:0;color:#fff;letter-spacing:-.04em}.quote-number{margin:0;padding:10px 12px;border-radius:16px;background:rgba(3,13,20,.35);border:1px solid rgba(234,244,248,.1)}.quote-status-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;color:var(--p-muted)}.quote-status-card dt{font-weight:800;color:rgba(234,244,248,.82)}.quote-status-card dd{margin:0}.customer-note,.locked-brief-note{padding:14px;border:1px solid rgba(103,232,249,.18);border-radius:18px;background:rgba(103,232,249,.075);color:var(--p-muted)}.customer-note strong,.locked-brief-note strong{color:#fff}.mini-form{display:grid;gap:10px;margin-top:8px}.mini-form input{margin-top:6px}.quote-brief-card{min-width:0}.quote-section-fieldset{padding:14px 16px;margin:0 0 12px;border-radius:20px}.quote-section-fieldset legend{padding:0 6px}.quote-section-fieldset legend strong{font-size:1rem}.quote-section-fieldset legend span{font-size:.86rem}.quote-grid.auto{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.field-type-textarea,.field-type-checkboxes{grid-column:1/-1}.form input,.form textarea,.form select{border-color:rgba(234,244,248,.16);background:rgba(4,14,22,.62);color:var(--p-text)}.form select option{background:#07131d;color:#fff}.form textarea{min-height:104px}.check-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.check-list label{min-height:0!important;padding:8px 9px!important;border-radius:12px!important;line-height:1.28;background:rgba(4,14,22,.56)!important}.check-list input{flex:0 0 auto}.quote-submit-row{justify-content:flex-end;margin-top:12px}.compact-change-form{margin-top:14px}.submitted-answer-list{display:grid;gap:8px;margin-top:18px}.submitted-answer-list p{margin:0;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(234,244,248,.09);color:var(--p-muted)}.submitted-answer-list strong{color:#fff}.quote-success.error{border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.12);color:#ffe0e0}.muted{color:var(--p-muted)}.badge-status.status-awaiting_details,.badge-status.status-details_received,.badge-status.status-reviewing,.badge-status.status-preparing_quote,.badge-status.status-quote_ready,.badge-status.status-awaiting_approval{background:rgba(103,232,249,.14);border-color:rgba(103,232,249,.28);color:#e1fbff}.badge-status.status-approved{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.34);color:#dcfce7}.badge-status.status-declined{background:rgba(248,113,113,.14);border-color:rgba(248,113,113,.35);color:#ffe0e0}
@media(max-width:920px){
  .site-nav.is-sticky{top:8px!important;width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important}.site-nav.header{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;border-radius:24px!important;padding:9px 10px!important}.site-nav.header .nav-zone{min-width:0}.site-nav.header .nav-zone-left{flex:1 1 auto}.site-nav.header .nav-zone-center{flex:0 1 auto}.site-nav.header .nav-zone-right{flex:0 0 auto;margin-left:auto}.site-nav.header .nav-zone .nav{display:none!important}.mobile-nav-toggle{display:grid!important}.mobile-nav-panel{flex:1 0 100%;width:100%;order:10}.site-nav.mobile-open .mobile-nav-panel{display:block}.mobile-nav-panel .nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;margin-top:6px;border:1px solid rgba(234,244,248,.12);border-radius:20px;background:rgba(3,13,20,.74);backdrop-filter:blur(14px);max-height:min(66vh,440px);overflow:auto}.mobile-nav-panel .nav a,.mobile-nav-panel .nav-item>a{min-height:42px;justify-content:center;text-align:center;background:rgba(255,255,255,.055)}.mobile-nav-panel .nav-item{width:100%;display:grid}.mobile-nav-panel .nav-dropdown{position:static!important;width:100%!important;min-width:0;margin-top:6px;opacity:1;pointer-events:auto;transform:none!important;display:none;box-shadow:none;background:rgba(255,255,255,.055);border-radius:16px}.mobile-nav-panel .nav-item.is-open .nav-dropdown{display:grid}.mobile-nav-panel .nav-item:not(.is-open):focus-within .nav-dropdown{display:none}.brand-morph{max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-hub-grid{grid-template-columns:1fr}.quote-status-card{position:static}.quote-grid.auto{grid-template-columns:1fr}.check-list{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-manager-hero{text-align:left}.source-project-note{justify-content:flex-start;border-radius:18px}.quote-submit-row{justify-content:stretch}.quote-submit-row .page-btn{flex:1 1 100%}
}
@media(max-width:620px){body.has-fixed-site-header .page-section:first-of-type{padding-top:max(var(--py,72px),96px)!important}.mobile-nav-panel .nav{grid-template-columns:1fr;max-height:min(62vh,390px)}.check-list{grid-template-columns:1fr}.quote-login-card,.quote-status-card,.quote-brief-card{padding:16px;border-radius:22px}.quote-section-fieldset{padding:12px}.nav-mini-logo img{width:30px!important;height:30px!important}.site-nav.header .brand{font-size:min(var(--p-site-name-size,17px),16px)}}

/* V7 customer/admin UX fixes: compact checks, no-refresh form status, quote downloads. */
.hidden{display:none!important}.contact-inline-status{margin:0 0 12px;max-width:none}.form input[type="checkbox"],.form input[type="radio"]{width:auto!important;min-width:0!important;margin:0!important;padding:0!important;box-shadow:none!important}.check-list{align-items:start}.check-list label{display:flex!important;align-items:center!important;gap:8px!important;min-height:0!important;width:auto!important}.check-list input[type="checkbox"],.check-list input[type="radio"]{flex:0 0 auto!important;inline-size:16px!important;block-size:16px!important;margin:0!important}.page-btn.save-draft-btn{background:linear-gradient(135deg,#60a5fa,#67e8f9)!important;color:#03111a!important;border-color:rgba(103,232,249,.45)!important;box-shadow:0 14px 28px rgba(96,165,250,.18)!important}.page-btn.warning{background:linear-gradient(135deg,#facc15,#fb923c)!important;color:#160d02!important;border-color:rgba(251,191,36,.45)!important}.page-btn.small{min-height:38px;padding:10px 14px;font-size:.88rem}.phrase-panel{display:grid;gap:8px;padding:14px;border:1px solid rgba(251,191,36,.22);border-radius:18px;background:rgba(251,191,36,.075)}.phrase-panel .mini-form{margin-top:4px}.quote-download-card{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.09)}.quote-archive-card{border-color:rgba(148,163,184,.24);background:rgba(148,163,184,.08)}.quote-archive-card p:not(:first-of-type){padding-top:8px;border-top:1px solid rgba(234,244,248,.08)}.form[data-contact-form][data-submitted="1"]{opacity:.95}.form[data-contact-form][data-submitted="1"] input,.form[data-contact-form][data-submitted="1"] textarea,.form[data-contact-form][data-submitted="1"] select{opacity:.7;cursor:not-allowed}
@media(max-width:760px){.check-list{grid-template-columns:1fr!important}.quote-download-card .page-btn{width:100%;justify-content:center}}

/* V8 fixes: remove sticky header top gap, customer quote actions, compact passphrase panel. */
.site-nav.is-sticky{top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important;}
@media(max-width:920px){.site-nav.is-sticky{top:0!important}}
.quote-download-card{display:grid;gap:10px}.quote-action-form{display:grid;gap:8px;margin:8px 0 0}.quote-action-form .page-btn{width:100%;justify-content:center}.page-btn.success{background:linear-gradient(135deg,#34d399,#a7f3d0)!important;color:#03111a!important;border-color:rgba(255,255,255,.28)!important}.compact-phrase-panel{margin-top:16px;padding-top:12px;border-top:1px solid rgba(234,244,248,.08);opacity:.82}.compact-phrase-panel .page-btn.warning{min-height:34px;padding:8px 12px;font-size:.88rem;background:rgba(255,255,255,.065)!important;color:rgba(234,244,248,.86)!important}.compact-phrase-panel .muted{font-size:.82rem;margin:.35rem 0}.compact-change-form textarea{min-height:86px}.quote-success{animation:none!important}.quote-manager-shell .quote-success{position:relative}.quote-status-stack{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* V9 header and quote-manager revision flow fixes. */
.site-nav.is-sticky{top:14px!important;width:min(1160px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;border-radius:999px!important;padding:12px 18px!important;transition:top .2s ease,width .2s ease,max-width .2s ease,border-radius .2s ease,background .2s ease,box-shadow .2s ease,padding .2s ease!important}
.site-nav.is-sticky.is-scrolled{top:0!important;width:min(1160px,100vw)!important;max-width:100vw!important;border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-left-radius:24px!important;border-bottom-right-radius:24px!important;padding:10px 18px!important}
body.has-fixed-site-header .page-section:first-of-type{padding-top:max(var(--py,72px),132px)!important}
.site-nav.header .nav-zone{min-width:0}.site-nav.header .brand{min-width:0}.site-nav.header .nav{gap:8px}.site-nav.header .nav a,.site-nav.header .nav-item>a{padding-inline:15px}
.revision-area-picker{padding:12px 14px;border:1px solid rgba(234,244,248,.12);border-radius:16px;background:rgba(255,255,255,.045);color:var(--p-muted)}
.revision-area-picker summary{cursor:pointer;font-weight:800;color:var(--p-text)}
.revision-check-list{display:grid!important;margin-top:10px}.revision-request-form{gap:12px}.quote-download-card strong{font-size:1.02rem}.quote-download-card .page-btn{width:100%}
@media(max-width:920px){.site-nav.is-sticky{top:10px!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;padding:11px 14px!important}.site-nav.is-sticky.is-scrolled{top:0!important;width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px)!important;border-bottom-left-radius:22px!important;border-bottom-right-radius:22px!important}.site-nav.header{gap:10px!important}.site-nav.header .nav-zone-left{flex:1 1 0;min-width:0}.site-nav.header .nav-zone-right{flex:0 0 auto}.mobile-nav-toggle{margin-left:4px}body.has-fixed-site-header .page-section:first-of-type{padding-top:max(var(--py,72px),124px)!important}.hero .logo{margin-top:8px}.brand-morph{max-width:42vw}}
@media(max-width:620px){.site-nav.is-sticky{top:8px!important;width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;padding:10px 12px!important}.site-nav.is-sticky.is-scrolled{top:0!important;width:calc(100vw - 6px)!important;max-width:calc(100vw - 6px)!important}.site-nav.header .brand{font-size:min(var(--p-site-name-size,17px),15px)}body.has-fixed-site-header .page-section:first-of-type{padding-top:max(var(--py,72px),118px)!important}.quote-manager-page{--px:16px!important}.revision-check-list{grid-template-columns:1fr!important}}
@supports selector(body:has(.site-nav.is-sticky)){body:has(.site-nav.is-sticky) .page-section:first-of-type{padding-top:max(var(--py,72px),132px)!important}@media(max-width:920px){body:has(.site-nav.is-sticky) .page-section:first-of-type{padding-top:max(var(--py,72px),124px)!important}}@media(max-width:620px){body:has(.site-nav.is-sticky) .page-section:first-of-type{padding-top:max(var(--py,72px),118px)!important}}}

/* V10 quote manager revision, approval, and messaging refinements. */
.revision-request-panel,.quote-message-card,.quote-approved-panel{margin-top:18px;padding:16px;border:1px solid rgba(234,244,248,.12);border-radius:20px;background:rgba(255,255,255,.045)}
.revision-panel-head{display:grid;gap:4px;margin-bottom:12px}.revision-panel-head h2{margin:0}.revision-panel-head p{margin:0}
.submitted-answer-list.selectable{gap:10px}.submitted-answer-option{display:flex!important;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid rgba(234,244,248,.1);border-radius:15px;background:rgba(255,255,255,.04);color:var(--p-muted);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.submitted-answer-option:hover,.submitted-answer-option:focus-within{border-color:rgba(103,232,249,.34);background:rgba(103,232,249,.08);transform:translateY(-1px)}.submitted-answer-option input{width:auto!important;flex:0 0 auto;margin-top:4px}.submitted-answer-option span{min-width:0}.submitted-answer-option strong{color:#fff}.revision-request-form textarea,.quote-message-form textarea{min-height:94px}.quote-message-card{display:grid;gap:14px}.quote-message-thread{display:grid;gap:10px;max-height:420px;overflow:auto;padding-right:4px}.quote-message{padding:12px 14px;border:1px solid rgba(234,244,248,.1);border-radius:16px;background:rgba(3,13,20,.35);color:var(--p-muted)}.quote-message strong{display:block;color:#fff}.quote-message small{display:block;color:rgba(234,244,248,.52);font-size:.78rem;margin-top:2px}.quote-message p{margin:.45rem 0 0}.quote-message-admin{margin-left:28px;border-color:rgba(103,232,249,.24);background:rgba(103,232,249,.08)}.quote-message-customer{margin-right:28px}.quote-message-system{border-style:dashed;background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.24)}.quote-approved-panel{border-color:rgba(34,197,94,.34);background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(103,232,249,.07))}.quote-approved-panel h2{margin:.2rem 0;color:#fff}.quote-approved-panel p{color:var(--p-muted)}.quote-next-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quote-next-steps li{padding:10px;border:1px solid rgba(234,244,248,.12);border-radius:14px;background:rgba(3,13,20,.35);color:var(--p-muted);font-weight:800;text-align:center}.quote-next-steps li.done{border-color:rgba(34,197,94,.36);color:#dcfce7;background:rgba(34,197,94,.12)}.quote-next-steps li.active{border-color:rgba(103,232,249,.4);color:#e1fbff;background:rgba(103,232,249,.12)}.approved-download-card{border-color:rgba(34,197,94,.34)!important;background:rgba(34,197,94,.11)!important}.badge-status.status-work_in_progress{background:rgba(103,232,249,.14);border-color:rgba(103,232,249,.34);color:#e1fbff}.badge-status.status-completed{background:rgba(34,197,94,.2);border-color:rgba(34,197,94,.42);color:#dcfce7}
@media(max-width:700px){.quote-next-steps{grid-template-columns:1fr}.quote-message-admin,.quote-message-customer{margin-left:0;margin-right:0}}

/* V11 quote manager jobs, maintenance, tighter forms, and sticky message panel. */
.form input,.form textarea,.form select{padding:11px 12px;border-radius:13px}.form textarea{min-height:105px}.quote-login-card,.quote-status-card,.quote-brief-card{padding:18px;border-radius:22px}.quote-hub-grid{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px}.quote-brief-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;align-items:start}.quote-brief-card>.quote-message-card{grid-column:2;grid-row:1 / span 8;position:sticky;top:104px;margin-top:0}.quote-brief-card>form,.quote-brief-card>.locked-brief-note,.quote-brief-card>.revision-request-panel,.quote-brief-card>.quote-approved-panel,.quote-brief-card>.submitted-answer-list,.quote-brief-card>.maintenance-request-card{grid-column:1}.quote-message-thread{max-height:540px}.quote-message-card,.revision-request-panel,.quote-approved-panel{padding:14px;border-radius:18px}.quote-next-steps{grid-template-columns:repeat(5,minmax(0,1fr))}.quote-next-steps li{padding:9px 8px;font-size:.86rem}.maintenance-request-card{border-color:rgba(103,232,249,.26);background:rgba(103,232,249,.07)}.badge-status.status-scheduling_access,.badge-status.status-completion_handover,.badge-status.status-maintenance_updates{background:rgba(103,232,249,.14);border-color:rgba(103,232,249,.34);color:#e1fbff}.quote-download-card .page-btn{width:100%;justify-content:center}.quote-message-admin{margin-left:18px}.quote-message-customer{margin-right:18px}@media(max-width:1100px){.quote-brief-card{grid-template-columns:1fr}.quote-brief-card>.quote-message-card{grid-column:1;grid-row:auto;position:static;margin-top:18px}.quote-next-steps{grid-template-columns:1fr 1fr}}@media(max-width:760px){.quote-hub-grid{grid-template-columns:1fr}.quote-status-card{position:static}.quote-next-steps{grid-template-columns:1fr}.quote-message-admin,.quote-message-customer{margin-left:0;margin-right:0}}
.quote-brief-card>.maintenance-request-card{position:static!important;grid-row:auto!important;margin-top:18px!important}

/* Rebuild v12: compact mobile header, wider quote manager, bottom messages, per-section revisions. */
.quote-manager-page .page-container{width:min(90vw,1440px)!important}.quote-hub-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr)!important;gap:18px!important}.quote-brief-card{display:block!important}.quote-brief-card>.quote-message-card{position:static!important;margin-top:18px!important}.quote-message-thread{max-height:none!important}.submitted-answer-list.selectable{display:grid;gap:10px}.submitted-answer-option{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px 12px}.submitted-answer-option .revision-field-comment{grid-column:2;display:none;min-height:80px;margin-top:4px}.submitted-answer-option.is-selected{border-color:rgba(251,191,36,.42);background:rgba(251,191,36,.09)}.submitted-answer-option.is-selected .revision-field-comment{display:block}.customer-maintenance-list,.maintenance-request-summary{display:grid;gap:10px}.maintenance-request-summary{padding:12px;border:1px solid rgba(234,244,248,.12);border-radius:16px;background:rgba(3,13,20,.32)}.maintenance-request-summary .badge-status{justify-self:start}.quote-download-card .page-btn{margin-top:8px}.quote-archive-card .page-btn{min-height:34px;padding:0 12px;font-size:.86rem;margin-top:8px}
@media(max-width:920px){.site-nav.header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;border-radius:18px!important;padding:8px 10px!important;gap:8px!important}.site-nav.header .nav-zone{display:flex!important;min-width:0}.site-nav.header .nav-zone-left{grid-column:1}.site-nav.header .nav-zone-center{display:none!important}.site-nav.header .nav-zone-right{grid-column:2;justify-content:flex-end}.site-nav.header .nav-zone-right>.nav{display:none!important}.site-nav.header .brand{font-size:14px!important;max-width:100%;overflow:hidden}.brand-morph{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-toggle{display:inline-flex!important;width:40px!important;height:36px!important;border-radius:12px!important;margin:0!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(234,244,248,.14)!important}.mobile-nav-toggle span{width:16px!important}.mobile-nav-panel{top:calc(100% + 8px)!important;left:auto!important;right:0!important;width:min(320px,calc(100vw - 28px))!important;border-radius:18px!important;padding:10px!important}.site-nav.header.mobile-open .mobile-nav-panel{display:block!important}.mobile-nav-panel .nav{display:grid!important;gap:6px!important}.mobile-nav-panel .nav a,.mobile-nav-panel .nav-item>a{min-height:38px!important;border-radius:12px!important}.quote-hub-grid{grid-template-columns:1fr!important}.quote-manager-page .page-container{width:min(94vw,1440px)!important}.submitted-answer-option{grid-template-columns:1fr}.submitted-answer-option input[type="checkbox"]{justify-self:start}.submitted-answer-option .revision-field-comment{grid-column:1}.quote-next-steps{grid-template-columns:1fr!important}}

/* Jorm workflow/customer experience drop-in fixes v13. */
.quote-manager-page{--px:clamp(16px,3vw,34px)!important}
.quote-manager-page .page-container{width:min(96vw,1600px)!important;max-width:1600px!important}
.quote-manager-shell{max-width:1600px;margin-inline:auto}
.quote-manager-hero{max-width:900px;text-align:center}
.quote-hub-grid.single{grid-template-columns:minmax(0,680px)!important;place-content:center!important}
.quote-login-card{width:100%;max-width:680px;margin-inline:auto;padding:clamp(20px,4vw,34px)!important}
.quote-login-card .page-btn{width:100%;justify-content:center}
.quote-hub-grid{grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;align-items:start}
.quote-brief-card{padding:clamp(16px,2vw,24px)!important}
.quote-grid.auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important}
.check-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))!important}
.check-list label{word-break:normal;overflow-wrap:anywhere;min-width:0}
.quote-message-card{gap:12px!important}
.quote-message-thread{display:flex!important;flex-direction:column!important;gap:10px!important;max-height:min(46vh,420px)!important;overflow:auto!important;padding-right:4px}
.quote-message{width:100%;max-width:860px}
.quote-message-admin{margin-left:0!important;align-self:flex-start}
.quote-message-customer{margin-right:0!important;align-self:flex-end}
.quote-message-system{align-self:center;max-width:100%}
.quote-message-form textarea,.revision-request-form textarea{min-height:72px!important}
.submitted-answer-accordion{margin-top:18px;border:1px solid rgba(234,244,248,.12);border-radius:18px;background:rgba(255,255,255,.04);overflow:hidden}
.submitted-answer-accordion summary{cursor:pointer;padding:14px 16px;color:#fff;font-weight:850;list-style-position:inside}
.submitted-answer-accordion .submitted-answer-list{margin:0;padding:0 16px 16px}
.scope-progress-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.scope-progress-list li{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(234,244,248,.1);border-radius:14px;background:rgba(3,13,20,.3);color:var(--p-muted);font-weight:750}
.scope-progress-list li.done{border-color:rgba(34,197,94,.34);background:rgba(34,197,94,.1);color:#dcfce7}
.scope-progress-list li span{font-weight:900;color:var(--p-primary)}
.quote-print-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:22px auto 0}
@media(max-width:920px){
  .site-nav.header{justify-items:stretch!important}
  .mobile-nav-panel{flex-basis:100%!important;width:min(420px,calc(100vw - 28px))!important;margin-inline:auto!important}
  .site-nav.header.mobile-open .mobile-nav-panel,.site-nav.mobile-open .mobile-nav-panel{display:block!important}
  .mobile-nav-panel .nav{grid-template-columns:1fr!important;text-align:center}
  .mobile-nav-toggle{border-radius:14px!important;background:linear-gradient(135deg,rgba(103,232,249,.16),rgba(250,204,21,.12))!important;box-shadow:0 10px 28px rgba(103,232,249,.12)}
  .site-nav.mobile-open .mobile-nav-toggle{border-color:rgba(103,232,249,.42)!important;box-shadow:0 0 0 3px rgba(103,232,249,.08),0 14px 34px rgba(0,0,0,.24)}
  .site-nav.mobile-open .mobile-nav-toggle span:nth-child(1){transform:translateY(6px) rotate(135deg)!important}
  .site-nav.mobile-open .mobile-nav-toggle span:nth-child(2){opacity:1!important;transform:scaleX(.45)!important;background:var(--p-primary)!important}
  .site-nav.mobile-open .mobile-nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-135deg)!important}
  .quote-manager-hero{text-align:center}
  .quote-status-card{position:static}
  .quote-message-thread{max-height:360px!important}
}
@media(max-width:640px){
  .quote-manager-page .page-container{width:min(96vw,1600px)!important}
  .quote-login-card{padding:20px!important}
  .quote-message{align-self:stretch!important;max-width:100%}
}

/* V14: site-wide customer message composer sizing fix. */
.quote-message-card .quote-message-form,
.quote-message-form {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,260px)!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:14px!important;
  border:1px solid rgba(234,244,248,.1)!important;
  border-radius:18px!important;
  background:rgba(3,13,20,.28)!important;
}
.quote-message-card .quote-message-form label,
.quote-message-form label {
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  display:grid!important;
  gap:7px!important;
  align-content:start!important;
}
.quote-message-card .quote-message-form textarea,
.quote-message-form textarea {
  width:100%!important;
  min-height:clamp(142px,18vh,220px)!important;
  max-height:42vh!important;
  resize:vertical!important;
  line-height:1.45!important;
  font-size:1rem!important;
  padding:14px 16px!important;
  margin-top:0!important;
}
.quote-message-card .quote-message-form .page-btn,
.quote-message-form .page-btn,
.quote-message-form button {
  width:100%!important;
  min-height:56px!important;
  align-self:end!important;
  justify-content:center!important;
  margin:0!important;
  white-space:normal!important;
}
.quote-message-card > .quote-message-form:only-child,
.quote-message-card .quote-message-thread + .quote-message-form {
  margin-top:2px!important;
}
.quote-message-card .quote-message-thread {
  width:100%!important;
}
.quote-message-card .quote-message {
  overflow-wrap:anywhere!important;
}
.maintenance-request-card .quote-message-form,
.scope-progress-card + .quote-message-card .quote-message-form {
  grid-template-columns:minmax(0,1fr) minmax(180px,260px)!important;
}
@media(min-width:1200px){
  .quote-message-card .quote-message-form textarea,
  .quote-message-form textarea {min-height:180px!important;}
}
@media(max-width:820px){
  .quote-message-card .quote-message-form,
  .quote-message-form {
    grid-template-columns:1fr!important;
    padding:12px!important;
  }
  .quote-message-card .quote-message-form textarea,
  .quote-message-form textarea {min-height:136px!important;}
  .quote-message-card .quote-message-form .page-btn,
  .quote-message-form .page-btn,
  .quote-message-form button {min-height:52px!important;}
}

/* V16: inline AJAX message send state. */
.ajax-message-status{
  grid-column:1 / -1!important;
  margin:0!important;
  padding:9px 12px!important;
  border-radius:13px!important;
  border:1px solid rgba(103,232,249,.24)!important;
  background:rgba(103,232,249,.08)!important;
  color:#dffaff!important;
  font-size:.9rem!important;
  font-weight:750!important;
}
.ajax-message-status.is-error{
  border-color:rgba(248,113,113,.36)!important;
  background:rgba(248,113,113,.12)!important;
  color:#ffe0e0!important;
}
.ajax-message-status.is-success{
  border-color:rgba(34,197,94,.32)!important;
  background:rgba(34,197,94,.11)!important;
  color:#dcfce7!important;
}
.quote-message-form.is-ajax-sending textarea,
.message-compose-form.is-ajax-sending textarea{opacity:.72!important}
.quote-message.message-just-sent,
.admin-message.message-just-sent{animation:message-pop-in .42s ease-out both}
@keyframes message-pop-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* V17: live chat, BBCode display, and smaller centered message send button. */
.message-format-hint{
  display:block!important;
  margin-top:3px!important;
  color:rgba(234,244,248,.52)!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.quote-message .message-rich,
.admin-message .message-rich{
  margin:.5rem 0 0!important;
  color:var(--p-muted)!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}
.quote-message .message-rich p,
.admin-message .message-rich p{margin:0!important;white-space:normal!important}
.quote-message .message-rich a,
.admin-message .message-rich a{color:#a7f3ff!important;text-decoration:underline!important;text-underline-offset:3px!important}
.quote-message .message-rich blockquote,
.admin-message .message-rich blockquote{
  margin:.55rem 0 0!important;
  padding:.55rem .75rem!important;
  border-left:3px solid rgba(103,232,249,.5)!important;
  border-radius:10px!important;
  background:rgba(103,232,249,.08)!important;
  color:#dffaff!important;
}
.quote-message .message-rich pre,
.admin-message .message-rich pre{
  margin:.55rem 0 0!important;
  padding:.7rem .8rem!important;
  border:1px solid rgba(234,244,248,.12)!important;
  border-radius:12px!important;
  background:rgba(3,13,20,.55)!important;
  color:#eefbff!important;
  overflow:auto!important;
  white-space:pre-wrap!important;
}
.quote-message .message-rich ul,
.quote-message .message-rich ol,
.admin-message .message-rich ul,
.admin-message .message-rich ol{margin:.55rem 0 0 1.1rem!important;padding:0!important}
.quote-message .message-rich li,
.admin-message .message-rich li{margin:.22rem 0!important}
.quote-message-card .quote-message-form,
.quote-message-form{align-items:center!important;grid-template-columns:minmax(0,1fr) minmax(128px,176px)!important}
.quote-message-card .quote-message-form .page-btn,
.quote-message-form .page-btn,
.quote-message-form button{
  width:auto!important;
  min-width:128px!important;
  min-height:44px!important;
  padding:0 18px!important;
  align-self:center!important;
  justify-self:center!important;
  font-size:.94rem!important;
}
.quote-message.message-live-received,
.admin-message.message-live-received{animation:message-pop-in .42s ease-out both;box-shadow:0 0 0 1px rgba(103,232,249,.22)}
@media(max-width:820px){
  .quote-message-card .quote-message-form,
  .quote-message-form{grid-template-columns:1fr!important;align-items:stretch!important}
  .quote-message-card .quote-message-form .page-btn,
  .quote-message-form .page-btn,
  .quote-message-form button{width:100%!important;justify-self:stretch!important;min-height:46px!important}
}

/* V18: keep live quote chats pinned to the latest messages by default. */
.quote-message-thread,.admin-message-thread{scroll-behavior:smooth;overflow-anchor:auto}.admin-preview-notice{border-color:rgba(251,191,36,.34)!important;background:rgba(251,191,36,.1)!important}

/* V19: professional landing-page redesign, 95% layout, hero banner, section bands, and case-study showcase. */
:root{--landing-width:min(95vw,1320px)}
.page-section{
  position:relative;
  border-top:1px solid rgba(234,244,248,.055);
  background:var(--section-bg,transparent)!important;
}
.page-section > .page-container{
  width:min(var(--w,1320px),95vw)!important;
  max-width:95vw!important;
}
.page-section:nth-of-type(4n+1){--section-bg:linear-gradient(180deg,rgba(8,24,36,.92),rgba(5,17,27,.78))}
.page-section:nth-of-type(4n+2){--section-bg:linear-gradient(180deg,rgba(11,33,48,.72),rgba(7,22,34,.84))}
.page-section:nth-of-type(4n+3){--section-bg:linear-gradient(180deg,rgba(6,18,30,.86),rgba(10,38,52,.62))}
.page-section:nth-of-type(4n+4){--section-bg:linear-gradient(180deg,rgba(8,29,40,.72),rgba(5,17,27,.9))}
.landing-hero-section{border-top:0;overflow:hidden}
.landing-hero-section::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(103,232,249,.34),transparent);
  pointer-events:none;
}
.hero-container{max-width:1320px}
.hero .headline{max-width:1120px}
.hero .copy{max-width:780px}
.hero-banner{
  width:100%;
  margin:clamp(34px,5vw,58px) 0 0;
  border:1px solid rgba(234,244,248,.13);
  border-radius:clamp(24px,3vw,38px);
  overflow:hidden;
  background:linear-gradient(135deg,rgba(103,232,249,.09),rgba(255,255,255,.035) 52%,rgba(45,212,191,.08));
  box-shadow:0 28px 90px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.06);
}
.hero-banner.has-image img{
  display:block;
  width:100%;
  height:auto;
  min-height:clamp(260px,38vw,560px);
  max-height:620px;
  object-fit:cover;
}
.hero-banner.is-placeholder{
  min-height:clamp(260px,36vw,520px);
  display:grid;
  place-items:center;
}
.hero-banner-placeholder{
  width:min(760px,calc(100% - 34px));
  display:grid;
  gap:10px;
  justify-items:center;
  padding:clamp(28px,5vw,54px);
  border:1px dashed rgba(103,232,249,.34);
  border-radius:28px;
  color:var(--p-muted);
  background:rgba(3,13,20,.28);
}
.hero-banner-placeholder span{
  color:var(--p-primary);
  font:850 .78rem/1 var(--p-mono-font);
  text-transform:uppercase;
  letter-spacing:.14em;
}
.hero-banner-placeholder strong{
  color:#fff;
  font-size:clamp(1.25rem,3vw,2rem);
  line-height:1.08;
  letter-spacing:-.045em;
}
.hero-banner-placeholder em{
  max-width:560px;
  font-style:normal;
  line-height:1.6;
}
.case-study-section .showcase-head{
  max-width:850px;
  margin-bottom:24px;
}
.case-study-section .showcase-head h2{margin-top:0}
.case-study-section .showcase-tiles{gap:clamp(16px,2vw,24px)}
.case-study-section .showcase-tile{
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
}
.case-study-card-body{gap:12px}
.case-study-meta span:first-child{
  color:#04111a!important;
  background:linear-gradient(135deg,var(--p-primary),var(--p-accent));
  border-color:transparent!important;
}
.case-study-snapshot{
  display:grid;
  gap:8px;
  margin:2px 0 4px;
}
.case-study-snapshot:empty{display:none}
.case-study-snapshot span{
  display:grid;
  gap:2px;
  padding:10px 11px;
  border:1px solid rgba(234,244,248,.1);
  border-radius:16px;
  background:rgba(3,13,20,.25);
  color:rgba(234,244,248,.78);
  font-size:.9rem;
  line-height:1.35;
}
.case-study-snapshot strong{
  color:var(--p-primary);
  font:850 .68rem/1 var(--p-mono-font);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.case-study-detail-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:10px;
  margin-top:16px;
}
.case-study-detail-grid section{
  margin:0!important;
  padding:14px;
  border:1px solid rgba(234,244,248,.11);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.case-study-detail-grid span{
  display:block;
  color:var(--p-primary);
  font:850 .7rem/1 var(--p-mono-font);
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-bottom:8px;
}
.case-study-detail-grid p{margin:0!important;color:var(--p-muted)}
.showcase-tile-actions .action-btn{margin-top:auto}
.text-block.section-head{max-width:860px}
.cards,.gallery-grid,.stats-grid,.showcase-tiles{gap:clamp(14px,1.6vw,24px)}
@media(min-width:1200px){
  .showcase-tiles.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .showcase-tiles.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:920px){
  .page-section{padding-left:clamp(14px,4vw,28px)!important;padding-right:clamp(14px,4vw,28px)!important}
  .page-section > .page-container{width:min(95vw,100%)!important;max-width:95vw!important}
  .hero-banner.has-image img{min-height:240px;max-height:440px}
  .case-study-snapshot{grid-template-columns:1fr}
}
@media(max-width:640px){
  .page-section > .page-container{width:min(94vw,100%)!important;max-width:94vw!important}
  .hero-banner{border-radius:24px;margin-top:30px}
  .hero-banner.has-image img,.hero-banner.is-placeholder{min-height:230px}
  .hero-banner-placeholder{width:calc(100% - 24px);padding:22px;border-radius:20px}
  .hero-banner-placeholder strong{font-size:1.25rem}
  .case-study-section .showcase-head{text-align:left}
  .case-study-section .showcase-filters{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
  .case-study-section .filter-chip{white-space:nowrap}
}

/* V20: true 95% landing width and hero-as-main-banner correction. */
:root{--landing-width:min(95vw,1680px)}
.page-section{
  padding-left:0!important;
  padding-right:0!important;
}
.page-section > .page-container,
.page-content{
  width:var(--landing-width)!important;
  max-width:var(--landing-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.landing-hero-section{
  padding-top:clamp(12px,1.4vw,28px)!important;
  padding-bottom:clamp(42px,5vw,84px)!important;
  border-top:0!important;
}
.landing-hero-section .site-nav{
  width:100%!important;
  max-width:100%!important;
  margin:0 0 clamp(14px,1.7vw,28px)!important;
}
.site-nav.header.is-sticky,
.site-nav.header.is-sticky.is-scrolled{
  width:100%!important;
  max-width:100%!important;
}
.landing-hero-section .hero-container{
  width:var(--landing-width)!important;
  max-width:var(--landing-width)!important;
}
.hero-main-banner{
  isolation:isolate;
  position:relative;
  width:100%!important;
  min-height:clamp(560px,72vh,860px);
  margin:0!important;
  padding:clamp(34px,5vw,76px);
  display:grid!important;
  place-items:center!important;
  overflow:hidden;
  border:1px solid rgba(234,244,248,.14);
  border-radius:clamp(28px,3.2vw,54px);
  background:#06131d;
  box-shadow:0 34px 110px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.07);
}
.hero-main-banner.has-image{background:#06131d}
.hero-main-banner-image,
.hero-main-banner-placeholder,
.hero-main-banner-scrim{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero-main-banner-image{
  z-index:-3;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.03);
}
.hero-main-banner-placeholder{
  z-index:-3;
  background:
    radial-gradient(circle at 18% 14%,rgba(103,232,249,.24),transparent 24rem),
    radial-gradient(circle at 84% 24%,rgba(45,212,191,.20),transparent 28rem),
    linear-gradient(135deg,rgba(103,232,249,.14),rgba(255,255,255,.035) 42%,rgba(45,212,191,.12)),
    #06131d;
}
.hero-main-banner-placeholder::before{
  content:"";
  position:absolute;
  inset:clamp(18px,2vw,34px);
  border:1px dashed rgba(103,232,249,.38);
  border-radius:clamp(20px,2.4vw,40px);
  background:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.28));
}
.hero-main-banner-placeholder::after{
  content:"FULL-WIDTH HERO BANNER";
  position:absolute;
  right:clamp(24px,3vw,54px);
  bottom:clamp(22px,2.6vw,46px);
  color:rgba(234,244,248,.42);
  font:850 clamp(.72rem,.9vw,.9rem)/1 var(--p-mono-font);
  letter-spacing:.18em;
}
.hero-main-banner-scrim{
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(3,13,20,.78),rgba(3,13,20,.48) 42%,rgba(3,13,20,.72)),
    linear-gradient(180deg,rgba(3,13,20,.28),rgba(3,13,20,.76));
}
.hero-main-banner-content{
  width:min(1220px,100%);
  display:grid;
  justify-items:center;
  text-align:center;
}
.hero-main-banner .logo{
  width:min(var(--logo,190px),34vw)!important;
  margin:0 0 clamp(16px,2vw,28px)!important;
  border-radius:30px;
}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:clamp(16px,2vw,26px);
  padding:9px 12px;
  border:1px solid rgba(103,232,249,.23);
  border-radius:999px;
  background:rgba(3,13,20,.36);
  color:var(--p-primary);
  font:850 .76rem/1 var(--p-mono-font);
  text-transform:uppercase;
  letter-spacing:.16em;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.hero-eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--p-accent);
  box-shadow:0 0 18px rgba(45,212,191,.72);
}
.hero-main-banner .headline{
  max-width:1180px!important;
  font-size:clamp(3.2rem,7.35vw,var(--hs,108px))!important;
  line-height:.9!important;
  letter-spacing:-.078em!important;
  text-shadow:0 10px 42px rgba(0,0,0,.48);
}
.hero-main-banner .copy{
  max-width:820px!important;
  color:rgba(234,244,248,.82)!important;
  text-shadow:0 4px 20px rgba(0,0,0,.52);
}
.hero-main-banner .btn-row{margin-top:clamp(24px,3vw,38px)!important}
.hero-main-banner .page-btn.ghost{
  background:rgba(3,13,20,.44);
  border-color:rgba(234,244,248,.18);
}
.hero-banner-admin-note{
  max-width:720px;
  margin:clamp(22px,3vw,34px) 0 0;
  padding:12px 15px;
  border:1px solid rgba(103,232,249,.24);
  border-radius:18px;
  background:rgba(3,13,20,.36);
  color:rgba(234,244,248,.76);
  font-size:.95rem;
  line-height:1.5;
}
.hero-banner-admin-note strong{color:#fff}
.case-study-section,
.landing-hero-section + .page-section{
  box-shadow:inset 0 1px rgba(234,244,248,.055);
}
@supports selector(body:has(.site-nav.is-sticky)){
  body:has(.site-nav.is-sticky) .landing-hero-section:first-of-type{
    padding-top:clamp(12px,1.4vw,28px)!important;
  }
}
body.has-fixed-site-header .landing-hero-section:first-of-type{
  padding-top:clamp(12px,1.4vw,28px)!important;
}
@media(max-width:920px){
  :root{--landing-width:min(94vw,1680px)}
  .page-section > .page-container,
  .page-content{width:var(--landing-width)!important;max-width:var(--landing-width)!important}
  .landing-hero-section .site-nav.header{
    width:100%!important;
    max-width:100%!important;
  }
  .hero-main-banner{
    min-height:clamp(560px,76dvh,760px);
    padding:clamp(28px,6vw,48px);
    border-radius:28px;
  }
  .hero-main-banner .headline{font-size:clamp(2.65rem,11vw,5.4rem)!important}
  .hero-main-banner .copy{font-size:1rem!important}
  .hero-main-banner-placeholder::after{display:none}
}
@media(max-width:640px){
  :root{--landing-width:94vw}
  .landing-hero-section{padding-top:8px!important;padding-bottom:42px!important}
  .landing-hero-section .site-nav{margin-bottom:12px!important}
  .hero-main-banner{
    min-height:calc(100dvh - 108px);
    padding:24px 18px;
    border-radius:22px;
  }
  .hero-main-banner .logo{width:min(var(--logo,150px),42vw)!important}
  .hero-eyebrow{font-size:.66rem;letter-spacing:.12em;max-width:100%;white-space:normal;justify-content:center;line-height:1.25}
  .hero-main-banner .headline{font-size:clamp(2.35rem,13vw,4rem)!important;letter-spacing:-.07em!important}
  .hero-banner-admin-note{font-size:.88rem;padding:10px 12px;border-radius:15px}
}

/* V21 hero/showcase controls: brand spacing, centered nav contents, image-only hero mode, narrow-screen buffer. */
.brand-expanded-tail{
  display:inline-block!important;
  margin-left:.24em!important;
  white-space:nowrap!important;
}
.brand-expand:hover .brand-expanded-tail,
.brand-expand:focus-visible .brand-expanded-tail{
  max-width:20em!important;
}
.site-nav.header{
  padding-left:clamp(18px,5.6vw,132px)!important;
  padding-right:clamp(18px,5.6vw,132px)!important;
  z-index:80!important;
}
.site-nav.header .nav-zone-left{justify-content:flex-start!important}
.site-nav.header .nav-zone-right{justify-content:flex-end!important}
.landing-hero-section .site-nav.header{
  margin-bottom:clamp(18px,2.4vw,36px)!important;
}
.hero-main-banner{
  margin-top:clamp(10px,1.2vw,20px)!important;
}
.hero-main-banner.is-image-only,
.hero-main-banner.no-visible-content{
  min-height:clamp(520px,72vh,880px)!important;
  padding:0!important;
}
.hero-main-banner.is-image-only .hero-main-banner-scrim,
.hero-main-banner.no-visible-content .hero-main-banner-scrim{
  display:none!important;
}
.hero-main-banner.is-image-only .hero-main-banner-image,
.hero-main-banner.no-visible-content .hero-main-banner-image{
  filter:none!important;
}
.hero-main-banner.is-image-only.is-placeholder .hero-main-banner-placeholder::after,
.hero-main-banner.no-visible-content.is-placeholder .hero-main-banner-placeholder::after{
  content:"UPLOAD HERO BANNER IN ADMIN";
  right:50%;
  bottom:50%;
  transform:translate(50%,50%);
  padding:14px 18px;
  border:1px solid rgba(103,232,249,.32);
  border-radius:999px;
  background:rgba(3,13,20,.5);
  color:rgba(234,244,248,.7);
}
@media(max-width:920px){
  .site-nav.header{
    padding-left:10px!important;
    padding-right:10px!important;
    z-index:90!important;
  }
  .landing-hero-section .site-nav.header{
    margin-bottom:24px!important;
  }
  .hero-main-banner{
    margin-top:0!important;
    padding-top:clamp(42px,8vw,72px)!important;
  }
  .hero-main-banner.is-image-only,
  .hero-main-banner.no-visible-content{
    min-height:clamp(420px,68dvh,680px)!important;
    padding:0!important;
  }
}
@media(max-width:640px){
  .landing-hero-section .site-nav.header{
    margin-bottom:20px!important;
  }
  .hero-main-banner{
    min-height:calc(100dvh - 132px)!important;
    padding-top:46px!important;
  }
  .hero-main-banner.is-image-only,
  .hero-main-banner.no-visible-content{
    min-height:calc(100dvh - 132px)!important;
    padding:0!important;
  }
}


/* V22: true 95vw landing, stable sticky header, no dot pills, smooth hero carousel. */
:root{--landing-width:95vw!important}
.page-section > .page-container,
.page-content,
.landing-hero-section .hero-container{
  width:95vw!important;
  max-width:95vw!important;
}
.hero-container{max-width:95vw!important}
.landing-hero-section{
  padding-top:clamp(86px,7.5vw,132px)!important;
  padding-left:0!important;
  padding-right:0!important;
}
.landing-hero-section .site-nav.header,
.site-nav.header.is-sticky,
.site-nav.header.is-sticky.is-scrolled{
  position:fixed!important;
  top:clamp(10px,1vw,16px)!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:95vw!important;
  max-width:95vw!important;
  margin:0!important;
  border-radius:999px!important;
  padding-left:clamp(42px,7vw,190px)!important;
  padding-right:clamp(42px,7vw,190px)!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
  transition:background .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
.site-nav.header.is-sticky.is-scrolled{
  top:clamp(10px,1vw,16px)!important;
  width:95vw!important;
  max-width:95vw!important;
  border-radius:999px!important;
}
.site-nav.header .nav-zone-left{justify-content:flex-start!important}
.site-nav.header .nav-zone-right{justify-content:flex-end!important}
.brand-expand .brand-dev{
  display:inline-block;
  max-width:4em;
  opacity:1;
  overflow:hidden;
  transition:max-width .24s ease,opacity .18s ease,margin .24s ease;
}
.brand-expanded-tail{
  display:inline-block!important;
  margin-left:.32em!important;
  max-width:0;
  opacity:0;
  overflow:hidden;
  white-space:nowrap!important;
  color:var(--p-primary);
  transition:max-width .32s ease,opacity .18s ease;
}
.brand-expand:hover .brand-dev,
.brand-expand:focus-visible .brand-dev{
  max-width:0!important;
  opacity:0!important;
}
.brand-expand:hover .brand-expanded-tail,
.brand-expand:focus-visible .brand-expanded-tail{
  max-width:22em!important;
  opacity:1!important;
}
.hero-eyebrow,
.section-kicker,
.showcase-mini,
.modal-kicker{
  display:none!important;
}
.hero-main-banner{
  width:95vw!important;
  max-width:95vw!important;
  min-height:clamp(620px,76dvh,920px)!important;
  border-radius:clamp(22px,2.4vw,42px)!important;
}
.hero-main-banner-carousel{
  position:absolute;
  inset:0;
  z-index:-3;
  overflow:hidden;
}
.hero-main-banner-carousel .hero-main-banner-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  transform:scale(1.018);
  transition:opacity 1.25s ease,transform 7.5s ease;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.03);
}
.hero-main-banner-carousel .hero-main-banner-image.is-active{
  opacity:1;
  transform:scale(1);
}
.hero-main-banner.has-carousel::after{
  content:"";
  position:absolute;
  left:clamp(18px,2vw,34px);
  right:clamp(18px,2vw,34px);
  bottom:clamp(18px,2vw,34px);
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(103,232,249,.72),rgba(45,212,191,.1));
  opacity:.42;
  pointer-events:none;
}
@media(max-width:920px){
  .landing-hero-section{padding-top:118px!important}
  .landing-hero-section .site-nav.header,
  .site-nav.header.is-sticky,
  .site-nav.header.is-sticky.is-scrolled{
    width:95vw!important;
    max-width:95vw!important;
    padding-left:16px!important;
    padding-right:16px!important;
    border-radius:20px!important;
  }
  .hero-main-banner{width:95vw!important;max-width:95vw!important;min-height:clamp(560px,74dvh,780px)!important}
}
@media(max-width:640px){
  .landing-hero-section{padding-top:112px!important}
  .landing-hero-section .site-nav.header,
  .site-nav.header.is-sticky,
  .site-nav.header.is-sticky.is-scrolled{
    width:94vw!important;
    max-width:94vw!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .page-section > .page-container,
  .page-content,
  .landing-hero-section .hero-container,
  .hero-main-banner{
    width:94vw!important;
    max-width:94vw!important;
  }
  .hero-main-banner{min-height:calc(100dvh - 126px)!important}
}

/* V23: mobile overhaul, header buffer, compact banner carousel, tighter showcase, centred FAQ, expandable transparent footer. */
:root{
  --landing-width:95vw!important;
  --site-header-height:66px;
  --site-header-gap:clamp(30px,4vw,64px);
}
.page-section > .page-container,
.page-content,
.landing-hero-section .hero-container{
  width:95vw!important;
  max-width:95vw!important;
}
.landing-hero-section{
  padding-top:calc(var(--site-header-height) + var(--site-header-gap))!important;
  padding-bottom:clamp(42px,6vw,92px)!important;
}
.landing-hero-section .site-nav.header,
.site-nav.header.is-sticky,
.site-nav.header.is-sticky.is-scrolled{
  width:95vw!important;
  max-width:95vw!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  padding-left:clamp(26px,4.4vw,112px)!important;
  padding-right:clamp(26px,4.4vw,112px)!important;
}
.site-nav.header .brand,
.site-nav.header .nav{
  transform:none!important;
}
.brand-morph{
  display:inline-flex!important;
  align-items:baseline!important;
  width:clamp(8.2rem,17vw,18rem)!important;
  max-width:clamp(8.2rem,17vw,18rem)!important;
  overflow:hidden!important;
}
.brand-expanded-tail{
  margin-left:.34em!important;
  padding-left:0!important;
  white-space:nowrap!important;
}
.brand-expand:hover .brand-expanded-tail,
.brand-expand:focus-visible .brand-expanded-tail{
  max-width:18rem!important;
}
.hero-main-banner{
  width:95vw!important;
  max-width:95vw!important;
  margin-top:0!important;
}
.hero-main-banner-content{padding-top:0!important}
.hero-eyebrow,
.section-kicker,
.showcase-mini,
.modal-kicker{display:none!important}

/* Compact mini hero carousel block */
.mini-hero-section{
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(103,232,249,.028));
  box-shadow:inset 0 1px rgba(234,244,248,.055),inset 0 -1px rgba(234,244,248,.04);
}
.mini-hero-head{max-width:920px;margin-bottom:clamp(18px,2.4vw,30px)}
.mini-hero-carousel{position:relative;display:grid;gap:14px;overflow:hidden}
.mini-hero-viewport{overflow:hidden;border-radius:clamp(22px,2vw,32px)}
.mini-hero-track{
  display:flex;
  gap:clamp(12px,1.2vw,18px);
  align-items:stretch;
  transition:transform .62s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
.mini-hero-slide{
  position:relative;
  flex:0 0 calc((100% - (clamp(12px,1.2vw,18px) * (var(--mini-cols,3) - 1))) / var(--mini-cols,3));
  min-height:clamp(190px,24vw,340px);
  overflow:hidden;
  border:1px solid rgba(234,244,248,.12);
  border-radius:clamp(22px,2vw,32px);
  background:rgba(255,255,255,.045);
  box-shadow:0 18px 58px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.055);
}
.mini-aspect-third .mini-hero-slide{aspect-ratio:16/5;min-height:clamp(150px,18vw,260px)}
.mini-aspect-wide .mini-hero-slide{aspect-ratio:16/7;min-height:clamp(180px,22vw,320px)}
.mini-aspect-square .mini-hero-slide{aspect-ratio:1/1;min-height:clamp(220px,25vw,360px)}
.mini-hero-slide img,
.mini-hero-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mini-hero-slide img{filter:saturate(1.04) contrast(1.03)}
.mini-hero-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 24% 18%,rgba(103,232,249,.22),transparent 18rem),linear-gradient(135deg,rgba(255,255,255,.06),rgba(45,212,191,.08));color:rgba(234,244,248,.62);font:900 2rem/1 var(--p-mono-font)}
.mini-hero-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:10px;
  padding:clamp(16px,2vw,28px);
  background:linear-gradient(180deg,rgba(3,13,20,.08),rgba(3,13,20,.78));
}
.mini-hero-overlay h3{margin:0;color:#fff;font-size:clamp(1.12rem,1.9vw,1.75rem);letter-spacing:-.045em;line-height:1.02}
.mini-hero-overlay p{max-width:54ch;margin:0;color:rgba(234,244,248,.82);font-size:.95rem;line-height:1.55}
.mini-hero-btn{align-self:flex-start;min-height:36px;padding:0 13px;font-size:.86rem;background:rgba(3,13,20,.42)!important}
.mini-hero-controls{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--p-muted);font:800 .82rem/1 var(--p-mono-font)}
.mini-hero-controls .action-btn{min-height:34px;padding:0 12px}

/* Four-across project showcase with distinct Quick view / Project page actions. */
.showcase-section{--w:95vw!important}
.showcase-tiles.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.showcase-tiles.cols-3{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.showcase-tile{border-radius:22px!important}
.showcase-tile-media{aspect-ratio:4/3!important;min-height:0!important}
.showcase-tile-body{min-height:auto!important;padding:16px!important}
.showcase-tile-body h3{font-size:clamp(1.05rem,1.1vw,1.28rem)!important;line-height:1.05!important;margin-bottom:8px!important}
.showcase-tile-summary{font-size:.9rem!important;line-height:1.5!important}
.case-study-snapshot{display:none!important}
.showcase-tile-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto!important}
.showcase-tile-actions .action-btn,
.showcase-tile-actions .project-page-btn{width:100%;min-height:36px;padding:0 10px;font-size:.82rem;justify-content:center;text-align:center;text-decoration:none}
.project-page-btn{background:rgba(103,232,249,.18)!important;border-color:rgba(103,232,249,.32)!important;color:#e9fdff!important}

/* Centred FAQ block */
#faq .page-container{display:grid;justify-items:center;text-align:center!important}
#faq .section-head{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
#faq .faq-list{width:min(820px,100%);margin-left:auto;margin-right:auto;text-align:left}
#faq .faq-list summary{text-align:center}
#faq .faq-answer{text-align:left}

/* Expandable transparent footer */
.footer-section{background:linear-gradient(180deg,rgba(3,13,20,.04),rgba(103,232,249,.035));}
.site-footer-shell{
  position:relative;
  min-height:88px;
  border:1px solid rgba(234,244,248,.12);
  border-radius:clamp(24px,2.4vw,42px);
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  backdrop-filter:blur(18px);
  box-shadow:0 28px 88px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.06);
}
.site-footer-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--footer-compact-bg,linear-gradient(135deg,rgba(103,232,249,.16),transparent 42%,rgba(45,212,191,.12))),radial-gradient(circle at 86% 18%,rgba(103,232,249,.18),transparent 26rem);
  background-size:cover;
  background-position:center;
  opacity:.58;
  pointer-events:none;
}
.footer-expander{position:relative;z-index:1}
.footer-expander summary::-webkit-details-marker{display:none}
.footer-compact{
  min-height:96px;
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr) auto;
  gap:18px;
  align-items:center;
  padding:clamp(18px,2.4vw,30px);
  cursor:pointer;
  list-style:none;
  background:rgba(3,13,20,.28);
}
.footer-brand-block{display:grid;gap:4px}
.footer-brand-block strong{font-size:clamp(1.4rem,2vw,2rem);letter-spacing:-.06em;color:#fff}
.footer-brand-block span,.footer-key-info{color:rgba(234,244,248,.78);line-height:1.5}
.footer-key-info{justify-self:center;text-align:center;max-width:680px}
.footer-toggle{display:inline-flex;align-items:center;gap:8px;justify-self:end;min-height:40px;padding:0 13px;border:1px solid rgba(103,232,249,.22);border-radius:999px;background:rgba(3,13,20,.38);color:var(--p-primary);font:850 .78rem/1 var(--p-mono-font);text-transform:uppercase;letter-spacing:.08em}
.footer-toggle b{transition:transform .22s ease}.footer-toggle-close{display:none}.footer-expander[open] .footer-toggle-open{display:none}.footer-expander[open] .footer-toggle-close{display:inline}.footer-expander[open] .footer-toggle b{transform:rotate(180deg)}
.footer-expanded{
  min-height:320px;
  display:grid;
  grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(160px,1fr));
  gap:clamp(18px,2vw,34px);
  padding:clamp(22px,3vw,44px);
  background:var(--footer-expanded-bg,linear-gradient(135deg,rgba(3,13,20,.76),rgba(3,13,20,.42))),rgba(3,13,20,.56);
  background-size:cover;
  background-position:center;
  border-top:1px solid rgba(234,244,248,.09);
}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:rgba(234,244,248,.78)}
.footer-column h3{margin:0 0 4px;color:#fff;font-size:.96rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--p-mono-font)}
.footer-column p{margin:0 0 8px;max-width:56ch;line-height:1.65;color:rgba(234,244,248,.76)}
.footer-column a,.footer-column span{color:rgba(234,244,248,.78);text-decoration:none;line-height:1.45}.footer-column a:hover{color:var(--p-primary)}
.footer-about .page-btn{margin-top:8px}

/* Dedicated project pages */
.project-page-hero{padding-top:calc(var(--site-header-height) + var(--site-header-gap))!important}
.project-page-shell{display:grid;gap:clamp(20px,3vw,42px);padding:clamp(20px,3vw,44px);border:1px solid rgba(234,244,248,.12);border-radius:clamp(24px,2.4vw,42px);background:rgba(255,255,255,.04);box-shadow:0 28px 88px rgba(0,0,0,.28)}
.project-page-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:clamp(20px,3vw,42px);align-items:end}.project-page-type{margin:0 0 12px;color:var(--p-primary);font:900 .8rem/1 var(--p-mono-font);text-transform:uppercase;letter-spacing:.14em}.project-page-intro h1{margin:0;max-width:980px;font-size:clamp(3rem,7vw,7rem);line-height:.9;letter-spacing:-.078em;color:#fff}.project-page-summary{max-width:780px;color:rgba(234,244,248,.82);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.6}.project-page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.project-page-facts{display:grid;gap:10px}.project-page-facts section{padding:14px;border:1px solid rgba(234,244,248,.11);border-radius:18px;background:rgba(255,255,255,.045)}.project-page-facts strong{display:block;color:var(--p-primary);font:850 .72rem/1 var(--p-mono-font);text-transform:uppercase;letter-spacing:.11em;margin-bottom:8px}.project-page-facts span{color:rgba(234,244,248,.8);line-height:1.45}.project-page-banner{margin:0;overflow:hidden;border:1px solid rgba(234,244,248,.1);border-radius:clamp(22px,2vw,34px);background:rgba(255,255,255,.035)}.project-page-banner img{width:100%;height:auto;max-height:660px;aspect-ratio:16/8;object-fit:contain;display:block}.project-page-banner img.fit-cover{object-fit:cover}.project-page-banner img.fit-fill{object-fit:fill}.project-page-content{max-width:920px}.project-page-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-page-gallery figure{margin:0;overflow:hidden;border:1px solid rgba(234,244,248,.1);border-radius:20px;background:rgba(255,255,255,.04)}.project-page-gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;background:rgba(0,0,0,.14)}.project-page-gallery img.fit-cover{object-fit:cover}.project-page-gallery img.fit-fill{object-fit:fill}.project-page-gallery figcaption{padding:10px 12px;color:var(--p-muted);font-size:.88rem}

@media(max-width:1180px){
  .showcase-tiles.cols-4,.showcase-tiles.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .project-page-intro{grid-template-columns:1fr}.project-page-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:920px){
  :root{--landing-width:94vw!important;--site-header-gap:34px}
  .page-section{padding-top:clamp(42px,8vw,62px)!important;padding-bottom:clamp(42px,8vw,62px)!important;padding-left:0!important;padding-right:0!important}
  .page-section > .page-container,.page-content,.landing-hero-section .hero-container{width:94vw!important;max-width:94vw!important}
  .landing-hero-section{padding-top:calc(var(--site-header-height) + 34px)!important}
  .landing-hero-section .site-nav.header,.site-nav.header.is-sticky,.site-nav.header.is-sticky.is-scrolled{
    width:94vw!important;max-width:94vw!important;top:10px!important;border-radius:20px!important;padding:8px 10px!important;grid-template-columns:minmax(0,1fr) auto!important;
  }
  .site-nav.header .nav-zone-left{grid-column:1!important;justify-content:flex-start!important}.site-nav.header .nav-zone-center{display:none!important}.site-nav.header .nav-zone-right{grid-column:2!important;justify-content:flex-end!important}
  .brand-morph{width:min(54vw,15rem)!important;max-width:min(54vw,15rem)!important}.brand-expand:hover .brand-expanded-tail,.brand-expand:focus-visible .brand-expanded-tail{max-width:11rem!important}
  .hero-main-banner{width:94vw!important;max-width:94vw!important;min-height:clamp(460px,68dvh,680px)!important;padding:clamp(22px,5vw,42px)!important;border-radius:24px!important}
  .hero-main-banner .headline{font-size:clamp(2.55rem,10.5vw,5.2rem)!important;line-height:.92!important}.hero-main-banner .copy{font-size:1rem!important;max-width:60ch!important}.hero-main-banner .logo{width:min(var(--logo,138px),36vw)!important}.hero-main-banner .btn-row{margin-top:22px!important}
  .mini-hero-track{gap:12px}.mini-cols-3,.mini-cols-4{--mini-cols:2!important}.mini-hero-slide{min-height:190px}
  .footer-compact{grid-template-columns:1fr auto;gap:12px}.footer-key-info{grid-column:1 / -1;justify-self:start;text-align:left}.footer-expanded{grid-template-columns:1fr 1fr;min-height:340px}.project-page-hero{padding-top:calc(var(--site-header-height) + 34px)!important}
}
@media(max-width:640px){
  :root{--landing-width:94vw!important;--site-header-height:58px;--site-header-gap:26px}
  body{font-size:15px;overflow-x:hidden}.page-section{padding-top:42px!important;padding-bottom:42px!important}.landing-hero-section{padding-top:calc(var(--site-header-height) + 28px)!important;padding-bottom:34px!important}
  .landing-hero-section .site-nav.header,.site-nav.header.is-sticky,.site-nav.header.is-sticky.is-scrolled{width:94vw!important;max-width:94vw!important;top:8px!important;padding:7px 9px!important;border-radius:17px!important;min-height:48px!important}
  .site-nav.header .brand{font-size:13px!important}.brand-morph{width:52vw!important;max-width:52vw!important}.brand-expand:hover .brand-expanded-tail,.brand-expand:focus-visible .brand-expanded-tail{max-width:9.8rem!important}.brand-expand:hover .brand-dev,.brand-expand:focus-visible .brand-dev{max-width:0!important}
  .mobile-nav-toggle{width:38px!important;height:34px!important}.mobile-nav-panel{top:calc(100% + 8px)!important;right:0!important;width:min(310px,calc(100vw - 24px))!important;max-height:calc(100dvh - 74px)!important;overflow:auto!important}
  .hero-main-banner{min-height:auto!important;padding:clamp(22px,6vw,30px) 16px!important;aspect-ratio:auto!important}.hero-main-banner.has-image{min-height:clamp(430px,68dvh,560px)!important}.hero-main-banner.is-image-only,.hero-main-banner.no-visible-content{min-height:clamp(280px,42dvh,440px)!important}.hero-main-banner .logo{width:min(var(--logo,116px),34vw)!important;margin-bottom:14px!important}.hero-main-banner .headline{font-size:clamp(2.25rem,12vw,3.55rem)!important;line-height:.94!important;letter-spacing:-.07em!important}.hero-main-banner .copy{font-size:.95rem!important;line-height:1.55!important}.btn-row{gap:8px}.page-btn,.action-btn{min-height:38px;padding:0 14px;font-size:.88rem}
  .cards,.gallery-grid,.stats-grid,.showcase-grid,.showcase-tiles,.cols-1,.cols-2,.cols-3,.cols-4{grid-template-columns:1fr!important}.showcase-tile-media{height:auto!important;aspect-ratio:16/10!important}.showcase-tile-body{padding:15px!important}.showcase-tile-actions{grid-template-columns:1fr 1fr!important}.showcase-tile-actions .action-btn,.showcase-tile-actions .project-page-btn{font-size:.8rem;min-height:36px;padding:0 8px}.showcase-filters{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.filter-chip{white-space:nowrap;min-height:34px}
  .mini-hero-section .section-head{text-align:left!important}.mini-hero-slide{flex-basis:100%!important;min-height:210px}.mini-aspect-third .mini-hero-slide{aspect-ratio:16/8;min-height:210px}.mini-hero-overlay{padding:16px}.mini-hero-overlay h3{font-size:1.25rem}.mini-hero-overlay p{font-size:.9rem}.mini-hero-controls{justify-content:space-between}
  #faq .faq-list summary{text-align:left;padding:16px}.faq-list p,.faq-answer{padding:0 16px 16px}.footer-compact{grid-template-columns:1fr;min-height:132px;padding:18px}.footer-key-info{grid-column:auto}.footer-toggle{justify-self:start}.footer-expanded{grid-template-columns:1fr;min-height:360px;padding:20px}.footer-brand-block strong{font-size:1.5rem}.project-page-hero{padding-top:calc(var(--site-header-height) + 28px)!important}.project-page-shell{padding:18px;border-radius:24px}.project-page-intro h1{font-size:clamp(2.4rem,13vw,4rem)}.project-page-gallery{grid-template-columns:1fr}.project-page-actions .page-btn{width:100%;justify-content:center}.project-page-banner img{aspect-ratio:4/3;max-height:360px}
}

/* V24: fixed header clearance, compact centred mobile styling, wider public subpages, improved split visuals, and upward footer expansion. */
:root{
  --content-page-width:80vw;
  --site-header-offset:clamp(10px,1vw,16px);
  --hero-header-buffer:clamp(34px,4vw,66px);
}
.site-header-spacer{
  display:block!important;
  height:calc(var(--site-header-height,66px) + var(--site-header-offset,14px) + var(--hero-header-buffer,48px))!important;
  min-height:96px!important;
  pointer-events:none!important;
}
.landing-hero-section,
.standard-page-section,
.contact-page-section,
.project-page-hero{
  padding-top:0!important;
}
.landing-hero-section .site-nav.header,
.site-nav.header.is-sticky,
.site-nav.header.is-sticky.is-scrolled{
  top:var(--site-header-offset,14px)!important;
  z-index:500!important;
}
.landing-hero-section .hero-container,
.landing-hero-section .page-container{
  display:block!important;
}
.hero-main-banner{
  margin-top:0!important;
  min-height:clamp(540px,64dvh,790px)!important;
}
.hero-main-banner-content{
  align-self:center!important;
}
.public-width-section > .page-container,
.public-width-section .page-content,
.public-subpage .page-container,
.public-subpage .page-content{
  width:var(--content-page-width,80vw)!important;
  max-width:var(--content-page-width,80vw)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.standard-page-section .page-content,
.contact-page-section .page-content,
.project-page-hero .page-container{
  width:var(--content-page-width,80vw)!important;
  max-width:var(--content-page-width,80vw)!important;
}
.standard-page-section .text-block.section-head,
.contact-page-section .text-block.section-head{
  max-width:960px!important;
}
.split{
  grid-template-columns:minmax(0,1fr) minmax(420px,1fr)!important;
  gap:clamp(18px,2vw,32px)!important;
  max-width:min(1220px,95vw)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.split .text-block{
  max-width:540px!important;
  justify-self:end!important;
}
.split.visual-left .text-block{justify-self:start!important;}
.split .visual{
  min-height:clamp(360px,34vw,540px)!important;
}
.split .visual img{
  object-fit:cover!important;
}
.footer-expander{
  display:flex!important;
  flex-direction:column-reverse!important;
}
.footer-expanded{
  border-top:0!important;
  border-bottom:1px solid rgba(234,244,248,.09)!important;
  background-image:var(--footer-expanded-bg,linear-gradient(135deg,rgba(3,13,20,.82),rgba(3,13,20,.46)))!important;
  background-size:cover!important;
  background-position:center!important;
}
.footer-compact{
  background-image:var(--footer-compact-bg,linear-gradient(135deg,rgba(103,232,249,.16),rgba(3,13,20,.28) 52%,rgba(45,212,191,.12)))!important;
  background-size:cover!important;
  background-position:center!important;
}
.site-footer-shell::before{display:none!important;}
.footer-expander[open] .footer-expanded{
  animation:footer-rise-in .28s ease-out both;
}
@keyframes footer-rise-in{from{opacity:.01;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:920px){
  :root{--content-page-width:88vw;--hero-header-buffer:30px;}
  .site-header-spacer{height:calc(var(--site-header-height,58px) + var(--site-header-offset,10px) + var(--hero-header-buffer,30px))!important;min-height:88px!important;}
  .hero-main-banner{min-height:clamp(430px,62dvh,620px)!important;padding:clamp(22px,5vw,38px)!important;}
  .hero-main-banner .headline{font-size:clamp(2.25rem,9.6vw,4.5rem)!important;line-height:.94!important;}
  .hero-main-banner .copy{max-width:34rem!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
  .split{grid-template-columns:1fr!important;gap:18px!important;max-width:100%!important;}
  .split .text-block{max-width:680px!important;justify-self:center!important;text-align:center!important;}
  .split .text-block .btn-row{justify-content:center!important;}
  .split .visual{min-height:clamp(240px,44vw,390px)!important;}
  .public-width-section > .page-container,
  .public-width-section .page-content,
  .public-subpage .page-container,
  .public-subpage .page-content,
  .standard-page-section .page-content,
  .contact-page-section .page-content,
  .project-page-hero .page-container{
    width:min(var(--content-page-width,88vw),94vw)!important;
    max-width:min(var(--content-page-width,88vw),94vw)!important;
  }
}
@media(max-width:640px){
  :root{--content-page-width:94vw!important;--hero-header-buffer:22px;}
  body{font-size:14.5px!important;}
  .site-header-spacer{height:calc(var(--site-header-height,56px) + var(--site-header-offset,8px) + var(--hero-header-buffer,22px))!important;min-height:78px!important;}
  .page-section{padding-top:32px!important;padding-bottom:32px!important;}
  .landing-hero-section{padding-bottom:28px!important;}
  .landing-hero-section .site-nav.header,
  .site-nav.header.is-sticky,
  .site-nav.header.is-sticky.is-scrolled{top:8px!important;}
  .hero-main-banner{
    min-height:clamp(360px,58dvh,500px)!important;
    border-radius:18px!important;
    padding:18px 14px!important;
  }
  .hero-main-banner.has-image{min-height:clamp(380px,60dvh,520px)!important;}
  .hero-main-banner.is-image-only,
  .hero-main-banner.no-visible-content{min-height:clamp(250px,42dvh,360px)!important;}
  .hero-main-banner .logo{width:min(var(--logo,104px),32vw)!important;margin-bottom:12px!important;}
  .hero-main-banner .headline{font-size:clamp(2rem,10.8vw,3.05rem)!important;line-height:.94!important;letter-spacing:-.065em!important;}
  .hero-main-banner .copy{font-size:.92rem!important;line-height:1.5!important;max-width:30rem!important;}
  .hero-main-banner .btn-row{margin-top:18px!important;justify-content:center!important;}
  .section-head,
  .showcase-head,
  .text-block,
  .mini-hero-section .section-head,
  .case-study-section .showcase-head{
    text-align:center!important;
    justify-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .section-head h2,
  .showcase-head h2,
  .text-block h2{font-size:clamp(2rem,9.5vw,3.05rem)!important;line-height:.98!important;}
  .section-head p,
  .showcase-head p,
  .text-block p{font-size:.95rem!important;line-height:1.55!important;}
  .box,.card,.stats-grid .stat-card,.personal-contact-intro,.personal-contact-card,.project-page-shell{border-radius:20px!important;padding:18px!important;}
  .cards,.gallery-grid,.stats-grid,.showcase-grid,.showcase-tiles,.cols-1,.cols-2,.cols-3,.cols-4{gap:12px!important;}
  .split{gap:14px!important;text-align:center!important;}
  .split .visual{min-height:210px!important;border-radius:20px!important;}
  .split .visual::before{font-size:.72rem!important;white-space:normal!important;text-align:center!important;border-radius:18px!important;}
  .mini-hero-head{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
  .mini-hero-slide{min-height:180px!important;}
  .mini-aspect-third .mini-hero-slide{aspect-ratio:16/9!important;min-height:180px!important;}
  .showcase-tile-actions{grid-template-columns:1fr!important;}
  .showcase-tile-actions .action-btn,
  .showcase-tile-actions .project-page-btn{min-height:38px!important;}
  .personal-contact-wrap{gap:14px!important;margin-top:0!important;}
  .personal-contact-intro h1{font-size:clamp(2rem,10vw,3.2rem)!important;text-align:center!important;}
  .personal-contact-intro p,.personal-contact-small{text-align:center!important;}
  .personal-contact-list li{text-align:center!important;}
  .footer-section{padding-top:28px!important;padding-bottom:28px!important;}
  .footer-expanded{min-height:0!important;}
}


/* V25: corrected header clearance, larger public/contact layouts, centred mobile menu, stronger split visuals, subtle contact network. */
:root{
  --content-page-width:80vw;
  --site-header-offset:clamp(8px,.8vw,14px);
  --hero-header-buffer:clamp(12px,1.15vw,22px);
}
.site-header-spacer{
  height:calc(var(--site-header-height,58px) + var(--site-header-offset,10px) + var(--hero-header-buffer,16px))!important;
  min-height:74px!important;
  max-height:108px!important;
}
.landing-hero-section,
.standard-page-section,
.contact-page-section,
.project-page-hero{
  padding-top:0!important;
}
.landing-hero-section .site-nav.header,
.site-nav.header.is-sticky,
.site-nav.header.is-sticky.is-scrolled{
  top:var(--site-header-offset,10px)!important;
}
.hero-main-banner{
  margin-top:0!important;
}

/* Public pages should actually use the configured page width instead of collapsing around narrow content. */
.public-width-section > .page-container,
.public-width-section .page-content,
.public-subpage .page-container,
.public-subpage .page-content,
.standard-page-section .page-content,
.contact-page-section .page-content,
.project-page-hero .page-container{
  width:min(var(--content-page-width,80vw),calc(100vw - 40px))!important;
  max-width:min(var(--content-page-width,80vw),calc(100vw - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.standard-page-section .page-rich,
.standard-page-section .text-block.section-head{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Contact page: keep the card full-sized and add a subtle network field behind the form. */
.personal-contact-wrap{
  width:100%!important;
  grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr)!important;
  gap:clamp(20px,2vw,34px)!important;
}
.personal-contact-wrap.contact-form-only{
  grid-template-columns:minmax(0,min(100%,1180px))!important;
  justify-content:center!important;
  width:100%!important;
}
.personal-contact-wrap.contact-form-only .personal-contact-card{
  width:100%!important;
  max-width:1180px!important;
}
.personal-contact-card,
.contact-network-card{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.contact-network-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:radial-gradient(circle at 52% 32%,rgba(103,232,249,.14),transparent 18rem),radial-gradient(circle at 78% 82%,rgba(45,212,191,.11),transparent 16rem);
  opacity:.9;
}
.contact-network-bg{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  z-index:-2;
  opacity:.34;
  pointer-events:none;
  mix-blend-mode:screen;
}
.personal-contact-card > *:not(.contact-network-bg){
  position:relative;
  z-index:1;
}
.personal-contact-card .section-head{
  max-width:880px!important;
}
.personal-contact-card .form{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.personal-contact-card .form label{margin:0!important;}
.personal-contact-card .form label:nth-of-type(3),
.personal-contact-card .form .page-btn,
.personal-contact-card .form button[type="submit"]{
  grid-column:1 / -1!important;
}
.personal-contact-card textarea{
  min-height:clamp(180px,18vw,280px)!important;
}
.personal-contact-card .page-btn,
.personal-contact-card button[type="submit"]{
  width:100%!important;
  justify-content:center!important;
}

/* Mobile navigation: centred, visible, animated dropdown panel. */
@media(max-width:920px){
  :root{--content-page-width:90vw;--site-header-offset:8px;--hero-header-buffer:12px;}
  .site-header-spacer{
    height:calc(var(--site-header-height,54px) + var(--site-header-offset,8px) + var(--hero-header-buffer,12px))!important;
    min-height:66px!important;
    max-height:92px!important;
  }
  .site-nav.header,
  .landing-hero-section .site-nav.header,
  .site-nav.header.is-sticky,
  .site-nav.header.is-sticky.is-scrolled{
    width:min(94vw,720px)!important;
    max-width:min(94vw,720px)!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    border-radius:20px!important;
    padding:9px 11px!important;
    overflow:visible!important;
  }
  .site-nav.header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
  }
  .site-nav.header .nav-zone-left{grid-column:1!important;justify-content:flex-start!important;min-width:0!important;}
  .site-nav.header .nav-zone-center{display:none!important;}
  .site-nav.header .nav-zone-right{grid-column:2!important;justify-content:flex-end!important;}
  .site-nav.header .nav-zone-right > .nav{display:none!important;}
  .brand-morph{width:min(56vw,18rem)!important;max-width:min(56vw,18rem)!important;}
  .mobile-nav-toggle{
    display:inline-grid!important;
    width:42px!important;
    height:38px!important;
    place-items:center!important;
    border-radius:15px!important;
    background:linear-gradient(135deg,rgba(103,232,249,.18),rgba(45,212,191,.1))!important;
    border:1px solid rgba(103,232,249,.3)!important;
    box-shadow:0 12px 32px rgba(103,232,249,.12)!important;
  }
  .mobile-nav-toggle span{width:17px!important;height:2px!important;}
  .mobile-nav-panel{
    position:absolute!important;
    top:calc(100% + 12px)!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%) translateY(-8px) scale(.985)!important;
    width:min(520px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - 84px)!important;
    overflow:auto!important;
    padding:12px!important;
    border-radius:24px!important;
    border:1px solid rgba(103,232,249,.22)!important;
    background:linear-gradient(180deg,rgba(7,22,34,.96),rgba(3,13,20,.92))!important;
    backdrop-filter:blur(22px)!important;
    box-shadow:0 28px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04) inset!important;
    opacity:0!important;
    pointer-events:none!important;
    display:block!important;
    visibility:hidden!important;
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s!important;
    z-index:900!important;
  }
  .site-nav.header.mobile-open .mobile-nav-panel,
  .site-nav.mobile-open .mobile-nav-panel{
    opacity:1!important;
    pointer-events:auto!important;
    visibility:visible!important;
    transform:translateX(-50%) translateY(0) scale(1)!important;
    transition-delay:0s!important;
  }
  .mobile-nav-panel .nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    max-height:none!important;
    overflow:visible!important;
    text-align:center!important;
  }
  .mobile-nav-panel .nav a,
  .mobile-nav-panel .nav-item > a{
    min-height:46px!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.065)!important;
    border:1px solid rgba(234,244,248,.09)!important;
    color:rgba(234,244,248,.92)!important;
  }
  .mobile-nav-panel .nav a:hover,
  .mobile-nav-panel .nav-item > a:hover{
    background:rgba(103,232,249,.14)!important;
    border-color:rgba(103,232,249,.28)!important;
  }
  .mobile-nav-panel .nav-dropdown{
    position:static!important;
    display:none!important;
    width:100%!important;
    margin:7px 0 0!important;
    padding:7px!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    border-radius:16px!important;
    background:rgba(3,13,20,.42)!important;
    box-shadow:none!important;
  }
  .mobile-nav-panel .nav-item.is-open .nav-dropdown{display:grid!important;}
}

/* Desktop split/process: bigger visual column, text closer to the image. */
@media(min-width:921px){
  .split{
    grid-template-columns:minmax(320px,.78fr) minmax(560px,1.32fr)!important;
    gap:clamp(16px,1.55vw,30px)!important;
    max-width:min(1480px,95vw)!important;
  }
  .split .text-block{
    max-width:620px!important;
    justify-self:end!important;
    padding-right:clamp(0px,1vw,10px)!important;
  }
  .split .visual{
    min-height:clamp(430px,38vw,660px)!important;
    width:100%!important;
  }
  .split.visual-left{
    grid-template-columns:minmax(560px,1.32fr) minmax(320px,.78fr)!important;
  }
  .split.visual-left .visual{order:-1!important;}
  .split.visual-left .text-block{
    justify-self:start!important;
    padding-right:0!important;
    padding-left:clamp(0px,1vw,10px)!important;
  }
}

/* Mobile general polish: compact, centred, readable. */
@media(max-width:640px){
  :root{--content-page-width:94vw!important;--site-header-offset:7px;--hero-header-buffer:10px;}
  body{font-size:14.5px!important;}
  .site-header-spacer{
    height:calc(var(--site-header-height,50px) + 17px)!important;
    min-height:60px!important;
    max-height:82px!important;
  }
  .page-section{padding-top:30px!important;padding-bottom:30px!important;}
  .landing-hero-section{padding-bottom:26px!important;}
  .hero-main-banner{
    min-height:clamp(330px,54dvh,470px)!important;
    padding:18px 14px!important;
    border-radius:18px!important;
  }
  .hero-main-banner.has-image{min-height:clamp(350px,56dvh,490px)!important;}
  .hero-main-banner.is-image-only,
  .hero-main-banner.no-visible-content{min-height:clamp(230px,38dvh,340px)!important;}
  .hero-main-banner .headline{font-size:clamp(1.95rem,10vw,3rem)!important;line-height:.96!important;}
  .hero-main-banner .copy{font-size:.9rem!important;line-height:1.48!important;}
  .hero-main-banner .logo{width:min(var(--logo,96px),30vw)!important;}
  .mobile-nav-panel{width:min(420px,calc(100vw - 24px))!important;padding:10px!important;border-radius:20px!important;}
  .mobile-nav-panel .nav{grid-template-columns:1fr!important;gap:8px!important;}
  .mobile-nav-panel .nav a,.mobile-nav-panel .nav-item>a{min-height:42px!important;font-size:.95rem!important;}
  .section-head,
  .showcase-head,
  .text-block,
  .mini-hero-section .section-head,
  .case-study-section .showcase-head{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .section-head h2,.showcase-head h2,.text-block h2{font-size:clamp(1.85rem,8.8vw,2.75rem)!important;line-height:1!important;}
  .section-head p,.showcase-head p,.text-block p{font-size:.93rem!important;line-height:1.5!important;}
  .split{grid-template-columns:1fr!important;gap:16px!important;}
  .split .text-block{max-width:100%!important;justify-self:center!important;text-align:center!important;}
  .split .visual{min-height:clamp(260px,58vw,360px)!important;}
  .personal-contact-wrap,
  .personal-contact-wrap.contact-form-only{grid-template-columns:1fr!important;gap:14px!important;}
  .personal-contact-card .form{grid-template-columns:1fr!important;gap:12px!important;}
  .personal-contact-card .form label:nth-of-type(3),
  .personal-contact-card .form .page-btn,
  .personal-contact-card .form button[type="submit"]{grid-column:auto!important;}
  .personal-contact-card textarea{min-height:150px!important;}
}

/* V26: wide public pages, visible contact network, corrected process visual proportions, and safer mobile menu/page layouts. */
:root{
  --content-page-width:80vw;
  --site-header-offset:clamp(8px,.75vw,13px);
  --hero-header-buffer:clamp(7px,.75vw,14px);
}
.site-header-spacer{
  height:calc(var(--site-header-height,56px) + var(--site-header-offset,10px) + var(--hero-header-buffer,10px))!important;
  min-height:64px!important;
  max-height:86px!important;
}
.landing-hero-section,
.standard-page-section,
.contact-page-section,
.project-page-hero{padding-top:0!important;}
.landing-hero-section .site-nav.header,
.site-nav.header.is-sticky,
.site-nav.header.is-sticky.is-scrolled{top:var(--site-header-offset,10px)!important;}

/* Make subpages actually use the screen width instead of shrinking around their contents. */
.standard-page-section.public-width-section > .page-content,
.contact-page-section.public-width-section > .page-content,
.project-page-hero.public-width-section > .page-container,
body.public-subpage .page-container,
body.public-subpage .page-content{
  width:min(max(var(--content-page-width,80vw),1180px),calc(100vw - 64px))!important;
  max-width:min(max(var(--content-page-width,80vw),1180px),calc(100vw - 64px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-width:0!important;
}
.standard-page-section .page-rich,
.standard-page-section .text-block.section-head{
  width:100%!important;
  max-width:min(100%,1280px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.standard-page-section .page-rich{
  padding:clamp(22px,2.2vw,38px)!important;
  border:1px solid rgba(234,244,248,.1)!important;
  border-radius:clamp(22px,2vw,34px)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028))!important;
  box-shadow:0 20px 70px rgba(0,0,0,.22)!important;
  overflow-wrap:break-word!important;
}
.standard-page-section .page-rich > *{max-width:1120px!important;}
.standard-page-section .page-rich .page-bb-hero,
.standard-page-section .page-rich .page-bb-box,
.standard-page-section .page-rich .page-bb-image{max-width:100%!important;}

/* Contact page and home quote form: wide, not skinny, with the network behind the form. */
#contact > .page-container{
  width:min(92vw,1500px)!important;
  max-width:min(92vw,1500px)!important;
}
.quote-shell,
.personal-contact-card,
.personal-contact-intro{
  min-width:0!important;
}
.quote-shell.contact-network-card,
.home-contact-network,
.personal-contact-card.contact-network-card{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.quote-shell.contact-network-card::before,
.home-contact-network::before,
.personal-contact-card.contact-network-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(circle at 50% 30%,rgba(103,232,249,.14),transparent 19rem),
    radial-gradient(circle at 78% 82%,rgba(45,212,191,.1),transparent 18rem),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));
  opacity:.88;
}
.contact-network-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:-2!important;
  opacity:.46!important;
  pointer-events:none!important;
  mix-blend-mode:screen!important;
}
.quote-shell.contact-network-card > *:not(.contact-network-bg),
.home-contact-network > *:not(.contact-network-bg),
.personal-contact-card.contact-network-card > *:not(.contact-network-bg){
  position:relative!important;
  z-index:1!important;
}
.quote-shell .section-head{max-width:980px!important;margin-left:auto!important;margin-right:auto!important;}
.quote-shell .form,
.quote-shell .quote-form{
  width:min(100%,1040px)!important;
  max-width:1040px!important;
}
.contact-page-section .personal-contact-wrap{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(360px,.8fr) minmax(640px,1.2fr)!important;
  gap:clamp(20px,2vw,34px)!important;
  align-items:stretch!important;
}
.contact-page-section .personal-contact-wrap.contact-form-only{
  grid-template-columns:minmax(0,1280px)!important;
  justify-content:center!important;
}
.contact-page-section .personal-contact-card{
  width:100%!important;
  max-width:none!important;
  padding:clamp(24px,2.4vw,42px)!important;
}
.contact-page-section .personal-contact-card .form{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(260px,1fr))!important;
  gap:16px!important;
}
.contact-page-section .personal-contact-card .form label:nth-of-type(3),
.contact-page-section .personal-contact-card .form button[type="submit"],
.contact-page-section .personal-contact-card .form .page-btn{
  grid-column:1 / -1!important;
}

/* Project pages: force the shell/content to span the configured public width. */
.project-page-shell{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  justify-self:stretch!important;
}
.project-page-intro{
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
  align-items:start!important;
}
.project-page-intro h1,
.project-page-summary,
.project-page-content,
.project-page-facts,
.project-page-gallery{
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.project-page-content{
  width:100%!important;
  max-width:min(100%,1120px)!important;
}
.project-page-banner img{width:100%!important;}
.project-page-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;}

/* Process/split section: wider image, closer text, shorter and cleaner visual. */
@media(min-width:921px){
  .split{
    grid-template-columns:minmax(360px,.68fr) minmax(720px,1.42fr)!important;
    gap:clamp(12px,1.2vw,24px)!important;
    width:min(95vw,1580px)!important;
    max-width:min(95vw,1580px)!important;
    align-items:center!important;
  }
  .split .text-block{
    max-width:610px!important;
    justify-self:end!important;
    padding-right:clamp(0px,.7vw,10px)!important;
  }
  .split .visual{
    width:100%!important;
    min-height:clamp(260px,24vw,420px)!important;
    max-height:460px!important;
    aspect-ratio:16/7!important;
  }
  .split .visual img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .split.visual-left{
    grid-template-columns:minmax(720px,1.42fr) minmax(360px,.68fr)!important;
  }
  .split.visual-left .visual{order:-1!important;}
  .split.visual-left .text-block{
    justify-self:start!important;
    padding-left:clamp(0px,.7vw,10px)!important;
    padding-right:0!important;
  }
}

/* Mobile menu: centred, legible, obvious dropdown. */
@media(max-width:920px){
  :root{--content-page-width:92vw;--site-header-offset:8px;--hero-header-buffer:8px;}
  .site-header-spacer{
    height:calc(var(--site-header-height,54px) + 16px)!important;
    min-height:62px!important;
    max-height:78px!important;
  }
  .site-nav.header,
  .landing-hero-section .site-nav.header,
  .site-nav.header.is-sticky,
  .site-nav.header.is-sticky.is-scrolled{
    width:min(94vw,760px)!important;
    max-width:min(94vw,760px)!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    overflow:visible!important;
    padding:9px 11px!important;
  }
  .mobile-nav-panel{
    left:50%!important;
    right:auto!important;
    top:calc(100% + 12px)!important;
    width:min(540px,calc(100vw - 28px))!important;
    transform:translateX(-50%) translateY(-10px) scale(.98)!important;
    padding:14px!important;
    border-radius:24px!important;
    border:1px solid rgba(103,232,249,.26)!important;
    background:linear-gradient(180deg,rgba(9,28,42,.98),rgba(3,13,20,.96))!important;
    box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.045) inset!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .24s ease,transform .24s ease,visibility 0s linear .24s!important;
  }
  .site-nav.header.mobile-open .mobile-nav-panel,
  .site-nav.mobile-open .mobile-nav-panel{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(-50%) translateY(0) scale(1)!important;
    transition-delay:0s!important;
  }
  .mobile-nav-panel .nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    text-align:center!important;
  }
  .mobile-nav-panel .nav a,
  .mobile-nav-panel .nav-item > a{
    min-height:48px!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.075)!important;
    border:1px solid rgba(234,244,248,.11)!important;
    color:rgba(245,251,253,.95)!important;
    font-size:1rem!important;
  }
  .standard-page-section.public-width-section > .page-content,
  .contact-page-section.public-width-section > .page-content,
  .project-page-hero.public-width-section > .page-container,
  body.public-subpage .page-container,
  body.public-subpage .page-content{
    width:min(94vw,calc(100vw - 24px))!important;
    max-width:min(94vw,calc(100vw - 24px))!important;
  }
  .contact-page-section .personal-contact-wrap,
  .contact-page-section .personal-contact-wrap.contact-form-only{
    grid-template-columns:1fr!important;
  }
  .contact-page-section .personal-contact-card .form{
    grid-template-columns:1fr!important;
  }
  .contact-page-section .personal-contact-card .form label:nth-of-type(3),
  .contact-page-section .personal-contact-card .form button[type="submit"],
  .contact-page-section .personal-contact-card .form .page-btn{grid-column:auto!important;}
  .project-page-intro{grid-template-columns:1fr!important;}
}
@media(max-width:640px){
  :root{--content-page-width:94vw!important;--site-header-offset:7px;--hero-header-buffer:7px;}
  .site-header-spacer{height:calc(var(--site-header-height,50px) + 14px)!important;min-height:58px!important;max-height:72px!important;}
  .page-section{padding-top:28px!important;padding-bottom:28px!important;}
  .mobile-nav-panel{width:min(430px,calc(100vw - 22px))!important;padding:11px!important;border-radius:20px!important;}
  .mobile-nav-panel .nav{grid-template-columns:1fr!important;gap:8px!important;}
  .mobile-nav-panel .nav a,.mobile-nav-panel .nav-item>a{min-height:43px!important;font-size:.96rem!important;}
  .standard-page-section .page-rich,
  .personal-contact-card,
  .personal-contact-intro,
  .project-page-shell,
  .quote-shell{padding:18px!important;border-radius:22px!important;}
  .quote-grid.auto{grid-template-columns:1fr!important;}
  .quote-shell .form,.quote-shell .quote-form{width:100%!important;max-width:100%!important;}
  .split{grid-template-columns:1fr!important;gap:14px!important;width:94vw!important;max-width:94vw!important;}
  .split .text-block{max-width:100%!important;justify-self:center!important;text-align:center!important;}
  .split .visual{width:100%!important;min-height:clamp(190px,46vw,280px)!important;aspect-ratio:16/8!important;}
  .project-page-intro h1{font-size:clamp(2.35rem,12vw,4rem)!important;}
}

/* V27: wider public pages, slower flowing contact network, cleaner footer copy, and lower/wider process visual. */
:root{
  --content-page-width:80vw;
}
.standard-page-section.public-width-section > .page-content,
.contact-page-section.public-width-section > .page-content,
.project-page-hero.public-width-section > .page-container,
body.public-subpage .page-container,
body.public-subpage .page-content{
  width:min(max(var(--content-page-width,80vw),80vw),calc(100vw - 56px))!important;
  max-width:min(max(var(--content-page-width,80vw),80vw),calc(100vw - 56px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.standard-page-section .page-rich,
.standard-page-section .text-block.section-head,
.standard-page-section .page-rich > *,
.standard-page-section .page-rich .page-bb-box,
.standard-page-section .page-rich .page-bb-hero,
.standard-page-section .page-rich .page-bb-image,
.project-page-shell,
.project-page-content,
.project-page-content > *,
.project-page-gallery,
.project-page-banner{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.standard-page-section .text-block.section-head{
  max-width:min(100%,1180px)!important;
}
.standard-page-section .page-rich{
  display:block!important;
}
.project-page-intro{
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)!important;
}
.project-page-intro h1{
  max-width:100%!important;
}
.project-page-summary{
  max-width:960px!important;
}

/* Contact and quote cards use the configured page width instead of collapsing to a centre card. */
#contact > .page-container{
  width:min(95vw,1680px)!important;
  max-width:min(95vw,1680px)!important;
}
.quote-shell.contact-network-card,
.home-contact-network{
  width:100%!important;
  max-width:100%!important;
}
.contact-page-section .personal-contact-wrap.contact-form-only{
  grid-template-columns:1fr!important;
  justify-content:stretch!important;
  width:100%!important;
  max-width:100%!important;
}
.contact-page-section .personal-contact-card{
  width:100%!important;
  max-width:100%!important;
  justify-self:stretch!important;
}
.contact-page-section .personal-contact-card .form{
  max-width:100%!important;
}
@media(min-width:1100px){
  .contact-page-section .personal-contact-wrap.contact-form-only .personal-contact-card .form{
    grid-template-columns:repeat(2,minmax(280px,1fr))!important;
  }
  .contact-page-section .personal-contact-wrap.contact-form-only .personal-contact-card .form label:nth-of-type(3),
  .contact-page-section .personal-contact-wrap.contact-form-only .personal-contact-card .form button[type="submit"],
  .contact-page-section .personal-contact-wrap.contact-form-only .personal-contact-card .form .page-btn{
    grid-column:1 / -1!important;
  }
}
.contact-network-bg{
  opacity:.34!important;
  mix-blend-mode:screen!important;
}
.contact-network-card::before,
.quote-shell.contact-network-card::before,
.home-contact-network::before,
.personal-contact-card.contact-network-card::before{
  background:
    radial-gradient(circle at 24% 18%,rgba(103,232,249,.085),transparent 24rem),
    radial-gradient(circle at 82% 76%,rgba(45,212,191,.075),transparent 26rem),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012))!important;
}

/* Process/split section: the image side should fill horizontal space without becoming a tall block. */
@media(min-width:921px){
  .split{
    grid-template-columns:minmax(360px,.62fr) minmax(780px,1.58fr)!important;
    gap:clamp(14px,1.5vw,28px)!important;
    width:min(95vw,1680px)!important;
    max-width:min(95vw,1680px)!important;
    align-items:center!important;
  }
  .split .text-block{
    max-width:600px!important;
    justify-self:end!important;
    padding-right:clamp(0px,.6vw,10px)!important;
  }
  .split .visual{
    width:100%!important;
    min-height:clamp(220px,17vw,320px)!important;
    max-height:340px!important;
    aspect-ratio:21/7!important;
  }
  .split.visual-left{
    grid-template-columns:minmax(780px,1.58fr) minmax(360px,.62fr)!important;
  }
  .split.visual-left .text-block{
    justify-self:start!important;
    padding-left:clamp(0px,.6vw,10px)!important;
    padding-right:0!important;
  }
}

/* Footer: remove machine-like wording and centre the compact middle message clearly. */
.footer-compact{
  grid-template-columns:minmax(240px,1fr) minmax(360px,1.6fr) minmax(220px,1fr)!important;
  text-align:initial!important;
}
.footer-key-info{
  justify-self:center!important;
  text-align:center!important;
  max-width:760px!important;
}
.footer-brand-block span{
  max-width:32ch!important;
}
.footer-toggle{
  justify-self:end!important;
}
@media(max-width:920px){
  .standard-page-section.public-width-section > .page-content,
  .contact-page-section.public-width-section > .page-content,
  .project-page-hero.public-width-section > .page-container,
  body.public-subpage .page-container,
  body.public-subpage .page-content{
    width:min(94vw,calc(100vw - 24px))!important;
    max-width:min(94vw,calc(100vw - 24px))!important;
  }
  .footer-compact{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .footer-brand-block,
  .footer-key-info,
  .footer-toggle{
    justify-self:center!important;
    text-align:center!important;
  }
}
@media(max-width:640px){
  .standard-page-section.public-width-section > .page-content,
  .contact-page-section.public-width-section > .page-content,
  .project-page-hero.public-width-section > .page-container,
  body.public-subpage .page-container,
  body.public-subpage .page-content{
    width:calc(100vw - 22px)!important;
    max-width:calc(100vw - 22px)!important;
  }
  .split .visual{
    min-height:clamp(170px,40vw,230px)!important;
    aspect-ratio:16/7!important;
  }
}

/* V28: requested Jorm updates — flush larger header, per-slide hero controls, footer logo/wallpaper controls, per-block fonts, and scroll assemble transitions. */
:root{
  --site-header-offset:0px!important;
  --hero-header-buffer:2px!important;
}
.site-header-spacer{
  height:calc(var(--site-header-height,58px) + 4px)!important;
  min-height:58px!important;
  max-height:72px!important;
}
.landing-hero-section .site-nav.header,
.site-nav.header.is-sticky,
.site-nav.header.is-sticky.is-scrolled{
  top:0!important;
  min-height:clamp(58px,4vw,74px)!important;
  padding-top:clamp(8px,.8vw,13px)!important;
  padding-bottom:clamp(8px,.8vw,13px)!important;
  border-radius:0 0 28px 28px!important;
}
.site-nav.header .brand{
  font-family:var(--p-site-name-font)!important;
  font-size:clamp(1rem,1.08vw,var(--p-site-name-size,17px))!important;
  font-weight:var(--p-site-name-weight,820)!important;
}
.site-nav.header .nav a,
.site-nav.header .nav-item>a{
  min-height:clamp(42px,2.9vw,48px)!important;
  padding:0 clamp(15px,1.2vw,22px)!important;
  font-family:var(--p-nav-font)!important;
  font-size:clamp(.96rem,1vw,var(--p-nav-size,15.5px))!important;
  font-weight:var(--p-nav-weight,650)!important;
}
.brand-expanded-tail{
  margin-left:.72em!important;
  letter-spacing:.01em!important;
}
.brand-expand:hover .brand-expanded-tail,
.brand-expand:focus-visible .brand-expanded-tail{
  max-width:24em!important;
}
.brand-morph{
  width:clamp(9.8rem,21vw,24rem)!important;
  max-width:clamp(9.8rem,21vw,24rem)!important;
}

.page-section{font-family:var(--block-font,var(--p-font))!important;color:var(--section-fg,var(--p-text))}
.page-section h1,.page-section h2,.page-section h3,.page-section .headline,.page-section .text-block h2,.page-section .box h2,.page-section .card h3,.page-section .showcase-tile h3{font-family:var(--block-heading-font,var(--p-heading-font))!important}

.hero-main-banner.is-current-image-only .hero-main-banner-content,
.hero-main-banner.is-current-image-only .hero-main-banner-scrim{
  opacity:0!important;
  pointer-events:none!important;
}
.hero-main-banner-content,
.hero-main-banner-scrim{transition:opacity .38s ease!important}
.hero-carousel-btn{
  position:absolute;
  top:50%;
  z-index:8;
  width:clamp(40px,3.4vw,58px);
  height:clamp(40px,3.4vw,58px);
  display:grid;
  place-items:center;
  border:1px solid rgba(234,244,248,.26);
  border-radius:999px;
  background:rgba(3,13,20,.42);
  color:#fff;
  font:900 clamp(1.6rem,2.2vw,2.4rem)/1 var(--p-heading-font);
  cursor:pointer;
  transform:translateY(-50%);
  backdrop-filter:blur(14px);
  box-shadow:0 16px 44px rgba(0,0,0,.26);
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.hero-carousel-btn:hover{background:rgba(103,232,249,.2);border-color:rgba(103,232,249,.46);transform:translateY(-50%) scale(1.04)}
.hero-carousel-prev{left:clamp(14px,2vw,34px)}
.hero-carousel-next{right:clamp(14px,2vw,34px)}
.hero-carousel-status{
  position:absolute;
  right:clamp(18px,2vw,36px);
  bottom:clamp(18px,2vw,34px);
  z-index:8;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border:1px solid rgba(234,244,248,.18);
  border-radius:999px;
  background:rgba(3,13,20,.42);
  color:rgba(234,244,248,.82);
  font:800 .78rem/1 var(--p-mono-font);
  letter-spacing:.08em;
}
.hero-main-banner.has-carousel::after{display:none!important}

.site-footer-shell{color:var(--footer-text-color,rgba(234,244,248,.82))!important}
.site-footer-shell::before{opacity:var(--footer-compact-bg-opacity,.58)!important}
.footer-compact::before,
.footer-expanded::before{content:"";position:absolute;inset:0;pointer-events:none;background-size:cover;background-position:center;opacity:var(--footer-compact-bg-opacity,.58);z-index:-1}
.footer-compact{position:relative;isolation:isolate;color:var(--footer-text-color,rgba(234,244,248,.82))!important}
.footer-compact::before{background-image:var(--footer-compact-bg,linear-gradient(135deg,rgba(103,232,249,.16),rgba(3,13,20,.28) 52%,rgba(45,212,191,.12)))}
.footer-expanded{position:relative;isolation:isolate;color:var(--footer-text-color,rgba(234,244,248,.82))!important;background-image:none!important}
.footer-expanded::before{opacity:var(--footer-expanded-bg-opacity,.72);background-image:var(--footer-expanded-bg,linear-gradient(135deg,rgba(3,13,20,.82),rgba(3,13,20,.46)))}
.footer-brand-wrap{display:flex;align-items:center;gap:14px;min-width:0;justify-self:start}
.footer-logo{display:block;flex:0 0 auto;object-fit:contain;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(234,244,248,.1);padding:4px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.footer-logo-expanded{margin-bottom:10px;background:transparent;border:0;padding:0;box-shadow:none;border-radius:0}
.footer-brand-block strong,.footer-column h3{color:var(--footer-text-color,#fff)!important}
.footer-brand-block span,.footer-key-info,.footer-column p,.footer-column a,.footer-column span{color:color-mix(in srgb,var(--footer-text-color,rgba(234,244,248,.82)) 84%,transparent)!important}

.scroll-assemble{position:relative;perspective:1000px}
.scroll-assemble .box,
.scroll-assemble .card,
.scroll-assemble .showcase-tile,
.scroll-assemble .split .text-block,
.scroll-assemble .split .visual,
.scroll-assemble .mini-hero-slide,
.scroll-assemble .image-card,
.scroll-assemble .stat-card,
.scroll-assemble .faq-list details,
.scroll-assemble .quote-shell,
.scroll-assemble .site-footer-shell{
  opacity:.18;
  transform:translateX(calc(var(--assemble-direction,1) * 34px)) translateY(24px) scale(.965);
  filter:blur(2px);
  transition:opacity .62s ease,transform .62s cubic-bezier(.2,.82,.2,1),filter .62s ease;
  will-change:transform,opacity,filter;
}
.scroll-assemble .card:nth-child(even),
.scroll-assemble .showcase-tile:nth-child(even),
.scroll-assemble .image-card:nth-child(even),
.scroll-assemble .faq-list details:nth-child(even){
  transform:translateX(calc(var(--assemble-direction,1) * -34px)) translateY(24px) scale(.965);
}
.scroll-assemble.is-in-view .box,
.scroll-assemble.is-in-view .card,
.scroll-assemble.is-in-view .showcase-tile,
.scroll-assemble.is-in-view .split .text-block,
.scroll-assemble.is-in-view .split .visual,
.scroll-assemble.is-in-view .mini-hero-slide,
.scroll-assemble.is-in-view .image-card,
.scroll-assemble.is-in-view .stat-card,
.scroll-assemble.is-in-view .faq-list details,
.scroll-assemble.is-in-view .quote-shell,
.scroll-assemble.is-in-view .site-footer-shell{
  opacity:1;
  transform:translateX(0) translateY(0) scale(1);
  filter:blur(0);
}
@media(max-width:920px){
  .landing-hero-section .site-nav.header,.site-nav.header.is-sticky,.site-nav.header.is-sticky.is-scrolled{top:0!important;border-radius:0 0 22px 22px!important;padding:8px 11px!important}
  .site-header-spacer{height:calc(var(--site-header-height,54px) + 4px)!important;min-height:56px!important;max-height:70px!important}
  .brand-morph{width:min(60vw,18rem)!important;max-width:min(60vw,18rem)!important}
  .hero-carousel-btn{top:auto;bottom:clamp(16px,4vw,24px);transform:none}
  .hero-carousel-btn:hover{transform:scale(1.04)}
  .hero-carousel-prev{left:clamp(16px,4vw,24px)}
  .hero-carousel-next{left:calc(clamp(16px,4vw,24px) + 50px);right:auto}
  .hero-carousel-status{left:auto;right:clamp(16px,4vw,24px)}
  .footer-brand-wrap{justify-self:center;justify-content:center;text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .scroll-assemble .box,.scroll-assemble .card,.scroll-assemble .showcase-tile,.scroll-assemble .split .text-block,.scroll-assemble .split .visual,.scroll-assemble .mini-hero-slide,.scroll-assemble .image-card,.scroll-assemble .stat-card,.scroll-assemble .faq-list details,.scroll-assemble .quote-shell,.scroll-assemble .site-footer-shell{transition:none!important;transform:none!important;opacity:1!important;filter:none!important}
}

/* V29: emergency sticky header hotfix.
   Scroll-assemble perspective was creating a containing block for the fixed nav,
   so the header could behave like part of the hero instead of the viewport. */
.scroll-assemble{perspective:none!important;}
.site-nav.header[data-site-header]{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  z-index:2147483000!important;
  width:95vw!important;
  max-width:95vw!important;
  margin:0!important;
}
.site-nav.header[data-site-header].is-scrolled{
  top:0!important;
}
.landing-hero-section .site-nav.header[data-site-header]{
  position:fixed!important;
  top:0!important;
  z-index:2147483000!important;
}
@media(max-width:920px){
  .site-nav.header[data-site-header],
  .landing-hero-section .site-nav.header[data-site-header]{
    top:0!important;
    width:94vw!important;
    max-width:94vw!important;
    border-radius:0 0 22px 22px!important;
  }
}

/* V30: exact home tab title support and footer open-state cleanup.
   The full footer now uses one expanded wallpaper across the entire shell,
   avoids duplicate expanded-logo rendering, and points the compact arrow upward. */
.site-footer-shell{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,rgba(3,13,20,.72),rgba(3,13,20,.38))!important;
}
.site-footer-shell::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:var(--footer-compact-bg,linear-gradient(135deg,rgba(103,232,249,.16),rgba(3,13,20,.28) 52%,rgba(45,212,191,.12)))!important;
  background-size:cover!important;
  background-position:center!important;
  opacity:var(--footer-compact-bg-opacity,.58)!important;
  transition:opacity .24s ease,background-image .24s ease!important;
}
.site-footer-shell.footer-is-open::after,
.site-footer-shell:has(.footer-expander[open])::after{
  background-image:var(--footer-expanded-bg,linear-gradient(135deg,rgba(3,13,20,.82),rgba(3,13,20,.46)))!important;
  opacity:var(--footer-expanded-bg-opacity,.72)!important;
}
.site-footer-shell .footer-expander,
.site-footer-shell .footer-compact,
.site-footer-shell .footer-expanded{
  position:relative!important;
  z-index:1!important;
}
.site-footer-shell .footer-compact,
.site-footer-shell .footer-expanded{
  background-image:none!important;
}
.site-footer-shell .footer-compact::before,
.site-footer-shell .footer-expanded::before{
  display:none!important;
}
.site-footer-shell .footer-compact{
  background:rgba(3,13,20,.24)!important;
}
.site-footer-shell .footer-expanded{
  background:rgba(3,13,20,.38)!important;
}
.site-footer-shell.footer-is-open .footer-compact,
.site-footer-shell:has(.footer-expander[open]) .footer-compact{
  border-top:1px solid rgba(234,244,248,.1)!important;
  background:rgba(3,13,20,.18)!important;
}
.site-footer-shell.footer-is-open .footer-expanded,
.site-footer-shell:has(.footer-expander[open]) .footer-expanded{
  background:rgba(3,13,20,.34)!important;
}
.footer-toggle b{
  transform:rotate(180deg)!important;
  transition:transform .22s ease!important;
}
.footer-expander[open] .footer-toggle b{
  transform:rotate(0deg)!important;
}
.footer-logo-expanded{
  display:none!important;
}
.footer-about{
  padding-top:0!important;
}
@media(max-width:640px){
  .footer-brand-wrap{justify-self:start!important;text-align:left!important;}
  .footer-key-info,.footer-toggle{justify-self:start!important;text-align:left!important;}
}

/* V31: footer editor fixes, single expanded brand, and contrast-safe hover treatment. */
.footer-about-head{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
  margin:0 0 6px!important;
}
.footer-about-head h3{
  margin:0!important;
}
.footer-about-head .footer-logo-expanded{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  object-fit:contain!important;
  border-radius:14px!important;
  background:rgba(3,13,20,.18)!important;
  border:1px solid rgba(234,244,248,.12)!important;
  padding:4px!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22),0 0 26px rgba(103,232,249,.08)!important;
}
.footer-expander[open] .footer-compact{
  grid-template-columns:1fr!important;
  min-height:62px!important;
  padding:12px clamp(18px,2.4vw,30px)!important;
  justify-items:end!important;
  background:rgba(3,13,20,.16)!important;
}
.footer-expander[open] .footer-brand-wrap,
.footer-expander[open] .footer-key-info{
  display:none!important;
}
.footer-expander[open] .footer-toggle{
  justify-self:end!important;
}
.site-footer-shell .footer-column a,
.site-footer-shell .footer-column span,
.site-footer-shell .footer-toggle,
.site-footer-shell .footer-quote-btn{
  position:relative!important;
  border-radius:999px!important;
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,filter .2s ease,transform .2s ease,text-shadow .2s ease!important;
}
.site-footer-shell .footer-column a,
.site-footer-shell .footer-column span{
  margin-left:-7px!important;
  padding:3px 8px!important;
}
.site-footer-shell .footer-column a:hover,
.site-footer-shell .footer-column a:focus-visible,
.site-footer-shell .footer-toggle:hover,
.site-footer-shell .footer-toggle:focus-visible,
.site-footer-shell .footer-quote-btn:hover,
.site-footer-shell .footer-quote-btn:focus-visible{
  color:#eaffff!important;
  background:rgba(0,0,0,.32)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 0 1px rgba(103,232,249,.10),0 0 26px rgba(103,232,249,.18),0 18px 40px rgba(0,0,0,.22)!important;
  text-shadow:0 0 16px rgba(103,232,249,.42)!important;
  filter:brightness(.98) saturate(1.08)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.site-footer-shell .footer-column span:hover{
  background:rgba(0,0,0,.22)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 18px rgba(103,232,249,.10)!important;
}
@media(max-width:640px){
  .footer-expander[open] .footer-compact,
  .footer-expander[open] .footer-toggle{
    justify-items:start!important;
    justify-self:start!important;
  }
  .footer-about-head{
    align-items:flex-start!important;
  }
}

/* V32: mobile sticky-header, hero carousel controls, mobile image visibility, and centered mobile footer. */
@media(max-width:920px){
  html{
    scroll-padding-top:calc(var(--site-header-height,64px) + env(safe-area-inset-top,0px) + 10px)!important;
  }
  body.has-fixed-site-header{
    overflow-x:hidden!important;
  }
  .site-nav.header[data-site-header],
  .landing-hero-section .site-nav.header[data-site-header],
  .site-nav.header[data-site-header].is-sticky,
  .site-nav.header[data-site-header].is-sticky.is-scrolled{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    transform:none!important;
    width:100vw!important;
    max-width:100vw!important;
    min-height:calc(58px + env(safe-area-inset-top,0px))!important;
    margin:0!important;
    padding:calc(9px + env(safe-area-inset-top,0px)) clamp(12px,3.8vw,18px) 9px!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    border-radius:0 0 20px 20px!important;
    border-width:0 0 1px!important;
    border-color:rgba(234,244,248,.16)!important;
    background:linear-gradient(180deg,rgba(3,13,20,.96),rgba(3,13,20,.86))!important;
    backdrop-filter:blur(22px) saturate(1.08)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.08)!important;
    box-shadow:0 14px 36px rgba(0,0,0,.34),inset 0 -1px rgba(255,255,255,.045)!important;
    z-index:2147483000!important;
    overflow:visible!important;
  }
  .site-nav.header[data-site-header].is-scrolled{
    background:linear-gradient(180deg,rgba(3,13,20,.985),rgba(3,13,20,.92))!important;
    border-color:rgba(103,232,249,.24)!important;
    box-shadow:0 16px 42px rgba(0,0,0,.42),0 0 0 1px rgba(103,232,249,.06),inset 0 -1px rgba(255,255,255,.06)!important;
  }
  .site-nav.header[data-site-header] .nav-zone{
    min-width:0!important;
    width:auto!important;
    flex:0 1 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }
  .site-nav.header[data-site-header] .nav-zone-left{
    flex:1 1 auto!important;
    justify-content:flex-start!important;
  }
  .site-nav.header[data-site-header] .nav-zone-center{
    flex:0 1 auto!important;
    justify-content:center!important;
  }
  .site-nav.header[data-site-header] .nav-zone-right{
    flex:0 0 auto!important;
    justify-content:flex-end!important;
    margin-left:auto!important;
  }
  .site-nav.header[data-site-header] .brand{
    max-width:calc(100vw - 92px)!important;
    overflow:hidden!important;
    color:#f3fbff!important;
    text-shadow:0 1px 18px rgba(103,232,249,.12)!important;
  }
  .site-nav.header[data-site-header] .brand-morph{
    width:auto!important;
    max-width:calc(100vw - 132px)!important;
  }
  .site-nav.header[data-site-header] .nav-zone .nav{
    display:none!important;
  }
  .site-nav.header[data-site-header] .mobile-nav-toggle{
    display:grid!important;
    flex:0 0 auto!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
    color:#f4fbff!important;
    background:rgba(255,255,255,.075)!important;
    border-color:rgba(234,244,248,.18)!important;
  }
  .site-nav.header[data-site-header].mobile-open .mobile-nav-toggle{
    background:rgba(103,232,249,.15)!important;
    border-color:rgba(103,232,249,.42)!important;
  }
  .site-nav.header[data-site-header] .mobile-nav-panel{
    flex:1 0 100%!important;
    order:20!important;
    width:100%!important;
    max-width:100%!important;
    margin:8px 0 0!important;
    padding:0!important;
    display:none!important;
  }
  .site-nav.header[data-site-header].mobile-open .mobile-nav-panel{
    display:block!important;
  }
  .site-nav.header[data-site-header] .mobile-nav-panel .nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-height:calc(100dvh - var(--site-header-height,64px) - 18px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    gap:7px!important;
    padding:10px!important;
    border:1px solid rgba(234,244,248,.12)!important;
    border-radius:18px!important;
    background:rgba(3,13,20,.72)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.05)!important;
  }
  .site-nav.header[data-site-header] .mobile-nav-panel .nav a,
  .site-nav.header[data-site-header] .mobile-nav-panel .nav-item>a{
    min-height:42px!important;
    width:100%!important;
    justify-content:center!important;
    color:#edfaff!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(234,244,248,.08)!important;
  }
  .site-header-spacer{
    height:calc(var(--site-header-height,64px) + env(safe-area-inset-top,0px) + 8px)!important;
    min-height:68px!important;
    max-height:none!important;
  }
  .landing-hero-section{
    padding-top:calc(var(--site-header-height,64px) + env(safe-area-inset-top,0px) + 14px)!important;
  }

  .hero-main-banner.has-image .hero-main-banner-image,
  .hero-main-banner-carousel .hero-main-banner-image{
    filter:saturate(1.1) contrast(1.04) brightness(1.15)!important;
  }
  .hero-main-banner.has-image .hero-main-banner-scrim{
    background:linear-gradient(180deg,rgba(3,13,20,.24),rgba(3,13,20,.18) 42%,rgba(3,13,20,.44))!important;
  }
  .hero-main-banner.has-image .hero-main-banner-content{
    width:min(100%,760px)!important;
    padding:clamp(18px,4.8vw,28px)!important;
    border:1px solid rgba(234,244,248,.09)!important;
    border-radius:clamp(20px,5vw,30px)!important;
    background:rgba(3,13,20,.28)!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.20)!important;
  }
  .hero-carousel-btn{
    top:clamp(12px,3.8vw,22px)!important;
    bottom:auto!important;
    width:clamp(38px,10vw,46px)!important;
    height:clamp(38px,10vw,46px)!important;
    transform:none!important;
    background:rgba(3,13,20,.58)!important;
    border-color:rgba(234,244,248,.28)!important;
  }
  .hero-carousel-btn:hover,
  .hero-carousel-btn:focus-visible{
    transform:translateY(-1px)!important;
  }
  .hero-carousel-prev{
    left:clamp(12px,3.8vw,22px)!important;
    right:auto!important;
  }
  .hero-carousel-next{
    left:auto!important;
    right:clamp(12px,3.8vw,22px)!important;
  }
  .hero-carousel-status{
    right:50%!important;
    bottom:clamp(12px,3.8vw,20px)!important;
    left:auto!important;
    transform:translateX(50%)!important;
  }

  .footer-compact{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
  }
  .footer-brand-wrap,
  .footer-key-info,
  .footer-toggle{
    justify-self:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .footer-brand-block{
    justify-items:center!important;
    text-align:center!important;
  }
  .footer-expanded{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
  }
  .footer-column{
    align-items:center!important;
    text-align:center!important;
  }
  .footer-column p{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer-about-head{
    justify-content:center!important;
    text-align:center!important;
  }
  .site-footer-shell .footer-column a,
  .site-footer-shell .footer-column span{
    margin-left:0!important;
  }
  .footer-expander[open] .footer-compact,
  .footer-expander[open] .footer-toggle{
    justify-items:center!important;
    justify-self:center!important;
  }
}

@media(max-width:520px){
  .site-nav.header[data-site-header] .nav-logo{
    width:min(34px,var(--logo,42px))!important;
    height:min(34px,var(--logo,42px))!important;
  }
  .site-nav.header[data-site-header] .brand{
    font-size:.98rem!important;
    gap:8px!important;
  }
  .site-nav.header[data-site-header] .brand-expanded-tail{
    display:none!important;
  }
  .hero-main-banner.has-image .hero-main-banner-content{
    background:rgba(3,13,20,.24)!important;
  }
  .hero-main-banner .copy{
    color:rgba(244,251,255,.9)!important;
  }
  .footer-about-head{
    flex-direction:column!important;
    gap:10px!important;
  }
}

/* V33: mobile header hard lock, hero mobile image controls, carousel overlap fix, footer emphasis, and project-page mobile repair. */
.hero-main-banner-image,
.hero-main-banner-carousel .hero-main-banner-image{
  object-fit:var(--hero-image-fit,cover)!important;
  object-position:center center!important;
}

@media(max-width:920px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none!important;
  }
  body{
    position:relative!important;
  }
  .site-nav.header[data-site-header],
  .site-nav.header[data-site-header].is-sticky,
  .site-nav.header[data-site-header].is-sticky.is-scrolled,
  .site-nav.header[data-site-header].is-scrolled,
  .landing-hero-section .site-nav.header[data-site-header],
  body.public-subpage .site-nav.header[data-site-header]{
    position:fixed!important;
    inset:0 0 auto 0!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    transform:none!important;
    translate:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:calc(9px + env(safe-area-inset-top,0px)) clamp(12px,3.8vw,18px) 9px!important;
    border-radius:0 0 20px 20px!important;
    z-index:2147483640!important;
    contain:none!important;
    isolation:isolate!important;
    overflow:visible!important;
    will-change:auto!important;
  }
  .site-nav.header[data-site-header] .nav-zone,
  .site-nav.header[data-site-header] .brand,
  .site-nav.header[data-site-header] .brand-morph{
    min-width:0!important;
  }
  .site-nav.header[data-site-header] .brand{
    max-width:calc(100vw - 88px)!important;
  }
  .site-nav.header[data-site-header] .brand-morph{
    width:auto!important;
    max-width:calc(100vw - 124px)!important;
  }
  .site-nav.header[data-site-header] .mobile-nav-panel,
  .site-nav.header[data-site-header].mobile-open .mobile-nav-panel{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    flex:1 0 100%!important;
    margin:8px 0 0!important;
    box-sizing:border-box!important;
  }
  .site-nav.header[data-site-header].mobile-open .mobile-nav-panel{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .site-header-spacer{
    height:calc(var(--site-header-height,64px) + env(safe-area-inset-top,0px) + 10px)!important;
    min-height:70px!important;
    max-height:none!important;
  }
  .landing-hero-section,
  .project-page-hero.public-width-section{
    padding-top:calc(var(--site-header-height,64px) + env(safe-area-inset-top,0px) + 18px)!important;
  }
  .hero-main-banner-image,
  .hero-main-banner-carousel .hero-main-banner-image{
    object-fit:var(--hero-image-fit-mobile,var(--hero-image-fit,cover))!important;
  }
  .hero-main-banner.has-image .hero-main-banner-content{
    padding-bottom:clamp(66px,14vw,88px)!important;
  }
  .hero-carousel-status{
    left:50%!important;
    right:auto!important;
    bottom:clamp(12px,3.4vw,18px)!important;
    top:auto!important;
    transform:translateX(-50%)!important;
    min-height:34px!important;
    z-index:10!important;
    background:rgba(3,13,20,.64)!important;
  }
  .footer-expanded .footer-about-head,
  .footer-about-head{
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
  .footer-about-head .footer-logo-expanded,
  .footer-logo-expanded{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer-column h3,
  .footer-about-head h3{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:7px 12px!important;
    border:1px solid rgba(234,244,248,.22)!important;
    border-radius:999px!important;
    background:rgba(3,13,20,.34)!important;
    color:#f5fcff!important;
    font-weight:950!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    text-shadow:0 0 1px rgba(0,0,0,.9),0 0 18px rgba(103,232,249,.18)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.045),0 10px 30px rgba(0,0,0,.18)!important;
  }

  body.project-page,
  body.public-subpage{
    overflow-x:hidden!important;
  }
  body.project-page .project-page-hero.public-width-section,
  body.project-page .project-page-hero.public-width-section > .page-container,
  body.project-page .page-container{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  body.project-page .project-page-shell{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:clamp(16px,4.8vw,22px)!important;
    border-radius:clamp(20px,6vw,28px)!important;
    overflow:hidden!important;
    display:grid!important;
    gap:20px!important;
  }
  body.project-page .project-page-intro{
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:start!important;
  }
  body.project-page .project-page-type,
  body.project-page .project-back-link{
    letter-spacing:.12em!important;
  }
  body.project-page .project-page-intro h1{
    max-width:100%!important;
    font-size:clamp(2.55rem,16vw,4.15rem)!important;
    line-height:.92!important;
    letter-spacing:-.07em!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
  }
  body.project-page .project-page-summary{
    max-width:100%!important;
    font-size:1rem!important;
    line-height:1.62!important;
  }
  body.project-page .project-page-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  body.project-page .project-page-actions .page-btn{
    width:100%!important;
    justify-content:center!important;
    min-height:48px!important;
    white-space:normal!important;
  }
  body.project-page .project-page-facts{
    width:100%!important;
    display:grid!important;
    gap:10px!important;
  }
  body.project-page .project-page-facts section{
    padding:13px!important;
    border-radius:16px!important;
  }
  body.project-page .project-page-banner,
  body.project-page .project-page-gallery,
  body.project-page .project-page-content{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.project-page .project-page-banner img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:52vh!important;
    aspect-ratio:4/3!important;
  }
  body.project-page .project-page-gallery{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body.project-page .project-page-content,
  body.project-page .project-page-content *{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }
}

@media(max-width:520px){
  .hero-main-banner .headline{
    font-size:clamp(2.15rem,11.5vw,3.2rem)!important;
    line-height:.96!important;
    letter-spacing:-.055em!important;
  }
  .hero-main-banner .copy{
    font-size:.98rem!important;
    line-height:1.55!important;
  }
  .hero-main-banner .btn-row{
    gap:9px!important;
  }
  .hero-main-banner .btn-row .page-btn{
    min-height:46px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  body.project-page .project-page-intro h1{
    font-size:clamp(2.45rem,15.5vw,3.65rem)!important;
  }
}

/* V34: editable project card label colour, editable split visual badge, and FAQ formatting polish. */
.visual::before{
  content:attr(data-visual-kicker)!important;
  position:relative;
  z-index:2;
}
.visual.no-visual-kicker::before,
.visual[data-visual-kicker=""]::before{
  content:none!important;
  display:none!important;
}
.case-study-meta span:first-child,
.showcase-tile-meta.case-study-meta span:first-child{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:24px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:var(--showcase-label-highlight,linear-gradient(135deg,var(--p-primary),var(--p-accent)))!important;
  color:var(--showcase-label-text,#04111a)!important;
  border-color:transparent!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 8px 22px rgba(103,232,249,.12)!important;
  text-shadow:none!important;
}
.case-study-meta span:last-child,
.showcase-tile-meta.case-study-meta span:last-child{
  align-self:center;
}
#faq .page-container{
  display:grid!important;
  justify-items:center!important;
  text-align:center!important;
}
#faq .section-head,
#faq .text-block.section-head{
  width:min(760px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
#faq .faq-list{
  width:min(860px,100%)!important;
  margin:20px auto 0!important;
  display:grid!important;
  gap:14px!important;
  text-align:center!important;
}
#faq .faq-list details{
  position:relative!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid rgba(103,232,249,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.028))!important;
  box-shadow:0 18px 52px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.05)!important;
  text-align:left!important;
}
#faq .faq-list details[open]{
  border-color:rgba(103,232,249,.38)!important;
  background:linear-gradient(180deg,rgba(103,232,249,.10),rgba(255,255,255,.035))!important;
}
#faq .faq-list summary{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:18px 56px!important;
  min-height:62px!important;
  text-align:center!important;
  color:#f8fdff!important;
  font:900 clamp(1rem,1.45vw,1.15rem)/1.35 var(--p-font)!important;
  letter-spacing:.01em!important;
  list-style:none!important;
}
#faq .faq-list summary::-webkit-details-marker{display:none!important;}
#faq .faq-list summary::before{
  content:"Q";
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:rgba(103,232,249,.18);
  border:1px solid rgba(103,232,249,.38);
  color:var(--p-primary);
  font:950 .82rem/1 var(--p-mono-font);
  text-shadow:0 0 18px rgba(103,232,249,.2);
}
#faq .faq-list summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(234,244,248,.14);
  background:rgba(3,13,20,.35);
  color:rgba(234,244,248,.82);
  font:900 1rem/1 var(--p-mono-font);
}
#faq .faq-list details[open] summary{
  border-bottom:1px solid rgba(103,232,249,.16)!important;
}
#faq .faq-list details[open] summary::after{
  content:"−";
  color:var(--p-primary);
  border-color:rgba(103,232,249,.32);
}
#faq .faq-answer{
  position:relative!important;
  margin:0!important;
  padding:20px 24px 24px 68px!important;
  color:rgba(234,244,248,.82)!important;
  line-height:1.72!important;
  text-align:left!important;
  background:linear-gradient(90deg,rgba(3,13,20,.18),rgba(3,13,20,.04))!important;
}
#faq .faq-answer::before{
  content:"A";
  position:absolute;
  left:24px;
  top:22px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(234,244,248,.08);
  border:1px solid rgba(234,244,248,.16);
  color:rgba(234,244,248,.72);
  font:900 .78rem/1 var(--p-mono-font);
}
#faq .faq-answer > :first-child{margin-top:0!important;}
#faq .faq-answer > :last-child{margin-bottom:0!important;}
#faq .faq-answer p{
  margin:0 0 .75em!important;
  padding:0!important;
  color:inherit!important;
  line-height:inherit!important;
}

@media(max-width:720px){
  #faq .faq-list{gap:12px!important;}
  #faq .faq-list summary{
    justify-content:center!important;
    padding:16px 48px 16px 14px!important;
    min-height:58px!important;
    font-size:1rem!important;
  }
  #faq .faq-list summary::before{
    width:28px;
    height:28px;
  }
  #faq .faq-list summary::after{
    right:14px;
  }
  #faq .faq-answer{
    padding:18px 18px 20px 56px!important;
  }
  #faq .faq-answer::before{
    left:18px;
    top:20px;
  }
  .showcase-tile-meta.case-study-meta{
    align-items:flex-start!important;
    gap:7px!important;
  }
  .case-study-meta span:last-child,
  .showcase-tile-meta.case-study-meta span:last-child{
    align-self:flex-start!important;
  }
}

/* V35: mobile compact footer finish and per-project pill defaults. */
@media(max-width:720px){
  .site-footer-shell .footer-compact{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-items:center!important;
    gap:12px!important;
    text-align:center!important;
    padding-left:clamp(18px,5vw,28px)!important;
    padding-right:clamp(18px,5vw,28px)!important;
  }
  .site-footer-shell .footer-compact .footer-brand-wrap{
    width:100%!important;
    justify-content:center!important;
    justify-self:center!important;
    gap:0!important;
  }
  .site-footer-shell .footer-compact .footer-logo{
    margin-left:auto!important;
    margin-right:auto!important;
    width:clamp(44px,14vw,62px)!important;
    height:clamp(44px,14vw,62px)!important;
  }
  .site-footer-shell .footer-compact .footer-brand-block,
  .site-footer-shell .footer-compact .footer-key-info{
    display:none!important;
  }
  .site-footer-shell .footer-compact .footer-toggle{
    justify-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer-expander:not([open]) .footer-compact{
    min-height:118px!important;
  }
}
