:root{--cream:#f5f3ee;--cream-2:#efebe2;--beige:#d8cfbe;--charcoal:#4a5258;--charcoal-2:#3a4045;--ink:#22282c;--amber:#c2925a;--amber-2:#a97940;--teal:#0e5b57;--teal-2:#0a4844;--line:rgba(74,82,88,.14);--radius:5px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--cream);color:var(--ink);font-family:Plus Jakarta Sans,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:Fraunces,serif;font-weight:500;line-height:1.07;letter-spacing:-.015em;color:var(--ink)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-2);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:22px;height:2px;background:var(--amber);display:inline-block}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 27px;border-radius:var(--radius);font-weight:700;font-size:14.5px;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;border:1.5px solid transparent;transition:transform .25s,background .25s,color .25s,border-color .25s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-amber{background:var(--amber);color:#fff}.btn-amber:hover{background:var(--amber-2)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000}.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:var(--cream)}.btn-ghost{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.35);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}.btn-arrow{transition:transform .25s}.btn:hover .btn-arrow{transform:translateX(3px)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}.ph{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--beige) 0,#cbc0aa 55%,var(--amber) 130%);display:flex;align-items:flex-end;color:#fff}.ph.dark{background:linear-gradient(135deg,var(--charcoal) 0,var(--ink) 70%)}.ph.teal{background:linear-gradient(135deg,var(--teal) 0,var(--teal-2) 100%)}.ph:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 15%,hsla(0,0%,100%,.1),transparent 40%),radial-gradient(circle at 85% 90%,rgba(0,0,0,.14),transparent 45%)}.ph.photo{background-size:cover;background-position:50%}.ph.photo:after{background-image:linear-gradient(180deg,transparent 45%,rgba(20,24,27,.72))}.ph-tag{position:relative;z-index:2;padding:16px 18px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(0,0,0,.28);width:100%}header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s,border-color .35s,box-shadow .35s;border-bottom:1px solid transparent}header.solid{background:hsla(43,26%,95%,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{justify-content:space-between;height:80px}.logo,.nav{display:flex;align-items:center}.logo img{height:30px;width:auto;display:block}.logo .logo-word{font-family:Fraunces,serif;font-size:22px;font-weight:600;letter-spacing:-.01em}header.solid .logo-light,header:not(.solid) .logo-dark{display:none}header:not(.solid) .logo .logo-word{color:#fff}header.solid .logo .logo-word{color:var(--ink)}.nav-links{display:flex;align-items:center;gap:36px}.nav-links a{font-size:14.5px;font-weight:600;position:relative;padding:4px 0;transition:color .35s}header:not(.solid) .nav-links a{color:hsla(0,0%,100%,.85)}header.solid .nav-links a{color:var(--charcoal-2)}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--amber);transition:width .25s}.nav-links a:hover:after{width:100%}.nav-cta{display:flex;align-items:center;gap:18px}.nav-phone{font-size:14px;font-weight:700;transition:color .35s}header:not(.solid) .nav-phone{color:#fff}header.solid .nav-phone{color:var(--charcoal-2)}.hero{position:relative;height:100vh;min-height:640px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.hero video{width:100%;height:100%;object-fit:cover}.hero video,.hero-fallback{position:absolute;inset:0;z-index:0}.hero-fallback{background:linear-gradient(135deg,var(--charcoal) 0,var(--ink) 70%)}.hero-bg{z-index:0;background-size:cover;background-position:50%}.hero-bg,.hero-scrim{position:absolute;inset:0}.hero-scrim{z-index:1;background:linear-gradient(180deg,rgba(34,40,44,.55),rgba(34,40,44,.25) 35%,rgba(34,40,44,.78))}.hero-scrim:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 70%,rgba(14,91,87,.35),transparent 60%)}.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:64px}.hero-eyebrow{color:#fff}.hero-eyebrow:before{background:var(--amber)}.hero h1{color:#fff;font-size:clamp(2.8rem,6.4vw,5.6rem);font-weight:500;margin:20px 0 26px;max-width:15ch}.hero h1 em{font-style:italic;color:var(--amber)}.hero-sub{color:hsla(0,0%,100%,.82);font-size:clamp(16px,1.4vw,19px);max-width:520px;margin-bottom:34px}.hero-ctas{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.hero-badges{position:absolute;top:120px;right:32px;z-index:2;display:flex;flex-direction:column;gap:14px;align-items:flex-end}.glass-badge{background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid hsla(0,0%,100%,.18);border-radius:var(--radius);padding:16px 22px;color:#fff;min-width:190px}.glass-badge .num{font-family:Fraunces,serif;font-size:32px;color:var(--amber);line-height:1}.glass-badge .lbl{font-size:12.5px;color:hsla(0,0%,100%,.72);margin-top:4px}.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;color:hsla(0,0%,100%,.6);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}.scroll-hint .line{width:1px;height:34px;background:linear-gradient(hsla(0,0%,100%,.6),transparent);animation:scrolldot 2s infinite}@keyframes scrolldot{0%{opacity:0;transform:scaleY(.3);transform-origin:top}50%{opacity:1}to{opacity:0;transform:scaleY(1);transform-origin:top}}.trust-strip{background:var(--ink);color:#fff;padding:26px 0}.trust-inner{justify-content:space-between;gap:30px;flex-wrap:wrap}.trust-inner,.trust-item{display:flex;align-items:center}.trust-item{gap:12px;font-size:13.5px;color:hsla(0,0%,100%,.78);font-weight:600}.trust-item svg{flex-shrink:0}section{padding:120px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:40px;flex-wrap:wrap}.section-head h2{font-size:clamp(2rem,3.6vw,3rem);margin-top:16px;max-width:600px}.section-head p{color:var(--charcoal-2);max-width:390px;font-size:15.5px}.types-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.type-card{background:var(--cream);padding:40px 30px;transition:background .3s;position:relative}.type-card:hover{background:#fff}.type-card .type-visual{width:100%;aspect-ratio:1/1;border-radius:4px;margin-bottom:24px;overflow:hidden;position:relative}.type-card .type-visual .ph{position:absolute;inset:0}.type-card h3{font-size:20px;margin-bottom:10px;font-weight:500}.type-card p{font-size:14px;color:var(--charcoal-2);margin-bottom:16px}.type-meta{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;padding-top:14px;border-top:1px solid var(--line)}.type-meta .from{color:var(--amber-2);text-transform:uppercase;letter-spacing:.04em}.type-meta .time{color:var(--charcoal)}.types-note{text-align:center;margin-top:34px;font-size:15px;color:var(--charcoal-2)}.types-note strong{color:var(--ink);font-weight:700}.compare-wrap{background:var(--teal);color:#fff}.compare-wrap .section-head h2{color:#fff}.compare-wrap .section-head p{color:hsla(0,0%,100%,.72)}.compare-wrap .eyebrow{color:#fff}.compare-wrap .eyebrow:before{background:var(--amber)}.slider-box{position:relative;width:100%;aspect-ratio:16/8;border-radius:8px;overflow:hidden;cursor:ew-resize;box-shadow:0 30px 60px rgba(0,0,0,.3);-webkit-user-select:none;-moz-user-select:none;user-select:none}.slider-box .after-layer,.slider-box .layer{position:absolute;inset:0}.slider-box .after-layer{overflow:hidden;width:52%}.slider-box .after-layer .ph{position:absolute;inset:0;width:1176px}.slider-box .ph-tag{width:auto;max-width:48%}.slider-box .layer>.ph-tag{margin-left:auto;text-align:right}.slider-handle{position:absolute;top:0;bottom:0;left:52%;width:3px;background:#fff;transform:translateX(-50%)}.slider-handle .knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 8px 22px rgba(0,0,0,.35)}.slider-handle .knob span{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent}.slider-handle .knob span.l{border-right:8px solid var(--ink)}.slider-handle .knob span.r{border-left:8px solid var(--ink)}.tag-after,.tag-before{position:absolute;top:22px;z-index:5;padding:8px 16px;border-radius:3px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tag-before{left:22px;background:rgba(0,0,0,.55);color:#fff}.tag-after{right:22px;background:var(--amber);color:#fff}.compare-caption{display:flex;justify-content:space-between;margin-top:26px;font-size:14px;color:hsla(0,0%,100%,.7);flex-wrap:wrap;gap:12px}.calc-section{background:var(--cream-2)}.calc-box{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 30px 70px rgba(34,40,44,.18)}.calc-left{padding:58px 52px;color:#fff}.calc-left .eyebrow{color:#fff}.calc-left .eyebrow:before{background:var(--amber)}.calc-left h2{color:#fff;font-size:2.1rem;margin:16px 0 14px}.calc-left p{color:hsla(0,0%,100%,.66);font-size:15px;max-width:380px;margin-bottom:10px}.calc-left .divider{width:52px;height:3px;background:var(--amber);margin:22px 0}.calc-note{margin-top:32px;padding-top:22px;border-top:1px solid hsla(0,0%,100%,.14);font-size:13px;color:hsla(0,0%,100%,.5)}.calc-right{background:var(--charcoal-2);padding:52px;color:#fff}.field{margin-bottom:26px}.field label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:hsla(0,0%,100%,.6);margin-bottom:12px}.pill-group{display:flex;gap:9px;flex-wrap:wrap}.pill{padding:10px 17px;border-radius:30px;border:1.5px solid hsla(0,0%,100%,.22);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:#fff}.pill.active{background:var(--amber);border-color:var(--amber)}.range-row{display:flex;align-items:center;gap:16px}input[type=range]{-webkit-appearance:none;flex:1 1;height:4px;background:hsla(0,0%,100%,.2);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--amber);cursor:pointer;border:3px solid #fff}.range-val{font-family:Fraunces,serif;font-size:20px;min-width:56px;text-align:right}.estimate-out{margin-top:34px;padding:26px;background:hsla(0,0%,100%,.06);border-radius:6px;border:1px solid hsla(0,0%,100%,.1)}.estimate-out .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:hsla(0,0%,100%,.55);font-weight:700}.estimate-out .amount{font-family:Fraunces,serif;font-size:2.6rem;color:var(--amber);margin:10px 0 4px}.estimate-out .sub{font-size:12.5px;color:hsla(0,0%,100%,.5)}.calc-right .btn-amber{width:100%;justify-content:center;margin-top:22px;padding:16px;border:none}.capture-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:6px}.capture-fields .full{grid-column:1/-1}.capture-fields input{width:100%;padding:13px 15px;border-radius:6px;border:1.5px solid hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.05);color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:14.5px;transition:border-color .2s}.capture-fields input::placeholder{color:hsla(0,0%,100%,.4)}.capture-fields input:focus{outline:none;border-color:var(--amber)}.capture-fields input.err{border-color:#d9704a}.estimate-locked{position:relative}.estimate-locked .amount{filter:blur(11px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.lock-overlay svg{opacity:.85}.lock-overlay span{font-size:12.5px;color:hsla(0,0%,100%,.7);font-weight:600}.capture-consent{font-size:11.5px;color:hsla(0,0%,100%,.42);margin-top:12px;line-height:1.5}.capture-success{display:none;margin-top:20px;padding:18px 20px;background:rgba(14,91,87,.28);border:1px solid rgba(14,91,87,.6);border-radius:6px}.capture-success.show{display:block}.capture-success .st-title{font-family:Fraunces,serif;font-size:17px;color:#fff;margin-bottom:4px}.capture-success .st-body{font-size:13px;color:hsla(0,0%,100%,.66)}.is-unlocked .estimate-locked .amount{filter:none}.is-unlocked .lock-overlay{display:none}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:36px;gap:36px}.process-step .process-line{height:1px;background:var(--line);margin-bottom:18px}.process-step .step-no{font-family:Fraunces,serif;font-size:15px;color:var(--amber-2);font-weight:600;margin-bottom:16px;display:block}.process-step h3{font-size:19px;margin-bottom:10px;font-weight:500}.process-step p{font-size:14.5px;color:var(--charcoal-2)}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:230px 230px;grid-gap:14px;gap:14px}.proj-item{position:relative;border-radius:6px;overflow:hidden}.proj-item:first-child{grid-column:span 2;grid-row:span 2}.proj-item:nth-child(4){grid-column:span 2}.proj-item .ph{position:absolute;inset:0;transition:transform .5s}.proj-item:hover .ph{transform:scale(1.05)}.proj-caption{position:relative;z-index:2;padding:18px 20px}.proj-caption .p-title{font-weight:700;font-size:15px}.proj-caption .p-type{font-size:12.5px;opacity:.78;margin-top:2px}.testi-wrap{background:var(--beige)}.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:26px;gap:26px}.testi-card{background:var(--cream);padding:34px;border-radius:6px}.stars{color:var(--amber);letter-spacing:2px;font-size:15px}.testi-card .stars{margin-bottom:18px;display:block}.testi-card p{font-size:15px;color:var(--charcoal-2);margin-bottom:22px}.testi-who{gap:12px}.testi-avatar,.testi-who{display:flex;align-items:center}.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--charcoal);color:#fff;justify-content:center;font-family:Fraunces,serif;font-size:15px}.testi-name{font-weight:700;font-size:14px}.testi-loc{font-size:12.5px;color:var(--charcoal-2)}.faq-wrap{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:60px;gap:60px;align-items:start}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;text-align:left;background:none;border:none;padding:24px 0;font-family:Fraunces,serif;font-size:19px;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:500}.faq-q .icon{flex-shrink:0;width:22px;height:22px;position:relative;transition:transform .3s}.faq-q .icon:after,.faq-q .icon:before{content:"";position:absolute;background:var(--amber);top:50%;left:50%;transform:translate(-50%,-50%)}.faq-q .icon:before{width:14px;height:2px}.faq-q .icon:after{width:2px;height:14px;transition:transform .3s}.faq-item.open .faq-q .icon:after{transform:translate(-50%,-50%) scaleY(0)}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}.faq-a p{padding:0 0 24px;color:var(--charcoal-2);font-size:15px;max-width:90%}.final-cta{position:relative;background:var(--ink);color:#fff;padding:120px 0;text-align:center;overflow:hidden}.final-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,rgba(14,91,87,.4),transparent 60%)}.final-cta .wrap{position:relative;z-index:2}.final-cta h2{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:720px;margin:0 auto 20px}.final-cta p{color:hsla(0,0%,100%,.65);max-width:480px;margin:0 auto 40px;font-size:16px}.final-ctas{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}footer{background:var(--charcoal-2);color:hsla(0,0%,100%,.7);padding:70px 0 30px}.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;grid-gap:40px;gap:40px;margin-bottom:56px}footer .logo img{height:28px}footer .logo .logo-word{color:#fff}footer p.foot-desc{font-size:14px;margin-top:16px;max-width:260px;color:hsla(0,0%,100%,.5)}footer h4{font-family:Plus Jakarta Sans,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:20px;font-weight:700}footer ul{list-style:none}footer ul li{margin-bottom:12px;font-size:14.5px}footer ul li a:hover{color:var(--amber)}.foot-bottom{border-top:1px solid hsla(0,0%,100%,.1);padding-top:26px;display:flex;justify-content:space-between;font-size:13px;color:hsla(0,0%,100%,.4);flex-wrap:wrap;gap:10px}@media (max-width:980px){.hero-badges,.nav-links{display:none}.types-grid{grid-template-columns:repeat(2,1fr)}.calc-box{grid-template-columns:1fr}.process-grid{row-gap:36px}.process-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-rows:repeat(3,180px)}.proj-item:first-child{grid-column:span 2;grid-row:span 1}.faq-grid,.testi-grid{grid-template-columns:1fr}.faq-grid{gap:30px}.foot-grid{grid-template-columns:1fr 1fr;row-gap:36px}}@media (max-width:600px){.wrap{padding:0 20px}section{padding:80px 0}.types-grid{grid-template-columns:1fr}.nav-phone{display:none}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.scroll-hint .line{animation:none}.hero video{display:none}}