
:root{--ink:#172033;--ink2:#29344a;--red:#ff3030;--orange:#ff7a35;--gold:#ffc857;--cream:#fff8ef;--mist:#f4f6f9;--line:#e3e7ed;--muted:#667286;--white:#fff;--shadow:0 18px 55px rgba(23,32,51,.13);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff;overflow-x:hidden}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(1180px,92%);margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:9999}.topbar{background:#101827;color:#fff;font-size:.92rem}.topbar .container{min-height:38px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.topbar strong{color:#ffd16a}header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(228,231,237,.9)}.navrow{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}.site-logo{width:205px;border-radius:12px}.desktop-nav{display:flex;align-items:center;gap:22px}.desktop-nav a{font-weight:800;color:var(--ink2);position:relative}.desktop-nav a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--red);transition:.25s}.desktop-nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border-radius:12px;background:linear-gradient(135deg,var(--red),#ff5a31);color:#fff!important;font-weight:900;box-shadow:0 10px 24px rgba(255,47,47,.22);border:0;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(255,47,47,.27)}.button.secondary{background:#fff;color:var(--ink)!important;box-shadow:none;border:1px solid var(--line)}.mobile-toggle{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:1.35rem;cursor:pointer}.mobile-nav{display:none;position:fixed;inset:92px 0 0;background:#fff;z-index:999;padding:24px 4%;border-top:1px solid var(--line)}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-weight:850}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 16%,rgba(255,200,87,.34),transparent 25%),radial-gradient(circle at 16% 85%,rgba(255,47,47,.14),transparent 30%),linear-gradient(125deg,#fff 0%,#fff8ef 52%,#f7f9fc 100%)}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(23,32,51,.08);border-radius:50%}.hero:before{width:540px;height:540px;right:-180px;top:-170px}.hero:after{width:360px;height:360px;right:45px;top:-80px}.hero-grid{min-height:690px;display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center;position:relative;z-index:2}.kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#44506a}.kicker i{width:8px;height:8px;background:var(--red);border-radius:50%;display:block;box-shadow:0 0 0 6px rgba(255,47,47,.1)}.hero h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.96;letter-spacing:-.055em;margin:22px 0}.hero h1 span{color:transparent;background:linear-gradient(90deg,var(--red),var(--orange));background-clip:text;-webkit-background-clip:text}.lead{font-size:1.18rem;color:var(--muted);max-width:780px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-note{margin-top:18px;font-size:.92rem;color:#697387}.hero-visual{position:relative;padding:22px}.logo-card{background:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow);border:1px solid var(--line);transform:rotate(1.3deg);animation:float 5s ease-in-out infinite}.logo-card img{border-radius:18px}.mini-card{position:absolute;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(23,32,51,.13);border:1px solid var(--line);padding:15px 18px;font-weight:900}.mini-card.one{left:-12px;bottom:55px}.mini-card.two{right:-16px;top:55px}.mini-card small{display:block;color:var(--muted);font-weight:700}@keyframes float{0%,100%{transform:rotate(1.3deg) translateY(0)}50%{transform:rotate(.2deg) translateY(-10px)}}
.trust-strip{background:#151d2c;color:#fff;padding:20px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.trust-item{padding:8px 16px;border-right:1px solid rgba(255,255,255,.14)}.trust-item:last-child{border-right:0}.trust-item b{display:block;font-size:1.08rem}.trust-item span{font-size:.88rem;color:#b9c3d4}section{padding:84px 0}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:34px}.section-head h2{font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.03;letter-spacing:-.035em;margin:0;max-width:780px}.section-head p{max-width:540px;color:var(--muted);margin:0}.service-controls{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:999px;font-weight:800;cursor:pointer}.filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;overflow:hidden;padding:26px;min-height:275px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#fff,#fbfcfe);transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 45px rgba(23,32,51,.11)}.service-card.hidden{display:none}.service-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#fff3ea;border:1px solid #ffe1cf;font-size:1.5rem;margin-bottom:50px}.service-card h3{font-size:1.35rem;margin:0 0 10px}.service-card p{color:var(--muted);margin:0}.service-card .arrow{position:absolute;right:22px;top:22px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f3f5f8;font-weight:900}.workzone{background:var(--mist)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.step .num{font-size:2.7rem;font-weight:950;color:#e6e9ee;line-height:1}.step h3{margin:20px 0 8px}.step p{margin:0;color:var(--muted)}
.planner{background:linear-gradient(135deg,#141c2b,#222d43);color:#fff;border-radius:30px;padding:38px;box-shadow:var(--shadow)}.planner-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px}.planner h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.02;margin:0 0 14px}.planner p{color:#c6cedd}.planner-services{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.plan-chip{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:13px;padding:12px 13px;text-align:left;cursor:pointer;font-weight:800;transition:.2s}.plan-chip.active{background:#fff;color:var(--ink);border-color:#fff}.plan-summary{background:#fff;color:var(--ink);border-radius:22px;padding:24px}.plan-summary h3{margin-top:0}.plan-list{min-height:90px;color:var(--muted)}.plan-list span{display:inline-block;background:#f2f4f7;border-radius:999px;padding:6px 9px;margin:4px;font-size:.9rem;font-weight:750;color:#3c4659}.plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.area-card{border-radius:28px;background:linear-gradient(135deg,#fff7ec,#fff);border:1px solid #f3e5d2;padding:34px;position:relative;overflow:hidden}.area-card:after{content:"";width:220px;height:220px;border-radius:50%;position:absolute;right:-80px;bottom:-80px;background:radial-gradient(circle,var(--gold),transparent 65%);opacity:.32}.area-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.area-list span{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-weight:800}.faq{max-width:920px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;background:transparent;border:0;padding:22px 0;display:flex;justify-content:space-between;gap:16px;font-size:1.08rem;font-weight:900;text-align:left;cursor:pointer;color:var(--ink)}.faq-a{max-height:0;overflow:hidden;transition:max-height .3s;color:var(--muted)}.faq-item.open .faq-a{max-height:220px;padding-bottom:22px}.faq-q span:last-child{transition:.2s}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}.cta-band{background:linear-gradient(120deg,#ff2f2f,#ff713e);color:#fff;border-radius:28px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.cta-band h2{margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.cta-band .button{background:#fff;color:var(--ink)!important;box-shadow:none}
.page-hero{padding:72px 0;background:linear-gradient(125deg,#fff4e9,#f7f9fc)}.page-hero h1{font-size:clamp(2.8rem,6vw,5.5rem);line-height:.98;letter-spacing:-.05em;margin:0 0 16px}.page-hero p{font-size:1.16rem;color:var(--muted);max-width:760px}.content-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:35px}.content-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:18px}.content-card h2,.content-card h3{margin-top:0}.content-card p{color:var(--muted)}.sticky-contact{position:sticky;top:120px;background:#171f2f;color:#fff;border-radius:22px;padding:25px}.sticky-contact p{color:#c8d0dd}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:850}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff;color:var(--ink)}.field textarea{min-height:130px;resize:vertical}footer{background:#0f1624;color:#c1cad8;padding:55px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}.footer-logo{width:190px;background:#fff;border-radius:14px;padding:7px;margin-bottom:15px}footer h3{color:#fff;margin-top:0}footer a{display:block;color:#fff;margin:7px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:32px;font-size:.9rem}.reveal{opacity:0;transform:translateY(20px);transition:.65s}.reveal.visible{opacity:1;transform:none}.toast{position:fixed;right:18px;bottom:18px;z-index:2000;background:#151d2c;color:#fff;padding:12px 15px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s}.toast.show{opacity:1;transform:none}
@media(max-width:980px){.desktop-nav{display:none}.mobile-toggle{display:block}.hero-grid,.planner-grid,.area-grid,.content-grid{grid-template-columns:1fr}.hero-grid{padding:60px 0;min-height:auto}.hero-visual{max-width:620px;margin:auto}.services-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.sticky-contact{position:static}}@media(max-width:640px){.site-logo{width:160px}.navrow{min-height:78px}.mobile-nav{inset:78px 0 0}.topbar .container{justify-content:center;text-align:center;padding:7px 0}.hero h1{font-size:clamp(2.7rem,14vw,4.2rem)}.hero-visual{padding:5px}.mini-card{position:static;margin-top:10px}.logo-card{padding:15px}.services-grid,.process-grid,.planner-services,.footer-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.section-head{display:block}.section-head p{margin-top:12px}section{padding:64px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Portfolio additions */
.portfolio-hero{padding:82px 0 58px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff}.portfolio-hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.98;margin:14px 0}.portfolio-hero p{max-width:760px;color:#d1d5db;font-size:1.15rem}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06)}.project-card img{width:100%;height:260px;object-fit:cover;display:block}.project-card .body{padding:22px}.project-card .tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.featured-project{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}.featured-project video{width:100%;border-radius:18px;background:#000;box-shadow:0 16px 45px rgba(0,0,0,.15)}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.photo-strip img{width:100%;height:190px;object-fit:cover;border-radius:12px}.project-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.project-facts div{padding:15px;border-radius:12px;background:#f3f4f6}.portfolio-note{padding:22px;border-left:4px solid currentColor;background:#f9fafb;border-radius:10px}@media(max-width:850px){.project-grid,.featured-project{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr 1fr}.project-card img{height:220px}}

/* Service-city call architecture 2026-08-30 */
.call-top{position:sticky;top:0;z-index:1100;background:#0b3d4a;text-align:center;padding:9px 12px}.call-top a{color:#fff;font-weight:900}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;color:var(--muted);font-size:.9rem}.breadcrumbs a{text-decoration:underline}.link-pills{display:flex;gap:9px;flex-wrap:wrap}.link-pills a{border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-weight:800}.local-matrix{background:var(--mist)}.location-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.location-links a{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;font-weight:900}.location-links span{color:var(--red)}.service-card h2{font-size:1.35rem}.inline-call{margin:24px 0;padding:20px;border-left:5px solid var(--red);background:#fff4e9;border-radius:12px;display:flex;gap:12px;flex-wrap:wrap}.inline-call a{color:#b61d1d;font-weight:900}.city-hero{padding:68px 0;background:linear-gradient(125deg,#fff4e9,#f7f9fc)}.city-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:36px;align-items:center}.city-hero h1{font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98;letter-spacing:-.05em;margin:18px 0}.estimate-panel{background:#171f2f;color:#fff;border-radius:24px;padding:28px}.estimate-panel p{color:#c8d0dd}.estimate-panel a:not(.button){color:#fff;font-weight:900}.local-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.local-detail{border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff}.local-detail p{color:var(--muted)}.mid-cta{background:#171f2f;color:#fff;border-radius:26px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:24px}.mid-cta p{color:#c8d0dd}.trust-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.trust-badges div{border:1px solid var(--line);border-radius:18px;padding:22px}.trust-badges strong{display:block;font-size:1.3rem}.trust-badges span{color:var(--muted)}.sticky-mobile-call{display:none}@media(max-width:900px){.city-hero-grid,.local-detail-grid{grid-template-columns:1fr}.location-links{grid-template-columns:1fr 1fr}.trust-badges{grid-template-columns:1fr 1fr}}@media(max-width:640px){.location-links,.trust-badges{grid-template-columns:1fr}.mid-cta{display:block}.mid-cta .button{margin-top:12px}.sticky-mobile-call{display:block;position:fixed;left:12px;right:12px;bottom:10px;z-index:3000;text-align:center;background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;padding:14px;border-radius:12px;font-weight:950;box-shadow:0 10px 30px rgba(0,0,0,.3)}footer{padding-bottom:100px}}
