@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Oswald:wght@500;600;700&display=swap');

:root{
  --yellow:#f2b705;
  --yellow-bright:#ffc400;
  --ink:#0a0a0a;
  --ink-2:#141414;
  --paper:#f2f0ea;
  --paper-2:#e8e5de;
  --muted:#6e6b65;
  --line:rgba(10,10,10,.16);
  --header-h:78px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);overflow-x:hidden}
body.menu-open,body.modal-open,body.fog-active{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
::selection{background:var(--yellow);color:var(--ink)}

.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}
.cursor-dot{position:fixed;width:12px;height:12px;border-radius:50%;background:var(--yellow);z-index:110;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:multiply;opacity:0;transition:width .2s,height .2s,opacity .2s}
@media(hover:hover){body:hover .cursor-dot{opacity:.9}a:hover~.cursor-dot,.btn:hover~.cursor-dot{width:24px;height:24px}}

.site-header{height:var(--header-h);position:fixed;inset:0 0 auto;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,72px);border-bottom:1px solid rgba(10,10,10,.08);background:rgba(242,240,234,.78);backdrop-filter:blur(14px);transition:background .35s,color .35s,border-color .35s}
.site-header.dark-header{background:rgba(10,10,10,.82);color:#fff;border-color:rgba(255,255,255,.12)}
.brand{display:flex;align-items:center;gap:12px;min-width:195px}
.brand-mark{width:42px;height:42px;background:var(--ink);color:var(--yellow);display:grid;place-items:center;font-family:Oswald,sans-serif;font-size:27px;font-weight:700;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}
.dark-header .brand-mark{background:#fff;color:var(--ink)}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy b{font-family:Oswald,sans-serif;font-size:20px;letter-spacing:1px}
.brand-copy small{text-transform:uppercase;font-size:8px;letter-spacing:1.7px;margin-top:5px;opacity:.58}
.desktop-nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px);font-size:13px;font-weight:600}
.desktop-nav a{position:relative;padding:28px 0}
.desktop-nav a::after{content:"";position:absolute;height:3px;background:var(--yellow);left:0;right:100%;bottom:16px;transition:right .28s ease}
.desktop-nav a:hover::after{right:0}
.header-actions{display:flex;align-items:center;gap:24px}.phone{font-size:13px;font-weight:700;white-space:nowrap}
.menu-btn{width:44px;height:44px;border:0;background:transparent;display:none;place-items:center;padding:0;position:relative;color:inherit}
.menu-btn span{position:absolute;width:27px;height:2px;background:currentColor;transition:transform .3s,top .3s}.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:25px}.menu-btn.active span:first-child{top:21px;transform:rotate(45deg)}.menu-btn.active span:last-child{top:21px;transform:rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:60;background:var(--yellow);transform:translateY(-100%);transition:transform .65s cubic-bezier(.76,0,.24,1);padding:calc(var(--header-h) + 32px) clamp(24px,7vw,80px) 36px;visibility:hidden}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu-inner{height:100%;display:flex;flex-direction:column}.mobile-index{font-size:11px;letter-spacing:2px;opacity:.6;margin-bottom:auto}
.mobile-menu nav{display:flex;flex-direction:column}.menu-link{font-family:Oswald,sans-serif;font-size:clamp(42px,11vw,86px);font-weight:600;line-height:1.02;text-transform:uppercase;border-bottom:1px solid rgba(0,0,0,.25);padding:8px 0;display:flex;gap:18px;align-items:flex-start}
.menu-link span{font:600 11px Manrope,sans-serif;padding-top:12px}.mobile-menu-bottom{margin-top:auto;display:flex;justify-content:space-between;font-size:12px;font-weight:700}

.hero{min-height:100svh;padding:calc(var(--header-h) + 60px) clamp(22px,4vw,72px) 48px;display:grid;grid-template-columns:minmax(430px,.84fr) minmax(520px,1.16fr);align-items:center;gap:10px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 48%,rgba(242,183,5,.13),transparent 26%),linear-gradient(135deg,#f5f3ee,#ece9e1)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.035) 1px,transparent 1px),linear-gradient(rgba(10,10,10,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to right,rgba(0,0,0,.5),transparent 78%)}
.hero-copy{position:relative;z-index:5;max-width:680px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1.5px;display:flex;align-items:center;gap:10px;margin-bottom:20px}.eyebrow>span{width:34px;height:3px;background:var(--yellow);display:inline-block}.eyebrow.yellow{color:var(--yellow)}.eyebrow.dark>span{background:var(--ink)}
.hero h1,.section-head h2,.statement h2,.calc-copy h2,.process-head h2,.contact-copy h2,.lead-modal-card h2{font-family:Oswald,sans-serif;font-weight:700;letter-spacing:-.035em;text-transform:uppercase;margin:0;line-height:.92}
.hero h1{font-size:clamp(62px,7.25vw,138px);max-width:760px}.hero h1 em,.section-head h2 em,.statement h2 em,.calc-copy h2 em,.process-head h2 em,.contact-copy h2 em,.lead-modal-card h2 em{font-style:normal;color:var(--yellow)}
.hero-lead{max-width:560px;font-size:clamp(15px,1.3vw,19px);line-height:1.6;color:#4f4d48;margin:30px 0 32px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.btn{min-height:54px;padding:0 24px;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:18px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.5px;transition:transform .2s,background .2s,color .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-yellow{background:var(--yellow);border-color:var(--yellow);color:var(--ink);box-shadow:6px 6px 0 rgba(10,10,10,.09)}.btn-yellow:hover{background:var(--yellow-bright);box-shadow:8px 8px 0 rgba(10,10,10,.13)}.btn-outline{background:rgba(255,255,255,.2)}.btn-black{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);margin-top:42px;padding-top:20px}.hero-meta div{display:flex;flex-direction:column}.hero-meta strong{font-family:Oswald;font-size:24px}.hero-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#77736c;margin-top:4px}

.hero-scene{position:relative;height:min(72vw,770px);min-height:560px;z-index:3;transform:translateX(3vw);isolation:isolate}.parallax-layer{position:absolute;will-change:transform;transition:transform .12s linear;pointer-events:none}.layer-plan{width:112%;right:-11%;top:3%;opacity:.14;filter:contrast(1.5);mix-blend-mode:multiply}.layer-brush{width:92%;right:-5%;top:34%;opacity:.92;transform:rotate(-5deg)}.hero-glow{width:48%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,196,0,.7),rgba(255,196,0,0) 68%);right:17%;top:26%;filter:blur(35px);opacity:.34}.layer-room{width:112%;right:-7%;bottom:9%;filter:drop-shadow(0 30px 30px rgba(0,0,0,.16));z-index:2}.layer-front{width:81%;left:-2%;bottom:0;z-index:4;filter:drop-shadow(0 25px 22px rgba(0,0,0,.22));transform-origin:bottom center}.scene-label{right:2%;bottom:12%;z-index:6;background:var(--ink);color:#fff;padding:17px 21px;min-width:175px;border-left:5px solid var(--yellow);display:flex;flex-direction:column;box-shadow:12px 12px 0 rgba(242,183,5,.8)}.scene-label b{font-family:Oswald;font-size:24px}.scene-label span{font-size:11px;font-weight:700;margin-top:3px}.scene-label small{font-size:9px;text-transform:uppercase;opacity:.58;margin-top:5px;letter-spacing:1px}
.scroll-cue{position:absolute;right:38px;bottom:30px;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;font-weight:700}.scroll-cue i{display:block;width:1px;height:55px;background:linear-gradient(var(--ink),transparent);animation:scrollPulse 1.5s infinite}@keyframes scrollPulse{0%,100%{transform:scaleY(.5);transform-origin:top}50%{transform:scaleY(1)}}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 clamp(22px,4vw,72px)}.trust-item{display:flex;align-items:center;gap:18px;padding:28px 22px;border-right:1px solid var(--line)}.trust-item:first-child{border-left:1px solid var(--line)}.trust-icon{font-family:Oswald;font-size:30px}.trust-item div{display:flex;flex-direction:column}.trust-item b{font-size:11px;text-transform:uppercase}.trust-item small{font-size:10px;color:#7b7770;margin-top:5px}

.projects,.compare,.process,.reviews{padding:clamp(90px,9vw,150px) clamp(22px,4vw,72px);background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.section-head h2,.process-head h2{font-size:clamp(50px,6vw,104px)}.section-head>p{max-width:410px;color:#6c6963;line-height:1.6;font-size:14px}.section-head.compact{align-items:center}.project-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid var(--line);background:transparent;padding:10px 14px;text-transform:uppercase;font-weight:700;font-size:10px}.filter.active,.filter:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 18px}.project-card{transition:opacity .35s,transform .35s}.project-card.hidden{display:none}.project-card.project-wide{grid-column:span 2}.project-media{height:clamp(320px,34vw,610px);overflow:hidden;background:#ddd;position:relative}.project-wide .project-media{height:clamp(390px,43vw,740px)}.project-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03);transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}.project-paint{position:absolute;inset:auto -10% -25% -10%;height:42%;background:url('assets/yellow-brush.png') center/100% 100% no-repeat;opacity:0;transform:translateY(45%);transition:opacity .3s,transform .5s;mix-blend-mode:multiply}.project-card:hover .project-media img{transform:scale(1.035);filter:saturate(1) contrast(1.05)}.project-card:hover .project-paint{opacity:.7;transform:translateY(0)}.project-info{display:grid;grid-template-columns:44px 1fr 32px;gap:12px;padding-top:15px;align-items:center;border-top:4px solid var(--ink)}.project-info>span{font:600 12px Oswald;color:#777}.project-info h3{font:600 clamp(22px,2.3vw,38px) Oswald;margin:0;text-transform:uppercase}.project-info p{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#777;margin:4px 0 0}.project-info>b{font-size:24px;transition:transform .25s}.project-card:hover .project-info>b{transform:translate(5px,-5px)}

.section-dark{background:var(--ink);color:#fff;position:relative;overflow:hidden}.statement{padding:clamp(100px,10vw,170px) clamp(22px,4vw,72px)}.statement-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;position:relative;z-index:2}.statement h2{font-size:clamp(56px,7.3vw,124px)}.statement h2 em{display:inline-block}.statement p{max-width:620px;font-size:15px;line-height:1.7;color:#aaa;margin:30px 0}.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--yellow);padding-bottom:8px;text-transform:uppercase;font-size:11px;font-weight:700;color:var(--yellow)}.statement-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.15);align-self:end}.statement-stats div{padding:35px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);min-height:180px;display:flex;flex-direction:column;justify-content:flex-end}.statement-stats div:nth-child(even){border-right:0}.statement-stats div:nth-last-child(-n+2){border-bottom:0}.statement-stats b{font:700 clamp(50px,6vw,92px) Oswald;color:var(--yellow);line-height:.8}.statement-stats small{text-transform:uppercase;font-size:9px;letter-spacing:.9px;color:#aaa;margin-top:20px}.statement-plan{position:absolute;right:-14%;top:-15%;width:75%;opacity:.035;filter:invert(1);transform:rotate(-8deg)}

.compare-box{height:clamp(430px,62vw,800px);position:relative;overflow:hidden;background:#ccc;cursor:ew-resize;user-select:none;touch-action:none}.compare-box img{width:100%;height:100%;object-fit:cover;pointer-events:none}.compare-base{filter:grayscale(.55) brightness(.9)}.compare-after{position:absolute;inset:0 auto 0 0;width:52%;overflow:hidden;border-right:3px solid var(--yellow)}.compare-after img{width:100vw;max-width:none;height:100%;object-fit:cover;object-position:center}.compare-line{position:absolute;top:0;bottom:0;left:52%;width:0;pointer-events:none}.compare-line button{pointer-events:none;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;border:3px solid var(--yellow);background:var(--ink);color:var(--yellow);font-size:22px}.compare-tag{position:absolute;top:20px;background:rgba(10,10,10,.78);color:#fff;padding:8px 12px;font:700 10px Manrope;letter-spacing:1px}.compare-tag.before{left:20px}.compare-tag.after{right:20px;background:var(--yellow);color:var(--ink)}

.services{padding:clamp(100px,10vw,160px) clamp(22px,4vw,72px)}.section-head.inverse p{color:#9d9d9d}.service-list{border-top:1px solid rgba(255,255,255,.18)}.service-list article{display:grid;grid-template-columns:70px minmax(240px,.6fr) 1fr 150px;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.18);transition:background .3s,padding .3s}.service-list article:hover{background:rgba(242,183,5,.08);padding-left:16px;padding-right:16px}.service-list span{font:600 13px Oswald;color:var(--yellow)}.service-list h3{font:600 clamp(28px,3vw,48px) Oswald;text-transform:uppercase;margin:0}.service-list p{font-size:13px;line-height:1.6;color:#aaa;margin:0;max-width:560px}.service-list i{font-style:normal;font-size:10px;text-transform:uppercase;color:var(--yellow);text-align:right}

.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.process-head{position:sticky;top:130px;align-self:start}.timeline{position:relative}.timeline::before{content:"";position:absolute;left:29px;top:0;bottom:0;width:2px;background:#d5d1c9}.timeline-progress{position:absolute;left:29px;top:0;width:2px;height:0;background:var(--yellow);z-index:1}.timeline article{min-height:170px;display:grid;grid-template-columns:60px 1fr 90px;gap:22px;padding:24px 0 40px;border-bottom:1px solid var(--line);position:relative}.timeline article>span{position:relative;z-index:2;width:60px;height:60px;border-radius:50%;background:var(--paper);border:2px solid #c9c5bc;display:grid;place-items:center;font:600 17px Oswald;transition:background .3s,border .3s}.timeline article.active>span{background:var(--yellow);border-color:var(--yellow)}.timeline h3{font:600 clamp(28px,3vw,48px) Oswald;text-transform:uppercase;margin:0 0 8px}.timeline p{margin:0;color:#706d66;font-size:13px;line-height:1.65;max-width:520px}.timeline small{text-align:right;text-transform:uppercase;font-size:9px;letter-spacing:1px;color:#777;padding-top:10px}

.section-yellow{background:var(--yellow);color:var(--ink)}.calculator{padding:clamp(85px,9vw,140px) clamp(22px,4vw,72px)}.calculator-wrap{display:grid;grid-template-columns:.88fr 1.12fr;gap:7vw;align-items:start}.calc-copy{position:sticky;top:125px}.calc-copy h2{font-size:clamp(58px,6.7vw,112px)}.calc-copy h2 em{color:var(--ink);-webkit-text-stroke:2px var(--ink);color:transparent}.calc-copy p{max-width:530px;font-size:14px;line-height:1.7;margin-top:28px}.calc-card{background:#f6f3eb;padding:clamp(26px,3.5vw,56px);box-shadow:15px 15px 0 rgba(10,10,10,.18)}.range-label{display:flex;justify-content:space-between;align-items:flex-end;text-transform:uppercase;font-size:11px;font-weight:700}.range-label b{font:600 36px Oswald}.calc-card input[type=range]{width:100%;accent-color:var(--ink);margin:18px 0 34px;height:4px}.calc-card fieldset{border:0;padding:0;margin:0 0 28px}.calc-card legend{text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.7px;margin-bottom:12px}.choice{display:inline-flex;margin:0 7px 8px 0}.choice input{position:absolute;opacity:0}.choice span{border:1px solid #b9b5ad;padding:11px 14px;font-size:11px;font-weight:700;text-transform:uppercase}.choice input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.check{display:flex;align-items:center;gap:10px;font-size:12px;margin:12px 0;cursor:pointer}.check input{position:absolute;opacity:0}.check>span{width:22px;height:22px;border:1px solid #aaa;position:relative}.check input:checked+span{background:var(--yellow);border-color:var(--yellow)}.check input:checked+span::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-weight:900}.calc-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:30px 0;display:flex;flex-direction:column}.calc-total>span{text-transform:uppercase;font-size:9px;letter-spacing:1px}.calc-total strong{font:700 clamp(42px,5vw,76px) Oswald;margin:5px 0}.calc-total small{font-size:9px;color:#777}

.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reviews-grid article{border:1px solid var(--line);padding:clamp(24px,3vw,45px);min-height:390px;display:flex;flex-direction:column;background:#f7f5ef;transition:transform .3s,box-shadow .3s}.reviews-grid article:hover{transform:translateY(-7px);box-shadow:12px 12px 0 var(--yellow)}.quote{font:700 78px/1 Oswald;color:var(--yellow)}.reviews-grid p{font-size:14px;line-height:1.75;margin:0}.reviews-grid footer{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column}.reviews-grid footer b{font-size:11px;text-transform:uppercase}.reviews-grid footer span{font-size:9px;color:#777;margin-top:5px;text-transform:uppercase}

.contact{padding:clamp(100px,10vw,165px) clamp(22px,4vw,72px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.contact-copy{position:sticky;top:120px}.contact-copy h2{font-size:clamp(62px,7.4vw,125px)}.contact-copy p{max-width:560px;color:#aaa;line-height:1.7;font-size:14px;margin:28px 0}.contact-data{display:flex;flex-direction:column;gap:6px;margin-top:40px}.contact-data a{font:600 clamp(22px,2.5vw,38px) Oswald}.contact-data span{font-size:10px;text-transform:uppercase;color:#8c8c8c;margin-top:12px}.lead-form{display:grid;gap:26px;border-top:5px solid var(--yellow);padding-top:30px}.lead-form label{display:flex;flex-direction:column;gap:8px}.lead-form label>span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#aaa}.lead-form input,.lead-form select,.lead-form textarea{background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.25);padding:12px 0;outline:none;border-radius:0;font-size:18px}.lead-form select option{color:#111}.lead-form textarea{resize:vertical}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--yellow)}.lead-form>small{font-size:8px;color:#777}.form-success{display:none;padding:14px;border:1px solid var(--yellow);color:var(--yellow);font-size:11px}.form-success.show{display:block}
.footer{padding:30px clamp(22px,4vw,72px);display:grid;grid-template-columns:1fr 1.1fr 1fr auto;align-items:center;gap:25px;background:#050505;color:#fff;border-top:1px solid #202020}.footer p{font-size:9px;text-transform:uppercase;color:#777}.footer-links{display:flex;gap:18px;font-size:9px;text-transform:uppercase}.footer>span{font-size:9px;color:#777}

.lead-modal{position:fixed;inset:0;z-index:120;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}.lead-modal.open{visibility:visible;opacity:1}.lead-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px)}.lead-modal-card{position:absolute;right:0;top:0;bottom:0;width:min(620px,100%);background:var(--paper);padding:clamp(35px,6vw,80px);transform:translateX(100%);transition:transform .55s cubic-bezier(.76,0,.24,1);display:flex;flex-direction:column;justify-content:center}.lead-modal.open .lead-modal-card{transform:none}.lead-modal-card h2{font-size:clamp(55px,7vw,90px)}.lead-modal-card p{font-size:13px;line-height:1.7;color:#6e6b65;max-width:460px}.modal-close{position:absolute;top:24px;right:28px;width:44px;height:44px;border:1px solid var(--line);background:transparent;font-size:28px}.lead-modal-card form{display:grid;gap:14px;margin-top:20px}.lead-modal-card input{height:54px;border:1px solid var(--line);background:#fff;padding:0 16px}.modal-success{display:none;background:var(--ink);color:var(--yellow);padding:14px;font-size:11px}.modal-success.show{display:block}

.fog-transition{position:fixed;inset:0;z-index:200;pointer-events:none;visibility:hidden;overflow:hidden}.fog-transition.active{visibility:visible}.fog-stage{position:absolute;inset:0;filter:blur(24px) contrast(1.15)}.fog-blob{position:absolute;border-radius:46% 54% 62% 38% / 48% 42% 58% 52%;background:radial-gradient(circle at 35% 35%,#171717 0,#050505 56%,#000 100%);box-shadow:0 0 110px 55px rgba(0,0,0,.88);will-change:transform,opacity}.fog-noise{position:absolute;inset:0;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.025 .12' numOctaves='4' seed='7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");mix-blend-mode:screen;z-index:3}.fog-transition::after{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .35s}.fog-transition.covered::after{opacity:.76}

[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}[data-reveal].visible{opacity:1;transform:none}

@media(max-width:1180px){.desktop-nav{display:none}.menu-btn{display:grid}.mobile-menu{visibility:visible}.hero{grid-template-columns:.95fr 1.05fr}.hero-scene{transform:translateX(6vw)}.statement-grid{grid-template-columns:1fr}.statement-stats{max-width:700px}.service-list article{grid-template-columns:55px .7fr 1fr 120px}.footer{grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-end}}
@media(max-width:900px){:root{--header-h:68px}.site-header{padding:0 18px}.brand{min-width:0}.brand-copy small{display:none}.phone{display:none}.hero{min-height:auto;padding:calc(var(--header-h) + 45px) 20px 45px;grid-template-columns:1fr;overflow:hidden}.hero h1{font-size:clamp(60px,16vw,108px)}.hero-lead{max-width:620px}.hero-meta{max-width:620px}.hero-scene{height:680px;min-height:0;transform:none;margin-top:-30px}.layer-room{width:108%;right:-7%;bottom:11%}.layer-front{width:82%;left:-6%;bottom:0}.layer-plan{width:115%;right:-10%;top:5%}.layer-brush{width:100%;right:-10%;top:36%}.scene-label{right:3%;bottom:8%}.scroll-cue{display:none}.trust-strip{grid-template-columns:1fr 1fr}.trust-item:first-child{border-left:0}.trust-item:nth-child(2){border-right:0}.project-grid{grid-template-columns:1fr}.project-card.project-wide{grid-column:auto}.project-media,.project-wide .project-media{height:65vw;min-height:350px}.section-head{align-items:flex-start;flex-direction:column}.project-filters{justify-content:flex-start}.statement-grid{gap:50px}.process{grid-template-columns:1fr}.process-head{position:static}.calculator-wrap{grid-template-columns:1fr}.calc-copy{position:static}.reviews-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.contact-copy{position:static}.footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.service-list article{grid-template-columns:50px 1fr}.service-list p{grid-column:2}.service-list i{grid-column:2;text-align:left}.compare-after img{width:calc(100vw - 40px)} }
@media(max-width:560px){.hero h1{font-size:16vw}.hero-lead{font-size:14px}.hero-buttons .btn{width:100%}.hero-meta{gap:9px}.hero-meta strong{font-size:20px}.hero-meta span{font-size:8px}.hero-scene{height:490px;margin-top:-10px}.layer-room{width:125%;right:-18%;bottom:14%}.layer-front{width:95%;left:-12%;bottom:1%}.layer-plan{width:142%;right:-25%;top:4%}.layer-brush{width:120%;right:-20%;top:40%}.scene-label{bottom:5%;right:0;min-width:145px;padding:12px 14px}.trust-strip{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.trust-item:last-child{border-bottom:0}.projects,.compare,.process,.reviews,.services,.statement,.calculator,.contact{padding-left:20px;padding-right:20px}.section-head h2,.process-head h2{font-size:14vw}.project-media,.project-wide .project-media{height:82vw;min-height:330px}.statement h2,.calc-copy h2,.contact-copy h2{font-size:15vw}.statement-stats div{padding:22px;min-height:130px}.statement-stats b{font-size:48px}.service-list article{grid-template-columns:40px 1fr;gap:16px}.service-list h3{font-size:29px}.timeline article{grid-template-columns:50px 1fr}.timeline::before,.timeline-progress{left:24px}.timeline article>span{width:50px;height:50px}.timeline small{grid-column:2;text-align:left}.calc-card{padding:24px}.reviews-grid article{min-height:320px}.compare-box{height:120vw;max-height:640px}.compare-after img{width:calc(100vw - 40px)}.mobile-menu-bottom{flex-direction:column;gap:6px}.footer{padding:28px 20px}.cursor-dot{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-dot{display:none}.parallax-layer{transform:none!important}}

/* ===== Revision 2: calmer type, stronger parallax, cinematic fog, flatter compare ===== */
:root{--paper:#f3f1eb;--muted:#68655f;--header-h:74px}
body{background:var(--paper);color:#0a0a0a}
.hero h1,.section-head h2,.statement h2,.calc-copy h2,.process-head h2,.contact-copy h2,.lead-modal-card h2{
  line-height:.96;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:normal
}
.hero h1{font-size:clamp(56px,5.65vw,94px);max-width:650px}
.section-head h2,.process-head h2{font-size:clamp(42px,4.7vw,78px)}
.statement h2{font-size:clamp(46px,5.2vw,86px);max-width:820px}
.calc-copy h2{font-size:clamp(46px,5.1vw,84px)}
.contact-copy h2{font-size:clamp(48px,5.3vw,88px)}
.lead-modal-card h2{font-size:clamp(48px,6vw,78px)}
.section-head{margin-bottom:42px;gap:36px}
.section-head>p{font-size:13px;max-width:430px;color:#66625c}
.eyebrow{margin-bottom:16px}

/* menu: less giant, easier to scan */
.mobile-menu{background:var(--yellow);padding-top:calc(var(--header-h) + 28px)}
.mobile-menu nav{margin:auto 0;max-width:980px}
.menu-link{font-size:clamp(36px,7.2vw,64px);line-height:1;padding:9px 0;border-color:rgba(0,0,0,.22);transition:padding-left .25s,background .25s}
.menu-link:hover{padding-left:12px}
.menu-link span{padding-top:8px}

/* Hero: visible 5-layer composition */
.hero{min-height:100svh;grid-template-columns:minmax(390px,.76fr) minmax(570px,1.24fr);gap:12px;padding-top:calc(var(--header-h) + 44px)}
.hero-copy{max-width:650px}
.hero-lead{font-size:clamp(14px,1.05vw,17px);margin:24px 0 28px;max-width:520px}
.hero-meta{margin-top:32px}
.hero-scene{height:min(62vw,700px);min-height:520px;transform:none;perspective:1100px;overflow:visible;contain:layout paint;opacity:0;transition:opacity .7s ease,filter .7s ease;filter:blur(5px)}
body.ready .hero-scene{opacity:1;filter:none}
.parallax-layer{transition:none;transform-style:preserve-3d;backface-visibility:hidden}
.layer-plan{width:108%;right:-3%;top:2%;opacity:.19;filter:contrast(1.55);mix-blend-mode:multiply;z-index:0}
.layer-brush{width:86%;right:-2%;top:36%;opacity:.88;z-index:1;--base-rotate:-6deg}
.hero-glow{right:18%;top:28%;z-index:1}
.layer-room{width:106%;right:-2%;bottom:10%;z-index:2;filter:drop-shadow(0 28px 26px rgba(0,0,0,.16))}
.layer-front{width:73%;left:2%;bottom:0;z-index:4;filter:drop-shadow(0 26px 24px rgba(0,0,0,.2))}
.scene-label{right:1%;bottom:10%;z-index:6;box-shadow:8px 8px 0 rgba(242,183,5,.84)}
.hero-copy>*{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.75,.2,1)}
body.ready .hero-copy>*{opacity:1;transform:none}
body.ready .hero-copy>*:nth-child(1){transition-delay:.05s}body.ready .hero-copy>*:nth-child(2){transition-delay:.13s}body.ready .hero-copy>*:nth-child(3){transition-delay:.21s}body.ready .hero-copy>*:nth-child(4){transition-delay:.29s}body.ready .hero-copy>*:nth-child(5){transition-delay:.37s}

/* more restrained card motion */
.project-card{transform-origin:center center}
.project-media{border-radius:2px}
.project-card:hover .project-media img{transform:scale(1.025)}
.project-card:hover .project-info>b{transform:translate(4px,-3px)}

/* Before/after: a long, flat panoramic strip */
.compare{padding-top:clamp(80px,7vw,120px);padding-bottom:clamp(80px,7vw,120px)}
.compare-box{--split:50%;width:100%;height:auto;aspect-ratio:2.35/1;min-height:320px;max-height:500px;position:relative;overflow:hidden;background:#c8c5be;cursor:ew-resize;user-select:none;touch-action:none;border:1px solid rgba(10,10,10,.16);box-shadow:0 20px 70px rgba(0,0,0,.08)}
.compare-box::after{content:"ТЯНИТЕ ↔";position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:6;background:rgba(0,0,0,.72);color:#fff;padding:7px 12px;font-size:8px;font-weight:800;letter-spacing:1.4px;pointer-events:none}
.compare-box img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;pointer-events:none}
.compare-base{filter:saturate(.65) contrast(1.02) brightness(.86)}
.compare-after{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;clip-path:inset(0 calc(100% - var(--split)) 0 0);border:0;will-change:clip-path}
.compare-after img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.compare-line{position:absolute;top:0;bottom:0;left:var(--split);width:3px;background:var(--yellow);pointer-events:none;z-index:5;box-shadow:0 0 28px rgba(242,183,5,.6)}
.compare-line button{width:62px;height:62px;border:0;background:var(--yellow);color:#0a0a0a;box-shadow:0 8px 28px rgba(0,0,0,.28);font-size:20px}
.compare-tag{z-index:5;top:16px}

/* Cinematic fog: guaranteed full blackout in the middle */
.fog-transition{position:fixed;inset:0;z-index:500;pointer-events:none;visibility:hidden;overflow:hidden;isolation:isolate}
.fog-transition.active{visibility:visible}
.fog-core{position:absolute;inset:-4px;background:#050505;z-index:1;clip-path:circle(0 at 100% 100%);will-change:clip-path}
.fog-stage{position:absolute;inset:-12%;z-index:2;filter:blur(30px) contrast(1.18);will-change:transform}
.fog-blob{position:absolute;border-radius:44% 56% 61% 39% / 50% 42% 58% 50%;background:radial-gradient(circle at 35% 34%,#292929 0,#111 38%,#050505 68%,rgba(0,0,0,0) 100%);box-shadow:0 0 90px 40px rgba(0,0,0,.85);will-change:transform,opacity}
.fog-noise{position:absolute;inset:0;z-index:3;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.018 .065' numOctaves='5' seed='21'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");mix-blend-mode:screen;pointer-events:none}
.fog-transition.covered .fog-core{clip-path:circle(170vmax at 100% 100%)}

/* reveal motion is present, but not circus-like */
[data-reveal]{opacity:0;transform:translateY(26px);filter:blur(3px);transition:opacity .62s ease,transform .68s cubic-bezier(.2,.72,.2,1),filter .55s ease}
[data-reveal].visible{opacity:1;transform:none;filter:none}

/* no green accent anywhere */
.hero h1 em,.section-head h2 em,.statement h2 em,.calc-copy h2 em,.process-head h2 em,.contact-copy h2 em,.lead-modal-card h2 em,.eyebrow.yellow,.text-link,.service-list span,.service-list i,.form-success{color:var(--yellow)}

@media(max-width:1180px){
  .hero{grid-template-columns:.86fr 1.14fr}
  .hero h1{font-size:clamp(54px,6.5vw,82px)}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:calc(var(--header-h) + 34px)}
  .hero h1{font-size:clamp(52px,12.8vw,82px);max-width:680px}
  .hero-scene{height:610px;margin-top:-12px;contain:layout paint}
  .layer-room{width:108%;right:-5%;bottom:11%}.layer-front{width:76%;left:-3%}.layer-plan{width:112%;right:-6%;top:5%}.layer-brush{width:92%;right:-4%;top:38%}
  .section-head h2,.process-head h2{font-size:clamp(40px,9vw,68px)}
  .statement h2,.calc-copy h2,.contact-copy h2{font-size:clamp(46px,10vw,72px)}
  .compare-box{aspect-ratio:1.85/1;min-height:330px;max-height:none}
  .compare-after img{width:100%;height:100%}
}
@media(max-width:560px){
  .menu-link{font-size:clamp(34px,10.5vw,52px)}
  .hero h1{font-size:12.4vw;line-height:.98}
  .hero-scene{height:430px;margin-top:6px}
  .layer-room{width:120%;right:-14%;bottom:14%}.layer-front{width:83%;left:-9%;bottom:3%}.layer-plan{width:132%;right:-18%;top:5%}.layer-brush{width:108%;right:-14%;top:42%}
  .scene-label{transform:scale(.88);transform-origin:right bottom}
  .section-head h2,.process-head h2{font-size:11vw;line-height:.99}
  .statement h2,.calc-copy h2,.contact-copy h2{font-size:11.4vw;line-height:.99}
  .compare-box{aspect-ratio:1.35/1;min-height:330px}
  .compare-line button{width:54px;height:54px}
  .compare-box::after{display:none}
}
.fog-transition::after{display:none!important}

/* Mobile hero cleanup: remove decorative interior scene and collapse its space */
@media (max-width:900px){
  .hero{
    grid-template-columns:1fr;
    min-height:auto;
    padding:calc(var(--header-h) + 34px) 20px 44px;
    align-items:start;
  }
  .hero-copy{
    max-width:680px;
  }
  .hero-scene{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
}

@media (max-width:560px){
  .hero{
    padding:calc(var(--header-h) + 28px) 20px 36px;
  }
}
