:root {
  --ink:#11101d;
  --muted:#625f70;
  --paper:#fbfaf7;
  --white:#fff;
  --line:#ddd9e7;
  --purple:#6d4aff;
  --purple-dark:#4d2bdd;
  --lavender:#b99cff;
  --orange:#ff9b50;
  --orange-light:#ffc37c;
  --blue:#3767a7;
  --blue-light:#88bde9;
  --navy:#0d1225;
  --green:#66c781;
  --shadow:#171426;
  --radius:28px;
  --shell:1180px;
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:86px; overflow-x:hidden; }
body { margin:0; min-width:320px; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
body,button,input,textarea { font:inherit; }
img,svg { max-width:100%; }
a { color:inherit; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
[hidden] { display:none!important; }

.site-shell { width:min(var(--shell),calc(100% - 48px)); margin-inline:auto; }
.section { position:relative; padding:clamp(84px,9vw,132px) 0; }
.section-heading { max-width:780px; margin-bottom:46px; }
.section-heading.centered { margin-inline:auto; text-align:center; }
.section-heading h2,.real-estate-copy h2,.closing-copy h2,.commercial-card h2 { margin:10px 0 16px; font-family:"Archivo",sans-serif; font-size:clamp(38px,5.1vw,68px); line-height:.99; letter-spacing:-.055em; }
.section-heading > p:last-child,.real-estate-copy > p,.closing-copy > p,.commercial-card p { margin:0; color:var(--muted); font-size:clamp(16px,1.5vw,19px); line-height:1.68; }
.eyebrow { margin:0; color:var(--purple-dark); font-family:"Archivo",sans-serif; font-size:12px; font-weight:900; letter-spacing:.15em; line-height:1.3; text-transform:uppercase; }
.eyebrow-light { color:#d8ccff; }

.skip-link { position:fixed; top:10px; left:10px; z-index:999; padding:10px 14px; border-radius:9px; color:#fff; background:var(--navy); transform:translateY(-150%); transition:transform .15s ease; }
.skip-link:focus { transform:none; }

.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:13px 20px; border:2px solid var(--ink); border-radius:13px; text-decoration:none; font-family:"Archivo",sans-serif; font-size:14px; font-weight:900; line-height:1.1; cursor:pointer; box-shadow:4px 4px 0 var(--shadow); transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
.button:hover { transform:translate(2px,2px); box-shadow:2px 2px 0 var(--shadow); }
.button:active { transform:translate(4px,4px); box-shadow:none; }
.button-large { min-height:58px; padding:16px 25px; font-size:15px; }
.button-small { min-height:44px; padding:11px 16px; }
.button-dark { color:#fff; background:var(--purple); }
.button-orange { color:var(--ink); background:var(--orange); }
.button-outline-light { color:#fff; border-color:rgba(255,255,255,.8); background:rgba(255,255,255,.08); box-shadow:4px 4px 0 rgba(5,8,20,.55); }
.button[disabled] { opacity:.65; cursor:wait; transform:none; box-shadow:none; }

/* Header */
.site-header { position:sticky; top:0; z-index:100; border-bottom:2px solid var(--ink); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.header-inner { min-height:74px; display:flex; align-items:center; gap:24px; }
.brand { display:inline-flex; width:265px; flex:0 0 auto; text-decoration:none; }
.brand img { width:100%; height:auto; display:block; }
.desktop-nav { margin-inline:auto; display:flex; align-items:center; gap:26px; }
.desktop-nav a,.mobile-nav > a:not(.button) { font-family:"Archivo",sans-serif; font-size:14px; font-weight:800; text-decoration:none; }
.desktop-nav a:hover { color:var(--purple); }
.header-actions { display:flex; align-items:center; gap:12px; }
.language-switch { display:flex; overflow:hidden; border:2px solid var(--ink); border-radius:999px; font:900 11px/1 "Archivo",sans-serif; }
.language-switch a { padding:7px 9px; text-decoration:none; }
.language-switch [aria-current] { color:#fff; background:var(--ink); }
.language-switch a:not([aria-current]):hover { color:var(--purple-dark); background:#f2efff; }
.menu-button { width:44px; height:42px; padding:0; display:none; place-content:center; gap:5px; border:2px solid var(--ink); border-radius:10px; background:#fff; cursor:pointer; }
.menu-button span { width:20px; height:2px; display:block; border-radius:5px; background:var(--ink); transition:transform .2s ease,opacity .2s ease; }
.menu-button.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.menu-button.is-open span:nth-child(2) { opacity:0; }
.menu-button.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-nav { width:min(var(--shell),calc(100% - 32px)); margin:0 auto; padding:6px 0 18px; display:grid; gap:3px; }
.mobile-nav > a:not(.button) { padding:12px; border-radius:10px; }
.mobile-nav > a:not(.button):hover { color:var(--purple); background:#f2efff; }

/* Hero */
.hero { position:relative; isolation:isolate; min-height:920px; overflow:hidden; padding:clamp(58px,6vw,92px) 0 0; color:#fff; border-radius:0 0 34px 34px; background:radial-gradient(circle at 17% 7%,rgba(153,192,243,.22),transparent 32%),linear-gradient(180deg,#294f84 0%,#467cb8 55%,#83b9e5 100%); }
.hero::after { content:""; position:absolute; inset:auto 0 0; z-index:-2; height:26%; background:linear-gradient(180deg,transparent,rgba(255,255,255,.08)); }
.hero-sky { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.sun { position:absolute; top:70px; left:max(28px,calc(50% - 620px)); width:64px; height:64px; border:3px solid var(--ink); border-radius:50%; background:#ffd460; box-shadow:0 0 0 12px rgba(255,214,96,.12); animation:sunFloat 6s ease-in-out infinite; }
.sun::before,.sun::after { content:""; position:absolute; inset:25px 14px; border-radius:50%; border-top:3px solid var(--ink); }
.sun::after { inset:19px 18px 28px; border:0; border-left:4px dotted var(--ink); border-right:4px dotted var(--ink); }
.cloud { position:absolute; width:66px; height:25px; border:3px solid var(--ink); border-radius:30px; background:#fff; box-shadow:4px 5px 0 rgba(19,24,45,.28); opacity:.94; animation:cloudDrift 8s ease-in-out infinite; }
.cloud::before,.cloud::after { content:""; position:absolute; bottom:8px; border:3px solid var(--ink); border-bottom:0; border-radius:50% 50% 0 0; background:#fff; }
.cloud::before { left:9px; width:25px; height:25px; }
.cloud::after { right:9px; width:31px; height:33px; }
.cloud-one { top:160px; right:7%; }
.cloud-two { top:390px; right:22%; transform:scale(.65); animation-delay:-3s; }
@keyframes sunFloat { 50% { transform:translateY(-9px) rotate(4deg); } }
@keyframes cloudDrift { 50% { translate:-15px 7px; } }
.hero-inner { position:relative; }
.hero-copy { position:relative; z-index:2; width:min(100%,1030px); margin-inline:auto; text-align:center; }
.hero h1 { margin:15px auto 20px; max-width:1040px; font-family:"Archivo",sans-serif; font-size:clamp(48px,6.8vw,92px); line-height:.93; letter-spacing:-.065em; text-wrap:balance; text-shadow:0 4px 0 rgba(11,15,32,.34); }
.hero h1 span { display:inline; color:#d0b5ff; }
.hero-lede { max-width:780px; margin:0 auto; color:#e9edf7; font-size:clamp(17px,1.8vw,21px); line-height:1.58; text-wrap:balance; }
.hero-actions { margin:28px auto 0; display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.bill-cta { position:relative; display:inline-flex; align-items:center; justify-content:center; padding-top:25px; }
.bill-stack { position:absolute; z-index:0; top:0; left:50%; width:210px; height:34px; transform:translateX(-50%); pointer-events:none; }
.bill-stack i { position:absolute; display:grid; place-items:center; width:52px; height:27px; border:3px solid #18243b; border-radius:6px; color:#18243b; background:linear-gradient(180deg,#8ce39e,#59bd75); font:900 13px/1 "Archivo",sans-serif; font-style:normal; box-shadow:0 2px 0 rgba(10,18,35,.25); }
.bill-stack i:nth-child(1){left:4px;top:4px;transform:rotate(-18deg)} .bill-stack i:nth-child(2){left:43px;top:0;transform:rotate(-9deg)} .bill-stack i:nth-child(3){left:81px;top:-2px} .bill-stack i:nth-child(4){left:120px;top:0;transform:rotate(9deg)} .bill-stack i:nth-child(5){left:157px;top:5px;transform:rotate(18deg)}
.bill-cta .button { position:relative; z-index:1; }
.hero-note { margin:17px auto 0; color:#dbe5f3; font-size:13px; line-height:1.5; }

/* Hero folder: always occupies its own natural-flow row */
.growth-folder { position:relative; z-index:2; width:min(920px,100%); margin:clamp(76px,9vw,126px) auto 0; text-align:center; }
.growth-folder figcaption { display:inline-flex; margin:0 auto 24px; padding:10px 18px; color:#eaf0f9; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(15,27,57,.45); font-size:13px; font-weight:800; }
.folder-labels { position:absolute; z-index:5; inset:73px -34px auto; display:flex; justify-content:space-between; pointer-events:none; }
.folder-labels span { padding:10px 16px; color:var(--ink); border:3px solid var(--ink); border-radius:999px; background:#fff; box-shadow:4px 5px 0 rgba(15,21,41,.33); font:900 12px/1 "Archivo",sans-serif; }
.folder-labels span:nth-child(2),.folder-labels span:nth-child(3) { margin-top:-38px; }
.folder-object { position:relative; width:min(720px,82vw); height:350px; margin-inline:auto; }
.folder-shadow { position:absolute; left:8%; right:8%; bottom:4px; height:28px; border-radius:50%; background:rgba(18,31,53,.28); filter:blur(4px); }
.folder-back { position:absolute; left:5%; right:5%; top:58px; height:244px; border:5px solid var(--ink); border-radius:30px 30px 26px 26px; background:#151a30; transform:rotate(-1.4deg); }
.folder-back i { position:absolute; top:-45px; left:0; width:42%; height:65px; border:5px solid var(--ink); border-bottom:0; border-radius:20px 20px 0 0; background:#14192d; }
.folder-paper { position:absolute; left:10%; right:8%; height:96px; border:5px solid var(--ink); border-radius:15px; background:#f7f6ff; transform-origin:center bottom; }
.paper-one { top:46px; transform:rotate(-3deg); }
.paper-two { top:63px; left:13%; right:5%; background:#fff; transform:rotate(1.2deg); }
.paper-two::after { content:""; position:absolute; left:20px; top:17px; width:34%; height:9px; border-radius:10px; background:var(--lavender); }
.folder-front { position:absolute; left:5%; right:5%; top:102px; height:226px; overflow:hidden; border:5px solid var(--ink); border-radius:24px 24px 30px 30px; background:linear-gradient(180deg,var(--orange-light),var(--orange)); box-shadow:0 10px 0 rgba(18,26,50,.35); }
.folder-front::before { content:""; position:absolute; inset:9px 10px auto; height:12px; border-radius:10px; background:rgba(255,255,255,.42); }
.folder-face { position:absolute; left:30%; top:67px; width:150px; height:110px; }
.eye { position:absolute; top:8px; width:28px; height:34px; border-radius:50%; background:var(--ink); }
.eye::after { content:""; position:absolute; top:5px; right:5px; width:8px; height:8px; border-radius:50%; background:#fff; }
.eye-left { left:16px; }.eye-right { right:16px; }
.smile { position:absolute; left:42px; top:53px; width:70px; height:38px; border:6px solid var(--ink); border-top:0; border-left-color:transparent; border-right-color:transparent; border-radius:0 0 70px 70px; }
.folder-front strong { position:absolute; right:8%; top:58px; padding:12px 14px; color:var(--purple); border:5px dashed var(--purple); font:900 clamp(18px,2.2vw,28px)/.92 "Archivo",sans-serif; transform:rotate(-5deg); }
.folder-spark { position:absolute; color:#fff3d8; font-size:27px; }
.spark-one { left:7%; top:33px; }.spark-two { right:4%; bottom:20px; font-size:18px; }

/* Summary */
.value-summary { background:#fff; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.value-card { min-height:230px; padding:28px; border:2px solid var(--ink); border-radius:24px; background:var(--paper); box-shadow:6px 6px 0 var(--ink); }
.value-card:nth-child(2) { background:#eee8ff; }.value-card:nth-child(3) { background:#fff0df; }
.card-number { color:var(--purple); font:900 12px/1 "Archivo",sans-serif; letter-spacing:.12em; }
.value-card h3 { margin:54px 0 10px; font:900 clamp(22px,2vw,28px)/1.04 "Archivo",sans-serif; }
.value-card p { margin:0; color:var(--muted); line-height:1.55; }

/* Needs */
.needs-section { background:linear-gradient(180deg,#f5f1ff,#fbfaf7); }
.needs-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(40px,7vw,90px); align-items:start; }
.needs-layout .section-heading { position:sticky; top:118px; margin:0; }
.needs-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.need-option { min-height:110px; padding:18px; display:flex; flex-direction:column; align-items:flex-start; gap:9px; color:var(--ink); text-align:left; border:2px solid var(--ink); border-radius:18px; background:#fff; box-shadow:3px 3px 0 var(--ink); font-family:"Archivo",sans-serif; font-size:16px; font-weight:800; cursor:pointer; transition:transform .16s ease,background .16s ease; }
.need-option span { color:var(--purple); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.need-option:hover { transform:translateY(-2px); }
.need-option[aria-pressed="true"] { color:#fff; background:var(--purple); box-shadow:3px 3px 0 var(--orange); }
.need-option[aria-pressed="true"] span { color:#ffe1be; }
.needs-recommendation { margin-top:18px; padding:24px; border-radius:20px; color:#fff; background:var(--navy); }
.needs-recommendation > span { color:var(--orange); font:900 11px/1 "Archivo",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.needs-recommendation p { margin:10px 0 18px; color:#dfe3ef; line-height:1.55; }
.needs-recommendation .button { color:var(--ink); background:var(--orange); }

/* System */
.system-section { isolation:isolate; overflow:hidden; color:#fff; background:var(--navy); }
.system-glow { position:absolute; z-index:-1; top:-250px; right:-200px; width:700px; height:700px; border-radius:50%; background:rgba(109,74,255,.25); filter:blur(90px); }
.section-heading-light h2 { color:#fff; }
.section-heading-light > p:last-child { color:#c9cedd; }
.system-flow { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; list-style:none; }
.system-step { position:relative; min-height:315px; padding:24px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:rgba(255,255,255,.05); }
.system-step:not(:last-child)::after { content:"→"; position:absolute; z-index:2; top:50%; right:-23px; width:32px; height:32px; display:grid; place-items:center; color:var(--ink); border:2px solid var(--ink); border-radius:50%; background:var(--orange); font-weight:900; }
.step-index { color:var(--orange); font:900 12px/1 "Archivo",sans-serif; letter-spacing:.12em; }
.system-step h3 { margin:42px 0 10px; font:900 25px/1 "Archivo",sans-serif; }
.system-step p { margin:0; color:#bdc4d7; font-size:14px; line-height:1.58; }
.flow-word { margin-top:auto; padding-top:22px; color:#d7c9ff; font:900 11px/1 "Archivo",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.system-note { max-width:760px; margin:30px 0 0; color:#bbc2d4; font-size:14px; line-height:1.6; }

/* Services */
.services-section { background:#fff; }
.services-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.service-card { grid-column:span 2; min-height:285px; padding:25px; display:flex; flex-direction:column; border:2px solid var(--ink); border-radius:24px; background:var(--paper); box-shadow:5px 5px 0 var(--ink); }
.service-card:nth-child(4),.service-card:nth-child(5) { grid-column:span 3; }
.service-card-featured { color:#fff; background:var(--purple); }
.service-tag { align-self:flex-start; padding:7px 10px; color:var(--purple-dark); border-radius:999px; background:#eee8ff; font:900 10px/1 "Archivo",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.service-card-featured .service-tag { color:var(--ink); background:var(--orange); }
.service-card h3 { margin:26px 0 11px; font:900 clamp(21px,2.1vw,28px)/1.06 "Archivo",sans-serif; }
.service-card p { margin:0 0 22px; color:var(--muted); line-height:1.58; }
.service-card-featured p { color:#e7e0ff; }
.service-card a { margin-top:auto; font-weight:800; text-decoration:none; }
.service-card a:hover { text-decoration:underline; text-underline-offset:4px; }
.section-action { margin-top:35px; }

/* Real estate */
.real-estate-section { color:#fff; background:linear-gradient(135deg,#24164c 0%,#4d2bdd 60%,#714cff 100%); }
.real-estate-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(44px,7vw,90px); align-items:center; }
.real-estate-copy h2 { color:#fff; }
.real-estate-copy > p { color:#ddd5f7; }
.real-estate-copy .button { margin-top:28px; }
.property-board { padding:16px; display:grid; grid-template-columns:1fr 1fr; gap:12px; border:2px solid var(--ink); border-radius:30px; background:var(--paper); box-shadow:9px 9px 0 var(--ink); transform:rotate(1deg); }
.property-board article { min-height:190px; padding:20px; color:var(--ink); border:1px solid var(--line); border-radius:18px; background:#fff; }
.property-board article:nth-child(2),.property-board article:nth-child(3) { background:#fff0df; }
.property-board span { color:var(--purple); font:900 11px/1 "Archivo",sans-serif; }
.property-board h3 { margin:30px 0 8px; font:900 18px/1.08 "Archivo",sans-serif; }
.property-board p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }

/* Sectors */
.sectors-section { background:#f3f7fb; }
.sectors-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.sector-card { min-height:320px; padding:24px; border:2px solid var(--ink); border-radius:90px 24px 24px; background:#fff; }
.sector-card:nth-child(2) { background:#e7f4ff; }.sector-card:nth-child(3) { background:#eee8ff; }.sector-card:nth-child(4) { background:#fff0df; }
.sector-card > span { width:65px; height:65px; display:grid; place-items:center; border:2px solid var(--ink); border-radius:50%; background:#fff; font-size:28px; box-shadow:3px 3px 0 var(--ink); }
.sector-card h3 { margin:48px 0 12px; font:900 23px/1.05 "Archivo",sans-serif; }
.sector-card p { margin:0; color:var(--muted); line-height:1.55; }

/* Process */
.process-section { background:#fff; }
.process-list { margin:0; padding:0; border-top:2px solid var(--ink); list-style:none; }
.process-list li { padding:26px 0; display:grid; grid-template-columns:90px 1fr; gap:28px; align-items:center; border-bottom:2px solid var(--ink); }
.process-list > li > span { color:var(--purple); font:900 14px/1 "Archivo",sans-serif; letter-spacing:.1em; }
.process-list div { display:grid; grid-template-columns:minmax(220px,.6fr) 1fr; gap:30px; align-items:center; }
.process-list h3 { margin:0; font:900 clamp(26px,3vw,40px)/1 "Archivo",sans-serif; }
.process-list p { margin:0; color:var(--muted); line-height:1.6; }

/* Diagnostic */
.diagnostic-section { background:linear-gradient(180deg,#faf7ef,#fff); }
.diagnostic-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(45px,7vw,90px); align-items:center; }
.diagnostic-layout .section-heading { margin:0; }
.diagnostic-deliverables { margin:28px 0; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.diagnostic-deliverables article { padding-left:16px; border-left:4px solid var(--purple); }
.diagnostic-deliverables h3 { margin:0 0 6px; font:900 16px/1.1 "Archivo",sans-serif; }
.diagnostic-deliverables p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.diagnostic-preview { padding:18px; border:3px solid var(--ink); border-radius:28px; background:var(--orange); box-shadow:10px 10px 0 var(--ink); transform:rotate(1.5deg); }
.illustrative-label { display:inline-block; margin-bottom:13px; font:900 10px/1 "Archivo",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.preview-window { overflow:hidden; border:2px solid var(--ink); border-radius:18px; background:#fff; }
.preview-top { height:44px; padding:0 13px; display:flex; align-items:center; gap:6px; border-bottom:2px solid var(--ink); background:#ede9f9; }
.preview-top i { width:8px; height:8px; border:1px solid var(--ink); border-radius:50%; background:var(--orange); }
.preview-top i:nth-child(2) { background:#ffe164; }.preview-top i:nth-child(3) { background:var(--green); }
.preview-top span { margin-left:auto; font:800 10px/1 "Archivo",sans-serif; }
.preview-body { padding:26px; }
.preview-body > p { margin:0 0 10px; color:var(--muted); font:900 10px/1 "Archivo",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.preview-path { margin-bottom:28px; padding:15px; display:flex; align-items:center; justify-content:space-between; gap:5px; border-radius:13px; background:#f4f1ff; font-size:10px; font-weight:800; }
.preview-body ul { margin:0; padding:0; display:grid; gap:9px; list-style:none; }
.preview-body li { padding:13px; display:grid; grid-template-columns:9px 1fr auto; gap:9px; align-items:center; border:1px solid var(--line); border-radius:11px; font-size:11px; }
.preview-body li i { width:8px; height:8px; border-radius:50%; background:var(--purple); }
.preview-body li b { color:var(--purple-dark); }

/* Commercial */
.commercial-section { background:#fff; }
.commercial-card { padding:clamp(34px,5vw,64px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,7vw,90px); color:#fff; border:3px solid var(--ink); border-radius:32px; background:var(--navy); box-shadow:10px 10px 0 var(--purple); }
.commercial-card h2 { color:#fff; font-size:clamp(35px,4.5vw,58px); }
.commercial-card > div:last-child > p:first-child { color:#c9cedd; }
.commercial-card .disclosure { margin:18px 0 24px; padding:13px 15px; color:#f5d7b4; border:1px solid rgba(255,180,108,.3); border-radius:12px; background:rgba(255,155,80,.08); font-size:13px; }

/* FAQ */
.faq-section { background:#f5f1ff; }
.faq-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:clamp(40px,8vw,100px); align-items:start; }
.faq-layout .section-heading { position:sticky; top:118px; margin:0; }
.faq-list { display:grid; gap:11px; }
.faq-list details { border:2px solid var(--ink); border-radius:17px; background:#fff; box-shadow:3px 3px 0 var(--ink); }
.faq-list summary { padding:20px; display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; cursor:pointer; font-family:"Archivo",sans-serif; font-size:16px; font-weight:800; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; color:#fff; border:2px solid var(--ink); border-radius:50%; background:var(--purple); }
.faq-list details[open] summary::after { content:"−"; background:var(--orange); color:var(--ink); }
.faq-list details p { margin:0; padding:0 20px 20px; color:var(--muted); line-height:1.63; }

/* Closing and form */
.closing-section { isolation:isolate; overflow:hidden; color:#fff; background:linear-gradient(145deg,#213e6b,#4d2bdd); }
.closing-orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(70px); }
.closing-orb-one { top:-160px; left:-100px; width:460px; height:460px; background:rgba(100,196,255,.22); }
.closing-orb-two { right:-200px; bottom:-180px; width:600px; height:600px; background:rgba(255,155,80,.21); }
.closing-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(45px,8vw,105px); align-items:center; }
.closing-copy h2 { color:#fff; }
.closing-copy > p { color:#d9e0ee; }
.closing-path { margin-top:35px; display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.closing-path span { padding:9px 12px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.08); font-size:11px; font-weight:800; }
.closing-path i { color:var(--orange); font-style:normal; }
.contact-card { overflow:hidden; color:var(--ink); border:3px solid var(--ink); border-radius:28px; background:#fff; box-shadow:10px 10px 0 var(--ink); }
.contact-card-head { padding:25px 26px; border-bottom:2px solid var(--ink); background:#fff0df; }
.contact-card-head > span { font:900 23px/1.05 "Archivo",sans-serif; }
.contact-card-head p { margin:7px 0 0; color:var(--muted); }
.contact-form { padding:25px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.honeypot-field { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.contact-form label:not(.consent-field) { display:grid; gap:7px; font-size:12px; font-weight:800; }
.contact-form label > span { color:var(--muted); font-weight:500; }
.contact-form input:not([type="checkbox"]),.contact-form textarea { width:100%; padding:13px 14px; color:var(--ink); border:2px solid var(--line); border-radius:11px; background:#fbfafc; font-size:16px; }
.contact-form textarea { min-height:100px; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--purple); outline:3px solid rgba(109,74,255,.18); outline-offset:0; background:#fff; }
.full-field { grid-column:1/-1; }
.consent-field { display:flex; align-items:flex-start; gap:10px; color:var(--muted); font-size:12px; line-height:1.45; cursor:pointer; }
.consent-field input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--purple); }
.form-message { min-height:0; margin:0; font-size:13px; font-weight:700; }
.form-message-success { padding:11px; color:#146633; border-radius:10px; background:#e6f7eb; }
.form-message-error { padding:11px; color:#9b2630; border-radius:10px; background:#ffeaec; }

/* Footer */
.site-footer { padding:50px 0 24px; color:#e9eaf2; background:#0a0d18; }
.footer-main { padding-bottom:35px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:34px; align-items:start; }
.footer-brand { width:230px; padding:8px; border-radius:8px; background:#fff; }
.footer-main p { max-width:330px; margin:0; color:#aeb4c3; line-height:1.6; }
.footer-main nav { justify-self:end; display:grid; gap:9px; }
.footer-main nav a { color:#e9eaf2; text-decoration:none; font-weight:700; }
.footer-main nav a:hover { color:var(--orange); }
.footer-bottom { padding-top:22px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.13); color:#81899c; font-size:12px; }

.mobile-sticky { position:fixed; z-index:90; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); display:none; }
.mobile-sticky .button { width:100%; }

/* Scroll reveal */
.js .reveal { opacity:0; transform:translateY(22px); transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1); }
.js .reveal.is-visible { opacity:1; transform:none; }

@media (max-width:1024px) {
  .desktop-nav { gap:15px; }
  .desktop-nav a { font-size:12px; }
  .brand { width:228px; }
  .header-actions > .button { display:none; }
  .hero { min-height:870px; }
  .system-flow { grid-template-columns:1fr 1fr; }
  .system-step:not(:last-child)::after { display:none; }
  .service-card { grid-column:span 3; }
  .service-card:last-child { grid-column:2 / span 4; }
  .sectors-grid { grid-template-columns:1fr 1fr; }
  .real-estate-layout,.diagnostic-layout { gap:45px; }
}

@media (max-width:820px) {
  html { scroll-padding-top:72px; }
  .site-shell { width:min(100% - 32px,var(--shell)); }
  .section { padding:82px 0; }
  .header-inner { min-height:66px; }
  .brand { width:210px; }
  .desktop-nav { display:none; }
  .header-actions { margin-left:auto; }
  .menu-button { display:grid; }
  .hero { min-height:auto; padding-top:48px; border-radius:0 0 25px 25px; }
  .sun { top:52px; left:20px; width:45px; height:45px; opacity:.75; }
  .sun::before { inset:17px 10px; }.sun::after { inset:13px 13px 20px; }
  .cloud-one { top:210px; right:-18px; transform:scale(.75); }
  .cloud-two { display:none; }
  .hero h1 { max-width:720px; font-size:clamp(43px,10vw,68px); }
  .hero-lede { max-width:620px; }
  .growth-folder { margin-top:76px; }
  .folder-labels { position:relative; inset:auto; margin:0 auto 18px; display:grid; grid-template-columns:1fr 1fr; gap:8px; width:min(560px,100%); }
  .folder-labels span,.folder-labels span:nth-child(2),.folder-labels span:nth-child(3) { margin:0; padding:9px 8px; font-size:10px; }
  .folder-object { width:min(620px,94vw); height:315px; }
  .folder-front { height:205px; }
  .folder-face { left:25%; transform:scale(.87); transform-origin:left top; }
  .folder-front strong { right:6%; }
  .needs-layout,.real-estate-layout,.diagnostic-layout,.closing-layout,.faq-layout,.commercial-card { grid-template-columns:1fr; }
  .needs-layout .section-heading,.faq-layout .section-heading { position:static; }
  .value-grid { grid-template-columns:1fr; }
  .value-card { min-height:185px; }
  .value-card h3 { margin-top:37px; }
  .property-board { max-width:660px; transform:none; }
  .process-list div { grid-template-columns:.7fr 1fr; }
  .commercial-card { width:min(100% - 32px,var(--shell)); }
  .mobile-sticky.is-visible { display:block; }
  body { padding-bottom:86px; }
}

@media (max-width:600px) {
  .site-shell { width:min(100% - 24px,var(--shell)); }
  .section { padding:70px 0; }
  .brand { width:184px; }
  .menu-button { width:41px; height:39px; }
  .hero { padding-top:38px; }
  .hero h1 { margin-top:13px; font-size:clamp(39px,12vw,54px); line-height:.96; }
  .hero-lede { font-size:16px; }
  .hero-actions { display:grid; }
  .hero-actions .button { width:100%; }
  .hero-note { font-size:11px; }
  .growth-folder { width:100%; margin-top:68px; }
  .growth-folder figcaption { margin-bottom:16px; padding:8px 12px; font-size:11px; }
  .folder-labels { width:100%; }
  .folder-object { width:100%; height:255px; }
  .folder-back { top:50px; height:177px; border-width:4px; }
  .folder-back i { top:-32px; height:47px; border-width:4px; }
  .folder-paper { top:42px; height:65px; border-width:4px; }
  .paper-two { top:54px; }
  .folder-front { top:83px; height:150px; border-width:4px; border-radius:18px 18px 23px 23px; }
  .folder-face { left:25%; top:43px; transform:scale(.56); }
  .folder-front strong { top:39px; right:5%; padding:8px; border-width:3px; font-size:15px; }
  .folder-spark { display:none; }
  .needs-options { grid-template-columns:1fr; }
  .need-option { min-height:92px; }
  .system-flow { grid-template-columns:1fr; }
  .system-step { min-height:245px; }
  .system-step h3 { margin-top:28px; }
  .services-grid { grid-template-columns:1fr; }
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5),.service-card:last-child { grid-column:auto; min-height:255px; }
  .property-board { grid-template-columns:1fr; }
  .property-board article { min-height:160px; }
  .sectors-grid { grid-template-columns:1fr; }
  .sector-card { min-height:255px; }
  .sector-card h3 { margin-top:36px; }
  .process-list li { grid-template-columns:48px 1fr; gap:12px; }
  .process-list div { grid-template-columns:1fr; gap:8px; }
  .diagnostic-deliverables { grid-template-columns:1fr; }
  .diagnostic-preview { padding:11px; box-shadow:6px 6px 0 var(--ink); transform:none; }
  .preview-body { padding:16px; }
  .preview-path { overflow-x:auto; justify-content:flex-start; }
  .commercial-card { padding:28px 22px; box-shadow:6px 6px 0 var(--purple); }
  .faq-list summary { padding:17px; font-size:14px; }
  .faq-list details p { padding:0 17px 17px; font-size:14px; }
  .contact-form { padding:20px; grid-template-columns:1fr; }
  .full-field { grid-column:1; }
  .closing-path i { display:none; }
  .footer-main { grid-template-columns:1fr; }
  .footer-main nav { justify-self:start; }
  .footer-bottom { flex-direction:column; }
}

@media (max-width:380px) {
  .site-shell { width:calc(100% - 20px); }
  .brand { width:165px; }
  .hero h1 { font-size:37px; }
  .button-large { padding-inline:16px; font-size:14px; }
  .folder-labels { gap:6px; }
  .folder-labels span { padding-inline:5px; font-size:9px; }
  .folder-object { height:235px; }
  .folder-front { height:138px; }
  .folder-front strong { font-size:13px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
  .js .reveal { opacity:1!important; transform:none!important; }
}
