html{scroll-behavior:smooth}body{margin:0;background:var(--wine-roast)}
a{color:var(--wine-oxblood)}a:hover{color:var(--wine-rubine)}
.caps{font-family:var(--font-caps);font-size:13px;letter-spacing:var(--tracking-label);text-transform:uppercase}.caps.small{font-size:12px;color:var(--text-muted)}
.oxblood{color:var(--wine-oxblood)}.brass{color:var(--brass-light)}
h2{margin:0;font-size:clamp(2.3rem,1.6rem + 2.4vw,3.75rem);line-height:1.04}h2 i{color:var(--wine-oxblood)}
section{position:relative;overflow:hidden;scroll-margin-top:60px}
.row{display:flex;gap:12px;flex-wrap:wrap}.center{text-align:center;justify-content:center;display:flex}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:620px}.sec-head p{margin:0;font-size:19px}.sec-head.center{align-items:center;margin:0 auto}
/* motion */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease-gentle),transform 1.1s var(--ease-gentle)}.rv.in{opacity:1;transform:none}
.fade{opacity:0;animation:fadeUp 1.2s var(--ease-gentle) forwards}
.ltr{display:inline-block;opacity:0;animation:ink .9s var(--ease-gentle) forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ink{from{opacity:0;filter:blur(3px);transform:translateY(.15em)}to{opacity:1;filter:none;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(8%)}to{opacity:1;transform:none}}
@keyframes stamp{0%{opacity:0;transform:scale(1.9) rotate(-28deg)}60%{opacity:1;transform:scale(.96) rotate(-12deg)}100%{opacity:1;transform:scale(1) rotate(-14deg)}}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:22px;padding:16px var(--gutter);color:var(--paper-ivory);transition:background var(--dur-slow),color var(--dur-slow),padding var(--dur-slow)}
.hdr a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:var(--paper-ivory);color:var(--ink)!important;padding:6px 10px}
.hdr-mark{font-family:var(--font-display);font-size:22px;white-space:nowrap}.hdr-mark i{color:var(--brass-light)}
.hdr nav{display:flex;gap:20px;margin-left:auto;font-family:var(--font-caps);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.hdr nav a{opacity:.85;border-bottom:1px solid transparent;padding-bottom:2px;white-space:nowrap}.hdr nav a:hover{opacity:1;border-color:currentColor}
.ctrls{display:flex;gap:8px;align-items:center;margin-left:auto}.hdr nav+.ctrls{margin-left:0}@media (max-width:1100px){.hdr nav+.ctrls{margin-left:auto}}
.lang{display:flex;border:1px solid currentColor;border-radius:999px;overflow:hidden}
.lang button{background:none;border:none;color:inherit;font-family:var(--font-typewriter);font-size:12px;padding:5px 10px;cursor:pointer;line-height:1}
.lang button[aria-pressed="true"]{background:var(--paper-ivory);color:var(--wine-roast)}
.hdr.solid{background:rgba(234,224,205,.95);backdrop-filter:blur(6px);color:var(--text-strong);padding-top:10px;padding-bottom:10px;box-shadow:0 1px 0 var(--border-hairline)}
.hdr.solid .hdr-mark i{color:var(--wine-oxblood)}.hdr.solid .lang button[aria-pressed="true"]{background:var(--wine-oxblood);color:var(--paper-ivory)}
/* hero */
.hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:0 var(--gutter);background:radial-gradient(ellipse at 50% 45%,#3a070c 0%,#30060a 55%,#220407 100%);color:var(--paper-ivory)}
.hero-img{position:relative;align-self:end;overflow:hidden;width:min(58vw,calc(max(100vh,680px) * 516 / 690));aspect-ratio:516/690;container-type:inline-size;animation:rise 1.8s var(--ease-gentle) .2s both;-webkit-mask:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.hero-img img{position:absolute;width:131%;height:auto;left:-15.5%;top:-52.2%;display:block}
.hero-card{position:absolute;margin:0;left:21.3%;width:58.1%;top:25.1%;height:22.9%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink);gap:.4cqw;font-weight:400}
.hc-eyebrow{font-family:var(--font-caps);font-size:2.2cqw;letter-spacing:.24em;color:var(--brown-boho)}
.hc-name{font-family:var(--font-display);font-size:6.1cqw;line-height:1.05;white-space:nowrap}.hc-name i{color:var(--wine-oxblood)}
.hc-script{font-family:var(--font-script);font-size:5.6cqw;color:var(--olive-moss);line-height:1}
.hero-side{display:flex;flex-direction:column;gap:18px;max-width:270px}
.hero-side.left{justify-self:start}.hero-side.right{justify-self:end;align-items:flex-end;text-align:right}
.hero-side p{margin:0;font-size:19px;line-height:1.5}
.link-light{font-family:var(--font-caps);font-size:13px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--paper-old);text-decoration:none;border-bottom:1px solid var(--brass-dark);padding-bottom:3px}.link-light:hover{color:var(--brass-light)}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:1px;height:56px}.scroll-cue span{position:absolute;inset:0;background:var(--brass-light);animation:cue 2.4s var(--ease-gentle) infinite}
/* club */
.club{background:var(--paper-old);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:center;padding:clamp(80px,10vw,140px) var(--gutter)}
.club-img{aspect-ratio:3/4;max-height:640px;background-size:cover;background-position:center;border-radius:var(--radius-arch);box-shadow:0 0 0 1px var(--border-strong),0 0 0 10px var(--paper-old),0 0 0 11px var(--border-hairline)}
.club-copy{display:flex;flex-direction:column;gap:22px;max-width:620px}
.club-text{margin:0;font-family:var(--font-display);font-size:clamp(1.4rem,1.1rem + .9vw,1.95rem);line-height:1.4;color:var(--text-strong)}
.sig{font-family:var(--font-script);font-size:34px;color:var(--wine-oxblood)}
/* principe */
.principe{background:#523621;color:var(--paper-ivory);padding:clamp(80px,10vw,130px) var(--gutter) clamp(96px,12vw,150px);display:flex;flex-direction:column;align-items:center;gap:clamp(40px,5vw,64px)}
.principe-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.principe h2,.adherer h2{color:var(--paper-ivory)}.principe h2 i,.adherer h2 i{color:var(--brass-light)}
.doilies{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,28px);width:100%;max-width:1240px;align-items:start}
.doily{position:relative;aspect-ratio:520/296;background:url(assets/imagery/bg-doilies.jpg) 50% var(--py)/141.5% auto no-repeat;container-type:inline-size;transform:rotate(var(--tilt));opacity:0;translate:0 -36px;rotate:-5deg;transition:opacity .9s var(--ease-gentle),translate 1.1s var(--ease-gentle),rotate 1.1s var(--ease-gentle)}
.doily:nth-child(2){margin-top:clamp(24px,4vw,64px)}
.principe.in .doily{opacity:1;translate:0 0;rotate:0deg}
.doily-in{position:absolute;left:13%;width:74%;top:11%;height:78%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.6cqw;color:var(--brown-walnut)}
.d-num{font-family:var(--font-display);font-style:italic;font-size:5cqw;line-height:1;color:var(--wine-oxblood)}
.d-cap{font-family:var(--font-caps);font-size:2.6cqw;letter-spacing:.22em;text-transform:uppercase;color:var(--brown-boho)}
.d-title{font-family:var(--font-display);font-size:7.4cqw;line-height:1.05;color:var(--text-strong)}
.d-text{font-size:3.5cqw;line-height:1.35;max-width:94%;margin-top:.4cqw}
/* gateaux */
.gateaux{background:var(--paper-ivory);padding:clamp(80px,10vw,140px) var(--gutter);display:flex;flex-direction:column;gap:48px;--bg-page:var(--paper-ivory)}
.cake-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);max-width:1100px}
.wish{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:18px 24px;background:var(--paper-old);box-shadow:var(--frame-double);max-width:1100px;box-sizing:border-box}
.wish div{display:flex;flex-direction:column;gap:2px}.wish strong{font-family:var(--font-display);font-weight:400;font-size:22px;color:var(--text-strong)}.wish em{color:var(--text-muted)}
/* fiche */
.fiche{background:#040402;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(64px,8vw,110px) 0 clamp(64px,8vw,110px) var(--gutter)}
.fiche-form{background:var(--paper-ivory);box-shadow:var(--frame-double);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:20px}
.fiche-form h2{font-size:clamp(2rem,1.4rem + 1.8vw,3rem)}.lead{margin:0;font-size:17px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
.check{display:flex;flex-direction:column;gap:8px}.tags{display:flex;gap:8px;flex-wrap:wrap}
.plate-wrap{justify-self:end;width:100%}
.plate-img{position:relative;width:100%;max-width:760px;margin-left:auto;aspect-ratio:736/981;container-type:inline-size}
.plate-img img{width:100%;height:100%;display:block}
.plate-card{position:absolute;left:49.6%;top:50.4%;width:64cqw;height:44cqw;transform:translate(-50%,-50%) rotate(16.8deg) skewX(4.8deg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink);gap:.35cqw;overflow:hidden}
.pc-cap{font-family:var(--font-caps);font-size:1.75cqw;letter-spacing:.2em;text-transform:uppercase;color:#5C4C36}
.pc-name{font-family:var(--font-display);font-size:5cqw;line-height:1.05;max-width:90%;color:#120C0A}
.pc-by{font-family:var(--font-script);font-size:3.4cqw;color:#3A3A20;line-height:1.1}
.pc-h{font-family:var(--font-caps);font-size:1.7cqw;letter-spacing:.18em;text-transform:uppercase;color:var(--wine-oxblood);margin-top:.7cqw}.pc-h.inline{margin:0}
.pc-ing{font-family:var(--font-typewriter);font-weight:700;font-size:2cqw;line-height:1.35;max-width:84%;color:#120C0A}
.pc-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.6cqw;max-width:86%}
.pc-tags b{font-family:var(--font-caps);font-weight:400;font-size:1.8cqw;letter-spacing:.06em;padding:.2cqw 1.1cqw;border:1.5px solid var(--wine-oxblood);color:var(--wine-oxblood);background:rgba(141,58,60,.08);border-radius:99px;animation:fadeUp .5s var(--ease-gentle)}
.pc-tags em{font-size:2.2cqw;color:var(--text-body)}
.pc-suits{font-style:italic;font-size:2.3cqw;color:#120C0A}
.pc-foot{font-family:var(--font-typewriter);font-size:1.45cqw;color:var(--text-body);margin-top:.8cqw;max-width:88%}
/* quiz */
.quiz{background:#2b3324 url(assets/imagery/bg-tartan.jpg) center/520px repeat;padding:clamp(80px,10vw,140px) var(--gutter);display:grid;place-items:center}
.quiz::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(28,24,16,.15) 20%,rgba(28,24,16,.55) 100%);pointer-events:none}
.quiz-card{position:relative;width:min(680px,100%);box-sizing:border-box;background:var(--paper-ivory);box-shadow:var(--frame-double),var(--shadow-md);padding:clamp(32px,5vw,60px);text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center;min-height:420px;justify-content:center}
.quiz-card p{margin:0;font-size:19px;max-width:46ch}.q-title{font-size:clamp(2rem,1.4rem + 1.8vw,3rem)}
.q-step{display:flex;flex-direction:column;gap:18px;align-items:center;width:100%;animation:fadeUp .6s var(--ease-gentle)}
.q-count{font-family:var(--font-typewriter);font-size:13px;color:var(--text-muted)}
.q-step h3{margin:0;font-size:32px}
.q-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.q-opts button{display:flex;gap:12px;align-items:baseline;text-align:left;padding:14px 16px;background:transparent;border:1px solid var(--border-hairline);border-radius:var(--radius-xs);font-family:var(--font-body);font-size:17px;color:var(--text-body);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}
.q-opts button:hover{background:var(--paper-old);border-color:var(--wine-oxblood)}
.q-opts span{font-family:var(--font-display);font-style:italic;color:var(--wine-oxblood)}
.q-result{display:flex;flex-direction:column;gap:10px;align-items:center;animation:fadeUp .6s var(--ease-gentle)}
.q-result h3{margin:0;font-size:clamp(2rem,1.5rem + 1.6vw,2.9rem)}
.q-title-script{font-family:var(--font-script);font-size:34px;color:var(--olive-moss);margin-bottom:10px}
.seal{width:110px;mix-blend-mode:multiply;opacity:0;animation:stamp .75s cubic-bezier(.3,1.25,.5,1) .3s forwards}
/* adherer */
.adherer{background:var(--wine-roast);color:var(--text-on-dark);padding:clamp(80px,10vw,140px) var(--gutter);display:flex;flex-direction:column;gap:44px}
.adherer .sec-head p{color:var(--text-on-dark-muted)}
.tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:900px;width:100%;margin:0 auto}
.tier{border:1px solid var(--brass-dark);outline:1px solid var(--brass-dark);outline-offset:-8px;padding:36px;display:flex;flex-direction:column;gap:20px}
.tier.gold{background:rgba(203,170,110,.06)}
.tier-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tier h3{margin:0;font-size:28px;color:var(--paper-ivory)}
.tier ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:17px;color:var(--text-on-dark-muted)}
.tier li{display:flex;gap:10px}.tier li span{color:var(--brass-light)}
.disclaimer{margin:0 auto;max-width:72ch;text-align:center;font-family:var(--font-typewriter);font-size:13px;line-height:1.7;color:var(--text-on-dark-muted)}
/* footer */
.ftr{background:var(--wine-roast);color:var(--text-on-dark-muted);padding:24px var(--gutter) 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.ftr>div:first-child{width:min(520px,100%);margin-bottom:18px}
.ftr-mark{font-family:var(--font-display);font-size:38px;color:var(--paper-ivory)}.ftr-mark i{color:var(--brass-light)}
.ftr-script{font-family:var(--font-script);font-size:28px;color:var(--brass-light)}
.socials{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin:14px 0;font-family:var(--font-caps);font-size:13px;letter-spacing:var(--tracking-caps);text-transform:uppercase}
.socials a{color:var(--paper-old);text-decoration:none;border-bottom:1px solid var(--brass-dark);padding-bottom:3px}.socials a:hover{color:var(--brass-light)}
.ftr p{margin:6px 0 0;font-family:var(--font-typewriter);font-size:12px;line-height:1.6;max-width:72ch}
.toast-wrap{position:fixed;right:24px;bottom:24px;z-index:50;animation:fadeUp .4s var(--ease-gentle)}
/* responsive */
@media (max-width:1100px){.hdr nav{display:none}
.hero{grid-template-columns:1fr;padding:84px 20px 56px;justify-items:center;text-align:center;align-items:start}
.hero-img{width:min(100%,620px);order:-1;align-self:auto}
.hero-side,.hero-side.right{justify-self:center;align-items:center;text-align:center;max-width:520px}
.scroll-cue{display:none}}
@media (max-width:900px){
.club,.fiche{grid-template-columns:1fr;padding:64px 20px}.principe{padding:64px 20px}
.club-img{max-width:420px}.doilies{grid-template-columns:1fr;max-width:480px}.doily:nth-child(2){margin-top:0}
.cake-grid,.tiers,.q-opts,.g3{grid-template-columns:1fr}.plate-wrap{justify-self:center}
}
@media (prefers-reduced-motion:reduce){.doily{translate:none!important;rotate:none!important}.rv,.fade,.ltr,.doily,.hero-img,.q-step,.q-result,.pc-tags b{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;filter:none!important}.seal{opacity:1;animation:none!important;transform:rotate(-14deg)}.scroll-cue span{animation:none!important}html{scroll-behavior:auto}}
/* newsletter + forms (production additions) */
.nl{width:min(560px,100%);display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;margin:8px 0 36px;padding:32px;border:1px solid var(--brass-dark);outline:1px solid var(--brass-dark);outline-offset:-8px;box-sizing:border-box}
.nl-lead{margin:0;font-family:var(--font-body);font-size:17px;color:var(--text-on-dark-muted)}
.nl-row{display:flex;gap:12px;align-items:flex-end;width:100%;text-align:left}.nl-row>:first-child{flex:1}
.ftr .nl-lead{font-family:var(--font-body);font-size:17px;max-width:none;margin:0}
.nl label,.nl label>span{color:var(--text-on-dark-muted)!important;text-align:left}
.nl input:not([type=checkbox]){color:var(--paper-ivory)!important;border-color:var(--brass-dark)!important}
.nl input::placeholder{color:#8a7563}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.dlg-body{display:flex;flex-direction:column;gap:16px}
.dlg-sum{margin:0;padding:10px 14px;background:var(--paper-old);font-family:var(--font-display);font-size:19px;color:var(--text-strong)}
.dlg-err{margin:0;color:var(--state-danger);font-size:16px}
@media (max-width:560px){.nl-row{flex-direction:column;align-items:stretch}.nl{padding:24px 18px}}
.dlg-body{text-align:left}
