:root{
  --bg:#FEFDFA; --bg2:#F7F2EA; --card:#FFFFFF; --ink:#221C14; --ink2:#3A3225;
  --mut:#6F6556; --line:#EEE8DC; --brass:#A6824C; --brassdk:#8A6B3C; --sand:#F1EBDF;
  --gold:#E8A23A; --golddk:#C9852A; --teal:#2FA98C; --coral:#E0573C; --violet:#8A5CC4; --blue:#3E8FD0; --rose:#E0658F;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Switzer",system-ui,sans-serif;overflow-x:hidden;font-size:17px;line-height:1.7}
.disp{font-family:"Boska","Switzer",serif;letter-spacing:-.01em;line-height:1.04;font-weight:500}
::selection{background:var(--gold);color:#fff}

.glow{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(40% 36% at 82% 4%, #FBEAD0 0%, transparent 64%),
  radial-gradient(34% 32% at 4% 12%, #EAF3F0 0%, transparent 62%),
  radial-gradient(30% 30% at 96% 60%, #F3EAF6 0%, transparent 62%)}

.kicker{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);font-weight:600}
.soft{box-shadow:0 4px 14px rgba(34,28,20,.05), 0 30px 60px -28px rgba(34,28,20,.28)}
.soft-sm{box-shadow:0 2px 8px rgba(34,28,20,.04), 0 16px 34px -20px rgba(34,28,20,.22)}
.hair{border:1px solid var(--line)}
.lift{transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}
.lift:hover{transform:translateY(-8px)}
.lift:hover img{transform:scale(1.06)}
.imgz{transition:transform 1s cubic-bezier(.2,.8,.2,1)}

.btn{position:relative;overflow:hidden;border-radius:9px;background:var(--ink);color:#FEFDFA;font-weight:600;transition:all .35s;box-shadow:0 12px 30px -10px rgba(34,28,20,.5);display:inline-block}
.btn:hover{background:#000;transform:translateY(-2px)}
.btn-gold{position:relative;overflow:hidden;border-radius:9px;background:linear-gradient(120deg,#F0B24E,var(--gold));color:#3a2a08;font-weight:700;transition:all .35s;box-shadow:0 12px 30px -10px rgba(232,162,58,.6);display:inline-block}
.btn-gold:hover{transform:translateY(-2px)}
.btn-gold::after{content:"";position:absolute;top:0;left:0;width:42%;height:100%;transform:translateX(-166%) skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:sheen 4s 1.2s infinite;will-change:transform}
@keyframes sheen{0%{transform:translateX(-166%) skewX(-22deg)}55%,100%{transform:translateX(405%) skewX(-22deg)}}
.btn2{border-radius:9px;border:1.5px solid var(--ink);color:var(--ink);font-weight:600;transition:all .35s;background:transparent;display:inline-block}
.btn2:hover{background:var(--ink);color:#FEFDFA}
.btn:focus-visible,.btn2:focus-visible,.btn-gold:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.uline{position:relative}
.uline::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--gold);transition:width .4s}
.uline:hover::after{width:100%}

@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.rise{animation:rise 1.05s cubic-bezier(.2,.82,.24,1) both}
.d1{animation-delay:.06s}.d2{animation-delay:.18s}.d3{animation-delay:.3s}.d4{animation-delay:.42s}.d5{animation-delay:.54s}
@keyframes floaty{50%{transform:translateY(-10px)}}.floaty{animation:floaty 7s ease-in-out infinite}.floaty2{animation:floaty 9s ease-in-out infinite}
@keyframes pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.pop{animation:pop .9s cubic-bezier(.2,.8,.2,1) both}
.field{border:1px solid var(--line);border-radius:9px;background:#fff;padding:.8rem 1rem;font-size:15px;color:var(--ink);width:100%;font-family:inherit}
.field:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.badge{background:linear-gradient(120deg,#FBEAC9,#FDF4E4);border:1px solid #F0D9A8}

.mwrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.marq{display:inline-flex;gap:.9rem;white-space:nowrap;animation:scroll 60s linear infinite;will-change:transform}
.marq.rev{animation-direction:reverse}
@keyframes scroll{to{transform:translateX(-50%)}}
.ralchip{aspect-ratio:1;border-radius:10px;overflow:hidden;position:relative;transition:transform .3s;display:block}
.ralchip:hover{transform:scale(1.12);z-index:5;box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}
.ralchip img{width:100%;height:100%;object-fit:cover;display:block}
.ralchip span{position:absolute;inset:auto 0 0 0;font-size:9px;text-align:center;background:#0006;color:#fff;padding:1px;opacity:0;transition:opacity .3s}
.ralchip:hover span{opacity:1}

.flash{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;padding:.9rem 1.5rem;border-radius:12px;font-weight:600;box-shadow:0 20px 50px -20px rgba(0,0,0,.4);animation:rise .5s both}
.flash.success{background:#0f7a63;color:#fff}
.flash.error{background:#b4402a;color:#fff}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .marq{animation:none}
}

/* Article body typography (blog) */
.article-body{font-size:18px;line-height:1.8;color:var(--ink2)}
.article-body p{margin:0 0 1.3rem}
.article-body h2{font-family:"Boska","Switzer",serif;font-weight:500;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.01em;margin:2.4rem 0 1rem;color:var(--ink)}
.article-body h3{font-family:"Boska","Switzer",serif;font-weight:500;font-size:1.35rem;margin:1.8rem 0 .8rem;color:var(--ink)}
.article-body ul{margin:0 0 1.3rem;padding-left:1.3rem;list-style:disc}
.article-body li{margin:.4rem 0}
.article-body strong{color:var(--ink);font-weight:600}
.article-body a{color:var(--brassdk);text-decoration:underline;text-underline-offset:2px}
.article-body a:hover{color:var(--gold)}
