:root{--deep:#02060b;--cyan:#5ff5e0;--blue:#4aa8ff;--txt:#dcf5f0;--dim:#5f7a76;--cyan-rgb:95,245,224;--blue-rgb:74,168,255;--surface-rgb:2,10,14;--label:#33504b;--card-text:#9fbab5;--ident-text:#eafffb;--awn-a:#5ff5e0;--awn-b:#c9fbf1}
html[data-theme="light"]{--deep:#f6efe2;--cyan:#1d2b4a;--blue:#a9823f;--txt:#2b3348;--dim:#8a7a63;--cyan-rgb:29,43,74;--blue-rgb:169,130,63;--surface-rgb:255,251,242;--label:#c9b998;--card-text:#5c5344;--ident-text:#1a2338;--awn-a:#8a7a63;--awn-b:#e0dace}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--deep);color:var(--txt);font-family:'Sora',sans-serif;overflow-x:hidden;transition:background-color .5s ease,color .5s ease;min-height:100vh}
::selection{background:var(--cyan);color:var(--deep)}
.fresco-bg{position:fixed;inset:0;z-index:-1;background:var(--deep) url('/assets/background-web.jpg') center/cover fixed;background-blend-mode:multiply;opacity:.3;display:none}
html[data-theme="light"] .fresco-bg{display:block;animation:frescoBreathe 12s ease-in-out infinite}
@keyframes frescoBreathe{0%,100%{opacity:.1}50%{opacity:.4}}

.theme-toggle{position:fixed;bottom:20vh;right:0;width:78px;height:34px;transform:translateX(50%);border-radius:999px 0 0 999px;border:1px solid rgba(var(--cyan-rgb),.4);background:rgba(var(--surface-rgb),.8);backdrop-filter:blur(6px);cursor:pointer;z-index:20;display:flex;align-items:center;padding:0;overflow:hidden;transition:background-color .5s ease,border-color .5s ease;font-family:'Sora',sans-serif,system-ui}
.theme-toggle:hover{border-color:rgba(var(--cyan-rgb),.7)}
.theme-toggle .tt-inner{margin-right:auto;width:38px;max-width:38px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-left:5px;font-size:7px;line-height:1.4;letter-spacing:.06em;color:var(--txt);white-space:nowrap}
@media(max-width:680px){.theme-toggle{bottom:16vh;width:64px;height:28px}.theme-toggle .tt-inner{width:31px;max-width:31px;font-size:6px;padding-left:4px}}

.cart-pill{position:fixed;bottom:20vh;left:0;min-width:64px;height:34px;border-radius:0 999px 999px 0;border:1px solid rgba(var(--cyan-rgb),.4);border-left:none;background:rgba(var(--surface-rgb),.8);backdrop-filter:blur(6px);cursor:pointer;z-index:20;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px 0 14px;text-decoration:none;transition:background-color .5s ease,border-color .5s ease,transform .3s;font-family:'Sora',sans-serif;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--txt)}
.cart-pill:hover{border-color:rgba(var(--cyan-rgb),.7);transform:translateY(-2px)}
.cart-pill-count{background:var(--cyan);color:var(--deep);font-weight:600;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:9px;padding:0 4px}
.cart-pill.cart-pill-empty .cart-pill-count{opacity:.45}
@media(max-width:680px){.cart-pill{bottom:16vh;height:28px;font-size:8px}}

header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:26px 40px;font-size:10px;letter-spacing:.45em;text-transform:uppercase;color:var(--dim)}
header a.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
header b{color:var(--txt);font-weight:400}
.logo-head{width:26px;height:26px;color:var(--cyan);filter:drop-shadow(0 0 8px rgba(var(--cyan-rgb),.6));animation:logopulse 4s ease-in-out infinite}
.logo-head svg{width:100%;height:100%;fill:currentColor}
@keyframes logopulse{50%{filter:drop-shadow(0 0 16px rgba(var(--cyan-rgb),.9))}}

main{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:22vh 8vw 12vh}
.lbl{font-size:10px;letter-spacing:.55em;text-transform:uppercase;color:var(--cyan);margin-bottom:3vh}
.bz-heading{font-family:'Spectral',serif;font-weight:200;font-style:italic;font-size:clamp(28px,4.4vw,54px);line-height:1.3;max-width:820px;margin-bottom:3vh}
.bz-sub-text{font-size:15px;line-height:1.8;color:var(--card-text);max-width:640px;margin-bottom:2vh}
.crumb{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-bottom:5vh}
.crumb a{color:var(--dim);text-decoration:none;transition:color .3s}
.crumb a:hover{color:var(--cyan)}
.crumb .sep{margin:0 10px;opacity:.5}
.crumb .here{color:var(--cyan)}

.bz-nav{display:flex;gap:28px;margin:6vh 0 0;flex-wrap:wrap}
.bz-nav a{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding-bottom:6px;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.bz-nav a:hover,.bz-nav a.active{color:var(--cyan);border-color:var(--cyan)}

.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px;margin-top:6vh}
.book{border:1px solid rgba(var(--cyan-rgb),.18);border-radius:7px;padding:5vh 2vw;text-align:center;background:rgba(var(--surface-rgb),.4);backdrop-filter:blur(6px);overflow:hidden;transition:border-color .3s,transform .3s,background-color .5s ease}
.book:hover{border-color:rgba(var(--cyan-rgb),.5);transform:translateY(-4px)}
.book .awning{display:flex;margin:-5vh -2vw 3vh}
.book .awning span{flex:1;height:26px;border-radius:0 0 50% 50%}
.book .awning span:nth-child(odd){background:var(--awn-a)}
.book .awning span:nth-child(even){background:var(--awn-b)}
.book h4{font-family:'Spectral',serif;font-weight:300;font-size:16px;letter-spacing:.03em;line-height:1.35;margin-bottom:3vh;min-height:44px}
.book .status{font-size:9px;letter-spacing:.35em;text-transform:uppercase;margin-bottom:3vh}
.book .status.live{color:var(--cyan)}
.book .status.soon{color:var(--dim)}
.book a.buy{display:inline-block;color:var(--deep);background:var(--cyan);text-decoration:none;font-size:10px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;padding:12px 30px;border-radius:999px;transition:transform .3s,box-shadow .3s}
.book a.buy:hover{transform:translateY(-2px);box-shadow:0 0 24px rgba(var(--cyan-rgb),.4)}
.book .locked{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--label);border:1px solid rgba(var(--cyan-rgb),.15);padding:12px 30px;border-radius:999px;display:inline-block}

.legal{max-width:760px;margin-top:2vh}
.legal h2{font-family:'Spectral',serif;font-weight:300;font-size:20px;letter-spacing:.02em;color:var(--txt);margin:5vh 0 1.5vh}
.legal h2:first-child{margin-top:0}
.legal p{font-size:14px;line-height:1.85;color:var(--card-text);margin-bottom:1.6vh}
.legal ul{margin:0 0 1.6vh 1.4em;color:var(--card-text)}
.legal li{font-size:14px;line-height:1.85;margin-bottom:.6vh}
.legal .updated{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-bottom:4vh}
.legal a{color:var(--cyan)}

.case-hero{width:100%;aspect-ratio:16/9;border-radius:7px;overflow:hidden;border:1px solid rgba(var(--blue-rgb),.4);box-shadow:0 0 26px rgba(var(--blue-rgb),.18);margin-bottom:6vh}
.case-hero img{width:100%;height:100%;object-fit:cover;display:block}
.case-spec{border:1px solid rgba(var(--cyan-rgb),.22);border-radius:7px;background:rgba(var(--surface-rgb),.5);backdrop-filter:blur(8px);padding:1vh 5vw;margin-bottom:6vh}
.case-row{padding:2.2vh 0;border-top:1px solid rgba(var(--cyan-rgb),.18);display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}
.case-row:last-child{border-bottom:1px solid rgba(var(--cyan-rgb),.18)}
.case-row .k{color:var(--blue);font-size:10px;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;min-width:140px}
.case-row .v{font-size:14px;font-weight:300;color:var(--ident-text);line-height:1.7;flex:1;min-width:200px}
.case-row .v.scope{font-weight:600}
.case-narrative{font-size:15px;font-weight:300;line-height:1.9;color:var(--card-text);max-width:720px;margin-bottom:6vh}
.film-list{margin:-2vh 0 6vh;max-width:720px}
.film-list a{display:block;position:relative;padding-left:18px;margin-bottom:16px;font-size:14px;color:var(--ident-text);text-decoration:none;transition:color .3s}
.film-list a:last-child{margin-bottom:0}
.film-list a::before{content:"\2013";position:absolute;left:0;color:var(--blue)}
.film-list a:hover{color:var(--cyan)}
.film-list .note{display:block;font-size:12px;font-weight:300;letter-spacing:.02em;color:var(--dim);margin-top:3px}
.case-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:2vh}
.case-foot a.back{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .3s}
.case-foot a.back:hover{color:var(--cyan)}
a.cta-btn,button.cta-btn{display:inline-block;color:var(--deep);background:var(--cyan);text-decoration:none;font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;padding:16px 38px;border-radius:999px;box-shadow:0 0 20px rgba(var(--cyan-rgb),.35);transition:transform .3s,box-shadow .3s;border:none;cursor:pointer;font-family:'Sora',sans-serif}
a.cta-btn:hover,button.cta-btn:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(var(--cyan-rgb),.55)}
button.cta-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.cta-btn.cta-sm{padding:12px 26px;font-size:9px;box-shadow:none}
.confirm-note{color:var(--dim);font-size:11px;margin-top:3vh}
@media(max-width:680px){.case-row{flex-direction:column;gap:4px}.case-row .k{min-width:0}}

.cs-group-lbl{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--label);margin:6vh 0 2.5vh}
.cs-group-lbl:first-of-type{margin-top:2vh}
.cs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:26px}
.cs-card{display:block;text-decoration:none;color:inherit;border:1px solid rgba(var(--cyan-rgb),.18);border-radius:7px;padding:4vh 2vw;background:rgba(var(--surface-rgb),.4);backdrop-filter:blur(6px);transition:border-color .3s,transform .3s,background-color .5s ease}
.cs-card:hover{border-color:rgba(var(--cyan-rgb),.5);transform:translateY(-4px)}
.cs-card .yr{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-bottom:1.8vh}
.cs-card h4{font-family:'Spectral',serif;font-weight:300;font-size:18px;line-height:1.35;margin-bottom:1.8vh;min-height:46px}
.cs-card p{font-size:13px;line-height:1.7;color:var(--card-text)}

.notify{border:1px solid rgba(var(--cyan-rgb),.22);border-radius:7px;background:rgba(var(--surface-rgb),.5);backdrop-filter:blur(8px);padding:6vh 6vw;margin-top:6vh;text-align:center;transition:background-color .5s ease,border-color .5s ease}
.notify h3{font-family:'Spectral',serif;font-weight:200;font-style:italic;font-size:clamp(21px,2.6vw,28px);line-height:1.35;margin-bottom:2vh}
.notify .notify-sub{font-size:14px;line-height:1.75;color:var(--card-text);max-width:520px;margin:0 auto 4vh}
.notify-form{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;max-width:480px;margin:0 auto}
.notify-form input[type=email]{flex:1;min-width:220px;background:rgba(var(--surface-rgb),.6);border:1px solid rgba(var(--cyan-rgb),.3);border-radius:999px;padding:14px 22px;font-family:'Sora',sans-serif;font-size:13px;color:var(--ident-text);outline:none;transition:border-color .3s}
.notify-form input[type=email]:focus{border-color:var(--cyan)}
.notify-form input[type=email]::placeholder{color:var(--dim)}
.notify-form button{border:none;cursor:pointer;color:var(--deep);background:var(--cyan);font-family:'Sora',sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;padding:14px 30px;border-radius:999px;transition:transform .3s,box-shadow .3s}
.notify-form button:hover{transform:translateY(-2px);box-shadow:0 0 24px rgba(var(--cyan-rgb),.4)}
.notify-form button:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.notify-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notify-msg{font-size:12px;letter-spacing:.03em;color:var(--cyan);margin-top:2.5vh;min-height:16px}
.notify-msg.err{color:#ff6b6b}
@media(max-width:520px){.notify-form{flex-direction:column}.notify-form button{width:100%}}

.site-foot{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:8vh;padding-top:4vh;border-top:1px solid rgba(var(--cyan-rgb),.12)}
.site-foot a{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .3s}
.site-foot a:hover{color:var(--cyan)}
.site-foot .copy{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--label);margin-left:auto}

@media(max-width:680px){
  header{padding:16px 20px;font-size:7.5px;letter-spacing:.25em}
  main{padding:18vh 6vw 10vh}
  .site-foot{gap:14px 22px}
  .site-foot .copy{margin-left:0;width:100%}
}

.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;margin-top:6vh}
.shop-card{border:1px solid rgba(var(--cyan-rgb),.18);border-radius:7px;padding:4vh 2vw;background:rgba(var(--surface-rgb),.4);backdrop-filter:blur(6px);transition:border-color .3s,transform .3s,background-color .5s ease;display:flex;flex-direction:column}
.shop-card:hover{border-color:rgba(var(--cyan-rgb),.5);transform:translateY(-4px)}
.shop-card .cat{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--blue);margin-bottom:1.6vh}
.shop-card h4{font-family:'Spectral',serif;font-weight:300;font-size:18px;line-height:1.35;margin-bottom:1vh;min-height:46px}
.shop-card h4 .ch-num{color:var(--dim);font-weight:400}
.shop-card .bonus{font-size:11px;line-height:1.6;color:var(--card-text);margin-bottom:3vh}
.shop-card .price{margin:auto 0 3vh}
.shop-card .price .inr{font-family:'Spectral',serif;font-weight:300;font-size:24px;color:var(--ident-text);display:block}
.shop-card .price .usd{font-size:11px;letter-spacing:.05em;color:var(--dim);display:block;margin-top:2px}
.shop-card button.add-cart{border:none;cursor:pointer;color:var(--deep);background:var(--cyan);font-family:'Sora',sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;padding:14px 0;border-radius:999px;transition:transform .3s,box-shadow .3s,background-color .3s,color .3s}
.shop-card button.add-cart:hover{transform:translateY(-2px);box-shadow:0 0 24px rgba(var(--cyan-rgb),.4)}
.shop-card button.add-cart.in-cart{background:transparent;color:var(--cyan);border:1px solid rgba(var(--cyan-rgb),.5);box-shadow:none;transform:none}

.cart-list{margin-top:6vh}
.cart-row{display:flex;align-items:center;gap:20px;padding:2.6vh 0;border-top:1px solid rgba(var(--cyan-rgb),.18);flex-wrap:wrap}
.cart-row:last-child{border-bottom:1px solid rgba(var(--cyan-rgb),.18)}
.cart-row .info{flex:1;min-width:200px}
.cart-row .info .cat{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);margin-bottom:.8vh}
.cart-row .info h5{font-family:'Spectral',serif;font-weight:300;font-size:15px;line-height:1.4}
.cart-row .row-price{text-align:right;min-width:110px}
.cart-row .row-price .inr{font-size:15px;color:var(--ident-text)}
.cart-row .row-price .usd{font-size:10px;color:var(--dim);display:block;margin-top:2px}
.cart-row .remove{background:none;border:none;cursor:pointer;color:var(--dim);font-size:9px;letter-spacing:.2em;text-transform:uppercase;text-decoration:underline;padding:0;transition:color .3s}
.cart-row .remove:hover{color:#ff6b6b}
.cart-empty{color:var(--card-text);font-size:14px;padding:4vh 0}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:3vh;margin-top:1vh;border-top:1px solid rgba(var(--cyan-rgb),.3);flex-wrap:wrap;gap:10px}
.cart-total .lbl-total{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim)}
.cart-total .amt .inr{font-family:'Spectral',serif;font-weight:300;font-size:28px;color:var(--ident-text)}
.cart-total .amt .usd{font-size:12px;color:var(--dim);display:block;margin-top:2px;text-align:right}
.cart-checkout{margin-top:5vh;text-align:right}
@media(max-width:680px){
  .cart-row{gap:6px}
  .cart-row .row-price{text-align:left;min-width:0}
  .cart-total .amt .usd{text-align:left}
  .cart-checkout{text-align:center}
}
