
:root{--wine:#451326;--wine-2:#5a1a32;--gold:#c6a15b;--gold-2:#a9843f;--paper:#f3e7ce;--paper-2:#faf3e3;--ink:#2e1b17;--muted:#6b5849;--line:#d9c49b;--purple:#493064;--indigo:#29264f;--copper:#b66a45;--display:'Cormorant Garamond',Georgia,serif;--body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.65 var(--body)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0}h1{font-size:clamp(2.6rem,6vw,4.8rem)}h2{font-size:clamp(2rem,4vw,3.1rem)}h3{font-size:1.6rem}p{margin:0}
.wrap{width:min(1200px,100% - 2rem);margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:9;background:var(--paper);padding:.5rem 1rem}
.eyebrow{font:700 .78rem/1.4 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}.dark .eyebrow{color:var(--gold)}
.top{background:var(--wine);color:var(--paper);border-bottom:1px solid #6f3a4f;position:sticky;top:0;z-index:5}.top-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px}
.mark{display:flex;align-items:center;gap:.7rem;text-decoration:none}.mark img{border-radius:50%;box-shadow:0 0 0 2px var(--gold)}.mark span{font:600 1.35rem/1 var(--display);letter-spacing:.04em}.mark b{display:block;font-weight:500;font-style:italic;color:var(--gold);letter-spacing:.12em}
.top nav{display:flex;align-items:center;gap:1.4rem;font-size:.95rem}.top nav a{text-decoration:none;opacity:.92}.top nav a:hover,.top nav a[aria-current]{opacity:1;text-decoration:underline;text-decoration-color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:.55rem .95rem;color:var(--gold)}.nav-cta:hover{background:var(--gold);color:var(--wine)!important;text-decoration:none!important}
.menu-toggle,.menu-button{display:none}
@media (max-width:900px){.menu-button{display:block;width:44px;height:44px;cursor:pointer;position:relative}.menu-button span,.menu-button span:before,.menu-button span:after{content:'';position:absolute;left:10px;width:24px;height:2px;background:var(--paper)}.menu-button span{top:21px}.menu-button span:before{top:-7px;left:0}.menu-button span:after{top:7px;left:0}.top nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--wine);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1rem 1rem;border-bottom:1px solid var(--gold)}.top nav a{padding:.85rem .25rem;border-bottom:1px solid #6f3a4f}.nav-cta{text-align:center;margin-top:.75rem}.menu-toggle:checked~nav{display:flex}}
.dark{background:var(--wine);color:var(--paper)}.dark a{color:var(--paper)}.indigo{background:var(--indigo);color:var(--paper)}
.hero{position:relative;overflow:hidden}.hero-in>*,.split>*,.book>*,.grid>*,.doors>*{min-width:0}body{overflow-x:hidden}.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding-block:4.5rem 5rem}.hero h1 em{color:var(--gold);font-style:italic;font-weight:500}.hero .lede{font-size:1.2rem;max-width:34rem;margin-top:1.4rem;color:#ecdcc0}
.hero-art{position:relative}.hero-art img{border:1px solid var(--gold);box-shadow:0 30px 60px #0007}.hero-art:before{content:'';position:absolute;inset:-14px 14px 14px -14px;border:1px solid #9a7a45}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.3rem;font:700 1rem var(--body);text-decoration:none;border:1px solid var(--wine);background:var(--wine);color:var(--paper);cursor:pointer}.btn:hover{background:var(--wine-2)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--wine)}.btn.gold:hover{background:#d6b471}.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.trust{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid #7b4a5e;font-size:.95rem;color:#e6d4b5}.trust span:before{content:'✦ ';color:var(--gold)}
section{padding-block:4.5rem}.section-head{max-width:46rem;margin-bottom:2.2rem}.section-head p{margin-top:.8rem;color:var(--muted);font-size:1.1rem}.dark .section-head p{color:#e6d4b5}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.door{background:var(--paper-2);border:1px solid var(--line);padding:1.8rem;display:flex;flex-direction:column;gap:.8rem;text-decoration:none;position:relative}.door:after{content:'';position:absolute;inset:6px;border:1px solid #eadcbc;pointer-events:none}.door:hover{border-color:var(--gold)}.door .num{font:italic 500 1.1rem var(--display);color:var(--gold-2)}.door p{color:var(--muted)}.door .go{margin-top:auto;font-weight:700;color:var(--wine)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1.25rem}.card{text-decoration:none;display:flex;flex-direction:column;gap:.55rem}.card .ph{aspect-ratio:4/5;background:#e8dbc0;border:1px solid var(--line);overflow:hidden}.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card:hover .ph img{transform:scale(1.03)}.card h3{font-size:1.2rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;font-size:.95rem}.price b{font:700 1.15rem var(--body);color:var(--wine)}.price s{color:var(--muted)}.price .pick{color:var(--muted);font-size:.85rem;flex-basis:100%}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;counter-reset:s;list-style:none;padding:0;margin:0}.steps li{border-top:2px solid var(--gold);padding-top:1rem;counter-increment:s}.steps li:before{content:counter(s,upper-roman);font:italic 600 1.6rem var(--display);color:var(--gold)}.steps h3{margin:.35rem 0 .4rem;font-size:1.35rem}.steps p{color:#e6d4b5}.light .steps p,.steps.light p{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.split img{border:1px solid var(--line)}
.people{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem}.person{border:1px solid var(--line);padding:1.4rem;background:var(--paper-2)}.person h3{font-size:1.5rem}.person p{color:var(--muted);margin-top:.4rem}
.prose{max-width:44rem}.prose p,.prose ul,.prose ol{margin:0 0 1.1rem}.prose h2{font-size:2rem;margin:2.2rem 0 .8rem}.prose h3{margin:1.6rem 0 .5rem}.prose li{margin-bottom:.4rem}.prose blockquote{margin:1.5rem 0;padding:.4rem 0 .4rem 1.2rem;border-left:3px solid var(--gold);font:italic 1.35rem/1.4 var(--display)}
.page-head{padding-block:3.5rem 3rem}.page-head p{max-width:42rem;margin-top:1rem;font-size:1.15rem;color:#e6d4b5}.crumbs{font-size:.88rem;margin-bottom:1rem;color:#d9c5a3}.crumbs a{color:inherit}
.panel{background:var(--paper-2);border:1px solid var(--line);padding:1.8rem}.panel h2{font-size:1.9rem;margin-bottom:.6rem}
.form{display:grid;gap:1rem}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.3rem}label,.legend{font-weight:700;font-size:.95rem}.hint{font-weight:400;color:var(--muted);font-size:.88rem}input,select,textarea{font:inherit;padding:.75rem .8rem;border:1px solid #bfa676;background:#fffaf0;color:var(--ink);border-radius:0;min-height:48px;width:100%}textarea{min-height:130px;resize:vertical}.choices{display:flex;flex-wrap:wrap;gap:.5rem}.choices label{font-weight:400;display:flex;align-items:center;gap:.45rem;border:1px solid #bfa676;padding:.55rem .8rem;background:#fffaf0;cursor:pointer}.choices input{width:auto;min-height:0}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px}
.notice{padding:1rem 1.2rem;border-left:4px solid var(--gold);background:#fff6e2}.error{border-left-color:#9b2c2c;background:#fbeaea}
.faq details{border-top:1px solid var(--line);padding:1rem 0}.faq summary{font:600 1.35rem var(--display);cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';float:right;color:var(--gold-2)}.faq details[open] summary:after{content:'–'}.faq p{margin-top:.6rem;color:var(--muted);max-width:46rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 2rem}.chip{border:1px solid var(--line);padding:.45rem .8rem;text-decoration:none;font-size:.92rem;background:var(--paper-2)}.chip[aria-current]{background:var(--wine);color:var(--paper);border-color:var(--wine)}
.shop-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.shop-bar input{flex:1 1 16rem}.shop-bar select{width:auto}
.pager{display:flex;gap:.6rem;justify-content:center;margin-top:2.5rem}
.book{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:start}.gallery{display:grid;gap:.75rem}.gallery .main{border:1px solid var(--line);background:#e8dbc0}.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.thumbs a{border:1px solid var(--line)}.thumbs img{aspect-ratio:1;object-fit:cover;width:100%}
.buybox{border:1px solid var(--gold);background:var(--paper-2);padding:1.5rem;margin:1.5rem 0}.buybox .now{font:700 2rem var(--body);color:var(--wine)}.buybox ul{list-style:none;padding:0;margin:.8rem 0 1.2rem;display:grid;gap:.35rem}.buybox li:before{content:'✦ ';color:var(--gold-2)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.2rem;margin:1rem 0}.facts dt{font-weight:700}.facts dd{margin:0;color:var(--muted)}
.letter{margin-top:1rem}.letter label{display:block;font-weight:400;font-size:.92rem;margin-bottom:.4rem}.letter div{display:flex;gap:.4rem}.letter input{min-height:44px;padding:.5rem .7rem}.letter button{font:700 .95rem var(--body);background:var(--gold);color:var(--wine);border:0;padding:0 1rem;cursor:pointer}
.foot{background:var(--indigo);color:var(--paper);padding:3.5rem 0 1.5rem;margin-top:0}.foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:2rem}.foot h2{font:700 .8rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}.foot a{display:block;text-decoration:none;margin-bottom:.4rem;opacity:.9}.foot a:hover{opacity:1;text-decoration:underline}.foot .mark{display:flex}.foot-tag{margin-top:1rem;color:#d7cbe0;font-size:.95rem}.fine{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #45406f;font-size:.85rem;color:#b9b0cf}
.towns{columns:3;padding:0;list-style:none;margin:1rem 0 0}.towns li:before{content:'✦ ';color:var(--gold-2)}
.journal-list{display:grid;gap:1.5rem}.entry{border-top:1px solid var(--line);padding-top:1.4rem;display:grid;grid-template-columns:10rem 1fr;gap:1.5rem}.entry time{color:var(--muted);font-size:.95rem}.entry h2{font-size:1.9rem}.entry h2 a{text-decoration:none}.entry p{color:var(--muted);margin-top:.5rem}
.ornament{display:flex;align-items:center;gap:1rem;color:var(--gold-2);margin:0 0 1rem}.ornament:before,.ornament:after{content:'';height:1px;background:currentColor;flex:1;opacity:.5}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.stats div{border-top:1px solid #7b4a5e;padding-top:.8rem}.stats b{display:block;font-family:var(--display);font-size:2.4rem;line-height:1;color:var(--gold)}.stats span{font-size:.95rem;color:#e6d4b5}
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.quotes.wall{grid-template-columns:repeat(3,1fr)}
.quote{margin:0;background:var(--paper-2);border:1px solid var(--line);padding:1.6rem;display:flex;flex-direction:column;gap:.9rem}.quote blockquote{margin:0;font-family:var(--display);font-size:1.35rem;line-height:1.35;color:var(--ink)}.quote blockquote:before{content:'“';display:block;font-size:3rem;line-height:.6;color:var(--gold-2)}
.wall .quote{padding:1.2rem}.wall .quote blockquote{font-size:1.12rem}.wall .quote blockquote:before{font-size:2.2rem}.quote figcaption{font-size:.92rem;color:var(--muted);margin-top:auto}.quote figcaption b{display:block;color:var(--ink);font-weight:600}.quote .tr{font-size:.95rem;color:var(--muted);font-style:italic}
.stars{color:var(--gold-2);letter-spacing:.15em;font-size:.95rem}
@media (max-width:900px){.hero-in,.split,.book{grid-template-columns:1fr;gap:2rem}.hero-in{padding-block:3rem}.doors,.steps,.quotes,.quotes.wall{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.foot-in{grid-template-columns:1fr 1fr}.people{grid-template-columns:1fr}.towns{columns:2}.entry{grid-template-columns:1fr;gap:.3rem}}
@media (max-width:560px){.form .row{grid-template-columns:1fr}.foot-in{grid-template-columns:1fr}section{padding-block:3.2rem}.mark span{font-size:1.15rem}.grid{gap:1.2rem .8rem}.card h3{font-size:1.05rem}}
