
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blush:#E8CBBF;
  --blush-light:#F5EDE9;
  --blush-mid:#D4A89A;
  --mauve:#7A4E40;
  --mauve-light:#A87060;
  --mauve-deep:#5C3528;
  --cream:#FAF5F2;
  --warm-white:#FDFAF8;
  --section-alt:#F0E6E1;
  --charcoal:#2C1F1A;
  --text:#4A3428;
  --text-muted:#8A6E65;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--warm-white);color:var(--text);font-weight:300;line-height:1.7;overflow-x:hidden}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:300;
  display:flex;align-items:center;justify-content:space-between;
  padding:0.85rem 4rem;
  background:rgba(253,250,248,0.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(122,78,64,0.1);
  transition:all 0.3s;
}
.nav-logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none}
.nav-logo img{height:48px;width:48px;object-fit:contain}
.nav-logo-text{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--charcoal);letter-spacing:0.06em;line-height:1.15}
.nav-logo-sub{font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-muted);display:block}
.nav-links{display:flex;gap:2.2rem;list-style:none;align-items:center}
.nav-links a{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.2s}
.nav-links a:hover{color:var(--mauve)}
.nav-cta{background:var(--mauve)!important;color:var(--cream)!important;padding:0.55rem 1.4rem;border-radius:1px!important;font-weight:400!important}
.nav-cta:hover{background:var(--mauve-deep)!important;color:white!important}

/* ── HERO ── */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:5rem}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(1) saturate(1.05)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(44,31,26,0.48) 0%,rgba(92,53,40,0.15) 50%,rgba(44,31,26,0.45) 100%);z-index:1}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 4rem;width:100%}
.hero-eyebrow{font-size:0.68rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--blush);margin-bottom:1.2rem;display:flex;align-items:center;gap:0.8rem;animation:fadeUp 0.9s ease both}
.hero-eyebrow::before{content:'';display:inline-block;width:36px;height:1px;background:var(--blush-mid)}
.hero h1{font-family:var(--serif);font-size:clamp(3rem,6vw,5.5rem);font-weight:300;line-height:1.08;color:#FAF5F2;margin-bottom:1.2rem;animation:fadeUp 1s 0.15s ease both;max-width:700px;text-shadow:0 2px 20px rgba(44,31,26,0.4)}
.hero h1 em{font-style:italic;color:var(--blush)}
.hero-slogan{font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--blush);margin-bottom:1.5rem;animation:fadeUp 1s 0.25s ease both;text-shadow:0 1px 8px rgba(44,31,26,0.3)}
.hero-desc{font-size:0.95rem;color:rgba(245,237,233,0.92);max-width:480px;line-height:1.9;margin-bottom:2.5rem;animation:fadeUp 1s 0.35s ease both;text-shadow:0 1px 8px rgba(44,31,26,0.3)}
.hero-actions{display:flex;gap:1.2rem;align-items:center;animation:fadeUp 1s 0.45s ease both}
.btn-primary{background:var(--mauve);color:var(--cream);padding:1rem 2.2rem;border:1px solid var(--mauve);font-size:0.73rem;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;transition:all 0.25s}
.btn-primary:hover{background:var(--mauve-deep);border-color:var(--mauve-deep)}
.btn-ghost-light{color:var(--blush-light);font-size:0.73rem;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:0.5rem;transition:color 0.2s}
.btn-ghost-light::after{content:'→';transition:transform 0.2s}
.btn-ghost-light:hover{color:white}
.btn-ghost-light:hover::after{transform:translateX(4px)}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(245,237,233,0.4);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;animation:bounce 2s infinite}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(245,237,233,0.4),transparent)}

/* ── TRUST BAR ── */
.trust-bar{background:var(--mauve-deep);padding:1.1rem 4rem;display:flex;justify-content:center;gap:3.5rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:0.6rem;color:rgba(245,237,233,0.75);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase}
.trust-gem{color:var(--blush-mid);font-size:0.7rem}

/* ── SECTIONS COMMON ── */
section{padding:6rem 4rem}
.section-inner{max-width:1200px;margin:0 auto}
.section-label{font-size:0.65rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--mauve-light);margin-bottom:0.6rem;display:flex;align-items:center;gap:0.7rem}
.section-label::before{content:'';display:inline-block;width:20px;height:1px;background:var(--mauve-light)}
.section-title{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.18;color:var(--charcoal);margin-bottom:0.8rem}
.section-sub{color:var(--text-muted);max-width:540px;line-height:1.9;margin-bottom:3rem;font-size:0.9rem}

/* ── PHILOSOPHY ── */
.phil-bg{background:var(--cream)}
.phil-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.phil-imgs{position:relative;height:560px}
.phil-img-main{position:absolute;top:0;left:0;width:72%;height:82%;object-fit:cover;filter:sepia(0.12) saturate(1.1)}
.phil-img-accent{position:absolute;bottom:0;right:0;width:50%;height:52%;object-fit:cover;border:5px solid var(--warm-white);filter:sepia(0.12) saturate(1.1)}
.phil-quote{font-family:var(--serif);font-size:1.5rem;font-style:italic;color:var(--mauve);line-height:1.5;margin-bottom:1.5rem;padding-left:1.5rem;border-left:2px solid var(--blush-mid)}
.phil-values{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.5rem}
.phil-value{display:flex;gap:0.9rem;align-items:flex-start}
.pv-icon{width:5px;height:5px;border-radius:50%;background:var(--mauve-light);flex-shrink:0;margin-top:0.65rem}
.pv-text h4{font-size:0.82rem;font-weight:500;color:var(--charcoal);margin-bottom:0.15rem;letter-spacing:0.04em}
.pv-text p{font-size:0.82rem;color:var(--text-muted);line-height:1.65}

/* ── SERVICES ── */
.srv-bg{background:var(--section-alt)}
.srv-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;align-items:end}
.srv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(122,78,64,0.12)}
.srv-card{background:var(--warm-white);padding:2.8rem 2.2rem;transition:all 0.35s;position:relative;overflow:hidden;cursor:default}
.srv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--mauve);transform:scaleX(0);transform-origin:left;transition:transform 0.35s}
.srv-card:hover{background:var(--cream);transform:translateY(-3px);box-shadow:0 12px 40px rgba(92,53,40,0.1)}
.srv-card:hover::before{transform:scaleX(1)}
.srv-num{font-family:var(--serif);font-size:3rem;font-weight:300;color:rgba(122,78,64,0.12);line-height:1;margin-bottom:0.8rem}
.srv-card h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--charcoal);margin-bottom:0.8rem;line-height:1.2}
.srv-card .srv-tagline{font-family:var(--serif);font-size:0.9rem;font-style:italic;color:var(--mauve-light);margin-bottom:1rem}
.srv-card p{font-size:0.83rem;color:var(--text-muted);line-height:1.8;margin-bottom:1.2rem}
.srv-includes{list-style:none;display:flex;flex-direction:column;gap:0.35rem}
.srv-includes li{font-size:0.75rem;color:var(--text-muted);display:flex;align-items:center;gap:0.5rem}
.srv-includes li::before{content:'';width:3px;height:3px;background:var(--mauve-light);border-radius:50%;flex-shrink:0}
.srv-tag{display:inline-block;font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;padding:0.28rem 0.7rem;background:rgba(122,78,64,0.08);color:var(--mauve);margin-top:1.2rem}

/* ── ADD-ONS ── */
.addons-bg{background:var(--mauve-deep);padding:5rem 4rem}
.addons-inner{max-width:1200px;margin:0 auto}
.addons-inner .section-label{color:var(--blush-mid)}
.addons-inner .section-label::before{background:var(--blush-mid)}
.addons-inner .section-title{color:var(--blush-light)}
.addons-inner .section-sub{color:rgba(245,237,233,0.55)}
.addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:0.5rem}
.addon-item{background:rgba(255,255,255,0.05);border:1px solid rgba(232,203,191,0.15);padding:1.4rem 1.6rem;transition:all 0.25s}
.addon-item:hover{background:rgba(255,255,255,0.09);border-color:rgba(232,203,191,0.35)}
.addon-icon{font-size:1.2rem;margin-bottom:0.6rem}
.addon-item h4{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--blush-light);margin-bottom:0.3rem}
.addon-item p{font-size:0.76rem;color:rgba(245,237,233,0.5);line-height:1.6}

/* ── GALLERY ── */
.gallery-section{background:var(--charcoal);padding:5rem 0}
.gallery-header{text-align:center;padding:0 4rem;margin-bottom:2.5rem}
.gallery-header .section-label{justify-content:center}
.gallery-header .section-label::before{display:none}
.gallery-header .section-title{color:var(--blush-light);text-align:center}
.gallery-scroll{display:flex;gap:4px;overflow-x:auto;padding:0 4rem;scrollbar-width:none;cursor:grab}
.gallery-scroll::-webkit-scrollbar{display:none}
.gallery-scroll:active{cursor:grabbing}
.gallery-item{flex-shrink:0;position:relative;overflow:hidden;width:340px;height:255px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;filter:sepia(0.08) saturate(1.05)}
.gallery-item:hover img{transform:scale(1.05)}

/* ── PROCESS ── */
.process-bg{background:var(--blush-light)}
.process-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:3rem;position:relative}
.process-steps::before{content:'';position:absolute;top:2rem;left:6%;right:6%;height:1px;background:rgba(122,78,64,0.2)}
.process-step{padding:0 1rem;text-align:center}
.step-circle{width:4rem;height:4rem;border-radius:50%;background:var(--warm-white);border:1px solid rgba(122,78,64,0.25);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-family:var(--serif);font-size:1.1rem;font-weight:300;color:var(--mauve);position:relative;z-index:1}
.process-step h4{font-family:var(--serif);font-size:1rem;font-weight:400;margin-bottom:0.4rem;color:var(--charcoal)}
.process-step p{font-size:0.76rem;color:var(--text-muted);line-height:1.65}

/* ── AREAS ── */
.areas-bg{background:var(--cream)}
.areas-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:4rem;align-items:start}
.areas-pills{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.5rem}
.pill{background:var(--blush-light);border:1px solid rgba(122,78,64,0.18);padding:0.38rem 0.9rem;font-size:0.73rem;letter-spacing:0.05em;color:var(--text-muted)}
.pill.hero-pill{background:var(--mauve);color:var(--cream);border-color:var(--mauve)}
.map-wrap{overflow:hidden;border:1px solid rgba(122,78,64,0.15)}
.map-wrap iframe{width:100%;height:480px;border:none;display:block}
.map-note{padding:0.9rem 1.2rem;font-size:0.75rem;color:var(--text-muted);text-align:center;background:var(--blush-light);border-top:1px solid rgba(122,78,64,0.12)}

/* ── TESTIMONIALS ── */
.test-bg{background:var(--section-alt)}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.test-card{background:var(--warm-white);border:1px solid rgba(122,78,64,0.12);padding:2.2rem;position:relative}
.test-card::before{content:'"';font-family:var(--serif);font-size:5rem;color:var(--blush-mid);position:absolute;top:-0.5rem;left:1.5rem;line-height:1;opacity:0.5}
.stars{color:var(--mauve-light);font-size:0.8rem;letter-spacing:0.08em;margin-bottom:1rem}
.test-text{font-family:var(--serif);font-size:1.02rem;font-style:italic;color:var(--text);line-height:1.8;margin-bottom:1.4rem}
.test-author{font-size:0.73rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mauve)}
.test-loc{font-size:0.7rem;color:var(--text-muted);margin-top:0.15rem}

/* ── CTA STRIP ── */
.cta-strip{background:var(--mauve);padding:5rem 4rem;text-align:center}
.cta-strip .section-title{color:var(--blush-light);margin-bottom:0.8rem}
.cta-strip p{color:rgba(245,237,233,0.75);margin-bottom:2.2rem;font-size:0.95rem;max-width:540px;margin-left:auto;margin-right:auto}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-cream{background:var(--cream);color:var(--mauve-deep);padding:0.95rem 2.2rem;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all 0.2s}
.btn-cream:hover{background:var(--blush-light)}
.btn-outline-cream{border:1px solid rgba(245,237,233,0.45);color:var(--blush-light);padding:0.95rem 2.2rem;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;transition:all 0.2s}
.btn-outline-cream:hover{border-color:var(--blush-light);color:white}

/* ── QUOTE FORM ── */
.form-bg{background:var(--blush-light)}
.form-grid{display:flex;flex-direction:column;gap:3rem;align-items:stretch}
.form-info h3{font-family:var(--serif);font-size:1.7rem;font-weight:300;color:var(--charcoal);margin-bottom:0.8rem;line-height:1.25}.form-info{order:2}
.form-info p{font-size:0.86rem;color:var(--text-muted);line-height:1.85;margin-bottom:1.5rem}
.contact-item{display:flex;align-items:center;gap:0.7rem;margin-bottom:0.7rem;font-size:0.84rem;color:var(--text-muted)}
.contact-item a{color:var(--mauve);text-decoration:none}
.contact-item a:hover{text-decoration:underline}
.ci-dot{width:5px;height:5px;border-radius:50%;background:var(--blush-mid);flex-shrink:0}
.quote-form{background:var(--warm-white);padding:2.5rem;border:1px solid rgba(122,78,64,0.12)}
.form-section-title{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--mauve);margin:1.8rem 0 1rem;padding-bottom:0.5rem;border-bottom:1px solid rgba(122,78,64,0.1);letter-spacing:0.03em}
.form-section-title:first-child{margin-top:0}
.fg{margin-bottom:1rem}
.fg label{display:block;font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.4rem}
.fg input,.fg select,.fg textarea{width:100%;padding:0.75rem 0.9rem;border:1px solid rgba(122,78,64,0.18);background:var(--cream);font-family:var(--sans);font-size:0.84rem;color:var(--charcoal);font-weight:300;outline:none;transition:border-color 0.2s;appearance:none;border-radius:0}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--mauve)}
.fg textarea{resize:vertical;min-height:90px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem}
.fg-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.8rem}
.check-group{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.3rem}
.check-pill{display:flex;align-items:center;gap:0.4rem;cursor:pointer;background:var(--cream);border:1px solid rgba(122,78,64,0.18);padding:0.35rem 0.75rem;font-size:0.73rem;color:var(--text-muted);transition:all 0.2s;user-select:none}
.check-pill:hover{border-color:var(--mauve-light);color:var(--mauve)}
.check-pill input{display:none}
.check-pill.active{background:var(--mauve);border-color:var(--mauve);color:var(--cream)}
.radio-group{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.3rem}
.radio-pill{display:flex;align-items:center;gap:0.4rem;cursor:pointer;background:var(--cream);border:1px solid rgba(122,78,64,0.18);padding:0.35rem 0.85rem;font-size:0.73rem;color:var(--text-muted);transition:all 0.2s;user-select:none}
.radio-pill:hover{border-color:var(--mauve-light);color:var(--mauve)}
.radio-pill input{display:none}
.radio-pill.active{background:var(--mauve);border-color:var(--mauve);color:var(--cream)}
.btn-submit{width:100%;background:var(--mauve);color:var(--cream);padding:1rem;border:none;font-family:var(--sans);font-size:0.73rem;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;margin-top:1.2rem;font-weight:400}
.btn-submit:hover{background:var(--mauve-deep)}

/* ── FAQ ── */
.faq-bg{background:var(--cream)}
.faq-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:4rem;align-items:start}
.faq-list{display:flex;flex-direction:column;gap:0.6rem}
.faq-item{border-bottom:1px solid rgba(122,78,64,0.12)}
.faq-btn{width:100%;text-align:left;background:none;border:none;padding:1.1rem 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--sans);font-size:0.86rem;font-weight:400;color:var(--charcoal);line-height:1.4}
.faq-btn:hover{color:var(--mauve)}
.faq-chevron{flex-shrink:0;width:18px;height:18px;border:1px solid rgba(122,78,64,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.65rem;color:var(--mauve);transition:all 0.3s}
.faq-answer{display:none;padding:0 0 1.1rem;font-size:0.83rem;color:var(--text-muted);line-height:1.85}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-chevron{background:var(--mauve);color:var(--cream);border-color:var(--mauve);transform:rotate(45deg)}
.faq-aside{position:sticky;top:7rem}
.faq-aside-card{background:var(--warm-white);border:1px solid rgba(122,78,64,0.12);padding:2.2rem}
.faq-aside-card h4{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--charcoal);margin-bottom:0.6rem}
.faq-aside-card p{font-size:0.82rem;color:var(--text-muted);line-height:1.8;margin-bottom:1.5rem}

/* ── FOOTER ── */
footer{background:var(--mauve-deep);padding:3.5rem 4rem 1.5rem}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(245,237,233,0.08);margin-bottom:1.5rem}
.footer-logo{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.8rem}
.footer-logo img{height:42px;width:42px;object-fit:contain}
.footer-logo-text{font-family:var(--serif);font-size:1.1rem;font-weight:300;color:var(--blush-light)}
.footer-tagline{font-size:0.78rem;color:rgba(245,237,233,0.4);line-height:1.75;max-width:230px}
.footer-col h4{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--blush-mid);margin-bottom:1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.5rem}
.footer-col a{font-size:0.78rem;color:rgba(245,237,233,0.45);text-decoration:none;transition:color 0.2s}
.footer-col a:hover{color:var(--blush)}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:0.7rem;color:rgba(245,237,233,0.28)}
.footer-slogan{font-family:var(--serif);font-size:0.85rem;font-style:italic;color:var(--blush-mid);opacity:0.6}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}
@keyframes kenburns{0%{transform:scale(1)}100%{transform:scale(1.03)}}
.hero-bg img{animation:kenburns 14s ease-in-out infinite alternate}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.75s ease,transform 0.75s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  nav{padding:0.8rem 1.2rem}
  .nav-links{display:none}
  section,.addons-bg,.cta-strip,.form-bg,.gallery-section,.faq-bg{padding:3.5rem 1.2rem}
  .hero-content{padding:0 1.2rem}
  .trust-bar{padding:0.9rem 1.2rem;gap:1.2rem}
  .phil-grid,.srv-intro,.areas-grid,.form-grid,.faq-layout,.footer-inner{grid-template-columns:1fr}
  .phil-imgs{height:280px}
  .srv-cards{grid-template-columns:1fr}
  .addons-grid{grid-template-columns:1fr 1fr}
  .process-steps{grid-template-columns:1fr 1fr;gap:1.5rem}
  .process-steps::before{display:none}
  .test-grid{grid-template-columns:1fr}
  .fg-row,.fg-3{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .faq-aside{display:none}
  .faq-layout{grid-template-columns:1fr}
}

/* ══ FAQ HERO ══ */
.faq-hero{position:relative;height:70vh;min-height:480px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.faq-hero-bg{position:absolute;inset:0;z-index:0}
.faq-hero-img{width:100%;height:100%;object-fit:cover;animation:kenburns 16s ease-in-out infinite alternate}
.faq-hero-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(44,31,26,0.65) 0%,rgba(92,53,40,0.35) 50%,rgba(44,31,26,0.62) 100%)}
.faq-hero-content{position:relative;z-index:2;text-align:center;padding:0 2rem;max-width:780px}
.faq-eyebrow{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:0.65rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--blush-mid);margin-bottom:1.5rem}
.faq-line{display:inline-block;width:40px;height:1px;background:var(--blush-mid);opacity:0.6}
.faq-hero-title{font-family:var(--serif);font-size:clamp(3rem,7vw,6rem);font-weight:300;color:#FAF5F2;line-height:1.05;margin-bottom:1.2rem;overflow:hidden}
.faq-word{display:inline-block;opacity:0;transform:translateY(60px);animation:wordRise 0.9s cubic-bezier(0.22,1,0.36,1) forwards}
.faq-w1{animation-delay:0.1s}
.faq-w2{animation-delay:0.28s;font-style:italic;color:var(--blush);margin:0 0.3em}
.faq-w3{animation-delay:0.46s}
.faq-hero-sub{font-size:0.92rem;color:rgba(245,237,233,0.7);max-width:520px;margin:0 auto 2rem;line-height:1.9;animation:fadeUp 1s 0.65s ease both}
.faq-hero-scroll{width:1px;height:50px;background:linear-gradient(to bottom,rgba(245,237,233,0.5),transparent);margin:0 auto;animation:scrollPulse 2s ease-in-out infinite}
.faq-aside-img-wrap{position:relative}
.faq-aside-img{width:100%;height:280px;object-fit:cover;filter:sepia(0.08) saturate(1.1)}
.faq-aside-badge{position:absolute;bottom:-1.2rem;right:-1rem;background:var(--mauve);color:var(--cream);padding:1rem 1.2rem;display:flex;align-items:center;gap:0.6rem;box-shadow:0 8px 24px rgba(92,53,40,0.25)}
.faq-badge-num{font-family:var(--serif);font-size:2.2rem;font-weight:300;line-height:1}
.faq-badge-text{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;line-height:1.4;opacity:0.85}
@keyframes wordRise{to{opacity:1;transform:translateY(0)}}
@keyframes scrollPulse{0%,100%{opacity:0.3;transform:scaleY(1)}50%{opacity:0.9;transform:scaleY(1.15)}}

/* ══ HAMBURGER MENU ══ */
.nav-mobile { position: relative; display: none; }

.hamburger {
  background: var(--mauve);
  border: none;
  border-radius: 2px;
  padding: 0.6rem 0.75rem;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.hamburger:hover { background: var(--mauve-deep); }
.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #FDFAF8;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.nav-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 1rem);
  right: 0;
  background: #FDFAF8;
  border: 1px solid rgba(122,78,64,0.2);
  border-top: 3px solid var(--mauve);
  border-radius: 0 0 4px 4px;
  min-width: 240px;
  box-shadow: 0 16px 48px rgba(44,31,26,0.18);
  z-index: 9999;
  overflow: hidden;
  animation: dropDown 0.22s ease;
}
.nav-dropdown.open { display: block; }

@keyframes dropDown {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.nav-dropdown a {
  display: flex;
  align-items: center;
  padding: 1rem 1.6rem;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2C1F1A;
  text-decoration: none;
  border-bottom: 1px solid rgba(122,78,64,0.08);
  transition: all 0.18s;
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  background: #FDFAF8;
}
.nav-dropdown a:last-child { border-bottom: none; }
.nav-dropdown a:hover {
  background: #F5EDE9;
  color: #7A4E40;
  padding-left: 2rem;
}
.nav-dropdown a.dd-home {
  font-weight: 600;
  color: #5C3528;
  background: #F5EDE9;
  border-bottom: 1px solid rgba(122,78,64,0.15);
}
.nav-dropdown a.dd-home:hover {
  background: #E8CBBF;
}
/* Quote link highlighted */
.nav-dropdown a:nth-child(2) {
  color: #7A4E40;
  font-weight: 500;
}

/* Show hamburger on ALL screens, hide desktop links on mobile */
@media (max-width: 960px) {
  .nav-links { display: none !important; }
  .nav-mobile { display: block; }
}

/* On desktop: show BOTH nav-links and hamburger (hamburger hidden by default) */
@media (min-width: 961px) {
  .nav-links { display: flex !important; }
  .nav-mobile { display: block; }
}

/* Overlay to close menu when clicking outside */
.menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 998;
  background: rgba(0,0,0,0.08);
}
.menu-overlay.open { display: block; }

/* ══════════ v2 additions ══════════ */
a{color:inherit}
img{max-width:100%}
.skip-link{position:absolute;left:-999px;top:0;background:var(--mauve);color:var(--cream);padding:.6rem 1rem;z-index:1000}
.skip-link:focus{left:1rem;top:1rem}

/* nav: desktop links only on desktop, hamburger only on mobile */
@media (min-width:961px){.nav-mobile{display:none!important}}
.nav-links a.active{color:var(--mauve)}
.nav-phone{font-size:.72rem!important;letter-spacing:.08em!important;text-transform:none!important;color:var(--mauve)!important;white-space:nowrap}
.nav-dropdown a.dd-cta{background:var(--mauve);color:var(--cream)!important;font-weight:500}
.nav-dropdown a.dd-cta:hover{background:var(--mauve-deep);color:#fff!important}
.nav-dropdown a:nth-child(2){color:inherit;font-weight:400}

/* hero (home) — SEO H1 as eyebrow, slogan as display */
.hero h1.hero-eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:400;line-height:1.5;color:var(--blush);text-shadow:none;max-width:none;margin-bottom:1.2rem}
.hero-display{font-family:var(--serif);font-size:clamp(3rem,6vw,5.5rem);font-weight:300;line-height:1.08;color:#FAF5F2;margin-bottom:1.2rem;animation:fadeUp 1s .15s ease both;max-width:700px;text-shadow:0 2px 20px rgba(44,31,26,.4)}
.hero-display em{font-style:italic;color:var(--blush)}
.hero-rating{display:inline-flex;align-items:center;gap:.6rem;margin-top:2rem;color:rgba(245,237,233,.9);font-size:.78rem;letter-spacing:.06em;text-decoration:none;animation:fadeUp 1s .55s ease both}
.hero-rating .g-stars{color:#F2C46D;letter-spacing:.1em}
.hero-rating:hover{color:#fff}

/* inner page hero */
.page-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;padding:9rem 4rem 4.5rem}
.page-hero.short{min-height:44vh}
.page-hero-bg{position:absolute;inset:0;z-index:0}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;animation:kenburns 16s ease-in-out infinite alternate}
.page-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(44,31,26,.7) 0%,rgba(92,53,40,.38) 55%,rgba(44,31,26,.66) 100%)}
.page-hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;width:100%}
.page-hero .crumbs{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blush-mid);margin-bottom:1.1rem}
.page-hero .crumbs a{color:var(--blush-mid);text-decoration:none}
.page-hero .crumbs a:hover{color:#fff}
.page-hero h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.4rem);font-weight:300;line-height:1.08;color:#FAF5F2;max-width:820px;margin-bottom:1rem;text-shadow:0 2px 20px rgba(44,31,26,.4);animation:fadeUp 1s .1s ease both}
.page-hero h1 em{font-style:italic;color:var(--blush)}
.page-hero .lede{font-size:.98rem;color:rgba(245,237,233,.88);max-width:560px;line-height:1.9;animation:fadeUp 1s .25s ease both}
.page-hero .hero-actions{margin-top:2rem}

/* prose + two-column content */
.split{display:grid;grid-template-columns:1.25fr 1fr;gap:4.5rem;align-items:start}
.split.rev{grid-template-columns:1fr 1.25fr}
.prose p{font-size:.92rem;line-height:1.95;color:var(--text);margin-bottom:1.1rem}
.prose h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:300;line-height:1.2;color:var(--charcoal);margin:0 0 1rem}
.prose h3{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--charcoal);margin:2rem 0 .7rem}
.prose ul.ticks{list-style:none;margin:0 0 1.4rem;display:flex;flex-direction:column;gap:.55rem}
.prose ul.ticks li{font-size:.88rem;color:var(--text);display:flex;gap:.7rem;line-height:1.6}
.prose ul.ticks li::before{content:'✦';color:var(--mauve-light);font-size:.62rem;margin-top:.35rem;flex-shrink:0}
.prose a{color:var(--mauve)}
.side-photo{width:100%;aspect-ratio:3/4;object-fit:cover;filter:sepia(.08) saturate(1.05);display:block}
.side-card{background:var(--warm-white);border:1px solid rgba(122,78,64,.12);padding:2rem;margin-top:1.5rem}
.side-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--charcoal);margin-bottom:.6rem}
.side-card p{font-size:.84rem;color:var(--text-muted);line-height:1.8;margin-bottom:1.2rem}
.side-card .btn-primary{display:block;text-align:center}

/* price note (small print) */
.price-note{display:inline-block;font-size:.7rem;letter-spacing:.04em;color:var(--text-muted);margin-top:.9rem;line-height:1.6}
.price-note strong{color:var(--mauve);font-weight:500}
.price-note.light{color:rgba(245,237,233,.7)}
.price-note.light strong{color:var(--blush)}

/* link cards (services / areas) */
a.srv-card{text-decoration:none;color:inherit;display:block;cursor:pointer}
.srv-more{display:inline-block;margin-top:1.3rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mauve)}
a.srv-card:hover .srv-more{text-decoration:underline}
.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.link-card{display:block;text-decoration:none;background:var(--warm-white);border:1px solid rgba(122,78,64,.14);padding:1.6rem 1.7rem;transition:all .25s}
.link-card:hover{border-color:var(--mauve-light);transform:translateY(-2px);box-shadow:0 10px 30px rgba(92,53,40,.08)}
.link-card h3{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--charcoal);margin-bottom:.35rem}
.link-card p{font-size:.8rem;color:var(--text-muted);line-height:1.7}
.link-card span{display:inline-block;margin-top:.8rem;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mauve)}

/* reviews */
.review-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem}
.g-badge{display:inline-flex;align-items:center;gap:.9rem;background:var(--warm-white);border:1px solid rgba(122,78,64,.14);padding:.9rem 1.3rem;text-decoration:none;color:var(--text)}
.g-badge:hover{border-color:var(--mauve-light)}
.g-badge .g-score{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--charcoal);line-height:1}
.g-badge .g-stars{color:#E2A93B;letter-spacing:.1em;font-size:.9rem}
.g-badge small{display:block;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.test-card .test-author{margin-top:auto}
.test-card{display:flex;flex-direction:column}
.test-card .stars{color:#E2A93B}
.test-src{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:.2rem}
.test-grid.two{grid-template-columns:repeat(2,1fr)}
.test-grid.one{grid-template-columns:1fr;max-width:760px}
.reviews-cta{text-align:center;margin-top:2.5rem}
.text-link{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mauve);text-decoration:none;border-bottom:1px solid rgba(122,78,64,.3);padding-bottom:2px}
.text-link:hover{border-color:var(--mauve)}

/* areas pills as links */
a.pill{text-decoration:none}
a.pill:hover{background:var(--mauve-deep);border-color:var(--mauve-deep);color:var(--cream)}

/* steps (small) */
.mini-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.5rem}
.mini-step{background:var(--warm-white);border:1px solid rgba(122,78,64,.12);padding:1.5rem}
.mini-step b{display:block;font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--mauve-light);margin-bottom:.4rem}
.mini-step h4{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--charcoal);margin-bottom:.3rem}
.mini-step p{font-size:.8rem;color:var(--text-muted);line-height:1.7}

/* about */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.founder{background:var(--warm-white);border:1px solid rgba(122,78,64,.12);padding:1.8rem}
.founder h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--charcoal)}
.founder p{font-size:.84rem;color:var(--text-muted);line-height:1.8;margin-top:.5rem}

/* FAQ page as plain list */
.faq-page .faq-list{max-width:860px}

/* QUOTE FORM v2 */
.req{color:var(--mauve);font-weight:500}
.fg label .opt{text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.8}
.fg .hint{font-size:.72rem;color:var(--text-muted);margin-top:.35rem}
.fg.has-error input,.fg.has-error select,.fg.has-error textarea{border-color:#B5523B}
.fg .err{display:none;font-size:.72rem;color:#B5523B;margin-top:.35rem}
.fg.has-error .err{display:block}
.group-error .radio-group,.group-error .check-group{outline:1px solid #B5523B;outline-offset:4px}
.fg-addr{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:.8rem}
.form-intro-note{font-size:.82rem;color:var(--text-muted);margin-top:.4rem}
.form-alert{display:none;background:#FBEDE8;border:1px solid #E3B4A6;color:#7A3B2A;padding:1rem 1.2rem;font-size:.82rem;line-height:1.7;margin-top:1rem}
.quote-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:start}
.quote-aside{position:sticky;top:7rem}
.quote-steps{list-style:none;counter-reset:q;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}
.quote-steps li{counter-increment:q;display:flex;gap:.9rem;font-size:.84rem;color:var(--text-muted);line-height:1.7}
.quote-steps li::before{content:counter(q);flex-shrink:0;width:1.8rem;height:1.8rem;border:1px solid rgba(122,78,64,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:var(--mauve)}
.quote-steps strong{color:var(--charcoal);font-weight:500}

/* floating WhatsApp / Text */
.contact-float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:400;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}
.cf-btn{display:flex;align-items:center;gap:.55rem;text-decoration:none;background:var(--mauve);color:var(--cream);border-radius:999px;padding:.8rem 1.15rem .8rem .95rem;box-shadow:0 10px 30px rgba(44,31,26,.28);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transition:all .2s}
.cf-btn:hover{background:var(--mauve-deep);transform:translateY(-2px)}
.cf-btn svg{width:22px;height:22px;flex-shrink:0}
.cf-btn.text{background:var(--warm-white);color:var(--mauve);border:1px solid rgba(122,78,64,.25);padding:.6rem 1rem .6rem .85rem}
.cf-btn.text svg{width:18px;height:18px}
.cf-btn.text:hover{background:var(--blush-light)}
@media (max-width:960px){.cf-btn .cf-label{display:none}.cf-btn{padding:.85rem}.cf-btn.text{padding:.7rem}}

/* footer v2 */
.footer-bottom{gap:1rem;flex-wrap:wrap}
.footer-legal{font-size:.66rem;color:rgba(245,237,233,.3);margin-top:.3rem}
.footer-col li{font-size:.78rem;color:rgba(245,237,233,.45)}

/* 404 */
.notfound{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:9rem 1.5rem 5rem;background:var(--cream)}

@media (max-width:960px){
  .page-hero{padding:7.5rem 1.2rem 3rem;min-height:52vh}
  .split,.split.rev,.quote-layout{grid-template-columns:1fr;gap:2.5rem}
  .quote-aside{position:static}
  .link-grid,.mini-steps,.founders,.test-grid.two{grid-template-columns:1fr}
  .fg-addr{grid-template-columns:1fr}
  .hero-actions{flex-wrap:wrap}
  .review-head{align-items:flex-start}
  .side-photo{aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.footer-col a{overflow-wrap:anywhere}
@media (max-width:960px){footer{padding:3rem 1.2rem 6rem}.footer-inner{grid-template-columns:1fr;gap:2rem}}
@media (min-width:961px){.trust-bar{gap:2rem}.trust-item{font-size:.64rem}}
/* Contact — Home Harmony style */
.connect{background:var(--blush-light);padding:6rem 4rem;scroll-margin-top:70px;border-top:1px solid rgba(122,78,64,.12)}
.connect-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:4.5rem;align-items:center}
.connect-title{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,4.6vw,3.9rem);line-height:1.08;color:var(--charcoal);margin:.4rem 0 1.3rem}
.connect-title em{font-style:italic;color:var(--mauve)}
.connect-sub{font-size:.95rem;line-height:1.95;color:var(--text-muted);max-width:520px}
.connect-actions{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center;margin-top:2.2rem}
.connect-wa{display:inline-flex;align-items:center;gap:.55rem;color:var(--mauve);text-decoration:none;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(122,78,64,.3);padding-bottom:3px}
.connect-wa svg{width:18px;height:18px}
.connect-wa:hover{border-color:var(--mauve)}
.connect-slogan{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--mauve-light);margin-top:2.6rem}
.connect-card{background:var(--warm-white);border:1px solid rgba(122,78,64,.14);padding:2.6rem 2.6rem 2.2rem;position:relative;box-shadow:0 18px 50px rgba(92,53,40,.08)}
.connect-card::before{content:'';position:absolute;top:0;left:2.6rem;right:2.6rem;height:3px;background:var(--mauve)}
.connect-logo{width:56px;height:auto;margin-bottom:1.4rem;opacity:.9}
.connect-list{display:flex;flex-direction:column}
.connect-list div{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.95rem 0;border-bottom:1px solid rgba(122,78,64,.1)}
.connect-list div:last-child{border-bottom:none}
.connect-list dt{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mauve-light);padding-top:.25rem}
.connect-list dd{font-family:var(--serif);font-size:1.12rem;color:var(--charcoal);line-height:1.5;overflow-wrap:anywhere}
.connect-list a{color:var(--charcoal);text-decoration:none;border-bottom:1px solid rgba(122,78,64,.25)}
.connect-list a:hover{color:var(--mauve);border-color:var(--mauve)}
@media (max-width:960px){.connect{padding:4rem 1.2rem}.connect-inner{grid-template-columns:1fr;gap:2.5rem}.connect-card{padding:2rem 1.4rem 1.6rem}.connect-card::before{left:1.4rem;right:1.4rem}.connect-list div{grid-template-columns:1fr;gap:.2rem}}
