:root{--ivory:#FFF4E2;--paper:#FFFBF3;--ink:#2A0F26;--plum:#4A1442;--rani:#C81E5A;--teal:#0E4A57;--gold:#E8A13A;--mut:#6F5566;
--serif:"Bodoni Moda",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#FFFBF3}}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--rani);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:-.01em}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 1.6rem;border-radius:999px;font-weight:700;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.btn-p{background:var(--rani);color:#fff;box-shadow:0 10px 24px -10px var(--rani)}
.btn-p:hover{transform:translateY(-2px);background:var(--plum)}
.btn-o{border:1.5px solid currentColor}.btn-o:hover{background:var(--ink);color:var(--ivory)}
.promo{background:var(--teal);color:var(--ivory);text-align:center;font-size:.85rem;padding:.55rem 1rem}
header{position:sticky;top:0;z-index:30;background:rgba(255,251,243,.92);backdrop-filter:blur(12px);border-bottom:1px solid #f0dcc4}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.logo{font-family:var(--serif);font-size:1.9rem;font-weight:700;text-decoration:none;color:var(--plum)}
.logo i{color:var(--rani)}
nav ul{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;font-weight:500;position:relative}
nav a::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--rani);transition:width .3s}
nav a:hover::after{width:100%}
.icons{display:flex;gap:.25rem}
.ib{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;position:relative;transition:background .2s}
.ib:hover{background:#f7e4cc}
.cnt{position:absolute;top:4px;right:2px;background:var(--rani);color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center}
.burger{display:none}
@media(max-width:820px){.burger{display:grid}
nav{position:fixed;inset:calc(72px + env(safe-area-inset-top,0px)) 0 0 0;background:var(--paper);transform:translateY(-110%);transition:transform .4s;padding:2rem 20px;z-index:20;visibility:hidden}
nav.open{transform:none;visibility:visible}nav ul{flex-direction:column;gap:1.2rem;font:500 2rem var(--serif)}}
/* hero */
.hero{background:radial-gradient(900px 500px at 85% 20%,#ffd28a 0,transparent 60%),linear-gradient(160deg,var(--ivory),#FFE0D0);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center;min-height:min(760px,calc(100svh - 110px));padding-block:3rem}
.hero h1{font-size:clamp(2.8rem,7vw,5.6rem);color:var(--plum)}
.hero h1 span{display:block;overflow:hidden}
.hero h1 em{display:inline-block;font-style:italic;color:var(--rani);animation:rise 1s .3s both cubic-bezier(.2,.8,.2,1)}
.hero h1 b{display:inline-block;font-weight:500;animation:rise 1s both cubic-bezier(.2,.8,.2,1)}
.hero p{max-width:46ch;font-size:1.1rem;color:var(--mut);margin:1.4rem 0 2rem;animation:fade 1s .8s both}
.cta{display:flex;gap:.8rem;flex-wrap:wrap;animation:fade 1s 1s both}
@keyframes rise{from{transform:translateY(110%)}}@keyframes fade{from{opacity:0;transform:translateY(12px)}}
.arch{aspect-ratio:3/4;border-radius:999px 999px 24px 24px;overflow:hidden;box-shadow:0 40px 80px -30px #4a144299;border:8px solid #fff;max-width:440px;margin-inline:auto;width:100%;animation:fade 1.2s .4s both}
.arch svg{width:100%;height:100%}.sway{transform-origin:50% 100%;animation:sway 6s ease-in-out infinite}
@keyframes sway{50%{transform:rotate(1.2deg) scale(1.015)}}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr;text-align:center;padding-block:2rem}.hero p{margin-inline:auto}.cta{justify-content:center}.arch{max-width:320px;order:-1}}
/* sections */
section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem}
.head h2{font-size:clamp(2rem,4.5vw,3.4rem);color:var(--plum)}
.head p{color:var(--mut);margin:.5rem 0 0;max-width:50ch}
.coll{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.cc{border:0;text-align:left;border-radius:999px 999px 18px 18px;overflow:hidden;aspect-ratio:3/4.4;position:relative;transition:transform .5s}
.cc:hover{transform:translateY(-8px)}
.cc svg{width:100%;height:100%;transition:transform .8s}.cc:hover svg{transform:scale(1.07)}
.cc span{position:absolute;inset:auto 0 0;padding:2.4rem 1rem 1.2rem;text-align:center;color:#fff;font:500 1.4rem var(--serif);background:linear-gradient(transparent,#2a0f26cc)}
@media(max-width:820px){.coll{grid-template-columns:repeat(2,1fr);gap:.8rem}}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:none}
.chip{padding:.55rem 1.2rem;border-radius:999px;border:1.5px solid #e6cfb3;white-space:nowrap;min-height:44px;transition:.2s}
.chip[aria-pressed=true]{background:var(--plum);color:#fff;border-color:var(--plum)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem 1.2rem;margin-top:1.8rem}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.grid{grid-template-columns:repeat(2,1fr);gap:1.2rem .7rem}}
.card{position:relative;animation:fade .6s both}
.ph{border-radius:16px;overflow:hidden;aspect-ratio:3/4;position:relative;background:#f7e4cc}
.ph svg{width:100%;height:100%;transition:transform .7s}.card:hover .ph svg{transform:scale(1.06)}
.tag{position:absolute;top:10px;left:10px;background:var(--gold);color:var(--ink);font-size:.75rem;font-weight:700;padding:.2rem .7rem;border-radius:999px}
.wish{position:absolute;top:6px;right:6px;width:44px;height:44px;border-radius:50%;background:#fffc;display:grid;place-items:center;transition:transform .2s}
.wish:hover{transform:scale(1.12)}.wish[aria-pressed=true] svg{fill:var(--rani);stroke:var(--rani)}
.qv{position:absolute;left:10px;right:10px;bottom:10px;transform:translateY(140%);transition:transform .35s;background:#fff;min-height:44px;border-radius:999px;font-weight:700}
.card:hover .qv,.qv:focus-visible{transform:none}
@media(hover:none){.qv{transform:none;min-height:40px;font-size:.85rem}}
.card h3{font:500 1.15rem var(--serif);margin-top:.8rem}
.meta{color:var(--mut);font-size:.9rem;display:flex;justify-content:space-between}
.meta b{color:var(--ink)}
/* story */
.story{background:var(--plum);color:var(--ivory)}
.story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.story h2{font-size:clamp(2rem,4.5vw,3.6rem);color:#ffd28a}
.story p{color:#f3dcd0;max-width:52ch}
.stats{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}.stats b{display:block;font:500 2.4rem var(--serif);color:var(--gold)}
.frame{aspect-ratio:1;border-radius:24px 200px 24px 200px;overflow:hidden}
@media(max-width:820px){.story .wrap{grid-template-columns:1fr;gap:2rem}}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.trust div{padding:1.4rem 1rem;border-radius:16px;background:var(--ivory)}
.trust b{display:block;font:500 1.15rem var(--serif);color:var(--plum)}.trust span{font-size:.9rem;color:var(--mut)}
@media(max-width:700px){.trust{grid-template-columns:repeat(2,1fr)}}
.news{background:linear-gradient(120deg,var(--rani),#E4572E);color:#fff;text-align:center}
.news h2{font-size:clamp(2rem,4vw,3rem)}
.news form{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem}
.news input{min-height:48px;border-radius:999px;border:0;padding:0 1.3rem;width:min(340px,100%);font:inherit}
.news .btn{background:var(--ink);color:#fff}
footer{background:var(--ink);color:#e8d3c4;padding:3rem 0 2rem;font-size:.92rem}
footer .wrap{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}footer a{display:block;text-decoration:none;padding:.15rem 0}
/* overlays */
dialog{border:0;border-radius:22px;padding:0;width:min(880px,calc(100% - 24px));max-height:calc(100svh - 24px);overflow:auto;background:var(--paper);color:var(--ink)}
dialog::backdrop{background:#2a0f2699;backdrop-filter:blur(3px)}
dialog[open]{animation:pop .35s cubic-bezier(.2,.8,.2,1)}@keyframes pop{from{opacity:0;transform:scale(.96) translateY(14px)}}
.pd{display:grid;grid-template-columns:1fr 1fr}
.pd .ph{border-radius:0;aspect-ratio:auto;min-height:340px}
.pd .in{padding:2rem;position:relative}.pd h2{font-size:2rem}
.x{position:absolute;top:8px;right:8px}
.sizes{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0 1.4rem}
.sz{min-width:48px;min-height:48px;border-radius:12px;border:1.5px solid #e6cfb3;font-weight:500}.sz[aria-pressed=true]{background:var(--plum);color:#fff;border-color:var(--plum)}
.pd ul{padding-left:1.1rem;color:var(--mut);margin:.5rem 0 1.4rem}
@media(max-width:700px){.pd{grid-template-columns:1fr}.pd .ph{aspect-ratio:4/3;min-height:0}}
aside{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);z-index:50;transform:translateX(105%);transition:transform .4s;display:flex;flex-direction:column;box-shadow:-20px 0 60px #0004;padding-top:env(safe-area-inset-top,0px)}
aside.open{transform:none}
.ch{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid #f0dcc4}.ch h2{font-size:1.5rem}
.cl{flex:1;overflow:auto;padding:1rem 1.2rem}
.ci{display:grid;grid-template-columns:64px 1fr auto;gap:.8rem;align-items:center;padding:.6rem 0}.ci .ph{border-radius:10px}
.cf{padding:1.2rem;border-top:1px solid #f0dcc4;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom,0px))}
.cf .btn{width:100%}.tot{display:flex;justify-content:space-between;font-weight:700;margin-bottom:.8rem}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,200%);background:var(--ink);color:#fff;padding:.8rem 1.4rem;border-radius:999px;z-index:60;transition:transform .4s}.toast.on{transform:translate(-50%,0)}
.about{padding:0}.ab1{background:var(--teal);color:var(--ivory)}.ab2{background:var(--ivory)}
.ab-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:center;padding-block:clamp(3.5rem,8vw,6.5rem)}
.ab-g.rev{grid-template-columns:1.1fr .9fr}.ab-g.rev>:first-child{order:0}
.pt{margin:0;text-align:center}.circ{aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid var(--gold);background:#f2e6d2;display:grid;place-items:center;max-width:400px;margin-inline:auto;font:500 4rem var(--serif);color:var(--teal)}
.circ img{width:100%;height:100%;object-fit:cover}
.pt figcaption{margin-top:1rem;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;font-weight:700}
.k{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold);margin:0 0 .6rem}
.about h2{font-size:clamp(2.6rem,7vw,5rem)}.ab1 h2{color:#fff}.ab2 h2{color:var(--teal)}
.about p{max-width:58ch}.ab1 p{color:#e6dccb}.ab2 p{color:var(--mut)}.role{letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;font-weight:700;color:var(--teal)!important;margin:.4rem 0 1.2rem}
blockquote{margin:1.8rem 0 0;padding-left:1.2rem;border-left:3px solid var(--gold);font:italic 500 clamp(1.4rem,3vw,2rem)/1.3 var(--serif);color:var(--gold)}
.st{display:flex;gap:2rem;flex-wrap:wrap;margin:2rem 0 0}.st div{border-left:2px solid var(--rani);padding-left:1rem}
.st dt{font:500 2.2rem var(--serif);color:var(--rani)}.st dd{margin:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:700}
@media(max-width:820px){.ab-g,.ab-g.rev{grid-template-columns:1fr}.circ{max-width:260px}}
.brand{position:relative;overflow:hidden;padding-bottom:0;color:var(--ivory);background:radial-gradient(700px 400px at 90% 0,#E4572E88,transparent 60%),linear-gradient(135deg,#C81E5A,#8E1B52 55%,#4A1442)}
.brand::before{content:"";position:absolute;right:-180px;top:-180px;width:560px;height:560px;border-radius:50%;border:1.5px solid #F6C56B66;box-shadow:0 0 0 40px #F6C56B14,0 0 0 90px #F6C56B0d;pointer-events:none}
.bg{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,5rem);align-items:end}
.brand h2{font-size:clamp(2.8rem,7.5vw,6.2rem);line-height:1;color:#fff}.brand h2 i{display:block;color:#FFD28A;font-weight:500}
.bc p{font-size:1.1rem;color:#FFE9D8;max-width:44ch;margin:0 0 1.6rem}
.brand ul{list-style:none;margin:0;padding:0}
.brand li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:1rem 0;border-top:1px solid #F6C56B66;transition:padding .3s,background .3s}
.brand li:last-child{border-bottom:1px solid #F6C56B66}
.brand li:hover{padding-inline:.8rem;background:#ffffff14}
.brand li b{font:500 1.6rem var(--serif);color:#FFD28A;white-space:nowrap}.brand li span{color:#FFE9D8;font-size:.92rem;text-align:right}
.mq{margin-top:clamp(3rem,7vw,5rem);border-block:1px solid #F6C56B55;overflow:hidden;background:#2a0f2655;padding-block:1rem}
.mt{display:flex;gap:3rem;width:max-content;animation:mq 34s linear infinite}
.mt span{font:italic 500 clamp(2rem,5vw,3.6rem) var(--serif);color:transparent;-webkit-text-stroke:1.2px #FFD28A;white-space:nowrap}
.mt span:nth-child(3n+2){color:#FFD28A;-webkit-text-stroke:0}
.mq:hover .mt{animation-play-state:paused}
@keyframes mq{to{transform:translateX(calc(-50% - 1.5rem))}}
@media(max-width:820px){.bg{grid-template-columns:1fr}.brand li{flex-direction:column;gap:.2rem}.brand li span{text-align:left}}
@media(prefers-reduced-motion:reduce){.mt{flex-wrap:wrap;width:auto;padding-inline:20px}.mt span[aria-hidden]{display:none}}
.kar{background:var(--teal);color:var(--ivory)}.kar-g{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.kimg{aspect-ratio:4/5;overflow:hidden;border-radius:6px;clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%)}.kimg img{object-position:30% 50%!important}.kimg svg,.kimg img{width:100%;height:100%;object-fit:cover}
.kar h2{font-size:clamp(2.2rem,5vw,3.8rem);color:#fff}.kar p{color:#e6dccb;max-width:56ch}.kar .st dd{color:var(--ivory)}.kar .st dt{color:var(--gold)}.kar .st div{border-color:#E8A13A88}
.ml{display:inline-flex;gap:.6rem;margin-top:2rem;color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:4px;min-height:32px}
.ml span{transition:transform .3s}.ml:hover span{transform:translateX(6px)}
@media(max-width:820px){.kar-g{grid-template-columns:1fr}}
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
