:root{--bg:#faf7f0;--bg2:#ffffff;--fg:#2b2a28;--mut:#575148;--gold:#7a5f22;--gold-h:#634c19;--gold2:#c9a75a;--line:#e6dfd0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg);padding-bottom:64px}
[hidden]{display:none!important}
a{color:var(--gold)}a:hover{color:var(--gold-h)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
h1,h2,h3{line-height:1.2;margin:0 0 .6em;font-family:"Playfair Display","Cormorant Garamond",Georgia,"Times New Roman",serif;font-weight:600}
h2{font-size:2rem}h2::after{content:"";display:block;width:56px;height:2px;background:var(--gold2);margin-top:.5rem}
.section [id],section{scroll-margin-top:72px}
.skip{position:absolute;left:-999px;top:8px}.skip:focus{left:8px;background:#fff;padding:8px 12px;z-index:99;border-radius:8px}
.nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;background:rgba(250,247,240,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.logo{font-family:Georgia,serif;font-weight:600;text-decoration:none;color:var(--fg);font-size:1.25rem}.logo span{color:var(--gold)}
.nav nav{display:none;gap:1.1rem;align-items:center}.nav nav a:not(.btn){text-decoration:none;color:var(--fg);padding:.4rem 0}.nav nav a:not(.btn):hover{color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:#fff;font-weight:600;padding:.8rem 1.3rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;font-size:1rem;min-height:44px;text-align:center}
.btn:hover{background:var(--gold-h);color:#fff}
.btn-sm{padding:.45rem .9rem;min-height:0}.btn-ghost{background:transparent;color:var(--gold);border:2px solid var(--gold)}.btn-ghost:hover{background:var(--gold);color:#fff}
/* Hero: stock photo with an ivory gradient overlay so the dark text stays readable */
.hero{position:relative;overflow:hidden;background:var(--bg)}
.hero-bg{position:relative;display:block}
.hero-bg img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:52% 35%}
.hero-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(to bottom,rgba(250,247,240,0),var(--bg))}
.hero-text{position:relative;max-width:1100px;margin:-1.25rem auto 0;padding:0 1rem 2.5rem}
.portrait{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:18px;border:1px solid var(--gold2);box-shadow:0 10px 26px rgba(80,60,20,.12);margin:auto}
.card.card-photo{padding:0;overflow:hidden}.card-fig{margin:0;position:relative}.card-img-top{object-position:50% 20%}
.card-fig figcaption{padding:.45rem 1.2rem 0;color:var(--mut);font-size:.8rem;font-style:italic}
.about-fig{margin:0 auto;width:min(100%,340px)}.about-fig figcaption{text-align:center;color:var(--mut);font-size:.85rem;margin-top:.5rem}.card-img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.card.card-photo h3{margin:1rem 1.2rem .5rem}.card.card-photo p{margin:0 1.2rem 1.2rem}
.gear{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.gear li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold2);border-radius:12px;padding:.9rem 1rem}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;margin:0 0 .5rem;font-weight:600}
h1{font-size:clamp(1.7rem,5vw,2.7rem)}.lead{font-size:1.1rem}
.price{font-size:1.2rem}.price strong{color:var(--gold)}
.ctas{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.promise{color:var(--mut)}
.section{max-width:1100px;margin:auto;padding:2.5rem 1rem;border-top:1px solid var(--line)}
.cards{display:grid;gap:1rem}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 10px rgba(80,60,20,.05);padding:1.2rem;margin:0}
.card p{margin:.2rem 0}.card cite{display:block;margin-top:.6rem;color:var(--mut);font-style:normal}
.price-card{border-top:3px solid var(--gold2)}.amount{font-size:1.3rem}.amount strong{font-family:Georgia,serif;font-size:2rem;color:var(--gold)}
.terms{padding-left:1.2rem;margin:1.2rem 0}.terms li{margin-bottom:.4rem}
.steps{padding-left:1.2rem}.steps li{margin-bottom:.8rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.tags li{border:1px solid var(--gold2);background:#fff;border-radius:999px;padding:.3rem .85rem;font-size:.95rem}
.note{color:var(--mut);font-size:.9rem}.small{font-size:.8rem}
.about{display:grid;gap:1.5rem;align-items:center}
.badge{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .9rem;font-size:.95rem;color:var(--fg)}
form{display:grid;gap:1rem}label{display:grid;gap:.3rem;align-content:start;font-weight:600;font-size:.95rem}.req{color:#9b2c1f}.hint{font-weight:400;color:var(--mut);font-size:.82rem}
input,select,textarea{font:inherit;padding:.7rem;border-radius:10px;border:1px solid #8f8673;background:#fff;color:var(--fg);min-height:44px;width:100%}
input:focus,select:focus,textarea:focus{outline:3px solid var(--gold);outline-offset:1px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#form-status{margin:0;min-height:1.6em}#form-status.ok{color:#1d6b3a;font-weight:600}#form-status.err{color:#a8261b;font-weight:600}
details{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin-bottom:.6rem}summary{cursor:pointer;font-weight:600;min-height:28px}
.footer{text-align:center;padding:2rem 1rem;color:var(--mut);font-size:.9rem;border-top:1px solid var(--line)}
.sticky-cta{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr;background:#fff;border-top:1px solid var(--gold2);box-shadow:0 -4px 14px rgba(0,0,0,.08);z-index:20}
.sticky-cta a{text-align:center;padding:1rem;color:var(--fg);font-weight:700;text-decoration:none;min-height:48px}.sticky-cta a:last-child{background:var(--gold);color:#fff}
@media(min-width:760px){.nav nav{display:flex}
.hero{min-height:560px;display:flex;align-items:center}
.hero-bg{position:absolute;top:0;right:0;bottom:0;width:66%}.hero-bg img{height:100%;aspect-ratio:auto}
.hero-bg::after{top:0;height:auto;background:linear-gradient(to right,var(--bg) 0%,rgba(250,247,240,.88) 22%,rgba(250,247,240,0) 58%)}
.hero-text{width:100%;margin:0 auto;padding:3.5rem 1rem}.hero-text>*{max-width:540px}
.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.about{grid-template-columns:340px 1fr}.about-fig{margin:0}form{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}
.sticky-cta{display:none}body{padding-bottom:0}}
