/* 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){
  .site-header{position:relative;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}}
