:root{--ink:#171a1b;--paper:#f7f4ef;--white:#fff;--coral:#db654b;--sand:#e8dfd2;--muted:#636665;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.06;letter-spacing:-.045em;margin:0 0 .6em}h1{font-size:clamp(3rem,6.5vw,6.6rem);max-width:13ch}h2{font-size:clamp(2.3rem,4vw,4.7rem);max-width:16ch}h3{font-size:1.45rem}p{margin:0 0 1.4em}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:white;padding:.8rem}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,4rem);position:fixed;inset:0 0 auto;z-index:20;background:rgba(247,244,239,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,26,27,.08)}.brand{text-decoration:none;display:grid;line-height:.9;text-transform:uppercase;letter-spacing:.05em}.brand span{font-size:.68rem}.brand strong{font:700 1.3rem Manrope}.brand small{color:var(--coral);font-size:.6rem;margin-top:.35rem}nav{display:flex;align-items:center;gap:1.7rem}nav>a{text-decoration:none;font-size:.88rem;font-weight:600}nav>a:not(.button):hover,nav>a.active{color:var(--coral)}.button{border:0;display:inline-flex;align-items:center;justify-content:center;background:var(--coral);color:#fff;padding:1rem 1.35rem;text-decoration:none;font-weight:600;cursor:pointer;border-radius:2px}.button:hover{background:#bf4d37}.button.small{padding:.72rem 1rem}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);margin-top:2rem}.menu{display:none}.hero{min-height:760px;display:grid;grid-template-columns:1.02fr .98fr;padding-top:94px;background:var(--ink);color:#fff}.hero-copy{padding:clamp(4rem,9vw,8.5rem) clamp(1.5rem,6vw,7rem);display:flex;flex-direction:column;justify-content:center}.hero-media{min-height:600px;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover}.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:620px;color:#d7d8d6}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--coral);margin-bottom:1.4rem}.actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.text-link{background:0;border:0;padding:.5rem 0;color:inherit;font:600 1rem "DM Sans";text-decoration:none;cursor:pointer;border-bottom:1px solid currentColor}.text-link span{color:var(--coral);padding-left:.5rem}.section{padding:clamp(5rem,10vw,10rem) clamp(1.5rem,6vw,6rem)}.wrap{max-width:var(--max);margin:auto}.narrow{max-width:850px}.intro{font-size:clamp(1.15rem,2vw,1.6rem);max-width:780px;color:var(--muted);margin:0 0 4rem}.dark{background:var(--ink);color:#fff}.dark .intro,.dark .card p,.dark .fine{color:#b9bcba}.tint{background:var(--sand)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:4rem;border-top:1px solid #494c4c;padding-top:2rem}.stats strong{display:block;font:600 clamp(2.4rem,4vw,4.5rem) Manrope;color:#fff}.stats span{color:#c3c5c3}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d6d1c8;margin-top:4rem}.card{background:var(--paper);padding:2rem;min-height:260px}.dark .cards{background:#404344}.dark .card{background:#222526}.card-no{display:block;color:var(--coral);font-weight:700;margin-bottom:4rem}.card p{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.split img{width:100%;height:100%;min-height:620px;object-fit:cover}.split>div{padding:clamp(4rem,9vw,9rem);display:flex;flex-direction:column;justify-content:center}.feature{background:#fff}.guide{background:var(--sand)}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.price-grid article{background:var(--paper);border:1px solid #cfc7bb;padding:2rem;position:relative}.price-grid article strong,.package-list strong{font:600 1.6rem Manrope;color:var(--coral)}.price-grid .featured{background:var(--ink);color:#fff}.featured>span{position:absolute;top:0;right:0;background:var(--coral);padding:.4rem .7rem;font-size:.7rem;text-transform:uppercase}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.reviews blockquote{margin:0;background:#232627;padding:2.2rem;font-size:1.15rem}.reviews cite{display:block;margin-top:2rem;color:var(--coral);font-style:normal;font-size:.85rem}.fine{font-size:.8rem;margin-top:2rem}.faq details{border-top:1px solid #c9c4bb;padding:1.5rem 0}.faq summary{font:600 1.2rem Manrope;cursor:pointer}.faq details p{color:var(--muted);max-width:700px;margin-top:1rem}.footer-cta{background:var(--coral);color:white;padding:clamp(4rem,8vw,8rem) clamp(1.5rem,6vw,6rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.footer-cta .eyebrow{color:var(--ink)}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-size:.78rem;font-weight:600}input,select,textarea{width:100%;border:1px solid rgba(23,26,27,.24);background:#fff;padding:.9rem;font:inherit;color:var(--ink)}.mini-form{grid-template-columns:1fr 1fr}.mini-form .button{background:var(--ink);align-self:end}footer{background:#101213;color:#d9dbd9;padding:5rem clamp(1.5rem,6vw,6rem) 1.5rem}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.footer-grid a{color:inherit;text-decoration:none;margin:.2rem 0}.footer-grid p{color:#9fa2a0}.inverse{color:white;margin-bottom:2rem}.footer-bottom{max-width:var(--max);margin:4rem auto 0;border-top:1px solid #353839;padding-top:1.5rem;display:flex;justify-content:space-between;color:#888c89;font-size:.75rem}.guide-pill{position:fixed;right:1.2rem;bottom:1.2rem;z-index:15;background:var(--ink);color:white;text-decoration:none;padding:.8rem 1rem;border-radius:100px;font-size:.8rem;box-shadow:0 10px 30px #0004}dialog{border:0;padding:0;max-width:950px;width:calc(100% - 2rem);background:var(--paper);box-shadow:0 30px 100px #0007}dialog::backdrop{background:#101213cc}.modal-grid{display:grid;grid-template-columns:1fr 1fr}.modal-grid img{width:100%;height:100%;object-fit:cover}.modal-grid>div{padding:3.5rem}.modal-close{position:absolute;right:1rem;top:1rem;border:0;background:var(--ink);color:white;width:36px;height:36px;font-size:1.4rem;cursor:pointer}.callout{border-left:4px solid var(--coral);padding:2rem;background:#232627;max-width:700px}.projects,.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.projects article,.article-grid article{background:#fff;padding:1.5rem}.project-art{height:360px;display:grid;place-items:center;font:700 clamp(2rem,5vw,5rem) Manrope;letter-spacing:-.06em}.p1{background:#202224;color:#e6d7c6}.p2{background:#d5bb9d;color:#342820}.p3{background:#bcd8d2;color:#183d3b}.p4{background:#dc654c;color:#171a1b}.package-list{display:grid;gap:1rem}.package-list article{background:white;border-top:4px solid var(--ink);padding:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:1fr 1fr;column-gap:4rem}.package-list article ul{grid-column:2;grid-row:1/6}.package-list li{margin:.8rem 0}.quote-form{grid-template-columns:1fr 1fr;max-width:980px}.quote-form fieldset,.wide{grid-column:1/-1}.quote-form fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border:1px solid #cfc7bb;padding:1.5rem}.quote-form fieldset label{display:flex;align-items:center}.quote-form input[type=checkbox]{width:auto}.consent{display:flex;grid-template-columns:auto 1fr;align-items:center}.guide-form{max-width:650px}.reveal{animation:rise .8s ease both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}@media(max-width:1000px){nav{display:none;position:absolute;top:94px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu{display:block;border:0;background:transparent;font-weight:700}.hero,.split,.footer-cta{grid-template-columns:1fr}.hero-media{min-height:440px}.stats,.cards,.price-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.package-list article{grid-template-columns:1fr}.package-list article ul{grid-column:1;grid-row:auto}}@media(max-width:650px){h1{font-size:3rem}.hero{min-height:0}.hero-copy{padding-top:5rem}.stats,.cards,.price-grid,.reviews,.projects,.article-grid,.footer-grid,.mini-form,.quote-form,.modal-grid{grid-template-columns:1fr}.quote-form fieldset{grid-template-columns:1fr}.package-list article ul{padding-left:1.2rem}.footer-bottom{gap:1rem;flex-direction:column}.guide-pill{font-size:.7rem}.modal-grid img{display:none}}
