:root{--green-deep:#0f2419;--green:#1a3d2e;--green-mid:#2a5a42;--burgundy:#8b1e3d;--burgundy-deep:#5c0f28;--cream:#f5e6c8;--cream-soft:#faf3e4;--gold:#c9a227;--gold-bright:#e0b83a;--ink:#1a1208;--muted:#5c4a36;--border:#c9a227;--radius:2px;--font-display:"Playfair Display", "Times New Roman", Georgia, serif;--font-body:"Libre Baskerville", Georgia, serif;--font-accent:"Cinzel", "Playfair Display", Georgia, serif;--shadow:0 8px 28px rgba(15, 36, 25, 0.35);--max:1120px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:1.05rem;line-height:1.7;color:var(--ink);background:radial-gradient(ellipse at 20% 0%,rgba(201,162,39,8%),transparent 45%),radial-gradient(ellipse at 90% 20%,rgba(139,30,61,.1),transparent 40%),linear-gradient(180deg,var(--cream-soft) 0%,var(--cream) 50%,#efe0c0 100%);min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:var(--burgundy);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease}a:hover{color:var(--green)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;font-weight:700;color:var(--green-deep);margin:0 0 .6em}h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}h3{font-size:clamp(1.25rem,2.5vw,1.55rem)}p{margin:0 0 1.1em}.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.ornament{display:flex;align-items:center;gap:.75rem;margin:.5rem 0 1.5rem;color:var(--gold);font-family:var(--font-accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}.ornament::before,.ornament::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.site-header{background:var(--green-deep);border-bottom:4px double var(--gold);position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0}.brand{font-family:var(--font-accent);font-size:clamp(1.05rem,2.5vw,1.35rem);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);text-decoration:none;border:2px solid var(--gold);padding:.35rem .75rem;background:linear-gradient(180deg,var(--green) 0%,var(--green-deep) 100%);box-shadow:inset 0 0 0 1px rgba(245,230,200,.15)}.brand:hover{color:var(--cream)}.nav-toggle{display:none;background:0 0;border:2px solid var(--gold);color:var(--cream);font-family:var(--font-accent);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.45rem .7rem;cursor:pointer}.nav-list{display:flex;flex-wrap:wrap;gap:.15rem 1.1rem;list-style:none;margin:0;padding:0}.nav-list a{color:var(--cream);text-decoration:none;font-family:var(--font-accent);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem 0;border-bottom:2px solid transparent}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--gold-bright);border-bottom-color:var(--gold)}@media(max-width:900px){.nav-toggle{display:block}.nav-list{display:none;position:absolute;left:0;right:0;top:100%;background:var(--green);border-bottom:3px solid var(--gold);flex-direction:column;padding:1rem 1.25rem 1.25rem;gap:.75rem}.nav-list.is-open{display:flex}}.btn{display:inline-block;font-family:var(--font-accent);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.4rem;border:2px solid var(--gold);cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(180deg,var(--burgundy) 0%,var(--burgundy-deep) 100%);color:var(--cream)}.btn-primary:hover{color:var(--gold-bright)}.btn-secondary{background:0 0;color:var(--green-deep);border-color:var(--green-mid)}.btn-secondary:hover{background:var(--green);color:var(--cream);border-color:var(--gold)}.btn-gold{background:linear-gradient(180deg,var(--gold-bright) 0%,var(--gold) 100%);color:var(--green-deep);border-color:var(--burgundy)}.btn-group{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.frame{border:3px double var(--gold);outline:1px solid var(--burgundy);outline-offset:6px;background:rgba(250,243,228,.85);padding:1.5rem;position:relative}.frame::before,.frame::after{content:"◆";position:absolute;color:var(--gold);font-size:.7rem}.frame::before{top:-.55rem;left:1rem;background:var(--cream);padding:0 .35rem}.frame::after{bottom:-.55rem;right:1rem;background:var(--cream);padding:0 .35rem}.hero{padding:3.5rem 0 3rem;position:relative;overflow:hidden}.hero-poster{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:stretch}.hero-billboard{background:var(--green-deep);color:var(--cream);border:4px double var(--gold);padding:2.25rem 2rem;position:relative;box-shadow:var(--shadow)}.hero-billboard .eyebrow{font-family:var(--font-accent);letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:1rem}.hero-billboard h1{color:var(--cream);margin-bottom:.75rem}.hero-billboard p{color:rgba(245,230,200,.88);font-size:1.05rem;max-width:36ch}.hero-number{font-family:var(--font-display);font-size:clamp(4.5rem,12vw,8rem);line-height:.85;color:var(--burgundy);opacity:.9;text-shadow:2px 2px 0 var(--gold);margin:0}.hero-visual{position:relative;min-height:320px;border:4px solid var(--burgundy);outline:2px solid var(--gold);outline-offset:5px;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;min-height:320px;filter:sepia(.15)contrast(1.05)}.hero-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(15,36,25,.92));color:var(--cream);padding:2rem 1rem .85rem;font-family:var(--font-accent);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}@media(max-width:800px){.hero-poster{grid-template-columns:1fr}}.section{padding:3.25rem 0}.section-dark{background:var(--green-deep);color:var(--cream);border-top:4px double var(--gold);border-bottom:4px double var(--gold)}.section-dark h2,.section-dark h3{color:var(--cream)}.section-dark p,.section-dark li{color:rgba(245,230,200,.9)}.section-burgundy{background:linear-gradient(135deg,var(--burgundy-deep),var(--burgundy));color:var(--cream);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}.section-burgundy h2{color:var(--gold-bright)}.section-head{max-width:40rem;margin-bottom:2rem}.lead{font-size:1.15rem;color:var(--muted)}.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.offer-tile{background:var(--cream-soft);border:2px solid var(--green-mid);padding:1.35rem 1.25rem 1.5rem;position:relative;transition:border-color .2s ease,transform .25s ease}.offer-tile:hover{border-color:var(--gold);transform:translateY(-3px)}.offer-tile .num{font-family:var(--font-display);font-size:2.75rem;color:var(--burgundy);line-height:1;margin-bottom:.5rem}.offer-tile h3{margin-bottom:.4rem}.offer-tile p{color:var(--muted);font-size:.95rem;margin-bottom:1rem}.offer-tile a{font-family:var(--font-accent);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--burgundy);border-bottom:1px solid var(--gold)}.offer-tile img{width:100%;height:160px;object-fit:cover;margin-bottom:1rem;border:1px solid var(--gold)}.quote-stack{display:grid;gap:1.25rem}.quote{border-left:5px solid var(--gold);background:rgba(255,255,255,.45);padding:1.25rem 1.35rem}.quote p{font-style:italic;margin-bottom:.75rem}.quote cite{font-family:var(--font-accent);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--burgundy)}.page-hero{padding:2.75rem 0 2rem;border-bottom:3px double var(--burgundy);margin-bottom:2rem;background:linear-gradient(90deg,rgba(26,61,46,8%),transparent 60%)}.page-hero .meta{font-family:var(--font-accent);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);margin-bottom:.75rem}.content-wrap{display:grid;gap:2rem}.content-wrap.with-aside{grid-template-columns:1fr 300px}@media(max-width:860px){.content-wrap.with-aside{grid-template-columns:1fr}}.prose h2{margin-top:1.75rem}.prose ul,.prose ol{padding-left:1.25rem;margin-bottom:1.25rem}.prose li{margin-bottom:.4rem}.aside-panel{background:var(--green-deep);color:var(--cream);border:3px double var(--gold);padding:1.35rem;height:fit-content}.aside-panel h3{color:var(--gold-bright);font-size:1.1rem}.aside-panel p,.aside-panel li{color:rgba(245,230,200,.88);font-size:.92rem}.aside-panel ul{padding-left:1.1rem;margin:0 0 1rem}.rate-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.98rem}.rate-table th,.rate-table td{border:1px solid var(--green-mid);padding:.85rem 1rem;text-align:left}.rate-table th{background:var(--green-deep);color:var(--gold);font-family:var(--font-accent);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.rate-table tr:nth-child(even) td{background:rgba(26,61,46,6%)}.price-tag{font-family:var(--font-display);font-size:1.75rem;color:var(--burgundy)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.blog-card{border:2px solid var(--green);background:var(--cream-soft);overflow:hidden;transition:border-color .2s ease}.blog-card:hover{border-color:var(--gold)}.blog-card img{width:100%;height:180px;object-fit:cover}.blog-card .body{padding:1.15rem 1.2rem 1.4rem}.blog-card h3{font-size:1.2rem;margin-bottom:.4rem}.blog-card h3 a{text-decoration:none;color:var(--green-deep)}.blog-card .date{font-family:var(--font-accent);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--burgundy);margin-bottom:.5rem}.post-cover{margin:0 0 2rem;border:3px solid var(--burgundy);outline:2px solid var(--gold);outline-offset:4px;overflow:hidden}.post-cover img{width:100%;max-height:420px;object-fit:cover}.form-grid{display:grid;gap:1rem}.form-row{display:grid;gap:.35rem}.form-row label{font-family:var(--font-accent);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.form-row input,.form-row select,.form-row textarea{font-family:var(--font-body);font-size:1rem;padding:.7rem .85rem;border:2px solid var(--green-mid);background:#fffdf8;color:var(--ink);width:100%}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.25)}.field-error{color:var(--burgundy);font-size:.88rem}.form-status{padding:.85rem 1rem;border:2px solid;margin-top:.5rem;font-size:.95rem}.form-status.success{border-color:var(--green-mid);background:rgba(42,90,66,.12);color:var(--green-deep)}.form-status.error{border-color:var(--burgundy);background:rgba(139,30,61,.1);color:var(--burgundy-deep)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}@media(max-width:800px){.contact-grid{grid-template-columns:1fr}}.contact-details{border:3px double var(--gold);background:var(--green-deep);color:var(--cream);padding:1.5rem}.contact-details h3{color:var(--gold-bright)}.contact-details a{color:var(--gold-bright)}.contact-details p{color:rgba(245,230,200,.9)}.site-footer{background:var(--green-deep);color:var(--cream);border-top:5px double var(--gold);padding:2.5rem 0 1.5rem;margin-top:3rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:700px){.footer-grid{grid-template-columns:1fr}}.site-footer h3{color:var(--gold);font-family:var(--font-accent);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.site-footer a{color:var(--cream);text-decoration:none}.site-footer a:hover{color:var(--gold-bright)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.4rem}.footer-bottom{border-top:1px solid rgba(201,162,39,.35);padding-top:1rem;font-size:.85rem;color:rgba(245,230,200,.7);display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--green-deep);color:var(--cream);border-top:4px double var(--gold);padding:1.15rem 0;box-shadow:0 -8px 30px rgba(0,0,0,.35);animation:riseIn .45s ease}.cookie-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.cookie-inner p{margin:0;flex:1 1 280px;font-size:.95rem;color:rgba(245,230,200,.92)}.cookie-inner a{color:var(--gold-bright)}.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap}.cookie-actions .btn{padding:.65rem 1.1rem}@keyframes riseIn{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeUp .7s ease both}.animate-in-delay{animation:fadeUp .7s ease .18s both}.animate-in-delay-2{animation:fadeUp .7s ease .32s both}.steps{counter-reset:step;display:grid;gap:1.25rem}.step{display:grid;grid-template-columns:auto 1fr;gap:1.15rem;align-items:start;padding:1.25rem;border:2px solid var(--green-mid);background:rgba(255,253,248,.7)}.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--font-display);font-size:2.5rem;color:var(--burgundy);line-height:1;text-shadow:1px 1px 0 var(--gold)}.error-page{text-align:center;padding:5rem 0}.error-page .big{font-family:var(--font-display);font-size:clamp(5rem,18vw,9rem);color:var(--burgundy);text-shadow:3px 3px 0 var(--gold);line-height:1;margin:0 0 .5rem}.legal-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:2rem;font-family:var(--font-accent);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.cookies-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.5rem 0;overflow-x:auto;display:block}.cookies-table th,.cookies-table td{border:1px solid var(--green-mid);padding:.65rem .75rem;text-align:left;vertical-align:top}.cookies-table th{background:var(--green-deep);color:var(--gold);font-family:var(--font-accent);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.review-story{margin-top:2rem;padding:1.5rem;border:3px double var(--gold);background:rgba(26,61,46,5%)}.service-hero-img{margin:0 0 1.75rem;border:3px solid var(--burgundy);outline:2px solid var(--gold);outline-offset:4px;overflow:hidden}.service-hero-img img{width:100%;max-height:360px;object-fit:cover}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1rem 0 0}.tag-list li{font-family:var(--font-accent);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gold);color:var(--green);padding:.3rem .55rem}