:root{--container:1320px;--bg:#f3f0f8;--surface:#fbf9fd;--surface-2:#e7e0f1;--text:#261d35;--muted:#62566f;--line:#cfc3dc;--accent:#725aa2;--accent-strong:#5c438d;--on-accent:#fbf9ff;--radius:14px;--header:72px;color-scheme:light dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Trebuchet MS",Arial,sans-serif;font-size:17px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;z-index:20;padding:10px 14px;background:var(--text);color:var(--bg);transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{height:var(--header);position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center}.brand{width:100px;height:62px;display:grid;place-items:center}.brand img{width:96px;height:59px;object-fit:contain}.nav-panel{display:flex;align-items:center;gap:30px}.nav-panel a{text-decoration:none;font-weight:800;font-size:15px}.nav-panel a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:5px}.nav-cta,.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:11px 21px;border:1px solid var(--accent-strong);border-radius:var(--radius);text-decoration:none;font-weight:800;white-space:nowrap;transition:transform .2s ease,background .2s ease}.nav-cta,.primary{background:var(--accent-strong);color:var(--on-accent)}.secondary{background:var(--surface);color:var(--text)}.nav-cta:hover,.button:hover{transform:translateY(-2px)}.nav-cta:active,.button:active{transform:translateY(1px)}.menu-toggle{display:none}.hero{height:82svh;min-height:720px;padding:40px 0}.hero-frame{height:100%;display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);align-items:stretch;gap:24px}.hero-copy,.hero-media{height:100%;min-width:0;border-radius:var(--radius)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,76px);background:var(--surface)}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:900;color:var(--accent-strong)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.07;letter-spacing:-.035em}h1{font-size:clamp(50px,5.5vw,82px);max-width:11ch;margin-bottom:24px}h2{font-size:clamp(38px,4vw,62px);max-width:14ch;margin-bottom:22px}h3{font-size:26px}.hero-lede{font-size:clamp(18px,1.7vw,23px);max-width:42ch;color:var(--muted);margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-media{margin:0;overflow:hidden;background:var(--surface-2);display:flex;flex-direction:column}.hero-media img{width:100%;height:100%;object-fit:cover}.intro-line{border-block:1px solid var(--line)}.intro-inner{display:grid;grid-template-columns:1fr 1fr 1fr}.intro-inner p{margin:0;padding:22px;text-align:center;border-right:1px solid var(--line);font-weight:800}.intro-inner p:last-child{border:0}.section{padding:clamp(88px,10vw,148px) 0}.section-heading{max-width:720px;margin-bottom:58px}.section-heading p{color:var(--muted);max-width:50ch}.service-layout{display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"home office" "work office" "window surface";gap:20px}.service-block{padding:38px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.service-block ul{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-block li{padding:12px 0;border-bottom:1px solid var(--line)}.service-block p{margin-bottom:0;color:var(--muted);max-width:48ch}.service-block.home{grid-area:home}.service-block.work{grid-area:work;background:var(--accent-strong);color:var(--on-accent)}.service-block.work li{border-color:color-mix(in srgb,var(--on-accent) 35%,transparent)}.service-block.surface{grid-area:surface}.service-photo{margin:0;overflow:hidden;border-radius:var(--radius);min-height:340px}.service-photo img{width:100%;height:100%;object-fit:cover}.service-photo.office{grid-area:office}.service-photo.window{grid-area:window}.process{background:var(--surface-2)}.process-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.process-copy p{color:var(--muted);max-width:38ch}.process-list{list-style:none;margin:0;padding:0;counter-reset:item}.process-list li{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}.process-list span{color:var(--muted)}.care-layout{display:flex;justify-content:space-between;gap:60px;align-items:flex-end}.care-layout p{max-width:58ch;color:var(--muted)}.text-link{font-weight:800;color:var(--accent-strong);text-underline-offset:5px}.contact{border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-intro p{color:var(--muted);max-width:44ch}.contact-details{font-style:normal;display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-details>div,.map-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.contact-details span,.map-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.contact-details a{font-weight:800}.map-card{grid-column:1/-1;text-decoration:none}.map-card strong,.map-card em{display:block}.map-card em{font-style:normal;color:var(--accent-strong);font-weight:800;margin-top:14px}.site-footer{padding:44px 0;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:.7fr .8fr 1.5fr;gap:40px;align-items:end}.footer-brand img{width:90px;height:56px;object-fit:contain}.footer-links{display:flex;flex-direction:column}.footer-note{text-align:right}.footer-note p{font-size:13px;color:var(--muted);margin:5px 0}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.js .reveal.visible{opacity:1;transform:none}.no-js .reveal{opacity:1;transform:none}@media(prefers-color-scheme:dark){:root{--bg:#171321;--surface:#211a2d;--surface-2:#2a2039;--text:#f4eff9;--muted:#c8bbd3;--line:#493b58;--accent:#a68bd0;--accent-strong:#b59ade;--on-accent:#1d1429}.hero-media{background:#211a2d}}@media(max-width:900px){.container{width:min(100% - 32px,var(--container))}.site-header{height:68px}.nav-panel{position:absolute;top:68px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:20px;background:var(--surface);border:1px solid var(--line)}.nav-panel.open{display:flex}.nav-panel a{padding:13px}.menu-toggle{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);font-weight:800}.menu-toggle i,.menu-toggle i:before{content:"";display:block;width:22px;height:2px;background:currentColor}.menu-toggle i:before{transform:translateY(6px)}.hero{height:auto;min-height:0;padding:24px 0 56px}.hero-frame{height:auto;grid-template-columns:1fr}.hero-copy{min-height:560px}.hero-copy,.hero-media{height:auto}.hero-media{aspect-ratio:1/1}.intro-inner,.process-layout,.contact-layout,.footer-main{grid-template-columns:1fr}.intro-inner p{border-right:0;border-bottom:1px solid var(--line);text-align:left;padding-inline:0}.service-layout{grid-template-columns:1fr;grid-template-areas:"home" "office" "work" "window" "surface"}.service-photo{min-height:440px}.process-layout,.contact-layout{gap:42px}.care-layout{display:block}.footer-main{gap:22px}.footer-note{text-align:left}}@media(max-width:560px){h1{font-size:46px}.hero-copy{min-height:520px;padding:30px}.hero-actions{flex-direction:column}.button{width:100%}.service-block{padding:28px}.service-block ul,.contact-details{grid-template-columns:1fr}.service-photo{min-height:340px}.process-list li{grid-template-columns:1fr;gap:6px}.map-card{grid-column:auto}.section{padding:76px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.button,.nav-cta{transition:none}}

