/* ============================================================
   UNO Group LLC, DBA UNO: unogrp.com
   Production stylesheet. Design tokens and layout carried over
   from the owner approved demo, unchanged.
   ============================================================ */
:root{
  --navy-950:#050f22;
  --navy-900:#0a1a36;
  --navy-850:#0d2145;
  --navy-800:#0f2a5c;
  --blue:#1755a8;
  --blue-bright:#4d94e8;
  --sky:#9cc3f5;
  --yellow:#ffc61a;
  --yellow-ink:#0a1a36;
  --paper:#f6f7f9;
  --tint:#eef3fb;
  --line:#dde3ea;
  --ink:#0a1a36;
  --ink-soft:#45566e;
  --muted:#8494ab;
  --card:#ffffff;
  --green:#177245;
  --amber:#a97b00;
  --red:#c0452f;
  --shadow:0 10px 30px rgba(10,26,54,.08);
  --shadow-lg:0 24px 50px rgba(10,26,54,.12);
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
::selection{background:rgba(255,198,26,.55);color:var(--navy-950)}
body{
  margin:0;
  font-family:"Libre Franklin",system-ui,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%}
a{color:var(--blue)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;border-radius:4px}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
h1,h2,h3{line-height:1.12;margin:0;font-weight:800;letter-spacing:-.01em}
p{margin:0}

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:100%;z-index:120;
  background:transparent;pointer-events:none;
}
.scroll-progress i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--blue) 0%,var(--blue-bright) 55%,var(--yellow) 100%);
}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease,background .3s ease,backdrop-filter .3s ease;
}
.nav.scrolled{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(16px) saturate(1.5);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);
  box-shadow:0 10px 34px rgba(10,26,54,.12);
}
.nav-in{display:flex;align-items:center;gap:18px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none}
.uno-logo{display:block;width:auto;flex:none}
.brand .uno-logo{height:38px}
@media (max-width:720px){.brand .uno-logo{height:30px}}
.nav-links{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav-links a{
  color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600;
  padding:8px 12px;border-radius:8px;white-space:nowrap;
}
.nav-links a:hover{background:var(--tint);color:var(--blue)}
.nav-cta{
  background:var(--yellow);color:var(--yellow-ink) !important;font-weight:800 !important;
  padding:9px 16px !important;margin-left:8px;
}
.nav-cta:hover{background:#ffd34d !important}
.burger{
  display:none;margin-left:auto;background:#fff;border:1px solid var(--line);
  border-radius:9px;width:44px;height:44px;cursor:pointer;padding:10px;
}
.burger span{display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:10px 0 16px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;color:var(--ink);text-decoration:none;font-weight:600;padding:10px 4px;font-size:16px}
.mobile-menu a.mm-cta{color:var(--blue);font-weight:800}

/* ---------- The Flow route (hero + acts) ----------
   ONE finished ink artwork runs as a single tall column through
   the acts. Nothing in the flow is drawn by code. The artwork is
   blended multiply so its cream ground disappears into the page,
   and a scroll driven mask reveals it from its top to its bottom
   as you travel, so the drawing appears to happen as you scroll. */
.route{position:relative;background:#faf8f2}
.hero{
  position:relative;z-index:3;overflow:visible;isolation:isolate;
  background:transparent;color:#111418;
  min-height:calc(100svh - 63px);display:flex;flex-direction:column;
}
.hero-in{
  position:relative;z-index:1;flex:1;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;
  width:min(1180px,100% - 40px);margin-inline:auto;
  padding:48px 0 36px;
}
.hero-label{
  display:flex;align-items:center;gap:16px;
  font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;color:#6f7278;
}
.hero-label::after{content:"";height:1px;width:72px;background:#cfc9ba;flex:none}
.hero-logo-h1{margin:22px 0 0;line-height:0;display:flex;justify-content:center;width:100%}
.hero-logo-img{
  display:block;width:min(620px,86vw);height:auto;
  aspect-ratio:1600 / 623;
}
.hero-line{
  margin-top:30px;max-width:34em;margin-inline:auto;
  font-size:clamp(17px,2vw,20px);font-weight:500;color:#3c4046;letter-spacing:-.01em;
}
.hero-actions{display:flex;gap:36px;flex-wrap:wrap;margin-top:24px;justify-content:center}
.hero-link{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--blue);text-decoration:none;font-size:16.5px;font-weight:600;
  padding-bottom:3px;
}
.hero-link .arr{transition:transform .2s ease}
.hero-link:hover{color:#0e3d75}
.hero-link:hover .arr{transform:translateX(3px)}
.hero-link-primary{border-bottom:1px solid rgba(23,85,168,.45)}
.hero-index{
  position:relative;z-index:1;
  width:min(1180px,100% - 40px);margin-inline:auto;
  border-top:1px solid #ded8cb;
  padding:17px 0 21px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.22em;
}
.hero-index a{color:#54585e;text-decoration:none;font-weight:500}
.hero-index a:hover{color:#111418;text-decoration:underline;text-underline-offset:4px}
.hero-index .sep{color:#bdb5a1}
.hero-index .idx-note{margin-left:auto;color:#9d978a}
@media (max-width:720px){
  .hero{min-height:calc(100svh - 55px)}
  .hero-logo-img{width:min(480px,88vw)}
  .hero-line{max-width:min(34em,calc(100% - 36px))}
  .hero-in{padding:32px 0 24px}
  .hero-actions{gap:24px}
  .hero-index .idx-note{display:none}
}
@media (prefers-reduced-motion:reduce){
  .hero-link .arr{transition:none}
}

/* Shared buttons */
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;cursor:pointer;
  font-weight:800;font-size:15.5px;padding:14px 24px;border-radius:10px;border:1px solid transparent;
  font-family:inherit;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-yellow{background:var(--yellow);color:var(--yellow-ink)}
.btn-yellow:hover{background:#ffd34d}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:#1d63c2}
.btn-outline{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue)}
.btn[disabled]{opacity:.65;cursor:wait;transform:none}

/* Ticker */
.ticker{background:#fff;border-block:1px solid var(--line);overflow:hidden;padding:12px 0}
.ticker-track{display:flex;gap:0;width:max-content;animation:tick 36s linear infinite}
.ticker span{
  font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.14em;color:#5b718f;
  padding:0 22px;white-space:nowrap;
}
.ticker span b{color:var(--blue);font-weight:600}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Sections ---------- */
section{padding:84px 0}
.sec-head{max-width:46em;margin-bottom:42px}
.sec-head.center{margin-inline:auto;text-align:center}
.kicker{
  font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:flex;align-items:center;gap:12px;
}
.kicker::after{
  content:"";height:2px;width:44px;border-radius:99px;flex:none;
  background:linear-gradient(90deg,var(--yellow),rgba(255,198,26,0));
  transform-origin:left;transition:transform .8s cubic-bezier(.2,.7,.2,1) .15s;
}
.sec-head.center .kicker{justify-content:center}
.sec-head.center .kicker::before{
  content:"";height:2px;width:44px;border-radius:99px;flex:none;
  background:linear-gradient(270deg,var(--yellow),rgba(255,198,26,0));
}
.kicker .k-num{
  color:#fff;background:var(--blue);border-radius:6px;padding:2px 8px;
  font-size:11px;letter-spacing:.1em;flex:none;
}
.sec-head h2{font-size:clamp(29px,3.6vw,42px);font-weight:900}
.sec-head p{margin-top:14px;font-size:17px;color:var(--ink-soft)}
.band-white{background:#fff}
.band-tint{background:var(--tint)}
/* Our Businesses keeps its natural place in the page: the
   section's own top padding carries a few pixels of slack
   (--biz-nudge, set at runtime, a fine tune of at most
   +/-36px on desktop, +/-60px on stacked layouts) so the
   extended ribbon tail can settle close under the headline
   without the headline ever leaving its section. */
section#businesses{padding-top:calc(84px + var(--biz-nudge,0px))}
/* The extended tail's loop hangs at the top of this section,
   beside the headline's right end, in the room the section's
   top padding gives it above the headline block: it needs no
   room below the headline. The headline block therefore sits
   at the same tight rhythm as every other section head: the
   cards follow the Tap line at the shared 42px gap. */
section#businesses .sec-head{margin-bottom:42px}
/* Desktop only: the headline block sits at the content's
   left edge (no indent) and lower in its white section:
   the section's top padding grows by 84px at desktop
   widths, so the block drops by about that much inside
   its own section, with the loop's room kept in that top
   padding above it and the cards at the normal gap below. */
@media (min-width:901px){section#businesses{padding-top:calc(168px + var(--biz-nudge,0px))}}

/* ---------- Businesses ---------- */
.biz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.biz-card{
  position:relative;cursor:pointer;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 24px;display:flex;flex-direction:column;gap:0;
  box-shadow:var(--shadow);
  transition:transform .25s ease,border-color .25s ease,box-shadow .3s ease;
  transform-style:preserve-3d;will-change:transform;
}
.biz-card:hover{border-color:rgba(77,148,232,.6);box-shadow:0 26px 48px rgba(23,85,168,.20)}
.biz-card .biz-more{
  margin-top:16px;font-size:13.5px;font-weight:800;color:var(--blue);
  display:inline-flex;align-items:center;gap:7px;
}
.biz-card .biz-more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.biz-card:hover .biz-more svg{transform:translateX(3px)}
.biz-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.biz-ico{width:46px;height:46px;border-radius:11px;background:rgba(23,85,168,.08);border:1px solid rgba(23,85,168,.25);display:grid;place-items:center;flex:none}
.biz-ico svg{width:23px;height:23px;stroke:var(--blue);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.status{
  margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.1em;
  padding:4px 10px;border-radius:999px;flex:none;
}
.status.live{color:var(--green);border:1px solid rgba(23,114,69,.4);background:rgba(23,114,69,.06)}
.status.line{color:var(--blue);border:1px solid rgba(23,85,168,.35);background:rgba(23,85,168,.06)}
.status.dev{color:var(--amber);border:1px solid rgba(255,198,26,.75);background:rgba(255,198,26,.14)}
.biz-card h3{font-size:19.5px;color:var(--ink)}
.biz-card .biz-sub{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--blue);margin-top:3px}
.biz-card p{font-size:14.5px;color:var(--ink-soft);margin-top:10px;flex:1}
.biz-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.biz-tags span{font-size:12px;font-weight:600;color:var(--ink);background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.biz-note{margin-top:16px;font-size:14px;color:var(--ink-soft)}

/* ---------- Journal ---------- */
/* Journal opening statement: plain statement type in the
   section's own language, no card, no separate section. */
.journal-statement{max-width:46em;margin-bottom:38px}
.journal-statement .js-line{
  font-size:clamp(24px,3vw,33px);font-weight:900;line-height:1.2;letter-spacing:-.01em;color:var(--ink);
}
.journal-statement .js-text{margin-top:12px;font-size:17px;color:var(--ink-soft);max-width:38em}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post{
  position:relative;overflow:hidden;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .3s ease,border-color .25s ease;
  transform-style:preserve-3d;will-change:transform;
}
.post::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--blue),var(--blue-bright),var(--yellow));
  opacity:0;transition:opacity .25s ease;
}
.post:hover{box-shadow:0 24px 44px rgba(23,85,168,.18);border-color:rgba(77,148,232,.55)}
.post:hover::before{opacity:1}
.post-top{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.post-cat{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:600;letter-spacing:.1em;
  color:var(--blue);background:rgba(23,85,168,.09);border-radius:6px;padding:4px 9px;text-transform:uppercase;
}
.post h3{font-size:18.5px;font-weight:800}
.post p{font-size:14.5px;color:var(--ink-soft);margin-top:9px;flex:1}
.post .post-kind{margin-top:16px;font-size:13px;font-weight:700;color:var(--navy-800)}
.post .post-kind span{color:var(--muted);font-weight:600}

/* ---------- Recommendations ---------- */
.rec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.rec-card{
  background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:transform .18s ease,border-color .18s ease;
}
.rec-card:hover{transform:translateY(-4px);border-color:rgba(255,198,26,.8);box-shadow:0 24px 46px rgba(169,123,0,.15)}
.rec-card .rec-kicker{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:var(--blue);text-transform:uppercase}
.rec-card h3{font-size:21px;color:var(--ink);margin-top:8px}
.rec-card p{font-size:15px;color:var(--ink-soft);margin-top:10px;flex:1}
.rec-note{
  margin-top:22px;font-size:14px;color:var(--ink-soft);text-align:center;
}
.rec-note button{background:none;border:none;font:inherit;color:var(--blue);cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:0}

/* ---------- Contact page ---------- */
.contact-main{min-height:62vh}
.contact-main section{padding:84px 0}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.contact-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;
  box-shadow:var(--shadow);
}
.contact-card h3{color:var(--ink);font-size:19px;margin-bottom:6px}
.contact-card p{color:var(--ink-soft);font-size:14.5px}
.contact-rows{margin-top:18px;display:grid;gap:12px}
.contact-row{
  display:flex;gap:13px;align-items:center;background:#f7fafd;border:1px solid var(--line);
  border-radius:11px;padding:13px 15px;text-decoration:none;color:var(--ink);
}
.contact-row:hover{border-color:rgba(255,198,26,.8)}
.contact-row svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.contact-row .cr-label{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;color:var(--blue);display:block}
.contact-row .cr-val{font-weight:700;font-size:15.5px}
.contact-form{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;
  box-shadow:var(--shadow);
}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-field{margin-bottom:16px}
.cf-field label{
  display:block;font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:600;
  letter-spacing:.12em;color:var(--blue);margin-bottom:7px;text-transform:uppercase;
}
.cf-field label .opt{color:var(--muted);letter-spacing:.05em}
.cf-input{
  width:100%;font:inherit;font-size:15.5px;color:var(--ink);
  background:#f7fafd;border:1px solid var(--line);border-radius:11px;padding:12px 14px;
}
.cf-input:focus{border-color:var(--blue);background:#fff}
textarea.cf-input{min-height:132px;resize:vertical}
.cf-error{
  margin:0 0 16px;font-size:14.5px;color:var(--red);
  background:rgba(192,69,47,.07);border:1px solid rgba(192,69,47,.35);
  border-radius:11px;padding:12px 15px;
}
.cf-error a{color:var(--red);font-weight:700}
.contact-done{
  background:#fff;border:1px solid rgba(255,198,26,.75);border-radius:16px;padding:28px;
  box-shadow:var(--shadow);
}
.contact-done h3{font-size:21px;color:var(--ink)}
.contact-done p{margin-top:10px;font-size:15.5px;color:var(--ink-soft)}
.contact-done .btn{margin-top:18px;padding:11px 18px;font-size:14.5px}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .cf-row{grid-template-columns:1fr}
}

/* ---------- Footer ---------- */
footer{position:relative;overflow:hidden;background:#fff;color:var(--ink-soft);border-top:1px solid var(--line);padding:56px 0 34px}
footer .wrap{position:relative;z-index:1}
.foot-watermark{
  position:absolute;right:-10px;bottom:-58px;z-index:0;pointer-events:none;user-select:none;
  font-size:clamp(150px,24vw,300px);font-weight:900;letter-spacing:-.03em;line-height:.8;
  color:rgba(23,85,168,.055);
}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
.foot-brand .uno-logo{height:46px}
.foot-brand p{font-size:14px;margin-top:8px;max-width:26em}
footer h4{color:var(--ink);font-size:14px;letter-spacing:.06em;margin:0 0 14px;font-weight:800}
.foot-links{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14.5px}
.foot-links a{color:var(--ink-soft);text-decoration:none}
.foot-links a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.foot-partner-line{font-size:14.5px;margin-bottom:14px;max-width:24em}
.foot-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:grid;gap:8px;font-size:13px;color:var(--muted)}
.foot-bottom button{
  background:none;border:none;padding:0;font:inherit;color:var(--muted);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;
}
.foot-bottom button:hover{color:var(--blue)}

/* ---------- Disclosure dialog ---------- */
dialog{
  border:none;border-radius:16px;padding:0;max-width:min(560px,calc(100vw - 32px));
  background:#fff;color:var(--ink);box-shadow:0 40px 90px rgba(0,0,0,.4);
}
dialog::backdrop{background:rgba(10,26,54,.55);backdrop-filter:blur(3px)}
.dlg-in{padding:30px 30px 26px}
.dlg-in h3{font-size:22px;font-weight:900}
.dlg-in p{margin-top:12px;font-size:15px;color:var(--ink-soft)}
.dlg-in .btn{margin-top:20px}

/* ---------- Business detail pop up ---------- */
.biz-modal{
  position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
}
.biz-modal.open{opacity:1;visibility:visible}
.biz-backdrop{position:absolute;inset:0;background:rgba(10,26,54,.52);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.biz-panel{
  position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;
  background:#fff;border-radius:20px;box-shadow:0 44px 100px rgba(5,15,34,.4);
  transform:translateY(26px) scale(.97);transition:transform .38s cubic-bezier(.2,.8,.25,1);
}
.biz-modal.open .biz-panel{transform:none}
.biz-panel-hero{
  position:relative;padding:30px 30px 24px;overflow:hidden;
  background:
    radial-gradient(420px 220px at 90% -30%,rgba(255,198,26,.35),transparent 65%),
    linear-gradient(135deg,#e8f0fb,#f4f8fd);
  border-bottom:1px solid var(--line);
}
.biz-panel-hero .bp-ico{
  width:60px;height:60px;border-radius:15px;display:grid;place-items:center;
  background:#fff;border:1px solid rgba(23,85,168,.22);box-shadow:var(--shadow);
}
.biz-panel-hero .bp-ico svg{width:30px;height:30px;stroke:var(--blue);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.biz-panel-hero h3{font-size:25px;margin-top:16px}
.biz-panel-hero .bp-sub{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;color:var(--blue);margin-top:5px}
.biz-panel-hero .status{position:absolute;top:26px;right:64px}
.biz-close{
  position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;
  background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer;
  display:grid;place-items:center;box-shadow:var(--shadow);z-index:2;
}
.biz-close:hover{border-color:var(--blue);color:var(--blue)}
.biz-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.biz-panel-body{padding:24px 30px 30px}
.biz-panel-body h4{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:var(--blue);
  margin:20px 0 7px;text-transform:uppercase;font-weight:600;
}
.biz-panel-body h4:first-child{margin-top:0}
.biz-panel-body p{font-size:15.5px;color:var(--ink-soft)}
.biz-panel-body .bp-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}
.biz-panel-body .bp-tags span{font-size:12.5px;font-weight:600;color:var(--ink);background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:5px 11px}
.biz-panel-body .bp-note{
  margin-top:20px;background:rgba(255,198,26,.13);border:1px solid rgba(255,198,26,.7);
  border-radius:12px;padding:13px 16px;font-size:14px;color:var(--ink-soft);
}

/* ---------- Slide in standing tip ---------- */
.tip-toast{
  position:fixed;right:20px;bottom:20px;z-index:140;width:min(360px,calc(100vw - 32px));
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);
  border:1px solid rgba(255,255,255,.9);border-radius:16px;
  box-shadow:0 26px 56px rgba(10,26,54,.22);padding:20px 44px 20px 20px;
  transform:translateX(calc(100% + 32px));opacity:0;visibility:hidden;
  transition:transform .55s cubic-bezier(.2,.8,.25,1),opacity .4s ease,visibility .55s;
}
.tip-toast.show{transform:none;opacity:1;visibility:visible}
.tip-toast .tt-label{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:600;letter-spacing:.16em;
  color:var(--amber);display:flex;align-items:center;gap:8px;
}
.tip-toast .tt-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--yellow);flex:none}
.tip-toast h4{font-size:16.5px;margin:8px 0 6px;color:var(--ink)}
.tip-toast p{font-size:14px;color:var(--ink-soft)}
.tip-toast .tt-btn{margin-top:13px;padding:10px 16px;font-size:13.5px}
.tip-close{
  position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;
  background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;
  display:grid;place-items:center;
}
.tip-close:hover{border-color:var(--line);color:var(--ink)}
.tip-close svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
@media (max-width:480px){.tip-toast{right:16px;bottom:16px}}

/* ---------- Welcome intro overlay ---------- */
.intro-overlay{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  background:linear-gradient(180deg,#ffffff 0%,var(--tint) 100%);
  overflow:hidden;cursor:pointer;
  opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease;
  animation:introFailsafe .6s ease 4.4s forwards;
}
.intro-overlay.intro-done{opacity:0;visibility:hidden;pointer-events:none}
@keyframes introFailsafe{to{opacity:0;visibility:hidden}}
.intro-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(23,85,168,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(23,85,168,.07) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 25%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 25%,transparent 78%);
}
.intro-glow{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.intro-glow.g1{width:420px;height:420px;left:-90px;top:-110px;background:rgba(77,148,232,.30);animation:introDrift 7s ease-in-out infinite alternate}
.intro-glow.g2{width:360px;height:360px;right:-80px;bottom:-100px;background:rgba(255,198,26,.35);animation:introDrift 8s ease-in-out infinite alternate-reverse}
@keyframes introDrift{from{transform:translate(0,0) scale(1)}to{transform:translate(46px,30px) scale(1.12)}}
.intro-streak{
  position:absolute;left:-25%;top:34%;width:150%;height:130px;pointer-events:none;
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);
  transform:rotate(-7deg);animation:introStreak 3s ease-in-out infinite;
}
@keyframes introStreak{0%{transform:translateX(-38%) rotate(-7deg);opacity:0}30%{opacity:.9}70%{opacity:.9}100%{transform:translateX(38%) rotate(-7deg);opacity:0}}
.intro-core{position:relative;text-align:center;padding:24px;animation:introRise .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes introRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.intro-logo-wrap{position:relative;width:min(372px,88vw);margin:0 auto 26px;padding:20px 22px}
.intro-logo-wrap::before{
  content:"";position:absolute;inset:0;border-radius:26px;
  border:2px solid rgba(255,198,26,.65);animation:introRing 2.2s ease-out infinite;
}
@keyframes introRing{0%{transform:scale(.94);opacity:.9}70%{transform:scale(1.05);opacity:0}100%{transform:scale(1.05);opacity:0}}
.intro-logo-mark{width:100%;margin:0 auto;animation:introLogo .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes introLogo{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.intro-logo-svg{display:block;width:100%;height:auto}
.wm-stroke{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100}
.wm-u{stroke-width:212;animation:wmDraw .8s cubic-bezier(.45,0,.25,1) .15s forwards}
.wm-n{stroke-width:212;animation:wmDraw .75s cubic-bezier(.45,0,.25,1) .9s forwards}
.wm-o{stroke-width:222;animation:wmDraw .85s cubic-bezier(.45,0,.25,1) 1.6s forwards}
.wm-full{opacity:0;animation:wmFull .35s ease 2.42s forwards}
@keyframes wmDraw{to{stroke-dashoffset:0}}
@keyframes wmFull{to{opacity:1}}
.intro-core h2{font-size:clamp(30px,6vw,44px);font-weight:900;color:var(--ink)}
.intro-core h2 .hl{background:linear-gradient(transparent 64%,rgba(255,198,26,.65) 64%);padding:0 .05em}
.intro-core p{margin-top:12px;font-size:16.5px;color:var(--ink-soft)}
.intro-bar{width:190px;height:4px;border-radius:99px;background:#dbe5f2;margin:26px auto 0;overflow:hidden}
.intro-fill{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--blue-bright),var(--yellow));animation:introFill 3s linear forwards}
@keyframes introFill{from{width:0}to{width:100%}}
.intro-close{
  position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;
  background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer;
  display:grid;place-items:center;box-shadow:var(--shadow);z-index:2;
}
.intro-close:hover{border-color:var(--blue);color:var(--blue)}
.intro-close svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}
.reveal.d2{transition-delay:.16s}
.reveal.d3{transition-delay:.24s}

/* ---------- The three acts: one evolving subject ---------- */
.acts-wrap{position:relative;padding:0;background:transparent;color:#111418}
.evo-blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0;will-change:transform}
.evo-blob.b1{width:520px;height:520px;left:-180px;top:6%;background:rgba(156,195,245,.35)}
.evo-blob.b2{width:460px;height:460px;right:-160px;top:38%;background:rgba(255,198,26,.28)}
.evo-blob.b3{width:560px;height:560px;left:-200px;bottom:-4%;background:rgba(255,214,120,.30)}
.acts-intro{position:relative;z-index:2;padding:84px 0 8px}
.acts-intro h2{font-size:clamp(36px,5vw,58px);font-weight:900;letter-spacing:-.03em;color:#0a1a36}
.acts-intro p{margin-top:10px;font-size:17px;color:#5b6068}
/* Desktop placement rule, all in relative terms so it holds at
   every width by construction (wide monitor, laptop, tablet):
   the acts area is inset 3% on the left, the text column takes
   35.5% of the remaining content box, a 2.5% gap, and the
   drawing column 59%. The INK is what gets positioned, not
   the wrapper: on top of the grid, the runtime landing code
   gives the drawing column a base offset of 7% of the layout
   width (see main.js), which puts the drawing's ink mass at
   about 51% to 100% of the content width, its right side
   reaching the content's right edge area with the artwork's
   own inner padding as the margin, nothing clipped and
   nothing past the content edge. The live tail landing then
   fine tunes within a few pixels on top of that proportional
   placement. The phone's stacked layout (max-width 900px) is
   exempt and unchanged. */
.evo-layout{position:relative;display:grid;grid-template-columns:minmax(0,35.5%) minmax(0,59%);column-gap:2.5%;padding-left:3%;width:min(1332px,100% - 40px);margin-inline:auto}
.evo-texts{position:relative;z-index:3;min-width:0}
.evo-act{scroll-margin-top:64px;position:relative;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:20px 40px 20px 0;overflow:visible}
/* Act Three's text block is short, so its act box is given the
   same height as Act One's: that makes the centre to centre
   distance from Act Two to Act Three equal the distance from
   Act One to Act Two, which is what the artwork's evenly
   spaced stations need. */
@media (min-width:901px){
  #act-grow{min-height:396px}
}
.evo-ghost{position:absolute;top:12%;left:-30px;z-index:0;white-space:nowrap;font-size:clamp(130px,19vw,280px);font-weight:900;line-height:.85;letter-spacing:-.04em;color:rgba(23,85,168,.055);pointer-events:none;user-select:none;will-change:transform}
.evo-act-in{position:relative;z-index:1;max-width:30em}
.evo-micro{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:600;letter-spacing:.28em;color:#1755a8;text-transform:uppercase}
.evo-heading{font-size:clamp(54px,7.5vw,96px);font-weight:900;line-height:.92;letter-spacing:-.035em;color:#0a1a36;margin:16px 0 18px}
.evo-heading em{font-style:normal;background:linear-gradient(transparent 66%,rgba(255,198,26,.7) 66%);padding:0 .04em}
.evo-line{font-size:19px;line-height:1.55;color:#45566e;max-width:22em}
.evo-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.evo-chip{background:rgba(255,255,255,.82);border:1px solid #e3ddcd;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px;color:#0a1a36;box-shadow:0 8px 22px rgba(10,26,54,.07)}
.evo-chip small{display:block;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.13em;color:#8494ab;font-weight:500;margin-top:1px}
.evo-btn{display:inline-flex;align-items:center;gap:9px;margin-top:32px;background:#0a1a36;color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:13px 24px;border-radius:999px;transition:background .2s ease,transform .2s ease}
.evo-btn:hover{background:#1755a8;transform:translateY(-1px)}
.evo-btn .arr{transition:transform .2s ease}
.evo-btn:hover .arr{transform:translateY(2px)}
/* The ONE flow artwork: a tall portrait column in the right cell
   of the acts grid (full width column on mobile). It is an
   ordinary tall element in the document flow and scrolls
   naturally with the page: as you travel down, earlier stations
   move up and out of view, and scrolling back up brings them
   back. The artwork file is trimmed to its ink (plus a small
   pad), so the image box hugs the drawing: the column is sized
   by WIDTH from the page, never by viewport height, so the
   stations hold their scale at any window height, and the whole
   image box sits inside its grid cell, which sits inside the
   page: no part of the drawing is ever cropped by the column,
   the cell, or the page edge.
   STATION ALIGNMENT: the artwork is the owner's approved
   extended drawing, trimmed to its ink at 701x1782; its
   station centres sit at file rows about 467 (brain), 940
   (money) and 1340 (hands). The file's last 292 rows are the
   tail below the hands, ending in its one open loop; they
   paint past the column's layout box, which a negative
   bottom margin compensates in JS, so the stations and the
   sections below never move. The acts are tuned to that same
   rhythm and the column is pulled up 237px so the first
   station meets the first act centre.
   The scroll reveal (a mask frontier, --fp, driven from JS as
   a pen line travelling through the viewport) draws it top to
   bottom while each station is on screen. No transform,
   opacity, filter, or z-index on the column or any ancestor up
   to the page root: any of those would isolate the img's
   multiply blend and the cream ground would turn opaque. */
.flow-col{position:relative;min-width:0;margin-top:-237px;align-self:start}
/* The stage carries the blend and the draw on mask itself:
   mix-blend-mode multiply against the true page, tint washes,
   ghost words and blobs included, so the artwork's cream ground
   disappears with no rectangle edge on any viewport. */
.flow-stage{
  position:relative;line-height:0;
  mix-blend-mode:multiply;
  --fp:100%;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--fp) - 1.5%),transparent calc(var(--fp) + 1.5%));
  mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--fp) - 1.5%),transparent calc(var(--fp) + 1.5%));
}
.flow-fig{position:relative;margin:0;line-height:0}
.flow-img{
  display:block;width:100%;height:auto;
  filter:brightness(1.05) saturate(0.92);
}
/* The cards live OUTSIDE the blended stage: an overlay over
   the artwork's box, its height fraction (88.6% of the file)
   ending just below the hands so the cards stay ringed
   around the hands zone of the drawing. */
.flow-cards{position:absolute;top:0;left:0;right:0;height:88.6%;pointer-events:none;z-index:2}
/* Grow's five tilted cards, positioned around the hands zone
   (bottom part) of the artwork, anchored to the hands group's
   centre (about 59% across the artwork) and hugging its sides
   so they stay clear of the drawing. They arrive when the
   drawing reaches the hands. */
.hand-cards{position:absolute;left:0;right:0;top:70%;height:29%;pointer-events:none;opacity:0;transition:opacity .6s ease}
.hand-cards.on{opacity:1}
.hand-cards .tc1{top:2%;right:calc(44.5% + 185px);left:auto}
.hand-cards .tc2{top:6%;left:calc(55.5% + 170px);right:auto}
.hand-cards .tc3{top:40%;right:calc(44.5% + 215px);left:auto}
.hand-cards .tc4{top:46%;left:calc(55.5% + 165px);right:auto;bottom:auto}
.hand-cards .tc5{bottom:-2%;left:calc(55.5% - 200px);top:auto}
/* Phone pieces: three slices of the SAME artwork file, hidden
   wherever the full column shows. Each slice is a window onto
   the full image: the stage clips it (overflow hidden on the
   figure, whose aspect ratio is the slice's own), and the
   image inside is offset up by the slice's start, so every
   piece renders at identical scale. Cuts sit in ribbon only
   stretches (file rows 760 and 1160), never through a motif:
   piece one carries the tail run, the loop, and the brain
   through its exit swirl; piece two the long S, the money
   stacks and dollar sign, and the base loop; piece three is
   its own file (flow-p3.webp), the same drawing sliced at row
   1160 with its tail extended in the file, so it reaches the
   Our Businesses headline on the phone too. On the phone the
   pieces use alpha versions of the artwork (the paper baked
   transparent, ink only: flow-full-alpha.webp and
   flow-p3-alpha.webp), so no blend is needed for the paper to
   disappear; each piece stage keeps the same scroll driven
   mask frontier as the desktop stage. */
.flow-piece{display:none;position:relative;overflow:hidden;line-height:0;margin:0}
.flow-piece.p1{aspect-ratio:701 / 760}
.flow-piece.p2{aspect-ratio:701 / 400}
.flow-piece.p3{aspect-ratio:701 / 622}
.piece-stage{
  position:absolute;inset:0;line-height:0;
  --fp:100%;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--fp) - 1.5%),transparent calc(var(--fp) + 1.5%));
  mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--fp) - 1.5%),transparent calc(var(--fp) + 1.5%));
}
.piece-stage img{
  position:absolute;left:0;width:100%;height:auto;max-width:none;
  filter:brightness(1.05) saturate(0.92);
}
.flow-piece.p1 .piece-stage img{top:0}
.flow-piece.p2 .piece-stage img{top:-190%}
.flow-piece.p3 .piece-stage img{top:0}
.piece-wrap{display:none}
.piece-cards{display:none}
@media (max-width:900px){
  /* Stacked layout: the tall artwork column goes away and each
     act carries its own slice of the drawing, in the same
     order for all three acts: the act's words first, then its
     piece, right aligned like the desktop column and at one
     shared width, so the scale is identical piece to piece.
     Act Three's piece sits inside its own act, immediately
     above the Our Businesses section, fully contained: its
     tail no longer reaches toward the businesses headline
     (the phone tail landing was retired Oct 28; see main.js). */
  .evo-texts{grid-area:1/1;padding-top:0;z-index:auto}
  .flow-col{display:none}
  .flow-piece{display:block;width:min(420px,72%);margin:22px 0 2px auto}
  .piece-wrap{display:block;position:relative;width:min(420px,72%);margin:22px 0 2px auto}
  .piece-wrap .flow-piece{width:100%;margin:0}
  /* Grow's five cards ride with the hands piece, arranged
     around the drawing so none of them covers the hands
     themselves: two above, one at the left of the hands, one
     at the lower right, one below. Positions are percentages
     of the piece box (the cards layer now spans the whole
     piece) and are tuned per width band further below,
     because the piece scales with the screen while the cards
     keep their size. The hands' keep-clear zone was measured
     from the artwork's alpha channel: ink x 220-560,
     y 112-285 of 701x622, padded by 8px. A later pass the
     same day raised the upper right card in every band
     until it also clears the wrist and forearm strands
     that rise into the artwork's top right corner (the
     full hands and arms ink, not just the clasp), and
     eased Keeping current off the wrist strands where
     they leave the frame at the lower left in the two
     tightest bands. */
  .piece-cards{display:block;position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;z-index:3;opacity:0;transition:opacity .6s ease}
  .piece-cards.on{opacity:1}
  .piece-cards .evo-tilt-card{font-size:10.5px;padding:6px 9px}
  .piece-cards .pc1{top:-2.11%;left:-15.66%;right:auto;bottom:auto;transform:rotate(-6deg)}
  .piece-cards .pc2{top:-16.50%;left:59.33%;right:auto;bottom:auto;transform:rotate(5deg)}
  .piece-cards .pc3{top:24.44%;left:-24.27%;right:auto;bottom:auto;transform:rotate(5deg)}
  .piece-cards .pc4{top:52.72%;left:56.77%;right:auto;bottom:auto;transform:rotate(-4deg)}
  .piece-cards .pc5{top:75.17%;left:33.53%;right:auto;bottom:auto;transform:rotate(-7deg)}
}
/* Grow cards, 390 band: same ring around the hands, pulled
   in with the narrower piece. */
@media (max-width:400px){
  .piece-cards .pc1{top:-2.40%;left:-24.20%}
  .piece-cards .pc2{top:-19.24%;left:53.65%}
  .piece-cards .pc3{top:23.39%;left:-33.80%}
  .piece-cards .pc4{top:52.91%;left:50.74%}
  .piece-cards .pc5{top:77.18%;left:30.41%}
}
/* Grow cards, 360 band: the lower right card moves up top
   and Keeping current takes the lower left, so everything
   still clears the hands. The upper right card rides
   higher here than in the wider bands and a touch further
   right, to clear the forearm strands and stay off the
   button above it. */
@media (max-width:370px){
  .piece-cards .pc1{top:-3.10%;left:-29.73%}
  .piece-cards .pc2{top:52.03%;left:49.41%}
  .piece-cards .pc3{top:24.58%;left:-40.50%}
  .piece-cards .pc4{top:-20.05%;left:49.62%}
  .piece-cards .pc5{top:59.42%;left:-43.24%}
}
/* Grow cards, 320 band: the tightest screen. The cards
   shrink a touch (the only width where they do) and stack
   more vertically: two above the hands, one at their left,
   one below at the left, one at the lower right. */
@media (max-width:340px){
  .piece-cards .evo-tilt-card{font-size:9.6px;padding:5px 8px}
  .piece-cards .evo-tilt-card small{font-size:7.8px}
  .piece-cards .pc1{top:-1.90%;left:-31.05%}
  .piece-cards .pc2{top:52.88%;left:46.72%}
  .piece-cards .pc3{top:27.17%;left:-40.69%}
  .piece-cards .pc4{top:-13.32%;left:41.18%}
  .piece-cards .pc5{top:64.40%;left:-43.58%}
}
/* Phone only: the businesses headline keeps its two line set
   ("One group. Four" over "businesses.") at every phone width;
   at wider phone widths it would otherwise sit on one long
   line. The cap is kept from the fix1 round: the compact two
   line headline stays clear of the Grow composition above it,
   now that the phone tail landing is retired. */
@media (max-width:900px){
  section#businesses .sec-head h2{max-width:320px}
}
.evo-tilt-card{position:absolute;z-index:4;background:#fff;border:1px solid #e8e2d2;border-radius:12px;padding:9px 13px;font-weight:800;font-size:12.5px;color:#0a1a36;box-shadow:0 16px 34px rgba(10,26,54,.13);white-space:nowrap;line-height:1.3}
.evo-tilt-card small{display:block;font-family:"IBM Plex Mono",monospace;font-size:8.5px;letter-spacing:.12em;color:#8494ab;font-weight:500}
.tc1{top:-2%;left:-6%;transform:rotate(-6deg)}
.tc2{top:38%;left:-13%;transform:rotate(5deg)}
.tc3{top:58%;right:-4%;transform:rotate(-4deg)}
.tc4{bottom:1%;right:-2%;transform:rotate(4deg)}
.tc5{bottom:-2%;left:23%;transform:rotate(-7deg)}
@media (max-width:900px){
  .evo-layout{grid-template-columns:1fr;width:min(1180px,100% - 32px);padding-left:0}
  .evo-act{min-height:0;padding:54px 0 64px}
  .evo-ghost{font-size:118px;top:4%;left:-10px}
  .evo-heading{font-size:clamp(46px,13vw,64px)}
  .acts-intro{padding:64px 0 4px}
}
@media (prefers-reduced-motion:reduce){
  .evo-act{min-height:0}
  .flow-stage{--fp:100% !important;-webkit-mask-image:none !important;mask-image:none !important}
  .piece-stage{--fp:100% !important;-webkit-mask-image:none !important;mask-image:none !important}
  .hand-cards{opacity:1}
  .piece-cards{opacity:1}
  .evo-btn .arr{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav-links{display:none}
  .burger{display:block}
  section{padding:60px 0}
  section#businesses{padding-top:calc(60px + var(--biz-nudge,0px))}
  .biz-grid,.blog-grid,.rec-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ticker-track{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .intro-core,.intro-logo,.intro-fill,.intro-glow,.intro-streak,.intro-logo-wrap::before{animation:none !important}
  .intro-fill{width:100%}
  .biz-card,.post{transform:none !important}
  *{transition-duration:.01ms !important}
}
@media print{
  .nav,.ticker,footer .foot-grid,.scroll-progress,.tip-toast,.biz-modal,.intro-overlay,.foot-watermark{display:none}
  body{background:#fff}
}
