/* LuxeVista Store — brand system shared with luxevistaadvisorygroup.com
   Ivory #f4f1ec · Ink #111 · Charcoal #1a1a1a · Taupe #8d7053 · Gold #a8813c / #c9a961 · Cream #faf7f2
   Type: Lora (display) + Montserrat (text), self-hosted */
@font-face{font-family:Lora;src:url('assets/Lora.ttf');font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/Montserrat.ttf');font-display:swap}
:root{--ivory:#f4f1ec;--cream:#faf7f2;--ink:#111;--charcoal:#1a1a1a;--taupe:#8d7053;--gold:#a8813c;--gold-light:#c9a961;--muted:#5b574f;--rule:#d5d0c8;--rule-dark:#3a3732}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.75 Montserrat,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--taupe);outline-offset:5px}
h1,h2,h3,p,figure,ul,ol{margin:0}h1,h2,h3{font-family:Lora,serif;font-weight:400;line-height:1.22;text-wrap:balance}
h1{font-size:clamp(36px,4vw,60px);letter-spacing:-.035em;line-height:1.15}h1 em{color:#676258;font-style:italic}
h2{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.02em}h3{font-size:24px}p{max-width:70ch}
sup{font-family:Montserrat;font-size:12px}img{max-width:100%;display:block}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--ivory);padding:8px 12px;z-index:99}.skip:focus{left:8px}
.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600;margin-bottom:22px;color:var(--taupe)}
/* header */
header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid var(--rule);gap:30px;background:var(--ivory);position:sticky;top:0;z-index:20}
.brand{text-decoration:none;display:inline-flex;align-items:center;gap:14px;line-height:1.1}
.brand .mark{width:44px;height:44px;flex:none}.wm span{font:30px Lora,serif}.wm small{display:block;font-size:10px;letter-spacing:.3em;margin-top:3px;color:var(--taupe);font-weight:600}
nav{display:flex;align-items:center;gap:28px;font-size:14px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}
.nav-adv{border-bottom:1px solid;padding:7px 0}.menu{display:none}
/* buttons */
.button{background:var(--ink);color:var(--ivory);border:1px solid var(--ink);text-decoration:none;padding:15px 22px;display:inline-flex;gap:28px;align-items:center;justify-content:space-between;font-size:14px;cursor:pointer;font-weight:500}
.button:hover{background:#34312d}.button.small{padding:11px 16px;gap:16px;font-size:13px}
.button.light{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.button.light:hover{background:#fff}
.button.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.button.gold:hover{background:#8f6c2f;color:var(--ivory)}
.text-link{font-size:13px}.text-link.strong{font-weight:600;color:var(--taupe)}
.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}
.parent{font-size:11px;color:#68635a;margin-top:42px;letter-spacing:.02em}
/* hero */
.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:620px;border-bottom:1px solid var(--rule)}
.hero-copy{padding:70px 8% 40px 9.25%}.intro{font-size:19px;margin-top:28px;max-width:420px}
.hero-detail{font-size:14px;color:var(--muted);margin-top:15px;max-width:440px}
.hero-art{background:var(--charcoal);position:relative;min-height:520px;overflow:hidden}
.hero-art img{width:100%;height:100%;object-fit:cover}
.hero-art figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 25px 22px;background:linear-gradient(transparent,#111c);color:var(--ivory);font:italic 17px Lora,serif}
.hero-art figcaption span{display:block;font:10px Montserrat;margin-top:7px;letter-spacing:.14em;color:var(--gold-light)}
/* perspective */
.perspective{padding:65px 8%;display:grid;grid-template-columns:1fr 1.45fr 1.65fr;gap:45px;align-items:start;border-bottom:1px solid var(--rule)}
.perspective .eyebrow{margin-top:10px}.perspective h2{font-size:34px}.perspective>p:last-child{font-size:15px;color:var(--muted)}
/* sections */
.section{padding:85px 8%}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}
.section-head>p{max-width:300px;font-size:15px;color:#625d55}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.product{border-top:1px solid #aca69b;padding-top:18px;display:flex;flex-direction:column;gap:12px;position:relative}
.product.featured{border-top-color:var(--gold)}.product.featured::before{content:"MOST POPULAR";position:absolute;top:-1px;right:0;font-size:10px;letter-spacing:.16em;color:var(--gold);font-weight:600;padding-top:6px}
.product .thumb{display:block;background:var(--charcoal);aspect-ratio:1;overflow:hidden}.product .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.product:hover .thumb img{transform:scale(1.03)}
.thumb-alt{aspect-ratio:1;background:linear-gradient(135deg,#1a1a1a,#2c2a26);display:grid;place-items:center;padding:24px;text-align:center;color:var(--gold-light);font:italic 20px Lora,serif}
.thumb-alt.tall{aspect-ratio:4/5}
.product .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6b665e;font-weight:600}
.product h3{font-size:22px}.product h3 a{text-decoration:none}.product h3 a:hover{text-decoration:underline}
.product p{font-size:14px;color:var(--muted);flex:1}
.product .row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;flex-wrap:wrap}
.price{font:600 26px Lora,serif}.price small{font:12px Montserrat;color:var(--muted)}
.formats{font-size:13px;margin-top:45px;color:#666057;display:flex;flex-wrap:wrap;gap:8px 0}.formats span{padding:0 16px;border-left:1px solid var(--rule)}.formats span:first-child{padding-left:0;border:0}
/* method (dark) */
.method{background:var(--charcoal);color:var(--ivory);padding:85px 8%}.method .eyebrow{color:var(--gold-light)}.method .section-head>p{color:#bcb6ac}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.method-grid img{border:1px solid var(--rule-dark)}
.steps{list-style:none;padding:0;display:grid;gap:0;counter-reset:s}.steps li{counter-increment:s;border-top:1px solid var(--rule-dark);padding:18px 0 18px 56px;position:relative;font-size:15px;color:#d6d0c4}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:18px;font:600 12px Montserrat;color:var(--gold-light);letter-spacing:.1em}
.steps strong{display:block;font:22px Lora,serif;color:var(--ivory);margin-bottom:4px}
/* author */
.author{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:center;border-top:1px solid var(--rule)}.author img{width:260px;aspect-ratio:4/5;object-fit:cover}
/* faq */
.faq{border-top:1px solid var(--rule);background:var(--cream)}.faq details{border-bottom:1px solid var(--rule);padding:18px 0;max-width:820px}
.faq summary{cursor:pointer;font:22px Lora,serif;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::after{content:"+";color:var(--taupe);font-family:Montserrat}.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;font-size:15px;color:var(--muted)}
/* advisory strip */
.advisory{background:var(--ink);color:var(--ivory);padding:70px 8%;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.advisory .eyebrow{color:var(--gold-light)}.advisory p{color:#bcb6ac;font-size:15px;margin-top:12px}
/* product page */
.product-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:70px 8%;align-items:start;border-bottom:1px solid var(--rule)}
.cover{background:var(--charcoal);box-shadow:0 30px 60px -30px #0008}.cover img{width:100%}
.facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.facts li{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--taupe);color:var(--taupe);padding:5px 10px;font-weight:600}
.buybox{margin-top:34px;padding:28px;background:var(--cream);border:1px solid var(--rule);display:grid;gap:16px;max-width:440px}
.buybox .price{font-size:40px}.buybox .button{justify-content:space-between}.fine{font-size:12px;color:var(--muted);line-height:1.6}
.note{margin-top:20px;font-size:14px;color:var(--muted);border-left:2px solid var(--gold);padding-left:14px;max-width:440px}
.product-body{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:start}
.prose>p{font-size:17px;margin-bottom:22px}.prose h3{margin:40px 0 16px}
.days{list-style:none;padding:0;display:grid;gap:0}.days li{border-top:1px solid var(--rule);padding:12px 0;display:grid;grid-template-columns:80px 1fr;font-size:15px}.days span{font:600 11px Montserrat;letter-spacing:.14em;color:var(--taupe);padding-top:4px}
.fw{display:grid;gap:14px}.fw div{border-top:1px solid var(--rule);padding-top:12px}.fw strong{font:20px Lora,serif;display:block}.fw p{font-size:14px;color:var(--muted)}
.inside{padding-left:1.1em;font-size:15px;display:grid;gap:8px}
.side{position:sticky;top:110px;background:var(--cream);border:1px solid var(--rule);padding:28px;display:grid;gap:10px}.side h3{font-size:20px}.side p{font-size:14px;color:var(--muted);margin-bottom:10px}
/* about */
.about{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:start}.about img{width:320px;aspect-ratio:4/5;object-fit:cover}
.notice{background:var(--cream);border:1px dashed var(--taupe);padding:16px 20px;font-size:14px;color:var(--muted);margin-bottom:32px}code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:#eae5dc;padding:1px 5px}
/* footer */
footer{background:var(--charcoal);color:#bcb6ac;padding:64px 8% 32px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot-grid.four{grid-template-columns:1.8fr 1fr 1fr 1fr}
footer .brand .wm span{color:var(--ivory)}footer .brand .wm small{color:var(--gold-light)}
.foot-blurb{font-size:13px;margin-top:18px;max-width:40ch}
footer h4{font:600 11px Montserrat;letter-spacing:.2em;color:var(--gold-light);margin:0 0 14px}footer ul{list-style:none;padding:0;display:grid;gap:8px;font-size:14px}footer a{text-decoration:none;color:var(--ivory)}footer a:hover{text-decoration:underline}
.legal{border-top:1px solid var(--rule-dark);margin-top:44px;padding-top:20px;font-size:12px;color:#8e8779;max-width:none}
/* responsive */
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr)}.perspective{grid-template-columns:1fr;gap:20px}.hero{grid-template-columns:1fr}.hero-art{min-height:360px}.method-grid,.product-hero,.product-body,.author,.about{grid-template-columns:1fr;gap:36px}.side{position:static}.foot-grid,.foot-grid.four{grid-template-columns:1fr 1fr}.advisory{grid-template-columns:1fr}}
@media(max-width:700px){header{padding:16px 5%;flex-wrap:wrap}.menu{display:inline-block;background:none;border:1px solid var(--ink);padding:8px 14px;font-size:13px;cursor:pointer}nav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:14px;padding-top:14px;border-top:1px solid var(--rule)}nav.open{display:flex}.product-grid{grid-template-columns:1fr}.section{padding:60px 6%}.hero-copy{padding:50px 6% 40px}.section-head{flex-direction:column;align-items:flex-start;gap:14px}.foot-grid,.foot-grid.four{grid-template-columns:1fr}.author img,.about img{width:100%;max-width:320px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
