/* Numibo — Coming soon. Brand-led, dependency-free responsive frontend. */
:root {
  --navy: #202936;
  --ink: #142235;
  --deep: #0b1727;
  --deep-2: #10253a;
  --green: #05cba0;
  --emerald: #009c77;
  --forest: #006d59;
  --mint: #8ceacb;
  --offwhite: #f7faf9;
  --paper: #fff;
  --muted: #61717b;
  --line: #e5ebe9;
  --container: 1320px;
  --ease: cubic-bezier(.2,.72,.24,1);
}
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:105px}
body {margin:0;min-width:320px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open {overflow:hidden}
a {color:inherit;text-decoration:none}
a:focus-visible, button:focus-visible {outline:3px solid var(--green);outline-offset:5px}
button {font:inherit}
img,svg {max-width:100%;height:auto}
svg {display:block}
::selection {background:var(--mint);color:var(--deep)}
.container {width:min(calc(100% - 104px),var(--container));margin-inline:auto}
.skip-link {position:fixed;top:-100px;left:14px;padding:12px 20px;background:white;color:var(--ink);z-index:101;border-radius:14px}
.skip-link:focus {top:14px}
.site-shell {overflow:clip}
/* Intro */
.dark-intro {position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 39%,#123b3f 0,#0d2734 24%,#0b1727 64%,#091522 100%);color:white;isolation:isolate}
.dark-intro:after {content:"";position:absolute;inset:auto -20% -33% -10%;height:38%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 59% 26%,rgba(8,195,152,.12),transparent 60%);filter:blur(40px)}
.intro-ambient {position:absolute;pointer-events:none;border-radius:50%;z-index:-1;filter:blur(20px)}
.intro-ambient--one {width:56vw;height:56vw;right:-24vw;top:-29vw;border:1px solid rgba(50,236,183,.08);box-shadow:0 0 190px rgba(0,169,139,.11),inset 0 0 220px rgba(0,182,136,.10)}
.intro-ambient--two {width:52vw;height:52vw;left:-27vw;bottom:-42vw;background:radial-gradient(circle,rgba(0,176,143,.14),transparent 69%)}
.intro-grid {position:absolute;inset:0;pointer-events:none;opacity:.11;background-image:linear-gradient(rgba(168,236,220,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(168,236,220,.14) 1px,transparent 1px);background-size:100px 100px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.2),transparent 85%)}
.site-header {position:relative;z-index:50}
.header-inner {height:112px;display:flex;align-items:center;gap:40px}
.brand-home,.footer-logo {display:inline-flex;align-items:center;flex:0 0 auto}
.brand-home img {width:157px;height:auto;display:block}
.desktop-nav {display:flex;align-items:center;gap:37px;margin-left:auto}
.desktop-nav a {font-size:13px;font-weight:500;letter-spacing:-.01em;color:rgba(255,255,255,.72);transition:color .2s}
.desktop-nav a:hover {color:white}
.nav-cta {display:inline-flex;align-items:center;justify-content:center;gap:19px;flex-shrink:0;margin-left:5px;border-radius:100px;padding:13px 20px 14px 21px;border:1px solid rgba(220,255,245,.22);color:white;font-size:12px;font-weight:650;transition:background .2s,border-color .2s,transform .2s}
.nav-cta:hover {background:rgba(255,255,255,.085);border-color:rgba(220,255,245,.5);transform:translateY(-1px)}
.nav-cta span {color:var(--green);font-size:17px;font-weight:400}
.menu-toggle,.mobile-nav {display:none}
.hero {position:relative;min-height:660px;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;padding-top:23px;padding-bottom:80px;gap:2rem}
.hero-copy {position:relative;z-index:5;padding-bottom:44px}
.eyebrow {display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.185em;line-height:1.5;font-weight:670}
.eyebrow--light {color:rgba(211,245,239,.84)}
.status-pulse {width:8px;height:8px;background:var(--green);border-radius:50%;position:relative;display:inline-block;flex:none;box-shadow:0 0 22px rgba(0,243,177,.8)}
.status-pulse:after {content:"";position:absolute;inset:-5px;border:1px solid rgba(0,218,165,.38);border-radius:50%;animation:pulse 3s ease-out infinite}
.hero h1 {font-size:clamp(52px,5.75vw,86px);letter-spacing:-.074em;font-weight:630;line-height:1.09;margin:35px 0 27px;white-space:nowrap}
.hero h1 span {background:linear-gradient(105deg,#5bebca 6%,#b7f7e6 68%,#ddfff6 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-description {max-width:515px;font-size:clamp(16px,1.35vw,18px);line-height:1.82;letter-spacing:-.015em;font-weight:390;color:#adbdc7;margin:0}
.hero-actions {display:flex;align-items:center;gap:33px;margin-top:40px;flex-wrap:wrap}
.button {display:inline-flex;align-items:center;justify-content:center;gap:27px;border:0;border-radius:100px;min-height:56px;padding:15px 23px 15px 27px;white-space:nowrap;font-size:13px;font-weight:680;letter-spacing:-.01em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}
.button:hover {transform:translateY(-3px)}
.button--primary {background:var(--green);color:#062d2d;box-shadow:0 12px 30px rgba(0,199,145,.17)}
.button--primary:hover {background:#3fdfb6;box-shadow:0 20px 45px rgba(0,199,145,.21)}
.button svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.text-link {display:inline-flex;align-items:center;gap:11px;font-size:13px;font-weight:640;transition:gap .2s,color .2s}
.text-link:hover {gap:17px}
.text-link--light {color:#e2f1ee}
.text-link--light:hover {color:var(--mint)}
.text-link--dark {color:var(--ink)}
.text-link--dark span {color:var(--emerald)}
.hero-footer-line {display:flex;align-items:center;gap:17px;color:#8297a3;font-size:10px;letter-spacing:.15em;font-weight:600;margin-top:72px}
.hero-footer-divider {width:3px;height:3px;border-radius:50%;background:var(--green)}
.hero-art {position:relative;width:100%;height:min(49vw,605px);min-height:480px;max-height:605px;display:flex;align-items:center;justify-content:center;margin-left:-8px;isolation:isolate}
.art-glow {position:absolute;width:88%;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse at 52% 53%,rgba(0,223,160,.26) 0,rgba(3,153,134,.09) 39%,transparent 71%);filter:blur(11px)}
.art-ring {position:absolute;border:1px solid rgba(150,240,221,.11);border-radius:50%;aspect-ratio:1;transform:rotate(-19deg)}
.art-ring--outer {width:97%}.art-ring--middle {width:76%;border-color:rgba(150,240,221,.09)}.art-ring--inner {width:57%;border-color:rgba(150,240,221,.15)}
.art-planet {position:absolute;width:73%;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,rgba(30,85,93,.48),rgba(11,26,41,.06) 49%,rgba(0,162,119,.065));box-shadow:inset -18px -22px 45px rgba(0,16,32,.2),inset 1px 1px 1px rgba(192,255,241,.05);transform:rotate(-25deg)}
.hero-fin {position:relative;z-index:2;width:min(54%,325px);max-height:400px;object-fit:contain;transform:rotate(-13deg) translateY(-9px);filter:drop-shadow(0 28px 38px rgba(0,0,0,.27)) drop-shadow(0 0 42px rgba(0,224,159,.17));animation:fin-float 8s ease-in-out infinite}
.float-label {position:absolute;z-index:4;display:flex;align-items:center;gap:12px;min-width:193px;padding:13px 17px 13px 13px;background:rgba(25,48,60,.77);border:1px solid rgba(198,255,234,.15);border-radius:15px;backdrop-filter:blur(18px);box-shadow:0 15px 30px rgba(1,15,24,.2)}
.float-label strong,.float-label small {display:block}
.float-label strong {color:#e8fbf5;font-size:12px;font-weight:650;line-height:1.4}
.float-label small {color:#a0b5bf;font-size:10px;margin-top:2px}
.float-label--top {top:14%;right:1%;transform:rotate(4deg);animation:label-hover 7s ease-in-out infinite}
.float-label--bottom {bottom:20%;left:0;transform:rotate(-5deg);animation:label-hover 7s ease-in-out -2s infinite}
.float-label__icon {width:33px;height:33px;border-radius:10px;background:rgba(6,208,154,.15);display:grid;place-items:center;color:var(--green)}
.float-label__icon svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.float-label__dot {width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(5,203,160,.12);margin-inline:12px}
.float-label__up {margin-left:auto;color:var(--green);font-size:16px}
.hero-art-caption {position:absolute;right:8%;bottom:1%;color:#668f93;text-align:center;font-size:11px;line-height:1.75;letter-spacing:.04em}
.dark-intro-bottom {display:flex;align-items:center;gap:18px;width:min(calc(100% - 104px),var(--container));margin:auto;padding-bottom:27px;color:#61848a;font-size:9px;font-weight:680;letter-spacing:.15em}
.dark-intro-bottom .scroll-line {height:1px;background:linear-gradient(90deg,rgba(61,186,149,.65),transparent);flex:1;max-width:80px}
.dark-intro-bottom span:last-child {margin-left:auto}
@keyframes pulse {0%{transform:scale(.6);opacity:1}65%,100%{transform:scale(1.8);opacity:0}}
@keyframes fin-float {0%,100%{transform:rotate(-13deg) translateY(-9px)}50%{transform:rotate(-11deg) translateY(4px)}}
@keyframes label-hover {0%,100%{translate:0 0}50%{translate:0 -8px}}
/* Shared sections */
.section {position:relative}
.section--intro {padding:155px 0 138px;background:#fff}
.section-counter {display:inline-flex;align-items:center;gap:13px;white-space:nowrap;color:#008e70;font-size:10px;font-weight:740;letter-spacing:.15em}
.counter-line {display:inline-block;width:29px;height:1px;background:var(--emerald)}
.section-heading-grid {display:grid;grid-template-columns:1fr 2.12fr;gap:42px}
.section-heading-grid .section-counter {margin-top:21px}
.section-title {font-size:clamp(42px,5.1vw,69px);font-weight:610;line-height:1.12;letter-spacing:-.064em;margin:0;max-width:930px}
.section-title em {font-style:normal;color:var(--emerald)}
.section-lead {font-size:clamp(18px,1.85vw,23px);font-weight:420;line-height:1.6;letter-spacing:-.034em;max-width:725px;color:#64727d;margin:29px 0 0}
.idea-bottom {display:grid;grid-template-columns:1fr 2.12fr;gap:42px;border-top:1px solid var(--line);margin-top:93px;padding-top:39px}
.idea-small-note {max-width:210px;font-size:10px;line-height:1.9;letter-spacing:.08em;font-weight:720;color:#009374}
.idea-description {max-width:770px;font-size:16px;line-height:1.95;color:#546775;letter-spacing:-.017em}
/* Principle cards */
.section--principles {background:#f3f8f7;padding:135px 0 105px}
.principles-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:55px}
.principles-heading .section-title {margin-top:29px}
.principles-heading p {max-width:275px;line-height:1.78;font-size:14px;color:#677781;margin-bottom:9px}
.principle-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.principle-card {position:relative;min-height:340px;padding:30px 30px 34px;border-radius:23px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.principle-card:hover {transform:translateY(-6px);box-shadow:0 30px 60px rgba(21,68,56,.09)}
.principle-card--one {color:white;background:radial-gradient(circle at 97% 13%,rgba(8,159,132,.24),transparent 57%),#14283d}
.principle-card--two {color:var(--ink);background:#deeee9}
.principle-card--three {color:var(--ink);background:#e5f6e9}
.principle-card--three:after {content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(0,151,107,.10);border-radius:50%;right:-75px;top:65px;box-shadow:0 0 0 35px rgba(0,151,107,.025),0 0 0 65px rgba(0,151,107,.025)}
.principle-top {display:flex;justify-content:space-between;align-items:flex-start}
.principle-index {font-size:11px;font-weight:630;letter-spacing:.11em;opacity:.55}
.principle-icon {width:60px;height:60px;border-radius:18px;background:rgba(255,255,255,.19);display:grid;place-items:center}
.principle-icon svg {width:31px;height:31px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.principle-card--one .principle-icon {background:rgba(4,218,164,.12);color:#4de0b8}
.principle-card--two .principle-icon {background:#c8e9df;color:#006d59}
.principle-card--three .principle-icon {background:#d0eed8;color:#00765c}
.principle-card h3 {font-size:clamp(22px,2.05vw,27px);font-weight:640;letter-spacing:-.05em;margin:0 0 11px}
.principle-card p {font-size:13px;line-height:1.78;margin:0;max-width:300px;opacity:.7;position:relative;z-index:1}
.principles-tail {display:flex;align-items:center;justify-content:center;gap:13px;padding-top:47px;color:#627b77;font-size:13px}
.small-green-sun {color:var(--emerald);font-size:22px}
/* Finn */
.section--finn {padding:115px 0 130px;background:#fff}
.finn-panel {background:#e8f8f2;min-height:585px;display:grid;grid-template-columns:1fr .92fr;overflow:hidden;position:relative;isolation:isolate;border-radius:29px}
.finn-backdrop {position:absolute;inset:0;background:radial-gradient(ellipse at 72% 74%,rgba(119,242,198,.43),transparent 49%),radial-gradient(circle at 8% 5%,rgba(255,255,255,.52),transparent 38%);z-index:-1}
.finn-copy {padding:84px 0 73px 78px;position:relative;z-index:3}
.section-counter--green {color:#00765d}
.finn-copy h2 {font-size:clamp(41px,4.45vw,64px);line-height:1.12;letter-spacing:-.064em;font-weight:630;margin:32px 0 28px}
.finn-copy h2 em {font-style:normal;color:#009b74}
.finn-copy p {max-width:445px;font-size:15px;line-height:1.82;color:#547168;margin:0 0 14px}
.finn-copy p:first-of-type {font-size:17px;color:#243c3b;font-weight:550;line-height:1.65}
.finn-tags {display:flex;gap:8px;flex-wrap:wrap;margin-top:31px}
.finn-tags span {font-size:10px;font-weight:630;padding:10px 12px;border-radius:100px;background:rgba(255,255,255,.59);border:1px solid rgba(39,151,117,.11);color:#307461}
.finn-image-frame {position:relative;min-width:0;min-height:570px;display:flex;align-items:center;justify-content:center}
.finn-halo {position:absolute;width:98%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 52% 53%,#d2f5e8 0,#a8e9d4 35%,rgba(176,234,207,.02) 72%);transform:translate(8%,12%)}
.finn-image-frame img {position:absolute;z-index:1;width:min(79%,440px);height:auto;max-height:570px;object-fit:contain;object-position:bottom center;bottom:-8%;right:9%;filter:drop-shadow(0 32px 21px rgba(31,111,111,.14));transform:rotate(-3deg)}
.finn-signature {position:absolute;z-index:2;top:16%;right:9%;color:#118168;font-size:10px;letter-spacing:.16em;font-weight:750;transform:rotate(7deg)}
.finn-signature span {font-size:21px;margin-left:4px}
/* Name */
.section--name {padding:15px 0 145px;background:#fff}
.name-grid {display:grid;grid-template-columns:1fr .95fr;gap:clamp(40px,7vw,130px);align-items:center}
.name-grid .section-title {margin:32px 0 24px}
.name-grid p {font-size:15px;line-height:1.93;color:#667780;max-width:490px;margin:0 0 29px}
.name-card {position:relative;background:#f4f8f7;border:1px solid #e5edeb;border-radius:25px;padding:35px 39px 25px;min-width:0;box-shadow:0 28px 60px rgba(26,56,48,.035)}
.name-card__small,.name-card__bottom {color:#729089;font-size:9px;letter-spacing:.145em;font-weight:740}
.name-letters {display:flex;align-items:center;justify-content:space-between;gap:2px;margin:50px 0 35px;font-size:clamp(65px,8vw,115px);font-weight:700;letter-spacing:-.092em;line-height:1;color:var(--navy)}
.name-letters span {display:block;white-space:nowrap}
.name-letters span:nth-child(2) {color:var(--emerald)}
.name-definitions {display:grid;grid-template-columns:1.15fr .5fr .85fr;gap:8px;border-top:1px solid #dce9e5;padding-top:16px}
.name-definitions>span {font-size:11px;font-weight:700;color:var(--emerald)}
.name-definitions small {display:block;font-size:11px;font-weight:450;color:#778a88;line-height:1.5;margin-top:5px}
.name-card__bottom {margin-top:58px;text-align:right}
/* Closing */
.closing {position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 9%,#154e50 0,#112e37 30%,#0c1c2d 65%,#091725 100%);color:white;min-height:570px;display:flex;align-items:center}
.closing-orb {position:absolute;z-index:-1;right:-6%;top:-68%;width:65vw;min-width:530px;aspect-ratio:1;border:1px solid rgba(118,248,203,.12);border-radius:50%;box-shadow:0 0 0 58px rgba(106,241,183,.025),0 0 0 118px rgba(106,241,183,.022),0 0 0 188px rgba(106,241,183,.015);pointer-events:none}
.closing-inner {padding-block:115px 120px;position:relative;z-index:2}
.closing-mini {display:flex;align-items:center;gap:15px;color:#a9c7c4;font-size:10px;letter-spacing:.18em;font-weight:660}
.closing h2 {margin:32px 0 24px;font-size:clamp(56px,7.5vw,101px);font-weight:630;line-height:1.08;letter-spacing:-.079em}
.closing h2 span {color:var(--green)}
.closing p {color:#a2b5bc;line-height:1.9;max-width:520px;font-size:15px;margin:0}
.closing-actions {display:flex;align-items:center;gap:31px;flex-wrap:wrap;margin-top:38px}
.closing-sweep {position:absolute;right:-15%;bottom:-200px;border:1px solid rgba(8,223,170,.22);border-radius:50%;width:72vw;height:35vw;transform:rotate(-19deg);pointer-events:none}
/* Footer */
.footer {background:#091725;color:white}
.footer-top {border-bottom:1px solid rgba(255,255,255,.11);padding:35px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-logo img {width:144px;height:auto;display:block}
.footer-top>span {color:#8fa6aa;font-size:12px}
.footer-bottom {display:flex;align-items:center;justify-content:space-between;padding:22px 0 32px;gap:20px;color:#66808e;font-size:11px}
.footer-bottom div {display:flex;gap:24px;align-items:center}
.footer-bottom a:hover {color:#b2f7e4}
/* Reveal is progressive enhancement: content is always visible, including to screenshotters, assistive technology and search engines. */
[data-reveal] {opacity:1;transform:none}
.js-ready [data-reveal].is-visible {animation:soft-appear .7s var(--ease) both}
@keyframes soft-appear {from {opacity:.78;transform:translateY(12px)}to {opacity:1;transform:translateY(0)}}
@media (max-width:1160px) {
 .container,.dark-intro-bottom {width:min(calc(100% - 70px),var(--container))}
 .desktop-nav {gap:21px}
 .header-inner {gap:23px}
 .hero h1 {font-size:clamp(52px,5.55vw,76px)}
 .hero-art {min-height:440px}
 .float-label {min-width:174px;gap:9px;padding:12px}
 .float-label--top {right:-3%}
 .float-label--bottom {left:-4%}
 .finn-copy {padding-left:55px}
 .name-grid {gap:55px}
}
@media (max-width:920px) {
 .container,.dark-intro-bottom {width:min(calc(100% - 56px),var(--container))}
 .header-inner {height:88px}
 .brand-home img {width:143px}
 .desktop-nav,.nav-cta {display:none}
 .menu-toggle {margin-left:auto;width:44px;height:44px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);cursor:pointer;position:relative;z-index:60}
 .menu-toggle span {height:1.5px;width:18px;background:white;display:block;transition:transform .25s,opacity .25s}
 .menu-toggle[aria-expanded="true"] span:first-child {transform:translateY(6.5px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3) {transform:translateY(-6.5px) rotate(-45deg)}
 .mobile-nav {display:flex;flex-direction:column;position:absolute;top:74px;left:28px;right:28px;padding:15px 22px 22px;border:1px solid rgba(181,242,224,.2);border-radius:19px;background:rgba(15,32,47,.975);box-shadow:0 25px 70px rgba(0,8,17,.56);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .22s,transform .22s,visibility .22s;z-index:55}
 .mobile-nav.is-open {visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
 .mobile-nav a {display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:15px;color:#e4efed}
 .mobile-nav a:last-child {border-bottom:0;color:var(--mint)}
 .hero {grid-template-columns:1fr;text-align:center;gap:0;padding-top:60px;padding-bottom:45px;min-height:unset}
 .hero-copy {padding-bottom:0}
 .eyebrow,.hero-actions,.hero-footer-line {justify-content:center}
 .hero h1 {font-size:clamp(53px,8vw,79px);margin:29px 0 20px}
 .hero-description {margin-inline:auto;max-width:650px}
 .hero-actions {margin-top:29px}
 .hero-footer-line {margin-top:40px}
 .hero-art {width:min(100%,620px);height:520px;min-height:0;max-height:none;margin:0 auto -6px}
 .hero-art-caption {bottom:0}
 .float-label--top {right:4%}.float-label--bottom {left:3%}
 .dark-intro-bottom {padding-bottom:22px}
 .section--intro {padding:110px 0 100px}
 .section-heading-grid,.idea-bottom {grid-template-columns:1fr;gap:29px}
 .section-heading-grid .section-counter {margin-top:0}
 .idea-bottom {margin-top:60px;grid-template-columns:1fr 1.7fr}
 .section--principles {padding:95px 0 80px}
 .principle-card {min-height:310px;padding:25px}
 .finn-panel {grid-template-columns:1fr 0.9fr;min-height:535px}
 .finn-copy {padding:65px 0 54px 38px}
 .finn-copy h2 {font-size:clamp(38px,4.5vw,52px)}
 .finn-image-frame {min-height:500px}
 .finn-image-frame img {width:91%;right:0;max-height:520px}
 .section--name {padding-bottom:105px}
 .name-grid {gap:30px}
 .name-card {padding:28px}
 .name-letters {font-size:clamp(62px,9vw,90px)}
}
@media (max-width:700px) {
 html {scroll-padding-top:73px}
 .container,.dark-intro-bottom {width:calc(100% - 38px)}
 .header-inner {height:74px}
 .brand-home img {width:126px}
 .mobile-nav {left:19px;right:19px;top:67px}
 .hero {padding-top:56px;padding-bottom:26px}
 .hero h1 {font-size:clamp(43px,9vw,65px);letter-spacing:-.071em;white-space:normal;margin:25px 0 22px}
 .hero h1 span {white-space:nowrap}
 .eyebrow {font-size:9px;letter-spacing:.13em}
 .hero-description {font-size:15px;line-height:1.75;padding:0 3px}
 .hero-actions {margin-top:26px;gap:22px}
 .hero-footer-line {margin-top:40px;font-size:9px;gap:13px}
 .hero-art {height:min(91vw,460px);min-height:330px;max-height:460px;width:min(100%,520px)}
 .hero-fin {width:54%}
 .float-label {min-width:auto;padding:10px;gap:8px;border-radius:11px}
 .float-label strong {font-size:10px}.float-label small {font-size:9px}
 .float-label__icon {width:25px;height:25px;border-radius:7px}.float-label__icon svg {width:14px;height:14px}
 .float-label--top {top:12%;right:-2%}.float-label--bottom {bottom:19%;left:-2%}
 .float-label__dot {margin-inline:5px}
 .hero-art-caption {font-size:9px;bottom:-3%;right:6%}
 .dark-intro-bottom {font-size:8px;padding-bottom:17px}
 .section--intro {padding:91px 0 86px}
 .section-counter {font-size:9px}
 .section-title {font-size:clamp(38px,9vw,56px)}
 .section-lead {font-size:18px;margin-top:22px}
 .idea-bottom {display:grid;grid-template-columns:1fr;gap:18px;padding-top:29px;margin-top:52px}
 .idea-small-note {max-width:370px}
 .idea-description {font-size:14px;line-height:1.85}
 .section--principles {padding:91px 0 75px}
 .principles-heading {display:block;margin-bottom:36px}
 .principles-heading .section-title {margin-top:24px}
 .principles-heading p {max-width:400px;margin:24px 0 0;font-size:14px}
 .principle-grid {grid-template-columns:1fr;gap:14px}
 .principle-card {min-height:238px;padding:26px;gap:50px;border-radius:21px}
 .principle-icon {width:52px;height:52px}.principle-card h3 {font-size:25px}
 .principle-card p {max-width:410px}
 .principles-tail {padding-top:34px;font-size:12px}
 .section--finn {padding:76px 0 95px}
 .finn-panel {display:flex;flex-direction:column;min-height:0;border-radius:22px}
 .finn-copy {padding:46px 30px 0}
 .finn-copy h2 {font-size:clamp(41px,9vw,58px);margin:23px 0 21px}
 .finn-copy p {font-size:14px}.finn-copy p:first-of-type {font-size:16px}
 .finn-tags {margin-top:23px}
 .finn-image-frame {min-height:415px;max-height:480px}
 .finn-image-frame img {width:min(72%,310px);right:50%;transform:translateX(50%) rotate(-3deg);bottom:-2%;max-height:430px}
 .finn-halo {width:68%;transform:translate(0,19%)}
 .finn-signature {top:15%;right:8%}
 .section--name {padding:0 0 92px}
 .name-grid {grid-template-columns:1fr;gap:45px}
 .name-grid .section-title {margin:25px 0 18px}
 .name-card {max-width:560px;width:100%;justify-self:center}
 .name-letters {font-size:clamp(68px,15vw,110px)}
 .closing {min-height:0}
 .closing-inner {padding-block:96px 104px}
 .closing h2 {font-size:clamp(56px,12.3vw,83px)}
 .closing p {font-size:14px}
 .closing-mini {font-size:9px}
 .footer-top {align-items:flex-start;flex-direction:column;padding:30px 0 26px;gap:17px}
 .footer-bottom {flex-wrap:wrap;justify-content:space-between;row-gap:23px}
 .footer-bottom div {order:3;width:100%;flex-wrap:wrap;gap:18px}
}
@media (max-width:420px) {
 .container,.dark-intro-bottom {width:calc(100% - 32px)}
 .eyebrow {font-size:8px;letter-spacing:.085em;gap:9px}
 .hero {padding-top:46px}
 .hero h1 {font-size:clamp(39px,10.15vw,48px)}
 .hero-actions {flex-direction:column;gap:18px}
 .hero-actions .button {width:min(100%,300px)}
 .hero-description {font-size:14px}
 .hero-art {min-height:290px;height:95vw}
 .float-label--top {right:-5%}.float-label--bottom {left:-5%}
 .hero-art-caption {bottom:-3%;font-size:8px}
 .hero-footer-line {font-size:8px;letter-spacing:.10em}
 .finn-copy {padding-inline:23px}
 .finn-tags {gap:6px}.finn-tags span {font-size:9px;padding:8px 10px}
 .finn-image-frame {min-height:345px}
 .finn-image-frame img {max-height:375px}
 .name-card {padding:25px}
 .name-letters {font-size:clamp(61px,14.7vw,70px)}
 .name-card__bottom {margin-top:48px}
 .closing-actions {align-items:flex-start;flex-direction:column;gap:23px}
 .closing-actions .button {width:100%;justify-content:space-between}
 .closing h2 {font-size:clamp(49px,12.3vw,63px)}
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .js-ready [data-reveal] {opacity:1;transform:none}
}

/* Numibo v1.1: consistent vector UI symbols; never platform emoji glyphs */
.ui-icon {display:inline-block;flex:none;width:17px;height:17px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ui-icon--arrow {width:16px;height:16px}
.ui-icon--up {width:15px;height:15px}
.ui-icon--spark {width:19px;height:19px;stroke-width:1.5;color:var(--emerald)}
.nav-cta .ui-icon {color:var(--green)}
.mobile-nav .ui-icon {color:var(--mint)}
.text-link--dark .ui-icon {color:var(--emerald)}
.float-label__up .ui-icon {color:var(--green)}
.small-green-sun {display:inline-flex;align-items:center;justify-content:center}
.small-green-sun .ui-icon {width:22px;height:22px;color:var(--emerald)}
.finn-signature .ui-icon {width:19px;height:19px;margin-left:5px;vertical-align:-4px}
.hero-art-caption {position:absolute;right:8%;bottom:7%;margin:0;color:#91bcb5;z-index:3}
/* At tablet and mobile breakpoints, the hero caption is its own row, not a floating overlay. */
@media(max-width:920px){
 .hero-art-caption {position:relative;right:auto;bottom:auto;grid-column:1;margin:4px auto 0;max-width:300px;font-size:11px;line-height:1.65;text-align:center;color:#a1c8c0;letter-spacing:.035em}
 .hero {padding-bottom:38px}
 .hero-art {margin-bottom:0}
}
@media(max-width:700px){
 .hero-art-caption {position:relative;right:auto;bottom:auto;font-size:11px;margin:0 auto 0;line-height:1.7}
 .hero {padding-bottom:37px}
 .dark-intro-bottom {margin-top:0}
 /* The illustration and its signature must not compete for the same pixels. */
 .finn-image-frame {display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:0;max-height:none;padding:10px 12px 19px;overflow:hidden}
 .finn-image-frame img {position:relative;z-index:1;order:1;bottom:auto;right:auto;top:auto;width:auto;max-width:min(84%,345px);height:auto;max-height:390px;object-fit:contain;transform:rotate(-3deg);display:block;flex:none}
 .finn-image-frame .finn-signature {position:relative;z-index:2;order:2;top:auto;right:auto;bottom:auto;left:auto;transform:none;align-self:center;display:flex;align-items:center;justify-content:center;gap:2px;margin:10px auto 5px;padding:10px 18px;border:1px solid rgba(5,156,119,.14);border-radius:100px;background:rgba(255,255,255,.68);box-shadow:0 6px 24px rgba(29,128,103,.05);font-size:11px;letter-spacing:.12em;white-space:nowrap}
 .finn-image-frame .finn-signature .ui-icon {margin-left:6px}
 .finn-halo {top:0;left:50%;width:min(95%,350px);transform:translateX(-50%)}
}
@media(max-width:420px){
 .finn-image-frame {padding-inline:7px}
 .finn-image-frame img {max-width:min(86%,290px);max-height:350px}
 .hero-art-caption {font-size:10px;margin:0 auto}
}

/* Numibo v1.2 · A single, scrollable brand book */
.section--symbol{padding:124px 0 138px;background:linear-gradient(180deg,#f3faf7 0%,#edf7f3 100%);overflow:hidden}
.symbol-head{max-width:920px;margin-bottom:57px}
.symbol-head .section-title{margin:30px 0 22px}
.symbol-head>p{max-width:760px;color:#58726d;line-height:1.83;font-size:16px;margin:0}
.symbol-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(35px,6.5vw,105px)}
.symbol-showcase{min-height:490px;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;border-radius:30px;background:radial-gradient(circle at 60% 45%,#19544f 0%,#102c36 41%,#0b1727 83%);border:1px solid #17443f;box-shadow:0 35px 70px rgba(10,50,46,.13)}
.symbol-showcase:before{content:"";position:absolute;inset:8% 10%;background:radial-gradient(circle,rgba(13,222,162,.23),transparent 65%);filter:blur(15px);pointer-events:none}
.symbol-orbit{position:absolute;pointer-events:none;inset:10%;border:1px solid rgba(130,240,210,.13);border-radius:50%;transform:rotate(-22deg) scaleX(1.17)}
.symbol-orbit--two{inset:22%;border-color:rgba(130,240,210,.1)}
.symbol-showcase img{width:56%;max-width:360px;max-height:385px;filter:drop-shadow(0 25px 22px rgba(0,8,16,.28));transform:rotate(-9deg);position:relative;z-index:1}
.symbol-showcase__foot{position:absolute;bottom:25px;left:29px;right:29px;display:flex;align-items:center;gap:14px;color:rgba(205,255,235,.56);font-size:9px;font-weight:700;letter-spacing:.16em}
.symbol-showcase__foot>span{color:var(--green)}
.symbol-details{min-width:0}
.symbol-details article{display:flex;gap:25px;padding:21px 0 23px;border-bottom:1px solid #d2e5dd}
.symbol-details article:first-child{border-top:1px solid #d2e5dd}
.symbol-details article>span{color:#009975;font-weight:760;font-size:11px;letter-spacing:.08em;padding-top:6px}
.symbol-details h3{margin:0 0 7px;color:#1a3234;font-size:21px;font-weight:660;letter-spacing:-.04em}
.symbol-details article p{margin:0;color:#678079;font-size:13px;line-height:1.75}
.symbol-finn-note{padding:21px 23px;background:rgba(255,255,255,.65);border-radius:15px;color:#526c65;font-size:13px;line-height:1.8;margin:27px 0 0}
.section--identity{padding:131px 0 137px;background:#fff}
.identity-header{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:54px}
.identity-header .section-title{margin:28px 0 0}
.identity-header>p{font-size:15px;line-height:1.86;color:#65777e;max-width:365px;margin:0 0 7px}
.identity-logos{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.identity-logo-card{position:relative;min-width:0;min-height:260px;border-radius:25px;overflow:hidden;padding:50px 44px;display:flex;align-items:center;justify-content:center}
.identity-logo-card--light{background:#f4f8f7;border:1px solid #e5efec}
.identity-logo-card--dark{background:radial-gradient(ellipse at 80% 35%,#153d43,#0b1727 78%);border:1px solid #183b40}
.identity-logo-card__label{position:absolute;top:21px;left:24px;font-size:9px;letter-spacing:.17em;font-weight:760;color:#69817c}
.identity-logo-card--dark .identity-logo-card__label{color:#8cafa9}
.identity-logo-card img{display:block;width:100%;max-width:495px;height:auto;object-fit:contain;max-height:165px}
.identity-bottom{display:grid;grid-template-columns:1fr 1fr;gap:78px;margin-top:80px}
.identity-bottom h3{font-size:27px;letter-spacing:-.047em;line-height:1.25;margin:0 0 12px;font-weight:650}
.identity-bottom p{font-size:14px;color:#637780;line-height:1.83;margin:0;max-width:460px}
.palette-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:32px}
.palette-item{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.palette-dot{display:block;width:100%;height:83px;background:var(--swatch);border-radius:12px;border:1px solid rgba(0,0,0,.035);margin-bottom:14px}
.palette-item b{font-size:11px;font-weight:700;line-height:1.3;min-height:28px}
.palette-item code{font:500 10px/1.6 ui-monospace,Menlo,Consolas,monospace;color:#7b8c8a}
.identity-type{border-left:1px solid #e5edeb;padding-left:55px;min-width:0}
.type-specimen{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:17px;color:#202936}
.type-specimen span:first-child{font-size:100px;line-height:1;letter-spacing:-.11em;font-weight:690}
.type-specimen span:last-child{font-size:15px;letter-spacing:.045em;font-variant-numeric:tabular-nums;color:#628076}
.identity-usage{border-top:1px solid #e5edeb;margin-top:24px;padding-top:22px}
.identity-usage h4{font-size:13px;color:var(--emerald);margin:0 0 8px;font-weight:750}
.identity-book{margin-top:83px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px;align-items:center;padding:27px 43px 27px 27px;background:#f3f8f7;border:1px solid #e4edeb;border-radius:27px}
.identity-book__cover{overflow:hidden;border-radius:13px;box-shadow:0 16px 36px rgba(15,35,53,.09);background:#0b1727}
.identity-book__cover img{display:block;width:100%;height:auto}
.identity-book__copy>span{font-size:9px;letter-spacing:.17em;color:#009a74;font-weight:740}
.identity-book h3{font-size:clamp(29px,2.8vw,43px);letter-spacing:-.055em;line-height:1.15;font-weight:660;margin:20px 0 14px}
.identity-book p{font-size:14px;color:#667b79;line-height:1.83;max-width:460px;margin:0}
.button--book{margin-top:24px;background:#102936;color:#fff;min-height:53px;box-shadow:none}
.button--book:hover{background:#24535b;box-shadow:none}
/* Ensure no fixed-width identity ornament creates horizontal scrolling */
@media(max-width:1160px){.identity-bottom{gap:40px}.identity-type{padding-left:36px}.type-specimen span:first-child{font-size:80px}.palette-dot{height:69px}}
@media(max-width:920px){
  .section--symbol{padding:98px 0 104px}
  .symbol-layout{gap:36px}
  .symbol-showcase{min-height:400px}
  .symbol-showcase img{width:67%}
  .identity-header{align-items:start;flex-direction:column;gap:16px}
  .identity-header>p{max-width:710px}
  .section--identity{padding:100px 0}
  .identity-logos{gap:15px}
  .identity-logo-card{padding:38px 20px;min-height:205px}
  .identity-bottom{grid-template-columns:1fr;gap:35px;margin-top:58px}
  .identity-type{border-left:0;border-top:1px solid #e5edeb;padding:35px 0 0}
  .type-specimen{justify-content:flex-start;gap:55px}
  .identity-book{gap:30px;padding:23px;margin-top:59px}
}
@media(max-width:700px){
  .section--symbol{padding:76px 0 81px}
  .symbol-head{margin-bottom:35px}
  .symbol-head .section-title{margin:23px 0 17px}
  .symbol-head>p{font-size:14px}
  .symbol-layout{grid-template-columns:1fr;gap:30px}
  .symbol-showcase{min-height:350px;border-radius:22px}
  .symbol-showcase img{width:56%;max-width:270px}
  .symbol-showcase__foot{font-size:8px;letter-spacing:.10em;bottom:20px;left:20px;right:20px}
  .symbol-details article{padding:17px 0 18px;gap:18px}
  .symbol-details h3{font-size:19px}
  .symbol-finn-note{margin-top:20px}
  .section--identity{padding:81px 0 94px}
  .identity-header{margin-bottom:34px}
  .identity-header .section-title{margin-top:23px}
  .identity-header>p{font-size:14px}
  .identity-logos{grid-template-columns:1fr}
  .identity-logo-card{min-height:220px;padding:45px 32px}
  .identity-logo-card img{max-width:390px}
  .identity-bottom{margin-top:56px}
  .palette-list{gap:8px}
  .palette-dot{height:60px;border-radius:8px}
  .palette-item b{font-size:10px}
  .palette-item code{font-size:9px}
  .identity-bottom h3{font-size:26px}
  .type-specimen span:first-child{font-size:82px}
  .type-specimen span:last-child{font-size:12px;overflow-wrap:anywhere}
  .identity-book{grid-template-columns:1fr;padding:18px 18px 28px;gap:25px;margin-top:51px;border-radius:22px}
  .identity-book__copy{padding:0 7px}
  .identity-book h3{margin:13px 0 11px}
  .identity-book .button{width:100%;justify-content:space-between;gap:14px;white-space:normal;text-align:left}
}
@media(max-width:420px){
  .symbol-showcase{min-height:290px}
  .symbol-showcase img{max-width:210px}
  .identity-logo-card{min-height:175px;padding:38px 24px}
  .palette-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  .palette-dot{height:52px}
  .palette-item b{font-size:9px;letter-spacing:-.015em;overflow-wrap:anywhere}
  .palette-item code{font-size:8px;letter-spacing:-.04em}
  .type-specimen{gap:17px}
  .type-specimen span:first-child{font-size:72px}
  .identity-book h3{font-size:30px}
}

.identity-assets-link{display:inline-flex;align-items:center;gap:8px;margin:17px 0 0 19px;font-size:12px;color:#007b62;font-weight:730;text-decoration:none;white-space:nowrap}
.identity-assets-link:hover{text-decoration:underline;text-underline-offset:4px}
.identity-assets-link .ui-icon{width:14px;height:14px}
@media(max-width:700px){.identity-assets-link{margin:20px 4px 3px}}
