
:root{
  --ink:#13231c;
  --forest:#2f5b49;
  --lime:#d8ef54;
  --chalk:#f3f0e8;
  --paper:#fbfaf6;
  --clay:#c97859;
  --mist:#dfe8e2;
  --line:rgba(19,35,28,.16);
  --line-strong:rgba(19,35,28,.38);
  --shadow:0 26px 70px rgba(20,34,27,.12);
  --radius:30px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--chalk);font-family:"Manrope",system-ui,sans-serif;line-height:1.65;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background-image:radial-gradient(rgba(19,35,28,.05) .7px, transparent .7px);background-size:5px 5px;mix-blend-mode:multiply;opacity:.24}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 34px));margin:auto}.section{padding:100px 0}.section.tight{padding:72px 0}
.display,.title,.card-title{font-family:"Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.055em}
.display{font-size:clamp(3.6rem,8vw,8.2rem);line-height:.84;margin:22px 0 26px;max-width:980px}.title{font-size:clamp(2.45rem,5vw,5rem);line-height:.94;margin:14px 0 20px}.card-title{font-size:1.45rem;line-height:1.05;margin:16px 0 10px}
.lead{font-size:clamp(1.04rem,1.5vw,1.22rem);color:#516058;max-width:760px}.muted{color:#65736b}.mono{font-family:"DM Mono",monospace;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"DM Mono",monospace;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--forest)}.eyebrow::before{content:"";width:36px;height:2px;background:var(--lime);box-shadow:14px 0 0 var(--forest)}
.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:1px solid var(--ink);border-radius:999px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;font-weight:800;transition:.25s ease;cursor:pointer}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(19,35,28,.12)}.btn.primary{background:var(--ink);color:white}.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}.btn.soft{background:rgba(255,255,255,.7);border-color:var(--line)}
.topline{background:var(--ink);color:#dfe9e2}.topline-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:auto;white-space:nowrap}.topline-list{display:flex;gap:22px;font-family:"DM Mono",monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:50;background:rgba(243,240,232,.84);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:50% 50% 40% 40%;background:var(--lime);display:grid;place-items:center;position:relative;overflow:hidden}.brand-mark::after{content:"";position:absolute;width:18px;height:36px;border-radius:70% 30% 60% 40%;background:var(--forest);transform:rotate(30deg)}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-family:"Bricolage Grotesque",sans-serif;font-size:1.06rem;letter-spacing:-.04em}.brand-copy span{font-family:"DM Mono",monospace;font-size:.67rem;color:#66736c;margin-top:5px}
.nav{display:flex;align-items:center;gap:4px}.nav a{padding:10px 12px;border-radius:999px;font-weight:750;font-size:.93rem}.nav a:hover,.nav a.active{background:white}.header-actions{display:flex;align-items:center;gap:10px}.menu-toggle{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:white;font-size:1.3rem}
.hero{padding:44px 0 70px;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}.hero-copy{padding:36px 0 0}.hero-visual{position:relative;min-height:680px;border-radius:36px 36px 140px 36px;overflow:hidden;background:var(--mist);box-shadow:var(--shadow)}.hero-visual img{width:100%;height:100%;min-height:680px;object-fit:cover}.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(19,35,28,.5));pointer-events:none}.hero-note{position:absolute;left:22px;bottom:22px;right:22px;z-index:2;background:rgba(251,250,246,.9);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);padding:18px;border-radius:24px;display:flex;justify-content:space-between;gap:20px;align-items:end}.hero-note strong{font-family:"Bricolage Grotesque",sans-serif;font-size:1.5rem;letter-spacing:-.04em}.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.chip{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.55);font-family:"DM Mono",monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.signal{padding:18px;border-top:1px solid var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.35),transparent)}.signal strong{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:2rem;letter-spacing:-.05em;margin-bottom:4px}
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--paper)}.marquee-track{display:flex;gap:34px;min-width:max-content;padding:17px 0;animation:marquee 26s linear infinite;font-family:"DM Mono",monospace;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}.marquee-track span{display:flex;align-items:center;gap:34px}.marquee-track span::after{content:"✦";color:var(--clay)}@keyframes marquee{to{transform:translateX(-50%)}}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head>*{max-width:760px}.cards{display:grid;gap:16px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card,.price-card,.info-card,.form-card,.legal-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden}.service-card{min-height:280px;display:flex;flex-direction:column}.service-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:var(--lime);right:-68px;bottom:-72px;transition:.35s ease}.service-card:hover::after{transform:scale(1.4)}.service-card i{font-size:1.7rem;color:var(--forest)}.service-card p{color:#68756e}.service-card a{margin-top:auto;font-weight:800;display:inline-flex;align-items:center;gap:8px}.service-card a i{font-size:1rem}.price-card .price{font-family:"Bricolage Grotesque",sans-serif;font-size:2.3rem;letter-spacing:-.05em;margin:14px 0}.price-tag{font-family:"DM Mono",monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;background:var(--lime);padding:7px 10px;border-radius:999px;display:inline-flex}
.editorial-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:start}.editorial-image{border-radius:36px;overflow:hidden;min-height:620px;position:sticky;top:110px}.editorial-image img{width:100%;height:100%;min-height:620px;object-fit:cover}.editorial-copy{padding:18px 0}.steps{display:grid;gap:12px;margin-top:30px}.step{display:grid;grid-template-columns:66px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.step-number{font-family:"DM Mono",monospace;color:var(--clay)}.step h3{font-family:"Bricolage Grotesque",sans-serif;font-size:1.4rem;letter-spacing:-.04em;margin:0 0 7px}
.reveal-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center}.clarity-reveal{position:relative;border-radius:40px;overflow:hidden;min-height:590px;box-shadow:var(--shadow);background:#cfd8d2}.clarity-reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.clarity-reveal .before{filter:blur(8px) saturate(.55);transform:scale(1.03)}.clarity-reveal .after{clip-path:inset(0 50% 0 0)}.clarity-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--lime);box-shadow:0 0 0 1px rgba(19,35,28,.25)}.clarity-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:var(--ink);font-size:1.3rem;box-shadow:0 10px 30px rgba(19,35,28,.25)}.clarity-range{position:absolute;inset:0;opacity:0;cursor:ew-resize;width:100%;height:100%}.clarity-label{position:absolute;top:18px;padding:8px 10px;border-radius:999px;background:rgba(19,35,28,.82);color:white;font-family:"DM Mono",monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.clarity-label.left{left:18px}.clarity-label.right{right:18px}
.photo-rail{position:relative}.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,42vw);gap:16px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail figure{margin:0;scroll-snap-align:start;position:relative;min-height:480px;border-radius:30px;overflow:hidden}.rail img{width:100%;height:100%;min-height:480px;object-fit:cover}.rail figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(251,250,246,.88);backdrop-filter:blur(12px);border-radius:18px;padding:14px;font-weight:750}.rail-controls{display:flex;gap:10px;margin-top:16px}.rail-controls button{width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:transparent;cursor:pointer}
.estimator{display:grid;grid-template-columns:.95fr 1.05fr;gap:22px}.estimator-panel,.estimate-output{background:var(--ink);color:white;border-radius:34px;padding:28px}.estimate-output{background:var(--lime);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;min-height:430px}.field-grid{display:grid;gap:15px;margin-top:22px}.field{display:grid;gap:8px}.field label{font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.08);color:white;padding:14px 15px}.form-card .field input,.form-card .field select,.form-card .field textarea{background:white;color:var(--ink);border-color:var(--line)}.field select option{color:var(--ink)}.field textarea{min-height:160px;resize:vertical}.estimate-price{font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(3.5rem,8vw,7rem);line-height:.9;letter-spacing:-.07em}.estimate-note{max-width:520px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}
.page-hero{padding:70px 0 44px}.page-hero-grid{display:grid;grid-template-columns:1fr .75fr;gap:30px;align-items:end}.page-media{border-radius:34px;overflow:hidden;max-height:520px}.page-media img{width:100%;height:520px;object-fit:cover}.breadcrumb{font-family:"DM Mono",monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#6c786f;display:flex;gap:9px}
.quote-band{background:var(--forest);color:white;border-radius:42px;padding:42px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.quote-band .title{margin:0}.quote-band .lead{color:#dbe6df}.quote-band .btn{border-color:white;color:white}.quote-band .btn.lime{color:var(--ink);border-color:var(--lime)}
.faq{display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:22px;background:var(--paper);overflow:hidden}.faq-question{width:100%;border:0;background:transparent;padding:20px;text-align:left;display:flex;justify-content:space-between;gap:20px;font-weight:850;cursor:pointer}.faq-answer{display:grid;grid-template-rows:0fr;transition:.3s ease}.faq-answer>div{overflow:hidden}.faq-answer p{padding:0 20px 20px;margin:0;color:#657169}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-question i{transform:rotate(45deg)}
.company-grid,.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}.data-list{display:grid;gap:0}.data-row{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.data-row dt{font-family:"DM Mono",monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#6a776e}.data-row dd{margin:0;font-weight:750}.map{border-radius:28px;overflow:hidden;border:1px solid var(--line);min-height:420px}.map iframe{width:100%;height:420px;border:0}.contact-list{display:grid;gap:10px}.contact-item{padding:16px;border-radius:18px;background:white;border:1px solid var(--line)}
.site-footer{padding:50px 0 30px;background:var(--ink);color:#dce6e0;margin-top:80px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px}.footer-grid h3{font-family:"Bricolage Grotesque",sans-serif;color:white}.footer-links{display:grid;gap:10px}.footer-links a,.footer-links span{color:#b7c7bd}.footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cookie{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:90}.cookie.show{display:block}.cookie-card{max-width:760px;margin:auto;background:rgba(251,250,246,.96);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:18px;align-items:center}
[data-reveal]{opacity:0;transform:translateY(28px)}.hidden{display:none!important}
@media(max-width:1050px){.hero-grid,.editorial-split,.reveal-shell,.estimator,.page-hero-grid,.company-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.hero-visual,.hero-visual img{min-height:560px}.editorial-image{position:relative;top:auto;min-height:520px}.editorial-image img{min-height:520px}.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-band{grid-template-columns:1fr}.rail{grid-auto-columns:minmax(300px,72vw)}}
@media(max-width:820px){.section{padding:76px 0}.topline-inner{min-height:34px}.topline-list:last-child{display:none}.menu-toggle{display:grid;place-items:center}.nav{display:none;position:absolute;left:16px;right:16px;top:92px;background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:14px;box-shadow:var(--shadow)}.nav.open{display:grid}.header-actions>.btn{display:none}.display{font-size:clamp(3.2rem,17vw,5.4rem)}.hero{padding-top:20px}.hero-copy{padding-top:14px}.hero-visual,.hero-visual img{min-height:480px}.hero-note{display:block}.signal-grid,.cards.three,.cards.four,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.section-head{display:block}.section-head .lead{margin-top:18px}.rail{grid-auto-columns:88vw}.rail figure,.rail img{min-height:420px}.clarity-reveal{min-height:500px}.quote-band{padding:28px}.data-row{grid-template-columns:1fr;gap:6px}.footer-bottom{display:block}.cookie-card{display:block}.cookie-card .btn{margin-top:12px;width:100%}}
