/* ============================================================
   Aiyarise L10 Analysis — Light-Mode Static Site
   Built on the Aiyarise visual system (v1.0)
   ============================================================ */

:root {
  /* Brand */
  --aiy-slate-light:  #858585;
  --aiy-slate-dark:   #171818;
  --aiy-steel-light:  #617d83;
  --aiy-steel-dark:   #0f191a;
  --aiy-bronze-light: #dab888;
  --aiy-bronze-dark:  #735433;
  --aiy-accent:       #735433;

  /* Light surfaces */
  --aiy-gradient-pearl:     linear-gradient(135deg, #ffffff 0%, #e8e8e8 100%);
  --aiy-gradient-bone:      linear-gradient(135deg, #fafaf8 0%, #ebe8e1 100%);
  --aiy-gradient-mist:      linear-gradient(135deg, #f0f3f4 0%, #c4d0d3 100%);
  --aiy-gradient-parchment: linear-gradient(135deg, #f5f1ea 0%, #d8cdb8 100%);
  --aiy-gradient-bronze:    linear-gradient(135deg, #dab888 0%, #735433 100%);

  /* Ink — light mode */
  --aiy-ink:        #0f191a;
  --aiy-ink-soft:   rgba(15, 25, 26, 0.72);
  --aiy-ink-faint:  rgba(15, 25, 26, 0.50);
  --aiy-rule:       rgba(15, 25, 26, 0.12);
  --aiy-rule-soft:  rgba(15, 25, 26, 0.06);
  --aiy-bg:         #fafaf8;
  --aiy-surface:    #ffffff;
  --aiy-surface-2:  #f5f1ea;
  --aiy-shadow:     0 1px 2px rgba(15,25,26,0.04), 0 24px 64px -24px rgba(15,25,26,0.18);
  --aiy-shadow-lg:  0 32px 80px -16px rgba(15,25,26,0.22);

  /* Type */
  --aiy-font-heading: "Helvetica Neue","HelveticaNeue",Helvetica,Arial,sans-serif;
  --aiy-font-body:    "Inter","Helvetica Neue",system-ui,-apple-system,sans-serif;
  --aiy-font-accent:  "Playfair Display",Georgia,serif;
  --aiy-font-mono:    ui-monospace,"SF Mono",Menlo,Consolas,monospace;

  /* Motion */
  --aiy-motion-fast:  140ms;
  --aiy-motion-base:  280ms;
  --aiy-motion-slow:  520ms;
  --aiy-easing:       cubic-bezier(.2,.6,.2,1);

  /* Layout */
  --aiy-doc-max:    1240px;
  --aiy-pad-x:      48px;
  --aiy-pad-x-sm:   24px;
  --aiy-nav-h:      72px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap");

html{scroll-behavior:smooth}
body{
  font-family:var(--aiy-font-body);
  font-weight:300;
  font-size:17px;
  line-height:1.6;
  color:var(--aiy-ink);
  background:var(--aiy-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- typography ---------- */
.eyebrow{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
}
.display{
  font-family:var(--aiy-font-heading);
  font-weight:100;
  font-size:clamp(48px,7vw,88px);
  line-height:1.05;
  letter-spacing:0.04em;
  margin:0 0 24px;
  color:var(--aiy-ink);
}
.h1{
  font-family:var(--aiy-font-heading);
  font-weight:100;
  font-size:clamp(36px,5vw,56px);
  line-height:1.08;
  letter-spacing:0.06em;
  margin:0 0 20px;
}
.h2{
  font-family:var(--aiy-font-heading);
  font-weight:200;
  font-size:clamp(24px,3vw,32px);
  line-height:1.2;
  letter-spacing:0.06em;
  margin:0 0 16px;
}
.h3{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:18px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  margin:0 0 12px;
}
.italic-pull{
  font-family:var(--aiy-font-accent);
  font-style:italic;
  font-weight:400;
  font-size:clamp(22px,3vw,30px);
  line-height:1.45;
  color:var(--aiy-ink);
  max-width:60ch;
}
p{margin:0 0 16px;max-width:62ch}
strong{font-weight:500}
em{font-style:italic}
blockquote{
  font-family:var(--aiy-font-accent);
  font-style:italic;
  font-weight:400;
  font-size:20px;
  line-height:1.5;
  border-left:2px solid var(--aiy-accent);
  margin:0 0 16px;
  padding:4px 0 4px 22px;
  color:var(--aiy-ink);
}
blockquote cite{
  display:block;
  font-family:var(--aiy-font-heading);
  font-style:normal;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
  margin-top:8px;
}

/* ---------- top nav ---------- */
.nav{
  position:sticky;
  top:0;
  z-index:50;
  height:var(--aiy-nav-h);
  background:rgba(250,250,248,0.78);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom:1px solid var(--aiy-rule);
}
.nav__inner{
  max-width:var(--aiy-doc-max);
  margin:0 auto;
  padding:0 var(--aiy-pad-x);
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.nav__brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--aiy-font-heading);
  font-weight:300;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-size:13px;
}
.nav__brand img{height:28px;width:auto}
.nav__links{
  display:flex;
  align-items:center;
  gap:8px;
}
.nav__link{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
  padding:10px 14px;
  border-radius:999px;
  transition:color var(--aiy-motion-fast) var(--aiy-easing), background var(--aiy-motion-fast) var(--aiy-easing);
}
.nav__link:hover{color:var(--aiy-ink);background:var(--aiy-rule-soft)}
.nav__link.is-active{
  color:var(--aiy-ink);
  background:var(--aiy-surface);
  box-shadow:inset 0 0 0 1px var(--aiy-rule);
}
.nav__menu-btn{
  display:none;
  width:42px;height:42px;
  border-radius:999px;
  align-items:center;justify-content:center;
  border:1px solid var(--aiy-rule);
  background:var(--aiy-surface);
}
.nav__menu-btn span{
  position:relative;
  width:18px;height:1.5px;background:var(--aiy-ink);
  display:block;
}
.nav__menu-btn span::before,.nav__menu-btn span::after{
  content:'';position:absolute;left:0;width:18px;height:1.5px;background:var(--aiy-ink);
}
.nav__menu-btn span::before{top:-6px}
.nav__menu-btn span::after{top:6px}

@media (max-width:880px){
  .nav__links{display:none}
  .nav__menu-btn{display:flex}
}

/* ---------- side drawer (used for mobile nav AND profile drawer) ---------- */
.drawer{
  position:fixed;
  top:0;right:0;
  height:100vh;
  width:min(520px,92vw);
  background:var(--aiy-surface);
  box-shadow:var(--aiy-shadow-lg);
  z-index:200;
  transform:translateX(100%);
  transition:transform var(--aiy-motion-base) var(--aiy-easing);
  display:flex;
  flex-direction:column;
}
.drawer.is-open{transform:translateX(0)}
.drawer__overlay{
  position:fixed;inset:0;
  background:rgba(15,25,26,0.42);
  backdrop-filter:blur(4px);
  z-index:150;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--aiy-motion-base) var(--aiy-easing);
}
.drawer__overlay.is-open{opacity:1;pointer-events:auto}
.drawer__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 28px;
  border-bottom:1px solid var(--aiy-rule);
}
.drawer__close{
  width:36px;height:36px;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--aiy-rule);
  transition:background var(--aiy-motion-fast) var(--aiy-easing);
}
.drawer__close:hover{background:var(--aiy-rule-soft)}
.drawer__close svg{width:16px;height:16px}
.drawer__body{
  padding:28px 32px 64px;
  overflow-y:auto;
  flex:1;
}
.drawer__body h2{
  font-family:var(--aiy-font-heading);
  font-weight:200;
  font-size:32px;
  letter-spacing:0.04em;
  margin:0 0 6px;
}
.drawer__body .role{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-accent);
  margin-bottom:24px;
  display:block;
}
.drawer__body h3{
  font-family:var(--aiy-font-heading);
  font-weight:400;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink);
  margin:28px 0 12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--aiy-rule);
}
.drawer__body p{font-size:15px;line-height:1.65}
.drawer__body ul{margin:0 0 16px;padding:0}
.drawer__body ul li{
  position:relative;
  padding:6px 0 6px 20px;
  font-size:14.5px;
  line-height:1.5;
}
.drawer__body ul li::before{
  content:'';
  position:absolute;left:0;top:14px;
  width:8px;height:1px;
  background:var(--aiy-accent);
}

/* ---------- layout ---------- */
.shell{max-width:var(--aiy-doc-max);margin:0 auto;padding:0 var(--aiy-pad-x)}
@media (max-width:720px){
  .shell{padding:0 var(--aiy-pad-x-sm)}
}
.section{padding:96px 0}
.section--tight{padding:48px 0}
.section--hero{padding:120px 0 96px}

/* ---------- hero ---------- */
.hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--aiy-rule);
}
.hero__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:saturate(0.85) brightness(1.04);
  z-index:0;
}
.hero__veil{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.92) 0%,rgba(245,241,234,0.86) 100%);
  z-index:1;
}
.hero__inner{
  position:relative;
  z-index:2;
  max-width:var(--aiy-doc-max);
  margin:0 auto;
  padding:120px var(--aiy-pad-x) 96px;
}
.hero__inner .eyebrow{margin-bottom:24px;display:inline-block}
.hero__inner .display{max-width:18ch}
.hero__inner p{
  font-family:var(--aiy-font-accent);
  font-style:italic;
  font-weight:400;
  font-size:clamp(20px,2.4vw,26px);
  line-height:1.5;
  max-width:60ch;
  margin:24px 0 0;
  color:var(--aiy-ink-soft);
}

/* ---------- metric strip ---------- */
.metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--aiy-rule);
  border-bottom:1px solid var(--aiy-rule);
  background:var(--aiy-surface);
}
.metrics__cell{
  padding:32px 24px;
  border-right:1px solid var(--aiy-rule);
}
.metrics__cell:last-child{border-right:none}
.metrics__num{
  font-family:var(--aiy-font-heading);
  font-weight:100;
  font-size:clamp(36px,5vw,52px);
  line-height:1;
  letter-spacing:0.02em;
  display:block;
}
.metrics__lbl{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
  margin-top:12px;
  display:block;
}
@media (max-width:720px){
  .metrics{grid-template-columns:repeat(2,1fr)}
  .metrics__cell{border-bottom:1px solid var(--aiy-rule)}
  .metrics__cell:nth-child(odd){border-right:1px solid var(--aiy-rule)}
  .metrics__cell:nth-child(even){border-right:none}
  .metrics__cell:nth-last-child(-n+2){border-bottom:none}
}

/* ---------- cards / panels ---------- */
.panel{
  background:var(--aiy-surface);
  border:1px solid var(--aiy-rule);
  border-radius:6px;
  padding:36px 40px;
  box-shadow:var(--aiy-shadow);
}
.panel--bone{background:var(--aiy-gradient-bone)}
.panel--parchment{background:var(--aiy-gradient-parchment)}
.panel + .panel{margin-top:24px}

.grid{display:grid;gap:24px}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* ---------- team cards ---------- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.card-person{
  background:var(--aiy-surface);
  border:1px solid var(--aiy-rule);
  border-radius:8px;
  overflow:hidden;
  text-align:left;
  display:flex;flex-direction:column;
  cursor:pointer;
  transition:transform var(--aiy-motion-base) var(--aiy-easing), box-shadow var(--aiy-motion-base) var(--aiy-easing);
  box-shadow:var(--aiy-shadow);
}
.card-person:hover{
  transform:translateY(-4px);
  box-shadow:var(--aiy-shadow-lg);
}
.card-person__img{
  aspect-ratio:1/1;
  background:var(--aiy-gradient-bone);
  background-size:cover;background-position:center top;
  position:relative;
}
.card-person__img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(15,25,26,0.06) 100%);
}
.card-person__body{padding:22px 24px 24px}
.card-person__name{
  font-family:var(--aiy-font-heading);
  font-weight:200;
  font-size:22px;
  letter-spacing:0.02em;
  margin:0 0 4px;
}
.card-person__role{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:10.5px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-accent);
  margin-bottom:12px;
}
.card-person__hook{
  font-family:var(--aiy-font-accent);
  font-style:italic;
  font-size:15px;
  line-height:1.45;
  color:var(--aiy-ink-soft);
  margin:0 0 14px;
}
.card-person__cta{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink);
  padding-top:10px;
  border-top:1px solid var(--aiy-rule);
}
.card-person__cta svg{width:14px;height:14px;transition:transform var(--aiy-motion-fast) var(--aiy-easing)}
.card-person:hover .card-person__cta svg{transform:translateX(4px)}

/* ---------- accordion ---------- */
.accordion{border-top:1px solid var(--aiy-rule)}
.accordion__item{border-bottom:1px solid var(--aiy-rule)}
.accordion__trigger{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:24px 4px;
  text-align:left;
  cursor:pointer;
  transition:background var(--aiy-motion-fast) var(--aiy-easing);
}
.accordion__trigger:hover{background:var(--aiy-rule-soft)}
.accordion__heading{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:18px;
  letter-spacing:0.02em;
  flex:1;
}
.accordion__meta{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
  white-space:nowrap;
}
.accordion__icon{
  width:36px;height:36px;
  border:1px solid var(--aiy-rule);
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform var(--aiy-motion-base) var(--aiy-easing), background var(--aiy-motion-fast) var(--aiy-easing);
  flex-shrink:0;
}
.accordion__icon svg{width:14px;height:14px}
.accordion__item.is-open .accordion__icon{transform:rotate(45deg);background:var(--aiy-accent);color:#fff}
.accordion__panel{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows var(--aiy-motion-base) var(--aiy-easing);
}
.accordion__panel-inner{
  overflow:hidden;
  min-height:0;
}
.accordion__item.is-open .accordion__panel{grid-template-rows:1fr}
.accordion__content{padding:8px 4px 32px}
.accordion__content p{font-size:16px}
.accordion__content h4{
  font-family:var(--aiy-font-heading);
  font-weight:400;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-accent);
  margin:24px 0 10px;
}
.accordion__content ul{margin:0 0 16px}
.accordion__content ul li{
  position:relative;padding:6px 0 6px 22px;
  font-size:15.5px;line-height:1.55;
}
.accordion__content ul li::before{
  content:'';position:absolute;left:0;top:15px;
  width:10px;height:1px;background:var(--aiy-accent);
}

/* ---------- chips / filters ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.chip{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid var(--aiy-rule);
  background:var(--aiy-surface);
  color:var(--aiy-ink-soft);
  transition:all var(--aiy-motion-fast) var(--aiy-easing);
}
.chip:hover{color:var(--aiy-ink);border-color:var(--aiy-ink-soft)}
.chip.is-active{
  background:var(--aiy-ink);
  color:#fff;
  border-color:var(--aiy-ink);
}

/* ---------- quote cards ---------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px}
.quote{
  background:var(--aiy-surface);
  border:1px solid var(--aiy-rule);
  border-radius:6px;
  padding:28px 32px;
  position:relative;
  transition:all var(--aiy-motion-base) var(--aiy-easing);
  box-shadow:var(--aiy-shadow);
}
.quote--hidden{display:none}
.quote::before{
  content:'\201C';
  font-family:var(--aiy-font-accent);
  font-size:88px;
  line-height:1;
  color:var(--aiy-accent);
  opacity:0.3;
  position:absolute;
  top:4px;left:18px;
}
.quote__body{
  font-family:var(--aiy-font-accent);
  font-style:italic;
  font-weight:400;
  font-size:18px;
  line-height:1.55;
  position:relative;
  z-index:1;
  margin-bottom:18px;
}
.quote__attr{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-top:14px;
  border-top:1px solid var(--aiy-rule);
}
.quote__who{
  font-family:var(--aiy-font-heading);
  font-weight:400;
  font-size:13px;
  letter-spacing:0.08em;
}
.quote__when{
  font-family:var(--aiy-font-mono);
  font-size:11px;
  letter-spacing:0.05em;
  color:var(--aiy-ink-soft);
}

/* ---------- improvement tiles ---------- */
.tier{
  margin-bottom:36px;
}
.tier__head{
  display:flex;align-items:baseline;gap:14px;
  margin-bottom:18px;
}
.tier__badge{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:10.5px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  background:var(--aiy-gradient-bronze);
  color:#fff;
}
.tier__badge--high{background:var(--aiy-gradient-bronze)}
.tier__badge--med{background:var(--aiy-gradient-mist);color:var(--aiy-ink)}

/* ---------- pull quote feature ---------- */
.pull{
  padding:64px 0;
  border-top:1px solid var(--aiy-rule);
  border-bottom:1px solid var(--aiy-rule);
  background:var(--aiy-gradient-parchment);
  margin:48px 0;
}
.pull__inner{
  max-width:var(--aiy-doc-max);margin:0 auto;
  padding:0 var(--aiy-pad-x);
  text-align:center;
}
.pull__quote{
  font-family:var(--aiy-font-accent);
  font-style:italic;
  font-weight:400;
  font-size:clamp(26px,3.4vw,38px);
  line-height:1.4;
  max-width:24ch;
  margin:0 auto 18px;
  color:var(--aiy-ink);
}
.pull__attr{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
}

/* ---------- timeline marker (progression page) ---------- */
.timeline-week{
  font-family:var(--aiy-font-mono);
  font-size:12px;
  letter-spacing:0.04em;
  color:var(--aiy-ink-soft);
  white-space:nowrap;
}
.timeline-title{
  font-family:var(--aiy-font-accent);
  font-style:italic;
  font-size:18px;
  line-height:1.4;
  color:var(--aiy-ink-soft);
  margin-top:4px;
}

/* ---------- stat row ---------- */
.stat-row{
  display:flex;align-items:center;gap:20px;
  padding:18px 0;
  border-bottom:1px solid var(--aiy-rule);
}
.stat-row:last-child{border-bottom:none}
.stat-row__bar{
  flex:1;height:6px;
  background:var(--aiy-rule-soft);
  border-radius:999px;
  overflow:hidden;
  position:relative;
}
.stat-row__fill{
  position:absolute;left:0;top:0;height:100%;
  background:var(--aiy-gradient-bronze);
  border-radius:999px;
  transition:width var(--aiy-motion-slow) var(--aiy-easing);
}
.stat-row__name{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:14px;
  width:120px;
  letter-spacing:0.04em;
}
.stat-row__val{
  font-family:var(--aiy-font-mono);
  font-size:12px;
  color:var(--aiy-ink-soft);
  min-width:80px;
  text-align:right;
}

/* ---------- footer ---------- */
.foot{
  margin-top:96px;
  padding:48px 0 64px;
  border-top:1px solid var(--aiy-rule);
  background:var(--aiy-surface);
}
.foot__inner{
  max-width:var(--aiy-doc-max);margin:0 auto;padding:0 var(--aiy-pad-x);
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.foot__meta{
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
}

/* ---------- utility ---------- */
.center{text-align:center}
.mt-0{margin-top:0!important}
.mt-24{margin-top:24px}
.mt-48{margin-top:48px}
.mb-0{margin-bottom:0!important}
.mb-8{margin-bottom:8px}
.mb-16{margin-bottom:16px}
.mb-24{margin-bottom:24px}
.mb-48{margin-bottom:48px}
.dl-list{display:grid;grid-template-columns:1fr 2fr;gap:8px 24px}
.dl-list dt{
  font-family:var(--aiy-font-heading);
  font-weight:400;
  font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--aiy-ink-soft);
  padding-top:8px;
  border-top:1px solid var(--aiy-rule);
}
.dl-list dd{
  margin:0;
  padding-top:8px;
  border-top:1px solid var(--aiy-rule);
  font-size:15px;
}

/* ---------- entry animations ---------- */
@keyframes fadeUp {
  from {opacity:0;transform:translateY(16px)}
  to {opacity:1;transform:translateY(0)}
}
.reveal{opacity:0}
.reveal.is-revealed{
  opacity:1;
  animation:fadeUp var(--aiy-motion-slow) var(--aiy-easing) both;
}

/* ---------- mobile-friendly nav drawer ---------- */
.mobnav{
  padding:24px 28px;
}
.mobnav a{
  display:block;
  padding:16px 0;
  font-family:var(--aiy-font-heading);
  font-weight:300;
  font-size:14px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  border-bottom:1px solid var(--aiy-rule);
}
.mobnav a:last-child{border-bottom:none}

/* ---------- pattern table ---------- */
.tbl{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}
.tbl th,.tbl td{
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid var(--aiy-rule);
  vertical-align:top;
}
.tbl th{
  font-family:var(--aiy-font-heading);
  font-weight:400;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--aiy-ink-soft);
  background:var(--aiy-surface-2);
  border-bottom:1px solid var(--aiy-rule);
}
.tbl td .tag{
  font-family:var(--aiy-font-mono);
  font-size:11px;
  padding:2px 8px;
  border-radius:999px;
  background:var(--aiy-rule-soft);
  display:inline-block;
}

/* ---------- print-safe ---------- */
@media print{
  .nav,.foot,.drawer,.drawer__overlay,.accordion__icon{display:none!important}
  .accordion__panel{grid-template-rows:1fr!important}
  .accordion__panel-inner{overflow:visible!important}
  body{background:#fff;color:#000}
}
