:root{--green-deep:#0d3b2e;--green-mid:#1a5240;--green-soft:#2a6b52;--burgundy:#6b1e2f;--burgundy-bright:#8b2942;--cream:#f5e6c8;--cream-dark:#e8d4a8;--gold:#c9a227;--gold-bright:#e0b83d;--ink:#1a1208;--ink-soft:#3d2e1a;--border-ornate:3px double var(--gold);--font-display:"Cinzel", "Playfair Display", Georgia, serif;--font-body:"Libre Baskerville", Georgia, serif;--font-accent:"Playfair Display", Georgia, serif;--radius:2px;--shadow-poster:0 8px 28px rgba(13, 59, 46, 0.35);--max:1120px;--header-h:4.5rem}*,*::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,.12),transparent 45%),radial-gradient(ellipse at 90% 20%,rgba(107,30,47,.1),transparent 40%),linear-gradient(165deg,var(--cream) 0%,#f0dfb8 40%,#e9d4a5 100%);min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:var(--burgundy);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--burgundy-bright)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--green-deep);letter-spacing:.02em}h1{font-size:clamp(2.1rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3.5vw,2.35rem)}h3{font-size:1.35rem}p{margin:0 0 1.1rem}.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.frame{border:var(--border-ornate);padding:1.5rem;position:relative;background:rgba(245,230,200,.55)}.frame::before,.frame::after{content:"";position:absolute;width:12px;height:12px;border:2px solid var(--gold)}.frame::before{top:6px;left:6px;border-right:none;border-bottom:none}.frame::after{bottom:6px;right:6px;border-left:none;border-top:none}.number-mark{font-family:var(--font-display);font-size:clamp(3rem,8vw,5.5rem);line-height:1;color:var(--gold);opacity:.85;font-weight:700}.btn{display:inline-block;font-family:var(--font-display);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.6rem;border:2px solid var(--gold);cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,59,46,.25)}.btn-primary{background:var(--burgundy);color:var(--cream);border-color:var(--gold)}.btn-primary:hover{background:var(--burgundy-bright);color:var(--cream)}.btn-ghost{background:0 0;color:var(--green-deep);border-color:var(--green-deep)}.btn-ghost:hover{background:var(--green-deep);color:var(--cream)}.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--green-deep)}.btn-gold:hover{background:var(--gold-bright);color:var(--ink)}.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(180deg,var(--green-deep) 0%,var(--green-mid) 100%);border-bottom:3px double var(--gold);box-shadow:0 4px 20px rgba(0,0,0,.25)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-h);gap:1rem}.logo{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--cream);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--gold);padding:.4rem .75rem;transition:background .3s ease,color .3s ease}.logo:hover{background:var(--gold);color:var(--green-deep)}.logo span{display:block;font-size:.65rem;letter-spacing:.18em;font-weight:400;opacity:.85;margin-top:.15rem}.nav-toggle{display:none;background:0 0;border:2px solid var(--gold);color:var(--cream);font-family:var(--font-display);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem .75rem;cursor:pointer}.nav-list{display:flex;flex-wrap:wrap;gap:.15rem 1.1rem;list-style:none;margin:0;padding:0;align-items:center}.nav-list a{color:var(--cream);text-decoration:none;font-family:var(--font-display);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem 0;border-bottom:2px solid transparent;transition:border-color .2s ease,color .2s ease}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--gold-bright);border-bottom-color:var(--gold)}.hero{position:relative;min-height:min(88vh,720px);display:grid;align-items:end;overflow:hidden;background:var(--green-deep);color:var(--cream)}.hero__media{position:absolute;inset:0;z-index:0}.hero__media img{width:100%;height:100%;object-fit:cover;opacity:.45;animation:heroKen 18s ease-in-out infinite alternate}@keyframes heroKen{from{transform:scale(1)}to{transform:scale(1.08)}}.hero__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(13,59,46,.95) 0%,rgba(13,59,46,.55) 45%,rgba(107,30,47,.35) 100%),repeating-linear-gradient( 0,transparent,transparent 3px,rgba(0,0,0,3%) 3px,rgba(0,0,0,3%) 4px )}.hero__content{position:relative;z-index:2;padding:4rem 0 3.5rem;border-top:3px double var(--gold);animation:riseIn .9s ease-out both}@keyframes riseIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero__brand{font-family:var(--font-display);font-size:clamp(1.8rem,4.5vw,3rem);color:var(--gold-bright);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;text-shadow:0 2px 12px rgba(0,0,0,.4)}.hero h1{color:var(--cream);max-width:18ch;margin:0 0 1rem}.hero__lead{max-width:38ch;font-size:1.1rem;color:var(--cream-dark);margin-bottom:1.75rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.section{padding:4rem 0}.section-head{text-align:center;margin-bottom:2.5rem;position:relative}.section-head::after{content:"◆";display:block;color:var(--gold);margin-top:.75rem;font-size:.75rem;letter-spacing:.5em}.section-head p{max-width:52ch;margin:.75rem auto 0;color:var(--ink-soft)}.section-dark{background:linear-gradient(160deg,var(--green-deep),var(--green-mid));color:var(--cream);border-block:3px double var(--gold)}.section-dark h2,.section-dark h3{color:var(--gold-bright)}.section-dark p{color:var(--cream-dark)}.section-burgundy{background:linear-gradient(145deg,var(--burgundy),#4a1520);color:var(--cream);border-block:3px double var(--gold)}.section-burgundy h2{color:var(--gold-bright)}.offer-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.offer-item{border:var(--border-ornate);padding:1.5rem 1.35rem;background:rgba(255,255,255,.25);transition:transform .3s ease,box-shadow .3s ease;animation:fadeUp .7s ease both}.offer-item:nth-child(2){animation-delay:.12s}.offer-item:nth-child(3){animation-delay:.24s}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.offer-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-poster)}.offer-item img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:1rem;border:1px solid var(--gold)}.offer-item h3{margin:0 0 .5rem;font-size:1.15rem}.offer-item p{font-size:.95rem;margin-bottom:1rem}.offer-meta{font-family:var(--font-display);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy);margin-bottom:.5rem}.process-list{display:grid;gap:1.5rem;counter-reset:step}.process-step{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start;padding:1.25rem;border-left:4px solid var(--gold);background:rgba(13,59,46,6%)}.quote-block{border:var(--border-ornate);padding:2rem;background:rgba(13,59,46,8%);position:relative}.quote-block::before{content:"“";font-family:var(--font-accent);font-size:5rem;color:var(--gold);position:absolute;top:-.2rem;left:.75rem;line-height:1;opacity:.6}.quote-block blockquote{margin:0;font-style:italic;font-size:1.1rem}.quote-block cite{display:block;margin-top:1rem;font-family:var(--font-display);font-style:normal;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy)}.reviews-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.page-hero{background:linear-gradient(135deg,var(--green-deep) 0%,var(--burgundy) 100%);color:var(--cream);padding:3.5rem 0 2.75rem;border-bottom:3px double var(--gold);position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;inset:12px;border:1px solid rgba(201,162,39,.35);pointer-events:none}.page-hero h1{color:var(--cream);margin:0 0 .75rem}.page-hero p{max-width:48ch;margin:0;color:var(--cream-dark)}.page-hero--media{min-height:320px;display:flex;align-items:flex-end}.page-hero--media .page-hero__bg{position:absolute;inset:0}.page-hero--media .page-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.35}.page-hero--media .container{position:relative;z-index:1;padding-bottom:.5rem}.prose{max-width:68ch}.prose h2{margin-top:2.25rem}.prose ul,.prose ol{padding-left:1.25rem}.prose li{margin-bottom:.4rem}.prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1.5rem 0}.prose th,.prose td{border:1px solid var(--gold);padding:.85rem 1rem;text-align:left}.prose th{background:var(--green-deep);color:var(--cream);font-family:var(--font-display);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.prose tr:nth-child(even) td{background:rgba(13,59,46,6%)}.prose img{border:var(--border-ornate);margin:1.5rem 0}[x-cloak]{display:none!important}.content-wrap{padding:3rem 0 4rem}.two-col{display:grid;gap:2.5rem;grid-template-columns:1fr}@media(min-width:800px){.two-col{grid-template-columns:1.2fr .8fr}}.rate-table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1.5rem 0}.rate-table th,.rate-table td{border:1px solid var(--gold);padding:.85rem 1rem;text-align:left}.rate-table th{background:var(--green-deep);color:var(--cream);font-family:var(--font-display);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.rate-table tr:nth-child(even) td{background:rgba(13,59,46,6%)}.rate-note{font-size:.9rem;color:var(--ink-soft)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-family:var(--font-display);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem;color:var(--green-deep)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem .9rem;border:2px solid var(--green-mid);background:rgba(255,255,255,.65);font-family:var(--font-body);font-size:1rem;color:var(--ink);border-radius:var(--radius)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.25)}.form-group .error{color:var(--burgundy);font-size:.85rem;margin-top:.35rem}.form-status{padding:1rem;margin-top:1rem;border:2px solid var(--gold);font-family:var(--font-display);font-size:.9rem;letter-spacing:.04em}.form-status.success{background:rgba(13,59,46,.12);color:var(--green-deep)}.form-status.error{background:rgba(107,30,47,.12);color:var(--burgundy)}.contact-aside{border:var(--border-ornate);padding:1.5rem;background:var(--green-deep);color:var(--cream);height:fit-content}.contact-aside h2{color:var(--gold-bright);margin-top:0;font-size:1.2rem}.contact-aside a{color:var(--gold-bright)}.contact-aside p{color:var(--cream-dark);margin-bottom:.75rem}.blog-grid{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.blog-card{border:var(--border-ornate);background:rgba(255,255,255,.3);overflow:hidden;transition:transform .3s ease}.blog-card:hover{transform:translateY(-3px)}.blog-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.blog-card__body{padding:1.25rem}.blog-card__meta{font-family:var(--font-display);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy);margin-bottom:.4rem}.blog-card h2{font-size:1.2rem;margin:0 0 .5rem}.blog-card h2 a{text-decoration:none;color:inherit}.blog-card h2 a:hover{color:var(--burgundy)}.post-cover{margin:0 0 2rem;border:var(--border-ornate)}.post-cover img{width:100%;max-height:420px;object-fit:cover}.site-footer{background:var(--ink);color:var(--cream-dark);border-top:3px double var(--gold);padding:3rem 0 1.5rem;margin-top:2rem}.site-footer a{color:var(--gold);text-decoration:none}.site-footer a:hover{color:var(--gold-bright);text-decoration:underline}.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.footer-brand{font-family:var(--font-display);color:var(--gold-bright);font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}.footer-col h3{color:var(--cream);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .85rem}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin-bottom:.4rem}.footer-bottom{border-top:1px solid rgba(201,162,39,.3);padding-top:1.25rem;font-size:.85rem;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:linear-gradient(180deg,var(--green-mid),var(--green-deep));color:var(--cream);border-top:3px double var(--gold);padding:1.25rem 0;box-shadow:0 -8px 28px rgba(0,0,0,.35);animation:riseIn .5s ease both}.cookie-banner .inner{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.cookie-banner p{margin:0;flex:1 1 280px;font-size:.95rem;color:var(--cream-dark)}.cookie-banner a{color:var(--gold-bright)}.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}.cookie-actions .btn{padding:.6rem 1.1rem;font-size:.7rem}.error-page{min-height:60vh;display:grid;place-items:center;text-align:center;padding:4rem 1rem}.error-page .number-mark{font-size:8rem}.portrait{border:var(--border-ornate);max-width:320px}.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover}.cta-band{text-align:center;padding:3.5rem 1.5rem}.cta-band h2{margin-bottom:.75rem}.cta-band p{max-width:40ch;margin:0 auto 1.5rem}.legal-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.5rem 0;overflow-x:auto;display:block}.legal-table th,.legal-table td{border:1px solid var(--gold);padding:.65rem .75rem;text-align:left;min-width:100px}.legal-table th{background:var(--green-deep);color:var(--cream);font-family:var(--font-display);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}@media(max-width:900px){.nav-toggle{display:block}.nav-list{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--green-deep);border-bottom:3px double var(--gold);padding:1rem;gap:0}.nav-list.is-open{display:flex}.nav-list li{border-bottom:1px solid rgba(201,162,39,.25)}.nav-list a{display:block;padding:.85rem .5rem}.site-header .inner{position:relative}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__media img{animation:none}}