:root{--bg:#f5e9d3;--card:#fffaf0;--ink:#3b2314;--mute:#7f6249;--pink:#7b4a2a;--pink2:#ecdcbd;--line:#e3cfa9;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"]){--bg:#24100a;--card:#341a10;--ink:#f6e9d0;--mute:#cfae97;--pink:#c98a5b;--pink2:#4a2618;--line:#52301f}}
:root[data-theme="dark"]{--bg:#24100a;--card:#341a10;--ink:#f6e9d0;--mute:#cfae97;--pink:#c98a5b;--pink2:#4a2618;--line:#52301f}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Nunito Sans',system-ui,sans-serif;line-height:1.5}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:700;margin:.2em 0}.ing{font-size:.8rem;color:var(--mute)}.ing strong{color:var(--ink);font-weight:800}body{font-size:16px}h3{margin:.2em 0}.logo img{height:58px;width:58px;border-radius:50%;display:block}.biglogo{width:190px;max-width:60%;border-radius:50%}.btn,.tabs button{letter-spacing:.06em}button,input,select,textarea{font:inherit;color:inherit}
header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 5%;background:var(--card);border-bottom:2px solid var(--pink2);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
.logo{font-size:1.5rem;color:var(--pink);font-style:italic;font-weight:700;text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:6px}nav a,.btn{padding:7px 14px;border-radius:99px;text-decoration:none;color:var(--ink);border:0;cursor:pointer;background:transparent;font-size:.95rem}
nav a:hover,nav a.on{background:var(--pink2)}.btn{background:var(--pink);color:#fff}.btn.alt{background:var(--pink2);color:var(--ink)}.btn.sm{padding:4px 10px;font-size:.8rem}
main{padding:24px 5%;max-width:1100px;margin:auto}.hero{text-align:center;padding:40px 10px;background:var(--pink2);border-radius:24px}
.hero h1{font-size:2.3rem;line-height:1.2}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:6px}
.pic{height:130px;border-radius:12px;background:var(--pink2);display:flex;align-items:center;justify-content:center;font-size:3.5rem;overflow:hidden}.pic img{width:100%;height:100%;object-fit:cover}
.tag{font-size:.7rem;background:var(--pink);color:#fff;border-radius:99px;padding:2px 8px;display:inline-block;margin-right:4px}
.mute{color:var(--mute);font-size:.88rem}.old{text-decoration:line-through;color:var(--mute)}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.tabs button{padding:6px 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);cursor:pointer}.tabs button.on{background:var(--pink);color:#fff;border-color:var(--pink)}
input,select,textarea{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);width:100%;margin:3px 0}
table{width:100%;border-collapse:collapse;font-size:.88rem}td,th{padding:6px;border-bottom:1px solid var(--line);text-align:left}.scroll{overflow-x:auto}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.toast{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:99px;z-index:40}
.banner{background:#fff3cd;color:#5c4a00;padding:6px 5%;font-size:.8rem;text-align:center}

#splash{position:fixed;inset:0;z-index:20;background:var(--bg);overflow:auto;display:flex;transition:opacity .5s}
.cwrap{position:fixed;inset:0;overflow:hidden}.collage{position:absolute;inset:-25%;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-auto-rows:120px;gap:8px;transform:rotate(-8deg);}
.tile{border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:3.2rem;overflow:hidden}.tile img{width:100%;height:100%;object-fit:cover}
.veil{position:fixed;inset:0;background:var(--bg);opacity:.6}
.scard{position:relative;margin:auto;width:min(92vw,420px);background:var(--card);border:1px solid var(--line);border-radius:28px;padding:22px;text-align:center;box-shadow:0 18px 50px rgba(60,20,10,.25);opacity:.97}
.scard .biglogo{width:150px}.bar{height:5px;border-radius:9px;background:var(--pink2);overflow:hidden;margin:12px 0}.bar i{display:block;height:100%;width:0;background:var(--pink);animation:fill 2.2s ease-out forwards}
.signin{opacity:0;animation:show .6s 2.2s forwards}.signin label{font-size:.82rem;display:flex;gap:8px;text-align:left;align-items:flex-start;margin:10px 0}.signin label input{width:auto;margin-top:3px}
.modal{position:fixed;inset:0;z-index:30;background:rgba(40,15,8,.6);display:flex;overflow:auto;padding:16px}.mbox{margin:auto;max-width:560px;width:100%}
@keyframes drift{to{transform:rotate(-8deg) translateY(-70px)}}@keyframes fill{to{width:100%}}@keyframes show{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.mt{animation:none!important}}

header{background:var(--hdr)!important;border-bottom:3px solid #c68642!important}header nav a{color:#f6ebd9}header nav a:hover,header nav a.on{background:#6b4228}
.hero{background:linear-gradient(135deg,var(--h1),var(--h2))!important;color:#f8eedb}.hero .btn{background:#d9a05b;color:#3b2314;font-weight:700}
.btn{background:var(--pink);color:#fffaf0}.btn.alt{background:var(--pink2);color:var(--ink)}
h1,h2{color:var(--ink)}.hero h1{color:#f8eedb}.card{box-shadow:0 2px 8px rgba(75,40,20,.08)}
.tag{background:#c68642}

#splash{background:#2b1c14}.half{position:fixed;top:0;bottom:0;width:50%;background-size:cover;background-position:center}.half.l{left:0}.half.r{right:0}
.sc2{position:relative;margin:auto;width:min(90vw,330px);background:var(--sc,rgba(58,60,84,.9));border-radius:22px;padding:20px 22px 18px;text-align:center;color:#f6e6c8;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:show .6s both}
.sc2 .lg{width:170px;display:block;margin:0 auto}.sc2 .sl{font-family:'Caveat Brush','Brush Script MT',cursive;font-size:1.45rem;margin:2px 0 10px}
.stabs{display:flex;justify-content:space-between;margin:8px 0}.stabs button{background:none;border:0;color:#f6e6c8;font-size:1.05rem;padding:4px 2px;cursor:pointer;opacity:.65;border-bottom:2px solid transparent}.stabs button.on{opacity:1;border-color:#e3c79a}
.sc2 input[type=email],.sc2 input[type=tel]{background:#e3c79a;color:#3b2314;border:2px solid #b8935f;border-radius:4px;padding:11px 10px;margin:4px 0}.sc2 input::placeholder{color:#7a5a3a}
.sor{margin:2px 0}.sc2 .go{width:100%;background:#e3c79a;color:#3b2314;font-weight:700;margin-top:10px}
.sc2 label{display:flex;gap:10px;align-items:center;text-align:left;font-size:.75rem;margin:10px 0 0}.sc2 label input{width:auto;margin:0}.sc2 a{color:#f6e6c8}
.sc2 .lnk{background:none;border:0;color:#f6e6c8;text-decoration:underline;cursor:pointer;font-size:.8rem;margin:8px 4px 0;opacity:.85}
:root{--hdr:#4a2c1a;--h1:#6b4228;--h2:#3f2415}
.cwrap .col{position:absolute;top:0;width:33.34%;animation:up 140s linear infinite;will-change:transform}.col img{display:block;width:100%;height:auto}
.sv{position:fixed;inset:0;background:rgba(25,12,6,.25)}@keyframes up{to{transform:translateY(-50%)}}
@media (max-width:700px){.cwrap .col{width:50%}.col:nth-child(2){left:50%!important}.col:nth-child(3){display:none}}
.mq{overflow:hidden;white-space:nowrap;font-weight:700;letter-spacing:.04em;padding:8px 0}.mt{display:flex;width:max-content;animation:mq 25s linear infinite}.mt>div{display:flex}.mt span{padding:0 36px}.mt span::after{content:'✦';margin-left:72px}@keyframes mq{from{transform:translateX(-50%)}to{transform:translateX(0)}}
input[type=color]{height:38px;padding:2px;cursor:pointer}.cp{font-size:.8rem}.thumb{display:inline-block;margin:4px;text-align:center}.thumb img{height:90px;border-radius:10px;display:block}
.sc2 input[type=password]{background:#e3c79a;color:#3b2314;border:2px solid #b8935f;border-radius:4px;padding:11px 10px;margin:4px 0}.mute2{color:#e3d2b0;font-size:.85rem;margin:4px 0}.mail{background:#2b2d40;border:1px dashed #b8935f;border-radius:10px;padding:10px;text-align:left;font-size:.85rem;margin:8px 0}
