:root{--ink:#07131f;--navy:#0a2033;--navy2:#0e2f46;--teal:#16d0bd;--teal2:#97fff2;--paper:#f4f7f8;--line:#d5e1e5;--muted:#5f7180;--white:#fff;--danger:#9b3440;--radius:22px;--shadow:0 18px 45px rgba(5,28,42,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:78px;padding:0 max(24px,5vw);display:flex;align-items:center;gap:26px;position:sticky;top:0;z-index:20;background:rgba(244,247,248,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(7,19,31,.08)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;margin-right:auto}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--navy);color:var(--teal);display:grid;place-items:center;font-weight:900;letter-spacing:-.05em}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-weight:650}.topbar nav{display:flex;gap:22px}.topbar nav a{color:#2b4555;text-decoration:none;font-size:.94rem;font-weight:650}.btn{border:0;border-radius:13px;padding:12px 18px;font-weight:800;transition:.2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--teal);color:#04231f;box-shadow:0 9px 20px rgba(22,208,189,.24)}.btn-outline{border:1px solid #93a7b1;background:transparent;color:var(--ink)}.btn-ghost{background:#e3ecef;color:var(--navy)}.hero{min-height:670px;padding:78px max(24px,7vw) 60px;background:radial-gradient(circle at 86% 15%,rgba(22,208,189,.19),transparent 27%),linear-gradient(135deg,#07131f,#0b2639 70%,#0c3045);color:white}.section-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);gap:70px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:900;color:#15baa9}.hero .eyebrow,.section-dark .eyebrow{color:var(--teal2)}h1,h2,h3{margin-top:0;letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(3rem,6vw,6.6rem);max-width:900px;margin-bottom:26px}.hero h1{font-size:clamp(3rem,5.4vw,5.8rem)}h2{font-size:clamp(2.2rem,4vw,4.2rem)}h3{font-size:1.28rem}.lede{font-size:1.21rem;color:#c7d6dd;max-width:760px}.hero-actions{display:flex;gap:12px;margin:32px 0}.disclosure{max-width:760px;padding:16px 18px;border-left:3px solid var(--teal);background:rgba(255,255,255,.07);color:#c9d8df;border-radius:0 12px 12px 0}.hero-board{background:white;color:var(--ink);border-radius:28px;padding:18px;box-shadow:0 34px 70px rgba(0,0,0,.28);transform:rotate(1.5deg)}.board-top{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:800;color:#647783}.live-dot{color:#08796c}.sketch{height:310px;border-radius:18px;background:linear-gradient(#edf5f6 1px,transparent 1px),linear-gradient(90deg,#edf5f6 1px,transparent 1px);background-size:24px 24px;position:relative;overflow:hidden}.house{position:absolute;width:260px;height:142px;border:3px solid var(--navy);left:18%;bottom:52px;background:rgba(255,255,255,.8)}.roof{position:absolute;width:185px;height:185px;border-left:3px solid var(--navy);border-top:3px solid var(--navy);transform:rotate(45deg);left:34px;top:-94px;background:rgba(255,255,255,.9)}.window{position:absolute;width:42px;height:52px;border:3px solid var(--navy);top:42px;background:#a8efe7}.w1{left:35px}.w2{left:100px}.door{position:absolute;width:46px;height:79px;border:3px solid var(--navy);bottom:-3px;right:30px}.extension{position:absolute;width:148px;height:94px;border:3px solid #0c8f82;right:-148px;bottom:-3px;background:#b8f2eb}.progress-mini{display:flex;gap:6px;margin:18px 0}.progress-mini span{flex:1;padding:9px 6px;border-radius:9px;background:#eef2f4;text-align:center;font-size:.72rem}.progress-mini .done{background:#d6f8f4}.progress-mini .active{background:var(--teal);font-weight:800}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-cards div{background:#f2f6f7;border-radius:12px;padding:14px}.mini-cards b{display:block;font-size:1.4rem}.mini-cards span{font-size:.72rem;color:var(--muted)}.trust-strip{background:var(--teal);display:flex;justify-content:center;align-items:center;gap:18px;padding:15px 20px;font-weight:850;color:#05312b;flex-wrap:wrap}.trust-strip i{font-style:normal;opacity:.5}.section{padding:88px max(24px,7vw)}.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin-bottom:40px}.section-head p{color:var(--muted);font-size:1.04rem}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.package-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:0 10px 35px rgba(14,40,55,.06);position:relative}.package-card.featured{border:2px solid var(--teal);transform:translateY(-8px)}.pill{display:inline-block;background:#e0f8f5;color:#08796c;border-radius:999px;padding:7px 11px;font-weight:850;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.price{font-size:2rem;font-weight:900;margin-bottom:16px}.package-card>p,.package-card li{color:#4f6572}.package-card ul{padding-left:20px;min-height:285px}.package-card li{margin:9px 0}.scope-note{margin-top:22px;padding:18px 20px;background:#fff9e8;border:1px solid #ead9a6;border-radius:14px;color:#594918}.section-dark{background:var(--navy);color:white}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.steps article{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04)}.steps b{display:block;color:var(--teal);font-size:2rem;margin-bottom:25px}.steps p{color:#bfd0d8}.fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.fit-card{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.fit-card.yes{border-top:5px solid var(--teal)}.fit-card.no{border-top:5px solid #8da1ab}.fit-card li{margin:10px 0;color:#536875}.calcs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:26px}.calcs-grid article{background:#e8eff1;padding:22px;border-radius:16px}.calcs-grid article>span{width:45px;height:45px;border-radius:12px;background:var(--navy);color:var(--teal);display:grid;place-items:center;font-weight:900;margin-bottom:26px}.portal-showcase{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:white}.portal-showcase p{color:var(--muted)}.portal-mock{border-radius:22px;background:var(--navy);color:white;padding:20px;box-shadow:var(--shadow)}.mock-nav{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}.mock-nav span{color:var(--teal)}.mock-progress{display:flex;gap:8px;margin:20px 0}.mock-progress i{height:6px;flex:1;background:#345064;border-radius:99px}.mock-progress i.on{background:var(--teal)}.mock-row{background:#0f3046;border-radius:13px;padding:16px;margin:10px 0}.mock-row small{display:block;color:#90a9b7}.mock-row p{margin-bottom:0;color:#adc1cb}.mock-chat{background:white;color:var(--navy);border-radius:14px 14px 14px 3px;padding:14px;width:82%;margin-top:18px}.legal-section{background:#eaf1f3}.legal-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.legal-cards article{background:white;border-radius:16px;padding:22px;border:1px solid var(--line)}.legal-cards p{color:var(--muted);font-size:.92rem}.start-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;background:#0b2639;color:white}.start-copy p{color:#bed0d9}.project-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:white;color:var(--ink);padding:28px;border-radius:22px}.project-form label,.modal-card label{display:grid;gap:7px;font-weight:800;font-size:.88rem}.project-form input,.project-form select,.project-form textarea,.modal-card input,.panel textarea,.panel select,.panel input[type=file]{width:100%;padding:12px 13px;border:1px solid #bdcbd1;border-radius:10px;background:#fff;color:var(--ink)}.wide{grid-column:1/-1}.check{display:flex!important;grid-template-columns:22px 1fr!important;align-items:start;font-weight:550!important;color:#4d6270}.check input{width:auto!important;margin-top:4px}.text-btn{border:0;background:none;padding:0;color:#087f72;text-decoration:underline}.form-result{padding-top:8px;color:#12665e;font-weight:700}.form-result.error{color:var(--danger)}footer{padding:42px max(24px,7vw);background:#061019;color:#cad7dd;display:grid;grid-template-columns:1fr auto;gap:20px}footer p{margin:8px 0}.footer-link{border:0;background:none;color:var(--teal2);margin-left:16px}.footer-legal{grid-column:1/-1;color:#7f96a1;font-size:.8rem;max-width:900px}.modal{position:fixed;inset:0;z-index:100;background:rgba(3,14,22,.72);display:none;align-items:center;justify-content:center;padding:22px}.modal.open{display:flex}.modal-card{width:min(980px,100%);max-height:90vh;overflow:auto;background:white;border-radius:22px;padding:30px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.3)}.modal-card.small{width:min(500px,100%)}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:2rem}.modal-card form{display:grid;gap:14px;margin:20px 0}.doc-card h2{padding-right:30px}.doc-card h3{margin-top:30px}.doc-card p,.doc-card li{color:#4e6470}.doc-warning{padding:14px;background:#fff4cf;border:1px solid #efd27a;border-radius:12px}.portal{position:fixed;inset:0;background:#edf2f4;z-index:80;overflow:auto}.portal-header{height:76px;background:var(--navy);color:white;display:flex;align-items:center;padding:0 4vw;gap:20px;position:sticky;top:0;z-index:5}.portal-header>div:last-child{margin-left:auto;display:flex;align-items:center;gap:18px}.portal-header .brand-mark{background:var(--teal);color:var(--navy)}.portal-header .btn-outline{color:white;border-color:#688091}.portal-main{padding:45px max(20px,5vw)}.portal-summary{background:white;border-radius:20px;padding:28px;margin-bottom:20px}.portal-summary h1{font-size:2.5rem;margin:8px 0}.stage-track{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;margin-top:25px}.stage-track i{height:8px;border-radius:99px;background:#d8e2e6}.stage-track i.on{background:var(--teal)}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{background:white;border-radius:18px;padding:22px;border:1px solid var(--line)}.panel dl{display:grid;grid-template-columns:150px 1fr;gap:8px}.panel dt{color:var(--muted)}.panel dd{margin:0;font-weight:700}.panel form{display:grid;gap:10px;margin-top:16px}.counter{font-size:2rem;font-weight:900;color:#087f72}.chat{height:250px;overflow:auto;background:#f1f5f6;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.bubble{padding:10px 12px;border-radius:12px;max-width:85%;font-size:.9rem}.bubble.client{background:#daf5f1;align-self:flex-end}.bubble.designer{background:#e6eaf7}.bubble.system{background:#eef1f2;color:#667b87;align-self:center;font-size:.78rem}.file-item,.complaint-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}.file-item a{font-weight:800;color:#08796c}.muted{color:var(--muted);font-size:.88rem}@media(max-width:980px){.topbar nav{display:none}.section-grid,.section-head,.portal-showcase,.start-section{grid-template-columns:1fr}.hero-board{transform:none}.steps{grid-template-columns:repeat(2,1fr)}.calcs-grid,.legal-cards{grid-template-columns:repeat(2,1fr)}.portal-grid{grid-template-columns:1fr}}@media(max-width:650px){.topbar{height:68px}.topbar>.btn{display:none}.hero,.section{padding-left:20px;padding-right:20px}.hero{padding-top:56px}.hero h1{font-size:3.05rem}.package-grid,.fit-grid,.steps,.calcs-grid,.legal-cards,.project-form{grid-template-columns:1fr}.wide{grid-column:auto}.package-card.featured{transform:none}.house{left:7%;transform:scale(.82);transform-origin:left bottom}.trust-strip{justify-content:flex-start}.trust-strip i{display:none}.portal-header{padding:0 15px}.portal-header #portalRef{display:none}.panel dl{grid-template-columns:1fr}.panel dd{margin-bottom:8px}footer{grid-template-columns:1fr}.footer-link{margin:0 14px 0 0}}


/* v1.1 visual hero */
.hero{min-height:760px;padding-top:64px;padding-bottom:64px;background:linear-gradient(135deg,#06131f,#0a2639 72%,#0b3045);position:relative;overflow:hidden}
.hero.section-grid{grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:46px}
.hero>div:first-child{position:relative;z-index:2}
.hero-visual{position:relative;min-height:610px;border-radius:30px;overflow:hidden;box-shadow:0 38px 90px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.16);background:#07131f}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:opacity .55s ease,transform 6s ease}
.hero-visual:hover img{transform:scale(1.025)}
.hero-visual-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(2,12,20,.05) 30%,rgba(2,12,20,.78) 100%)}
.hero-project-badge{position:absolute;left:24px;right:24px;bottom:24px;padding:22px 24px;border-radius:20px;background:rgba(5,22,34,.78);backdrop-filter:blur(16px);border:1px solid rgba(151,255,242,.25);display:grid;grid-template-columns:1fr auto;gap:5px 18px;align-items:center}
.hero-project-badge .live-dot{grid-column:1;color:var(--teal2);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
.hero-project-badge strong{grid-column:1;color:white;font-size:1.28rem}
.hero-project-badge small{grid-column:1;color:#bed0d9}
.hero-project-badge .btn{grid-column:2;grid-row:1/4;align-self:center;white-space:nowrap}
.hero-image-credit{position:absolute;top:18px;right:18px;padding:7px 10px;border-radius:999px;background:rgba(2,12,20,.62);color:#d9e8ed;font-size:.68rem;backdrop-filter:blur(8px)}
@media(max-width:1100px){.hero.section-grid{grid-template-columns:1fr}.hero-visual{min-height:560px}}
@media(max-width:650px){.hero{min-height:auto}.hero-visual{min-height:470px;border-radius:22px}.hero-project-badge{left:14px;right:14px;bottom:14px;padding:16px;grid-template-columns:1fr}.hero-project-badge .btn{grid-column:1;grid-row:auto;margin-top:8px}.hero-image-credit{display:none}}


/* v1.2.1 Archi Assistant */
.assistant-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:70px;align-items:center;background:linear-gradient(135deg,#eaf2f3 0%,#f7fbfb 55%,#e2f6f1 100%)}
.assistant-copy>p{color:var(--muted);max-width:760px}
.assistant-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}
.assistant-feature-grid span{padding:12px 14px;border:1px solid #c7d9dd;background:rgba(255,255,255,.76);border-radius:12px;font-weight:800;font-size:.9rem}
.assistant-disclaimer{padding:16px 18px;border-left:4px solid var(--teal);background:white;border-radius:0 12px 12px 0}
.assistant-preview{border-radius:24px;background:#061824;color:white;padding:24px;box-shadow:0 28px 70px rgba(4,26,39,.2);min-height:390px;border:1px solid rgba(86,239,221,.22)}
.assistant-preview-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
.assistant-logo-mini,.archi-bot-head-mark,.archi-bot-launcher-mark,.archi-bot-avatar{display:grid;place-items:center;background:linear-gradient(145deg,#22e2ca,#0aa392);color:#052033;font-weight:950}
.assistant-logo-mini{width:44px;height:44px;border-radius:13px;font-size:1.25rem}
.assistant-preview-head div{display:grid}.assistant-preview-head small{color:#9fb7c2}.assistant-preview-ready{margin-left:auto;color:#6ff0cf;font-size:.8rem;font-weight:800}
.assistant-preview-bubble{max-width:85%;padding:14px 16px;border-radius:16px;margin:18px 0;line-height:1.5;font-size:.92rem}
.assistant-preview-bubble.user{margin-left:auto;background:#103c51;border-radius:16px 16px 3px 16px}
.assistant-preview-bubble.bot{background:white;color:#173343;border-radius:16px 16px 16px 3px}
.assistant-preview-thinking{display:flex;gap:5px;align-items:center;width:max-content;padding:12px 16px;background:#0d3144;border-radius:16px}
.assistant-preview-thinking i,.archi-bot-thinking-dots i{display:block;width:7px;height:7px;border-radius:99px;background:#6ff0cf;animation:archiDot 1.15s infinite ease-in-out}
.assistant-preview-thinking i:nth-child(2),.archi-bot-thinking-dots i:nth-child(2){animation-delay:.16s}.assistant-preview-thinking i:nth-child(3),.archi-bot-thinking-dots i:nth-child(3){animation-delay:.32s}
.assistant-preview-note{color:#91b4c1;font-size:.76rem;margin-top:20px}
@keyframes archiDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}

.archi-bot-launcher{position:fixed;right:22px;bottom:22px;z-index:172;display:flex;align-items:center;gap:11px;padding:10px 13px 10px 10px;border:1px solid rgba(91,255,225,.35);border-radius:18px;background:rgba(5,24,37,.96);color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.3);cursor:pointer;backdrop-filter:blur(14px);animation:archiBotAttention 4.8s ease-in-out infinite;transform-origin:center}
.archi-bot-launcher:hover{transform:translateY(-2px) scale(1.015);animation-play-state:paused;box-shadow:0 22px 62px rgba(0,0,0,.36),0 0 0 4px rgba(22,208,189,.14)}
.archi-bot-launcher[aria-expanded="true"]{animation:none}
@keyframes archiBotAttention{0%,72%,100%{transform:translateY(0) scale(1);box-shadow:0 20px 55px rgba(0,0,0,.3),0 0 0 0 rgba(22,208,189,0)}78%{transform:translateY(-2px) scale(1.035);box-shadow:0 23px 64px rgba(0,0,0,.34),0 0 0 7px rgba(22,208,189,.16)}84%{transform:translateY(0) scale(1);box-shadow:0 20px 55px rgba(0,0,0,.3),0 0 0 2px rgba(22,208,189,.07)}90%{transform:translateY(-1px) scale(1.022);box-shadow:0 22px 60px rgba(0,0,0,.33),0 0 0 5px rgba(22,208,189,.12)}}
@media (prefers-reduced-motion:reduce){.archi-bot-launcher{animation:none}.archi-bot-launcher:hover{transform:none}}
.archi-bot-launcher-mark{width:42px;height:42px;border-radius:13px;font-size:1.2rem}
.archi-bot-launcher-copy{display:grid;text-align:left;line-height:1.15}.archi-bot-launcher-copy strong{font-size:.9rem}.archi-bot-launcher-copy small{color:#a6bec8;margin-top:3px;font-size:.72rem}
.archi-bot-status-dot{width:9px;height:9px;border-radius:99px;background:#e5a53f;box-shadow:0 0 0 4px rgba(229,165,63,.13)}
.archi-bot-status-dot.ready{background:#4ae2b5;box-shadow:0 0 0 4px rgba(74,226,181,.13)}.archi-bot-status-dot.offline{background:#e36565;box-shadow:0 0 0 4px rgba(227,101,101,.13)}

.archi-bot-panel{position:fixed;right:22px;bottom:86px;z-index:174;width:min(430px,calc(100vw - 30px));height:min(690px,calc(100vh - 115px));background:#f7fafb;border:1px solid #c9d8de;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.34);overflow:hidden;display:flex;flex-direction:column}
.archi-bot-panel[hidden]{display:none}
.archi-bot-head{display:flex;align-items:center;gap:11px;padding:15px 15px;background:#061824;color:white}
.archi-bot-head-mark{width:42px;height:42px;border-radius:12px;font-size:1.2rem;flex:none}
.archi-bot-head-copy{display:grid;min-width:0;flex:1}.archi-bot-head-copy small{color:#a9bec8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.archi-bot-icon{border:1px solid rgba(255,255,255,.18);background:#0c2a3c;color:white;width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:1rem}
.archi-bot-icon[aria-pressed="true"]{border-color:#50e7cb;background:#0b4b48}
.archi-bot-knowledge{display:flex;gap:6px;flex-wrap:wrap;padding:9px 12px;background:#0b2639;border-top:1px solid rgba(255,255,255,.07)}
.archi-bot-knowledge span{font-size:.66rem;color:#b9d1da;border:1px solid #294a5d;border-radius:999px;padding:4px 7px}
.archi-bot-messages{flex:1;overflow-y:auto;padding:16px 13px 8px;display:flex;flex-direction:column;gap:13px;scroll-behavior:smooth}
.archi-bot-message{display:flex;align-items:flex-end;gap:8px}.archi-bot-message.user{justify-content:flex-end}.archi-bot-message.user .archi-bot-avatar{display:none}
.archi-bot-avatar{width:28px;height:28px;border-radius:9px;font-size:.77rem;flex:none}
.archi-bot-bubble{max-width:84%;white-space:pre-wrap;overflow-wrap:anywhere;padding:11px 13px;border-radius:15px;background:white;color:#173343;border:1px solid #d8e3e7;line-height:1.48;font-size:.88rem}
.archi-bot-message.user .archi-bot-bubble{background:#0c4051;color:white;border-color:#0c4051;border-radius:15px 15px 3px 15px}
.archi-bot-source-line{font-size:.68rem;color:#6c838e;margin:4px 0 0 37px}
.archi-bot-thinking{display:flex;align-items:center;gap:8px;padding:0 13px 8px}
.archi-bot-thinking-dots{display:flex;gap:5px;padding:12px 14px;background:white;border:1px solid #d8e3e7;border-radius:15px}
.archi-bot-prompts{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-top:1px solid #dbe5e8;scrollbar-width:none}.archi-bot-prompts::-webkit-scrollbar{display:none}
.archi-bot-prompts button{white-space:nowrap;border:1px solid #bfd1d6;background:white;color:#315060;border-radius:999px;padding:7px 10px;font-size:.72rem;cursor:pointer}.archi-bot-prompts button:hover{border-color:#24bca8;color:#087a6d}
.archi-bot-form{padding:9px 12px;background:white;border-top:1px solid #dae5e8}.archi-bot-form textarea{width:100%;resize:none;max-height:110px;padding:11px 12px;border:1px solid #bfcfd5;border-radius:12px;font:inherit;color:#173343}
.archi-bot-controls{display:flex;align-items:center;gap:8px;margin-top:7px}.archi-bot-controls .btn{margin-left:auto;padding:9px 16px}
.archi-bot-mic{width:38px;height:38px;border-radius:11px;border:1px solid #bdd0d6;background:#eef5f6;cursor:pointer}.archi-bot-mic.listening{background:#ffe9e9;border-color:#ee8585;animation:micPulse 1.1s infinite}
@keyframes micPulse{50%{box-shadow:0 0 0 7px rgba(230,96,96,.1)}}
.archi-bot-mic-status{font-size:.7rem;color:#718995}
.archi-bot-foot{padding:8px 12px;background:#edf3f4;color:#667c87;font-size:.65rem;line-height:1.35;border-top:1px solid #d9e4e7}
@media(max-width:980px){.assistant-section{grid-template-columns:1fr}}
@media(max-width:650px){.assistant-feature-grid{grid-template-columns:1fr}.archi-bot-launcher{right:12px;bottom:12px}.archi-bot-panel{right:0;left:0;bottom:0;width:100vw;height:min(86vh,760px);max-width:none;border-radius:22px 22px 0 0}.archi-bot-launcher-copy{display:none}}

/* --------------------------------------------------------------------------
   v1.2.2 — cinematic London hero / reference-image visual system
   -------------------------------------------------------------------------- */
:root{
  --ink:#06131f;
  --navy:#061824;
  --navy2:#0a2638;
  --teal:#27e7d6;
  --teal2:#66fff2;
  --paper:#f4f7f8;
  --muted:#647884;
  --line:#d4e0e4;
  --glass:rgba(5,19,31,.72);
  --glass-line:rgba(94,255,234,.42);
}
body{background:#f3f6f7;color:#07131f}

/* Header overlays the hero exactly like the reference composition. */
.topbar{
  position:absolute;inset:0 0 auto 0;z-index:40;height:96px;
  padding:0 clamp(28px,3.2vw,58px);background:linear-gradient(180deg,rgba(4,16,29,.58),rgba(4,16,29,.08));
  border:0;backdrop-filter:none;color:#fff;gap:30px;
}
.brand{color:#fff;gap:12px;min-width:max-content}.brand-logo{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.26))}
.brand-copy{display:grid;line-height:1}.brand-copy strong{display:block;font-size:clamp(1.25rem,1.8vw,2rem);letter-spacing:-.035em;text-transform:uppercase;font-weight:900;white-space:nowrap}.brand-copy strong span{color:#fff}.brand-copy strong em{font-style:normal;color:var(--teal)}
.brand-copy small{margin-top:7px;color:#d9ffff;text-transform:uppercase;letter-spacing:.34em;font-size:.68rem;font-weight:800}
.topbar nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,1.8vw,29px);margin-left:auto}.topbar nav a,.topbar .nav-link{color:#fff;text-decoration:none;background:none;border:0;padding:8px 0;font-size:.88rem;font-weight:540;white-space:nowrap;opacity:.96;position:relative}.topbar nav a::after,.topbar .nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--teal);transition:right .2s ease}.topbar nav a:hover::after,.topbar .nav-link:hover::after{right:0}.topbar nav a:hover,.topbar .nav-link:hover{color:var(--teal2)}
.topbar-cta{margin-left:14px;padding:14px 24px;border-radius:14px;gap:18px;white-space:nowrap;box-shadow:0 10px 34px rgba(39,231,214,.24)}

.hero{
  position:relative;min-height:100svh;height:auto;padding:142px clamp(34px,4.8vw,76px) 70px;
  color:#fff;background:#06111d;overflow:hidden;isolation:isolate;display:flex;align-items:center;
}
.hero-visual{position:absolute;inset:0;z-index:0;border:0;border-radius:0;min-height:0;box-shadow:none;background:#06111d;overflow:hidden;pointer-events:none}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;transform:none!important;transition:opacity .7s ease}
.hero-visual-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(90deg,rgba(1,9,16,.91) 0%,rgba(2,11,19,.72) 27%,rgba(4,13,23,.25) 53%,rgba(4,13,23,.08) 78%,rgba(4,13,23,.22) 100%),
  linear-gradient(180deg,rgba(2,9,17,.34) 0%,transparent 26%,transparent 70%,rgba(2,9,17,.48) 100%)}
.hero-content{position:relative;z-index:2;width:min(560px,45vw);padding-top:22px}
.hero .eyebrow{color:var(--teal2);font-size:.78rem;letter-spacing:.19em;margin-bottom:22px}
.hero h1{font-size:clamp(3.35rem,5.2vw,5.9rem);line-height:.99;letter-spacing:-.052em;margin:0 0 22px;max-width:none;text-shadow:0 7px 28px rgba(0,0,0,.28)}
.hero h1 span{color:var(--teal)}
.hero .lede{max-width:520px;margin:0;color:#edf5f7;font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.45;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:26px 0 30px}.hero-actions .btn{min-height:49px;padding:12px 25px;border-radius:14px}.btn-primary{background:linear-gradient(135deg,#37f0df,#20d5c7);color:#022722;box-shadow:0 12px 30px rgba(29,221,203,.22)}.btn-primary:hover{box-shadow:0 16px 38px rgba(29,221,203,.32)}
.btn-glass{background:rgba(6,20,31,.36);border:1px solid rgba(255,255,255,.72);color:#fff;backdrop-filter:blur(7px)}.btn-glass:hover{background:rgba(6,20,31,.58)}
.hero-ai-link{border:0;background:transparent;color:#aefef4;font-weight:750;padding:8px 4px;text-decoration:underline;text-underline-offset:4px}
.hero-services{display:grid;gap:13px;width:min(440px,100%);margin-top:14px}.hero-service{display:flex;align-items:center;gap:15px;color:#fff}.hero-service-icon{width:45px;height:45px;flex:none;display:grid;place-items:center;color:var(--teal);font-size:1.65rem;border:1.5px solid var(--teal);border-radius:10px;background:rgba(2,14,23,.26);box-shadow:inset 0 0 22px rgba(39,231,214,.05)}.hero-service>span:last-child{display:grid;line-height:1.25}.hero-service strong{font-size:.97rem}.hero-service small{color:#d5e1e5;font-size:.81rem;margin-top:3px}
.hero-disclosure{margin-top:20px;color:#9fb5bf;font-size:.72rem;max-width:500px}

.hero-project-badge{position:absolute;z-index:4;left:auto;right:clamp(26px,3.5vw,56px);bottom:34px;width:min(420px,34vw);padding:14px;border-radius:20px;background:rgba(4,24,25,.83);backdrop-filter:blur(18px);border:1px solid var(--glass-line);display:grid;grid-template-columns:104px 1fr 43px;align-items:center;gap:16px;box-shadow:0 25px 65px rgba(0,0,0,.32)}
.hero-project-badge img{width:104px;height:104px;object-fit:cover;border-radius:12px;border:1px solid rgba(98,255,239,.42)}.hero-project-badge>div{display:grid;gap:8px}.hero-project-badge strong{font-size:1.2rem;line-height:1.15}.hero-project-badge small{color:#d6e7e7;line-height:1.45;font-size:.82rem}.hero-room-arrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:transparent;color:#fff;font-size:1.35rem;display:grid;place-items:center;transition:.2s}.hero-room-arrow:hover{background:var(--teal);color:#05221f;border-color:var(--teal);transform:translateX(2px)}
.hero-image-credit{position:absolute;z-index:3;top:auto;right:auto;left:clamp(34px,4.8vw,76px);bottom:16px;background:rgba(2,11,19,.36);color:#b7c9cf;border:1px solid rgba(255,255,255,.08);font-size:.62rem}

.trust-strip{background:#071923;color:#dffcf9;gap:0;padding:0 clamp(24px,4vw,70px);justify-content:space-between;border-top:1px solid rgba(79,255,235,.16);box-shadow:0 -8px 30px rgba(0,0,0,.1)}.trust-strip span{padding:18px 17px;font-size:.83rem;letter-spacing:.01em}.trust-strip i{color:var(--teal);opacity:.7}

/* Carry the hero's architectural visual language through the rest of the site. */
.section{padding:96px max(28px,7vw)}.section-head{margin-bottom:48px}.section-head h2{max-width:820px}.package-grid{gap:28px}.package-card{border:1px solid #d7e2e5;border-radius:24px;padding:38px;box-shadow:0 18px 50px rgba(6,31,45,.07)}.package-card.featured{border:1px solid #43ddce;box-shadow:0 22px 60px rgba(15,134,121,.12)}.package-card .btn{border-radius:12px}.section-dark{background:linear-gradient(145deg,#061824,#0a293c);position:relative}.section-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 15%,rgba(39,231,214,.09),transparent 28%);pointer-events:none}.steps article{background:rgba(255,255,255,.045);border-color:rgba(105,255,238,.12);backdrop-filter:blur(4px)}.steps b{color:var(--teal)}
.calcs-grid article{background:#e9f0f2;border:1px solid #d6e2e6}.calcs-grid article>span{background:#071c2a;color:var(--teal)}
.portal-showcase{background:linear-gradient(135deg,#fff,#edf5f5)}.portal-mock{background:linear-gradient(145deg,#061824,#0c3044);border:1px solid rgba(39,231,214,.2);box-shadow:0 28px 70px rgba(4,28,40,.2)}
.assistant-section{background:linear-gradient(135deg,#e9f2f3,#f8fbfb 55%,#e7f8f4)}
.start-section{background:linear-gradient(145deg,#061824,#0a293c)}
footer{background:#04111a}

/* Bot visually matches the hero reference card. */
.archi-bot-launcher{background:rgba(5,24,37,.95);border-color:rgba(75,255,233,.42);border-radius:16px}.archi-bot-launcher-mark,.archi-bot-head-mark,.archi-bot-avatar,.assistant-logo-mini{background:linear-gradient(145deg,#48f2e2,#11bfb1);color:#032620}.archi-bot-panel{border-color:rgba(24,183,167,.32);box-shadow:0 32px 90px rgba(0,0,0,.38)}.archi-bot-head{background:linear-gradient(145deg,#061824,#0a293c)}

@media(max-width:1220px){
  .topbar nav{gap:14px}.topbar nav a,.topbar .nav-link{font-size:.79rem}.topbar-cta{padding:12px 18px}.brand-logo{width:54px;height:54px}.brand-copy strong{font-size:1.35rem}
  .hero-content{width:min(600px,54vw)}.hero-project-badge{width:min(390px,37vw)}
}
@media(max-width:980px){
  .topbar{position:absolute;height:82px}.topbar nav{display:none}.topbar-cta{margin-left:auto}.brand-logo{width:50px;height:50px}
  .hero{min-height:980px;align-items:flex-start;padding-top:128px;padding-bottom:240px}.hero-content{width:min(620px,88vw)}.hero-visual img{object-position:62% center}.hero-visual-shade{background:linear-gradient(90deg,rgba(1,9,16,.9) 0%,rgba(2,11,19,.63) 50%,rgba(2,11,19,.18) 100%),linear-gradient(180deg,rgba(2,9,17,.25),transparent 55%,rgba(2,9,17,.52))}.hero-project-badge{left:clamp(24px,6vw,64px);right:auto;bottom:45px;width:min(520px,82vw)}
  .trust-strip{justify-content:center}.hero-services{width:min(500px,100%)}
}
@media(max-width:650px){
  .topbar{height:74px;padding:0 17px}.brand-logo{width:44px;height:44px}.brand-copy strong{font-size:1.05rem}.brand-copy small{font-size:.52rem;letter-spacing:.24em}.topbar-cta{font-size:.75rem;padding:10px 13px}.topbar-cta span{display:none}
  .hero{min-height:930px;padding:110px 20px 235px}.hero-content{width:100%;padding-top:0}.hero h1{font-size:clamp(3rem,14vw,4.5rem)}.hero .lede{font-size:.97rem}.hero-actions{margin:22px 0 26px}.hero-actions .btn{padding:11px 17px}.hero-ai-link{width:100%;text-align:left}.hero-services{gap:10px}.hero-service-icon{width:40px;height:40px;font-size:1.35rem}.hero-service strong{font-size:.88rem}.hero-service small{font-size:.74rem}.hero-disclosure{font-size:.64rem}
  .hero-visual img{object-position:66% center}.hero-project-badge{left:16px;right:16px;bottom:27px;width:auto;grid-template-columns:76px 1fr 36px;gap:11px;padding:11px}.hero-project-badge img{width:76px;height:76px}.hero-project-badge strong{font-size:.95rem}.hero-project-badge small{font-size:.69rem}.hero-room-arrow{width:34px;height:34px}.hero-image-credit{display:none}
  .trust-strip{padding:10px 14px}.trust-strip span{padding:7px 8px;font-size:.7rem}.trust-strip i{display:none}
  .section{padding:72px 20px}.package-card{padding:25px}
}


/* v1.3.0 — larger architectural hero + hosted knowledge assistant */
@media(min-width:981px){
  .hero{height:100svh;min-height:900px;max-height:1120px;padding-top:138px;padding-bottom:76px;align-items:center}
  .hero-content{width:min(520px,39vw)}
  .hero-visual img{object-position:62% 51%;object-fit:cover}
  .hero-visual-shade{background:linear-gradient(90deg,rgba(1,9,16,.90) 0%,rgba(2,11,19,.70) 23%,rgba(3,12,20,.24) 47%,rgba(3,12,20,.04) 73%,rgba(3,12,20,.12) 100%),linear-gradient(180deg,rgba(2,9,17,.23),transparent 28%,transparent 76%,rgba(2,9,17,.34))}
}
.scope-note a,.footer-structural-link{color:#08796c;font-weight:850;text-decoration:none}.scope-note a:hover,.footer-structural-link:hover{text-decoration:underline}
.structural-partner-card{margin-top:30px;border-radius:24px;padding:30px 34px;background:linear-gradient(135deg,#061824,#0a3145);color:#fff;display:flex;gap:28px;align-items:center;justify-content:space-between;box-shadow:0 20px 55px rgba(4,31,46,.18)}
.structural-partner-card h3{font-size:1.6rem;margin:5px 0 8px}.structural-partner-card p{margin:0;max-width:760px;color:#cde0e5}.structural-partner-card .btn{white-space:nowrap}.archi-bot-source-line a{color:#2ccfbe;text-decoration:underline;text-underline-offset:3px}.archi-bot-source-line span{color:#78909a}
@media(max-width:980px){.structural-partner-card{align-items:flex-start;flex-direction:column}.hero{min-height:1000px}.hero-visual img{object-position:62% 50%}}
@media(max-width:650px){.hero{min-height:980px}.hero-visual img{object-position:64% 50%}.structural-partner-card{padding:24px}}

@media(max-width:1450px) and (min-width:981px){.topbar nav{gap:12px}.topbar nav a,.topbar .nav-link{font-size:.78rem}.topbar-cta{padding:12px 16px}.brand-logo{width:54px;height:54px}.brand-copy strong{font-size:1.3rem}}


/* v1.3.2 — desktop split hero: text left, large image right */
@media(min-width:981px){
  .hero{
    display:grid;
    grid-template-columns:minmax(420px, 520px) minmax(620px, 1fr);
    grid-template-areas:"content visual";
    column-gap:clamp(30px,3vw,54px);
    align-items:center;
    min-height:100svh;
    height:100svh;
    max-height:none;
    padding:136px clamp(34px,4.8vw,76px) 56px;
  }
  .hero-content{grid-area:content; width:100%; max-width:520px; padding-top:0; align-self:center;}
  .hero-visual{
    grid-area:visual;
    position:relative;
    inset:auto;
    z-index:1;
    width:100%;
    height:clamp(620px, 76vh, 860px);
    min-height:620px;
    border-radius:34px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 36px 90px rgba(0,0,0,.34);
    background:#06111d;
    pointer-events:none;
  }
  .hero-visual img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 50%;}
  .hero-visual-shade{background:linear-gradient(180deg,rgba(2,9,17,.08) 0%,rgba(2,9,17,.08) 55%,rgba(2,9,17,.38) 100%);}
  .hero-project-badge{
    right:clamp(24px,2.5vw,34px);
    bottom:28px;
    width:min(420px, 42vw);
  }
  .hero-image-credit{left:auto; right:clamp(26px,2.5vw,34px); top:auto; bottom:8px;}
}

@media(max-width:980px){
  .hero{display:block;}
  .hero-visual{position:absolute; inset:0; z-index:0; border-radius:0; width:auto; height:auto; min-height:0; box-shadow:none; border:0;}
  .hero-visual-shade{background:linear-gradient(90deg,rgba(1,9,16,.9) 0%,rgba(2,11,19,.63) 50%,rgba(2,11,19,.18) 100%),linear-gradient(180deg,rgba(2,9,17,.25),transparent 55%,rgba(2,9,17,.52));}
}


/* v1.3.3 — restore full-width hero image like approved reference screenshot */
@media(min-width:981px){
  .hero{
    display:flex;
    align-items:center;
    min-height:100svh;
    height:100svh;
    max-height:none;
    padding:138px clamp(34px,4.8vw,76px) 76px;
    background:transparent;
  }
  .hero-content{width:min(520px,39vw);max-width:none;padding-top:22px;z-index:2}
  .hero-visual{
    position:absolute;
    inset:0;
    z-index:0;
    width:auto;
    height:auto;
    min-height:0;
    border:0;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
    background:#06111d;
  }
  .hero-visual img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 51%;
  }
  .hero-visual-shade{
    background:linear-gradient(90deg,rgba(1,9,16,.90) 0%,rgba(2,11,19,.70) 23%,rgba(3,12,20,.24) 47%,rgba(3,12,20,.04) 73%,rgba(3,12,20,.12) 100%),linear-gradient(180deg,rgba(2,9,17,.23),transparent 28%,transparent 76%,rgba(2,9,17,.34));
  }
  .hero-project-badge{
    left:auto;
    right:clamp(26px,3.5vw,56px);
    bottom:34px;
    width:min(420px,34vw);
  }
  .hero-image-credit{left:clamp(34px,4.8vw,76px);right:auto;bottom:16px;top:auto;}
}


/* v1.3.4 — robust full-screen hero background (no z-index image layer) */
.hero{
  background-color:#06111d;
  background-image:
    linear-gradient(90deg,rgba(1,9,16,.92) 0%,rgba(2,11,19,.74) 24%,rgba(3,12,20,.29) 49%,rgba(3,12,20,.08) 74%,rgba(3,12,20,.14) 100%),
    linear-gradient(180deg,rgba(2,9,17,.25) 0%,rgba(2,9,17,.04) 28%,rgba(2,9,17,.02) 72%,rgba(2,9,17,.34) 100%),
    url('/assets/hero-extension-01.webp');
  background-size:cover,cover,cover;
  background-position:center,center,center 51%;
  background-repeat:no-repeat;
}
/* The original image element remains in the markup for accessibility/fallback,
   but the visual is now painted directly on .hero to avoid stacking bugs. */
.hero>.hero-visual{display:none!important}
.hero-content{position:relative;z-index:2}
.hero-project-badge{z-index:4}
.hero-image-credit{z-index:3}

@media(min-width:981px){
  .hero{
    display:flex;
    align-items:center;
    width:100%;
    min-height:100vh;
    min-height:100svh;
    height:100vh;
    height:100svh;
    max-height:none;
    padding:138px clamp(34px,4.8vw,76px) 76px;
    background-position:center,center,center 51%;
  }
  .hero-content{width:min(540px,40vw);max-width:540px;padding-top:16px}
  .hero-project-badge{right:clamp(26px,3.5vw,56px);bottom:34px;width:min(420px,34vw)}
}
@media(max-width:980px){
  .hero{
    background-position:center,center,62% center;
    min-height:1000px;
  }
}
@media(max-width:650px){
  .hero{
    background-position:center,center,66% center;
    min-height:980px;
  }
}
