html{-webkit-text-size-adjust:100%}body{overflow-wrap:break-word}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1e2d1a;--bg2: #243320;--bg3: #1a2816;--forest: #3a6a2a;--fern: #5a9448;--sage: #8abf72;--moss: #b4d49e;--sky: #7ab0c0;--horizon: #a8d0dc;--sun: #d4a843;--cream: #f0ece0;--paper: #e4dcc8;--ink: #ddd6c4;--mid: #9ab888;--dim: #6a8a5a}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-weight:300;font-size:18px;line-height:1.8;overflow-x:hidden}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 6vw 8vh;position:relative;overflow:hidden;background:var(--bg)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 55% at 15% 85%,rgba(74,124,58,.12) 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 75% 25%,rgba(90,143,160,.12) 0%,transparent 55%);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:900px}.eyebrow{font-size:.7rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--sage);margin-bottom:2rem;opacity:0;animation:fadeUp 1.2s ease .3s forwards}h1{font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:clamp(3.5rem,9vw,8rem);line-height:.95;letter-spacing:-.02em;color:var(--cream);opacity:0;animation:fadeUp 1.4s ease .5s forwards}h1 em{font-style:italic;color:var(--sage)}.hero-sub{margin-top:2.5rem;font-size:1rem;letter-spacing:.25em;text-transform:uppercase;color:var(--mid);font-weight:400;opacity:0;animation:fadeUp 1.2s ease .9s forwards}.scroll-hint{margin-top:5rem;display:flex;align-items:center;gap:1rem;opacity:0;animation:fadeUp 1s ease 1.4s forwards}.scroll-line{width:60px;height:1px;background:var(--fern);opacity:.6}.scroll-hint span{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dim)}section{padding:8rem 6vw;position:relative}.section-inner{max-width:780px;margin:0 auto}.section-label{font-size:.8rem;letter-spacing:.4em;text-transform:uppercase;color:var(--sage);margin-bottom:3rem;display:flex;align-items:center;gap:1.5rem}.section-label:after{content:"";flex:1;max-width:80px;height:1px;background:var(--fern);opacity:.4}.booking-bar{position:fixed;bottom:2rem;right:2rem;z-index:100}.booking-btn{display:inline-flex;align-items:center;gap:.65rem;padding:.9rem 1.8rem;background:var(--fern);color:var(--cream);font-family:Cormorant Garamond,serif;font-size:.9rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-radius:2px;box-shadow:0 4px 24px #00000059;transition:background .3s,box-shadow .3s,transform .2s}.booking-btn:hover{background:var(--sage);box-shadow:0 6px 32px #00000073;transform:translateY(-2px)}.about{background:var(--bg2)}.about p{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--ink);line-height:1.95;margin-bottom:1.5rem}.about p:first-of-type:first-letter{font-family:Playfair Display,serif;font-size:4.5em;float:left;line-height:.75;margin-right:.12em;margin-top:.1em;color:var(--sage)}.listen{background:var(--bg3)}.listen-wrap{background:#5a8a4a0f;border:1px solid rgba(138,184,122,.2);border-left:4px solid var(--fern);border-radius:2px;padding:3rem;margin-top:1rem}.listen-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:400;color:var(--cream);margin-bottom:.4rem}.listen-subtitle{font-size:.85rem;color:var(--dim);letter-spacing:.1em;margin-bottom:2rem}audio{width:100%;height:48px;accent-color:var(--sage)}.audio-note{margin-top:1rem;font-size:.8rem;color:var(--dim);font-style:italic}.photos{background:var(--bg2)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1rem}.photo-slot{aspect-ratio:4/3;background:#5a8a4a0a;border:1px dashed rgba(138,184,122,.2);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--dim);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;transition:border-color .3s,background .3s}.photo-slot:hover{border-color:#8ab87a73;background:#5a8a4a14}.photo-slot svg{opacity:.4}.tech{background:var(--bg3)}.download-btn{display:inline-flex;align-items:center;gap:.8rem;padding:1.1rem 2.2rem;background:transparent;border:1px solid var(--fern);color:var(--sage);font-family:Cormorant Garamond,serif;font-size:.9rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:2px;transition:background .3s,border-color .3s,color .3s;margin-top:2rem}.download-btn:hover{background:#5a8a4a1f;border-color:var(--sage);color:var(--cream)}.download-btn svg{flex-shrink:0}.press{background:var(--bg2)}.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 4rem;margin-top:1rem}@media(max-width:680px){.press-grid{grid-template-columns:1fr}}.press-quote{border-left:2px solid var(--fern);padding-left:1.5rem}.press-quote blockquote{font-family:Playfair Display,serif;font-style:italic;font-size:clamp(1rem,1.5vw,1.15rem);color:var(--ink);line-height:1.7;margin-bottom:.75rem}.press-quote cite{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);font-style:normal}.press-quote.featured{grid-column:1 / -1;border-left:none;padding-left:0;border-top:1px solid rgba(90,138,74,.2);padding-top:2.5rem;text-align:center}.press-quote.featured blockquote{font-size:clamp(1.2rem,2.2vw,1.55rem);color:var(--cream);max-width:680px;margin:0 auto 1rem}.billing{background:var(--bg3);border-top:1px solid rgba(90,138,74,.12)}.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;margin-top:2rem}@media(max-width:600px){.billing-grid{grid-template-columns:1fr}}.billing-role{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);padding:.65rem 0;border-bottom:1px solid rgba(90,138,74,.1);display:flex;align-items:center}.billing-name{font-family:Playfair Display,serif;font-size:1.05rem;font-weight:400;color:var(--cream);padding:.65rem 0;border-bottom:1px solid rgba(90,138,74,.1);display:flex;align-items:center;flex-wrap:wrap;gap:.3em}.team-link{color:inherit;text-decoration:none;border-bottom:1px solid rgba(138,184,122,.35);transition:color .25s,border-color .25s}.team-link:hover{color:var(--sage);border-color:var(--sage)}.support{margin-top:4rem;padding-top:2.5rem;border-top:1px solid rgba(90,138,74,.12)}.support p{font-size:.9rem;color:var(--dim);font-style:italic;line-height:1.8}footer{padding:3rem 6vw;text-align:center;background:var(--bg);color:var(--dim);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;border-top:1px solid rgba(90,138,74,.1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:768px){body{font-size:16px;line-height:1.7}section{padding:4rem 5vw}.section-inner{max-width:100%}.hero{justify-content:flex-start;padding:5vh 5vw 2vh;min-height:auto}h1{font-size:clamp(3.8rem,18vw,6rem);letter-spacing:-.02em}.eyebrow{font-size:.65rem;letter-spacing:.3em;margin-bottom:1.25rem}.hero-sub{font-size:.7rem;letter-spacing:.15em;margin-top:1rem}.scroll-hint{margin-top:1.25rem}.about p{font-size:1.05rem;line-height:1.85}.about p:first-of-type:first-letter{font-size:3em}.listen-wrap{padding:1.5rem}.listen-title{font-size:1.25rem}.photo-grid{grid-template-columns:1fr 1fr;gap:1rem}.photo-slot{aspect-ratio:1/1;font-size:.6rem}.press-grid{grid-template-columns:1fr;gap:2rem}.press-quote{padding-left:1rem}.press-quote.featured{padding-top:1.5rem}.billing-grid{grid-template-columns:1fr;gap:0}.billing-role{padding:.5rem 0}.billing-name{padding:.5rem 0;font-size:1rem}.support{margin-top:2.5rem;padding-top:1.5rem}.booking-bar{bottom:0;right:0;left:0;display:flex;justify-content:center;padding:.75rem 1rem;background:linear-gradient(to top,rgba(30,45,26,.95),transparent)}.booking-btn{width:100%;justify-content:center;padding:.8rem 1.2rem;font-size:.8rem}footer{padding-bottom:6rem}}@media(max-width:480px){.hero{padding-top:4vh}h1{font-size:clamp(3.5rem,20vw,5rem)}.photo-grid{grid-template-columns:1fr}.section-label{font-size:.7rem;gap:1rem}.section-label:after{max-width:40px}}
