/* ============================================================================
   THE EXAMPLE AUDIT DOCUMENT  (/audit/example/)

   This is the Audit's own design, the paper one, not the website's. It is
   scoped under .doc so none of it leaks into the site: the sheet carries its
   own type scale in pt, its own spacing scale in mm, and its own palette on a
   light paper ground, exactly as the printed document does.

   ONE SOURCE, TWO OUTPUTS. /audit/example/ is also what make-audit-pdf.mjs
   renders to downloads/aivonto-example-audit.pdf, through the @media print
   block at the bottom of this file. Change the document here and the PDF
   follows. Do not reintroduce a second copy of the markup.

   Sheets are 210x297mm and are scaled to the frame by --doc-scale, which
   doc-viewer JS sets from the frame's width. Every sheet stays in the DOM and
   in the layout tree; only the current one is visible. That is deliberate:
   crawlers and AI engines get the whole document, not just page one.
   ========================================================================= */

.doc{
  --ink:#131211;
  --ink-2:#4A423A;
  --ink-3:#7A7167;
  --paper:#F5F3F0;
  --panel:#EAE6DF;
  --rule:#DCD7CF;
  --rule-soft:#E7E3DC;
  --copper:#C77B4A;
  --copper-deep:#A85E2E;
  --copper-light:#E6A878;
  --bar-rest:#6B6159;
  --dark:#131211;
  --dark-ink:#ECE6DD;
  --dark-dim:#B7AFA4;

  /* One spacing scale, in mm, so print rhythm stays consistent. */
  --s1:2mm; --s2:4mm; --s3:7mm; --s4:11mm; --s5:16mm; --s6:24mm;

  /* The grid: a narrow annotation column, then the measure. */
  --col-note:44mm;
  --col-gap:10mm;
  --col-main:116mm;
}
.doc *{ box-sizing:border-box; -webkit-font-smoothing:antialiased; }
.sheet{
  font-family:"Inter",system-ui,sans-serif;
  font-size:9.5pt; line-height:1.65; color:var(--ink);
  font-variant-numeric:tabular-nums lining-nums;
}
.sheet{
  position:relative; width:210mm; height:297mm; overflow:hidden;
  background:var(--paper); color:var(--ink);
  padding:20mm 18mm 16mm 22mm;
  margin:0 auto; display:flex; flex-direction:column;
  page-break-after:always; break-after:page;
}
.sheet:last-child{ page-break-after:auto; break-after:auto; }
/* ---- dark surfaces ---------------------------------------------------- */
.sheet--dark{ background:var(--dark); color:var(--dark-ink); }
.sheet--dark .rule{ background:rgba(236,230,221,.18); }
.doc .grain{
  position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.055; mix-blend-mode:soft-light;
  /* A flat noise tile, not the site's feTurbulence filter: Chrome rasterizes a
     filtered background at full print resolution, which took the PDF from 1 MB
     to over 7 MB. This looks the same at 5% soft-light. */
  background-image:url("data:image/png;base64,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");
  background-size:128px 128px;
}
.doc .glow{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(58% 44% at 12% 6%, rgba(199,123,74,.20) 0%, rgba(199,123,74,0) 62%),
    radial-gradient(70% 52% at 96% 96%, rgba(199,123,74,.11) 0%, rgba(199,123,74,0) 60%),
    radial-gradient(90% 70% at 50% 40%, rgba(40,33,27,.55) 0%, rgba(19,18,17,0) 70%);
}
.sheet--dark > *:not(.grain):not(.glow){ position:relative; z-index:2; }
/* ---- type ------------------------------------------------------------- */
.doc .label{
  font-family:"Jost",system-ui,sans-serif; font-weight:500;
  text-transform:uppercase; letter-spacing:.2em; font-size:6.8pt; line-height:1.4;
  color:var(--copper-deep);
}
.sheet--dark .label{ color:var(--copper); }
.doc .label--mute{ color:var(--ink-3); }
.doc h1, .doc h2, .doc h3, .doc h4{ font-family:"Libre Caslon Display",Georgia,serif; font-weight:400; margin:0; }
.doc h1{ font-size:40pt; line-height:1.04; letter-spacing:-.03em; text-wrap:balance; }
.doc h2{ font-size:21pt; line-height:1.14; letter-spacing:-.028em; text-wrap:balance; }
.doc h3{ font-size:12.5pt; line-height:1.25; letter-spacing:-.018em; }
.doc h4{ font-size:10.5pt; line-height:1.3; letter-spacing:-.01em; }
.doc em{ font-style:italic; }
.doc p{ margin:0 0 var(--s2); }
.doc p:last-child{ margin-bottom:0; }
.doc strong{ font-weight:600; }
.doc .lede{ font-size:11pt; line-height:1.6; color:var(--ink-2); }
.sheet--dark .lede{ color:var(--dark-dim); }
.doc .small{ font-size:7.8pt; line-height:1.55; color:var(--ink-3); }
.doc .num{ font-variant-numeric:tabular-nums; }
.doc .copper{ color:var(--copper-deep); }
.sheet--dark .copper{ color:var(--copper); }
.doc .rule{ height:.35mm; background:var(--rule); border:0; width:100%; }
.doc .rule--copper{ height:.6mm; background:var(--copper); width:14mm; }
/* ---- running head and foot -------------------------------------------- */
.doc .runhead{
  display:flex; justify-content:space-between; align-items:baseline;
  padding-bottom:var(--s1); border-bottom:.35mm solid var(--rule);
  margin-bottom:var(--s4); flex:none;
}
.doc .runfoot{
  margin-top:auto; padding-top:var(--s2); border-top:.35mm solid var(--rule-soft);
  display:flex; justify-content:space-between; align-items:baseline; flex:none;
}
.sheet--dark .runfoot{ border-top-color:rgba(236,230,221,.14); }
.doc .folio{ font-family:"Jost",system-ui,sans-serif; font-size:7pt; letter-spacing:.18em; color:var(--ink-3); }
.sheet--dark .folio{ color:rgba(183,175,164,.72); }
/* ---- the two column grid ---------------------------------------------- */
.doc .grid{ display:grid; grid-template-columns:var(--col-note) var(--col-main); column-gap:var(--col-gap); }
.doc .grid > .full{ grid-column:1 / -1; }
.doc .grid > .main{ grid-column:2; }
.doc .note{
  grid-column:1; font-size:7.6pt; line-height:1.5; color:var(--ink-3);
  border-top:.35mm solid var(--rule); padding-top:var(--s1);
}
.doc .note strong{ color:var(--ink-2); font-weight:600; display:block; }
.sheet--dark .note{ color:var(--dark-dim); border-top-color:rgba(236,230,221,.18); }
/* ---- cover ------------------------------------------------------------- */
.doc .cover{ padding:24mm 22mm 18mm; justify-content:space-between; }
.doc .cover__logo{ height:9mm; width:auto; display:block; }
.doc .cover h1{ max-width:15ch; color:#F6F2EC; }
.doc .cover .lede{ max-width:46ch; margin-top:var(--s3); }
.doc .cover__meta{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3);
  border-top:.35mm solid rgba(236,230,221,.2); padding-top:var(--s3);
}
.doc .cover__meta dt{ font-family:"Jost",system-ui,sans-serif; text-transform:uppercase;
  letter-spacing:.2em; font-size:6.6pt; color:var(--copper); margin-bottom:1.4mm; }
.doc .cover__meta dd{ margin:0; font-size:8.6pt; line-height:1.5; color:var(--dark-ink); }
/* ---- key figures ------------------------------------------------------- */
.doc .figs{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:.35mm solid var(--rule); }
.doc .figs > div{ padding:var(--s3) var(--s2) var(--s3) 0; border-right:.35mm solid var(--rule); }
.doc .figs > div:last-child{ border-right:0; padding-right:0; }
.doc .figs > div + div{ padding-left:var(--s3); }
.doc .fig__n{ font-family:"Libre Caslon Display",Georgia,serif; font-size:27pt; line-height:1;
  letter-spacing:-.03em; color:var(--ink); display:block; }
.doc .fig__n small{ font-size:12pt; letter-spacing:0; }
.doc .fig__k{ display:block; margin-top:var(--s2); font-size:8pt; line-height:1.45; color:var(--ink-2); max-width:24ch; }
.sheet--dark .fig__n{ color:#F6F2EC; }
.sheet--dark .fig__k{ color:var(--dark-dim); }
/* ---- time ledger (the signature) --------------------------------------- */
.doc .ledger{ margin-top:var(--s3); }
.doc .ledger__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--s2);
  border-bottom:.35mm solid var(--ink); padding-bottom:var(--s1); margin-bottom:var(--s2);
}
.doc .ledger__head h3{ margin:0; }
.doc .ledger__tot{ font-family:"Jost",system-ui,sans-serif; font-size:7.4pt; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-2); white-space:nowrap; }
.doc .step{ display:grid; grid-template-columns:52mm 1fr 15mm; align-items:center;
  column-gap:var(--s2); padding:1.5mm 0; border-bottom:.35mm solid var(--rule-soft); }
.doc .step:last-child{ border-bottom:0; }
.doc .step__name{ font-size:8.4pt; line-height:1.35; color:var(--ink); }
.doc .step__who{ display:block; font-size:7pt; color:var(--ink-3); letter-spacing:.02em; }
.doc .step__track{ position:relative; height:4.6mm; }
.doc .step__bar{ position:absolute; inset:0 auto 0 0; display:flex; gap:.6mm; height:100%; }
.doc .seg{ height:100%; }
.doc .seg--auto{ background:var(--copper); }
.doc .seg--rest{ background:var(--bar-rest); }
.doc .step__h{ font-size:8.2pt; text-align:right; color:var(--ink-2); font-variant-numeric:tabular-nums; }
.doc .legend{ display:flex; gap:var(--s3); align-items:center; margin-top:var(--s2); }
.doc .legend span{ display:flex; align-items:center; gap:1.8mm; font-size:7.6pt; color:var(--ink-2); }
.doc .swatch{ width:4mm; height:2.6mm; display:inline-block; }
.doc .swatch--auto{ background:var(--copper); }
.doc .swatch--rest{ background:var(--bar-rest); }
/* ---- panels ------------------------------------------------------------ */
.doc .panel{ background:var(--panel); padding:var(--s3); }
.doc .panel--line{ background:transparent; border:.35mm solid var(--rule); }
.sheet--dark .panel{ background:rgba(236,230,221,.055); border:.35mm solid rgba(236,230,221,.12); }
/* ---- opportunity cards -------------------------------------------------- */
.doc .opp{ border-top:.6mm solid var(--ink); padding-top:var(--s2); margin-top:var(--s3); }
.doc .opp:first-of-type{ margin-top:0; }
.doc .opp__top{ display:flex; align-items:baseline; gap:var(--s2); margin-bottom:1.5mm; }
.doc .opp__rank{ font-family:"Libre Caslon Display",Georgia,serif; font-size:15pt; line-height:1;
  color:var(--copper-deep); letter-spacing:-.02em; }
.doc .opp__verdict{ margin-left:auto; font-family:"Jost",system-ui,sans-serif; font-size:6.8pt;
  letter-spacing:.18em; text-transform:uppercase; padding:1mm 2.4mm; white-space:nowrap; }
.doc .v--build{ background:var(--copper); color:#1B1410; }
.doc .v--next{ border:.35mm solid var(--copper-deep); color:var(--copper-deep); }
.doc .v--hold{ border:.35mm solid var(--rule); color:var(--ink-3); }
.doc .meters{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s2); margin-top:var(--s2); }
.doc .meter__k{ font-family:"Jost",system-ui,sans-serif; font-size:6.4pt; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:1.2mm; }
.doc .meter__v{ font-size:8pt; color:var(--ink); margin-bottom:1.2mm; }
.doc .pips{ display:flex; gap:.7mm; }
.doc .pip{ width:5mm; height:1.4mm; background:var(--rule); }
.doc .pip.on{ background:var(--copper-deep); }
.doc .pip.on--mute{ background:var(--bar-rest); }
/* ---- tables ------------------------------------------------------------- */
.doc table{ width:100%; border-collapse:collapse; font-size:8.3pt; }
.doc th{ font-family:"Jost",system-ui,sans-serif; font-size:6.6pt; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-3); text-align:left; font-weight:500;
  padding:0 var(--s2) 1.6mm 0; border-bottom:.35mm solid var(--ink); }
.doc td{ padding:2mm var(--s2) 2mm 0; border-bottom:.35mm solid var(--rule-soft);
  vertical-align:top; line-height:1.45; }
.doc th.r, .doc td.r{ text-align:right; padding-right:0; }
.doc .table--tight td{ padding-top:1.5mm; padding-bottom:1.5mm; }
.doc tr:last-child td{ border-bottom:0; }
/* ---- lists -------------------------------------------------------------- */
.doc ul.ticks{ list-style:none; margin:0; padding:0; }
.doc ul.ticks li{ position:relative; padding-left:6mm; margin-bottom:var(--s1); line-height:1.55; }
.doc ul.ticks li::before{ content:""; position:absolute; left:0; top:1.9mm; width:3mm; height:.5mm; background:var(--copper); }
.doc ul.ticks.ticks--mute li::before{ background:var(--ink-3); }
.doc ol.steps{ list-style:none; counter-reset:s; margin:0; padding:0; }
.doc ol.steps li{ counter-increment:s; position:relative; padding-left:9mm; margin-bottom:var(--s2); }
.doc ol.steps li::before{ content:counter(s,decimal-leading-zero); position:absolute; left:0; top:.2mm;
  font-family:"Jost",system-ui,sans-serif; font-size:7pt; letter-spacing:.1em; color:var(--copper-deep); }
/* ---- contents ----------------------------------------------------------- */
.doc .toc{ list-style:none; margin:0; padding:0; }
.doc .toc li{ display:flex; align-items:baseline; gap:var(--s2); padding:var(--s2) 0;
  border-bottom:.35mm solid var(--rule); }
.doc .toc__n{ font-family:"Jost",system-ui,sans-serif; font-size:7pt; letter-spacing:.16em; color:var(--copper-deep); width:10mm; flex:none; }
.doc .toc__t{ font-family:"Libre Caslon Display",Georgia,serif; font-size:11.5pt; letter-spacing:-.02em; }
.doc .toc__d{ margin-left:auto; font-size:7.8pt; color:var(--ink-3); text-align:right; max-width:58mm; line-height:1.4; }
/* ---- section opener ----------------------------------------------------- */
.doc .opener{ display:flex; align-items:baseline; gap:var(--s3); margin-bottom:var(--s3); }
.doc .opener__n{ font-family:"Libre Caslon Display",Georgia,serif; font-size:13pt; color:var(--copper-deep);
  letter-spacing:.02em; flex:none; width:12mm; }
.doc .opener h2{ max-width:24ch; }
.doc .sig{ display:flex; align-items:center; gap:var(--s2); margin-top:var(--s3); }
.doc .sig__mark{ width:9mm; height:9mm; flex:none; }

/* ---------------------------------------------------------------------------
   THE VIEWER: a mat, a frame, and the sheet inside it.
   ------------------------------------------------------------------------ */
.doc{ --doc-scale:1; --doc-h:auto; }

/* A mount, not a panel. It has to read as a frame even when the sheet behind
   it is the dark cover, so the mat is lighter than the page and the border
   sits above it rather than dissolving into it. */
.doc-frame{
  position:relative; margin-inline:auto; max-width:calc(210mm + 3.2rem);
  padding:clamp(.7rem,1.6vw,1.5rem);
  border:1px solid rgba(236,230,221,.26); border-radius:14px;
  background:
    radial-gradient(130% 150% at 12% 0%, rgba(199,123,74,.11) 0%, rgba(199,123,74,0) 55%),
    linear-gradient(180deg, rgba(236,230,221,.085), rgba(236,230,221,.03));
  box-shadow:inset 0 1px 0 rgba(236,230,221,.10), 0 60px 110px -70px rgba(0,0,0,.95);
}

.doc-stage{
  position:relative; overflow:hidden; border-radius:3px;
  background:var(--paper);
  height:var(--doc-h);
  /* A light hairline, so the sheet's own edge stays visible on the dark pages. */
  box-shadow:0 0 0 1px rgba(236,230,221,.22), 0 26px 50px -34px rgba(0,0,0,.95);
}
.doc-stage:focus-visible{ outline:2px solid #C77B4A; outline-offset:4px; }

.sheet{
  position:absolute; top:0; left:0;
  transform:scale(var(--doc-scale)); transform-origin:top left;
  visibility:hidden; opacity:0;
}
.sheet[data-current]{ visibility:visible; opacity:1; }
@media (prefers-reduced-motion:no-preference){
  .sheet{ transition:opacity .18s ease; }
}

/* ---- page controls ------------------------------------------------------ */
.doc-nav{
  display:flex; align-items:center; justify-content:center; gap:clamp(1rem,3vw,2rem);
  margin-top:1.6rem;
}
.doc-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:3rem; height:3rem; flex:none; padding:0; cursor:pointer;
  border:1px solid rgba(236,230,221,.2); border-radius:999px;
  background:rgba(236,230,221,.04); color:#ECE6DD;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), background-color .3s ease,
             border-color .3s ease, color .3s ease;
}
.doc-btn svg{ width:1.15rem; height:1.15rem; }
.doc-btn:hover:not(:disabled){ background:rgba(199,123,74,.16); border-color:rgba(199,123,74,.6);
  color:#E6A878; transform:translateY(-2px); }
.doc-btn:active:not(:disabled){ transform:translateY(0); }
.doc-btn:focus-visible{ outline:2px solid #C77B4A; outline-offset:3px; }
.doc-btn:disabled{ opacity:.3; cursor:default; }

.doc-count{
  font-family:"Jost",system-ui,sans-serif; text-transform:uppercase;
  letter-spacing:.22em; font-size:.76rem; color:#B7AFA4;
  min-width:7.5rem; text-align:center; margin:0; font-variant-numeric:tabular-nums;
}
.doc-count b{ color:#ECE6DD; font-weight:500; }

.doc-hint{ margin:.9rem 0 0; text-align:center; font-size:.78rem; color:#7A7167; }

/* ---------------------------------------------------------------------------
   NARROW SCREENS. An A4 sheet scaled to a 390px phone puts body text at about
   4.5pt, which is not readable, so below this breakpoint the sheet keeps the
   paper, the border, the running head, the folio and the page-by-page
   flipping, but sets itself for a narrower page and lets the content reflow.
   The JS measures the active sheet and sizes the stage to it.
   ------------------------------------------------------------------------ */
@media screen and (max-width:820px){
  .doc-frame{ padding:.5rem; border-radius:12px; }
  .sheet{
    position:absolute; width:100%; height:auto; min-height:0;
    transform:none; padding:1.6rem 1.25rem 1.9rem;
    font-size:14px; line-height:1.62;
  }
  .doc .cover{ padding:2rem 1.25rem 1.6rem; }

  /* the annotation column folds above the measure it annotates */
  .doc .grid{ grid-template-columns:1fr; row-gap:1rem; }
  .doc .grid > .note,
  .doc .grid > .main,
  .doc .grid > .full{ grid-column:1; }

  .doc .figs{ grid-template-columns:1fr; }
  .doc .figs > div{ border-right:0; border-bottom:.35mm solid var(--rule);
    padding:1rem 0; }
  .doc .figs > div + div{ padding-left:0; }
  .doc .figs > div:last-child{ border-bottom:0; }

  .doc .step{ grid-template-columns:1fr auto; column-gap:.9rem; row-gap:.4rem; }
  .doc .step__track{ grid-column:1 / -1; grid-row:2; height:.7rem; }
  .doc .step__h{ grid-row:1; grid-column:2; }

  .doc .meters{ grid-template-columns:1fr; gap:.8rem; }
  .doc .cover__meta{ grid-template-columns:1fr; gap:1rem; }
  .doc .opener{ gap:.9rem; }
  .doc .opener__n{ width:auto; }
  .doc .toc__d{ display:none; }
  .doc .legend{ flex-wrap:wrap; gap:.9rem; }

  /* type set for the narrower measure */
  .doc h1{ font-size:30px; }
  .doc h2{ font-size:22px; }
  .doc h3{ font-size:16px; }
  .doc h4{ font-size:15px; }
  .doc .lede{ font-size:15px; }
  .doc .small,
  .doc .note{ font-size:12.5px; }
  .doc .fig__n{ font-size:30px; }
  .doc .label{ font-size:10px; }
  .doc .step__name{ font-size:13px; }
  .doc .step__who{ font-size:11px; }
  .doc .step__h{ font-size:13px; }
  .doc table{ font-size:12.5px; }
  .doc th{ font-size:10px; }
  .doc .folio{ font-size:10px; }
  .doc .opp__rank{ font-size:20px; }
  .doc .toc__t{ font-size:15px; }

  /* Two-up and three-up blocks inside the sheets set their columns inline, so
     the narrow-screen override has to carry !important to outrank them. */
  .doc .sheet-cols{ grid-template-columns:1fr !important; gap:1.4rem !important; }
  .doc .step--wide{ grid-template-columns:1fr auto !important; }
}

/* ---------------------------------------------------------------------------
   PRINT. This is how downloads/aivonto-example-audit.pdf is made: every sheet
   back in flow at full A4, and the website around it gone.
   ------------------------------------------------------------------------ */
@media print{
  @page{ size:A4; margin:0; }
  html, body{ background:#fff !important; }
  .nav, .mobile-menu, .footer, .page-fade,
  .doc-nav, .doc-hint, .doc-intro, .doc-cta{ display:none !important; }

  /* Everything that positions the document on the website has to go, or the
     sheets are inset by the site gutter and clipped at 210mm, and the leftover
     padding spills onto a thirteenth page. */
  .doc-wrap{ padding:0 !important; }
  .doc-wrap .shell{ max-width:none !important; padding:0 !important; margin:0 !important; }
  .doc{ margin:0 !important; }
  .doc-frame{ max-width:none; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
  .doc-stage{ height:auto !important; overflow:visible; border-radius:0;
    box-shadow:none; background:none; }

  /* relative, NOT static: .grain and .glow are position:absolute inset:0. With a
     static sheet they resolve against .doc-stage instead and stretch over all
     twelve pages at once, which Chrome then rasterizes into ~200 image tiles
     and 3.3MB of PDF. */
  .sheet{
    position:relative !important; visibility:visible !important; opacity:1 !important;
    transform:none !important; width:210mm !important; height:297mm !important;
    font-size:9.5pt !important; line-height:1.65 !important;
    page-break-after:always; break-after:page;
  }
  .sheet:last-child{ page-break-after:auto; break-after:auto; }
}

/* ---------------------------------------------------------------------------
   The little bit of website around the document. Kept deliberately thin: the
   sheet is the thing on this page, not another set of site sections.
   ------------------------------------------------------------------------ */
.doc-intro{ padding:9rem 0 2.6rem; }
.doc-intro h1{
  font-family:"Libre Caslon Display",Georgia,serif; font-weight:400;
  letter-spacing:-.03em; line-height:1.08; color:#F3EEE7;
  font-size:clamp(2.1rem,4.6vw,3.2rem); margin:.9rem 0 0; max-width:18ch;
}
.doc-intro h1 em{ font-style:italic; color:#C77B4A; }
.doc-intro p{ color:#B7AFA4; margin:1.1rem 0 0; max-width:62ch; line-height:1.7; }
.doc-intro .doc-specimen{
  margin-top:1.6rem; padding-left:1.1rem; border-left:2px solid rgba(199,123,74,.55);
  font-size:.88rem; color:#948C81; max-width:64ch;
}
.doc-intro .doc-specimen strong{ color:#B7AFA4; font-weight:600; }
.doc-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem; margin-top:1.8rem; }

.doc-wrap{ padding-bottom:clamp(4rem,8vw,7rem); }

.doc-cta{ padding:0 0 clamp(4rem,9vw,8rem); }
@media screen and (max-width:820px){ .doc-intro{ padding-top:7.5rem; } }
