:root{
  --bg:#09090b;
  --bg-soft:#0d0d10;
  --panel:#111114;
  --panel-2:#161619;
  --text:#f1ede5;
  --muted:#99948b;
  --gold:#c8a35d;
  --gold-2:#e3c98f;
  --line:rgba(241,237,229,.105);
  --line-strong:rgba(200,163,93,.34);
  --serif:'Cormorant Garamond',serif;
  --sans:'Jost',sans-serif;
  --max:1220px;
  --ease:cubic-bezier(.16,1,.3,1);
  --nav-h:78px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{
  min-width:320px;background:var(--bg);color:var(--text);font-family:var(--sans);
  font-size:16px;line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased;
  overflow-x:hidden
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(52vw 36vw at 88% 2%,rgba(200,163,93,.105),transparent 72%),
    radial-gradient(42vw 34vw at -8% 56%,rgba(70,98,126,.055),transparent 70%),
    linear-gradient(180deg,#09090b,#0a0a0c 55%,#09090b)
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 88%)
}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{border-radius:0}
img,svg{max-width:100%;height:auto}
.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}
section{padding:112px 0;border-top:1px solid var(--line);position:relative}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)
}
.eyebrow::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 5px rgba(200,163,93,.09)
}
h1,h2,h3{font-family:var(--serif);font-weight:500}
h1{
  font-size:clamp(58px,7.6vw,108px);line-height:.94;letter-spacing:-.028em;
  max-width:960px;text-wrap:balance
}
h2{
  font-size:clamp(40px,5vw,66px);line-height:1.03;letter-spacing:-.018em;
  max-width:940px;text-wrap:balance
}
h3{line-height:1.1}
h1 em,h2 em{font-style:normal;color:var(--gold)}
p{color:var(--muted);text-wrap:pretty}
.section-head{max-width:760px;margin-bottom:54px}
.section-head p{font-size:17px;max-width:650px;margin-top:20px}
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 25px;border:1px solid var(--line-strong);
  color:var(--text);background:transparent;text-decoration:none;cursor:pointer;
  font-size:10.5px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;
  transition:transform .3s var(--ease),background .3s ease,border-color .3s ease,color .3s ease
}
.btn:hover{transform:translateY(-2px);background:var(--gold);border-color:var(--gold);color:var(--bg)}
.btn.primary{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.btn.primary:hover{background:var(--gold-2);border-color:var(--gold-2)}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.skip{
  position:fixed;left:-9999px;top:12px;z-index:1000;
  padding:10px 15px;background:var(--gold);color:var(--bg);text-decoration:none
}
.skip:focus{left:12px}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);
  border-bottom:1px solid var(--line);background:rgba(9,9,11,.84);backdrop-filter:blur(18px)
}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-family:var(--serif);font-size:27px;text-decoration:none;letter-spacing:.03em}
.logo i{font-style:normal;color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:25px;list-style:none}
.nav-links a:not(.btn){
  color:var(--muted);text-decoration:none;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  transition:color .25s ease
}
.nav-links a:not(.btn):hover,.nav-links a[aria-current="page"]{color:var(--text)}
.nav-actions{display:flex;align-items:center;gap:12px}
.lang{position:relative}
.lang-btn{
  display:flex;align-items:center;gap:7px;min-height:40px;padding:0 11px;
  border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;
  font-size:10px;letter-spacing:.15em;text-transform:uppercase
}
.lang-menu{
  position:absolute;right:0;top:calc(100% + 10px);width:150px;padding:7px;
  border:1px solid var(--line);background:var(--panel);box-shadow:0 20px 50px rgba(0,0,0,.35);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.25s var(--ease)
}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{
  display:flex;justify-content:space-between;width:100%;padding:10px;border:0;background:transparent;
  color:var(--muted);cursor:pointer;font-size:12px;text-align:left
}
.lang-menu button:hover,.lang-menu button.active{background:rgba(200,163,93,.08);color:var(--text)}
.menu-btn{
  display:none;width:42px;height:42px;border:1px solid var(--line);background:transparent;
  color:var(--text);cursor:pointer;font-size:17px
}
.mobile-menu{display:none}

/* HERO */
.hero{
  min-height:100svh;display:flex;align-items:center;padding:148px 0 68px;border:0;overflow:hidden
}
.hero::after{
  content:"";position:absolute;right:-18vw;top:8vh;width:52vw;height:52vw;border-radius:50%;
  border:1px solid rgba(200,163,93,.07);
  box-shadow:0 0 0 7vw rgba(200,163,93,.012),0 0 0 14vw rgba(200,163,93,.008);
  pointer-events:none
}
.hero-grid{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(280px,.68fr);
  gap:72px;align-items:end
}
.hero .eyebrow{margin-bottom:30px}
.hero h1 span{display:block}
.hero-lead{font-size:18px;max-width:680px;margin:30px 0 38px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-panel{
  border:1px solid var(--line);background:rgba(17,17,20,.68);backdrop-filter:blur(14px);
  padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.28)
}
.hero-panel-label{
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:17px
}
.hero-panel ul{list-style:none}
.hero-panel li{
  display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px
}
.hero-panel li:last-child{border-bottom:0}
.hero-panel li span:last-child{color:var(--muted);text-align:right}
.hero-panel-note{
  display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);
  color:var(--muted);font-size:11.5px
}
.hero-panel-note i{
  width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg);margin-top:6px;flex:0 0 auto
}
.hero-proof{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  margin-top:64px;border:1px solid var(--line);background:var(--line)
}
.hero-proof div{background:var(--bg);padding:20px}
.hero-proof b{display:block;font-family:var(--serif);font-size:21px;color:var(--gold);font-weight:500}
.hero-proof span{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* CAPABILITIES */
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cap{
  background:var(--bg);padding:29px;min-height:285px;transition:background .3s ease,transform .35s var(--ease)
}
.cap:hover{background:var(--panel);transform:translateY(-3px)}
.cap .num{font-family:var(--serif);font-style:italic;color:var(--gold)}
.cap h3{font-size:28px;margin:20px 0 12px}
.cap p{font-size:14px}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.tags span{font-size:9px;letter-spacing:.11em;text-transform:uppercase;border:1px solid var(--line);padding:6px 8px}

/* PRODUCT LAB */
.product-lab{background:var(--panel)}
.lab-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.lab-copy{position:sticky;top:110px}
.lab-copy p{font-size:16px;margin-top:20px}
.lab-tabs{display:grid;gap:8px;margin-top:30px}
.lab-tab{
  display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;
  width:100%;padding:14px;border:1px solid var(--line);background:transparent;color:var(--text);
  text-align:left;cursor:pointer;transition:.25s ease
}
.lab-tab span:first-child{color:var(--gold);font-family:var(--serif);font-style:italic}
.lab-tab strong{font-family:var(--sans);font-size:12px;font-weight:400}
.lab-tab.active{border-color:var(--line-strong);background:rgba(200,163,93,.055)}
.product-stage{
  border:1px solid var(--line);background:#0c0f13;padding:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.32);min-height:520px
}
.stage-top{height:38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.stage-dots{display:flex;gap:5px}.stage-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.22)}
.stage-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stage-body{display:grid;grid-template-columns:112px 1fr;min-height:425px}
.stage-side{border-right:1px solid var(--line);padding:17px 11px}
.stage-brand{height:17px;width:65%;background:rgba(200,163,93,.4);margin-bottom:26px}
.stage-link{height:7px;background:rgba(255,255,255,.075);margin:16px 0}
.stage-link.active{width:77%;background:rgba(200,163,93,.5)}
.stage-main{padding:19px}
.stage-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.stage-head strong{font-family:var(--serif);font-size:24px;font-weight:500}
.stage-head i{width:78px;height:27px;background:var(--gold)}
.stage-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stage-metric{border:1px solid var(--line);padding:12px}
.stage-metric small{display:block;width:45%;height:5px;background:rgba(255,255,255,.08);margin-bottom:10px}
.stage-metric b{font-family:var(--serif);font-size:22px;font-weight:500}
.stage-chart{height:130px;border:1px solid var(--line);margin-top:9px;position:relative;overflow:hidden}
.stage-chart::before{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,rgba(255,255,255,.045) 30px)
}
.stage-chart::after{
  content:"";position:absolute;left:8%;right:8%;bottom:31px;height:52px;
  border-top:2px solid var(--gold);transform:skewY(-7deg)
}
.stage-table{margin-top:9px;border:1px solid var(--line)}
.stage-row{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:8px;padding:9px;border-bottom:1px solid var(--line)}
.stage-row:last-child{border-bottom:0}.stage-row i{height:6px;background:rgba(255,255,255,.075)}
.stage-footer{
  display:flex;justify-content:space-between;gap:15px;margin-top:14px;color:var(--muted);font-size:11px
}

/* ARCHITECTURE */
.arch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.arch{
  background:var(--bg);padding:28px;min-height:245px
}
.arch span{
  display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line-strong);
  color:var(--gold);font-size:10px
}
.arch h3{font-size:27px;margin:18px 0 10px}
.arch p{font-size:14px}
.tech-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px
}
.tech-strip div{
  border:1px solid var(--line);padding:13px;text-align:center;
  color:var(--muted);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase
}

/* CASES */
.cases{background:var(--panel)}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.case{
  border:1px solid var(--line);background:var(--bg);overflow:hidden;
  transition:border-color .3s ease,transform .4s var(--ease)
}
.case:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.case-visual{height:310px;padding:22px;overflow:hidden}
.case[data-case="northstar"] .case-visual{background:radial-gradient(circle at 15% 12%,rgba(200,163,93,.17),transparent 42%),#0d1014}
.case[data-case="aurelia"] .case-visual{background:radial-gradient(circle at 85% 12%,rgba(84,117,150,.19),transparent 42%),#0d1014}
.case[data-case="meridian"] .case-visual{background:radial-gradient(circle at 15% 90%,rgba(130,98,66,.18),transparent 42%),#0d1014}
.case[data-case="vantage"] .case-visual{background:radial-gradient(circle at 88% 88%,rgba(73,140,122,.16),transparent 42%),#0d1014}
.visual-browser{height:100%;border:1px solid var(--line);background:rgba(9,9,11,.68);padding:12px}
.visual-top{height:24px;border-bottom:1px solid var(--line)}
.visual-dashboard{display:grid;grid-template-columns:80px 1fr;height:calc(100% - 24px)}
.visual-side{border-right:1px solid var(--line);margin-right:11px}
.visual-main{padding-top:11px}
.visual-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.visual-bars i{height:38px;border:1px solid var(--line)}
.visual-line{height:72px;border:1px solid var(--line);margin-top:8px;position:relative}
.visual-line::after{content:"";position:absolute;left:8%;right:8%;bottom:25px;border-top:2px solid var(--gold);transform:skewY(-6deg)}
.visual-booking{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;height:calc(100% - 24px);padding-top:11px}
.visual-photo{background:linear-gradient(145deg,rgba(84,117,150,.2),rgba(255,255,255,.03));border:1px solid var(--line)}
.visual-form{border:1px solid var(--line);padding:11px}
.visual-form i{display:block;height:8px;background:rgba(255,255,255,.08);margin:12px 0}
.visual-form i.gold{height:27px;background:var(--gold)}
.visual-finance{display:grid;grid-template-rows:auto 1fr;gap:10px;height:calc(100% - 24px);padding-top:11px}
.visual-finance-head{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.visual-finance-head i{height:43px;border:1px solid var(--line)}
.visual-docs{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.visual-docs i{border:1px solid var(--line);background:linear-gradient(145deg,rgba(200,163,93,.08),transparent)}
.visual-cars{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;height:calc(100% - 24px);padding-top:11px}
.visual-car{border:1px solid var(--line);padding:9px}
.visual-car::before{content:"";display:block;height:70%;background:linear-gradient(145deg,rgba(73,140,122,.16),rgba(255,255,255,.025));margin-bottom:8px}
.visual-car i{display:block;height:7px;background:rgba(255,255,255,.08)}
.case-copy{padding:27px}
.case-type{font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.case-copy h3{font-size:34px;margin:10px 0}
.case-copy>p{font-size:14.5px}
.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.case-facts div{border-top:1px solid var(--line);padding-top:10px}
.case-facts b{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.case-facts span{font-size:12px;color:var(--muted)}
.concept-note{
  margin-top:26px;padding:16px;border:1px solid var(--line);color:var(--muted);
  font-size:12px;text-align:center
}

/* ENTERPRISE */
.enterprise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.enterprise-card{background:var(--bg);padding:29px}
.enterprise-card h3{font-size:27px;margin-bottom:10px}
.enterprise-card p{font-size:14px}
.enterprise-card ul{list-style:none;display:grid;gap:8px;margin-top:18px}
.enterprise-card li{display:flex;gap:9px;color:var(--muted);font-size:12.5px}
.enterprise-card li::before{
  content:"";width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);margin-top:6px;flex:0 0 auto
}

/* PROCESS */
.process{background:var(--panel)}
.process-list{display:grid;border-top:1px solid var(--line)}
.process-step{
  display:grid;grid-template-columns:68px .8fr 1.2fr;gap:24px;
  padding:26px 0;border-bottom:1px solid var(--line);align-items:start
}
.process-step .num{font-family:var(--serif);font-size:28px;font-style:italic;color:var(--gold)}
.process-step h3{font-size:26px}
.process-step p{font-size:14px}

/* FAQ */
.faqs{max-width:860px}
.faq{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;display:flex;justify-content:space-between;gap:20px;
  padding:25px 0;cursor:pointer;font-family:var(--serif);font-size:23px
}
.faq summary::-webkit-details-marker{display:none}
.faq summary span:last-child{color:var(--gold);font-family:var(--sans)}
.faq[open] summary span:last-child{transform:rotate(45deg)}
.faq p{padding:0 0 24px;max-width:690px;font-size:14px}

/* CONTACT */
.contact{background:var(--panel)}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px}
.contact-copy{position:sticky;top:110px}
.contact-copy p{font-size:16px;margin-top:20px}
.contact-points{display:grid;gap:10px;margin-top:26px}
.contact-point{border-left:1px solid var(--gold);padding-left:14px}
.contact-point b{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px}
.contact-point span{color:var(--muted);font-size:12.5px}
form{border:1px solid var(--line);background:var(--bg);padding:32px}
.form-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.form-head h3{font-size:28px}
.form-head span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{
  width:100%;min-height:46px;padding:12px 13px;border:1px solid var(--line);
  background:var(--panel);color:var(--text)
}
textarea{min-height:135px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.consent{display:flex;gap:9px;margin:18px 0;color:var(--muted);font-size:11.5px}
.consent input{width:auto;min-height:auto;margin-top:4px}
.consent button{border:0;background:none;color:var(--gold);text-decoration:underline;cursor:pointer}
.status{display:none;margin-top:14px;padding:12px;border:1px solid var(--line);font-size:12.5px}
.status.show{display:block}
.status.error{color:#e1aaaa;border-color:rgba(190,95,95,.45)}
.status.success{color:#abd4ba;border-color:rgba(82,145,109,.45)}

/* FOOTER */
footer{padding:42px 0;border-top:1px solid var(--line);background:#08080a}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end}
.footer-brand b{display:block;font-family:var(--serif);font-size:27px;font-weight:500}
.footer-brand span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.footer-links a,.footer-links button{
  border:0;background:none;color:var(--muted);text-decoration:none;cursor:pointer;
  font-size:9px;letter-spacing:.13em;text-transform:uppercase
}
.footer-links a:hover,.footer-links button:hover{color:var(--text)}

/* MODALS */
.modal{
  position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(4,4,6,.94);backdrop-filter:blur(10px)
}
.modal.open{display:flex}
.dialog{
  width:min(820px,100%);max-height:88vh;overflow:auto;
  border:1px solid var(--line);background:var(--panel);padding:36px;position:relative
}
.dialog .close{
  position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid var(--line);
  background:transparent;color:var(--text);cursor:pointer;font-size:19px
}
.dialog h2{font-size:43px;margin:10px 0 18px}
.dialog h3{font-size:24px;margin:23px 0 7px}
.dialog p{font-size:14px}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.modal-grid div{border-top:1px solid var(--line);padding-top:12px}
.modal-grid b{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}

/* COOKIES */
.cookie{
  position:fixed;z-index:500;left:14px;right:14px;bottom:14px;margin:auto;
  width:min(900px,calc(100% - 28px));display:none;grid-template-columns:1fr auto;
  gap:20px;align-items:center;padding:19px;border:1px solid var(--line);
  background:rgba(17,17,20,.98);box-shadow:0 24px 70px rgba(0,0,0,.45)
}
.cookie.show{display:grid}
.cookie strong{display:block;font-family:var(--serif);font-size:21px;font-weight:500}
.cookie p{font-size:12px;margin-top:3px}
.cookie-actions{display:flex;gap:8px}
.cookie-actions button{
  padding:10px 13px;border:1px solid var(--line);background:transparent;color:var(--text);
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.cookie-actions .accept{background:var(--gold);border-color:var(--gold);color:var(--bg)}

/* MOTION */
.reveal{opacity:0;transform:translateY(17px);transition:opacity .72s var(--ease),transform .72s var(--ease)}
.reveal.on{opacity:1;transform:none}

/* TABLET */
@media(max-width:1080px){
  .nav-links{gap:18px}
  .nav-links li:nth-child(4),.nav-links li:nth-child(5){display:none}
  .hero-grid{grid-template-columns:1fr;gap:42px}
  .hero-panel{max-width:640px}
  .hero-proof{grid-template-columns:1fr 1fr}
  .cap-grid,.arch-grid{grid-template-columns:1fr 1fr}
  .lab-grid{grid-template-columns:1fr}
  .lab-copy{position:static}
  .enterprise-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .contact-copy{position:static}
}

/* MOBILE NAV */
@media(max-width:820px){
  :root{--nav-h:70px}
  .nav-links{display:none}
  .menu-btn{display:grid;place-items:center}
  .mobile-menu{
    position:fixed;top:var(--nav-h);left:0;right:0;z-index:190;border-bottom:1px solid var(--line);
    background:rgba(9,9,11,.98);box-shadow:0 22px 55px rgba(0,0,0,.36)
  }
  .mobile-menu.open{display:grid}
  .mobile-menu a{border-bottom:1px solid var(--line);
    text-decoration:none;font-size:10px;letter-spacing:.14em;text-transform:uppercase
  }
  .mobile-menu a:last-child{border-bottom:0}
}

/* PHONE */
@media(max-width:620px){
  body::after{display:none}
  .wrap{width:min(var(--max),calc(100% - 28px))}
  .section-head p{font-size:15.5px}
  .nav-actions .btn{display:none}
  .lang-btn{min-height:38px;padding:0 9px}
  .hero{min-height:auto}
  .hero-actions{display:grid}
  .hero-actions .btn{width:100%}
  .hero-panel li{display:grid}
  .cap-grid,.arch-grid{grid-template-columns:1fr}
  .cap,.arch{min-height:auto;padding:24px}
  .stage-metrics{grid-template-columns:1fr 1fr}
  .stage-metric:nth-child(3){display:none}
  .stage-row{grid-template-columns:1.3fr 1fr}
  .stage-row i:nth-child(3){display:none}
  .case-grid{grid-template-columns:1fr}
  .form-head{display:block}
  .form-head span{display:block;margin-top:7px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
  .modal-grid{grid-template-columns:1fr}
  .dialog{padding:32px 18px}
  .cookie{grid-template-columns:1fr}
  .cookie-actions{display:grid;grid-template-columns:1fr 1fr}
  .cookie-actions button{width:100%}
}
@media(max-width:390px){
  .product-stage{min-height:380px}
  .tech-strip{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
@media(max-width:820px){
  .mobile-menu{
    padding:18px 18px 24px;
    background:
      radial-gradient(circle at 90% 0%,rgba(200,163,93,.08),transparent 42%),
      rgba(9,9,11,.985);
    backdrop-filter:blur(18px)
  }
  .mobile-menu a{
    display:flex;align-items:center;
    padding:13px 2px;
    color:var(--muted);
    transition:color .25s ease,padding-left .3s var(--ease)
  }
  .mobile-menu a::after{color:var(--gold);font-size:11px;opacity:.8
  }
  .mobile-menu a:hover{color:var(--text);padding-left:7px}
}

@media(max-width:620px){
  body{
    background:
      radial-gradient(110vw 80vw at 105% -10%,rgba(200,163,93,.09),transparent 70%),
      var(--bg)
  }

  nav{
    background:rgba(9,9,11,.9);
    box-shadow:0 12px 35px rgba(0,0,0,.2)
  }

  .logo{font-size:25px}

  .hero{
    padding:108px 0 58px;
    overflow:visible
  }

  .hero::after{
    border-color:rgba(200,163,93,.09);
    box-shadow:
      0 0 0 12vw rgba(200,163,93,.014),
      0 0 0 24vw rgba(200,163,93,.008)
  }

  .hero .eyebrow{
    margin-bottom:24px;
    padding:8px 11px;
    border:1px solid var(--line);
    background:rgba(17,17,20,.55);
    backdrop-filter:blur(12px)
  }

  h1{
    font-size:clamp(50px,13.5vw,64px);
    line-height:.96;
    letter-spacing:-.032em
  }

  .hero-lead{
    font-size:15.8px;
    max-width:34rem
  }

  .hero-actions{
    grid-template-columns:1fr;
    gap:10px
  }

  .hero-actions .btn{
    min-height:52px;
    box-shadow:0 14px 34px rgba(0,0,0,.18)
  }

  .hero-panel{
    position:relative;
    background:
      linear-gradient(145deg,rgba(200,163,93,.035),transparent 52%),
      rgba(17,17,20,.84);
    box-shadow:0 26px 70px rgba(0,0,0,.34);
    overflow:hidden
  }

  .hero-panel::before{
    content:"";position:absolute;left:0;right:0;top:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    opacity:.65
  }

  .hero-panel li{
    grid-template-columns:1fr auto;
    align-items:center;
    gap:10px
  }

  .hero-panel li span:first-child{
    font-size:13.5px;
    color:var(--text)
  }

  .hero-panel li span:last-child{
    text-align:right;
    font-size:11.5px
  }

  .hero-panel-note{
    font-size:11px;
    line-height:1.55
  }

  .hero-proof{
    grid-template-columns:1fr 1fr;
    border:0;
    background:transparent
  }

  .hero-proof div{
    border:1px solid var(--line);
    background:
      linear-gradient(145deg,rgba(200,163,93,.025),transparent),
      rgba(17,17,20,.62)
  }
  .section-head .eyebrow{
    padding-bottom:8px;
    border-bottom:1px solid rgba(200,163,93,.22)
  }

  .cap-grid{
    display:grid;
    border:0;
    background:transparent
  }

  .cap{
    position:relative;
    border:1px solid var(--line);
    background:
      linear-gradient(145deg,rgba(200,163,93,.035),transparent 55%),
      var(--bg-soft);
    box-shadow:0 18px 45px rgba(0,0,0,.15);
    overflow:hidden
  }

  .cap::after{
    content:"";position:absolute;right:-24px;top:-24px;width:76px;height:76px;
    border:1px solid rgba(200,163,93,.08);border-radius:50%
  }

  .product-lab{
    background:
      radial-gradient(circle at 100% 0%,rgba(200,163,93,.055),transparent 40%),
      var(--panel)
  }

  .lab-copy p{font-size:15px}

  .lab-tabs{
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
    scroll-snap-type:x mandatory
  }

  .lab-tabs::-webkit-scrollbar{display:none}

  .lab-tab{
    flex:0 0 auto;
    background:rgba(9,9,11,.38)
  }

  .product-stage{
    border-color:rgba(200,163,93,.17);
    background:
      linear-gradient(145deg,rgba(200,163,93,.03),transparent 50%),
      #0c0f13;
    box-shadow:0 28px 75px rgba(0,0,0,.34)
  }
  .stage-side{padding:12px 7px}
  .stage-head{gap:10px}
  .stage-metrics{gap:6px}
  .stage-footer{
    display:flex;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none
  }
  .stage-footer::-webkit-scrollbar{display:none}
  .stage-footer span{
    border:1px solid var(--line);
    background:rgba(255,255,255,.018)
  }

  .arch-grid{
    border:0;
    background:transparent
  }

  .arch{
    border:1px solid var(--line);
    background:
      linear-gradient(145deg,rgba(200,163,93,.03),transparent),
      var(--bg-soft)
  }

  .tech-strip{
    grid-template-columns:1fr 1fr
  }

  .tech-strip div{
    background:rgba(17,17,20,.5);
    border-color:rgba(241,237,229,.09)
  }

  .cases{
    background:
      radial-gradient(circle at 0% 0%,rgba(200,163,93,.05),transparent 35%),
      var(--panel)
  }

  .case{
    border-color:rgba(241,237,229,.12);
    box-shadow:0 20px 55px rgba(0,0,0,.2)
  }

  .visual-browser{
    box-shadow:0 22px 50px rgba(0,0,0,.28)
  }

  .case-facts{
    grid-template-columns:1fr 1fr
  }

  .case-facts div{
    border:1px solid var(--line);
    background:rgba(255,255,255,.014)
  }

  .case-facts div:first-child,
  .case-facts div:last-child{
    border-top:1px solid var(--line)
  }

  .case-copy .btn{
    width:100%
  }

  .concept-note{
    text-align:left;
    line-height:1.6;
    background:rgba(17,17,20,.45)
  }

  .enterprise-grid{
    border:0;
    background:transparent
  }

  .enterprise-card{
    border:1px solid var(--line);
    background:
      linear-gradient(145deg,rgba(200,163,93,.03),transparent 52%),
      var(--bg-soft)
  }

  .process{
    background:
      radial-gradient(circle at 100% 100%,rgba(200,163,93,.045),transparent 38%),
      var(--panel)
  }

  .process-step{
    grid-template-columns:46px 1fr
  }

  .process-step .num{
    display:grid;place-items:center;
    border:1px solid rgba(200,163,93,.28)
  }

  .process-step h3{
    align-self:center
  }

  .process-step p{
    grid-column:2;
    padding-right:4px
  }

  .faq summary{
    line-height:1.25
  }

  .contact{
    background:
      radial-gradient(circle at 100% 0%,rgba(200,163,93,.065),transparent 40%),
      var(--panel)
  }

  .contact-copy{
    padding:0 2px
  }

  .contact-points{
    grid-template-columns:1fr
  }

  .contact-point{
    border:1px solid var(--line);
    border-left:2px solid var(--gold);
    background:rgba(9,9,11,.35)
  }

  form{
    border-color:rgba(200,163,93,.16);
    background:
      linear-gradient(145deg,rgba(200,163,93,.025),transparent),
      var(--bg);
    box-shadow:0 26px 70px rgba(0,0,0,.28)
  }

  input,select,textarea{
    background:#101013;
    border-color:rgba(241,237,229,.12)
  }

  .footer-links a,
  .footer-links button{
    min-height:40px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.012);
    text-align:center
  }

  .cookie{
    bottom:max(10px,env(safe-area-inset-bottom));
    width:calc(100% - 20px);
    padding:17px;
    border-color:rgba(200,163,93,.2);
    box-shadow:0 24px 60px rgba(0,0,0,.5)
  }

  .dialog{
    width:calc(100% - 8px);
    max-height:88svh;
    border-color:rgba(200,163,93,.18);
    box-shadow:0 28px 80px rgba(0,0,0,.48)
  }
}

@media(max-width:390px){
  h1{font-size:46px}
  .hero-proof{grid-template-columns:1fr}
  .hero-panel li{grid-template-columns:1fr}
  .hero-panel li span:last-child{text-align:left}
  .lab-tab{min-width:205px}
  .stage-body{grid-template-columns:64px 1fr}
  .stage-side{padding:10px 6px}
  .stage-main{padding:10px}
  .stage-head strong{font-size:18px}
  .case-facts{grid-template-columns:1fr}
}
@media(max-width:820px){
  html,body{
    width:100%;max-width:100%;
    overflow-x:clip!important;
    overscroll-behavior-x:none
  }
  body{position:relative;touch-action:pan-y pinch-zoom}
  nav,header,main,section,footer{
    width:100%;max-width:100%;overflow-x:clip
  }
  .hero{overflow:hidden!important}
  .hero::after{
    right:-28vw!important;top:14vh!important;
    width:100vw!important;height:100vw!important
  }
  .wrap{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    min-width:0!important
  }
  .nav-inner,.hero-grid,.hero-proof,.cap-grid,.lab-grid,.arch-grid,
  .case-grid,.enterprise-grid,.process-list,.contact-grid,.footer-grid,
  .product-stage,.stage-body,.stage-main,.case,.case-copy,.case-visual,
  .visual-browser,form,.form-grid{
    min-width:0!important;max-width:100%!important
  }
  h1,h2,h3,p{max-width:100%}
  .mobile-menu{max-width:100vw;overflow-x:hidden}
}

@media(max-width:620px){
  .hero::after{
    right:-34vw!important;top:18vh!important;
    width:112vw!important;height:112vw!important
  }

  .hero-proof{width:100%;margin-inline:0}
  .hero-proof div{min-width:0}
  .hero-proof span{overflow-wrap:break-word}

  .cap-grid,.arch-grid,.enterprise-grid,.case-grid{
    width:100%;margin-inline:0
  }
  .cap,.arch,.enterprise-card,.case{width:100%;min-width:0}

  .lab-tabs{
    width:100%;overflow:visible!important;
    padding-bottom:0
  }
  .lab-tab{
    width:100%!important;
    scroll-snap-align:none
  }

  .product-stage{width:100%;overflow:hidden}
  .stage-body{grid-template-columns:1fr!important;width:100%}
  .stage-side{display:none!important}
  .stage-main{width:100%;overflow:hidden}
  .stage-head{min-width:0;width:100%}
  .stage-head strong{
    min-width:0;max-width:calc(100% - 64px);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis
  }
  .stage-metrics{width:100%;min-width:0}
  .stage-metric{min-width:0;overflow:hidden}
  .stage-chart,.stage-table{width:100%;max-width:100%;overflow:hidden}
  .stage-footer{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;overflow:hidden!important;white-space:normal!important;gap:6px
  }
  .stage-footer span{
    min-width:0;text-align:center;
    overflow-wrap:anywhere;line-height:1.35
  }

  .case-visual,.visual-browser{width:100%;max-width:100%;overflow:hidden}
  .visual-dashboard,.visual-booking,.visual-finance,.visual-cars{min-width:0;max-width:100%}
  .case-facts{width:100%}
  .case-facts div{min-width:0}

  .process-step,.faq,.contact-point{max-width:100%;min-width:0}
  input,select,textarea{max-width:100%;min-width:0}

  .dialog,.cookie{max-width:calc(100vw - 20px)!important}
}

@media(max-width:390px){
  .wrap{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important
  }
  .hero::after{right:-40vw!important}
  .stage-footer{grid-template-columns:1fr!important}
  .stage-head strong{max-width:calc(100% - 54px)}
}
.web-studio{
  background:
    radial-gradient(circle at 8% 20%,rgba(200,163,93,.065),transparent 34%),
    var(--bg-soft)
}
.web-grid{
  display:grid;grid-template-columns:.82fr 1.18fr;gap:64px
}
.web-copy p{font-size:16.5px;margin-top:20px;max-width:590px}
.web-services{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:28px}
.web-service{
  position:relative;border:1px solid var(--line);padding:15px 15px 15px 39px;
  background:rgba(9,9,11,.34);color:var(--muted);font-size:12.5px
}
.web-service::before{
  content:"";position:absolute;left:15px;top:19px;width:8px;height:8px;
  border:1px solid var(--gold);transform:rotate(45deg)
}
.web-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}
.web-browser{
  position:relative;border:1px solid var(--line);background:#0c0e12;padding:16px;
  min-height:520px;box-shadow:0 34px 100px rgba(0,0,0,.34);overflow:hidden
}
.web-browser::before{
  content:"";position:absolute;inset:-35% 52% 45% -25%;
  background:radial-gradient(circle,rgba(200,163,93,.16),transparent 67%);
  pointer-events:none
}
.web-browser-top{
  position:relative;height:35px;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line)
}
.web-dots{display:flex;gap:5px}.web-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2)}
.web-address{width:42%;height:8px;background:rgba(255,255,255,.06)}
.web-page{position:relative;padding:20px 18px 17px}
.web-page-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}
.web-page-logo{width:74px;height:13px;background:var(--gold)}
.web-page-links{display:flex;gap:8px}.web-page-links i{width:38px;height:6px;background:rgba(255,255,255,.075)}
.web-page-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:20px;align-items:center}
.web-page-copy b{display:block;width:88%;height:17px;background:rgba(255,255,255,.82);margin-bottom:12px}
.web-page-copy b:nth-child(2){width:70%}
.web-page-copy p{width:82%;height:7px;background:rgba(255,255,255,.08);margin:10px 0}
.web-page-copy span{display:block;width:92px;height:27px;background:var(--gold);margin-top:21px}
.web-page-media{
  height:185px;border:1px solid var(--line);
  background:
    linear-gradient(145deg,rgba(200,163,93,.2),transparent 58%),
    linear-gradient(35deg,#11151c,#17130e)
}
.web-page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:30px}
.web-page-card{height:96px;border:1px solid var(--line);padding:11px;background:rgba(255,255,255,.012)}
.web-page-card i{display:block;width:34%;height:6px;background:rgba(200,163,93,.55);margin-bottom:15px}
.web-page-card span{display:block;height:5px;background:rgba(255,255,255,.07);margin:8px 0}
.web-cursor{
  position:absolute;right:19%;top:45%;width:13px;height:18px;
  clip-path:polygon(0 0,100% 72%,58% 76%,43% 100%);background:var(--text);
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));animation:webCursor 6s var(--ease) infinite
}
.web-glow{
  position:absolute;left:20px;right:20px;bottom:13px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.5;animation:webGlow 3.8s ease-in-out infinite
}
@keyframes webCursor{
  0%,100%{transform:translate(0,0)}35%{transform:translate(-42px,36px)}65%{transform:translate(14px,72px)}
}
@keyframes webGlow{0%,100%{opacity:.22;transform:scaleX(.55)}50%{opacity:.72;transform:scaleX(1)}}
@keyframes chartBreath{0%,100%{opacity:.72}50%{opacity:1}}
.stage-chart::after{animation:chartBreath 2.8s ease-in-out infinite}

.offer-strip{background:var(--line)
}
.offer-strip div{background:var(--bg)}
.offer-strip b{font-family:var(--serif);font-weight:500;color:var(--gold)}

@media(max-width:1080px){
  .web-grid{grid-template-columns:1fr;gap:42px}
  .web-browser{max-width:760px}
}

@media(max-width:620px){
  section{padding:66px 0}
  .section-head{margin-bottom:31px}
  .section-head p{margin-top:15px;line-height:1.62}
  h2{font-size:clamp(36px,10.4vw,46px);line-height:1.04}

  .hero{padding-bottom:46px}
  .hero-grid{gap:25px}
  .hero-lead{margin:20px 0 25px;line-height:1.62}
  .hero-panel{padding:18px 17px}
  .hero-panel li{padding:11px 0}
  .hero-panel-note{margin-top:13px;padding-top:13px}
  .hero-proof{gap:7px;margin-top:22px}
  .hero-proof div{padding:12px 11px;min-height:84px}
  .hero-proof b{font-size:18px;line-height:1.1}
  .hero-proof span{display:block;margin-top:6px;font-size:8.2px;line-height:1.4}

  .cap-grid{gap:9px}
  .cap{
    display:grid;grid-template-columns:37px minmax(0,1fr);column-gap:12px;row-gap:6px;
    padding:18px 17px;min-height:0
  }
  .cap .num{grid-row:1/4;margin-top:2px}
  .cap h3{grid-column:2;margin:0;font-size:25px}
  .cap p{grid-column:2;font-size:13px;line-height:1.58}
  .cap .tags{grid-column:2;margin-top:4px;gap:5px}
  .cap .tags span{padding:5px 7px;font-size:8px}

  .product-lab{padding-top:62px;padding-bottom:62px}
  .lab-grid{gap:27px}
  .lab-copy p{margin-top:15px}
  .lab-tabs{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important
  }
  .lab-tab{
    min-width:0!important;padding:10px 8px!important;grid-template-columns:1fr!important;
    gap:3px!important;text-align:center!important;justify-items:center
  }
  .lab-tab span:first-child{font-size:11px}
  .lab-tab strong{font-size:9.3px;line-height:1.25}
  .product-stage{min-height:355px;padding:8px}
  .stage-top{height:31px}
  .stage-body{min-height:290px}
  .stage-main{padding:10px!important}
  .stage-head{margin-bottom:10px}
  .stage-head strong{font-size:17px}
  .stage-head i{height:21px;width:48px}
  .stage-metric{padding:8px}
  .stage-metric small{margin-bottom:7px}
  .stage-metric b{font-size:16px}
  .stage-chart{height:82px;margin-top:7px}
  .stage-table{margin-top:7px}
  .stage-row{padding:7px}
  .stage-footer{margin-top:8px}
  .stage-footer span{padding:6px 4px!important;font-size:8.3px}

  .web-studio{padding-top:64px;padding-bottom:64px}
  .web-copy p{font-size:14.5px;margin-top:15px}
  .web-services{grid-template-columns:1fr 1fr;gap:7px;margin-top:20px}
  .web-service{padding:11px 9px 11px 30px;font-size:10.6px;line-height:1.4}
  .web-service::before{left:11px;top:15px;width:6px;height:6px}
  .web-actions{display:grid;margin-top:20px}
  .web-actions .btn{width:100%}
  .web-browser{min-height:315px;padding:9px;box-shadow:0 22px 65px rgba(0,0,0,.32)}
  .web-browser-top{height:28px}
  .web-page{padding:12px 10px 10px}
  .web-page-nav{margin-bottom:20px}
  .web-page-logo{width:54px;height:10px}
  .web-page-links i{width:25px;height:5px}
  .web-page-hero{gap:10px}
  .web-page-copy b{height:10px;margin-bottom:7px}
  .web-page-copy p{height:5px;margin:6px 0}
  .web-page-copy span{width:67px;height:20px;margin-top:11px}
  .web-page-media{height:105px}
  .web-page-cards{gap:5px;margin-top:15px}
  .web-page-card{height:58px;padding:7px}
  .web-page-card i{height:4px;margin-bottom:8px}
  .web-page-card span{height:3px;margin:5px 0}
  .web-cursor{width:10px;height:14px}
  .offer-strip{border:0;background:transparent}
  .offer-strip div{background:rgba(9,9,11,.42)}
  .offer-strip span{display:block}

  .arch-grid{grid-template-columns:1fr 1fr!important;gap:7px}
  .arch{padding:15px 13px;min-height:185px}
  .arch span{width:29px;height:29px}
  .arch h3{font-size:21px;margin:13px 0 7px}
  .arch p{font-size:11.5px;line-height:1.5}
  .tech-strip{margin-top:12px;gap:6px}
  .tech-strip div{padding:9px 6px;font-size:8px}

  .case-grid{gap:12px}
  .case-visual{height:205px;padding:10px}
  .case-copy{padding:18px 17px 19px}
  .case-copy h3{font-size:29px;margin:7px 0 8px}
  .case-copy>p{font-size:12.8px;line-height:1.55}
  .case-facts{margin:14px 0 13px;gap:6px}
  .case-facts div{padding:8px}
  .case-facts b{font-size:7.7px}
  .case-facts span{font-size:10px;line-height:1.35;display:block}
  .case-copy .btn{min-height:43px}
  .concept-note{margin-top:15px;padding:12px;font-size:10.5px}

  .enterprise-grid{gap:8px}
  .enterprise-card{padding:18px 17px}
  .enterprise-card h3{font-size:25px;margin-bottom:7px}
  .enterprise-card p{font-size:12.5px;line-height:1.55}
  .enterprise-card ul{margin-top:12px;gap:5px}
  .enterprise-card li{font-size:11px}

  .process-list{margin-top:-5px}
  .process-step{padding:17px 0;gap:11px}
  .process-step .num{width:31px;height:31px;font-size:17px}
  .process-step h3{font-size:22px}
  .process-step p{font-size:12.5px;line-height:1.52}

  .faq summary{padding:18px 0;font-size:19px}
  .faq p{padding-bottom:18px;font-size:12.8px;line-height:1.58}

  .contact-grid{gap:26px}
  .contact-copy p{margin-top:15px;font-size:14px}
  .contact-points{margin-top:18px;gap:6px}
  .contact-point{padding:10px 11px 10px 13px}
  form{padding:18px 15px}
  .form-head{padding-bottom:15px;margin-bottom:16px}
  .form-head h3{font-size:25px}
  .form-grid{gap:10px}
  input,select,textarea{min-height:43px;padding:10px 11px}
  textarea{min-height:112px}
}

@media(max-width:390px){
  .lab-tabs{grid-template-columns:1fr!important}
  .lab-tab{grid-template-columns:24px 1fr!important;text-align:left!important;justify-items:start}
  .arch-grid{grid-template-columns:1fr!important}
  .arch{min-height:0;display:grid;grid-template-columns:35px 1fr;column-gap:10px}
  .arch span{grid-row:1/3}
  .arch h3{margin:1px 0 5px}
  .arch p{grid-column:2}
  .web-services{grid-template-columns:1fr}
}
section[id],header[id]{scroll-margin-top:calc(var(--nav-h) + 24px)}
.web-studio{overflow:clip}
.web-grid{align-items:start}
.web-copy,.web-browser,.offer-strip{min-width:0;max-width:100%}
.web-copy h2{
  max-width:620px;
  font-size:clamp(46px,4.35vw,66px);
  line-height:1.01;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none
}
.web-browser{width:100%}
.offer-strip{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:0;
  border:0;
  background:transparent
}
.offer-strip div{
  position:relative;
  min-width:0;
  min-height:128px;
  padding:21px 20px 19px;
  border:1px solid var(--line);
  background:
    linear-gradient(145deg,rgba(200,163,93,.034),transparent 58%),
    rgba(9,9,11,.46);
  overflow:hidden
}
.offer-strip div::before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:42px;height:1px;
  background:var(--gold)
}
.offer-strip b{
  display:block;
  font-size:24px;
  line-height:1.05;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none
}
.offer-strip span{
  display:block;
  max-width:190px;
  margin-top:13px;
  font-size:10px;
  line-height:1.55;
  letter-spacing:.105em;
  text-transform:uppercase;
  color:var(--muted)
}
@media(max-width:1080px){
  .web-copy h2{max-width:760px;font-size:clamp(46px,6vw,68px)}
  .offer-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .offer-strip{grid-template-columns:1fr 1fr;gap:8px}
  .offer-strip div{min-height:108px;padding:16px 15px}
  .offer-strip b{font-size:21px}
  .offer-strip span{margin-top:9px;font-size:8.8px;line-height:1.45}
}
@media(max-width:620px){
  .web-grid{gap:26px}
  .web-copy h2{
    max-width:100%;
    font-size:clamp(37px,10.2vw,46px);
    line-height:1.03
  }
  .offer-strip{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin-top:0!important
  }
  .offer-strip div{
    min-height:101px!important;
    padding:15px 13px!important;
    border:1px solid var(--line)!important;
    background:linear-gradient(145deg,rgba(200,163,93,.03),transparent),rgba(9,9,11,.42)!important
  }
  .offer-strip b{font-size:19px!important;line-height:1.05!important;white-space:nowrap}
  .offer-strip span{font-size:8.4px!important;line-height:1.45!important;margin-top:8px!important}
}
@media(max-width:390px){
  .offer-strip{grid-template-columns:1fr!important}
  .offer-strip div{
    min-height:0!important;
    display:grid;
    grid-template-columns:minmax(105px,.7fr) 1fr;
    align-items:center;
    gap:13px;
    padding:15px!important
  }
  .offer-strip b{font-size:19px!important}
  .offer-strip span{margin-top:0!important}
}
@media(max-width:820px){
  .mobile-menu a::after{content:none!important;display:none!important}
  .mobile-menu a{
    justify-content:flex-start!important;
    gap:0!important;
    padding-right:0!important;
  }
}

.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 22px;
  justify-content:flex-end;
  align-items:center;
}

.footer-links a,
.footer-links button{
  min-height:auto;
  padding:0;
  border:0;
  background:none;
  color:var(--muted);
  text-align:left;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  position:relative;
}

.footer-links a::after,
.footer-links button::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  opacity:.22;
  transform:scaleX(.35);
  transform-origin:left center;
  transition:opacity .28s ease,transform .28s ease;
}

.footer-links a:hover,
.footer-links button:hover{
  color:var(--text);
}

.footer-links a:hover::after,
.footer-links button:hover::after{
  opacity:.85;
  transform:scaleX(1);
}

@media(max-width:620px){
  .footer-grid{gap:18px}
  .footer-brand b{font-size:25px}
  .footer-brand span{line-height:1.7}
  .footer-links{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 18px;
    justify-content:stretch;
  }
  .footer-links a,
  .footer-links button{
    width:100%;
    padding:0 0 8px;
    border-bottom:1px solid var(--line);
  }
  .footer-links a::after,
  .footer-links button::after{
    bottom:-1px;
  }
}

@media(max-width:390px){
  .footer-links{grid-template-columns:1fr}
}


/* ===== V21: MOBILE LANGUAGE SELECTOR FIX ===== */
@media(max-width:820px){
  /* The global iOS overflow guard must not clip popovers from the fixed header. */
  nav{
    overflow:visible!important;
    isolation:isolate;
  }
  .nav-inner,
  .nav-actions,
  .lang{
    overflow:visible!important;
  }
  .lang{
    position:relative;
    z-index:260;
  }
  .lang-menu{
    z-index:270;
    top:calc(100% + 9px);
    right:0;
    width:172px;
    max-width:calc(100vw - 28px);
    padding:6px;
    border-color:rgba(200,163,93,.24);
    background:rgba(17,17,20,.985);
    box-shadow:0 22px 58px rgba(0,0,0,.52);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transform:translateY(-5px) scale(.98);
    transform-origin:top right;
  }
  .lang.open .lang-menu{
    transform:translateY(0) scale(1);
  }
  .lang-menu button{
    min-height:42px;
    padding:10px 11px;
    gap:16px;
    border-bottom:1px solid var(--line);
    font-size:11px;
    line-height:1.2;
    letter-spacing:.04em;
  }
  .lang-menu button:last-child{border-bottom:0}
  .lang-menu button span:last-child{
    color:var(--gold);
    font-size:9px;
    letter-spacing:.14em;
  }
  .lang-menu button.active{
    background:rgba(200,163,93,.075);
    color:var(--text);
  }
}

@media(max-width:390px){
  .lang-menu{
    width:164px;
    right:-2px;
  }
}


/* Scroll progress — discreet navigation aid */
.scroll-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  overflow:hidden;
  pointer-events:none;
  background:rgba(200,163,93,.07);
}
.scroll-progress span{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  box-shadow:0 0 12px rgba(200,163,93,.24);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .scroll-progress span{transition:none}
}


/* ===== V23: SECTORS — BANKING & REAL ESTATE ===== */
.sectors{
  background:
    radial-gradient(circle at 92% 8%,rgba(200,163,93,.075),transparent 34%),
    radial-gradient(circle at 4% 86%,rgba(77,105,132,.045),transparent 35%),
    var(--bg)
}
.sector-feature-grid{display:grid;gap:18px}
.sector-feature{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  border:1px solid var(--line);background:var(--panel);overflow:hidden;
  box-shadow:0 26px 80px rgba(0,0,0,.2)
}
.sector-feature.property-sector{grid-template-columns:minmax(420px,.98fr) minmax(0,1.02fr)}
.sector-feature.property-sector .sector-copy{order:2}
.sector-feature.property-sector .sector-visual{order:1}
.sector-copy{padding:38px}
.sector-kicker{
  display:block;font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--gold);margin-bottom:13px
}
.sector-copy h3{font-size:clamp(34px,3.5vw,48px);max-width:640px;margin-bottom:16px}
.sector-copy>p{font-size:14.5px;max-width:680px}
.sector-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0 18px}
.sector-capabilities span{
  position:relative;border:1px solid var(--line);padding:11px 12px 11px 30px;
  color:var(--muted);font-size:11.5px;background:rgba(9,9,11,.38)
}
.sector-capabilities span::before{
  content:"";position:absolute;left:12px;top:16px;width:6px;height:6px;
  border:1px solid var(--gold);transform:rotate(45deg)
}
.sector-note{
  padding:13px 14px;border-left:1px solid var(--gold);
  background:rgba(200,163,93,.035);font-size:11.5px!important;line-height:1.6
}
.sector-link{
  display:inline-flex;align-items:center;gap:12px;margin-top:22px;
  color:var(--text);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none
}
.sector-link::after{content:"";width:34px;height:1px;background:var(--gold);transition:width .3s var(--ease)}
.sector-link:hover::after{width:54px}
.sector-visual{min-height:500px;padding:28px;display:grid;place-items:center;background:#0c0f13}
.finance-visual{background:radial-gradient(circle at 85% 10%,rgba(200,163,93,.13),transparent 42%),#0c0f13}
.property-visual{background:radial-gradient(circle at 12% 90%,rgba(76,128,108,.12),transparent 42%),#0c0f13}
.industry-screen{width:100%;height:100%;min-height:420px;border:1px solid var(--line);background:rgba(9,9,11,.68);box-shadow:0 24px 70px rgba(0,0,0,.3)}
.industry-screen-top{height:38px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:5px;padding:0 13px}
.industry-screen-top i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2)}
.industry-screen-top span{margin-left:auto;font-size:8px;letter-spacing:.14em;color:var(--muted)}
.finance-layout{display:grid;grid-template-columns:94px 1fr;height:calc(100% - 38px)}
.finance-side{border-right:1px solid var(--line);padding:18px 10px}
.finance-side b{display:block;width:64%;height:14px;background:rgba(200,163,93,.42);margin-bottom:24px}
.finance-side i{display:block;height:6px;background:rgba(255,255,255,.07);margin:15px 0}
.finance-main{padding:18px}
.finance-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.finance-head strong{font-family:var(--serif);font-size:22px;font-weight:500}
.finance-head span{width:66px;height:24px;background:var(--gold)}
.finance-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.finance-metrics i{height:52px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(200,163,93,.06),transparent)}
.finance-chart{height:125px;border:1px solid var(--line);margin-top:9px;position:relative;overflow:hidden}
.finance-chart::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,rgba(255,255,255,.045) 30px)}
.finance-chart::after{content:"";position:absolute;left:8%;right:8%;bottom:33px;height:44px;border-top:2px solid var(--gold);transform:skewY(-6deg)}
.finance-docs{display:grid;gap:7px;margin-top:9px}
.finance-docs i{height:28px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(255,255,255,.04) 38%,transparent 38%)}
.property-screen{padding-bottom:13px}
.property-head{display:grid;grid-template-columns:1fr 38px 38px 38px;gap:7px;padding:12px}
.property-head b{height:25px;width:74px;background:var(--gold)}
.property-head span{height:25px;border:1px solid var(--line)}
.property-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:9px;padding:0 12px}
.property-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.property-list article{border:1px solid var(--line);padding:7px}
.property-list article div{height:120px;background:linear-gradient(145deg,rgba(76,128,108,.16),rgba(255,255,255,.025));margin-bottom:9px}
.property-list article i{display:block;height:6px;background:rgba(255,255,255,.075);margin-top:6px}
.property-map{border:1px solid var(--line);position:relative;background:linear-gradient(145deg,rgba(200,163,93,.05),transparent)}
.property-map::before,.property-map::after{content:"";position:absolute;inset:0;background:linear-gradient(35deg,transparent 48%,rgba(255,255,255,.045) 49%,transparent 51%)}
.property-map::after{transform:rotate(90deg)}
.property-map i{position:absolute;width:9px;height:9px;border:2px solid var(--gold);border-radius:50%;background:var(--bg)}
.property-map i:nth-child(1){left:18%;top:27%}.property-map i:nth-child(2){left:66%;top:18%}.property-map i:nth-child(3){left:46%;top:62%}.property-map i:nth-child(4){left:77%;top:70%}
.property-map span{position:absolute;left:11%;right:11%;bottom:12px;height:31px;border:1px solid var(--line);background:rgba(9,9,11,.78)}
.property-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:9px 12px 0}
.property-pipeline i{height:38px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(200,163,93,.055),transparent)}
.sector-secondary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:18px}
.sector-secondary{background:var(--bg);padding:27px;min-height:205px}
.sector-secondary>span{font-family:var(--serif);font-style:italic;color:var(--gold)}
.sector-secondary h3{font-size:27px;margin:17px 0 10px}
.sector-secondary p{font-size:13.5px}

@media(max-width:1080px){
  .sector-feature,.sector-feature.property-sector{grid-template-columns:1fr}
  .sector-feature.property-sector .sector-copy,.sector-feature.property-sector .sector-visual{order:initial}
  .sector-visual{min-height:430px}
}
@media(max-width:700px){
  .sector-copy{padding:25px 21px}
  .sector-copy h3{font-size:34px}
  .sector-capabilities{grid-template-columns:1fr}
  .sector-visual{min-height:330px;padding:14px}
  .industry-screen{min-height:300px}
  .finance-layout{grid-template-columns:66px 1fr}
  .finance-side{padding:12px 7px}
  .finance-main{padding:11px}
  .finance-head strong{font-size:18px}
  .finance-head span{width:50px;height:22px}
  .finance-metrics{grid-template-columns:1fr 1fr}
  .finance-metrics i:nth-child(3){display:none}
  .finance-chart{height:95px}
  .finance-docs i:nth-child(3){display:none}
  .property-layout{grid-template-columns:1fr}
  .property-list article div{height:90px}
  .property-map{min-height:120px}
  .property-pipeline{grid-template-columns:1fr 1fr}
  .sector-secondary-grid{grid-template-columns:1fr}
  .sector-secondary{min-height:auto;padding:23px 21px}
}
@media(max-width:390px){
  .property-list{grid-template-columns:1fr 1fr}
  .property-list article:nth-child(3){display:none}
}
