:root{
  /* Colors */
  --ink:#14181C;
  --stone:#F3F1EC;
  --cream:#FAF8F4;
  --teal:#0E7C7B;
  --teal-2:#14A098;
  --amber:#E8A13B;
  --amber-dark:#D38F2C;
  --white:#FFFFFF;
  --muted:#6B7176;
  --border:#E4E1D8;
  --gold-pale:#E9DCC2;

  /* Radius scale */
  --radius-sm:4px;
  --radius:6px;
  --radius-pill:999px;

  /* Spacing scale (4/8/16/24/32/48/64, extended for larger section rhythms) */
  --space-1:4px;
  --space-2:8px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:64px;
  --space-8:80px;
  --space-9:96px;
  --space-section:110px;
  --space-banner:150px;

  /* Font-size scale — captures every size actually in use across the site,
     named by role so components reference a token instead of a raw rem value */
  --fs-label-xs:.65rem;    /* micro tags/badges (testi-tag, gal-overlay role) */
  --fs-label-sm:.72rem;    /* small uppercase labels (stat-label, footer h4, tier-label) */
  --fs-caption:.82rem;     /* captions, breadcrumb, demo-steps copy */
  --fs-body-sm:.9rem;      /* compact body copy (tier list, form inputs) */
  --fs-body:1rem;          /* base body copy */
  --fs-body-lg:1.05rem;    /* slightly larger paragraph copy (story-wrap) */
  --fs-lead:1.15rem;       /* .lead intro paragraphs */
  --fs-h3:1.2rem;          /* default h3 */
  --fs-h3-lg:1.7rem;       /* feature h3 (icon-tile-detail-text, char-detail) */
  --fs-h2-sm:2rem;         /* compact h2 (no-media detail panel headings) */
  --fs-h2:clamp(2rem, 3.4vw, 2.7rem);  /* default h2 */
  --fs-h1:clamp(2.6rem, 5.2vw, 4.4rem); /* default h1 */
  --fs-stat:2.6rem;        /* big stat numbers */
  --fs-quote-lg:1.5rem;    /* featured testimonial quote */
  --fs-quote-md:1.1rem;    /* quote-card quote */
  --fs-quote-sm:1rem;      /* story-card quote */

  /* Box-shadow scale */
  --shadow-sm:0 4px 20px rgba(0,0,0,.15);
  --shadow-md:0 8px 24px rgba(0,0,0,.35);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color:var(--ink); background:var(--cream); line-height:1.6; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.container{max-width:1240px; margin:0 auto; padding:0 32px;}
section{padding:var(--space-section) 0;}
.eyebrow{
  text-transform:uppercase; letter-spacing:.16em; font-size:.88rem; font-weight:700;
  color:var(--amber); margin-bottom:16px; display:block;
}
h1,h2,h3{font-weight:800; line-height:1.1; color:var(--ink); letter-spacing:-0.01em;}
h1{font-size:var(--fs-h1); text-transform:uppercase; letter-spacing:0; text-wrap:balance;}
h2{font-size:var(--fs-h2); text-transform:uppercase; text-wrap:balance;}
h3{font-size:var(--fs-h3);}
p{color:var(--muted);}
.lead{font-size:var(--fs-lead); color:var(--muted); max-width:600px;}
.lead-wide{max-width:none;}
.btn{
  display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border-radius:var(--radius-sm);
  font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; border:none;
  transition:all .2s ease;
}
.btn-primary{background:var(--amber); color:var(--ink);}
.btn-primary:hover{background:var(--amber-dark);}
.btn-outline-light{background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.6);}
.btn-outline-light:hover{background:var(--white); color:var(--ink);}
.btn-outline-dark{background:transparent; color:var(--ink); border:1.5px solid var(--ink);}
.btn-outline-dark:hover{background:var(--ink); color:var(--white);}
.btn-nav{padding:11px 24px;}

/* NAV */
header{position:fixed; top:0; left:0; right:0; z-index:100; padding:28px 0; transition:all .3s ease; background:rgba(20,24,28,0);}
header.scrolled, header.solid{background:rgba(20,24,28,.95); padding:18px 0; box-shadow:var(--shadow-sm);}
nav{display:flex; align-items:center; justify-content:space-between;}
.logo{display:flex; align-items:center; gap:12px; font-weight:800; font-size:1.05rem; color:var(--white); text-transform:uppercase; letter-spacing:.05em;}
.logo-mark{width:12px; height:12px; background:var(--amber);}
.nav-links{display:flex; gap:34px;}
.nav-links a{color:rgba(255,255,255,.82); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em;}
.nav-links a:hover{color:var(--amber);}
.nav-links a.active{color:var(--amber);}
@media (max-width:980px){ .nav-links{display:none;} }

/* HERO (home, full height) */
.hero{
  position:relative; height:100vh; min-height:640px; display:flex; align-items:center;
  background-size:cover; background-position:center;
}
.hero-content{color:var(--white); max-width:860px; position:relative; z-index:2;}
.hero-tag{font-size:var(--fs-body); font-style:italic; color:var(--gold-pale); margin-bottom:22px; font-weight:500;}
.hero h1, .page-hero h1{color:var(--white); margin-bottom:22px;}
.hero p.lead, .page-hero p.lead{color:rgba(255,255,255,.86); margin-bottom:38px; font-size:1.15rem;}
.hero-ctas{display:flex; gap:18px; flex-wrap:wrap;}
.scroll-cue{
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:2;
  color:rgba(255,255,255,.7); font-size:.7rem; text-transform:uppercase; letter-spacing:.15em;
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.scroll-cue .line{width:1px; height:40px; background:rgba(255,255,255,.5); animation:scrollpulse 2s infinite;}
@keyframes scrollpulse{0%{opacity:.3;} 50%{opacity:1;} 100%{opacity:.3;}}

/* PAGE HERO (sub-pages, shorter) */
.page-hero{
  position:relative; min-height:56vh; display:flex; align-items:center;
  background-size:cover; background-position:center; padding-top:120px; padding-bottom:70px;
}
.page-hero .hero-content{max-width:880px;}
.breadcrumb{color:rgba(255,255,255,.65); font-size:.78rem; margin-bottom:18px; text-transform:uppercase; letter-spacing:.08em;}
.breadcrumb a{color:rgba(255,255,255,.85);}
.breadcrumb a:hover{color:var(--amber);}

/* STAT STRIP — same card-grid language as icon-tile-grid (gapped cards, radius, 900px cap) */
.stat-strip-wrap{padding:70px 0;}
.stat-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--border); max-width:900px; margin:0 auto; border-radius:var(--radius); overflow:hidden;}
.stat-item{background:var(--ink); padding:36px 20px; text-align:center;}
.stat-num{font-size:var(--fs-stat); font-weight:800; color:var(--amber); min-height:52px; display:flex; align-items:center; justify-content:center; line-height:1.1;}
.stat-label{font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.65); margin-top:8px;}
@media (max-width:800px){ .stat-strip{grid-template-columns:repeat(2,1fr); max-width:420px;} }

/* STAT STRIP — hero-overlay variant: floats over the hero image instead of its own flat section */
.stat-strip-wrap.hero-overlay{position:relative; z-index:3; margin-top:-90px; padding:0;}
.hero-overlay .stat-strip{background:rgba(255,255,255,.16);}
.hero-overlay .stat-item{background:rgba(13,16,19,.6); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);}
@media (max-width:800px){ .stat-strip-wrap.hero-overlay{margin-top:-60px;} }

/* SCAN / ASK / DISCOVER — 3-up illustration strip */
.scan-ask-discover{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border); border-radius:var(--radius); overflow:hidden;}
.sad-step{background:var(--white); text-align:center; padding:14px 8px 20px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;}
.sad-step img{height:253px; width:auto; max-width:100%; object-fit:contain; display:block;}
.sad-label{display:block; margin-top:10px; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink);}

/* INTRO / ABOUT split */
.split{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.split img{border-radius:var(--radius);}
.split .eyebrow{color:var(--teal);}
.frame{position:relative;}
.frame::before{
  content:""; position:absolute; top:-16px; left:-16px; width:100%; height:100%;
  border:2px solid var(--amber); z-index:0; border-radius:var(--radius);
}
.frame img{position:relative; z-index:1;}
@media (max-width:900px){ .split{grid-template-columns:1fr; gap:40px;} }

/* SERVICES / HOW IT WORKS row */
.services{background:var(--stone);}
.service-row{display:grid; grid-template-columns:repeat(4,1fr);}
.service-item{
  padding:40px 30px; border-right:1px solid var(--border); position:relative;
}
.service-item:last-child{border-right:none;}
.service-num{font-size:.75rem; font-weight:800; color:var(--amber); letter-spacing:.1em; margin-bottom:20px; display:block;}
.service-item h3{margin-bottom:10px; text-transform:uppercase; font-size:1.05rem;}
.service-item p{font-size:.88rem;}
@media (max-width:900px){ .service-row{grid-template-columns:1fr 1fr;} .service-item{border-bottom:1px solid var(--border);} }

/* GALLERY / PORTFOLIO */
.gallery-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:260px; gap:6px;
}
.gal-item{
  position:relative; overflow:hidden; cursor:pointer;
}
.gal-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease; filter:grayscale(15%) contrast(1.05);}
.gal-item:hover img{transform:scale(1.08); filter:grayscale(0%) contrast(1.05);}
.gal-overlay{
  position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(10,12,14,.88) 100%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:20px; color:var(--white);
  opacity:0; transition:opacity .3s ease;
}
.gal-item:hover .gal-overlay{opacity:1;}
.gal-overlay .role{font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:var(--amber); font-weight:800; margin-bottom:4px;}
.gal-overlay h3{color:var(--white); font-size:1.05rem; text-transform:none;}
.gal-overlay p{color:rgba(255,255,255,.78); font-size:.82rem; margin-top:6px;}
.gal-big{grid-column:span 2; grid-row:span 2;}
@media (max-width:980px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} .gal-big{grid-column:span 2; grid-row:span 1;} }

/* CTA BANNER */
.banner{
  position:relative; padding:var(--space-banner) 0; text-align:center; color:var(--white);
  background-size:cover; background-position:center;
}
.banner .eyebrow{color:var(--amber);}
.banner h2{color:var(--white); max-width:820px; margin:0 auto 30px;}
.banner p.lead{color:rgba(255,255,255,.8); margin:0 auto 34px;}

/* TIERS */
.tier-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border);}
.tier-card{background:var(--white); padding:48px 40px;}
.tier-card.mid{background:var(--ink); color:var(--white);}
.tier-card.mid h3, .tier-card.mid .tier-label{color:var(--white);}
.tier-card.mid p, .tier-card.mid li{color:rgba(255,255,255,.72);}
.tier-label{font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--teal); margin-bottom:16px; display:block;}
.tier-card h3{text-transform:none; margin-bottom:16px; font-size:1.3rem;}
.tier-card ul{list-style:none; margin-top:20px; display:flex; flex-direction:column; gap:14px;}
.tier-card li{font-size:.9rem; padding-left:24px; position:relative; color:var(--muted);}
.tier-card li::before{content:"—"; position:absolute; left:0; top:0; color:var(--amber); font-weight:800;}
@media (max-width:900px){ .tier-grid{grid-template-columns:1fr;} }

/* TESTIMONIAL FEATURE */
.testi-split{display:grid; grid-template-columns:.85fr 1.15fr; gap:0; align-items:stretch; background:var(--ink); color:var(--white);}
.testi-img{position:relative; min-height:520px;}
.testi-img img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.testi-text{padding:70px 64px; display:flex; flex-direction:column; justify-content:center;}
.testi-text .eyebrow{color:var(--amber);}
.quote-mark{font-size:4rem; color:var(--amber); font-family:Georgia, serif; line-height:.6; margin-bottom:10px;}
.testi-text p.quote{font-size:1.5rem; font-weight:600; color:var(--white); line-height:1.4; margin-bottom:26px; text-transform:none;}
.testi-person{font-size:.85rem; color:rgba(255,255,255,.6);}
.testi-tag{display:inline-block; font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; color:var(--ink); background:var(--amber); padding:4px 10px; margin-bottom:22px;}
@media (max-width:900px){ .testi-split{grid-template-columns:1fr;} .testi-img{min-height:320px;} .testi-text{padding:50px 32px;} }

/* PROOF PAGE — quote grid */
.quote-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border);}
.quote-card{background:var(--white); padding:44px 36px; display:flex; flex-direction:column;}
.quote-card .quote-mark{font-size:3rem;}
.quote-card p.quote{font-size:1.1rem; font-weight:600; color:var(--ink); line-height:1.4; margin-bottom:22px; text-transform:none;}
.quote-card .testi-person{color:var(--muted); font-size:.82rem;}
@media (max-width:900px){ .quote-grid{grid-template-columns:1fr;} }

/* PROOF PAGE — story grid (photo + quote cards) */
.story-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:var(--border);}
.story-card{background:var(--ink); color:var(--white); display:flex; flex-direction:column;}
.story-card-img{height:220px; overflow:hidden;}
.story-card-img img{width:100%; height:100%; object-fit:cover; display:block;}
.story-card-text{padding:36px 32px; display:flex; flex-direction:column; flex:1;}
.story-card .quote-mark{font-size:2.6rem;}
.story-card p.quote{font-size:1rem; font-weight:600; color:var(--white); line-height:1.5; margin-bottom:20px; text-transform:none;}
.story-card .testi-person{margin-top:auto;}
@media (max-width:900px){ .story-grid{grid-template-columns:1fr;} }

/* STORY */
.story-wrap{background:var(--white);}
.story-wrap .container{max-width:800px; text-align:center;}
.bio-row{display:grid; grid-template-columns:repeat(2,1fr); gap:50px; margin-top:60px; text-align:left;}
.bio-card{display:flex; flex-direction:column; gap:18px;}
.bio-card img{border-radius:var(--radius); width:100%; height:340px; object-fit:cover;}
.bio-card h3{text-transform:none;}
.bio-card .role{color:var(--teal); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em;}
@media (max-width:800px){ .bio-row{grid-template-columns:1fr;} }

.story-photo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:60px 0;}
.story-photo-grid img{width:100%; height:280px; object-fit:cover; border-radius:var(--radius);}
.story-photo-grid figure{margin:0; position:relative;}
.story-photo-grid figcaption{
  position:absolute; bottom:0; left:0; right:0; padding:14px 16px; font-size:.72rem;
  color:rgba(255,255,255,.85); background:linear-gradient(180deg, transparent, rgba(0,0,0,.75));
  text-transform:uppercase; letter-spacing:.06em;
}
@media (max-width:900px){ .story-photo-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .story-photo-grid{grid-template-columns:1fr;} }

.callout{background:var(--stone); border-left:3px solid var(--amber); padding:26px 30px; margin-top:34px; text-align:left; font-size:.92rem;}
.callout strong{color:var(--ink);}

/* CTA / DEMO FORM */
.demo-section{
  position:relative; padding:130px 0; color:var(--white);
  background-size:cover; background-position:center;
}
.demo-grid{display:grid; grid-template-columns:1fr .95fr; gap:60px; align-items:center;}
.demo-grid .eyebrow{color:var(--amber);}
.demo-grid h2{color:var(--white);}
.demo-grid p.lead{color:rgba(255,255,255,.75);}
.demo-steps{margin-top:36px; display:flex; flex-direction:column; gap:18px;}
.demo-steps div{display:flex; gap:14px; align-items:baseline;}
.demo-steps .n{color:var(--amber); font-weight:800; font-size:.85rem;}
.demo-steps h4{color:var(--white); font-size:.95rem; text-transform:uppercase; letter-spacing:.04em;}
.demo-steps p{font-size:.82rem; margin:0;}
.form-card{background:var(--white); padding:40px; color:var(--ink);}
.form-row{margin-bottom:18px;}
.form-row label{display:block; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); margin-bottom:8px;}
.form-row input, .form-row select, .form-row textarea{
  width:100%; padding:13px 14px; border:1px solid var(--border); border-radius:var(--radius-sm); font-size:.9rem; font-family:inherit; background:var(--cream);
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:none; border-color:var(--amber);}
.form-two{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-submit{width:100%; justify-content:center; margin-top:8px;}
.form-submit:disabled{opacity:.6; cursor:not-allowed;}
.form-status{min-height:1.2em; margin:8px 0 0; font-size:.85rem;}
.form-status.success{color:#2E7D32;}
.form-status.error{color:#C62828;}
@media (max-width:900px){ .demo-grid{grid-template-columns:1fr;} }

/* FOOTER */
footer{background:var(--ink); color:rgba(255,255,255,.55); padding:70px 0 30px; font-size:.85rem;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:54px;}
.footer-logo{display:flex; align-items:center; gap:10px; color:var(--white); font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin-bottom:16px;}
.footer-col h4{color:var(--white); font-size:.72rem; margin-bottom:18px; text-transform:uppercase; letter-spacing:.1em;}
.footer-col ul{list-style:none; display:flex; flex-direction:column; gap:11px;}
.footer-col a:hover{color:var(--amber);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.76rem;}
@media (max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr;} }

.mockup-banner{
  position:fixed; bottom:0; left:0; right:0; z-index:200; background:#000; color:var(--white); font-size:.74rem;
  text-align:center; padding:10px 16px; display:flex; justify-content:center; gap:10px; align-items:center; flex-wrap:wrap;
}
.mockup-banner strong{color:var(--amber);}

.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1; transform:translateY(0);}

.section-head{max-width:700px; margin:0 auto; text-align:center;}

/* ICON TILE SELECTOR — compact row of icon+label tiles; click reveals a detail panel below */
.icon-tile-grid{display:grid; gap:2px; background:var(--border); margin:0 auto; border-radius:var(--radius); overflow:hidden;}
.icon-tile-grid-2{grid-template-columns:repeat(2,1fr); max-width:620px;}
.icon-tile-grid-3{grid-template-columns:repeat(3,1fr); max-width:860px;}
.icon-tile-grid-4{grid-template-columns:repeat(4,1fr); max-width:900px;}
.icon-tile{background:var(--white); border:none; cursor:pointer; padding:36px 20px; display:flex; flex-direction:column; align-items:center; gap:16px; font-family:inherit; transition:background .3s ease;}
.icon-tile:hover:not(.active){background:var(--stone);}
.icon-tile-icon{width:42px; height:42px; color:var(--muted); transition:color .3s ease;}
.icon-tile-icon svg{width:100%; height:100%; display:block;}
.icon-tile-title{font-size:1.02rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink); transition:color .3s ease; text-align:center;}
.icon-tile.active{background:var(--ink);}
.icon-tile.active .icon-tile-icon{color:var(--amber);}
.icon-tile.active .icon-tile-title{color:var(--white);}

.icon-tile-detail-wrap{max-width:900px; margin:54px auto 0;}
.icon-tile-grid-2 + .icon-tile-detail-wrap{max-width:620px;}
.icon-tile-grid-3 + .icon-tile-detail-wrap{max-width:860px;}
.icon-tile-grid-4 + .icon-tile-detail-wrap{max-width:900px;}
.icon-tile-detail-panel{display:none; grid-template-columns:1fr 1.1fr; gap:54px; align-items:center;}
.icon-tile-detail-panel.active{display:grid;}
.icon-tile-detail-panel.no-media{display:none; width:100%; margin:0 auto; text-align:left;}
.icon-tile-detail-panel.no-media.active{display:block;}
.icon-tile-detail-panel.no-media h2{font-size:var(--fs-h2-sm); margin-bottom:20px;}
.icon-tile-detail-panel.no-media h3{margin-bottom:16px;}
.icon-tile-detail-panel.no-media p{margin-bottom:16px;}
.icon-tile-detail-media{position:relative; border-radius:var(--radius); overflow:hidden;}
.icon-tile-detail-media img{width:100%; height:380px; object-fit:cover; display:block; margin:0;}
.icon-tile-detail-text h3{font-size:1.7rem; margin-bottom:16px;}
.icon-tile-detail-text p{font-size:1rem;}
.icon-tile-detail-text ul, .icon-tile-detail-panel.no-media ul{list-style:none; display:flex; flex-direction:column; gap:18px; margin-top:6px;}
.icon-tile-detail-text li, .icon-tile-detail-panel.no-media li{font-size:.96rem; color:var(--muted); padding-left:26px; position:relative; text-align:left;}
.icon-tile-detail-text li::before, .icon-tile-detail-panel.no-media li::before{content:"—"; position:absolute; left:0; top:0; color:var(--amber); font-weight:800;}
.icon-tile-detail-text li strong, .icon-tile-detail-panel.no-media li strong{color:var(--ink);}
@media (max-width:800px){
  .icon-tile-grid-3{grid-template-columns:1fr; max-width:420px;}
  .icon-tile-grid-4{grid-template-columns:repeat(2,1fr); max-width:420px;}
  .icon-tile{padding:26px 12px; gap:12px;}
  .icon-tile-icon{width:32px; height:32px;}
  .icon-tile-title{font-size:.82rem;}
  .icon-tile-detail-wrap{margin-top:34px;}
  .icon-tile-detail-panel{grid-template-columns:1fr; gap:20px;}
  .icon-tile-detail-media img{height:240px;}
  .icon-tile-detail-text h3{font-size:1.35rem;}
}

/* QR BADGE — small floating "scan to ask" chip overlaid on an exhibit photo */
.qr-badge{
  position:absolute; bottom:20px; left:20px; background:var(--white); border-radius:var(--radius-sm); padding:12px 14px;
  display:flex; align-items:center; gap:10px; box-shadow:var(--shadow-md);
}
.qr-badge img{width:52px; height:52px; border-radius:0; margin:0;}
.qr-badge .qr-label{font-size:var(--fs-label-xs); font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); line-height:1.4;}
.qr-badge .qr-label span{display:block; color:var(--muted); font-weight:600; text-transform:none; letter-spacing:0; font-size:var(--fs-label-sm); margin-top:2px;}

/* IMAGE TOGGLE — small pill buttons swap a frame's image */
.img-toggle{position:relative;}
.img-toggle img{height:380px; width:100%; object-fit:cover;}
.img-toggle-btns{position:absolute; bottom:14px; right:14px; z-index:2; display:flex; gap:6px; background:rgba(10,12,14,.55); padding:5px; border-radius:var(--radius-pill); backdrop-filter:blur(3px);}
.img-toggle-btns button{border:none; background:transparent; color:rgba(255,255,255,.75); font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; padding:8px 15px; border-radius:var(--radius-pill); cursor:pointer; font-family:inherit; transition:all .25s ease;}
.img-toggle-btns button.active{background:var(--amber); color:var(--ink);}
.img-toggle-btns button:hover:not(.active){color:var(--white);}

/* SIMPLE ACCORDION — plain +/- expand list, used for shorter topic lists */
.simple-accordion{border-top:1px solid var(--border);}
.simple-acc-item{border-bottom:1px solid var(--border);}
.simple-acc-header{display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:24px 4px; background:none; border:none; cursor:pointer; text-align:left; font-family:inherit;}
.simple-acc-kicker{font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--teal); display:block; margin-bottom:6px;}
.simple-acc-header h3{font-size:1.02rem; text-transform:none; margin:0; color:var(--ink); transition:color .3s ease;}
.simple-acc-item.open .simple-acc-header h3{color:var(--teal);}
.simple-acc-toggle{width:22px; height:22px; flex-shrink:0; position:relative;}
.simple-acc-toggle::before, .simple-acc-toggle::after{content:""; position:absolute; background:var(--ink); border-radius:2px;}
.simple-acc-toggle::before{width:14px; height:2px; top:10px; left:4px;}
.simple-acc-toggle::after{width:2px; height:14px; top:4px; left:10px; transition:transform .3s ease, opacity .3s ease;}
.simple-acc-item.open .simple-acc-toggle::after{transform:rotate(90deg); opacity:0;}
.simple-acc-collapse{display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s ease;}
.simple-acc-item.open .simple-acc-collapse{grid-template-rows:1fr;}
.simple-acc-inner{overflow:hidden; min-height:0;}
.simple-acc-inner p{padding:0 4px 26px; font-size:.92rem; max-width:680px;}
