*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ol,ul{list-style:none}:root{--clr-obsidian: #1c1917;--clr-charcoal: #2d2926;--clr-gold-deep: #8b6914;--clr-gold: #b8921f;--clr-gold-warm: #d4a853;--clr-champagne: #e8d5a0;--clr-parchment-g: #f5edd8;--clr-ivory: #faf8f3;--clr-parchment: #f0ece2;--clr-linen: #e2ddd5;--clr-smoke: #8c8580;--clr-stone: #5c5854;--clr-blush: #e8c4b0;--clr-blush-light: #f5ede8;--clr-bg: var(--clr-ivory);--clr-surface: var(--clr-parchment);--clr-divider: var(--clr-linen);--clr-text: var(--clr-charcoal);--clr-text-muted: var(--clr-smoke);--clr-text-caption: var(--clr-stone);--clr-heading: var(--clr-obsidian);--clr-accent: var(--clr-gold-warm);--clr-accent-dark: var(--clr-gold);--clr-accent-deep: var(--clr-gold-deep);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--type-hero: clamp(2.4rem, 5.5vw, 4rem);--type-h1: clamp(2rem, 4.5vw, 3rem);--type-h2: clamp(1.5rem, 3.2vw, 2.2rem);--type-h3: clamp(1.2rem, 2.5vw, 1.5rem);--type-body: 1rem;--type-small: .875rem;--type-micro: .75rem;--lh-display: 1.1;--lh-heading: 1.25;--lh-body: 1.75;--lh-tight: 1.4;--ls-hero: -.02em;--ls-nav: .08em;--ls-overline: .15em;--max-w: 1100px}html{font-family:var(--font-body);background:var(--clr-bg);color:var(--clr-text);line-height:var(--lh-body);font-size:var(--type-body);overflow-x:clip}body{width:100%}.container{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,4vw,2.5rem)}main{width:100%}@media(max-width:640px){.contact-cols{grid-template-columns:1fr!important}}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--clr-heading);line-height:var(--lh-heading)}h1{font-size:var(--type-h1);font-weight:600;letter-spacing:var(--ls-hero);margin-bottom:1rem}h2{font-size:var(--type-h2);font-weight:600;letter-spacing:-.01em;margin-bottom:1rem}h3{font-size:var(--type-h3);font-weight:500;font-style:italic;margin-bottom:.5rem}p{margin-bottom:1rem}a{color:var(--clr-accent-deep)}.site-header{border-bottom:1px solid var(--clr-divider);background:var(--clr-bg);position:sticky;top:0;z-index:200}nav{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;position:relative}.nav-brand{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--clr-heading);text-decoration:none;letter-spacing:-.01em}.nav-links{display:flex;gap:1.5rem;list-style:none}.nav-links a{font-family:var(--font-body);font-size:.8rem;font-weight:500;color:var(--clr-text);text-decoration:none;text-transform:uppercase;letter-spacing:var(--ls-nav)}.nav-links a:hover{color:var(--clr-accent)}.nav-cta{background:var(--clr-gold-warm);color:var(--clr-obsidian)!important;padding:.45rem 1.1rem;border-radius:3px;border:1px solid var(--clr-gold-warm);text-transform:none!important;letter-spacing:0!important;font-size:.85rem!important}.nav-cta:hover{background:var(--clr-gold);border-color:var(--clr-gold)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}.nav-toggle span{display:block;width:22px;height:2px;background:var(--clr-heading);transition:transform .25s ease,opacity .25s ease}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}section{padding:clamp(4rem,8vw,7rem) 0}.section-tinted{background:var(--clr-parchment)}.section-tinted-deep{background:var(--clr-champagne)}.hero{position:relative;width:100%;min-height:clamp(480px,68vh,720px);display:flex;flex-direction:column;justify-content:flex-end;text-align:center;overflow:hidden;color:var(--clr-ivory)}.hero picture,.page-hero-image picture{position:absolute;inset:0;width:100%;height:100%;display:block}.hero picture img,.page-hero-image picture img,.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#1c1917e0,#1c191780,#1c191726)}.hero-content{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem clamp(3rem,6vw,5rem);width:100%}.hero h1{font-size:var(--type-hero);letter-spacing:var(--ls-hero);color:var(--clr-ivory)}.hero-overline{display:block;font-family:var(--font-body);font-size:var(--type-small);font-weight:500;text-transform:uppercase;letter-spacing:var(--ls-overline);color:var(--clr-champagne);margin-bottom:1rem}.hero-sub{font-size:1.15rem;color:var(--clr-linen);max-width:640px;margin:0 auto 2rem;font-family:var(--font-body);line-height:var(--lh-body)}.hero-caption{margin-top:1rem;font-family:var(--font-body);font-size:var(--type-small);color:#faf8f399}.trust-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 2.5rem;margin:2.5rem 0}.trust-item{font-family:var(--font-body);font-size:var(--type-small);color:#faf8f3b3;text-align:center}.trust-num{display:block;font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--clr-champagne)}.btn{display:inline-block;background:var(--clr-gold-warm);color:var(--clr-obsidian)!important;padding:.75rem 1.75rem;border-radius:3px;text-decoration:none;font-family:var(--font-body);font-weight:600;font-size:.9rem;letter-spacing:.02em;margin:.35rem;transition:background .15s,box-shadow .15s}.btn:hover{background:var(--clr-gold);box-shadow:0 2px 12px #1c191726}.btn-secondary{background:transparent;border:2px solid var(--clr-obsidian);color:var(--clr-obsidian)!important}.btn-secondary:hover{background:#1c19170d}.btn-light{background:transparent;border:2px solid rgba(250,248,243,.7);color:var(--clr-ivory)!important}.btn-light:hover{background:#faf8f31a;border-color:var(--clr-ivory)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.card{background:var(--clr-ivory);border-top:3px solid var(--clr-gold-warm);padding:1.75rem 1.5rem 1.5rem;box-shadow:0 2px 20px #1c191714;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:0 6px 28px #1c191724}.card h3{font-family:var(--font-display);font-size:var(--type-h3);font-weight:600;font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-variant:small-caps;color:var(--clr-obsidian);margin-bottom:.5rem}.card-price{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--clr-obsidian);margin:.5rem 0 .75rem}.card-features{list-style:none;margin:.75rem 0;font-family:var(--font-body);font-size:var(--type-small);flex:1}.card-features li{padding:.3rem 0 .3rem 1.5rem;position:relative}.card-features li:before{content:"—";color:var(--clr-gold-warm);position:absolute;left:0}.card-cta{display:inline-block;margin-top:1rem;font-family:var(--font-body);font-size:var(--type-small);font-weight:500;color:var(--clr-accent-deep);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}.card-cta:hover{border-bottom-color:var(--clr-accent-deep)}details{border-bottom:1px solid var(--clr-divider)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--clr-heading);gap:1rem}summary::-webkit-details-marker{display:none}summary:after{content:"›";font-size:1.3rem;color:var(--clr-accent);transition:transform .2s ease;flex-shrink:0}details[open] summary:after{transform:rotate(90deg)}details[open]{border-left:3px solid var(--clr-gold-warm);padding-left:1rem}.faq-body{padding:0 0 1.25rem;font-family:var(--font-body);line-height:var(--lh-body);color:var(--clr-text)}.steps{counter-reset:step}.step{display:flex;gap:1.25rem;margin-bottom:1.75rem;align-items:flex-start}.step-num{counter-increment:step;flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--clr-obsidian);color:var(--clr-champagne);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:600;font-size:.85rem}.step-num:before{content:counter(step)}.step h3{font-style:normal;font-weight:600}.cta-strip{background:var(--clr-obsidian);color:var(--clr-ivory);padding:clamp(3rem,6vw,5rem) 0;text-align:center}.cta-strip h2{color:var(--clr-champagne);margin-bottom:.75rem}.cta-strip p{color:var(--clr-linen);margin-bottom:1.5rem}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1.5rem}.testimonial-card{background:var(--clr-blush-light);padding:1.5rem;position:relative}.testimonial-card:before{content:"“";font-family:var(--font-display);font-size:4rem;color:var(--clr-champagne);line-height:1;display:block;margin-bottom:.25rem}.testimonial-quote{font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:var(--clr-charcoal);line-height:var(--lh-tight);margin-bottom:1rem}.testimonial-attr{font-family:var(--font-body);font-size:var(--type-small);color:var(--clr-text-muted)}footer{border-top:1px solid var(--clr-divider);padding:3rem 0 2rem;font-family:var(--font-body);font-size:var(--type-small);color:var(--clr-text-caption)}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;margin-bottom:2rem;align-items:start}.footer-wordmark{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--clr-heading);display:block;margin-bottom:.35rem}.footer-tagline{color:var(--clr-text-muted);margin-bottom:0}.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.footer-col-label{font-family:var(--font-body);font-weight:600;color:var(--clr-heading);font-size:var(--type-small);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.footer-nav{list-style:none}.footer-nav li{margin-bottom:.4rem}.footer-nav a{color:var(--clr-text-caption);text-decoration:none}.footer-nav a:hover{color:var(--clr-accent-deep)}.footer-contact p{margin-bottom:.3rem}.footer-contact a{color:var(--clr-text-caption);text-decoration:none}.footer-contact a:hover{color:var(--clr-accent-deep)}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid var(--clr-divider)}.breadcrumb{font-family:var(--font-body);font-size:var(--type-small);margin-bottom:1.5rem;padding-top:1rem}.breadcrumb ol{list-style:none;display:flex;gap:.5rem}.breadcrumb a{color:var(--clr-text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--clr-accent-deep)}.breadcrumb .sep{color:var(--clr-text-muted)}.breadcrumb .current{color:var(--clr-text-caption)}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-label{font-family:var(--font-body);font-size:var(--type-small);font-weight:600;color:var(--clr-heading)}.form-input{width:100%;padding:.6rem .85rem;border:1px solid var(--clr-linen);border-radius:3px;font-family:var(--font-body);font-size:.95rem;background:var(--clr-ivory);color:var(--clr-text);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--clr-gold-warm)}.section-blush{background:var(--clr-blush-light)}.page-hero{padding:clamp(2rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.5rem)}.page-hero-image{position:relative;width:100%;min-height:clamp(240px,38vh,420px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;color:var(--clr-ivory)}.page-hero-image .hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#1c1917d1,#1c191766 60%,#1c19171a)}.page-hero-image .hero-content{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem 2.5rem;width:100%}.page-hero-image h1{color:var(--clr-ivory)}@media(max-width:640px){.nav-toggle{display:flex}.nav-links{flex-direction:column;position:absolute;top:100%;left:calc(-1*clamp(1.5rem,4vw,2.5rem));right:calc(-1*clamp(1.5rem,4vw,2.5rem));background:var(--clr-ivory);border-top:1px solid var(--clr-divider);padding:0 clamp(1.5rem,4vw,2.5rem);gap:0;z-index:100;max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-links.is-open{max-height:400px;border-bottom:1px solid var(--clr-divider)}.nav-links li{padding:.65rem 0;border-bottom:1px solid var(--clr-divider)}.nav-links li:last-child{border-bottom:none}.footer-inner{grid-template-columns:1fr}.footer-cols{grid-template-columns:1fr 1fr}.hero{min-height:clamp(360px,60vh,500px)}.page-hero-image{min-height:200px}}
