@font-face{font-family:PF;src:url(/fonts/playfair-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:PF;font-style:italic;src:url(/fonts/playfair-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:MR;src:url(/fonts/manrope.woff2) format("woff2");font-display:swap}
:root{--cream:#f3ece0;--paper:#faf6ef;--navy:#1f2a44;--forest:#2f4a3a;--burg:#6b2132;--gold:#b08d4f;--ink:#2a2622;--mute:#7a6f60;--line:#e2d7c3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 MR,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
.top{position:sticky;top:0;z-index:20;background:rgba(250,246,239,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:12px clamp(16px,4vw,48px);flex-wrap:wrap}
.logo{font:600 22px/1 PF,Georgia,serif;color:var(--navy);text-decoration:none;letter-spacing:.01em;white-space:nowrap}.logo span{font-style:italic;color:var(--burg)}
.top nav{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;flex:1;justify-content:flex-end}.top nav a{text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);white-space:nowrap;padding:4px 0;border-bottom:1px solid transparent}
.top nav a:hover,.top nav a.on{border-color:var(--gold)}
@media(max-width:760px){.top{gap:8px}.top nav{justify-content:flex-start;flex-basis:100%;gap:16px}}
.hero{position:relative;background:var(--cream);border-bottom:1px solid var(--line)}.hero .art svg{width:100%;height:clamp(300px,37.5vw,600px);display:block}
.htxt{position:absolute;left:clamp(16px,5vw,80px);top:50%;transform:translateY(-50%);max-width:520px}
.eb{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 12px}.eb a{color:inherit}
h1,.h2,.h3,h3{font-family:PF,Georgia,serif;color:var(--navy);font-weight:600}
.hero h1{font-size:clamp(38px,5.4vw,72px);line-height:1.02;margin:0 0 14px}.sub{font:italic 20px/1.4 PF,Georgia,serif;color:var(--ink);margin:0 0 24px}
@media(max-width:760px){.htxt{position:static;transform:none;padding:24px 18px 30px;max-width:none}}
.cta{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;background:var(--navy);color:#f3ece0;text-decoration:none;padding:12px 22px;border-radius:2px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--navy)}
.btn.ghost{background:transparent;color:var(--navy)}.btn:hover{background:var(--burg);border-color:var(--burg);color:#fff}.btn.dis{opacity:.75;cursor:default}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}section.wrap{margin-top:56px}
.h2{font-size:clamp(26px,3vw,38px);margin:0 0 6px}.h3{font-size:22px;margin:24px 0 12px}.lede{color:var(--mute);font:italic 18px/1.5 PF,Georgia,serif;margin:0 0 22px;max-width:720px}
.hrow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:18px}.hrow a{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--burg);text-decoration:none}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff8}.stats div{padding:18px;text-align:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats b{display:block;font:600 30px/1.2 PF,serif;color:var(--navy);letter-spacing:0;text-transform:none}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media(max-width:860px){.split{grid-template-columns:1fr}}
.cats{display:flex;flex-wrap:wrap;gap:18px 22px;margin:8px 0 6px}.cats .hl-tab span{font-size:12px;letter-spacing:.06em}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px 18px}@media(max-width:520px){.grid{grid-template-columns:1fr 1fr;gap:16px 10px}}
.card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .4s,box-shadow .4s}.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(31,42,68,.45)}
.card .im{position:relative;aspect-ratio:4/5;background:var(--cream);overflow:hidden;display:block}.card .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.card:hover .im img{transform:scale(1.04)}
.ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(160deg,#efe6d6,#e3d6c0)}.ph .hl-ic{width:64px;height:64px;color:var(--gold)}
.badge{position:absolute;left:10px;top:10px;background:var(--forest);color:#f3ece0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px}
.cb{padding:12px 12px 14px;display:flex;flex-direction:column;gap:4px;flex:1}.br{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--burg);font-weight:600}.br span{color:var(--mute);font-weight:400;letter-spacing:.06em;text-transform:none}
.cb h3{font-size:15px;line-height:1.3;margin:0;font-weight:500;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pr{font:600 17px PF,serif;color:var(--navy);margin-top:auto}.pr small{font:11px MR,sans-serif;color:var(--mute);margin-left:6px}
.buy{margin-top:8px;text-align:center;border:1px solid var(--navy);color:var(--navy);text-decoration:none;padding:8px 6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.buy:hover{background:var(--navy);color:#f3ece0}
.ttabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.ttabs a{border:1px solid var(--line);padding:6px 14px;text-decoration:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:#fff}.ttabs a small{color:var(--gold)}
.looks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.look{display:block;text-decoration:none;background:var(--navy);color:#e8dcc0;padding:26px 22px;min-height:170px}.look h3{color:#f3ece0;margin:6px 0;font-size:22px}.look p{margin:0;color:#cfc3a8;font-size:14px}.look .no{font:italic 15px PF,serif;color:var(--gold)}
.look:nth-child(3n+2){background:var(--forest)}.look:nth-child(3n){background:var(--burg)}
.news{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.news article{border-top:2px solid var(--navy);padding-top:12px}.news time{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.news h3{margin:6px 0;font-size:20px;line-height:1.25}.news h3 a{text-decoration:none}.news h3 a:hover{color:var(--burg)}.news p{margin:0 0 6px;color:#4c463e}.src{font-size:12px;color:var(--burg)}
.band{background:var(--cream);border:1px solid var(--line);padding:36px clamp(18px,4vw,48px)!important}.club{display:grid;grid-template-columns:1fr 1fr;gap:36px}@media(max-width:760px){.club{grid-template-columns:1fr}}
.phead{margin-top:40px!important}.phead h1{font-size:clamp(34px,4.5vw,56px);margin:0 0 8px;line-height:1.05}
.with-side{display:grid;grid-template-columns:1fr;gap:28px}.with-side:has(.ad-slot.on){grid-template-columns:1fr 300px}@media(max-width:1000px){.with-side:has(.ad-slot.on){grid-template-columns:1fr}}
.side .ad-slot{position:sticky;top:80px}
.ad-slot{display:none}.ad-slot.on{display:block;min-height:120px;grid-column:1/-1}.ad-side.on{min-height:600px}
.csec{margin-bottom:44px}
.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 20px}.tools input[type=search],.tools select{font:inherit;padding:9px 12px;border:1px solid var(--line);background:#fff;min-width:220px}.tools label{font-size:13px;color:var(--mute)}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.bcard{display:block;text-decoration:none;border:1px solid var(--line);background:#fff;padding:18px}.bcard h3{margin:0 0 4px;font-size:19px}.bcard p{margin:0;color:var(--mute);font-size:13px}
.dir{columns:4 200px;padding:0;list-style:none}.dir li{break-inside:avoid;padding:4px 0;border-bottom:1px dotted var(--line)}.dir a{text-decoration:none}.dir a:hover{color:var(--burg)}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:820px}.tier{border:1px solid var(--line);background:#fff;padding:28px}.tier:nth-child(2){background:var(--navy);color:#e8dcc0}.tier:nth-child(2) h3{color:#f3ece0}.tier:nth-child(2) .btn{background:var(--gold);border-color:var(--gold)}.tp{font:italic 22px PF,serif;color:var(--gold)}
.books,.merch{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}.cover{aspect-ratio:3/4;background:var(--forest);color:#e8dcc0;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border:6px double var(--gold);outline:1px solid var(--forest)}.book:nth-child(2) .cover{background:var(--burg)}.book:nth-child(3) .cover{background:var(--navy)}.cover span{font-size:10px;letter-spacing:.24em;text-transform:uppercase}.cover b{font:600 26px/1.15 PF,serif;color:#f3ece0}
.soon{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--burg)}.mi{border:1px solid var(--line);background:#fff;padding:26px;text-align:center}.hl-ic.big{width:72px;height:72px;color:var(--navy)}
.prose{max-width:760px}.prose h1{font-size:44px}.prose h2{font-family:PF,serif;color:var(--navy)}
.foot{margin-top:80px;background:var(--navy);color:#cfc3a8;padding:48px clamp(16px,4vw,48px) 18px}.foot .logo{color:#f3ece0}.fcols{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}@media(max-width:760px){.fcols{grid-template-columns:1fr 1fr}}
.fcols b{display:block;color:#e8dcc0;font-weight:600;margin-bottom:8px;letter-spacing:.08em}.fcols a{display:block;text-decoration:none;font-size:14px;padding:2px 0}.fcols a:hover{color:#fff}
.disc{max-width:1280px;margin:30px auto 0;font-size:12px;color:#9a9078;border-top:1px solid rgba(232,220,192,.15);padding-top:16px}.biz{text-align:center;font-size:10px;letter-spacing:.08em;color:#7d7560;margin:18px 0 0}

.tools[hidden]{display:none!important}

/* The Heritage Wardrobe icons: <svg class="hl-ic"><use href="#hl-hat"/></svg> */
.hl-ic{width:28px;height:28px;color:#1f2a44;display:inline-block;vertical-align:middle;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s;opacity:.88}
.hl-tab{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:6px;color:#1f2a44;text-decoration:none}
.hl-tab::after{content:"";height:1px;width:70%;background:#b08d4f;transform:scaleX(0);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s}
.hl-tab:hover .hl-ic,.hl-tab:focus-visible .hl-ic,.hl-ic:hover{transform:translateY(-2px);opacity:1}
.hl-tab:hover::after,.hl-tab:focus-visible::after,.hl-tab.is-active::after{transform:scaleX(1);opacity:1}
.hl-tab.is-active .hl-ic{opacity:1}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* The Heritage Wardrobe loops. SVG loops in loops/ animate on their own; these are CSS helpers. */
/* Gold-foil sheen for any card/button: <a class="hl-foil">…</a> */
.hl-foil{position:relative;overflow:hidden;isolation:isolate}
.hl-foil::after{content:"";position:absolute;inset:-20% auto -20% 0;width:38%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,240,200,.55) 50%,transparent);transform:translateX(-160%) skewX(-20deg);animation:hl-foil 5.5s cubic-bezier(.45,0,.25,1) infinite}
.hl-foil.is-hover::after{animation:none;opacity:0}
.hl-foil.is-hover:hover::after{opacity:1;animation:hl-foil 1.4s cubic-bezier(.45,0,.25,1) 1}
@keyframes hl-foil{0%{transform:translateX(-160%) skewX(-20deg)}50%,100%{transform:translateX(420%) skewX(-20deg)}}
/* Silk drift for any element (e.g. an <img> of a scarf) */
.hl-drift{animation:hl-drift 7s ease-in-out infinite alternate;transform-origin:20% 50%}
@keyframes hl-drift{from{transform:translateY(-3px) rotate(-1.5deg)}to{transform:translateY(3px) rotate(1.5deg)}}
/* Ticking second hand for any inline element: give it .hl-second and a transform-origin */
.hl-second{animation:hl-sec 60s steps(60) infinite}
@keyframes hl-sec{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
