/* Petal Dream · sections */
.sec{position:relative;padding:clamp(88px,11vw,160px) var(--gutter);overflow-x:hidden;overflow-x:clip}
.wrap{max-width:var(--maxw);margin:0 auto}
.sec-head{display:grid;justify-items:center;gap:18px;max-width:780px;margin:0 auto clamp(44px,6vw,84px);text-align:center}
.sec-head .lede{max-width:32em}
.art{position:absolute}
.art img{width:100%;height:auto}
.sway{transform-origin:50% 0}
.chain{display:block;width:1px;height:clamp(40px,9vh,96px);margin:0 auto -2px;background:linear-gradient(180deg,rgba(212,178,122,.15),var(--gold))}

/* ---------- hero ---------- */
.hero{position:relative;min-height:calc(100vh - var(--bar-h));min-height:calc(100svh - var(--bar-h));display:grid;place-items:center;padding:calc(var(--hdr-h) + clamp(4px,1.4vh,18px)) var(--gutter) clamp(22px,4vh,52px);overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(48% 52% at 50% 34%,rgba(150,32,52,.62),rgba(74,18,32,.46) 48%,transparent 78%),radial-gradient(80% 46% at 50% 106%,rgba(107,20,34,.7),transparent 70%),linear-gradient(180deg,#0B0708,#1A0A0E 62%,#0B0708)}
.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(130% 95% at 50% 42%,transparent 52%,rgba(0,0,0,.6))}
.hero-art{position:absolute;inset:0;z-index:-1;pointer-events:none}
/* decorative layers fade in with CSS alone (no JS needed, no flash before a script loads); after the desktop intro when one plays */
.hero-art .m{animation:pdArtIn .7s var(--ease-out) .1s backwards}
.intro-play .hero-art .m{animation-delay:1s}
@keyframes pdArtIn{from{opacity:0;scale:.9}}
.hero::after,.final::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:-1;height:clamp(60px,12vh,130px);background:linear-gradient(180deg,rgba(11,7,8,0),#0B0708 92%);pointer-events:none}
.final::after{background:linear-gradient(180deg,rgba(11,7,8,0),#0B0708 92%)}
.a-old{right:-3.5vw;bottom:-10vh;width:clamp(240px,25vw,500px)}
.a-redoute{left:-2vw;bottom:-6vh;width:clamp(230px,23vw,440px)}
.a-lilies{left:1vw;top:13vh;width:clamp(130px,12.5vw,220px)}
.a-lilies img{transform:rotate(-10deg)}
.a-leolily{right:5vw;top:16vh;width:clamp(110px,10vw,176px)}
.a-leolily img{transform:rotate(12deg)}
.a-lantern{right:20vw;top:0;width:clamp(56px,5vw,90px)}
.a-hb{left:14.5vw;top:19vh;width:clamp(92px,8vw,142px)}
.hover{position:relative}
.hb-w{position:absolute;inset:0;transform-origin:46% 40%;animation:hbw .14s linear infinite alternate}
.hb-w.is-still{animation:none}
@keyframes hbw{from{transform:rotate(-6deg) scaleY(1)}to{transform:rotate(18deg) scaleY(.3)}}
.a-bf1{left:25vw;top:37vh;width:clamp(50px,4.2vw,76px)}
.bf-open{position:relative;aspect-ratio:232/134}
.bf-open img{position:absolute;inset:0;width:100%;height:100%;transform-origin:44.8% 55%}
.w-l,.w-r{animation:flapH .32s ease-in-out infinite alternate}
@keyframes flapH{to{transform:scaleX(.22)}}
.flap{animation:flap .46s ease-in-out infinite alternate}
@keyframes flap{to{transform:scaleX(.5) skewY(-4deg)}}
.a-bf2{right:9vw;top:45vh;width:clamp(50px,4.4vw,78px)}
.a-bf3{left:6vw;top:46vh;width:clamp(38px,3.2vw,56px)}
.a-bf3 .flap{animation-duration:.38s}
.hero-content{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:1000px;text-align:center}
.hero-content::before{content:"";position:absolute;left:50%;top:60%;z-index:-1;width:118%;height:76%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(11,7,8,.74),rgba(11,7,8,.4) 60%,transparent);pointer-events:none}
.hero-crest{position:relative;aspect-ratio:958/906}
.crest-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 26px 30px rgba(0,0,0,.6))}
.hero-crest::before{content:"";position:absolute;left:50%;top:48%;z-index:-1;width:175%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(228,207,162,.2),rgba(212,178,122,.07) 55%,transparent 76%)}
.hero-crest .sheen-mask i{background:linear-gradient(100deg,transparent,rgba(255,244,214,.38) 50%,transparent)}
.hero-title{margin-top:clamp(4px,1vh,12px);font-weight:300}
.gold-text{background-image:linear-gradient(100deg,transparent 42%,rgba(255,248,226,.95) 50%,transparent 58%),linear-gradient(180deg,#F3E2B6 0%,#D8B97F 46%,#B08A50 72%,#E6D1A4 100%);background-size:300% 100%,100% 100%;background-position:100% 0,0 0;background-repeat:no-repeat}
.hero-title .gold-text{animation:goldSheen 11s var(--ease-io) 3s infinite}
@keyframes goldSheen{0%,58%{background-position:100% 0,0 0}86%,100%{background-position:0% 0,0 0}}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px;margin-top:clamp(12px,2vh,22px)}
.is-paused *,.is-paused *::before,.is-paused *::after{animation-play-state:paused!important}

/* ---------- collection ---------- */
/* .collection and .faq are PAPER bands (token flip + hairline edges in base.css); cards inside stay dark via .p-shell */
.products{display:grid;max-width:1220px;margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,32px);align-items:stretch;perspective:1400px}
.product{position:relative}
.product.is-featured{top:-18px}
.p-shell{position:relative;height:100%;padding:7px;border-radius:30px;background:linear-gradient(160deg,#B9955C,#7E5C1A 46%,#B9955C);box-shadow:0 30px 60px -28px rgba(60,20,10,.6);transform-style:preserve-3d;transition:box-shadow .6s var(--ease-out)}
.is-featured .p-shell{background:linear-gradient(160deg,#F6E6BF,#C9A56A 44%,#E6C98B);box-shadow:0 36px 70px -26px rgba(60,20,10,.7)}
.product.is-picked .p-shell{box-shadow:0 0 0 3px var(--crimson),0 0 0 6px rgba(212,178,122,.9),0 30px 60px -28px rgba(60,20,10,.6)}
.p-core{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:23px;background:linear-gradient(180deg,#2B0C14,#1B080D);box-shadow:inset 0 1px 0 rgba(255,240,210,.09)}
.p-visual{position:relative;margin:0;aspect-ratio:760/740;overflow:hidden;background:#1E0A10}
.p-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
#p-rosa .p-visual img,#p-eterna .p-visual img{object-position:50% 64%}
.p-visual figcaption{position:absolute;right:12px;bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(11,7,8,.7);font:400 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ivory)}
.p-badge{position:absolute;left:14px;top:14px;z-index:2;padding:9px 14px;border-radius:999px;background:linear-gradient(135deg,#8E1B30,#6B1422);color:#F7EFE0;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(235,216,172,.55),0 8px 22px -8px rgba(142,27,48,.8)}
.p-glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,240,210,.2),transparent 46%);opacity:0;transition:opacity .5s ease}
.p-body{display:flex;flex-direction:column;flex:1;gap:8px;padding:20px 24px 24px}
.p-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.p-top{display:flex;align-items:baseline;justify-content:space-between}
.p-num{font:300 30px/1 var(--display);color:var(--blush)}
.p-it{font:italic 400 17px/1 var(--display);color:var(--muted)}
.p-name{font-size:clamp(18px,1.55vw,22px)}
.p-incl{display:grid;gap:6px;margin:8px 0 2px;padding-top:14px;border-top:1px solid var(--hair-soft)}
.p-incl li{position:relative;padding-left:20px;font-size:15px;line-height:1.5;color:var(--text)}
.p-incl li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.p-price{flex:none;font:300 42px/1 var(--display);letter-spacing:-.01em;color:var(--ivory)}
@media (hover:hover) and (pointer:fine){
  .product:hover .p-visual img{transform:scale(1.04)}
  .product:hover .p-glare{opacity:1}
  .product:hover .p-shell{box-shadow:0 50px 90px -40px rgba(60,20,10,.7),0 0 0 1px rgba(126,92,26,.35)}
}

/* ---------- how it works ---------- */
.how{background:linear-gradient(180deg,#0B0708,#2B0A12 16%,#3C0F1B 50%,#2B0A12 84%,#0B0708);border-block:1px solid var(--hair-soft)}
.how .sec-head{margin-bottom:clamp(8px,1.5vw,20px)}
.how-flight{position:relative;height:clamp(96px,10vw,140px);margin:clamp(40px,4vw,56px) 0 clamp(16px,2vw,28px)}
.how-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.how-path path{fill:none;stroke:rgba(212,178,122,.6);stroke-width:1.3;stroke-dasharray:2 8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.dove{position:absolute;left:0;top:0;width:clamp(92px,9vw,132px);margin:-52px 0 0 -46px;will-change:transform}
.dove svg{width:100%;height:auto;overflow:visible;transform:scaleX(-1);filter:drop-shadow(0 12px 14px rgba(0,0,0,.5))}
.dove .wing.near{animation:wingN .42s ease-in-out infinite alternate}
.dove .wing.far{animation:wingF .42s ease-in-out infinite alternate}
@keyframes wingN{from{transform:rotate(10deg)}to{transform:rotate(-24deg) scaleY(.82)}}
@keyframes wingF{from{transform:rotate(-8deg)}to{transform:rotate(20deg) scaleY(.86)}}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.6vw,40px)}
.step{position:relative;display:grid;justify-items:center;align-content:start;gap:12px;padding:30px 26px 34px;border-radius:26px;background:linear-gradient(180deg,rgba(255,236,214,.08),rgba(255,236,214,.025));box-shadow:inset 0 0 0 1px rgba(212,178,122,.34);text-align:center}
.step-art{display:flex;align-items:center;justify-content:center;height:150px;margin-bottom:6px}
.step-art>img{height:112px;width:auto;filter:drop-shadow(0 16px 20px rgba(0,0,0,.55))}
.step-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--hair);font:300 17px/1 var(--display);color:var(--blush)}
.step p{max-width:24em;font-size:16px;line-height:1.6;color:var(--text)}
.chat{display:grid;gap:6px;width:min(250px,100%);padding:10px;border-radius:18px;background:#1C0F13;box-shadow:inset 0 0 0 1px var(--hair-soft);text-align:left}
.chat-top{padding:2px 4px 3px;font:400 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.bubble{justify-self:start;max-width:94%;padding:7px 12px;border-radius:14px 14px 14px 4px;background:var(--ivory);color:#2A1A10;font-size:13px;line-height:1.35}
.bubble b{font-size:18px;font-weight:400;color:var(--wine)}
.bubble.me{justify-self:end;border-radius:14px 14px 4px 14px;background:rgba(212,178,122,.2);color:var(--gold-soft)}
.mini-card{position:relative;display:grid;place-items:center;width:172px;height:106px;border-radius:4px;background:linear-gradient(160deg,#F8F1E3,#E8DCC6);box-shadow:0 18px 30px -12px rgba(0,0,0,.75);transform:rotate(-4deg)}
.mini-card .hand{font-size:31px;color:#33200F}
.mini-card img{position:absolute;right:-18px;bottom:-18px;width:56px;height:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}

/* ---------- occasions: wrapper only (tiles live in conversion.css) ---------- */
.occasions{overflow:hidden;padding-bottom:clamp(72px,7vw,96px);background:radial-gradient(70% 42% at 50% 0%,rgba(142,27,48,.4),transparent 72%),#0B0708;border-bottom:1px solid var(--hair-soft)}
.occ-tail{position:absolute;left:0;top:clamp(40px,6vw,90px);width:clamp(120px,15vw,240px);height:auto;transform-origin:0% 80%;pointer-events:none;filter:drop-shadow(0 20px 26px rgba(0,0,0,.5))}

/* ---------- story (stacked by default; .is-h = pinned horizontal) ---------- */
.story{position:relative;padding:clamp(88px,11vw,160px) var(--gutter);background:radial-gradient(56% 56% at 50% 52%,rgba(128,28,46,.42),transparent 74%),linear-gradient(180deg,#0B0708,#1E0A10 25%,#1E0A10 75%,#0B0708);overflow:hidden}
.story-track{display:grid;gap:clamp(56px,8vw,110px);max-width:var(--maxw);margin:0 auto}
.panel-intro{display:grid;justify-items:center;gap:18px;text-align:center}
.panel-intro .lede{max-width:24em}
.story-hint{display:none;align-items:center;gap:12px;min-height:24px;font:400 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--blush)}
.chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px)}
.chapter.ch-2 .ch-art{order:2}
.ch-art{position:relative;width:100%;display:grid;place-items:center;height:clamp(300px,52vh,560px)}
.ch-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.ch-num{display:block;font:300 clamp(76px,8.5vw,136px)/.9 var(--display);color:transparent;-webkit-text-stroke:1px rgba(212,178,122,.6)}
.ch-title{margin-top:8px;font:300 clamp(34px,3.6vw,54px)/1.05 var(--display);color:var(--ivory)}
.ch-place{margin:14px 0 18px;font:400 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--blush)}
.ch-text>p:not(.ch-place){max-width:25em;font:italic 400 clamp(19px,1.6vw,23px)/1.55 var(--display);color:var(--text)}
.ch-cta{margin-top:14px}
.ch-art>img.ch-arch{opacity:.95;filter:none;-webkit-mask-image:radial-gradient(ellipse 50% 54% at 50% 52%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 50% 54% at 50% 52%,#000 58%,transparent 100%)}
.type-card{position:absolute;left:50%;top:58%;display:grid;justify-items:center;align-content:center;width:min(290px,72%);aspect-ratio:1.55;padding:16px;border-radius:4px;background:linear-gradient(160deg,#F8F1E3,#E8DCC6);box-shadow:0 30px 50px -18px rgba(0,0,0,.85);transform:translate(-50%,-50%) rotate(-3deg)}
.type-card .script{margin-bottom:.22em;font-size:26px;line-height:1;color:#7E5C1A}
.type-name{min-height:1.3em;padding-top:.1em;font-size:clamp(34px,3.2vw,48px);line-height:1.18;color:#2E1C14;white-space:nowrap}
.type-name::after{content:"";display:inline-block;width:1px;height:.8em;margin-left:4px;background:#2E1C14;vertical-align:-.05em;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.type-card img{position:absolute;right:-18px;bottom:-20px;width:64px;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.story.is-h{padding:0}
.story.is-h .story-pin{position:relative;height:100vh;height:100svh;overflow:hidden}
.story.is-h .story-track{display:flex;flex-wrap:nowrap;gap:0;width:max-content;max-width:none;height:100%;margin:0;align-items:center;padding-top:calc(var(--hdr-h) * .6)}
.story.is-h .panel{flex:none;width:100vw;padding:0 max(var(--gutter),calc((100vw - 1180px) / 2))}
.story.is-h .panel-intro{width:calc(min(640px,46vw) + max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter))) + var(--gutter));padding-right:var(--gutter);align-self:flex-start;margin-top:calc(var(--hdr-h) + 13vh);justify-items:start;text-align:left;padding-left:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)))}
.story.is-h .story-hint .i{animation:hintX 1.6s var(--ease-io) infinite alternate}
@keyframes hintX{to{transform:translateX(8px)}}
.story.is-h .story-hint{display:inline-flex}
.story.is-h .chapter.ch-2 .ch-art{order:0}
.story.is-h .ch-art{height:min(64vh,580px)}
.story-prog{display:none}
.story.is-h .story-prog{position:absolute;left:50%;bottom:clamp(22px,4.5vh,44px);display:flex;align-items:center;gap:14px;transform:translateX(-50%);font:300 15px/1 var(--display);color:rgba(212,178,122,.78)}
.sp-n{min-width:1.6em;text-align:center;transition:color .4s ease}
.sp-n.on{color:var(--gold-soft)}
.sp-l{position:relative;display:block;width:clamp(60px,7vw,110px);height:1px;background:var(--hair-soft);overflow:hidden}
.sp-l b{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:0 50%}

/* ---------- name card ---------- */
.namecard{overflow:hidden;background:radial-gradient(50% 62% at 74% 50%,rgba(150,32,52,.5),transparent 74%),#0B0708}
.nc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(32px,6vw,96px)}
.nc-copy{display:grid;justify-items:start;gap:16px}
.nc-text{max-width:30em;font-weight:400;color:var(--text)}
.field-l{margin-top:8px;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--blush)}
.nc-field{display:flex;gap:6px;width:min(470px,100%);padding:6px;border-radius:999px;background:rgba(247,239,224,.07);box-shadow:inset 0 0 0 1px rgba(212,178,122,.62);transition:box-shadow .25s ease}
.nc-field:focus-within{box-shadow:inset 0 0 0 1px rgba(212,178,122,.62);outline:2px solid var(--gold-soft);outline-offset:3px}
.nc-field input{flex:1;min-width:0;height:48px;padding:0 18px;border:0;background:transparent;font:300 21px/1 var(--display);color:var(--ivory);outline:none}
.nc-field input::placeholder{font-style:italic;color:#B8A999}
.nc-copy-btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 18px;border:0;border-radius:999px;background:rgba(212,178,122,.2);color:var(--gold-soft);font:500 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .25s ease,transform .16s var(--ease-out)}
.nc-copy-btn:hover{background:rgba(212,178,122,.32)}
.nc-copy-btn:active{transform:scale(.97)}
.nc-help{font-size:14.5px;color:var(--muted)}
.nc-status{min-height:1.4em;font-size:14.5px;color:var(--gold-soft)}
.nc-stage{position:relative;display:grid;place-items:center;min-height:clamp(330px,38vw,520px)}
.nc-card{position:relative;display:grid;justify-items:center;align-content:center;width:min(480px,90%);aspect-ratio:1.5;padding:24px 30px;border-radius:6px;background:radial-gradient(120% 90% at 30% 10%,#FCF7EE,#F0E6D3 58%,#E3D4BA);box-shadow:0 50px 80px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.5);transform:rotate(-3deg);color:#2E1C14}
.nc-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(176,138,80,.45);border-radius:3px;pointer-events:none}
.nc-for{font-size:34px;line-height:1;color:#7E5C1A}
.nc-name{max-width:100%;padding:0 6px;font-size:var(--ns,clamp(42px,5vw,72px));line-height:1.3;text-align:center;overflow-wrap:anywhere;color:#2A1810;transition:opacity .2s ease}
.nc-rule{width:42%;height:1px;margin:6px 0 12px;background:linear-gradient(90deg,transparent,rgba(176,138,80,.75),transparent)}
.nc-from{font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#6E5226}
.nc-seal{position:absolute;right:-28px;bottom:-32px;width:clamp(84px,9vw,122px);height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.5))}
.nc-rose{position:absolute;left:-1%;bottom:2%;z-index:2;width:clamp(110px,13vw,190px);height:auto;transform:rotate(-12deg);filter:drop-shadow(0 20px 26px rgba(0,0,0,.6))}
.nc-bf{position:absolute;right:8%;top:4%;width:clamp(42px,4vw,62px);height:auto}

/* ---------- bespoke ---------- */
.bespoke{overflow:hidden;background:linear-gradient(180deg,#0B0708,#2B0A12 22%,#3A121E 55%,#2B0A12 80%,#0B0708);border-block:1px solid var(--hair-soft)}
.bsp-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(32px,6vw,96px)}
.bsp-copy{position:relative;display:grid;justify-items:start;gap:18px;padding-top:10px}
.bsp-text{max-width:30em;font-weight:400;color:var(--text)}
.bsp-list{display:grid;gap:10px;margin:4px 0}
.bsp-list li{display:flex;align-items:center;gap:14px;font:italic 300 20px/1.3 var(--display);color:var(--ivory)}
.bsp-list li::before{content:"";width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg);flex:none}
.bsp-direct{font-size:15px;color:var(--muted)}
.bsp-direct .tlink{margin-top:4px}
.bsp-figure{width:clamp(190px,21vw,310px);height:auto;margin-top:6px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.bsp-shell{padding:8px;border-radius:32px;background:linear-gradient(160deg,rgba(212,178,122,.72),rgba(212,178,122,.2) 45%,rgba(212,178,122,.5));box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.bsp-form,.bsp-out{display:grid;gap:18px;padding:clamp(22px,3vw,40px);border-radius:25px;background:linear-gradient(180deg,#1E0A10,#140709);box-shadow:inset 0 1px 0 rgba(255,240,210,.08)}
.bsp-out[hidden]{display:none}
.f-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.f{display:grid;align-content:start;gap:8px}
.f label{font:500 12px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--blush)}
.f label b{font-weight:500;color:var(--blush)}
.f input,.f select,.f textarea{width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:14px;background-color:rgba(247,239,224,.08);box-shadow:inset 0 0 0 1px rgba(212,178,122,.58);color:var(--ivory);font:400 17px/1.4 var(--sans);-webkit-appearance:none;appearance:none;transition:box-shadow .25s ease,background-color .25s ease}
.f input::placeholder,.f textarea::placeholder{color:#B8A999}
.f select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A56A' stroke-width='1.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px}
.f select option{background:#1A0C0E;color:var(--ivory)}
.f textarea{min-height:112px;resize:vertical}
.f input[type=date]{color-scheme:dark}
/* paper field contract: text inputs on a paper band are light fields with dark ink; inside .p-shell / .on-dark they keep the dark recipe above */
.collection input[type=text],.faq input[type=text],.paper input[type=text]{background:rgba(255,255,255,.6);color:var(--ivory);box-shadow:inset 0 0 0 1px rgba(90,60,20,.55);font-size:16px}
.collection input[type=text]::placeholder,.faq input[type=text]::placeholder,.paper input[type=text]::placeholder{color:#6B5A48}
.collection input[type=text]:focus,.faq input[type=text]:focus,.paper input[type=text]:focus{box-shadow:inset 0 0 0 2px var(--claret)}
.p-shell input[type=text],.on-dark input[type=text]{background:rgba(247,239,224,.08);color:var(--ivory);box-shadow:inset 0 0 0 1px rgba(212,178,122,.58)}
.p-shell input[type=text]::placeholder,.on-dark input[type=text]::placeholder{color:#B8A999}
.p-shell input[type=text]:focus,.on-dark input[type=text]:focus{box-shadow:inset 0 0 0 2px var(--gold-soft)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;background-color:rgba(247,239,224,.1);box-shadow:inset 0 0 0 2px var(--gold-soft)}
.f [aria-invalid="true"]{box-shadow:inset 0 0 0 1px #E88B95}
.f-err{font-size:13.5px;color:#F2AAB2}
.f-err:empty{display:none}
.f-note{font-size:14px;line-height:1.5;color:var(--muted);text-align:center}
.bsp-msg{max-height:320px;margin:0;padding:18px 20px;overflow:auto;border-radius:16px;background:rgba(241,232,216,.05);box-shadow:inset 0 0 0 1px var(--hair-soft);white-space:pre-wrap;overflow-wrap:anywhere;font:300 15.5px/1.6 var(--sans);color:var(--ivory)}
.bsp-actions{display:flex;flex-wrap:wrap;gap:12px}
.bsp-actions .btn{flex:1 1 220px}
.bsp-edit{justify-self:center;border:0;background:none;cursor:pointer}
.bsp-toggle{display:none}
.f-hint{font-size:13px;line-height:1.3;color:var(--muted)}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(32px,6vw,96px)}
.faq-side{position:sticky;top:calc(var(--hdr-h) + 36px);display:grid;justify-items:start;gap:18px}
.faq-lead{color:var(--muted)}
/* ghost buttons on paper use the --btn-* tokens (flipped in base.css); only the icon island colour is set here */
.collection .btn-ghost .ic,.faq .btn-ghost .ic,.paper .btn-ghost .ic{color:var(--claret)}
.on-dark .btn-ghost .ic,.p-shell .btn-ghost .ic{color:var(--gold-soft)}
.acc{border-top:1px solid var(--hair-soft)}
.qa{border-bottom:1px solid var(--hair-soft)}
.qa h3{margin:0}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:66px;padding:18px 4px;border:0;background:none;text-align:left;cursor:pointer;font:300 clamp(19px,1.6vw,23px)/1.35 var(--display);color:var(--ivory);transition:color .3s ease}
.faq-q:hover{color:var(--crimson)}
.faq-q .i{width:20px;height:20px;color:var(--gold);transition:transform .45s var(--ease-out)}
.faq-q[aria-expanded="true"] .i{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:1fr;transition:grid-template-rows .45s var(--ease-out)}
.faq-a>div{min-height:0;overflow:hidden}
.faq-a p{max-width:36em;padding:0 44px 22px 4px;font-size:16.5px;font-weight:400;color:var(--text)}
.faq-a a{color:var(--gold-soft)}
.faq .h2 em,.collection .h2 em{color:var(--crimson)}
.qa.is-closed .faq-a{grid-template-rows:0fr}
.qa.is-closed .faq-a>div{visibility:hidden;transition:visibility 0s linear .45s}

/* ---------- final ---------- */
.final{position:relative;display:grid;place-items:center;min-height:min(94vh,920px);padding:clamp(130px,14vw,200px) var(--gutter);overflow:hidden;isolation:isolate;background:radial-gradient(52% 60% at 50% 56%,rgba(160,34,56,.62),rgba(74,18,32,.4) 52%,transparent 80%),#0B0708}
.final-art{position:absolute;inset:0;z-index:-1;pointer-events:none}
.f-lan-l{left:9vw;top:0;width:clamp(52px,4.8vw,84px)}
.f-lan-r{right:12vw;top:3vh;width:clamp(46px,4.2vw,76px)}
.final .chain{height:clamp(64px,11vh,120px)}
.f-ch0{left:15vw;top:19%;width:clamp(96px,8.4vw,126px)}
.f-ch2{right:16vw;top:24%;width:clamp(96px,8.4vw,128px)}
.f-old{right:-4vw;bottom:-10%;width:clamp(190px,21vw,350px)}
.f-red{left:-3vw;bottom:-7%;width:clamp(190px,20vw,330px)}
.f-az{right:19vw;bottom:-16%;width:clamp(80px,7vw,130px);opacity:.85}
.final-inner{display:grid;justify-items:center;gap:20px;max-width:780px;text-align:center}
.final-mark{width:clamp(110px,10vw,150px);height:auto;filter:drop-shadow(0 16px 26px rgba(0,0,0,.6))}
.final-title{font-size:clamp(40px,6vw,84px)}

/* ---------- footer ---------- */
.footer{position:relative;padding:clamp(64px,8vw,110px) var(--gutter) calc(32px + env(safe-area-inset-bottom));border-top:1px solid var(--hair-soft);background:#0B0708}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:start;gap:clamp(32px,5vw,72px)}
.foot-brand{display:grid;justify-items:start;gap:14px}
.foot-emblem{width:clamp(180px,17vw,240px);height:auto}
.foot-word{padding-left:0;font-size:20px;color:var(--ivory)}
.foot-sub{font:400 12px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.foot-nav{display:grid;gap:0}
.foot-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none;font:300 20px/1.2 var(--display);transition:color .3s}
.foot-nav a:hover{color:var(--gold-soft)}
.foot-contact{display:grid;justify-items:start;gap:4px;font-size:16px;color:var(--muted)}
.foot-legal{display:grid;justify-items:start;gap:8px;margin-top:clamp(40px,5vw,64px);padding-top:22px;border-top:1px solid var(--hair-soft);font-size:14px;line-height:1.55;color:var(--muted)}
.foot-legal p{max-width:70ch}
.foot-still{margin-top:6px}
.still-btn[aria-pressed="true"]{background:var(--btn-ic);box-shadow:inset 0 0 0 1px var(--gold)}
.still-btn:not([aria-pressed="true"]) .i{display:none}
