:root{
  --cream:#F7F2EA;
  --cream-deep:#EFE7D5;
  --sand:#E8DCC4;
  --oak:#B4884D;
  --oak-deep:#8B6530;
  --sage:#6B8E7F;
  --espresso:#2B2420;
  --ink:#5A4E43;
  --muted:#8A7A68;
  --white:#ffffff;
  --radius:18px;
  --shadow-sm:0 4px 14px -4px rgba(43,36,32,.12);
  --shadow-lg:0 30px 80px -40px rgba(43,36,32,.35);
  --max:1280px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:80px}
body{font-family:'Inter',system-ui,sans-serif;background:var(--cream);color:var(--espresso);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.015em;line-height:1.1;color:var(--espresso)}
h1{font-size:clamp(2.5rem,6vw,5.5rem)}
h2{font-size:clamp(2rem,4.5vw,3.75rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
p{color:var(--ink)}
.container{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--oak-deep);margin-bottom:1rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.75rem;background:var(--espresso);color:var(--cream);font-weight:600;font-size:.95rem;border-radius:100px;border:none;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;will-change:transform}
.btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px -20px rgba(43,36,32,.4);background:#1c1714}
.btn.ghost{background:transparent;color:var(--espresso);border:1.5px solid var(--espresso)}
.btn.ghost:hover{background:var(--espresso);color:var(--cream)}
.btn .arrow{transition:transform .3s}
.btn:hover .arrow{transform:translateX(4px)}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:1.25rem 0;transition:background .3s,backdrop-filter .3s,border-color .3s}
.nav.scrolled{background:rgba(247,242,234,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,220,196,.6)}
.nav.solid{background:rgba(247,242,234,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,220,196,.6)}
.nav.solid .logo,.nav.solid .nav-links{color:var(--espresso)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:600;color:var(--cream);transition:color .3s}
.nav.scrolled .logo{color:var(--espresso)}
.logo span{color:var(--oak)}
.nav-links{display:flex;gap:2.25rem;font-size:.88rem;font-weight:500;color:var(--cream);transition:color .3s}
.nav.scrolled .nav-links{color:var(--espresso)}
.nav-links a{opacity:.85;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-links a.active{opacity:1;color:var(--oak)}
.nav-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--oak);color:var(--white);border-radius:100px;font-size:.82rem;font-weight:600;transition:background .3s}
.nav-cta:hover{background:var(--oak-deep)}
@media(max-width:860px){.nav-links{display:none}}

/* ============ HERO SCROLL-FRAME (UNCHANGED) ============ */
#hero-section{height:320vh;position:relative;background:var(--espresso)}
.hero-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
#hero-canvas{width:100%;height:100%;display:block}
.hero-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--espresso);color:var(--cream);z-index:3;transition:opacity .6s ease}
.hero-loader.hidden{opacity:0;pointer-events:none}
.hero-loader-inner{text-align:center;font-family:'Fraunces',serif}
.hero-loader-bar{width:240px;height:2px;background:rgba(247,242,234,.15);margin-top:1.25rem;border-radius:2px;overflow:hidden}
.hero-loader-fill{height:100%;background:var(--oak);width:0%;transition:width .2s}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,36,32,.35) 0%,rgba(43,36,32,0) 25%,rgba(43,36,32,0) 55%,rgba(43,36,32,.75) 100%);z-index:1;pointer-events:none}
.hero-content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(2rem,6vw,5rem) clamp(1.25rem,4vw,3rem);color:var(--cream)}
.hero-content .container{padding:0}
.hero-content h1{color:var(--cream);max-width:18ch;margin-bottom:1.25rem;text-shadow:0 4px 40px rgba(0,0,0,.4)}
.hero-content h1 em{font-style:italic;color:var(--oak);font-weight:500}
.hero-content p.tagline{font-size:clamp(1rem,1.5vw,1.2rem);max-width:42ch;opacity:.9;margin-bottom:2rem;color:var(--cream)}
.hero-content .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
.hero-content .btn{background:var(--cream);color:var(--espresso)}
.hero-content .btn:hover{background:var(--white)}
.hero-content .btn.ghost{background:transparent;color:var(--cream);border-color:var(--cream)}
.hero-content .btn.ghost:hover{background:var(--cream);color:var(--espresso)}
.hero-scroll-cue{position:absolute;left:50%;bottom:2rem;transform:translateX(-50%);z-index:2;color:var(--cream);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.hero-scroll-cue .line{display:block;width:1px;height:48px;background:var(--cream);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}
@media(max-width:860px){.hero-scroll-cue{display:none}}

/* ============ SECTION BASE ============ */
section.content{padding:clamp(5rem,10vw,9rem) 0;position:relative}
.section-head{max-width:720px;margin-bottom:clamp(3rem,6vw,5rem)}
.section-head h2{margin-bottom:1.25rem}
.section-head p{font-size:clamp(1.05rem,1.3vw,1.2rem);max-width:55ch}

/* ============ ABOUT / THE STANDARD ============ */
#about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:center}
@media(max-width:860px){.about-grid{grid-template-columns:1fr}}
.about-copy h2 span{color:var(--oak);font-style:italic;font-weight:500}
.about-copy p{font-size:1.08rem;margin-bottom:1.15rem}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.about-stat{padding:1.5rem;background:var(--white);border-radius:var(--radius);border:1px solid var(--sand)}
.about-stat .num{font-family:'Fraunces',serif;font-size:2.4rem;font-weight:600;color:var(--espresso);line-height:1}
.about-stat .num .suffix{color:var(--oak);font-size:.55em;margin-left:.15em;vertical-align:baseline}
.about-stat .label{font-size:.82rem;color:var(--muted);margin-top:.35rem;text-transform:uppercase;letter-spacing:.06em}
.about-visual{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--sand);box-shadow:var(--shadow-lg)}
.about-visual::before{content:"";position:absolute;inset:0;background-image:url('./brand-assets/end.png');background-size:cover;background-position:center;filter:saturate(1.05);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.about-visual:hover::before{transform:scale(1.04)}
.about-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(43,36,32,.45) 100%)}
.about-visual .tag{position:absolute;bottom:1.5rem;left:1.5rem;color:var(--cream);font-family:'Fraunces',serif;font-size:1.1rem;z-index:2;max-width:22ch;line-height:1.3}

/* ============ BRAND MARQUEE ============ */
#brands-marquee{background:var(--espresso);color:var(--cream);padding:clamp(3rem,6vw,4.5rem) 0;overflow:hidden;border-top:1px solid rgba(247,242,234,.08);border-bottom:1px solid rgba(247,242,234,.08)}
.marquee-label{text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.25em;color:rgba(247,242,234,.55);margin-bottom:2.25rem}
.marquee-viewport{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.marquee-track{display:flex;gap:clamp(3rem,6vw,5rem);width:max-content;animation:marquee-scroll 55s linear infinite;align-items:center}
.marquee-viewport:hover .marquee-track{animation-play-state:paused}
@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.brand-wm{color:var(--cream);opacity:.92;white-space:nowrap;transition:opacity .3s,color .3s;cursor:default;line-height:1;letter-spacing:.01em}
.brand-wm:hover{opacity:1;color:var(--oak)}
.brand-wm.andersen{font-family:'Inter',sans-serif;font-weight:700;font-size:1.9rem;text-transform:uppercase;letter-spacing:.14em}
.brand-wm.marvin{font-family:'Fraunces',serif;font-weight:500;font-size:2.3rem;font-style:italic;letter-spacing:.02em}
.brand-wm.pella{font-family:'Inter',sans-serif;font-weight:600;font-size:2rem;letter-spacing:.04em}
.brand-wm.pgt{font-family:'Inter',sans-serif;font-weight:900;font-size:2.1rem;text-transform:uppercase;letter-spacing:.16em}
.brand-wm.jeldwen{font-family:'Inter',sans-serif;font-weight:800;font-size:1.8rem;text-transform:uppercase;letter-spacing:.06em}
.brand-wm.thermatru{font-family:'Fraunces',serif;font-weight:500;font-size:2rem;letter-spacing:.01em}
.brand-wm.thermatru b{font-weight:700}
.brand-wm.masonite{font-family:'Inter',sans-serif;font-weight:700;font-size:2rem;letter-spacing:.04em}
.brand-wm.simonton{font-family:'Fraunces',serif;font-weight:600;font-size:2.1rem;letter-spacing:.01em}
.brand-wm.american{font-family:'Fraunces',serif;font-weight:600;font-size:1.6rem;font-style:italic;line-height:1.1;letter-spacing:.02em;text-align:center}
.brand-wm.american small{display:block;font-family:'Inter',sans-serif;font-style:normal;font-size:.62rem;letter-spacing:.2em;font-weight:500;text-transform:uppercase;margin-top:.15rem;opacity:.75}
.brand-wm.eris{font-family:'Inter',sans-serif;font-weight:300;font-size:2.2rem;text-transform:uppercase;letter-spacing:.3em}
@media(max-width:600px){
  .brand-wm.andersen,.brand-wm.marvin,.brand-wm.pella,.brand-wm.pgt,.brand-wm.jeldwen,.brand-wm.thermatru,.brand-wm.masonite,.brand-wm.simonton,.brand-wm.eris{font-size:1.4rem}
  .brand-wm.american{font-size:1.15rem}
}

/* ============ SERVICES ============ */
#services{background:var(--cream)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr}}
.service-card{background:var(--white);padding:2.25rem 2rem;border-radius:var(--radius);border:1px solid var(--sand);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s,opacity .8s;opacity:0;transform:translateY(30px);position:relative;overflow:hidden}
.service-card::after{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 100% 0%,rgba(180,136,77,.08),transparent 60%);opacity:0;transition:opacity .45s;pointer-events:none}
.service-card.in{opacity:1;transform:translateY(0)}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--oak)}
.service-card:hover::after{opacity:1}
.service-icon{width:48px;height:48px;border-radius:12px;background:var(--cream);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--oak-deep)}
.service-card h3{margin-bottom:.75rem}
.service-card p{font-size:.95rem;color:var(--ink)}
.service-card .more{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;font-size:.82rem;font-weight:600;color:var(--oak-deep);text-transform:uppercase;letter-spacing:.08em}
.service-card .more span{transition:transform .3s}
.service-card:hover .more span{transform:translateX(4px)}

/* ============ BEFORE / AFTER CAROUSEL ============ */
#before-after{background:var(--cream-deep)}
.ba-carousel{position:relative;margin-top:2rem;overflow:hidden;border-radius:var(--radius)}
.ba-track{display:flex;transition:transform .65s cubic-bezier(.2,.7,.2,1);will-change:transform}
.ba-item{flex:0 0 100%;min-width:0;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.ba-item-head{padding:1.5rem 2rem 0;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.75rem}
.ba-item-head h3{font-size:1.3rem;margin:0}
.ba-item-head .tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--oak-deep);font-weight:600}
.ba-slider{position:relative;aspect-ratio:4/3;overflow:hidden;margin-top:1.25rem;cursor:ew-resize;user-select:none;background:var(--sand)}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-drag:none;-webkit-user-drag:none}
.ba-slider .ba-after{z-index:1}
.ba-slider .ba-before{z-index:2;clip-path:inset(0 50% 0 0);will-change:clip-path}
.ba-slider .ba-handle{position:absolute;top:0;bottom:0;width:3px;background:var(--cream);z-index:3;left:50%;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(43,36,32,.3),0 8px 28px -8px rgba(43,36,32,.4);will-change:left;pointer-events:none}
.ba-slider .ba-handle::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--cream);border:1.5px solid var(--espresso);box-shadow:0 8px 28px -4px rgba(43,36,32,.35);display:flex;align-items:center;justify-content:center}
.ba-slider .ba-handle::after{content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.85rem;color:var(--espresso);letter-spacing:-.05em;font-weight:700;z-index:1}
.ba-slider .ba-labels{position:absolute;inset:0;z-index:4;pointer-events:none;display:flex;justify-content:space-between;padding:1rem 1.25rem;align-items:flex-start}
.ba-slider .ba-label{background:rgba(43,36,32,.78);color:var(--cream);padding:.35rem .7rem;border-radius:4px;font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;backdrop-filter:blur(4px)}
.ba-slider .ba-label.left{color:var(--cream);background:rgba(180,80,80,.88)}
.ba-slider .ba-label.right{background:rgba(107,142,127,.88)}
.ba-item-foot{padding:1.25rem 2rem 1.75rem;font-size:.92rem;color:var(--ink)}
.ba-controls{margin-top:1.75rem;display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}
.ba-arrow{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--espresso);background:transparent;color:var(--espresso);font-size:1rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .25s,color .25s,opacity .25s,transform .25s;line-height:1}
.ba-arrow:hover:not(:disabled){background:var(--espresso);color:var(--cream);transform:translateY(-1px)}
.ba-arrow:disabled{opacity:.3;cursor:default}
.ba-dots{display:inline-flex;gap:.6rem;align-items:center}
.ba-dot{width:9px;height:9px;border-radius:100px;border:none;padding:0;background:rgba(43,36,32,.22);cursor:pointer;transition:background .3s,width .3s;flex-shrink:0}
.ba-dot:hover{background:rgba(43,36,32,.45)}
.ba-dot.active{background:var(--oak);width:28px}
.ba-counter{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;min-width:3.5rem;text-align:center}

/* ============ SHOWCASE SCROLL-FRAME ============ */
#showcase-section{height:560vh;position:relative;background:var(--espresso)}
.showcase-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
#showcase-canvas{width:100%;height:100%;display:block}
.showcase-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--espresso);color:var(--cream);z-index:3;transition:opacity .6s ease}
.showcase-loader.hidden{opacity:0;pointer-events:none}
.showcase-loader-inner{text-align:center;font-family:'Fraunces',serif}
.showcase-loader-inner .t{font-size:1.2rem;letter-spacing:.02em;opacity:.85}
.showcase-loader-bar{width:240px;height:2px;background:rgba(247,242,234,.15);margin-top:1.25rem;border-radius:2px;overflow:hidden}
.showcase-loader-fill{height:100%;background:var(--oak);width:0%;transition:width .2s}
.showcase-vignette{position:absolute;inset:0;background:radial-gradient(1200px 700px at 50% 50%,transparent,rgba(0,0,0,.35) 90%);z-index:1;pointer-events:none}
.showcase-overlay-group{position:absolute;inset:0;z-index:2;pointer-events:none}
.showcase-chapter-badge{position:absolute;top:clamp(5rem,10vh,8rem);left:50%;transform:translateX(-50%) translateY(-8px);opacity:0;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);font-family:'Inter',sans-serif;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cream);background:rgba(43,36,32,.55);backdrop-filter:blur(10px);padding:.55rem 1.1rem;border-radius:100px;border:1px solid rgba(247,242,234,.15);white-space:nowrap}
.showcase-chapter-badge.active{opacity:1;transform:translateX(-50%) translateY(0)}
.showcase-title{position:absolute;left:50%;bottom:clamp(4rem,10vh,8rem);transform:translateX(-50%) translateY(24px);opacity:0;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1);font-family:'Fraunces',serif;font-weight:500;font-size:clamp(1.6rem,3.5vw,2.75rem);color:var(--cream);text-align:center;text-shadow:0 4px 40px rgba(0,0,0,.6);max-width:22ch;padding:0 1rem;letter-spacing:-.01em}
.showcase-title em{font-style:italic;color:var(--oak);font-weight:400}
.showcase-title.active{opacity:1;transform:translateX(-50%) translateY(0)}
.showcase-intro{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center;color:var(--cream);opacity:1;transition:opacity .6s ease;padding:2rem 2.5rem;background:rgba(20,16,14,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(247,242,234,.1);border-radius:var(--radius);max-width:min(540px,calc(100vw - 2rem));box-shadow:0 30px 80px -40px rgba(0,0,0,.5)}
.showcase-intro.hidden{opacity:0}
.showcase-intro .eyebrow{color:var(--oak);margin-bottom:.75rem}
.showcase-intro h2{color:var(--cream);font-size:clamp(1.8rem,4.2vw,3rem);max-width:24ch;margin:0 auto;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.showcase-intro p{color:rgba(247,242,234,.85);max-width:42ch;margin:1rem auto 0;font-size:clamp(.95rem,1.2vw,1.05rem)}

/* ============ STATS (dark section) ============ */
#stats{background:var(--espresso);color:var(--cream)}
#stats h2{color:var(--cream)}
#stats .eyebrow{color:var(--oak)}
#stats .section-head p{color:rgba(247,242,234,.7)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
@media(max-width:800px){.stats-grid{grid-template-columns:1fr}}
.stat-card{padding:2.5rem 0;border-top:1px solid rgba(247,242,234,.15)}
.stat-card .num{font-family:'Fraunces',serif;font-size:clamp(3.5rem,7vw,5.5rem);font-weight:600;color:var(--cream);line-height:1}
.stat-card .num .suffix{color:var(--oak);font-size:.5em;vertical-align:super;margin-left:.1em}
.stat-card .label{margin-top:1rem;font-size:.95rem;color:rgba(247,242,234,.7);max-width:26ch}

/* ============ TESTIMONIALS ============ */
#testimonials{background:var(--cream)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.testimonial-grid{grid-template-columns:1fr}}
.testimonial{padding:2.25rem;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);position:relative}
.testimonial.placeholder{background:repeating-linear-gradient(135deg,var(--white) 0 10px,#FBF7F0 10px 20px);border-style:dashed;border-color:var(--oak)}
.testimonial.placeholder .placeholder-badge{position:absolute;top:.9rem;right:.9rem;font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;background:var(--oak);color:var(--white);padding:.2rem .55rem;border-radius:4px}
.testimonial p.quote{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:500;color:var(--espresso);line-height:1.4;margin-bottom:1.5rem}
.testimonial .stars{color:var(--oak);letter-spacing:.2em;margin-bottom:1rem;font-size:.9rem}
.testimonial .name{font-size:.9rem;font-weight:600;color:var(--espresso)}
.testimonial .where{font-size:.8rem;color:var(--muted);margin-top:.15rem}

/* ============ CONTACT ============ */
#contact{background:var(--oak);color:var(--cream);position:relative;overflow:hidden}
#contact::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 600px at 80% 20%,rgba(247,242,234,.18),transparent 60%);pointer-events:none}
#contact h2{color:var(--cream)}
#contact .eyebrow{color:rgba(247,242,234,.75)}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start;position:relative;z-index:1}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-copy p{color:rgba(247,242,234,.88);font-size:1.1rem;margin-bottom:2rem;max-width:42ch}
.contact-copy .btn{background:var(--espresso);color:var(--cream);font-size:1rem;padding:1.1rem 2rem}
.contact-copy .btn:hover{background:#1c1714}
.contact-info{background:rgba(43,36,32,.3);backdrop-filter:blur(6px);border:1px solid rgba(247,242,234,.18);border-radius:var(--radius);padding:2.25rem}
.contact-info .row{padding:1.1rem 0;border-bottom:1px solid rgba(247,242,234,.18);display:flex;flex-direction:column;gap:.2rem}
.contact-info .row:last-child{border-bottom:none;padding-bottom:0}
.contact-info .row:first-child{padding-top:0}
.contact-info .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(247,242,234,.65)}
.contact-info .val{font-family:'Fraunces',serif;font-size:1.2rem;color:var(--cream);overflow-wrap:anywhere;word-break:break-word}
.contact-info .val.placeholder-val{font-style:italic;opacity:.65;font-size:.95rem}
.contact-info .val a{color:var(--cream);transition:color .2s,text-shadow .2s}
.contact-info .val a:hover{color:var(--white);text-shadow:0 0 12px rgba(247,242,234,.4)}

.contact-financing{position:relative;z-index:1;margin-top:clamp(1.75rem,3vw,2.5rem)}
.contact-financing .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(247,242,234,.75);margin-bottom:1rem;display:block;font-weight:600}
.contact-financing-options{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(1rem,2vw,1.5rem);align-items:center;max-width:42ch}
@media(max-width:760px){.contact-financing-options{grid-template-columns:1fr;gap:1.25rem;justify-items:center}}
.contact-financing .apply-graphic{display:block;border-radius:var(--radius);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;width:100%}
.contact-financing .apply-graphic:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(0,0,0,.35)}
.contact-financing .apply-graphic img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.contact-financing .apply-qr{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:1rem 1.25rem;background:rgba(247,242,234,.95);border-radius:var(--radius);border:none;transition:background .3s ease,transform .3s ease}
.contact-financing .apply-qr:hover{background:var(--cream);transform:translateY(-2px)}
.contact-financing .apply-qr img{width:130px;height:130px;border-radius:6px;background:var(--white);padding:6px;border:1px solid var(--sand)}
.contact-financing .apply-qr .qr-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink);font-weight:600;text-align:center}

/* ============ FOOTER ============ */
footer{background:var(--espresso);color:rgba(247,242,234,.7);padding:3rem 0 2rem}
footer .inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}
footer .brand{font-family:'Fraunces',serif;color:var(--cream);font-size:1rem}
footer .brand span{color:var(--oak)}
footer .meta{font-size:.82rem}

/* ============ UTILS ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}

/* ============ FINANCING PAGE ============ */
.financing-hero{padding:clamp(8rem,16vw,12rem) 0 clamp(4rem,8vw,6rem);background:var(--espresso);color:var(--cream);position:relative;overflow:hidden}
.financing-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 80% 20%,rgba(180,136,77,.18),transparent 60%);pointer-events:none}
.financing-hero .container{position:relative;z-index:1}
.financing-hero .eyebrow{color:var(--oak);margin-bottom:1rem}
.financing-hero h1{color:var(--cream);max-width:18ch;margin-bottom:1.5rem}
.financing-hero h1 em{font-style:italic;color:var(--oak);font-weight:500}
.financing-hero p.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);color:rgba(247,242,234,.85);max-width:52ch;margin-bottom:2.25rem}
.financing-hero .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
.financing-hero .btn.primary{background:var(--cream);color:var(--espresso)}
.financing-hero .btn.primary:hover{background:var(--white)}
.financing-hero .btn.ghost{background:transparent;color:var(--cream);border-color:var(--cream)}
.financing-hero .btn.ghost:hover{background:var(--cream);color:var(--espresso)}
.financing-hero .partner-line{margin-top:2rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,242,234,.55)}
.financing-hero .partner-line strong{color:var(--cream);font-weight:600;letter-spacing:.05em;text-transform:none;font-family:'Fraunces',serif;font-size:1rem}

#financing-pitch{background:var(--cream)}
.pitch-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(3rem,6vw,5rem);align-items:start}
@media(max-width:900px){.pitch-grid{grid-template-columns:1fr}}
.pitch-copy h2 span{color:var(--oak);font-style:italic;font-weight:500}
.pitch-copy p{font-size:1.08rem;margin-bottom:1.15rem}
.benefits-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}
@media(max-width:600px){.benefits-list{grid-template-columns:1fr}}
.benefit-card{padding:1.5rem;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s ease,box-shadow .35s ease,opacity .6s ease;opacity:0;transform:translateY(24px)}
.benefit-card.in{opacity:1;transform:translateY(0)}
.benefit-card:hover{transform:translateY(-3px);border-color:var(--oak);box-shadow:var(--shadow-sm)}
.benefit-card .check{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--cream);color:var(--oak-deep);margin-bottom:.85rem}
.benefit-card h3{font-size:1.05rem;margin-bottom:.4rem}
.benefit-card p{font-size:.9rem;color:var(--ink);margin:0}

#apply-now{background:var(--cream-deep)}
#apply-now .section-head{margin-left:auto;margin-right:auto;text-align:center}
#apply-now .section-head p{margin-left:auto;margin-right:auto}
.apply-options{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(1.75rem,4vw,3rem);align-items:center;max-width:900px;margin:0 auto;padding:clamp(1.75rem,4vw,2.75rem);background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);box-shadow:var(--shadow-lg)}
@media(max-width:760px){.apply-options{grid-template-columns:1fr;gap:1.75rem}}
.apply-graphic{display:block;border-radius:var(--radius);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.apply-graphic:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.apply-graphic img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.apply-qr{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:1.25rem;background:var(--cream);border-radius:var(--radius);border:1px solid var(--sand);transition:border-color .3s ease}
.apply-qr:hover{border-color:var(--oak)}
.apply-qr img{width:170px;height:170px;border-radius:8px;background:var(--white);padding:8px;border:1px solid var(--sand)}
.apply-qr .qr-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:600;text-align:center}
.apply-small-print{display:block;text-align:center;font-size:.78rem;color:var(--muted);margin-top:1.5rem;letter-spacing:.04em}

#how-it-works{background:var(--cream)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:800px){.steps-grid{grid-template-columns:1fr}}
.step-card{padding:2rem 1.75rem;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);position:relative;transition:opacity .6s,transform .6s;opacity:0;transform:translateY(24px)}
.step-card.in{opacity:1;transform:translateY(0)}
.step-card .num{font-family:'Fraunces',serif;font-size:.88rem;font-weight:600;color:var(--oak-deep);text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.15rem;display:flex;align-items:center;gap:.7rem}
.step-card .num::before{content:"";width:28px;height:1px;background:var(--oak)}
.step-card h3{font-size:1.15rem;margin-bottom:.5rem}
.step-card p{font-size:.92rem;color:var(--ink)}

#financing-cta{background:var(--oak);color:var(--cream);position:relative;overflow:hidden}
#financing-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 600px at 80% 20%,rgba(247,242,234,.18),transparent 60%);pointer-events:none}
#financing-cta h2{color:var(--cream)}
#financing-cta .eyebrow{color:rgba(247,242,234,.75)}
.financing-cta-inner{position:relative;z-index:1;text-align:center;max-width:42rem;margin:0 auto}
.financing-cta-inner p{color:rgba(247,242,234,.88);font-size:1.1rem;margin:1.5rem auto 2rem;max-width:36ch}
.financing-cta-inner .btn{background:var(--espresso);color:var(--cream);font-size:1rem;padding:1.1rem 2rem}
.financing-cta-inner .btn:hover{background:#1c1714}
.financing-cta-inner .btn.ghost{background:transparent;color:var(--cream);border:1.5px solid var(--cream);margin-left:.6rem}
.financing-cta-inner .btn.ghost:hover{background:var(--cream);color:var(--espresso)}
