/* core.css: the shared chrome every rebrand page loads (R1, 2026 rebrand).
   Split out of the approved concept's design/rebrand-2026/concept/assets/site.css,
   rule for rule and in source order: the tokens (ui.css and the section files
   borrow them), the reset, .vh and .wrap, the label type (.dot .lab .num), the
   buttons, the header and its mega menus, the mobile menu, the breadcrumb, the
   pills, the band line's box and end nodes, the footer, the reduced-motion basics,
   and the header and footer rows that sat inside the concept's mixed phone and
   tablet media blocks (re-wrapped in their own @media here). Load it after
   fonts.css and before ui.css and the page's section file.

   Left out on purpose: the concept's generic components (.hero .sec .card .roles
   .steps .parts .faq .proof .figs and the rest of concept site.css lines 193-200,
   208-214, 223-229, 232-398, 402-434, 584, 591-592 and 594-595), because no
   Console page uses them. The same goes for the Paper and Night theme classes
   (.on-paper .on-night, lines 46-48 and 62) and the display type (.display .h3
   .prose, lines 71, 73, 75-76). R5, which moves the 404 and legal pages onto
   core.css, may re-import what those pages need from the concept. The home page's
   half is home.css. The approvals demo (lines 486-537), the review overlay
   (540-578 and 716-718) and the style picker (752-766) were concept-only, and no
   concept page uses the .names list (607-608, 668 and 682-683), so none of them
   is carried anywhere. Section comments are the concept's, trimmed where a section
   was split. Website/ is the source from here on (PLAN.md A16): edit this file
   directly, never regenerate it from the concept. */
:root{
  --night:#04060C;
  --night-2:#070A12;
  --night-3:#0A0E19;
  --panel:#0A0E19;
  --panel-2:#0E1322;
  --hair:#151C2C;
  --hair-2:#232C42;
  --paper:#F2F4F8;
  --white:#FFFFFF;
  --ink:#0B1020;
  --text:#D9DFEB;
  --mist:#9AA4BA;
  --dim:#7C869E;
  --forge:#3A66FF;
  --forge-hi:#7B97FF;
  --forge-deep:#2245CC;
  --ok:#22DD84;
  --warn:#FFB547;
  --spectrum:linear-gradient(90deg,#3A66FF 0%,#A855F7 26%,#FF4D6D 48%,#FF9A2E 70%,#FFD23F 84%,#22DD84 100%);
  --f-sans:"Host Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gl:max(20px, env(safe-area-inset-left, 0px));
  --gr:max(20px, env(safe-area-inset-right, 0px));
  --measure:1200px;
  --hdr:64px;
  /* theme variables, Night by default */
  --bg:var(--night);
  --fg:#F2F4F8;
  --fg-2:#9AA4BA;
  --fg-3:#7C869E;
  --line:#151C2C;
  --line-2:#232C42;
  --card:#0A0E19;
  --card-2:#0E1322;
  --link:#7B97FF;
  color-scheme:dark;
}
@media (min-width:720px){:root{--gl:max(32px, env(safe-area-inset-left, 0px));--gr:max(32px, env(safe-area-inset-right, 0px))}}
@media (min-width:1024px){:root{--gl:max(48px, env(safe-area-inset-left, 0px));--gr:max(48px, env(safe-area-inset-right, 0px));--hdr:76px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top, 0px) + var(--hdr) + 16px)}
body{margin:0;background:var(--night);color:var(--text);font:400 16px/1.6 var(--f-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:80;background:var(--night)}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
img,svg,canvas{display:block;max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--forge);color:#fff}
:focus-visible{outline:2px solid var(--forge-hi);outline-offset:3px;border-radius:6px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.page{overflow-x:hidden;overflow-x:clip}
.wrap{width:100%;max-width:calc(var(--measure) + var(--gl) + var(--gr));margin-inline:auto;padding-left:var(--gl);padding-right:var(--gr)}
html.lock{overflow:hidden}

/* ---------- type ---------- */
.dot{display:inline-block;width:.125em;height:.125em;margin-left:.06em;background:var(--forge);color:transparent;overflow:hidden;vertical-align:baseline;line-height:0}
.lab{font:500 10.5px/1.4 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fg-3)}
.num{font:500 11.5px/1 var(--f-mono);letter-spacing:.1em;color:var(--link)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;border:0;background:var(--fg);color:var(--bg);font:600 15.5px/1 var(--f-sans);letter-spacing:-.005em;cursor:pointer;transition:opacity .2s,box-shadow .2s,transform .2s;white-space:nowrap}
.btn:hover{opacity:.9}
.btn:active{transform:translateY(1px)}
.btn .i{width:16px;height:16px;flex:none}
.btn--blue{background:var(--forge);color:#fff}
.btn--blue:hover{opacity:1;background:#4D74FF}
.btn--ghost{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn--ghost:hover{opacity:1;box-shadow:inset 0 0 0 1px var(--fg-3)}
.btn--sm{min-height:40px;padding:0 18px;font-size:14px}
.i{width:16px;height:16px;flex:none}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top, 0px);z-index:60;background:rgba(4,6,12,.86);-webkit-backdrop-filter:saturate(150%) blur(16px);backdrop-filter:saturate(150%) blur(16px);box-shadow:0 1px 0 var(--hair)}
.home .hdr:not(.is-stuck){background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--hdr)}
.hdr__brand{display:block;color:#F2F4F8;padding:8px 0;flex:none}
.wm{height:24px;width:auto;color:#F2F4F8}
.hdr__end{display:flex;align-items:center;gap:12px}
.hdr__cta{display:none}
.menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 4px 0 14px;margin-right:-4px;border:0;background:none;cursor:pointer;font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#F2F4F8}
.menu-btn__i{display:grid;gap:5px;width:22px;padding:8px 0}
.menu-btn__i i{display:block;height:1.5px;background:currentColor}
.menu-btn__i i:last-child{width:14px;justify-self:end}
.menu-btn__i.x{position:relative;height:22px;padding:0}
.menu-btn__i.x i{position:absolute;left:0;top:50%;width:100%;margin-top:-.75px}
.menu-btn__i.x i:first-child{transform:rotate(45deg)}
.menu-btn__i.x i:last-child{transform:rotate(-45deg);width:100%}
.mnav{display:none}
@media (min-width:1024px){
  .wm{height:26px}
  .hdr__cta{display:inline-flex}
  .menu-btn{display:none}
  .mnav{display:flex;align-items:center;gap:6px;margin-left:24px;margin-right:auto}
}
.mnav__top{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:999px;font-size:15px;color:#C5CCDB;transition:color .15s,background .15s}
.mnav__top:hover,.mnav__item.is-open .mnav__top{color:#F2F4F8;background:rgba(242,244,248,.06)}
.mnav__top svg{width:12px;height:12px;transition:transform .2s}
.mnav__item.is-open .mnav__top svg{transform:rotate(180deg)}
.mnav__top[aria-current="page"]{color:#F2F4F8}
.mega{position:absolute;left:0;right:0;top:100%;padding:14px 0 18px;background:rgba(6,9,17,.98);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--hair);box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 1px 0 var(--hair)}
.mega__grid{display:grid;grid-template-columns:300px minmax(0,1fr) 280px;gap:28px;padding-block:14px}
.mega__col{display:grid;align-content:start;gap:8px}
.mega__h{font:500 10.5px/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:4px 12px 6px}
.mcard{display:grid;grid-template-columns:40px minmax(0,1fr) 14px;align-items:center;gap:14px;padding:12px;border:1px solid var(--hair-2);border-radius:12px;background:var(--panel);transition:border-color .15s,background .15s}
.mcard:hover{border-color:#36415C;background:#0D1220}
.mcard b{display:block;color:#F2F4F8;font-size:15px;font-weight:600}
.mcard span span{display:block;color:var(--mist);font-size:13px;line-height:1.4;margin-top:2px}
.mcard>svg:last-child{width:14px;height:14px;color:var(--dim)}
.mtile{width:40px;height:40px;border-radius:10px;overflow:hidden;flex:none}
.mlist{display:grid;gap:2px}
.mlist--2{grid-template-columns:1fr 1fr;column-gap:12px}
.mlist a{display:grid;gap:2px;padding:10px 12px;border-radius:10px;transition:background .15s}
.mlist a:hover{background:rgba(242,244,248,.05)}
.mlist b{display:flex;align-items:baseline;gap:10px;color:#F2F4F8;font-size:14.5px;font-weight:600}
.mlist b .num{font-size:10.5px;color:var(--forge-hi)}
.mlist span{color:var(--mist);font-size:13px;line-height:1.4}
.mlist--2 span{padding-left:30px}
.mega__feat{display:grid;align-content:start;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--hair-2);background:linear-gradient(180deg,#0B1020,#070A12);transition:border-color .15s}
.mega__feat:hover{border-color:#36415C}
.mega__feat img{width:100%;height:auto;border-radius:9px;aspect-ratio:16/10;object-fit:cover;background:#070A12}
.mega__feat b{color:#F2F4F8;font-size:15.5px;font-weight:600}
.mega__feat span{color:var(--mist);font-size:13.5px;line-height:1.45}
.mega__more{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;color:#F2F4F8;font-weight:600;font-size:14px}
.mega__more svg{width:14px;height:14px;color:var(--forge-hi)}

/* ---------- mobile menu ---------- */
.menu{position:fixed;inset:0;z-index:90;background:var(--night);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top, 0px);padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 20px);padding-left:var(--gl);padding-right:var(--gr);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.menu:not([hidden]){animation:menuIn .24s cubic-bezier(.2,.7,.2,1)}
@keyframes menuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.menu__top{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);flex:none}
.menu__home{display:flex;align-items:center;min-height:44px;color:#F2F4F8}
.menu__nav{display:grid;margin-top:8px}
.acc{border-bottom:1px solid var(--hair)}
.acc>summary{display:flex;align-items:center;justify-content:space-between;min-height:68px;list-style:none;cursor:pointer;font-size:28px;font-weight:540;letter-spacing:-.03em;color:#F2F4F8;-webkit-tap-highlight-color:transparent}
.acc summary::-webkit-details-marker{display:none}
.acc>summary svg{width:16px;height:16px;color:var(--dim);transition:transform .2s}
.acc[open]>summary svg{transform:rotate(45deg)}
.acc__body{display:grid;padding:0 0 16px}
.acc__body a{display:flex;align-items:center;gap:10px;min-height:48px;font-size:16.5px;color:var(--text)}
.acc__body a .num{font-size:10.5px;color:var(--forge-hi)}
.acc__body a.acc__lead{gap:8px;font-weight:600;color:#F2F4F8}
.acc__body a.acc__lead .i{width:15px;height:15px;color:var(--forge-hi)}
.acc__body a.acc__prod{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;min-height:60px;padding:6px 0}
.acc__prod .mtile{width:36px;height:36px;border-radius:9px}
.acc__prod b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:#F2F4F8}
.acc__prod span span{display:block;margin-top:1px;font-size:13.5px;line-height:1.35;color:var(--mist)}
.acc2{margin:6px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.acc2>summary{display:flex;align-items:center;gap:12px;min-height:52px;list-style:none;cursor:pointer;font-size:16.5px;font-weight:600;color:#F2F4F8;-webkit-tap-highlight-color:transparent}
.acc2__n{font:500 10.5px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.acc2>summary svg{margin-left:auto;width:12px;height:12px;color:var(--dim);transition:transform .2s}
.acc2[open]>summary svg{transform:rotate(180deg)}
.acc2__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;padding:0 0 10px}
.acc2__body a{min-height:44px;font-size:14.5px;line-height:1.3}
.menu__link{display:flex;align-items:center;min-height:68px;border-bottom:1px solid var(--hair);font-size:28px;font-weight:540;letter-spacing:-.03em;color:#F2F4F8}
.menu__foot{margin-top:auto;padding-top:28px;display:grid;gap:12px}
.menu__line{position:relative;height:2px;margin:0 4px 10px;background:var(--spectrum)}
.menu__line i{position:absolute;top:50%;width:8px;height:8px;margin-top:-4px}
.menu__line i:first-child{left:-4px;background:#3A66FF}
.menu__line i:last-child{right:-4px;background:#22DD84}
.menu__foot .btn{min-height:54px}
.menu__mail{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:16px;color:var(--mist)}

/* ---------- breadcrumb and pills ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font:500 10.5px/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.crumbs a:hover{color:var(--fg)}
.crumbs span[aria-current]{color:var(--fg-2)}
.crumbs i{font-style:normal;opacity:.6}
.pill{display:inline-block;padding:3px 9px;border-radius:999px;font:500 11px/1.4 var(--f-mono);letter-spacing:.04em;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--fg-2)}
.pill--boostie{color:#FF8F7A;box-shadow:inset 0 0 0 1px rgba(255,107,83,.45)}
.pill--parcely{color:#5BE6A2;box-shadow:inset 0 0 0 1px rgba(48,217,130,.45)}
.pill--hq{color:var(--forge-hi);box-shadow:inset 0 0 0 1px rgba(58,102,255,.5)}

/* the call-to-action band line's box */
.cta__line{position:relative;height:120px;margin-top:28px}
.cta__line svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--hair);padding-top:56px;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 36px);background:var(--night)}
.ftr__top{display:grid;gap:40px}
.ftr__brand{display:grid;gap:14px;align-content:start}
.ftr__brand p{color:var(--mist);font-size:15px;max-width:22em}
.ftr__brand a.m{color:#F2F4F8;font-size:16px}
.ftr__cols{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}
.ftr h2{margin:0 0 12px;font:500 10.5px/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.ftr__cols ul{display:grid;gap:9px;font-size:14.5px;color:#C5CCDB}
.ftr__cols a:hover{color:#F2F4F8}
.ftr__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:48px;padding-top:20px;border-top:1px solid var(--hair);font:500 10.5px/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.ftr__base nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.ftr__base a:hover{color:#F2F4F8}
@media (min-width:1024px){
  .ftr__top{grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:64px}
  .ftr__cols{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* call-to-action line nodes */
.ln-node{position:absolute;width:12px;height:12px;margin-top:-6px;z-index:1}
.ln-a{left:max(14px, env(safe-area-inset-left, 0px));background:#3A66FF;box-shadow:0 0 14px rgba(58,102,255,.8)}
.ln-b{right:max(14px, env(safe-area-inset-right, 0px));background:#22DD84;box-shadow:0 0 14px rgba(34,221,132,.8)}

/* the footer's phone rows; tablets and desktop keep the columns */
.ftr__acc{display:none}

/* ---------- phones and tablets (below 1024px): the header's brand padding and the
   footer's four tablet columns. Desktop above is untouched. ---------- */
@media (max-width:1023.98px){
  .hdr__brand{padding:10px 0}

  /* footer: four columns on tablets */
  .ftr__cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
}

/* phones: the footer's rows */
@media (max-width:719.98px){
  .ftr{padding-top:44px}
  .ftr__top{gap:26px}
  .ftr__brand{gap:8px}
  .ftr__brand a.m{display:inline-flex;align-items:center;min-height:44px;justify-self:start}
  .ftr__cols{display:none}
  .ftr__acc{display:block;border-top:1px solid var(--hair)}
  .ftr__acc details{border-bottom:1px solid var(--hair)}
  .ftr__acc summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;list-style:none;cursor:pointer;font-size:17px;font-weight:560;letter-spacing:-.01em;color:#F2F4F8;-webkit-tap-highlight-color:transparent}
  .ftr__acc summary::-webkit-details-marker{display:none}
  .ftr__acc summary svg{width:14px;height:14px;color:var(--dim);transition:transform .2s}
  .ftr__acc details[open] summary svg{transform:rotate(45deg)}
  .ftr__acc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;padding:0 0 12px}
  .ftr__acc a{display:flex;align-items:center;min-height:44px;font-size:15px;line-height:1.3;color:#C5CCDB}
  .ftr__base{flex-direction:column;align-items:flex-start;gap:4px;margin-top:28px;padding-top:16px}
  .ftr__base nav{gap:0 24px}
  .ftr__base nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
}
