/* ============================================
   Ariamana static — design system first (skill 6.5)
   Tokens: 8px spacing, single accent, type scale, radii
   ============================================ */
:root{
  --bg:#ffffff; --ink:#111725; --muted:#54595F; --accent:#D2AA41; --accent-ink:#000000;
  --surface:#F8F8F8; --line:#EBEBEB; --dark:#111725;
  --font:"Pelak","Vazirmatn","IRANSans",Tahoma,sans-serif;
  --fs-sm:13px; --fs-base:15px; --fs-lg:17px; --fs-xl:19px; --fs-2xl:23px; --fs-3xl:28px; --fs-hero:clamp(28px,4vw,44px);
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-6:48px;
  --radius-sm:6px; --radius-md:12px; --radius-lg:15px; --radius-xl:25px;
  --shadow-sm:0 2px 8px rgba(0,0,0,.08); --shadow-md:0 8px 32px rgba(0,0,0,.12);
  --glow:0 0 20px rgba(210,170,65,.5);
  --t-fast:150ms cubic-bezier(.4,0,.2,1); --t:300ms cubic-bezier(.4,0,.2,1); --t-slow:500ms cubic-bezier(.4,0,.2,1);
  --z-header:1020; --z-dropdown:1000; --z-dialog:1050; --z-tooltip:1070;
  --sat:env(safe-area-inset-top, 0px);
  --sar:env(safe-area-inset-right, 0px);
  --sab:env(safe-area-inset-bottom, 0px);
  --sal:env(safe-area-inset-left, 0px);
}
[data-theme="dark"]{ --bg:#111725; --ink:#ffffff; --muted:#B8BDC7; --surface:#1B2334; --line:#2A3448; }
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.6;color:var(--muted);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent}
img,video{max-width:100%;height:auto}
/* type scale with correct line-heights (skill 2.1) */
h1,h2,h3{color:var(--ink);margin:0 0 var(--sp-2);font-weight:800;line-height:1.35;letter-spacing:0}
h1{font-size:var(--fs-hero);font-weight:900}
h2{font-size:var(--fs-3xl)} h3{font-size:var(--fs-xl);line-height:1.5}
p{line-height:1.6;margin:0 0 var(--sp-2)}
.lede{font-size:var(--fs-lg);line-height:1.6}
.section-sub{margin-top:-8px}
/* tabular numbers (skill 2.2) */
.num,.stats dd,.meta,.like-count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
/* truncation done right: allow 2 lines (skill 2.3) */
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.container{max-width:1170px;margin-inline:auto;padding-inline:clamp(14px,3.5vw,20px)}
section{padding-block:var(--sp-4)}
.section-head{margin-bottom:var(--sp-2)}
.skip-link{position:absolute;top:-60px;right:16px;background:var(--dark);color:#fff;padding:12px 20px;border-radius:var(--radius-sm);z-index:2000;transition:top var(--t-fast)}
.skip-link:focus{top:max(8px, var(--sat))}
/* icons match adjacent text weight (skill 4.2):
   regular text (400-600) -> 1.5px, bold text (700+) -> 2px.
   Use .icon--strong next to any bold element (logo, buttons, h3, strong). */
.icon{stroke-width:1.5;flex-shrink:0;vertical-align:-3px}
.icon--strong{stroke-width:2}
h1 .icon,h2 .icon,h3 .icon,strong .icon,.btn .icon,.logo .icon,.icon-box-card>.icon{stroke-width:2}
a{color:inherit}
/* ---------- header / nav ---------- */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--bg);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:var(--sat);padding-left:var(--sal);padding-right:var(--sar)}
.header-inner{display:flex;align-items:center;gap:var(--sp-2);min-height:71px}
.logo{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:22px;color:var(--ink);text-decoration:none;min-height:44px}
.logo-emblem{width:36px;height:auto;display:inline-block;vertical-align:middle;flex-shrink:0}
.nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto}
.nav-link{position:relative;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:12px 14px;color:var(--ink);text-decoration:none;font-weight:600;background:none;border:0;font-family:inherit;font-size:var(--fs-base);cursor:pointer;transition:color var(--t-fast)}
.nav-link::after{content:'';position:absolute;bottom:6px;right:14px;left:14px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform var(--t)}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:8px}
/* ---------- dropdown: origin-aware pop-in + safe polygon ---------- */
.has-submenu{position:relative}
/* invisible hover bridge keeps menu open on diagonal travel (skill 5.6) */
.has-submenu::before{content:'';position:absolute;top:100%;right:-12px;left:-12px;height:18px}
.dropdown{position:absolute;top:calc(100% + 14px);right:0;min-width:220px;margin:0;padding:6px;list-style:none;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);
  opacity:0;transform:scale(.96) translateY(-6px);transform-origin:top right;pointer-events:none;
  transition:opacity var(--t-fast),transform var(--t-fast)} /* transitions = interruptible (skill 1.1) */
.has-submenu.open .dropdown{opacity:1;transform:none;pointer-events:auto}
.dropdown a{display:flex;min-height:44px;align-items:center;padding:11px 16px;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);font-weight:500}
.dropdown a:hover{background:var(--surface)}
.chevron{transition:transform var(--t-fast)}
.has-submenu.open .chevron{transform:rotate(180deg)}
/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 20px;border-radius:var(--radius-md);font-weight:700;font-family:inherit;font-size:var(--fs-base);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background var(--t),color var(--t),transform var(--t),box-shadow var(--t)}
.btn-primary{background:#000;color:var(--accent)}
.btn-primary:hover{background:var(--accent);color:#000;transform:translateY(-2px);box-shadow:var(--glow)}
.btn-primary:active{transform:scale(.98)}
.btn-primary:disabled{opacity:.6;cursor:wait;transform:none}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--bg)}
.btn-ghost:hover{border-color:var(--accent)}
.icon-button{position:relative;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:50%;cursor:pointer;transition:border-color var(--t-fast),transform var(--t-fast)}
.icon-button:hover{border-color:var(--accent)}
.menu-btn{display:none}
/* cross-fade toggle (skill 1.4) */
.cross-fade-icon{position:absolute;transition:opacity var(--t),transform var(--t)}
.cross-fade-icon.icon-b{opacity:0;transform:scale(.5) rotate(-90deg)}
.cross-fade-container.active .icon-a{opacity:0;transform:scale(.5) rotate(90deg)}
.cross-fade-container.active .icon-b{opacity:1;transform:none}
/* press feedback (skill 1.1 + 1.5): transition-only so a second
   tap reverses from the current point instead of replaying a keyframe */
.rubber-band{transition:transform var(--t-fast),background var(--t),color var(--t),box-shadow var(--t)}
.rubber-band:active{transform:scale(.94)}
/* ---------- tabs with shared-layout highlight (skill 1.6) ---------- */
.shared-layout-tabs{position:relative;display:flex;gap:8px;padding:4px;border:1px solid var(--line);border-radius:50px;width:max-content;max-width:100%;margin-bottom:8px}
.tab{border:0;background:transparent;padding:10px 20px;min-height:44px;font-family:inherit;font-weight:700;color:var(--muted);cursor:pointer;position:relative;z-index:1;border-radius:50px;transition:color var(--t)}
.tab.active{color:#000}
[data-theme="dark"] .tab.active{color:#fff}
.shared-layout-highlight{position:absolute;top:4px;bottom:4px;background:#f5edd3;border-radius:50px;transition:right var(--t),width var(--t);pointer-events:none}
[data-theme="dark"] .shared-layout-highlight{background:#3a3320}
/* tooltip with skip-delay (skill 5.5) */
.tooltip{position:absolute;bottom:calc(100% + 8px);right:16px;background:var(--dark);color:#fff;font-size:var(--fs-sm);padding:6px 12px;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity var(--t-fast),transform var(--t-fast);transition-delay:300ms}
.tooltip.show{opacity:1;transform:none}
.tooltip-group.touched .tooltip{transition-delay:0ms} /* subsequent = instant */
/* ---------- hero / cards ---------- */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-4);padding-block:var(--sp-6);align-items:start}
.eyebrow{color:#b08d2a;font-weight:700}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-block:var(--sp-2)}
.stats{display:flex;gap:var(--sp-3);margin:var(--sp-2) 0 0;padding:0}
.stats div{display:grid;gap:2px}
.stats dt{font-size:var(--fs-sm)}
.stats dd{font-size:24px;font-weight:900;color:var(--ink);margin:0}
.hero-card{background:var(--surface);border:2px solid var(--accent);border-radius:40px 40px 0 40px;padding:var(--sp-3)}
/* ---------- hero slider: cross-fade + stagger captions (skill 1.2, 1.4) ---------- */
.hero-slider{margin:0;background:var(--surface);border:2px solid var(--accent);border-radius:40px 40px 0 40px;overflow:hidden}
.slides{position:relative;aspect-ratio:16/11;margin:0}
.slide{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity var(--t-slow)} /* interruptible (1.1) */
.slide.active{opacity:1;pointer-events:auto;z-index:1}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide-cap{position:absolute;right:0;left:0;bottom:0;padding:var(--sp-3);padding-top:var(--sp-6);background:linear-gradient(to top,rgba(17,23,37,.85),transparent);color:#fff;display:grid;gap:8px;justify-items:start}
.slide-cap h3{color:#fff;margin:0}
.slide-cap p{margin:0;color:#E8EAF0}
/* caption lines stagger in on activation, priority first */
.slide .cap-line{opacity:0;transform:translateY(14px);transition:opacity var(--t),transform var(--t)}
.slide.active .cap-line{opacity:1;transform:none}
.slide.active .cap-line:nth-child(1){transition-delay:100ms}
.slide.active .cap-line:nth-child(2){transition-delay:150ms}
.slide.active .cap-line:nth-child(3){transition-delay:200ms}
.slider-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--surface)}
.slider-btn{border-radius:50%}
.dots{position:relative;display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:50px;background:var(--bg)}
.dot{position:relative;z-index:1;min-width:44px;min-height:28px;border:0;border-radius:50px;background:transparent;cursor:pointer}
/* shared-layout pill glides between dots (skill 1.6) */
.dots-highlight{position:absolute;top:4px;bottom:4px;border-radius:50px;background:var(--accent);transition:right var(--t),width var(--t);pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.stagger-list{padding:0;list-style:none;margin:0 0 var(--sp-2)}
.stagger-list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px dashed var(--line)}
.tag{font-size:var(--fs-sm);background:var(--accent);color:#000;border-radius:50px;padding:2px 10px;font-weight:700}
.grid.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-2)}
.icon-box-card{background:var(--surface);border:2px solid var(--accent);border-radius:24px 24px 0 24px;padding:20px;transition:transform var(--t),box-shadow var(--t),background var(--t),border-radius var(--t-slow)}
.icon-box-card .icon{color:var(--ink)}
/* morph on hover (skill 1.3) */
.morph-card:hover{transform:translateY(-4px);background:var(--bg);border-radius:20px 20px 0 20px;box-shadow:var(--shadow-md)}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.card-foot a{color:var(--ink);font-weight:700}
.like-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid var(--line);border-radius:50px;background:var(--bg);cursor:pointer;font-family:inherit;transition:border-color var(--t-fast),transform var(--t-fast)}
.like-btn:hover{border-color:var(--accent)}
.like-btn[aria-pressed="true"]{border-color:var(--accent);background:#fdf6e0}
.like-btn[aria-pressed="true"] .icon{fill:var(--accent)}
.meta{font-size:var(--fs-sm)}
/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{background:var(--dark);color:#fff;border-radius:var(--radius-md);padding:16px}
.steps li::before{counter-increment:s;content:counter(s,arabic-indic) " — ";color:var(--accent);font-weight:900}
/* stagger delays: 50ms apart, priority first (skill 1.2) */
.stagger-item{opacity:0;transform:translateY(16px);transition:opacity var(--t),transform var(--t)}
.stagger-item.visible{opacity:1;transform:none}
.stagger-list .stagger-item:nth-child(1){transition-delay:0ms}.stagger-list .stagger-item:nth-child(2){transition-delay:50ms}.stagger-list .stagger-item:nth-child(3){transition-delay:100ms}.stagger-list .stagger-item:nth-child(4){transition-delay:150ms}
.steps .stagger-item:nth-child(2){transition-delay:50ms}.steps .stagger-item:nth-child(3){transition-delay:100ms}.steps .stagger-item:nth-child(4){transition-delay:150ms}.steps .stagger-item:nth-child(5){transition-delay:200ms}.steps .stagger-item:nth-child(6){transition-delay:250ms}.steps .stagger-item:nth-child(7){transition-delay:300ms}.steps .stagger-item:nth-child(8){transition-delay:350ms}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--t-slow),transform var(--t-slow)}
.reveal.visible{opacity:1;transform:none}
/* horizontal scroll + fade hint (skill 5.4) */
.scroll-fade{position:relative}
.h-scroll{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.h-scroll>*{flex:0 0 min(300px,80vw);scroll-snap-align:start}
/* filter chips */
.filter-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{min-height:44px;padding:8px 20px;border-radius:50px;border:1px solid var(--line);background:var(--bg);font-family:inherit;font-weight:700;cursor:pointer;transition:all var(--t-fast)}
.chip.active{background:var(--dark);color:#fff;border-color:var(--dark)}
/* uniform card anatomy (skill 3.1 + 6.5): equal image boxes, pinned footers */
.icon-box-card{display:flex;flex-direction:column}
.icon-box-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-sm);background:var(--line);margin-bottom:12px}
.icon-box-card .card-foot{margin-top:auto;padding-top:8px}
.icon-box-card>.btn:last-child{margin-top:auto;align-self:start}
.icon-box-card .meta{margin-top:auto;padding-top:8px}
/* skeleton image loading (skill 5.3): shimmer box mirrors final layout,
   real pixels cross-fade in — interruptible, no spinners */
img.skel{background-image:linear-gradient(90deg,#e9e9e9 25%,#f4f4f4 50%,#e9e9e9 75%);background-size:200% 100%;animation:skel 1.4s infinite;opacity:0;transition:opacity var(--t-slow)}
img.skel.loaded{opacity:1;animation:none;background-image:none;background-color:transparent}
@keyframes skel{from{background-position:200% 0}to{background-position:-200% 0}}
/* empty state: title + desc + action (skill 5.2) */
.empty-state{text-align:center;padding:var(--sp-4);border:1px dashed var(--line);border-radius:var(--radius-lg);margin-top:var(--sp-2);display:grid;gap:8px;justify-items:center}
.empty-state[hidden]{display:none}
/* shared-element dialog with origin-aware pop-in (skill 1.7 + 1.8):
   grows from the clicked card; interruptible transitions both ways */
.detail-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);padding:0 0 16px;width:calc(100% - 24px);max-width:480px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);color:var(--ink);
  opacity:0;transform:scale(.92) translateY(12px);transform-origin:var(--ox,50%) var(--oy,50%);
  transition:opacity var(--t),transform var(--t),overlay var(--t) allow-discrete,display var(--t) allow-discrete;
  position:fixed;inset:0;margin:auto}
.detail-dialog[open]{opacity:1;transform:none}
@starting-style{ .detail-dialog[open]{opacity:0;transform:scale(.92) translateY(12px)} }
.detail-dialog.closing{opacity:0;transform:scale(.94) translateY(8px)}
.detail-dialog::backdrop{background:rgba(0,0,0,.4);opacity:0;transition:opacity var(--t)}
.detail-dialog[open]::backdrop{opacity:1}
@starting-style{ .detail-dialog[open]::backdrop{opacity:0} }
.detail-dialog> :not(.dialog-media){margin:16px 20px}
.dialog-media{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--line)}
#leadForm{display:grid;gap:12px;width:100%}
#leadForm label{display:grid;gap:6px;font-weight:700;color:var(--ink)}
#leadForm input,#leadForm select{font-family:inherit;font-size:var(--fs-base);line-height:1.5;padding:12px;min-height:44px;border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
#leadForm input:focus,#leadForm select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(210,170,65,.2)}
/* form */
.contact-form{display:grid;gap:12px;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-3)}
.contact-form label{display:grid;gap:6px;font-weight:700;color:var(--ink)}
.contact-form input,.contact-form select{font-family:inherit;font-size:var(--fs-base);line-height:1.5;padding:12px;min-height:44px;border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.contact-form input:focus,.contact-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(210,170,65,.2)}
#formMsg{min-height:1.6em;font-weight:700}
#formMsg.ok{color:#2e7d32}#formMsg.err{color:#c62828}
.footer{border-top:1px solid var(--line);padding:20px 0;padding-bottom:max(20px, var(--sab));margin-top:var(--sp-3)}
.footer-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
/* focus visible for keyboard (a11y) */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:var(--accent);color:#000}
/* responsive */
@media(max-width:56.25rem){
  .hero{grid-template-columns:1fr;gap:var(--sp-3);padding-block:var(--sp-4)}
  .menu-btn{display:inline-flex}
  .nav{position:absolute;top:100%;right:0;left:0;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;padding:8px 20px max(16px, var(--sab));display:flex;transform-origin:top center;opacity:0;visibility:hidden;transform:scale(.98) translateY(-6px);pointer-events:none;transition:opacity var(--t-fast),transform var(--t-fast),visibility var(--t-fast)}
  .nav.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nav-link{width:100%;justify-content:flex-start}
  .dropdown{display:none;position:static;box-shadow:none;border:0;padding:4px 16px 4px 0;background:transparent;opacity:1;transform:none;pointer-events:auto}
  .has-submenu.open .dropdown{display:flex;flex-direction:column}
  .header-actions .btn span{display:none}
  .header-actions .btn{padding:12px}
  .contact-form input,.contact-form select,#leadForm input,#leadForm select{font-size:16px !important}
}
@media(max-width:40rem){
  :root{--fs-hero:clamp(24px,7vw,32px);--fs-3xl:22px;--fs-2xl:19px;--fs-xl:17px;--fs-lg:16px;--fs-base:15px;--sp-4:24px;--sp-6:32px}
  .container{padding-inline:max(14px, var(--sar)) max(14px, var(--sal))}
  .header-inner{min-height:58px}
  .logo{font-size:18px;gap:6px}
  .logo-emblem{width:30px}
  .header-actions{gap:6px}
  .header-actions .btn{padding:10px;min-width:40px;min-height:40px}
  .header-actions .icon-button{min-width:40px;min-height:40px}
  .hero-card,.hero-slider{border-radius:24px 24px 0 24px}
  .slides{aspect-ratio:4/3;min-height:220px}
  .slide-cap{padding:12px 14px;padding-top:28px}
  .slide-cap h3{font-size:16px;line-height:1.4}
  .slide-cap p{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .slider-bar{padding:6px 10px;gap:6px}
  .dot{min-width:32px;min-height:28px}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
  .stats div{text-align:center}
  .stats dt{font-size:12px;line-height:1.35}
  .stats dd{font-size:18px}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
  .grid.cards{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:8px}
  .shared-layout-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .shared-layout-tabs::-webkit-scrollbar{display:none}
  .tab{flex:1 0 auto;padding:8px 14px;font-size:var(--fs-sm);text-align:center}
  .filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .filter-row::-webkit-scrollbar{display:none}
  .chip{flex-shrink:0}
  .contact-form{padding:16px;border-radius:var(--radius-md);width:100%}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:10px}
  .page-hero{padding-block:var(--sp-4) var(--sp-2)}
  .page-hero img{aspect-ratio:16/9}
  .quiz{padding:16px}
  .quiz-opt{padding:10px 14px;font-size:var(--fs-sm);min-height:48px}
  .detail-dialog{width:calc(100% - 24px);max-width:440px;margin:auto}
}
@media(max-width:23.75rem){
  .stats{grid-template-columns:1fr;gap:6px}
  .stats div{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--surface);border-radius:var(--radius-sm)}
  .stats dd{font-size:17px;margin:0}
  .stats dt{font-size:12px;margin:0}
  .logo span{font-size:16px}
  .logo-emblem{width:26px}
}
/* reduced motion: kill everything (skill 1.10) */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .reveal,.stagger-item{opacity:1;transform:none}
}
/* ---------- sub-pages: hero, prose, FAQ, quiz ---------- */
.page-hero{padding-block:var(--sp-6) var(--sp-4)}
.page-hero img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--radius-lg);background:var(--line);margin-top:var(--sp-3)}
.prose{max-width:760px}
.prose p{line-height:1.9}
.prose h2{margin-top:var(--sp-4)}
.prose ul{line-height:1.9;padding-right:20px}
.back-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;color:var(--ink);text-decoration:none;margin-bottom:var(--sp-2)}
.article-meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:var(--fs-sm);margin-bottom:var(--sp-2)}
.faq{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);margin-bottom:12px}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 20px;cursor:pointer;font-weight:700;color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chevron{transition:transform var(--t-fast)}
.faq[open] summary .chevron{transform:rotate(180deg)}
.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t)}
.faq[open] .faq-body{grid-template-rows:1fr}
.faq-body>div{overflow:hidden}
.faq-body p{padding:0 20px 16px;margin:0;line-height:1.9}
.quiz{max-width:640px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-3)}
.quiz-progress{height:8px;border-radius:50px;background:var(--line);overflow:hidden;margin-bottom:var(--sp-3)}
.quiz-progress span{display:block;height:100%;width:0;background:var(--accent);border-radius:50px;transition:width var(--t-slow)}
.quiz-opts{display:grid;gap:8px;margin-top:var(--sp-2)}
.quiz-opt{min-height:52px;padding:12px 20px;border-radius:var(--radius-md);border:2px solid var(--line);background:var(--bg);font-family:inherit;font-size:var(--fs-base);font-weight:600;color:var(--ink);cursor:pointer;text-align:right;transition:border-color var(--t-fast),transform var(--t-fast)}
.quiz-opt:hover{border-color:var(--accent);transform:translateY(-1px)}
.quiz-result{display:grid;gap:12px;justify-items:start}
.quiz-score{font-size:var(--fs-3xl);font-weight:900;color:var(--ink)}
.addr-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-3);line-height:1.9}
@media print{
  .site-header .header-actions,.filter-row,.contact-form,.tooltip{display:none !important}
  body{color:#000;background:#fff}
  .icon-box-card,.hero-card{box-shadow:none;border:1px solid #999}
}
