:root{--green-deep:#0f2e1f;--green-mid:#1a4731;--burgundy:#8b1e3f;--burgundy-deep:#5c1028;--cream:#f3e6c8;--cream-soft:#ebe0c4;--gold:#c9a227;--gold-bright:#e0b93a;--ink:#1a1208;--muted:#5a4a38;--border:#c9a227;--font-display:"Cinzel", "Times New Roman", serif;--font-body:"Libre Baskerville", Georgia, serif;--radius:2px;--max:1120px}*,*::before,*::after{box-sizing:border-box}[x-cloak]{display:none!important}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% 10%,rgba(139,30,63,.1),transparent 40%),linear-gradient(180deg,var(--cream) 0%,var(--cream-soft) 40%,#e8d9b5 100%);min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:var(--burgundy);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--burgundy-deep)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--green-deep);letter-spacing:.02em}p{margin:0 0 1rem}.ornament-line{height:4px;background:repeating-linear-gradient( 90deg,var(--gold) 0 12px,var(--burgundy) 12px 24px,var(--green-mid) 24px 36px,var(--cream) 36px 40px )}.site-header{background:var(--green-deep);color:var(--cream);position:sticky;top:0;z-index:40;border-bottom:3px solid var(--gold)}.header-inner{max-width:var(--max);margin:0 auto;padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;color:var(--cream);text-decoration:none}.brand-mark{width:2.5rem;height:2.5rem;border:2px solid var(--gold);display:grid;place-items:center;font-family:var(--font-display);font-weight:900;color:var(--gold);font-size:.85rem}.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem}.site-nav a{color:var(--cream);text-decoration:none;font-family:var(--font-display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.site-nav a:hover{color:var(--gold-bright)}.nav-cta{border:1px solid var(--gold);padding:.4rem .75rem;color:var(--gold)!important}.nav-toggle{display:none;background:0 0;border:1px solid var(--gold);width:2.5rem;height:2.5rem;padding:.45rem;cursor:pointer;flex-direction:column;justify-content:space-between}.nav-toggle span{display:block;height:2px;background:var(--gold)}main{min-height:60vh}.wrap{max-width:var(--max);margin:0 auto;padding:2.5rem 1.25rem}.page-hero{position:relative;border-bottom:3px solid var(--gold);overflow:hidden;min-height:52vh;display:grid;align-items:end;background:var(--green-deep)}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.page-hero-content{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:3.5rem 1.25rem 2.5rem;color:var(--cream);width:100%}.page-hero-content h1{color:var(--cream);font-size:clamp(2rem,5vw,3.4rem);margin:0 0 .75rem;max-width:16ch;text-shadow:0 2px 12px rgba(0,0,0,.45)}.page-hero-content p{max-width:38rem;color:var(--cream-soft);font-size:1.1rem}.ticket-frame{border:3px double var(--gold);outline:1px solid var(--burgundy);outline-offset:6px;background:rgba(15,46,31,.88);padding:1.75rem 1.5rem;animation:rise-in .8s ease both}.home-hero{position:relative;min-height:88vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--green-deep);border-bottom:4px solid var(--gold);overflow:hidden}.home-hero-visual{position:relative;min-height:320px}.home-hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)contrast(1.05)}.home-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--green-deep) 0%,transparent 55%)}.home-hero-copy{position:relative;z-index:1;padding:4rem 2rem 3rem 1.5rem;display:flex;flex-direction:column;justify-content:center;color:var(--cream)}.poster-number{font-family:var(--font-display);font-weight:900;font-size:clamp(4rem,12vw,8rem);line-height:.85;color:var(--gold);opacity:.35;margin:0;animation:fade-number 1.2s ease both}.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);margin-bottom:.75rem}.home-hero h1{color:var(--cream);font-size:clamp(2.2rem,4.5vw,3.6rem);margin:0 0 1rem;max-width:12ch;animation:rise-in .9s .15s ease both}.home-hero .lead{font-size:1.1rem;max-width:32rem;color:var(--cream-soft);animation:rise-in .9s .3s ease both}.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem;animation:rise-in .9s .45s ease both}.btn{display:inline-block;font-family:var(--font-display);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.35rem;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}.btn-gold:hover{background:var(--gold-bright);color:var(--green-deep)}.btn-outline{background:0 0;color:var(--cream);border-color:var(--gold)}.btn-outline:hover{background:rgba(201,162,39,.15);color:var(--gold-bright)}.btn-burgundy{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy)}.btn-burgundy:hover{background:var(--burgundy-deep);color:var(--cream)}.section{padding:3.5rem 0}.section-head{text-align:center;margin-bottom:2.25rem}.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 .6rem}.section-head p{max-width:40rem;margin:0 auto;color:var(--muted)}.poster-panel{border:2px solid var(--gold);background:linear-gradient(160deg,#fff8e8 0%,var(--cream) 100%);box-shadow:8px 8px 0 var(--green-deep);padding:1.5rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-card{border:2px solid var(--green-deep);background:#fffaf0;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 0 var(--burgundy)}.service-card img{aspect-ratio:16/10;width:100%;object-fit:cover;border-bottom:2px solid var(--gold)}.service-card-body{padding:1.25rem}.service-card h3{margin:0 0 .5rem;font-size:1.2rem}.service-card h3 a{color:var(--green-deep);text-decoration:none}.service-card p{color:var(--muted);font-size:.98rem}.meta-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy);margin-top:.75rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.story-strip{background:var(--burgundy-deep);color:var(--cream);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}.story-strip h2{color:var(--gold)}.story-strip .muted{color:var(--cream-soft)}.quote-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.25rem}.quote{border:1px solid var(--gold);padding:1.25rem;background:rgba(15,46,31,.35)}.quote p{font-style:italic}.quote cite{display:block;margin-top:.75rem;font-style:normal;font-family:var(--font-display);font-size:.8rem;letter-spacing:.06em;color:var(--gold)}.number-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.number-item{text-align:center;border:1px dashed var(--gold);padding:1rem}.number-item strong{display:block;font-family:var(--font-display);font-size:2.4rem;color:var(--gold);line-height:1}.number-item span{font-size:.85rem;color:var(--cream-soft)}.prose{max-width:42rem}.prose h2{margin-top:2rem}.prose ul,.prose ol{padding-left:1.25rem}.prose li{margin-bottom:.45rem}.pricing-table{width:100%;border-collapse:collapse;background:#fffaf0;border:2px solid var(--green-deep)}.pricing-table th,.pricing-table td{border:1px solid rgba(15,46,31,.2);padding:.9rem 1rem;text-align:left}.pricing-table th{background:var(--green-deep);color:var(--cream);font-family:var(--font-display);letter-spacing:.06em;font-weight:500}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.blog-card{border:2px solid var(--green-deep);background:#fffaf0}.blog-card img{aspect-ratio:3/2;width:100%;object-fit:cover;border-bottom:2px solid var(--gold)}.blog-card-body{padding:1.15rem}.blog-card h3{margin:0 0 .5rem;font-size:1.15rem}.blog-card h3 a{color:var(--green-deep);text-decoration:none}.form-panel{max-width:36rem;margin:0 auto}.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-family:var(--font-display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;color:var(--green-deep)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem .85rem;border:2px solid var(--green-mid);background:#fffaf0;font-family:var(--font-body);font-size:1rem;color:var(--ink)}.form-group textarea{min-height:140px;resize:vertical}.field-error{color:var(--burgundy);font-size:.9rem;margin-top:.35rem}.form-status{margin-top:1rem;padding:.85rem 1rem;border:2px solid}.form-status.success{border-color:var(--green-mid);background:rgba(26,71,49,.1);color:var(--green-deep)}.form-status.error{border-color:var(--burgundy);background:rgba(139,30,63,.1);color:var(--burgundy-deep)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.legal-page .prose{max-width:48rem;margin:0 auto}.site-footer{background:var(--green-deep);color:var(--cream-soft);border-top:4px solid var(--gold);margin-top:3rem}.footer-inner{max-width:var(--max);margin:0 auto;padding:2.5rem 1.25rem 1.5rem;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem}.footer-title{font-family:var(--font-display);color:var(--gold);font-size:1.2rem;margin:0 0 .4rem;letter-spacing:.06em;text-transform:uppercase}.footer-tag{margin:0;color:var(--cream-soft)}.footer-contact a,.footer-nav a{color:var(--cream);text-decoration:none}.footer-nav{display:flex;flex-direction:column;gap:.4rem;font-family:var(--font-display);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.footer-copy{text-align:center;margin:0;padding:1rem;border-top:1px solid rgba(201,162,39,.35);font-size:.85rem;color:rgba(243,230,200,.7)}.cookie-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:50;max-width:520px}.cookie-inner{background:var(--cream);border:3px double var(--gold);outline:2px solid var(--green-deep);outline-offset:4px;padding:1.25rem;box-shadow:0 12px 40px rgba(0,0,0,.25)}.cookie-title{font-family:var(--font-display);margin:0 0 .5rem;color:var(--green-deep)}.cookie-text{font-size:.95rem;color:var(--muted)}.cookie-actions{display:flex;gap:.75rem;margin-top:1rem}.cookie-actions .btn-outline{color:var(--green-deep);border-color:var(--green-deep)}.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:1rem}.steps li{counter-increment:step;position:relative;padding:1.25rem 1.25rem 1.25rem 5rem;border:2px solid var(--green-deep);background:#fffaf0}.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:1rem;top:1rem;font-family:var(--font-display);font-weight:900;font-size:1.8rem;color:var(--burgundy);line-height:1}.error-page{text-align:center;padding:5rem 1.25rem}.error-page .big{font-family:var(--font-display);font-size:clamp(5rem,18vw,10rem);color:var(--burgundy);line-height:1;margin:0}.detail-hero img{width:100%;max-height:420px;object-fit:cover;border-bottom:3px solid var(--gold)}.detail-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin:1.5rem 0;padding:1rem;border:1px solid var(--gold);background:rgba(201,162,39,8%);font-family:var(--font-display);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-number{from{opacity:0;transform:scale(.92)}to{opacity:.35;transform:scale(1)}}@media(max-width:900px){.home-hero{grid-template-columns:1fr;min-height:auto}.home-hero-visual{min-height:240px;order:-1}.home-hero-visual::after{background:linear-gradient(0deg,var(--green-deep) 0%,transparent 60%)}.service-grid,.blog-grid,.footer-inner,.contact-grid,.split,.quote-grid,.number-band{grid-template-columns:1fr}.nav-toggle{display:flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--green-mid);flex-direction:column;align-items:stretch;padding:1rem;border-bottom:3px solid var(--gold)}.site-nav.is-open{display:flex}.site-header{position:relative}.header-inner{position:relative}}