/*
Theme Name: Ardelino Board Game Club Malaysia
Description: Custom WordPress theme for Ardelino Board Game Club Malaysia.
Author: PingVinni
Version: 1.2.2
Text Domain: ardelino
*/

:root{
  --ar-cream:#f5f0e8;
  --ar-paper:#eee6da;
  --ar-white:#fffdf9;
  --ar-ink:#302b28;
  --ar-muted:#776f68;
  --ar-wine:#8b3449;
  --ar-wine-dark:#6f2638;
  --ar-green:#193724;
  --ar-green-2:#234831;
  --ar-sage:#dbe6df;
  --ar-peach:#edcbbc;
  --ar-gold:#d3af58;
  --ar-line:rgba(48,43,40,.14);
  --ar-shadow:0 24px 65px rgba(60,43,33,.10);
  --ar-serif:"Playfair Display",Georgia,serif;
  --ar-sans:"DM Sans",Arial,sans-serif;
  --ar-mono:"DM Mono",ui-monospace,monospace;
  --ar-radius:16px;
  --ar-shell:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ar-cream);color:var(--ar-ink);font-family:var(--ar-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open,body.cookie-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
::selection{background:var(--ar-wine);color:#fff}
.site-shell{width:min(var(--ar-shell),calc(100% - 64px));margin-inline:auto}
main{overflow:hidden}
section{position:relative}

/* shared typography */
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--ar-wine);font-family:var(--ar-mono);font-size:14px;font-weight:500;letter-spacing:.075em;text-transform:uppercase;line-height:1.35}
.eyebrow:before{content:"";width:28px;height:2px;background:currentColor;flex:none}
.eyebrow--light{color:#e4c673}
.section-head{margin-bottom:54px}
.section-head h2,.about__body h2,.faq__intro h2,.final-cta h2{font-family:var(--ar-serif);font-weight:500;letter-spacing:-.035em;line-height:1.03;margin:12px 0 0;font-size:clamp(44px,4.6vw,66px)}
.section-head p{color:var(--ar-muted);font-size:17px;line-height:1.7;margin:16px 0 0}
.section-head--split,.section-head--action,.section-head--dark{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:80px;align-items:end}
.section-head--split>p,.section-head--dark>p{max-width:470px;justify-self:end;margin-bottom:5px}
.section-head--action{grid-template-columns:1fr auto;align-items:end}
.section-head--center{text-align:center;max-width:790px;margin-left:auto;margin-right:auto}
.section-head--center .eyebrow{justify-content:center}
.section-head--center .eyebrow:before{display:none}
.section-head--center p{max-width:720px;margin-inline:auto}

/* buttons */
.ar-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 23px;border-radius:999px;border:1px solid transparent;font-size:15px;font-weight:700;line-height:1;transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease,border-color .28s ease,color .28s ease;position:relative;overflow:hidden}
.ar-btn span{display:inline-block;transition:transform .28s ease}
.ar-btn:hover{transform:translateY(-3px)}
.ar-btn:hover span{transform:translate(3px,-2px)}
.ar-btn:focus-visible,.header-cta:focus-visible,.site-nav a:focus-visible,.faq-item__button:focus-visible,.section-link:focus-visible{outline:3px solid rgba(139,52,73,.28);outline-offset:4px}
.ar-btn--wine{background:var(--ar-wine);color:#fff;box-shadow:0 10px 22px rgba(139,52,73,.18)}
.ar-btn--wine:hover{background:var(--ar-wine-dark);box-shadow:0 16px 34px rgba(111,38,56,.25)}
.ar-btn--outline{border-color:rgba(48,43,40,.33);background:transparent;color:var(--ar-ink)}
.ar-btn--outline:hover{background:var(--ar-ink);border-color:var(--ar-ink);color:#fff}
.ar-btn--text{padding-inline:5px;min-height:50px;color:var(--ar-wine);border-radius:0}
.ar-btn--text:after{content:"";position:absolute;left:5px;right:5px;bottom:8px;height:1px;background:currentColor;transform-origin:left;transform:scaleX(.38);transition:transform .28s ease}
.ar-btn--text:hover:after{transform:scaleX(1)}
.ar-btn--cream{background:var(--ar-cream);color:var(--ar-green);box-shadow:0 12px 25px rgba(0,0,0,.12)}
.ar-btn--cream:hover{background:#fff;color:var(--ar-wine);box-shadow:0 17px 35px rgba(0,0,0,.18)}
.ar-btn--ghost-light{color:#fff;border-color:rgba(255,255,255,.52);background:rgba(255,255,255,.04)}
.ar-btn--ghost-light:hover{background:#fff;color:var(--ar-wine);border-color:#fff}

/* header */
.site-header{height:80px;background:rgba(245,240,232,.94);border-bottom:1px solid rgba(48,43,40,.08);position:relative;z-index:100;backdrop-filter:blur(12px)}
.site-header--home{position:sticky;top:0}
.site-header__inner{height:100%;display:flex;align-items:center;gap:36px}
.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--ar-serif);font-size:22px;font-weight:600;line-height:1;white-space:nowrap}
.brand__mark{width:24px;height:24px;position:relative;display:inline-block;flex:none;transition:transform .35s ease}
.brand:hover .brand__mark{transform:rotate(12deg)}
.brand__mark i,.brand__mark b,.brand__mark em{position:absolute;display:block;background:var(--ar-wine);font-style:normal}
.brand__mark i{width:9px;height:9px;left:1px;top:1px;border-radius:2px}
.brand__mark b{width:9px;height:9px;right:1px;bottom:1px;border-radius:50%}
.brand__mark em{width:6px;height:6px;right:2px;top:2px;transform:rotate(45deg);background:var(--ar-gold)}
.site-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.site-nav a{font-size:15px;font-weight:600;color:#5f5954;position:relative;padding:29px 0 27px;transition:color .2s ease}
.site-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:18px;height:2px;background:var(--ar-wine);transition:left .25s ease,right .25s ease}
.site-nav a:hover{color:var(--ar-wine)}
.site-nav a:hover:after{left:0;right:0}
.header-cta{display:inline-flex;align-items:center;gap:9px;background:var(--ar-wine);color:#fff;border-radius:999px;padding:11px 17px;font-size:14px;font-weight:700;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.header-cta:hover{background:var(--ar-wine-dark);transform:translateY(-2px);box-shadow:0 12px 24px rgba(139,52,73,.22)}
.menu-toggle{display:none;width:44px;height:44px;padding:0;border:0;background:transparent;margin-left:auto;position:relative;cursor:pointer}
.menu-toggle span{position:absolute;width:23px;height:2px;right:6px;background:var(--ar-ink);transition:width .2s ease,transform .2s ease}
.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:25px;width:17px}
.menu-toggle:hover span:last-child{width:23px}
.inner-nav{margin-left:auto;display:flex;gap:32px;align-items:center;font-size:14px;color:var(--ar-muted)}
.inner-nav span{font-family:var(--ar-mono);text-transform:uppercase;letter-spacing:.06em}.inner-nav a{font-weight:700;color:var(--ar-wine)}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;background:var(--ar-green);color:#fff;z-index:160;display:flex;flex-direction:column;padding:28px 32px 32px;opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease}
.mobile-menu.is-open{opacity:1;visibility:visible;transform:none}
.mobile-menu .brand__name{color:#fff}.mobile-menu .brand__mark i,.mobile-menu .brand__mark b{background:var(--ar-cream)}
.mobile-menu__top{display:flex;justify-content:space-between;align-items:center}
.mobile-menu__close{border:1px solid rgba(255,255,255,.24);background:transparent;color:#fff;border-radius:50%;width:46px;height:46px;font-size:30px;line-height:1;cursor:pointer;transition:transform .25s ease,background .25s ease}.mobile-menu__close:hover{transform:rotate(90deg);background:rgba(255,255,255,.08)}
.mobile-menu__nav{display:grid;margin:auto 0;max-width:720px}
.mobile-menu__nav a{display:flex;align-items:baseline;gap:16px;padding:14px 0;font-family:var(--ar-serif);font-size:clamp(34px,8vw,58px);line-height:1.05;border-bottom:1px solid rgba(255,255,255,.13);transition:padding-left .22s ease,color .22s ease}
.mobile-menu__nav a:hover{padding-left:10px;color:#e3c16e}.mobile-menu__nav small{font-family:var(--ar-mono);font-size:14px;color:#d1b15f}
.mobile-menu__foot{display:flex;justify-content:space-between;gap:20px;color:#bdcabf;font-size:14px}.mobile-menu__foot a{color:#fff}

/* hero */
.hero{padding:64px 0 108px;background:var(--ar-cream)}
.hero__grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(470px,1.07fr);gap:82px;align-items:center}
.hero__copy{padding:45px 0 24px}
.hero__copy h1{font-family:var(--ar-serif);font-size:clamp(58px,5.45vw,82px);line-height:.99;letter-spacing:-.045em;font-weight:500;margin:20px 0 26px;max-width:660px}
.hero__lead{font-size:18px;line-height:1.72;color:#6d665f;max-width:600px;margin:0}
.hero__actions{display:flex;align-items:center;gap:22px;margin-top:32px;flex-wrap:wrap}
.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:58px;padding-top:26px;border-top:1px solid var(--ar-line);max-width:610px}
.hero-stat{display:grid;gap:3px}.hero-stat strong{font-family:var(--ar-serif);font-size:30px;font-weight:500;line-height:1;color:var(--ar-wine)}.hero-stat span{font-size:14px;color:var(--ar-muted)}
.hero__media{position:relative;padding:18px 0 38px}
.hero__image-wrap{aspect-ratio:1.05/1;overflow:hidden;border-radius:2px;box-shadow:var(--ar-shadow);position:relative}
.hero__image-wrap:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.35);z-index:1;pointer-events:none}
.hero__image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hero__media:hover img{transform:scale(1.025)}
.hero__badge{position:absolute;left:-31px;bottom:10px;background:var(--ar-wine);color:#fff;min-width:190px;padding:17px 20px;border-radius:3px;box-shadow:0 18px 36px rgba(111,38,56,.25);display:grid;grid-template-columns:auto 1fr;gap:1px 9px;align-items:center}
.hero__badge-dot{grid-row:1/3;width:11px;height:11px;border-radius:50%;background:#e7c569;box-shadow:0 0 0 5px rgba(231,197,105,.12)}
.hero__badge strong{font-family:var(--ar-serif);font-size:18px;font-weight:600}.hero__badge>span:last-child{font-size:14px;color:#f6dce3}

/* about */
.about{padding:128px 0;background:var(--ar-white);border-top:1px solid rgba(48,43,40,.06);border-bottom:1px solid rgba(48,43,40,.06)}
.about__grid{display:grid;grid-template-columns:minmax(380px,.93fr) minmax(0,1.07fr);gap:104px;align-items:center}
.about__media{position:relative;max-width:574px}
.about__media:before{content:"";position:absolute;left:-20px;top:-20px;width:115px;height:115px;background:var(--ar-paper);z-index:0}
.about__media img{position:relative;z-index:1;width:100%;aspect-ratio:1/1;object-fit:cover;box-shadow:var(--ar-shadow)}
.about__badge{position:absolute;right:-26px;bottom:-24px;z-index:2;background:var(--ar-wine);color:#fff;width:192px;min-height:110px;padding:22px;border-radius:2px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 38px rgba(139,52,73,.24)}
.about__badge strong{font-family:var(--ar-serif);font-size:34px;line-height:1;font-weight:500}.about__badge span{font-size:14px;line-height:1.35;margin-top:7px;color:#f3d7df}
.about__body h2{max-width:690px}
.about__intro{font-size:17px;line-height:1.75;color:var(--ar-muted);margin:22px 0 0;max-width:660px}
.about-list{list-style:none;padding:0;margin:35px 0 0;display:grid;gap:0}
.about-list li{display:grid;grid-template-columns:34px 1fr;gap:15px;padding:17px 0;border-top:1px solid var(--ar-line)}
.about-list li:last-child{border-bottom:1px solid var(--ar-line)}
.about-list__icon{color:var(--ar-wine);font-size:19px;line-height:1.4;transition:transform .25s ease}
.about-list li:hover .about-list__icon{transform:rotate(45deg) scale(1.08)}
.about-list h3{font-family:var(--ar-serif);font-size:20px;line-height:1.25;font-weight:600;margin:0;color:var(--ar-ink)}
.about-list p{font-size:15px;line-height:1.6;color:var(--ar-muted);margin:5px 0 0;max-width:650px}

/* categories */
.game-categories{padding:122px 0;background:var(--ar-paper)}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.category-card{--card-accent:#91a99c;background:var(--ar-white);border:1px solid rgba(48,43,40,.07);border-radius:12px;padding:28px;min-height:330px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.category-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--card-accent);transform:scaleX(.35);transform-origin:left;transition:transform .35s ease}
.category-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(60,43,33,.10);border-color:rgba(48,43,40,.13)}
.category-card:hover:after{transform:scaleX(1)}
.category-card--1{--card-accent:#7ea18e}.category-card--2{--card-accent:#c58d9d}.category-card--3{--card-accent:#d0a958}.category-card--4{--card-accent:#919bc0}.category-card--5{--card-accent:#7cae9a}.category-card--6{--card-accent:#d39577}
.category-card__icon{width:46px;height:46px;background:color-mix(in srgb,var(--card-accent) 22%,white);border:1px solid color-mix(in srgb,var(--card-accent) 50%,white);position:relative;border-radius:8px;transition:transform .32s ease,background .32s ease}
.category-card__icon span,.category-card__icon i{position:absolute;background:var(--card-accent);display:block}.category-card__icon span{width:12px;height:12px;left:9px;top:9px;border-radius:3px}.category-card__icon i{width:12px;height:12px;right:9px;bottom:9px;border-radius:50%}.category-card:hover .category-card__icon{transform:rotate(-6deg) scale(1.06);background:color-mix(in srgb,var(--card-accent) 30%,white)}
.category-card h3{font-family:var(--ar-serif);font-size:25px;line-height:1.15;font-weight:600;margin:22px 0 11px}
.category-card p{font-size:15px;color:var(--ar-muted);line-height:1.7;margin:0}
.category-card__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:23px}.category-card__tags span{font-family:var(--ar-mono);font-size:14px;line-height:1.2;padding:7px 9px;background:#f3eee7;border-radius:5px;color:#67605a}

/* agenda */
.agenda{padding:122px 0;background:var(--ar-cream)}
.section-link{font-size:15px;font-weight:700;color:var(--ar-wine);padding:10px 0;display:inline-flex;gap:9px;align-items:center;border-bottom:1px solid rgba(139,52,73,.35);transition:gap .25s ease,border-color .25s ease}.section-link:hover{gap:15px;border-color:var(--ar-wine)}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.event-card{background:var(--ar-white);border:1px solid rgba(48,43,40,.09);min-height:345px;padding:30px 32px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.event-card:before{content:"";position:absolute;left:0;top:0;width:7px;height:100%;background:var(--ar-wine);transform:scaleY(.22);transform-origin:top;transition:transform .35s ease}
.event-card:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(60,43,33,.10);border-color:rgba(139,52,73,.22)}.event-card:hover:before{transform:scaleY(1)}
.event-card__date{font-family:var(--ar-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--ar-wine);font-weight:500}
.event-card h3{font-family:var(--ar-serif);font-size:32px;line-height:1.1;font-weight:600;margin:14px 0 15px;max-width:540px}
.event-card__meta{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--ar-line);border-bottom:1px solid var(--ar-line);font-size:14px;color:var(--ar-muted)}
.event-card__spots{color:var(--ar-green);font-weight:700}
.event-card p{font-size:15px;color:var(--ar-muted);line-height:1.7;margin:18px 0 22px;max-width:570px}
.event-card__link{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;color:var(--ar-wine);padding-top:10px}.event-card__link span{width:34px;height:34px;border:1px solid rgba(139,52,73,.25);border-radius:50%;display:grid;place-items:center;transition:background .25s ease,color .25s ease,transform .25s ease}.event-card:hover .event-card__link span{background:var(--ar-wine);color:#fff;transform:rotate(8deg)}

/* how it works */
.how-it-works{padding:122px 0 108px;background:var(--ar-green);color:#f7f2e9}
.section-head--dark p{color:#bfcbbf}.section-head--dark h2{color:#fff}
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.step-card{padding:34px 28px 40px;border-right:1px solid rgba(255,255,255,.16);min-height:290px;transition:background .3s ease,transform .3s ease;position:relative}.step-card:last-child{border-right:0}.step-card:hover{background:rgba(255,255,255,.055);transform:translateY(-4px)}
.step-card__number{width:48px;height:48px;border:1px solid rgba(227,193,110,.55);border-radius:50%;display:grid;place-items:center;font-family:var(--ar-mono);font-size:14px;color:#e3c16e;margin-bottom:36px;transition:background .25s ease,color .25s ease}.step-card:hover .step-card__number{background:#e3c16e;color:var(--ar-green)}
.step-card h3{font-family:var(--ar-serif);font-size:24px;line-height:1.2;font-weight:600;margin:0 0 13px}.step-card p{font-size:15px;color:#b9c7bc;line-height:1.7;margin:0}
.how-it-works__action{text-align:center;margin-top:42px}

/* membership */
.membership{padding:122px 0 130px;background:var(--ar-paper)}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;margin-top:58px}
.price-card{background:var(--ar-white);border:1px solid rgba(48,43,40,.09);padding:36px 32px;min-height:565px;display:flex;flex-direction:column;position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.price-card:hover{transform:translateY(-7px);box-shadow:0 23px 50px rgba(60,43,33,.12);border-color:rgba(139,52,73,.22)}
.price-card--featured{background:var(--ar-wine);color:#fff;transform:translateY(-14px);box-shadow:0 28px 55px rgba(111,38,56,.22);border-color:var(--ar-wine)}.price-card--featured:hover{transform:translateY(-21px);box-shadow:0 34px 65px rgba(111,38,56,.28)}
.price-card__tag{position:absolute;right:22px;top:22px;background:#f0d27e;color:#563e20;border-radius:999px;padding:7px 11px;font-family:var(--ar-mono);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.price-card h3{font-family:var(--ar-serif);font-size:29px;line-height:1.15;font-weight:600;margin:0 0 24px}.price-card--featured h3{padding-right:100px}
.price-card__price{display:flex;align-items:flex-end;gap:9px;padding-bottom:24px;border-bottom:1px solid var(--ar-line)}.price-card__price strong{font-family:var(--ar-serif);font-size:52px;line-height:.9;font-weight:500;letter-spacing:-.04em}.price-card__price span{font-size:14px;color:var(--ar-muted)}
.price-card--featured .price-card__price{border-color:rgba(255,255,255,.2)}.price-card--featured .price-card__price span{color:#edd6dc}
.price-card__intro{font-size:15px;line-height:1.65;color:var(--ar-muted);margin:23px 0 18px}.price-card--featured .price-card__intro{color:#efdce1}
.price-card ul{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px}.price-card li{font-size:15px;display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start}.price-card li:before{content:"✓";color:var(--ar-wine);font-weight:700}.price-card--featured li:before{color:#f0d27e}.price-card .ar-btn{margin-top:auto;align-self:stretch}.price-card--featured .ar-btn{border-color:transparent}

/* gallery */
.gallery-section{padding:122px 0;background:var(--ar-cream)}
.gallery-grid{display:grid;grid-template-columns:1.05fr .95fr 1fr;grid-template-rows:300px 300px;gap:12px}
.gallery-grid__item{margin:0;overflow:hidden;position:relative;background:#ddd}.gallery-grid__item--1{grid-row:1/3}.gallery-grid__item--4{grid-column:3;grid-row:1/3}.gallery-grid__item img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease}.gallery-grid__item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(25,55,36,.25));opacity:0;transition:opacity .35s ease}.gallery-grid__item:hover img{transform:scale(1.045);filter:saturate(1.06)}.gallery-grid__item:hover:after{opacity:1}
.gallery-grid__index{position:absolute;left:15px;bottom:13px;z-index:2;color:#fff;font-family:var(--ar-mono);font-size:14px;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease}.gallery-grid__item:hover .gallery-grid__index{opacity:1;transform:none}

/* reviews */
.reviews{padding:122px 0;background:var(--ar-paper)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:52px}
.review-card{background:var(--ar-white);border:1px solid rgba(48,43,40,.08);padding:30px 30px 28px;min-height:315px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.review-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(60,43,33,.10);border-color:rgba(139,52,73,.18)}
.review-card__quote{font-family:var(--ar-serif);font-size:54px;line-height:.8;color:var(--ar-peach);transition:transform .3s ease,color .3s ease}.review-card:hover .review-card__quote{transform:translateX(5px);color:var(--ar-wine)}
.review-card p{font-family:var(--ar-serif);font-size:19px;line-height:1.62;margin:24px 0;color:#4e4843}.review-card__author{margin-top:auto;padding-top:21px;border-top:1px solid var(--ar-line);display:flex;justify-content:space-between;gap:15px;align-items:center}.review-card__author strong{font-size:15px}.review-card__author span{font-family:var(--ar-mono);font-size:14px;color:var(--ar-muted)}

/* faq */
.faq{padding:122px 0 132px;background:var(--ar-cream)}
.faq__grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px;align-items:start}
.faq__intro{position:sticky;top:120px}.faq__intro p{font-size:16px;line-height:1.7;color:var(--ar-muted);max-width:390px;margin-top:20px}
.faq-list{border-top:1px solid var(--ar-line)}
.faq-item{border-bottom:1px solid var(--ar-line)}
.faq-item__button{width:100%;display:grid;grid-template-columns:1fr 36px;gap:20px;align-items:center;text-align:left;padding:23px 0;border:0;background:none;color:var(--ar-ink);font-family:var(--ar-serif);font-size:21px;font-weight:600;cursor:pointer;transition:color .22s ease,padding-left .22s ease}.faq-item__button:hover{color:var(--ar-wine);padding-left:7px}
.faq-item__button i{width:32px;height:32px;border:1px solid rgba(48,43,40,.25);border-radius:50%;position:relative;transition:background .25s ease,border-color .25s ease,transform .25s ease}.faq-item__button i:before,.faq-item__button i:after{content:"";position:absolute;left:9px;right:9px;top:15px;height:1px;background:currentColor}.faq-item__button i:after{transform:rotate(90deg);transition:transform .25s ease}.faq-item.is-open .faq-item__button{color:var(--ar-wine)}.faq-item.is-open .faq-item__button i{background:var(--ar-wine);color:#fff;border-color:var(--ar-wine);transform:rotate(4deg)}.faq-item.is-open .faq-item__button i:after{transform:rotate(0)}
.faq-item__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq-item__answer>div{overflow:hidden}.faq-item.is-open .faq-item__answer{grid-template-rows:1fr}.faq-item__answer p{font-size:16px;line-height:1.75;color:var(--ar-muted);margin:0;padding:0 65px 25px 0;max-width:760px}

/* final cta */
.final-cta{min-height:560px;background:var(--ar-wine-dark);color:#fff;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.final-cta__media{position:absolute;inset:0;z-index:-2}.final-cta__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1) contrast(1.05)}
.final-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(106,33,51,.97) 0%,rgba(120,40,58,.93) 48%,rgba(102,30,48,.72) 100%);z-index:-1}
.final-cta__inner{text-align:center;padding:108px 32px;max-width:900px}
.final-cta .eyebrow{justify-content:center}.final-cta .eyebrow:before{display:none}
.final-cta h2{font-size:clamp(46px,5vw,70px);margin-top:15px}.final-cta p{font-size:18px;line-height:1.7;color:#f0dce1;max-width:720px;margin:22px auto 0}.final-cta__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:34px}

/* footer */
.site-footer{background:#142d1d;color:#eef2ec;padding:72px 0 28px}
.site-footer__grid{display:grid;grid-template-columns:1.55fr .75fr .9fr .8fr;gap:62px}
.brand--footer{color:#fff}.brand--footer .brand__mark i,.brand--footer .brand__mark b{background:#f5f0e8}
.site-footer__brand p{font-size:15px;line-height:1.7;color:#afc0b2;max-width:380px;margin:19px 0 23px}
.footer-socials{display:flex;gap:16px;flex-wrap:wrap}.footer-socials a{font-size:14px;color:#d8dfd9;border-bottom:1px solid rgba(255,255,255,.24);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.footer-socials a:hover{color:#e5c56e;border-color:#e5c56e}
.site-footer__col{display:flex;flex-direction:column;gap:10px}.site-footer__col h4{font-family:var(--ar-mono);font-size:14px;text-transform:uppercase;letter-spacing:.07em;color:#d7b75f;margin:2px 0 8px}.site-footer__col a,.site-footer__col button,.site-footer__col span{font-size:14px;color:#afc0b2;background:none;border:0;padding:0;text-align:left;cursor:pointer;line-height:1.55;transition:color .2s ease,transform .2s ease}.site-footer__col a:hover,.site-footer__col button:hover{color:#fff;transform:translateX(3px)}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.11);margin-top:58px;padding-top:22px;display:flex;justify-content:space-between;gap:30px;color:#829686;font-size:14px}

/* legal + generic pages */
.generic-page,.legal-page{background:var(--ar-cream);min-height:70vh;padding:82px 0 110px}.generic-page__inner,.legal-shell{width:min(900px,calc(100% - 64px));margin-inline:auto}.generic-page h1,.legal-hero h1{font-family:var(--ar-serif);font-size:clamp(50px,6vw,76px);font-weight:500;line-height:1;margin:14px 0 18px}.entry-content,.legal-content{font-size:16px;color:#625b55}.legal-hero{padding-bottom:42px;border-bottom:1px solid var(--ar-line)}.legal-hero p{max-width:680px;color:#777067;font-size:16px}.legal-date{font-size:14px;color:#8e857d;margin-top:18px}.legal-content{padding-top:34px}.legal-section{padding:30px 0;border-bottom:1px solid var(--ar-line)}.legal-section h2{font-family:var(--ar-serif);font-weight:600;font-size:32px;color:var(--ar-ink);margin:0 0 12px}.legal-section h3{font-size:19px}.legal-section p,.legal-section li{font-size:15px;line-height:1.78}.legal-section a,.legal-inline-button{color:var(--ar-wine);font-weight:700}.legal-inline-button{border:0;background:none;padding:0;cursor:pointer}.legal-table-wrap{overflow-x:auto}.legal-table{width:100%;border-collapse:collapse;background:#fff}.legal-table th,.legal-table td{padding:15px;border:1px solid #ddd4c8;text-align:left;vertical-align:top;font-size:14px}.legal-table th{background:#f1e8de;color:var(--ar-ink)}

/* cookies */
.cookie-consent[hidden],.cookie-settings[hidden]{display:none!important}.cookie-consent{position:fixed;inset:0;z-index:180;pointer-events:none}.cookie-consent__panel{position:absolute;right:26px;bottom:26px;width:min(480px,calc(100% - 52px));background:var(--ar-cream);border:1px solid rgba(48,43,40,.12);box-shadow:0 24px 70px rgba(0,0,0,.18);padding:31px;pointer-events:auto}.cookie-consent__close,.cookie-settings__close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--ar-ink)}.cookie-consent h2,.cookie-settings h2{font-family:var(--ar-serif);font-weight:600;font-size:34px;margin:12px 0}.cookie-consent p,.cookie-settings p{font-size:14px;color:#716a64}.cookie-consent__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.cookie-link{border:0;background:none;text-decoration:underline;color:var(--ar-wine);font-size:14px;font-weight:700;cursor:pointer;padding:0 6px}.cookie-settings{position:fixed;inset:0;z-index:190;display:flex;align-items:center;justify-content:center;padding:22px}.cookie-settings__overlay{position:absolute;inset:0;background:rgba(18,32,23,.6);backdrop-filter:blur(4px)}.cookie-settings__dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,90vh);overflow:auto;background:var(--ar-cream);padding:35px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.cookie-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 0;border-top:1px solid var(--ar-line);position:relative}.cookie-toggle-row>div{display:grid;gap:3px}.cookie-toggle-row strong{font-size:15px}.cookie-toggle-row span{font-size:14px;color:#7c756e}.cookie-toggle-row input{position:absolute;opacity:0;pointer-events:none}.switch{width:44px;height:24px;border-radius:999px;background:#c9c1b7;position:relative;flex:none}.switch:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;transition:left .2s ease}.cookie-toggle-row input:checked+.switch{background:var(--ar-wine)}.cookie-toggle-row input:checked+.switch:after{left:23px}.cookie-always{color:var(--ar-green)!important;font-weight:700}.cookie-save{width:100%;margin-top:16px}

/* responsive */
@media (max-width:1199px){
  body{font-size:15px}.site-shell{width:min(100% - 48px,1060px)}.site-nav{gap:20px}.site-nav a{font-size:14px}.header-cta{padding-inline:14px}.hero__grid{grid-template-columns:.92fr 1.08fr;gap:54px}.hero__copy h1{font-size:clamp(54px,6vw,70px)}.hero__lead{font-size:16px}.hero__badge{left:-18px}.about__grid{gap:70px}.category-card{padding:24px}.category-card h3{font-size:23px}.steps-grid{grid-template-columns:repeat(2,1fr)}.step-card:nth-child(2){border-right:0}.step-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}.site-footer__grid{gap:42px}
}
@media (max-width:899px){
  body{font-size:15px}.site-shell{width:calc(100% - 40px)}.site-nav,.header-cta{display:none}.menu-toggle{display:block}.hero{padding:42px 0 78px}.hero__grid{grid-template-columns:1fr;gap:38px}.hero__copy{padding:15px 0 0}.hero__copy h1{font-size:clamp(54px,10vw,76px);max-width:780px}.hero__lead{max-width:720px}.hero__stats{max-width:760px}.hero__media{max-width:760px}.hero__badge{left:18px}.about{padding:90px 0 100px}.about__grid{grid-template-columns:1fr;gap:68px}.about__media{max-width:720px}.about__body h2{max-width:760px}.about__intro{max-width:none}.section-head--split,.section-head--dark{grid-template-columns:1fr;gap:14px}.section-head--split>p,.section-head--dark>p{justify-self:start;max-width:720px}.category-grid{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr;max-width:700px;margin-inline:auto}.price-card{min-height:0}.price-card--featured,.price-card--featured:hover{transform:none}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 280px 340px}.gallery-grid__item--1{grid-row:auto}.gallery-grid__item--4{grid-column:auto;grid-row:auto}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.faq__grid{grid-template-columns:1fr;gap:42px}.faq__intro{position:static}.faq__intro p{max-width:720px}.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr;}.site-footer__col:last-child{grid-column:2}
}
@media (max-width:767px){
  body{font-size:14px}.site-header{height:68px}.site-shell{width:calc(100% - 32px)}.brand{font-size:19px}.mobile-menu{padding:20px 20px 26px}.hero{padding:28px 0 62px}.hero__grid{gap:28px}.hero__copy{padding:10px 0 0}.hero__copy h1{font-size:clamp(45px,13.8vw,62px);line-height:.98;margin:17px 0 20px;max-width:none}.hero__lead{font-size:15px;line-height:1.68;max-width:none}.hero__actions{gap:13px;margin-top:25px}.ar-btn{min-height:48px;padding-inline:20px;font-size:14px}.hero__stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px;padding-top:20px}.hero-stat strong{font-size:25px}.hero-stat span{font-size:14px;line-height:1.4}.hero__media{padding-bottom:28px}.hero__image-wrap{aspect-ratio:1.03/1}.hero__badge{left:12px;bottom:0;min-width:178px;padding:14px 16px}.hero__badge strong{font-size:17px}.eyebrow{font-size:14px;letter-spacing:.055em;gap:9px}.eyebrow:before{width:22px}.about{padding:70px 0 82px}.about__grid{gap:52px}.about__media:before{left:-10px;top:-10px;width:80px;height:80px}.about__badge{right:10px;bottom:-20px;width:164px;min-height:96px;padding:17px}.about__badge strong{font-size:29px}.about__body h2,.section-head h2,.faq__intro h2{font-size:41px}.about__intro,.section-head p{font-size:15px;max-width:none}.about-list{margin-top:28px}.about-list li{grid-template-columns:28px 1fr;gap:11px;padding:15px 0}.about-list h3{font-size:19px}.about-list p{font-size:14px;max-width:none}.game-categories,.agenda,.how-it-works,.membership,.gallery-section,.reviews,.faq{padding:76px 0}.section-head{margin-bottom:38px}.section-head--action{grid-template-columns:1fr;gap:14px}.section-head--action .section-link{justify-self:start}.category-grid{grid-template-columns:1fr;gap:12px}.category-card{min-height:0;padding:24px 22px}.category-card h3{font-size:23px}.category-card p{font-size:14px;max-width:none}.category-card__tags{padding-top:18px}.event-card{padding:26px 22px 24px;min-height:0}.event-card h3{font-size:28px}.event-card p{font-size:14px;max-width:none}.event-card__meta{display:grid;gap:5px}.steps-grid{grid-template-columns:1fr;border-bottom:0}.step-card,.step-card:nth-child(2){border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding:26px 4px 28px;min-height:0;display:grid;grid-template-columns:50px 1fr;column-gap:16px}.step-card:last-child{border-bottom:0}.step-card__number{grid-row:1/3;width:44px;height:44px;margin:0}.step-card h3{font-size:21px;margin:5px 0 8px}.step-card p{font-size:14px;grid-column:2;max-width:none}.price-grid{margin-top:40px}.price-card{padding:27px 23px}.price-card h3{font-size:26px}.price-card__price strong{font-size:46px}.price-card__intro,.price-card li{font-size:14px}.price-card__tag{position:static;align-self:flex-start;margin-bottom:16px}.price-card--featured h3{padding-right:0}.gallery-grid{grid-template-columns:1fr;grid-template-rows:none;gap:8px}.gallery-grid__item,.gallery-grid__item--1,.gallery-grid__item--4{height:310px}.review-card{padding:26px 22px}.review-card p{font-size:18px;max-width:none}.review-card__author{align-items:flex-start;flex-direction:column;gap:4px}.faq__grid{gap:32px}.faq__intro p{font-size:14px;max-width:none}.faq-item__button{font-size:19px;padding:20px 0;grid-template-columns:1fr 34px}.faq-item__answer p{font-size:14px;max-width:none;padding-right:12px}.final-cta{min-height:520px}.final-cta__inner{padding:82px 16px}.final-cta h2{font-size:43px}.final-cta p{font-size:15px;max-width:none}.site-footer{padding:56px 0 25px}.site-footer__grid{grid-template-columns:1fr;gap:34px}.site-footer__col:last-child{grid-column:auto}.site-footer__brand p{max-width:none}.site-footer__bottom{flex-direction:column;gap:8px;margin-top:40px}.generic-page,.legal-page{padding:56px 0 82px}.generic-page__inner,.legal-shell{width:calc(100% - 32px)}.generic-page h1,.legal-hero h1{font-size:46px}.legal-section h2{font-size:28px}.legal-section p,.legal-section li{font-size:14px}.cookie-consent__panel{right:14px;bottom:14px;width:calc(100% - 28px);padding:24px}.cookie-consent__actions{display:grid}.cookie-consent__actions .ar-btn{width:100%}.cookie-settings{padding:12px}.cookie-settings__dialog{padding:26px 20px}.mobile-menu__foot{display:grid;gap:8px}
}
@media (max-width:480px){
  .site-shell{width:calc(100% - 28px)}.hero__copy h1{font-size:44px}.hero__actions{display:grid}.hero__actions .ar-btn{width:100%}.ar-btn--text{justify-content:flex-start;width:auto!important}.hero__stats{grid-template-columns:1fr;gap:13px}.hero-stat{grid-template-columns:64px 1fr;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--ar-line)}.hero__image-wrap{aspect-ratio:.9/1}.about__badge{right:6px}.gallery-grid__item,.gallery-grid__item--1,.gallery-grid__item--4{height:270px}.final-cta__actions{display:grid}.final-cta__actions .ar-btn{width:100%}.cookie-toggle-row{align-items:flex-start}.inner-nav span{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* ===== v1.1.1 interaction + hero refinement ===== */
/* Hover states deliberately avoid vertical movement so cards and copy never "jump". */
.ar-btn:hover{transform:none}
.header-cta:hover{transform:none}
.category-card:hover{transform:none;box-shadow:0 18px 42px rgba(60,43,33,.11);border-color:rgba(139,52,73,.20)}
.event-card:hover{transform:none;box-shadow:0 22px 48px rgba(60,43,33,.11);border-color:rgba(139,52,73,.24)}
.step-card:hover{transform:none;background:rgba(255,255,255,.055)}
.price-card:hover{transform:none;box-shadow:0 23px 52px rgba(60,43,33,.12);border-color:rgba(139,52,73,.24)}
.price-card--featured:hover{transform:translateY(-14px);box-shadow:0 32px 62px rgba(111,38,56,.27)}
.review-card:hover{transform:none;box-shadow:0 20px 46px rgba(60,43,33,.11);border-color:rgba(139,52,73,.19)}
.faq-item__button:hover{padding-left:0;color:var(--ar-wine)}

/* richer, non-layout-shifting micro-interactions */
.ar-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 15%,rgba(255,255,255,.18) 50%,transparent 85%);transform:translateX(-120%);transition:transform .48s ease;pointer-events:none}
.ar-btn:hover:before{transform:translateX(120%)}
.category-card{transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
.event-card{transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
.step-card{transition:background .3s ease,border-color .3s ease}
.price-card{transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease,transform .3s ease}
.review-card{transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
.event-card:hover{background:#fffdfa}
.review-card:hover{background:#fffefb}
.price-card:not(.price-card--featured):hover{background:#fffefb}

/* Header mark reconstructed from the geometric mark in the supplied design. */
.brand__mark{width:23px;height:23px;display:inline-grid;place-items:center;flex:none;transition:transform .3s ease}
.brand__mark svg{display:block;width:100%;height:100%;overflow:visible}
.brand__mark-main{fill:var(--ar-wine)}
.brand__mark-dot{fill:var(--ar-gold)}
.brand:hover .brand__mark{transform:rotate(7deg) scale(1.035)}
.brand--footer .brand__mark-main,.mobile-menu .brand__mark-main{fill:var(--ar-cream)}
.brand--footer .brand__mark-dot,.mobile-menu .brand__mark-dot{fill:#e2bd61}

/* More faithful hero proportions: slightly shorter, calmer and closer to the Figma rhythm. */
.hero{padding:46px 0 82px}
.hero__grid{grid-template-columns:minmax(0,.96fr) minmax(440px,1.04fr);gap:68px;align-items:center}
.hero__copy{padding:28px 0 14px}
.hero__copy h1{font-size:clamp(55px,4.85vw,74px);line-height:1;max-width:640px;margin:18px 0 23px}
.hero__lead{font-size:17px;line-height:1.68;max-width:550px}
.hero__actions{margin-top:28px;gap:18px}
.hero__stats{margin-top:44px;padding-top:22px;max-width:580px}
.hero__media{padding:8px 0 24px}
.hero__image-wrap{aspect-ratio:1.12/1;box-shadow:0 22px 58px rgba(60,43,33,.11)}
.hero__image-wrap img{object-position:center 48%}
.hero__badge{left:-22px;bottom:2px;min-width:166px;padding:13px 15px;gap:1px 8px;box-shadow:0 14px 30px rgba(111,38,56,.22)}
.hero__badge-dot{width:9px;height:9px;box-shadow:0 0 0 4px rgba(231,197,105,.12)}
.hero__badge strong{font-size:16px}.hero__badge>span:last-child{font-size:14px}

/* Minimal reveal between sections. It affects paint only, never document flow. */
.reveal-ready .section-reveal{opacity:0;transform:translate3d(0,10px,0);transition:opacity .56s ease,transform .56s cubic-bezier(.22,.65,.32,1)}
.reveal-ready .section-reveal.is-visible{opacity:1;transform:none}

@media (max-width:1199px){
  .hero{padding:40px 0 72px}
  .hero__grid{grid-template-columns:minmax(0,.94fr) minmax(400px,1.06fr);gap:44px}
  .hero__copy h1{font-size:clamp(52px,5.55vw,66px);max-width:590px}
  .hero__lead{font-size:16px;max-width:530px}
  .hero__stats{margin-top:38px}
  .hero__badge{left:-12px}
}
@media (max-width:899px){
  .hero{padding:34px 0 66px}
  .hero__grid{grid-template-columns:1fr;gap:30px}
  .hero__copy{padding:8px 0 0}
  .hero__copy h1{font-size:clamp(50px,8.7vw,68px);max-width:720px}
  .hero__lead{max-width:690px}
  .hero__media{width:100%;max-width:none;padding:0 0 24px}
  .hero__image-wrap{aspect-ratio:1.22/1}
  .hero__badge{left:18px;bottom:2px}
  .price-card--featured:hover{transform:none}
}
@media (max-width:767px){
  .hero{padding:24px 0 56px}
  .hero__grid{gap:24px}
  .hero__copy h1{font-size:clamp(44px,12vw,56px);line-height:1.01;margin:15px 0 18px}
  .hero__lead{font-size:15px;line-height:1.65}
  .hero__actions{margin-top:23px}
  .hero__stats{margin-top:34px}
  .hero__image-wrap{aspect-ratio:1.05/1}
  .hero__badge{left:10px;bottom:0}
  .reveal-ready .section-reveal{transform:translate3d(0,8px,0);transition-duration:.46s}
}
@media (max-width:480px){
  .hero__copy h1{font-size:43px}
  .hero__image-wrap{aspect-ratio:.96/1}
}
@media (prefers-reduced-motion:reduce){.reveal-ready .section-reveal{opacity:1!important;transform:none!important}}
/* Keep link text anchored on hover as well. */
.section-link:hover{gap:9px}
.site-footer__col a:hover,.site-footer__col button:hover{transform:none}


/* ===== v1.1.2 design fidelity + menu + component refinement ===== */

/* The supplied Figma uses a flatter editorial visual language:
   imagery and cards stay mostly square; pill radii are reserved for actions. */
:root{--ar-radius:2px}

/* Hero image: remove the decorative white inset frame and card-like shadow. */
.hero__image-wrap{
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.hero__image-wrap:before{display:none!important;content:none!important}
.hero__image-wrap img{border-radius:0}

/* Keep photographic surfaces sharp like the design. */
.about__media img,
.gallery-grid__item,
.gallery-grid__item img,
.final-cta__media img{border-radius:0}

/* Small rectangular overlays in the design are nearly square. */
.hero__badge,
.about__badge{border-radius:1px}

/* Editorial cards: subtle corner only, not app-style rounded cards. */
.category-card{border-radius:2px}
.category-card__icon{border-radius:4px;display:grid;place-items:center;color:var(--card-accent)}
.category-card__icon svg{width:27px;height:27px;display:block;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.category-card__icon span,
.category-card__icon i{display:none!important}
.category-card__tags span{border-radius:2px}
.event-card,.price-card,.review-card{border-radius:1px}

/* More bespoke icon treatment per category without moving layout on hover. */
.category-card:hover .category-card__icon{
  transform:none;
  background:color-mix(in srgb,var(--card-accent) 31%,white);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-accent) 22%,transparent);
}
.category-card__icon svg{transition:transform .28s ease,opacity .28s ease}
.category-card:hover .category-card__icon svg{transform:scale(1.06);opacity:.92}

/* About bullets use the same small geometric language as the brand. */
.about-list__icon{width:24px;height:24px;display:grid;place-items:center;color:var(--ar-wine)}
.about-list__icon svg{width:18px;height:18px;display:block}
.about-list li:hover .about-list__icon{transform:none}
.about-list li:hover .about-list__icon svg{transform:rotate(8deg)}
.about-list__icon svg{transition:transform .24s ease}

/* Full-screen menu must be truly opaque and outside the header/backdrop-filter context. */
.mobile-menu{
  inset:0;
  width:100vw;
  min-height:100vh;
  min-height:100dvh;
  background:#193724;
  background:linear-gradient(145deg,#193724 0%,#173320 58%,#11291a 100%);
  opacity:0;
  visibility:hidden;
  transform:none;
  isolation:isolate;
  overflow:auto;
  overscroll-behavior:contain;
  z-index:9999;
  padding:28px max(26px,calc((100vw - var(--ar-shell))/2)) 34px;
  transition:opacity .24s ease,visibility .24s ease;
}
.mobile-menu:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:linear-gradient(120deg,rgba(211,175,88,.04),transparent 32%,rgba(139,52,73,.035));
  pointer-events:none;
}
.mobile-menu.is-open{opacity:1;visibility:visible}
.mobile-menu__top,
.mobile-menu__nav,
.mobile-menu__foot{position:relative;z-index:2}
.mobile-menu__nav a{transition:color .22s ease,border-color .22s ease;background:transparent}
.mobile-menu__nav a:hover{padding-left:0;color:#e3c16e;border-color:rgba(227,193,110,.32)}
.site-header{isolation:isolate}

/* Keep every hover state paint-only; no gaps or text jumps. */
.price-card--featured:hover{transform:translateY(-14px)}
@media (max-width:899px){.price-card--featured:hover{transform:none}}
.mobile-menu__nav a:hover{transform:none}
.event-card__link span,
.review-card__quote,
.brand__mark{will-change:transform}

/* Figma-like restrained image hover. */
.hero__media:hover img{transform:scale(1.012)}
.gallery-grid__item:hover img{transform:scale(1.025)}
.about__media img{transition:filter .35s ease}
.about__media:hover img{filter:saturate(1.025) contrast(1.01)}

/* Improve crop and spacing in hero after removing the frame. */
.hero__media{padding-top:0}
.hero__image-wrap{aspect-ratio:1.11/1}
.hero__image-wrap img{object-position:center 50%}
.hero__badge{left:-20px;bottom:-2px}

/* Small-screen menu spacing. */
@media (max-width:899px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .mobile-menu{padding:22px 24px 28px}
  .mobile-menu__nav{margin:clamp(40px,10vh,92px) 0}
}
@media (max-width:767px){
  .mobile-menu{padding:18px 20px 24px}
  .mobile-menu__nav a{font-size:clamp(34px,11vw,48px);padding:13px 0}
  .mobile-menu__foot{padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}
  .hero__badge{left:10px;bottom:0}
}

/* Cookie surfaces follow the same almost-square visual language. */
.cookie-consent__panel,
.cookie-settings__dialog{border-radius:2px}


/* Buttons in this specific board-game visual are compact editorial rectangles,
   not generic fully-rounded SaaS pills. */
.ar-btn,
.header-cta{border-radius:4px}
.price-card__tag{border-radius:3px}
body.menu-open{touch-action:none}


/* Remove generic photo-card decoration that is not present in the supplied Figma. */
.about__media:before{display:none!important;content:none!important}
.about__media img{box-shadow:none}
