/* NymForm landing page. Implements the approved v25 design (docs/reference/nymform-enterprise-demo-v25.html).
 * The design was built up in successive passes, so later sections intentionally override earlier ones;
 * keep the order. Rules that matched no element were removed without changing the rendering (the
 * scripted preview player's styles went with it when the Vimeo video replaced it). Production-only
 * additions (formerly inline styles, CSP-safe) are at the end. */

:root{
  --navy:#0b1422;
  --navy-2:#101c2e;
  --navy-3:#17263e;
  --navy-4:#21314b;
  --ink:#101827;
  --muted:#667387;
  --line:#dde4ec;
  --surface:#f6f8fb;
  --white:#fff;
  --lime:#c7f35b;
  --lime-2:#b9ea45;
  --lime-3:#e7f8b5;
  --lime-soft:#effbd0;
  --product-accent:#4b3fd1;
  --product-accent-soft:#f4f3fd;
  --glow-a:#6bd3ff;
  --glow-b:#243e68;
  --font:Arial,Helvetica,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shell:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:#fff;font:16px/1.55 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #96c527;outline-offset:3px}
.shell{width:min(var(--shell),calc(100% - 48px));margin:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.visual-band{position:relative;overflow:hidden}
.visual-band:before,
.visual-band:after{content:"";position:absolute;pointer-events:none}
.pattern-grid{
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:26px 26px;
}
.curve-lines{
  position:absolute;inset:0;pointer-events:none;overflow:hidden
}
.curve-lines i{
  position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:999px
}
.curve-lines i:nth-child(1){width:560px;height:560px;right:-180px;top:-180px}
.curve-lines i:nth-child(2){width:720px;height:720px;right:-250px;top:-70px}
.curve-lines i:nth-child(3){width:880px;height:880px;right:-300px;top:80px}
.glow-dot{
  position:absolute;border-radius:50%;filter:blur(18px);opacity:.35;pointer-events:none
}

/* Announcement / subheader */
.announcement{
  color:#d1dced;border-bottom:1px solid rgba(255,255,255,.08);position:relative;
  background:
    radial-gradient(circle at 16% 40%, rgba(199,243,91,.16), transparent 19%),
    radial-gradient(circle at 82% 10%, rgba(107,211,255,.16), transparent 16%),
    linear-gradient(135deg,#09111c 0%, #101b2b 60%, #132036 100%);
}
.announcement .curve-lines i{border-color:rgba(255,255,255,.07)}
.announcement-inner{position:relative;z-index:2;height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px}
.announcement strong{color:#fff}
.announcement a{color:var(--lime);font-weight:800}

/* white header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{height:76px;display:flex;align-items:center;gap:34px}
.wordmark{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.6px}
.mark{width:34px;height:34px;background:var(--navy);position:relative;display:grid;place-items:center;overflow:hidden}
.mark:before{content:"";position:absolute;width:7px;height:26px;background:var(--lime);transform:skew(-28deg);left:10px}
.mark:after{content:"";position:absolute;width:7px;height:26px;background:var(--lime);transform:skew(-28deg);right:10px;opacity:.35}
.header-nav{display:flex;align-items:center;gap:28px;margin-left:auto;color:#445165;font-size:13px;font-weight:600}
.header-nav a:hover{color:#000}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;border:1px solid transparent;border-radius:3px;padding:0 19px;font-size:13px;font-weight:800}
.button-lime{background:var(--lime);color:#111a22;border-color:var(--lime)}
.button-lime:hover{background:var(--lime-2)}
.button-outline{background:transparent;color:#fff;border-color:#5d6d82}
.header-cta{margin-left:6px}

/* Hero with more visual richness */
.hero{
  color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 14% 22%, rgba(199,243,91,.14), transparent 16%),
    radial-gradient(circle at 82% 24%, rgba(107,211,255,.18), transparent 18%),
    radial-gradient(circle at 88% 88%, rgba(36,62,104,.75), transparent 24%),
    linear-gradient(135deg,#0a1320 0%, #101b2b 50%, #14233a 100%);
}
.hero:after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,transparent 0 74%,rgba(255,255,255,.045) 74% 74.12%,transparent 74.12%),
    linear-gradient(0deg,transparent 0 76%,rgba(255,255,255,.032) 76% 76.1%,transparent 76.1%);
  pointer-events:none
}
.hero .curve-lines i{border-color:rgba(255,255,255,.09)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.08fr;gap:76px;padding:86px 0 64px}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 22px;font:800 11px/1 var(--mono);letter-spacing:1.2px;text-transform:uppercase}
.eyebrow:before{content:"";width:30px;height:3px;background:var(--lime)}
.hero h1{font-size:clamp(56px,5.3vw,78px);line-height:.98;letter-spacing:-3.7px;margin:0;font-weight:800;max-width:610px}
.hero h1 span{color:var(--lime)}
.hero-copy{color:#c0ccdb;font-size:17px;line-height:1.75;max-width:580px;margin:27px 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-foot{color:#90a1b6;font-size:11px;margin:17px 0 0}

/* General sections */
.workflow{padding:88px 0 82px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:32px}
.section-head .kicker{color:#667f12;font:800 11px var(--mono);letter-spacing:1.1px;text-transform:uppercase}
.section-head h2{font-size:43px;line-height:1.05;letter-spacing:-1.8px;margin:10px 0 0}

/* Product walkthrough */
.demo-disclaimer{color:#7d8897;font-size:10px;margin:11px 0 0}
.demo-disclaimer strong{color:#445168}

/* Data boundary section visuals */
.approach-wrap{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(circle at 8% 16%, rgba(199,243,91,.12), transparent 16%),
    radial-gradient(circle at 82% 25%, rgba(107,211,255,.14), transparent 18%),
    radial-gradient(circle at 88% 78%, rgba(36,62,104,.72), transparent 25%),
    linear-gradient(135deg,#09111d 0%, #101b2b 54%, #132038 100%);
}
.approach-wrap .curve-lines i{border-color:rgba(255,255,255,.08)}
.approach{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;padding:86px 0}
.approach .eyebrow{color:#d6e1ef}
.approach h2{font-size:49px;line-height:1.02;letter-spacing:-2px;margin:14px 0 20px}
.approach p{color:#acb8ca;font-size:14px}
.policy-panel{border:1px solid rgba(255,255,255,.11);background:rgba(14,26,42,.46);backdrop-filter: blur(5px)}
.policy-title{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.09);color:var(--lime);font:800 10px var(--mono);letter-spacing:.8px}
.policy-row{display:grid;grid-template-columns:46px 1fr 30px;gap:15px;padding:20px;border-bottom:1px solid rgba(255,255,255,.09)}
.policy-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:var(--lime);font:11px var(--mono)}
.policy-row h3{font-size:16px;margin:0 0 5px}.policy-row p{font-size:11px;margin:0}.policy-index{color:#6d82a0;font:10px var(--mono)}

/* Signup */
.signup{background:#f2f5f8;padding:80px 0}
.signup-grid{display:grid;grid-template-columns:1fr .84fr;gap:82px}
.signup h2{font-size:48px;line-height:1.02;letter-spacing:-2px;margin:12px 0 20px}
.signup-copy>p{color:#667386}
.signup-card{background:#fff;border:1px solid var(--line);padding:29px;box-shadow:0 16px 38px #17345d0c}
.signup-card h3{font-size:23px;margin:0}.signup-card>p{font-size:12px;color:#707e91}
.signup-card label{display:block;margin:20px 0 7px;font-size:11px;font-weight:700}
.email-row{display:flex;gap:8px}
.email-row input{flex:1;min-width:0;border:1px solid #ccd5e1;border-radius:2px;padding:12px 13px}
.email-row button{border:0;border-radius:2px;background:var(--lime);color:#111a20;padding:0 18px;font-weight:800}
.email-row button:hover{background:var(--lime-2)}
.form-note{color:#8491a2;font-size:10px;margin-top:10px}

/* Footer visuals */
footer{
  position:relative;overflow:hidden;color:#bac7d7;padding:38px 0 20px;
  background:
    radial-gradient(circle at 12% 15%, rgba(199,243,91,.10), transparent 14%),
    radial-gradient(circle at 82% 20%, rgba(107,211,255,.12), transparent 17%),
    linear-gradient(135deg,#09131f 0%, #0b1726 52%, #102036 100%);
}
footer .curve-lines i{border-color:rgba(255,255,255,.07)}
footer .footer-shell{position:relative;z-index:1}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-links{display:flex;gap:25px;font-size:11px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:23px;padding-top:17px;color:#73849b;font-size:9px;display:flex;justify-content:space-between;gap:20px}

/* responsive */
@media(max-width:950px){
  .header-nav{display:none}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .section-head{flex-direction:column;align-items:flex-start}
  .approach,.signup-grid{grid-template-columns:1fr;gap:45px}
}
@media(max-width:650px){
  .shell{width:calc(100% - 30px)}
  .announcement-inner{font-size:9px}.announcement-inner>span span{display:none}
  .header-inner{height:68px}.wordmark{font-size:20px}.mark{width:30px;height:30px}
  .header-cta{font-size:10px;min-height:40px;padding:0 11px}
  .hero-grid{padding:55px 0 44px}.hero h1{font-size:50px;letter-spacing:-2.5px}.hero-copy{font-size:14px}
  .hero-actions .button{font-size:10px;padding:0 12px;min-height:43px}
  .workflow{padding:60px 0}.section-head h2{font-size:33px}
  .approach{padding:60px 0}.approach h2,.signup h2{font-size:39px}.signup{padding:60px 0}
  .signup-card{padding:22px}.email-row{flex-direction:column}.email-row button{min-height:46px}
  .footer-main,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== Enterprise visual pass ===== */
:root{
  --enterprise-navy:#08111d;
  --enterprise-panel:#0d1a2b;
  --enterprise-panel-2:#122238;
  --enterprise-line:rgba(255,255,255,.09);
  --enterprise-line-strong:rgba(255,255,255,.16);
  --enterprise-blue:#78c6ff;
  --enterprise-lime:#c7f35b;
}

/* Give the major dark bands a more architectural / control-plane feel */
.announcement,
.hero,
.approach-wrap,
footer{
  background-color:var(--enterprise-navy);
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 16% 18%, rgba(199,243,91,.10), transparent 20%),
    radial-gradient(circle at 84% 16%, rgba(120,198,255,.13), transparent 22%),
    linear-gradient(135deg,#07101a 0%,#0d1928 48%,#12233a 100%);
  background-size:32px 32px,32px 32px,auto,auto,auto;
}

.announcement{
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg,#09121f,#0c1928 52%,#102036);
  background-size:24px 24px,24px 24px,auto;
}

.hero:before,
.approach-wrap:before,
footer:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 9%,rgba(255,255,255,.045) 9% 9.08%,transparent 9.08% 91%,rgba(255,255,255,.045) 91% 91.08%,transparent 91.08%),
    linear-gradient(180deg,transparent 0 13%,rgba(255,255,255,.035) 13% 13.08%,transparent 13.08% 87%,rgba(255,255,255,.035) 87% 87.08%,transparent 87.08%);
}

.curve-lines{
  opacity:.42;
}
.curve-lines i{
  border-color:rgba(150,190,230,.12)!important;
}

/* Header: cleaner enterprise bar */
.site-header{
  background:rgba(255,255,255,.97);
  box-shadow:0 1px 0 rgba(10,24,42,.06);
  backdrop-filter:blur(12px);
}
.header-inner{
  height:78px;
}
.wordmark{
  letter-spacing:-.8px;
}
.header-nav{
  color:#39485d;
}
.header-cta{
  border-radius:2px;
}

/* Hero hierarchy */
.hero-grid{
  padding-top:92px;
  padding-bottom:72px;
  gap:88px;
}
.hero h1{
  max-width:650px;
  font-size:clamp(60px,5.6vw,84px);
}
.hero-copy{
  max-width:610px;
  color:#b8c7d9;
}
.hero .eyebrow{
  color:#e6edf5;
}
.hero .eyebrow:before{
  width:38px;
  height:2px;
}

/* Product walkthrough frame more enterprise and product-real */
.workflow{
  padding-top:96px;
}
.section-head .kicker{
  color:#577112;
}
.section-head h2{
  max-width:760px;
}

/* Data boundary section */
.approach{
  padding-top:96px;
  padding-bottom:96px;
}
.approach h2{
  font-size:52px;
}
.policy-panel{
  position:relative;
  border-color:rgba(143,177,210,.17);
  background:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px),
    rgba(10,23,39,.70);
  background-size:18px 18px,18px 18px,auto;
  box-shadow:
    0 26px 70px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.035);
}
.policy-panel:before{
  content:"DATA BOUNDARY / V0";
  position:absolute;
  top:-28px;
  left:0;
  color:#758ca6;
  font:800 9px var(--mono);
  letter-spacing:1.3px;
}
.policy-title{
  padding:15px 18px;
  background:rgba(4,12,21,.35);
  letter-spacing:1.2px;
}
.policy-row{
  grid-template-columns:52px 1fr 36px;
  padding:23px 20px;
}
.policy-icon{
  width:44px;
  height:44px;
  background:rgba(199,243,91,.035);
}
.policy-index{
  align-self:start;
  border:1px solid rgba(255,255,255,.11);
  padding:3px 5px;
  text-align:center;
}

/* Signup section gets more enterprise SaaS treatment */
.signup{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(#edf2f7,#f7f9fb);
}
.signup:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(15,35,58,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,35,58,.04) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 82%);
}
.signup-grid{
  position:relative;
  z-index:1;
}
.signup-card{
  border:1px solid #ccd6e1;
  border-top:3px solid var(--lime);
  box-shadow:
    0 18px 42px rgba(17,42,73,.10),
    inset 0 1px 0 #fff;
}
.signup-card h3{
  color:#122033;
}

/* EMAIL FIELD: explicitly white, high-contrast border, obvious input surface */
.email-row input{
  background:#fff!important;
  color:#132033!important;
  border:2px solid #aeb9c7!important;
  min-height:50px;
  border-radius:2px;
  box-shadow:
    inset 0 1px 2px rgba(14,33,56,.04),
    0 0 0 1px rgba(255,255,255,.8);
}
.email-row input::placeholder{
  color:#7d8896;
}
.email-row input:hover{
  border-color:#8492a4!important;
}
.email-row input:focus{
  border-color:#6f881b!important;
  box-shadow:0 0 0 3px rgba(199,243,91,.30)!important;
  outline:none!important;
}
.email-row button{
  min-height:50px;
  border:1px solid #aacd42;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
}

/* Footer */
footer{
  padding-top:46px;
}
.footer-main{
  padding-bottom:8px;
}
.footer-links a{
  color:#c4d0de;
}
.footer-links a:hover{
  color:#fff;
}
.footer-bottom{
  padding-top:20px;
}

/* Mobile keeps enterprise geometry without becoming cramped */
@media(max-width:950px){
  .hero-grid{padding-top:70px;gap:58px}
}
@media(max-width:650px){
  .hero h1{font-size:52px}
  .policy-panel:before{display:none}
  .email-row input{min-height:52px}
  .email-row button{min-height:48px}
}

/* ===== Header behavior: integrated at load, white only when sticky ===== */
.site-header{
  background:
    radial-gradient(circle at 18% 30%, rgba(199,243,91,.08), transparent 20%),
    radial-gradient(circle at 82% 10%, rgba(120,198,255,.08), transparent 18%),
    linear-gradient(135deg,#07101a 0%,#0d1928 54%,#102038 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease;
}
.site-header .wordmark,
.site-header .header-nav{
  color:#f5f8fb;
  transition:color .28s ease;
}
.site-header .header-nav a{
  color:#c7d3e1;
  transition:color .2s ease;
}
.site-header .header-nav a:hover{color:#fff}
.site-header .mark{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.16);
  transition:background .28s ease,border-color .28s ease;
}
.site-header .header-cta{
  color:#111a22;
}

@media(prefers-reduced-motion:reduce){
  .site-header{transition:none}
}

/* ===== White header restored ===== */
.site-header{
  background:rgba(255,255,255,.985)!important;
  border-bottom:1px solid #dde4ec!important;
  box-shadow:0 1px 0 rgba(10,24,42,.05)!important;
  backdrop-filter:blur(12px);
}
.site-header .wordmark,
.site-header .header-nav{
  color:#101827!important;
}
.site-header .header-nav a{
  color:#445165!important;
}
.site-header .header-nav a:hover{
  color:#000!important;
}
.site-header .mark{
  background:var(--navy)!important;
  border-color:transparent!important;
}

/* ===== Final polish pass: footer ===== */
.footer-main{align-items:flex-start}

/* ===== v18: worksheet illustration in the banner ===== */
.banner-worksheets{position:relative;align-self:center;min-width:0;width:100%;max-width:640px;height:454px;margin:0;isolation:isolate}
.banner-sheet-art{position:relative;width:100%;height:100%}
.banner-sheet{position:absolute;width:86%;overflow:hidden;border-radius:12px;background:#f8fafc;color:#334453;border:1px solid #d6e0e9;box-shadow:0 25px 54px #0005;transform-origin:50% 50%;-webkit-mask-image:linear-gradient(142deg,#000 0%,#000 65%,rgba(0,0,0,.9) 76%,transparent 99%);mask-image:linear-gradient(142deg,#000 0%,#000 65%,rgba(0,0,0,.9) 76%,transparent 99%)}
.banner-sheet-back{z-index:1;left:0;top:14px;transform:rotate(-5deg)}
.banner-sheet-front{z-index:2;right:0;top:148px;transform:rotate(3deg)}
.banner-sheet-title{height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px;background:#1b6444;color:#fff;font:600 11px var(--font)}
.banner-sheet-title>span:first-child{display:flex;gap:8px;align-items:center;white-space:nowrap}
.banner-sheet-title>span:last-child{font-size:9px;font-weight:400;opacity:.85;white-space:nowrap}
.banner-sheet-back .banner-sheet-title{background:#253949}
.sheet-grid-icon{width:12px;height:12px;display:inline-block;border:1px solid #ffffffb3;border-radius:1px;background:linear-gradient(90deg,transparent 45%,#ffffffa6 45% 53%,transparent 53%),linear-gradient(transparent 45%,#ffffffa6 45% 53%,transparent 53%)}
.banner-sheet-tools{height:27px;background:#fff;border-bottom:1px solid #dfe5e9;display:flex;gap:12px;align-items:center;font:9px var(--font);color:#6c7785;padding:0 10px}
.banner-sheet-tools>span:first-child{padding-right:12px;border-right:1px solid #dce3e8;font:9px var(--mono)}
.banner-sheet-tools i{font:italic 12px Georgia,serif;color:#4b5f51}
.banner-column-letters,.banner-column-names,.banner-data-row{display:grid;grid-template-columns:25px 1.14fr 1.6fr .77fr .8fr}
.banner-column-letters>span,.banner-column-names>span,.banner-data-row>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid #e0e6e9;border-bottom:1px solid #e0e6e9;padding:8px;font:10px/1.3 var(--font)}
.banner-column-letters>span{padding:4px;text-align:center;background:#edf1f3;color:#83909a;font:9px/1.2 var(--font)}
.banner-column-names>span{background:#f6f8f9;color:#4a5764;font-weight:600;font-size:9px}
.banner-data-row>span{background:#fff;color:#495661}
.banner-sheet-front .banner-data-row>span:nth-child(2),.banner-sheet-front .banner-data-row>span:nth-child(3){background:#ecf5ef;color:#315242}
.banner-sheet-back .banner-data-row>span:nth-child(2),.banner-sheet-back .banner-data-row>span:nth-child(3){background:#f3f0fb;color:#605389;font-family:var(--mono);font-size:9px}
.banner-data-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.banner-column-names>.banner-row-number,.banner-data-row>.banner-row-number{background:#f1f4f6;color:#85929e;text-align:center;padding-inline:0;font-size:9px;font-weight:400}
.banner-empty-row>span{height:29px}

/* Data boundary rows and footer layout. */
.policy-row:last-child{border-bottom:0}
.footer-main{align-items:center}
.footer-disclosure{width:100%;max-width:none;margin-top:25px;padding-top:22px;border-top:1px solid #ffffff18}
.footer-disclosure p{width:100%;max-width:none;margin:0;color:#a7b7c9;font:11px/1.85 var(--font)}
.footer-disclosure strong{font-weight:600;color:#d1dce8}
.footer-bottom{margin-top:22px}
@media(min-width:951px) and (max-width:1140px){
  .hero-grid{gap:50px}
  .banner-worksheets{height:414px}
  .banner-sheet{width:91%}
  .banner-sheet-front{top:138px}
  .banner-column-letters>span,.banner-column-names>span,.banner-data-row>span{padding-inline:5px}
  .banner-data-row>span{font-size:9px}
  .banner-sheet-back .banner-data-row>span:nth-child(2),.banner-sheet-back .banner-data-row>span:nth-child(3){font-size:8px}
}
@media(max-width:950px){
  .banner-worksheets{justify-self:center;max-width:660px;height:456px}
  .banner-sheet{width:84%}
  .banner-sheet-front{top:143px}
}
@media(max-width:650px){
  .hero-grid{gap:38px}
  .banner-worksheets{height:378px}
  .banner-sheet{width:91%;border-radius:9px}
  .banner-sheet-back{top:14px}
  .banner-sheet-front{top:130px}
  .banner-sheet-title{height:33px;padding-inline:9px;font-size:10px;gap:5px}
  .banner-sheet-title>span:last-child{font-size:8px}
  .banner-sheet-tools{height:25px;gap:8px;font-size:8px}
  .banner-sheet-tools>span:first-child{font-size:8px}
  .banner-column-letters,.banner-column-names,.banner-data-row{grid-template-columns:20px 1.14fr 1.6fr .7fr .8fr}
  .banner-column-letters>span{font-size:8px}
  .banner-column-names>span{font-size:8px;padding:7px 5px}
  .banner-data-row>span{font-size:8px;padding:7px 5px}
  .banner-sheet-back .banner-data-row>span:nth-child(2),.banner-sheet-back .banner-data-row>span:nth-child(3){font-size:8px}
  .banner-empty-row>span{height:23px}
  .footer-main{align-items:flex-start}
  .footer-disclosure{margin-top:20px;padding-top:19px}
  .footer-disclosure p{font-size:11px;line-height:1.85}
}

/* ===== v25 additions: enterprise section, reversed data-boundary band, banner swap, mobile navigation ===== */
/* Enterprise interest — intentionally lightweight prelaunch demand capture */
.enterprise-interest{position:relative;overflow:hidden;background:#fff;color:#101827;padding:78px 0;border-top:1px solid #dde4ec}
.enterprise-interest:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-140px;top:-190px;border:1px solid rgba(34,79,121,.08);box-shadow:0 0 90px rgba(107,211,255,.05)}
.enterprise-interest-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .86fr;gap:82px;align-items:center}
.enterprise-interest h2{font-size:48px;line-height:1.02;letter-spacing:-2px;margin:12px 0 20px}.enterprise-interest-copy>p{max-width:610px;color:#667386;font-size:14px;line-height:1.75}.enterprise-interest-note{font-size:11px!important;color:#8491a2!important;margin-top:20px}
.enterprise-interest-card{background:#fff;color:#111a26;border-top:3px solid var(--lime);padding:29px;box-shadow:0 20px 45px rgba(0,0,0,.2)}.enterprise-interest-kicker{font:800 9px var(--mono);letter-spacing:1.1px;color:#61700f;margin-bottom:10px}.enterprise-interest-card h3{font-size:23px;margin:0 0 7px}.enterprise-interest-card>p{font-size:12px;color:#707e91;margin:0 0 18px}.enterprise-interest-card label{display:block;margin:12px 0 6px;font-size:11px;font-weight:700}.enterprise-interest-card label span{font-weight:500;color:#8995a4}.enterprise-interest-card input{width:100%;border:1px solid #ccd5e1;border-radius:2px;padding:12px 13px;font:inherit}.enterprise-button{width:100%;margin-top:14px}.enterprise-form-note{color:#8491a2;font-size:10px;margin-top:10px;line-height:1.5}
@media(max-width:950px){.enterprise-interest-grid{grid-template-columns:1fr;gap:38px}.enterprise-interest{padding:60px 0}}
@media(max-width:650px){.enterprise-interest h2{font-size:39px}.enterprise-interest-card{padding:22px}.enterprise-interest{padding:52px 0}}

/* ===== v23: reversed context/enterprise treatments + looping banner swap ===== */
/* Useful context becomes the quiet white explanatory section. */
.approach-wrap{background:#fff!important;background-color:#fff!important;color:#101827!important;border-top:1px solid #dde4ec;border-bottom:1px solid #dde4ec}
.approach-wrap:before,.approach-wrap .curve-lines,.approach-wrap>.glow-dot{display:none!important}
.approach .eyebrow{color:#526b0f!important}
.approach h2{color:#101827!important}
.approach>div>p:not(.eyebrow){color:#667386!important}
.approach .policy-panel{background:#f7f9fb!important;border:1px solid #dce3eb!important;backdrop-filter:none!important;box-shadow:0 18px 42px rgba(17,39,68,.06)}
.approach .policy-title{color:#526b0f!important;border-bottom:1px solid #dce3eb!important;background:#f1f5f7}
.approach .policy-row{border-bottom:1px solid #dce3eb!important}
.approach .policy-row h3{color:#182331!important}
.approach .policy-row p{color:#667386!important}
.approach .policy-icon{border-color:#cfd8e2!important;color:#526b0f!important;background:#fff}
.approach .policy-index{color:#8a96a6!important}

/* Enterprise becomes the high-contrast commercial signal. */
.enterprise-interest{background:radial-gradient(circle at 10% 12%,rgba(199,243,91,.10),transparent 17%),radial-gradient(circle at 86% 18%,rgba(107,211,255,.12),transparent 20%),linear-gradient(135deg,#08111d 0%,#0d1929 55%,#11223a 100%)!important;color:#fff!important;border-top:0!important}
.enterprise-interest:before{border-color:rgba(255,255,255,.08)!important;box-shadow:0 0 110px rgba(107,211,255,.08)!important}
.enterprise-interest .eyebrow{color:var(--lime)!important}
.enterprise-interest h2{color:#fff!important}
.enterprise-interest-copy>p{color:#b5c3d3!important}
.enterprise-interest .enterprise-interest-note{color:#8fa0b5!important}
.enterprise-interest-card{background:#fff!important;color:#111a26!important;border-top-color:var(--lime)!important;box-shadow:0 24px 60px rgba(0,0,0,.32)!important}

/* Smooth email-GIF-like exchange: the two worksheet cards trade foreground positions. */
.banner-sheet{will-change:transform,opacity,filter;backface-visibility:hidden}
.banner-sheet-back{animation:nf-sheet-back-swap 8s cubic-bezier(.65,0,.35,1) infinite}
.banner-sheet-front{animation:nf-sheet-front-swap 8s cubic-bezier(.65,0,.35,1) infinite}
@keyframes nf-sheet-front-swap{
  0%,38%{right:0;top:148px;transform:translate3d(0,0,0) rotate(3deg) scale(1);opacity:1;filter:brightness(1);z-index:2}
  46%{right:0;top:148px;transform:translate3d(-34px,-62px,0) rotate(-1deg) scale(.975);opacity:.82;filter:brightness(.94);z-index:2}
  50%{z-index:1}
  56%,88%{right:14%;top:14px;transform:translate3d(0,0,0) rotate(-5deg) scale(.965);opacity:.9;filter:brightness(.94);z-index:1}
  96%{right:5%;top:86px;transform:translate3d(30px,52px,0) rotate(0deg) scale(.985);opacity:.9;filter:brightness(.97);z-index:1}
  100%{right:0;top:148px;transform:translate3d(0,0,0) rotate(3deg) scale(1);opacity:1;filter:brightness(1);z-index:2}
}
@keyframes nf-sheet-back-swap{
  0%,38%{left:0;top:14px;transform:translate3d(0,0,0) rotate(-5deg) scale(.965);opacity:.9;filter:brightness(.94);z-index:1}
  46%{left:5%;top:82px;transform:translate3d(34px,58px,0) rotate(0deg) scale(.985);opacity:.9;filter:brightness(.97);z-index:1}
  50%{z-index:2}
  56%,88%{left:14%;top:148px;transform:translate3d(0,0,0) rotate(3deg) scale(1);opacity:1;filter:brightness(1);z-index:2}
  96%{left:4%;top:72px;transform:translate3d(-30px,-50px,0) rotate(-1deg) scale(.975);opacity:.82;filter:brightness(.94);z-index:2}
  100%{left:0;top:14px;transform:translate3d(0,0,0) rotate(-5deg) scale(.965);opacity:.9;filter:brightness(.94);z-index:1}
}
@media(max-width:950px){
  @keyframes nf-sheet-front-swap{
    0%,38%{right:0;top:143px;transform:rotate(3deg) scale(1);opacity:1;z-index:2}
    46%{right:4%;top:86px;transform:rotate(-1deg) scale(.98);opacity:.84;z-index:2}
    50%{z-index:1}
    56%,88%{right:10%;top:14px;transform:rotate(-4deg) scale(.97);opacity:.9;z-index:1}
    96%{right:4%;top:86px;transform:rotate(0deg) scale(.985);opacity:.9;z-index:1}
    100%{right:0;top:143px;transform:rotate(3deg) scale(1);opacity:1;z-index:2}
  }
  @keyframes nf-sheet-back-swap{
    0%,38%{left:0;top:14px;transform:rotate(-4deg) scale(.97);opacity:.9;z-index:1}
    46%{left:4%;top:86px;transform:rotate(0deg) scale(.985);opacity:.9;z-index:1}
    50%{z-index:2}
    56%,88%{left:10%;top:143px;transform:rotate(3deg) scale(1);opacity:1;z-index:2}
    96%{left:4%;top:86px;transform:rotate(-1deg) scale(.98);opacity:.84;z-index:2}
    100%{left:0;top:14px;transform:rotate(-4deg) scale(.97);opacity:.9;z-index:1}
  }
}
@media(max-width:650px){
  @keyframes nf-sheet-front-swap{
    0%,38%{right:0;top:130px;transform:rotate(2deg) scale(1);opacity:1;z-index:2}
    46%{right:3%;top:76px;transform:rotate(0deg) scale(.985);opacity:.86;z-index:2}
    50%{z-index:1}
    56%,88%{right:6%;top:14px;transform:rotate(-2deg) scale(.975);opacity:.92;z-index:1}
    96%{right:3%;top:76px;transform:rotate(0deg) scale(.985);opacity:.9;z-index:1}
    100%{right:0;top:130px;transform:rotate(2deg) scale(1);opacity:1;z-index:2}
  }
  @keyframes nf-sheet-back-swap{
    0%,38%{left:0;top:14px;transform:rotate(-2deg) scale(.975);opacity:.92;z-index:1}
    46%{left:3%;top:76px;transform:rotate(0deg) scale(.985);opacity:.9;z-index:1}
    50%{z-index:2}
    56%,88%{left:6%;top:130px;transform:rotate(2deg) scale(1);opacity:1;z-index:2}
    96%{left:3%;top:76px;transform:rotate(0deg) scale(.985);opacity:.86;z-index:2}
    100%{left:0;top:14px;transform:rotate(-2deg) scale(.975);opacity:.92;z-index:1}
  }
}
@media(prefers-reduced-motion:reduce){.banner-sheet-back,.banner-sheet-front{animation:none!important}}

/* ===== Enterprise mobile navigation ===== */
.mobile-menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid #d9e0e8;border-radius:8px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#101827;cursor:pointer;position:relative;z-index:62}
.mobile-menu-toggle span{display:block;width:18px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .24s ease,opacity .18s ease}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-nav{display:none}
@media(max-width:950px){
  /* The header stays at the top on phones and tablets too (owner request), so the menu is always one tap away.
     nav.js places the menu panel under the header's current position. */
  .site-header{position:sticky;top:0;z-index:61}
  .mobile-menu-toggle{display:flex}
  .header-cta{margin-left:0}
  .mobile-nav{display:block;position:fixed;z-index:60;left:0;right:0;top:var(--mobile-nav-top,112px);max-height:calc(100vh - var(--mobile-nav-top,112px));max-height:calc(100dvh - var(--mobile-nav-top,112px));overflow-y:auto;overscroll-behavior:contain;background:#fff;border-bottom:1px solid #dce3ea;box-shadow:0 22px 50px rgba(8,17,29,.14);transform:translateY(-18px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s cubic-bezier(.2,.75,.25,1),opacity .18s ease,visibility .18s ease}
  .mobile-nav.is-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
  .mobile-nav-inner{padding-top:10px;padding-bottom:18px}
  .mobile-nav-inner a{min-height:52px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf0f3;color:#1a2532;font-size:14px;font-weight:650;letter-spacing:-.1px}
  .mobile-nav-inner a>span{width:24px;color:#8895a4;font:700 9px var(--mono);letter-spacing:.5px}
  .mobile-nav-inner a em{margin-left:auto;color:#758291;font:700 8px var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.65px}
  .mobile-nav-primary{margin-top:10px!important;padding:0 14px;border:0!important;border-radius:6px;background:#c7f35b;color:#111a20!important}
  .mobile-nav-primary span{color:#526b0f!important}.mobile-nav-primary b{margin-left:auto;font-size:16px}
  body.mobile-menu-open{overflow:hidden}
}
@media(max-width:650px){
  .header-inner{gap:10px}
  .mobile-menu-toggle{order:2;width:40px;height:40px;margin-left:auto}
  .header-cta{order:3}
  .mobile-nav-inner a{font-size:13px}
}
@media(max-width:390px){
  .header-cta{padding-inline:9px;font-size:9px;white-space:nowrap}
  .mobile-menu-toggle{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){.mobile-nav,.mobile-menu-toggle span{transition:none}}

/* Product-preview disclaimer under the walkthrough video. */
#workflow .demo-disclaimer{position:static;display:block;width:100%;margin:16px 0 0;padding:0 2px;background:transparent;border:0;border-radius:0;box-shadow:none;color:#788493;font:11px/1.75 Arial,Helvetica,sans-serif;max-width:none}
#workflow .demo-disclaimer strong{font-size:10px;letter-spacing:.45px;font-weight:650;color:#536070;margin-right:4px}
@media(max-width:650px){
 #workflow .demo-disclaimer{font-size:10px;line-height:1.8;margin-top:14px}
}

/* ===== Production additions =====
 * The approved page used inline style attributes; the Content-Security-Policy allows stylesheets only
 * (style-src 'self'), so those values live here. Everything else below is invisible unless used. */
.glow-hero-lime{width:130px;height:130px;left:7%;top:23%;background:#c7f35b}
.glow-hero-blue{width:190px;height:190px;right:14%;top:14%;background:#6bd3ff}
.glow-hero-navy{width:220px;height:220px;right:6%;bottom:10%;background:#203f68}
.glow-approach-lime{width:120px;height:120px;left:9%;top:16%;background:#c7f35b}
.glow-approach-blue{width:180px;height:180px;right:10%;top:12%;background:#6bd3ff}
.glow-approach-navy{width:210px;height:210px;right:6%;bottom:8%;background:#203f68}
.signup .eyebrow{color:#526b0f}
.signup-kicker{font:800 9px var(--mono);letter-spacing:1.1px;color:#61700f;margin-bottom:10px}

/* Keyboard skip link: off-screen until focused. */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;background:var(--lime);color:#111a22;font-size:13px;font-weight:800;border-radius:2px}
.skip-link:focus{top:12px}

/* Signup form semantics without visual change. The input and button stay disabled until the
 * script can handle submission, so the address never lands in a URL query string. */
.signup-form{margin:0}
.email-row button:disabled{cursor:default}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-note a,.noscript-note a{color:#4f6513;font-weight:700;text-decoration:underline}
.noscript-note{color:#5f6b7c;font-size:10px;margin:10px 0 0}

/* Only when NYMFORM_SOURCE_URL is configured (see app.js). */
.hero-foot a{color:var(--lime);font-weight:800}

/* Product walkthrough video (Vimeo). The frame keeps the scripted player's look; the iframe fills it
 * at the video's shape (1920x1032). CSP: frame-src https://player.vimeo.com only. */
.workflow-video{position:relative;box-sizing:content-box;aspect-ratio:1920/1032;overflow:hidden;background:#000;border:1px solid #151515;border-radius:12px;box-shadow:0 22px 60px rgba(17,39,68,.133)}
.workflow-video iframe{position:absolute;top:0;left:0;display:block;width:100%;height:100%;border:0}
/* Browsers without aspect-ratio (Safari before 15): the embed code's own padding technique. */
@supports not (aspect-ratio:1/1){.workflow-video{height:0;padding-top:53.75%}}
@media(max-width:650px){.workflow-video{border-radius:10px}}
/* Early access on desktop (owner request): the signup card on the left, the heading and copy on the right,
   mirroring the enterprise section above. The markup keeps the copy first, so reading and tab order
   (heading, then form) and the stacked phone layout are unchanged. */
@media(min-width:951px){
  .signup-grid{grid-template-columns:.84fr 1fr}
  .signup-card{grid-column:1;grid-row:1}
  .signup-copy{grid-column:2;grid-row:1}
}
/* A link to the privacy notice under each form, outside the status notes (form.js replaces their text). */
.form-privacy{margin:10px 0 0;color:#5f6b7c;font-size:10.5px;line-height:1.5}
.form-privacy a{color:#4f6513;font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* Click-to-load walkthrough (site/video.js): a still frame with a play button fills the video frame;
   Vimeo's player replaces it only after a click. */
.video-poster{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:#0b1626;color:#fff;cursor:pointer;font:inherit}
.video-poster img{display:block;width:100%;height:100%;object-fit:cover}
.video-poster:disabled{cursor:default}
.video-play{position:absolute;left:50%;top:74%;width:clamp(44px,7vw,74px);aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;background:var(--lime);box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 6px rgba(199,243,91,.18);transition:transform .15s ease,background .15s ease}
.video-play:before{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:.5em 0 .5em .82em;border-color:transparent transparent transparent #101827;font-size:clamp(13px,1.9vw,20px)}
.video-play-label{position:absolute;left:50%;top:calc(74% + clamp(30px,4.6vw,50px));transform:translateX(-50%);white-space:nowrap;color:#e6edf5;font:600 13px/1 Arial,Helvetica,sans-serif;letter-spacing:.2px}
.video-poster:not(:disabled):hover .video-play{transform:translate(-50%,-50%) scale(1.06);background:var(--lime-2)}
.video-poster:focus-visible{outline:3px solid var(--lime);outline-offset:-3px}
.video-note{margin:12px 0 0;padding:0 2px;color:#5f6b7c;font:11px/1.7 Arial,Helvetica,sans-serif}
.video-note a{color:#4f6513;font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media(max-width:650px){.video-play-label{display:none}.video-play{top:80%}}
@media(prefers-reduced-motion:reduce){.video-play{transition:none}}
