*,*::before,*::after{box-sizing:border-box}html{font-family:var(--font-body);background:var(--c-bg);color:var(--c-text);scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--c-bg);color:var(--c-text);line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}address{font-style:normal}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.06;letter-spacing:-.025em}h1{font-size:clamp(2.8rem,7vw,7rem)}h2{font-size:clamp(2rem,4vw,4.2rem)}h3{font-size:clamp(1.25rem,2vw,1.7rem)}p{max-width:68ch}.container{width:min(calc(100% - 2*var(--gutter)),var(--container));margin-inline:auto}.section{padding-block:var(--section-y)}.section--surface{background:var(--c-surface)}.section--alt{background:var(--c-surface-2)}.section--dark{background:var(--c-dark);color:var(--c-dark-text)}.eyebrow{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.lead{font-size:clamp(1.08rem,1.6vw,1.35rem);color:var(--c-muted)}.section--dark .lead{color:color-mix(in srgb,var(--c-dark-text) 72%,transparent)}.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.5rem;padding:.78rem 1.15rem;border:1px solid var(--c-dark);background:var(--c-dark);color:var(--c-dark-text);text-decoration:none;font-weight:700;letter-spacing:.02em;transition:transform .2s ease,background .2s ease,color .2s ease}.btn:hover{transform:translateY(-2px)}.btn--accent{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-contrast)}.btn--ghost{background:transparent;color:inherit}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.rule{border:0;border-top:1px solid var(--c-border);margin:2rem 0}.muted{color:var(--c-muted)}
.site-header{position:relative;z-index:50;border-bottom:1px solid var(--c-border);background:color-mix(in srgb,var(--c-bg) 94%,transparent);backdrop-filter:blur(12px)}.header-inner{height:var(--header-h);display:flex;align-items:center;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-display);font-size:1.25rem;font-weight:600;text-decoration:none;margin-right:auto}.brand-mark{width:.2rem;height:1.8rem;background:var(--c-accent);display:inline-block}.desktop-nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.7rem)}.desktop-nav a{text-decoration:none}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{text-decoration:underline}.header-phone{white-space:nowrap;text-decoration:none;font-weight:700}.menu-toggle{display:none;min-width:46px;min-height:46px;border:1px solid var(--c-border);background:transparent}.mobile-menu{border-top:1px solid var(--c-border);background:var(--c-bg)}.mobile-menu nav{display:grid;padding:1rem var(--gutter) 1.5rem;gap:.25rem}.mobile-menu a{padding:.8rem 0;text-decoration:none;border-bottom:1px solid var(--c-border)}
.hero{min-height:min(88svh,920px);display:grid;align-items:stretch}.hero--split{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}.hero__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8rem) max(var(--gutter),calc((100vw - var(--container))/2));padding-right:clamp(2rem,5vw,6rem)}.hero__copy h1{max-width:12ch}.hero__media{min-height:52svh;overflow:hidden}.hero__media img{width:100%;height:100%;object-fit:cover}.hero--fullbleed{position:relative;min-height:88svh;color:#fff}.hero--fullbleed .hero__media{position:absolute;inset:0}.hero--fullbleed .hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.08))}.hero--fullbleed .hero__copy{position:relative;z-index:1;width:min(100%,var(--container));margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.hero--editorial{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);background:var(--c-surface)}.hero--minimal{min-height:64svh}.hero--minimal .hero__media{display:none}.hero--minimal .hero__copy{width:min(100%,var(--container));margin:auto;padding-inline:var(--gutter)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:center}.split img{width:100%;aspect-ratio:4/3;object-fit:cover}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:2rem;align-items:end;margin-bottom:clamp(2rem,5vw,4.5rem)}.section-head h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{background:var(--c-surface);border:1px solid var(--c-border);padding:clamp(1.3rem,2.5vw,2.2rem)}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1.4rem}.card .num{font-size:.72rem;letter-spacing:.14em}.service-list{display:grid;border-top:1px solid var(--c-border)}.service-row{display:grid;grid-template-columns:7rem 1fr minmax(220px,.55fr);gap:2rem;padding:2rem 0;border-bottom:1px solid var(--c-border);align-items:start;text-decoration:none}.service-row h3{margin-bottom:.4rem}.service-row img{aspect-ratio:4/3;object-fit:cover}.services--mosaic{grid-template-columns:1.2fr .8fr}.services--mosaic .card:first-child{grid-row:span 2}.services--mosaic .card:first-child img{aspect-ratio:4/5}
.page-hero{padding:clamp(4rem,8vw,8rem) 0 clamp(3rem,6vw,6rem);border-bottom:1px solid var(--c-border)}.page-hero h1{max-width:14ch}.breadcrumbs{font-size:.85rem;color:var(--c-muted);margin-bottom:2rem}.prose{font-size:1.04rem}.prose h2{margin-top:3.5rem}.prose p+ p{margin-top:1.2rem}.content-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,8vw,8rem)}.content-aside{position:sticky;top:calc(var(--header-h) + 2rem);align-self:start}.content-aside img{aspect-ratio:4/5;object-fit:cover}.steps{display:grid;gap:0;border-top:1px solid var(--c-border)}.step{display:grid;grid-template-columns:6rem .6fr 1fr;gap:2rem;padding:1.7rem 0;border-bottom:1px solid var(--c-border)}.step__n{font-family:var(--font-display);font-size:1.5rem}.process--cards{grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:1rem}.process--cards .step{display:block;border:1px solid var(--c-border);padding:1.7rem}.process--cards .step__n{display:block;margin-bottom:2.5rem}.process--split .step{grid-template-columns:5rem 1fr}
.inspiration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.inspiration-item{margin:0}.inspiration-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.inspiration-item figcaption{padding:1rem 0 2rem}.inspiration--editorial .inspiration-item:nth-child(even){margin-top:clamp(2rem,7vw,7rem)}.inspiration--strip{display:flex;overflow:auto;scroll-snap-type:x mandatory}.inspiration--strip .inspiration-item{min-width:min(76vw,680px);scroll-snap-align:start;margin-right:1rem}
.faq-list{border-top:1px solid var(--c-border)}.faq-item{border-bottom:1px solid var(--c-border)}.faq-q{width:100%;display:flex;justify-content:space-between;gap:1rem;align-items:center;text-align:left;padding:1.3rem 0;border:0;background:transparent;font-family:var(--font-display);font-size:1.25rem}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-a>div{overflow:hidden}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a p{padding-bottom:1.3rem}
.contact-section{padding-block:var(--section-y)}.contact-shell{display:grid;grid-template-columns:var(--contact-left,.9fr) var(--contact-right,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}.contact-meta{padding-top:1rem}.contact-meta dl{margin:2rem 0}.contact-meta dl>div{display:grid;grid-template-columns:minmax(110px,.45fr) 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--c-border)}.contact-meta dt{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}.contact-meta dd{margin:0;text-align:right}.contact-note{margin-top:2.5rem;padding:1.5rem;border-left:3px solid var(--c-dark);background:var(--c-surface-2)}.contact-note h3{font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.lead-form{background:var(--c-surface);border:1px solid var(--c-border);padding:clamp(1.4rem,4vw,3rem);box-shadow:var(--shadow-card)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:grid;gap:.4rem}.field--full{grid-column:1/-1}.field label{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--c-muted)}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--c-border);background:color-mix(in srgb,var(--c-bg) 55%,white);padding:.9rem .2rem;border-radius:0}.field textarea{min-height:145px;resize:vertical}.field [aria-invalid=true]{border-color:#9c1f1f}.field-error{min-height:1.2em;font-size:.8rem;color:#8a1919}.form-privacy{font-size:.82rem;color:var(--c-muted);margin:1.2rem 0}.form-status{min-height:1.4em;font-size:.9rem}.form-fallback{margin-top:1rem;padding:1rem;background:var(--c-surface-2)}
.legal{max-width:850px}.legal h2{font-size:clamp(1.6rem,3vw,2.6rem);margin-top:3rem}.legal table{border-collapse:collapse;width:100%;font-size:.92rem}.legal th,.legal td{padding:.9rem;border:1px solid var(--c-border);text-align:left;vertical-align:top}.table-scroll{overflow:auto}
.site-footer{padding:clamp(3rem,7vw,6rem) 0 2rem;background:var(--c-dark);color:var(--c-dark-text)}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr .9fr;gap:2rem}.footer-grid h2{font-size:1.2rem}.footer-grid a{display:block;margin:.45rem 0;color:inherit}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:2rem;margin-top:3rem;border-top:1px solid color-mix(in srgb,var(--c-dark-text) 18%,transparent);font-size:.82rem}.footer--editorial .footer-grid{grid-template-columns:1.7fr .65fr .65fr}.footer--compact .footer-grid{grid-template-columns:1fr 1fr}.cookie-banner{position:fixed;z-index:1000;left:1rem;right:1rem;bottom:1rem;max-width:760px;margin-inline:auto;background:var(--c-dark);color:var(--c-dark-text);padding:1.25rem;box-shadow:0 18px 60px rgba(0,0,0,.24)}.cookie-banner[hidden]{display:none}.cookie-banner h2{font-size:1.4rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:.6rem}.cookie-actions button{min-height:44px}.cookie-settings{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.cookie-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0}.cookie-row input{width:20px;height:20px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.desktop-nav,.header-phone{display:none}.menu-toggle{display:inline-grid;place-items:center}.hero--split,.hero--editorial,.split,.content-grid,.contact-shell{grid-template-columns:1fr}.hero__copy{padding-inline:var(--gutter)}.hero__media{min-height:46svh}.content-aside{position:static}.cards{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:4rem 1fr}.service-row img{grid-column:2}.step{grid-template-columns:4rem 1fr}.step>p{grid-column:2}.process--cards{grid-template-columns:1fr 1fr}.contact-meta dl>div{grid-template-columns:1fr}.contact-meta dd{text-align:left}}
@media(max-width:600px){h1{font-size:clamp(2.55rem,14vw,4.5rem)}.cards,.process--cards,.inspiration-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.hero{min-height:auto}.hero__copy{padding-block:4.5rem}.service-row{grid-template-columns:1fr;gap:.6rem}.service-row img{grid-column:auto}.step{grid-template-columns:1fr;gap:.5rem}.step>p{grid-column:auto}.footer-bottom{display:grid}.contact-meta dd{overflow-wrap:anywhere}.legal table{min-width:620px}}
