:root{
  --accent:#7B1E33;
  --accent-deep:#5C1626;
  --secondary:#D4A847;
  --bg:#FBF5EE;
  --bg-alt:#F4EADC;
  --text:#2A1A1F;
  --muted:#7A6A6E;
  --border:#E5D9C8;
  --white:#FFFFFF;
  --space-xs:6px; --space-sm:12px; --space-md:21px; --space-lg:43px; --space-xl:69px;
  --card-padding-y:21px; --card-padding-x:22px;
  --card-gap:24px; --card-radius:5px; --card-border-width:1px;
  --card-min-height:324px; --card-min-col-width:318px;
  --btn-padding-y:14px; --btn-padding-x:29px; --btn-radius:22px; --btn-gap-from-text:26px;
  --grid-gap:24px;
  --lh-heading:1.21; --lh-body:1.51; --ls-heading:0.030em;
  --shadow-sm:0 1px 2px rgba(42,26,31,.06), 0 2px 6px rgba(42,26,31,.04);
  --shadow-md:0 4px 14px rgba(42,26,31,.08), 0 12px 28px rgba(42,26,31,.06);
}

*,*::before,*::after{box-sizing:border-box; min-width:0;}
img,svg,video{max-width:100%; height:auto; display:block;}
button,input,select,textarea{font:inherit;}

html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Inter','Helvetica Neue',system-ui,-apple-system,sans-serif;
  line-height:var(--lh-body); font-size:17px;
  -webkit-font-smoothing:antialiased;
  padding-bottom:80px;
}

h1,h2,h3,h4{
  font-family:'Plus Jakarta Sans','Helvetica Neue',system-ui,sans-serif;
  line-height:var(--lh-heading); letter-spacing:var(--ls-heading);
  margin:0 0 var(--space-md); color:var(--text); font-weight:800;
}
p{margin:0 0 var(--space-md);}
a{color:var(--accent); text-decoration:underline; text-underline-offset:3px;}
a:hover{color:var(--accent-deep);}
ul,ol{margin:0 0 var(--space-md); padding-left:1.2em;}
li{margin-bottom:var(--space-xs);}

.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.sr-only--focus:focus{position:fixed; top:8px; left:8px; width:auto; height:auto; clip:auto; padding:8px 12px; background:var(--accent); color:#fff; z-index:9999;}

.container{max-width:1080px; margin:0 auto; padding:0 var(--space-md);}
.narrow{max-width:760px;}

/* HEADER */
.site-head{background:var(--bg); border-bottom:1px solid var(--border); padding:var(--space-md) 0;}
.site-head__inner{display:flex; justify-content:space-between; align-items:center; gap:var(--space-md);}
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); font-family:'Plus Jakarta Sans',sans-serif; font-weight:800;}
.brand__mark{display:inline-grid; place-items:center; width:34px; height:34px; background:var(--accent); color:#fff; border-radius:8px; font-size:18px;}
.brand__name{font-size:1.15rem; letter-spacing:.02em;}
.brand__name--accent{color:var(--accent);}
.badge{display:inline-block; padding:6px 12px; border-radius:999px; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;}
.badge--age{background:var(--accent); color:#fff;}

/* HERO */
.hero{
  position:relative; padding:var(--space-xl) 0;
  background:
    linear-gradient(135deg, #FBF5EE 0%, #F4DDB0 45%, #7B1E33 110%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='none' stroke='%237B1E33' stroke-opacity='0.08' stroke-width='1'><path d='M40 10 L70 27 L70 53 L40 70 L10 53 L10 27 Z'/></g></svg>");
  background-blend-mode:multiply;
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.hero__inner{max-width:760px;}
.eyebrow{display:inline-block; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:var(--space-md);}
.h1{font-size:clamp(2rem, 4.5vw, 3.2rem); margin-bottom:var(--space-md);}
.h1 em{font-style:italic; color:var(--accent);}
.lede{font-size:1.15rem; color:var(--muted); max-width:600px; margin-bottom:var(--space-lg);}
.chip-row{display:flex; flex-wrap:wrap; gap:var(--space-sm); margin-bottom:var(--space-lg);}
.chip{display:inline-block; padding:8px 16px; background:#fff; border:1px solid var(--accent); color:var(--accent); border-radius:999px; font-size:.85rem; font-weight:600;}
.hero__byline{margin-top:var(--space-lg); font-size:.85rem; color:var(--muted); font-style:italic;}

/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:var(--btn-padding-y) var(--btn-padding-x);
  border-radius:var(--btn-radius); border:1px solid transparent;
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:.95rem;
  text-decoration:none; cursor:pointer; transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  line-height:1;
}
.btn--primary{background:var(--accent); color:#fff; box-shadow:var(--shadow-sm);}
.btn--primary:hover{background:var(--accent-deep); color:#fff; transform:translateY(-1px); box-shadow:var(--shadow-md);}
.btn--ghost{background:transparent; color:var(--accent); border-color:var(--accent);}
.btn--ghost:hover{background:var(--accent); color:#fff;}
.btn--text{background:transparent; padding:0; color:var(--accent); border:none; text-decoration:underline;}
.btn--text:hover{color:var(--accent-deep);}
.btn--lg{padding:18px 36px; font-size:1.05rem;}
.btn--small{padding:8px 16px; font-size:.85rem;}

/* TRUST */
.trust{background:var(--accent); color:#fff; padding:var(--space-lg) 0;}
.trust__grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:var(--space-md);}
.trust__cell{text-align:center;}
.trust__num{display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:1.7rem; font-weight:800; color:var(--secondary);}
.trust__lbl{display:block; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; opacity:.85; margin-top:4px;}

/* SECTIONS */
.section{padding:var(--space-xl) 0;}
.section--alt{background:var(--bg-alt);}
.section--commit{background:var(--text); color:var(--bg);}
.section--commit .h2, .section--commit .eyebrow{color:var(--secondary);}
.section--commit p{color:var(--bg);}
.section--commit a{color:var(--secondary);}
.h2{font-size:clamp(1.6rem, 3vw, 2.3rem); margin-bottom:var(--space-md);}
.section__intro{color:var(--muted); font-size:1.05rem; max-width:640px; margin-bottom:var(--space-lg);}

/* CARDS */
.cards{display:grid; grid-template-columns:repeat(auto-fit, minmax(var(--card-min-col-width), 1fr)); gap:var(--card-gap);}
.card{
  position:relative; background:#fff; border:var(--card-border-width) solid var(--border);
  border-radius:var(--card-radius); padding:var(--card-padding-y) var(--card-padding-x);
  min-height:var(--card-min-height); display:flex; flex-direction:column;
  gap: var(--card-gap);
  box-shadow:var(--shadow-sm); overflow:hidden; transition:transform .2s, box-shadow .2s;
}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow-md);}
.card__corner{
  position:absolute; top:0; right:0; width:120px; min-height: var(--card-min-height);
  background:linear-gradient(225deg, rgba(212,168,71,.45), rgba(123,30,51,.0) 70%);
  pointer-events:none;
}
.card__head{display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-sm); margin-bottom:var(--space-md);}
.card__logo{min-height: 44px; display:flex; align-items:center; gap: var(--card-gap);}
.card__logo img{max-height:44px; width:auto;}
.card__meta{display:flex; flex-direction:column; align-items:flex-end; gap:4px;}
.card__rank{font-family:'Plus Jakarta Sans',sans-serif; font-size:.75rem; letter-spacing:.1em; color:var(--muted); text-transform:uppercase;}
.card__rating{font-family:'Plus Jakarta Sans',sans-serif; color:var(--accent);}
.card__rating strong{font-size:1.6rem; font-weight:800;}
.card__rating span{font-size:.85rem; color:var(--muted);}
.card__title{font-size:1.4rem; margin-bottom:var(--space-xs);}
.card__blurb{color:var(--text); font-size:.95rem; margin-bottom:var(--space-md);}
.feats{list-style:none; padding:0; margin:0 0 var(--space-md); display:flex; flex-wrap:wrap; gap:6px;}
.feats li{font-size:.78rem; padding:4px 10px; background:var(--bg-alt); border-radius:999px; color:var(--text); margin:0;}
.card__foot{margin-top:auto; display:flex; flex-direction:column; gap:var(--space-sm);}
.lic-tag{font-size:.78rem; color:var(--muted); padding:6px 10px; background:var(--bg); border:1px dashed var(--border); border-radius:6px; align-self:flex-start;}
.card__ctas{display:flex; flex-direction:column; gap:8px; margin-top:var(--btn-gap-from-text);}
.card__ctas .btn--primary{align-self:stretch;}
.verif{
  position:absolute; bottom:10px; right:14px; font-size:.7rem;
  color:var(--muted); background:rgba(255,255,255,.9); padding:3px 8px; border-radius:10px;
  animation:pulse 8s ease-in-out infinite;
}
@keyframes pulse{0%,90%,100%{opacity:.7;}45%{opacity:1; color:var(--accent);}}

/* FLIP CARDS */
.flip-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:var(--card-gap);}
.flip{
  background:transparent; border:none; padding:0; cursor:pointer;
  perspective:1000px; min-height:220px; text-align:left; font:inherit; color:inherit;
}
.flip__inner{
  position:relative; width:100%; height:100%; min-height:220px;
  transition:transform .6s cubic-bezier(.4,.2,.2,1); transform-style:preserve-3d;
  display:block;
}
.flip[aria-pressed="true"] .flip__inner{transform:rotateY(180deg);}
.flip__face{
  position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden;
  background:#fff; border:1px solid var(--border); border-radius:var(--card-radius);
  padding:var(--card-padding-y) var(--card-padding-x);
  display:flex; flex-direction:column; box-shadow:var(--shadow-sm);
}
.flip__face--front{justify-content:space-between;}
.flip__face--back{transform:rotateY(180deg); background:var(--accent); color:#fff; overflow: auto;}
.flip__face--back p{color:#fff; margin:0;}
.flip__num{font-family:'Plus Jakarta Sans',sans-serif; font-size:2.2rem; font-weight:800; color:var(--secondary); line-height:1;}
.flip__title{font-family:'Plus Jakarta Sans',sans-serif; font-size:1.2rem; font-weight:700; color:var(--text); margin-top:var(--space-sm);}
.flip__hint{font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; margin-top:var(--space-sm);}
.flip:hover .flip__face--front{border-color:var(--accent);}
.flip:focus-visible{outline:3px solid var(--secondary); outline-offset:3px; border-radius:var(--card-radius);}

/* REG LIST */
.reg-list{list-style:none; padding:0; display:flex; flex-direction:column; gap:var(--space-sm);}
.reg-list li{padding:var(--space-sm) var(--space-md); background:#fff; border-left:3px solid var(--secondary); border-radius:4px;}
.callout{background:#fff; border-left:4px solid var(--accent); padding:var(--space-md); border-radius:6px; font-style:italic; color:var(--text);}
.callout--warm{background:rgba(212,168,71,.18); border-left-color:var(--secondary); font-style:normal;}

.kyc-steps{list-style:none; counter-reset:kyc; padding:0;}
.kyc-steps li{counter-increment:kyc; padding:var(--space-md); background:#fff; border-radius:6px; margin-bottom:var(--space-sm); position:relative; padding-left:60px; border:1px solid var(--border);}
.kyc-steps li::before{content:counter(kyc, decimal-leading-zero); position:absolute; left:var(--space-md); top:var(--space-md); font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; color:var(--accent); font-size:1.1rem;}

/* FAQ */
.faq{background:#fff; border:1px solid var(--border); border-radius:6px; padding:var(--space-md); margin-bottom:var(--space-sm);}
.faq summary{cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:1.05rem; color:var(--text); list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; color:var(--accent); font-size:1.5rem; font-weight:400; line-height:1;}
.faq[open] summary::after{content:"−";}
.faq[open] summary{margin-bottom:var(--space-sm);}
.faq p{margin-bottom:0; color:var(--muted);}

/* FOOTER */
.site-foot{background:var(--text); color:var(--bg); padding:var(--space-xl) 0 var(--space-lg); margin-top:var(--space-xl);}
.foot-row{padding:var(--space-lg) 0; border-bottom:1px solid rgba(251,245,238,.1);}
.foot-row:last-child{border-bottom:none;}
.foot-row--top{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:var(--space-lg); padding-top:0;}
.foot-lead{font-family:'Plus Jakarta Sans',sans-serif; font-size:1.3rem; font-weight:800; color:var(--secondary); margin-bottom:var(--space-sm);}
.foot-text{color:var(--bg); opacity:.85; font-size:.9rem;}
.foot-h{font-family:'Plus Jakarta Sans',sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; color:var(--secondary); margin-bottom:var(--space-sm);}
.foot-col ul{list-style:none; padding:0;}
.foot-col ul li{margin-bottom:8px;}
.foot-col ul a{color:var(--bg); text-decoration:none; opacity:.85;}
.foot-col ul a:hover{opacity:1; color:var(--secondary);}
.site-foot a{color:var(--secondary);}

.foot-row--regs{display:flex; flex-wrap:wrap; gap:var(--space-md); align-items:center; justify-content:center; background:transparent; border-radius:0; margin:var(--space-md) 0;}
.reg-logo{display:inline-flex; align-items:center; padding:8px; border-radius:6px; transition:background .2s;}
.reg-logo:hover{background:rgba(255,255,255,.06);}
.reg-logo img{max-height:56px; width:auto; background:transparent; padding:0; border:none; filter: brightness(0) invert(1);}

.foot-disclaimer{font-size:.85rem; color:var(--bg); opacity:.9; text-align:center; max-width:780px; margin:0 auto var(--space-sm);}
.foot-meta{font-size:.78rem; color:var(--bg); opacity:.6; text-align:center;}

/* STICKY BOTTOM NAV */
.botnav{
  position:fixed; bottom:0; left:0; right:0; z-index:50;
  background:var(--accent); color:#fff;
  display:flex; justify-content:space-around; align-items:center;
  padding:14px var(--space-sm); height:64px;
  box-shadow:0 -2px 12px rgba(42,26,31,.18);
}
.botnav a{
  color:#fff; text-decoration:none; font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700; font-size:.85rem; padding:6px 10px; border-radius:8px;
  transition:background .15s;
}
.botnav a:hover, .botnav a:focus-visible{background:rgba(255,255,255,.18); color:#fff;}

/* MODALS */
.modal{
  position:fixed; inset:0; z-index:9000;
  background:rgba(42,26,31,.78);
  display:flex; align-items:center; justify-content:center;
  padding:var(--space-md);
}
.modal[hidden]{display:none !important;}
.modal__panel{
  background:#fff; border-radius:12px; padding:var(--space-lg);
  max-width:480px; width:100%; box-shadow:var(--shadow-md);
  border-top:6px solid var(--accent);
}
.modal__eyebrow{font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent);}
.modal__panel h2{font-size:1.6rem; margin-top:var(--space-sm);}
.modal__actions{display:flex; flex-wrap:wrap; gap:var(--space-sm); margin-top:var(--space-md);}
.modal__fine{font-size:.8rem; color:var(--muted); margin-top:var(--space-md); margin-bottom:0;}

.cookie{
  position:fixed; bottom:88px; left:var(--space-sm); right:var(--space-sm); z-index:8000;
  background:#fff; border:1px solid var(--border); border-radius:10px;
  padding:var(--space-md); box-shadow:var(--shadow-md); max-width:560px; margin:0 auto;
}
.cookie[hidden]{display:none !important;}
.cookie__inner{display:flex; flex-direction:column; gap:var(--space-sm);}
.cookie p{margin:0; font-size:.9rem;}
.cookie__actions{display:flex; flex-wrap:wrap; gap:var(--space-sm); align-items:center;}
.cookie__link{font-size:.85rem;}

/* BRAND PAGE */
.brand-hero{padding:var(--space-xl) 0; background:var(--bg-alt); border-bottom:1px solid var(--border);}
.brand-hero__head{display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-md); margin-bottom:var(--space-md);}
.brand-hero__logo{background:#fff; padding:var(--space-md); border-radius:8px; box-shadow:var(--shadow-sm);}
.brand-hero__logo img{max-height:56px;}
.brand-hero__rating{font-family:'Plus Jakarta Sans',sans-serif; color:var(--accent);}
.brand-hero__rating strong{font-size:2.4rem; font-weight:800;}

.specs{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:var(--space-md); margin:var(--space-lg) 0;}
.spec{background:#fff; padding:var(--space-md); border-radius:6px; border:1px solid var(--border);}
.spec__lbl{display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:6px;}
.spec__val{font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; color:var(--text);}

.cons{background:#fff; border-left:4px solid var(--secondary); padding:var(--space-md); border-radius:6px;}
.cons h3{margin-top:0; font-size:1.1rem;}

@media (max-width:640px){
  body{font-size:16px;}
  .h1{font-size:2rem;}
  .h2{font-size:1.6rem;}
  .hero, .section{padding:var(--space-lg) 0;}
  .botnav a{font-size:.78rem; padding:6px 8px;}
}

/* card-grid-stretch-fix: .cards */
.cards { align-items: start; }
.cards > * { align-self: start; }
