/* Nuvopoll homepage — design tokens. Light is the default; dark applies with <html data-theme="dark">. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600&display=swap');

:root {
  /* Roles */
  --color-bg: #f3f2f2;          /* page ground */
  --color-surface: #eae9e9;     /* tinted panel (e.g. phone stage) */
  --surface-0: #ffffff;         /* cards, product windows, inputs */
  --color-text: #201e1d;        /* ink: text, 2px rules, selected chips */
  --on-ink: #ffffff;            /* text placed ON an ink-filled element */
  --color-accent: #ec3013;      /* primary action, active state, closing band */
  --color-divider: color-mix(in srgb, #201e1d 40%, transparent);

  /* Neutral ramp: 100–300 fills/hairlines, 500–700 muted text, 900 strongest */
  --color-neutral-100: #f8f4f4; --color-neutral-200: #eae7e7; --color-neutral-300: #d7d3d3;
  --color-neutral-400: #bab6b6; --color-neutral-500: #9b9797; --color-neutral-600: #7d7979;
  --color-neutral-700: #605d5d; --color-neutral-800: #444141; --color-neutral-900: #2d2b2b;

  /* Accent ramp: 100 tinted fill, 300/400 borders, 600 hover/pressed, 700 accent TEXT (body size) */
  --color-accent-100: #fff2ef; --color-accent-200: #ffe0d9; --color-accent-300: #ffc4b8;
  --color-accent-400: #ff9783; --color-accent-500: #ff563c; --color-accent-600: #dd2b0f;
  --color-accent-700: #ae1800; --color-accent-800: #7c1405; --color-accent-900: #4d170e;

  /* Code panel (identical in both themes) */
  --code-bg: #1f1d1c; --code-text: #f0eded; --code-key: #ff9783; --code-section: #ffc4b8;
  --code-required: #9fd9a8; --code-id: #9cc4f0; --code-option: #7b3fb3; --code-type: #2a64b8;

  /* Type */
  --font: "Archivo", system-ui, sans-serif;
  --fw-regular: 400; --fw-semibold: 600; --fw-heavy: 800;

  /* Space (4px base) */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px;

  /* Shape & depth */
  --radius: 0px;                /* never round a corner */
  --rule: 2px;                  /* structural dividers */
  --hairline: 1px;              /* inside product UI only */
  --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);

  /* Layout */
  --max-width: 1320px;
  --gutter: clamp(16px, 3vw, 40px);
  --section-pad: clamp(48px, 7vw, 96px);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --color-bg: #161514; --color-surface: #1f1d1c; --surface-0: #242220;
  --color-text: #f0eded; --on-ink: #161514;
  --color-divider: color-mix(in srgb, #f0eded 32%, transparent);
  --color-neutral-100: #2a2827; --color-neutral-200: #34312f; --color-neutral-300: #45413f;
  --color-neutral-400: #5e5a58; --color-neutral-500: #7d7979; --color-neutral-600: #9b9797;
  --color-neutral-700: #bab6b6; --color-neutral-800: #d7d3d3; --color-neutral-900: #eae7e7;
  --color-accent-100: #3a1913; --color-accent-200: #4d1f16; --color-accent-300: #7c1405; --color-accent-700: #ff9783;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.5); --shadow-md: 0 3px 10px rgba(0,0,0,.55); --shadow-lg: 0 12px 32px rgba(0,0,0,.6);
}

body { margin: 0; background: var(--color-bg); color: var(--color-text); font-family: var(--font); -webkit-font-smoothing: antialiased; transition: background .3s, color .3s; }
a { color: var(--color-accent-700); text-underline-offset: 3px; }
a:hover { color: var(--color-accent-600); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* Structural styles use the supplied tokens. Product details retain source sizes. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:var(--fw-regular) 17px/1.55 var(--font)}
button,input,select,textarea{all:unset;box-sizing:border-box;font-family:var(--font)}button,summary{cursor:pointer}button:disabled{cursor:default}button:focus-visible,summary:focus-visible{outline:var(--rule) solid var(--color-accent);outline-offset:2px}
h1,h2,h3,h4,b,strong{font-weight:var(--fw-heavy)}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{margin:0;text-align:left;letter-spacing:-.03em}p{margin:0 0 var(--space-6)}a{overflow-wrap:anywhere}img{max-width:100%;height:auto}
pre,code,kbd,table,button,input,select,textarea{font-family:var(--font)}code,pre{overflow-wrap:anywhere;white-space:pre-wrap}sc-for,sc-if{display:contents}sc-if[hidden]{display:none!important}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}
.brand,a.brand,b.brand,.logo{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;font-family:var(--font-poppins),'Poppins',sans-serif!important;font-weight:600!important;font-size:24px!important;line-height:1!important;letter-spacing:-0.02em!important;color:#000000!important;text-decoration:none!important;white-space:nowrap!important;vertical-align:middle!important}
.brand img,.brand-icon,a.brand img,img[src*="logo-icon"]{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;min-height:32px!important;max-height:32px!important;flex-shrink:0!important;object-fit:contain!important;filter:none!important;-webkit-filter:none!important;display:inline-block!important;vertical-align:middle!important;margin:0!important}
.site-footer .brand img,.page-footer .brand img{width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;min-height:24px!important;max-height:24px!important}
.brand-text,.brand span.brand-text,a.brand span.brand-text{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:baseline!important;font-family:var(--font-poppins),'Poppins',sans-serif!important;font-weight:600!important;font-size:24px!important;line-height:1!important;letter-spacing:-0.02em!important;color:#000000!important;white-space:nowrap!important;margin:0!important}
.site-footer .brand-text,.page-footer .brand-text{font-size:18px!important}
.brand-p,.brand .brand-p,.brand-text .brand-p,a.brand .brand-p,.fuchsia-p{color:#d6398a!important;font-weight:600!important}
html[data-theme="dark"] .brand,html[data-theme="dark"] a.brand,html[data-theme="dark"] b.brand,html[data-theme="dark"] .brand-text,html[data-theme="dark"] .brand-text span,html[data-theme="dark"] .brand>span,.dark .brand,.dark a.brand,.dark b.brand,.dark .brand-text,.dark .brand-text span,.dark .brand>span{color:#ffffff!important}
html[data-theme="dark"] .brand-p,html[data-theme="dark"] .brand .brand-p,html[data-theme="dark"] .brand-text .brand-p,html[data-theme="dark"] a.brand .brand-p,.dark .brand-p,.dark .brand .brand-p,.dark .brand-text .brand-p,.dark a.brand .brand-p{color:#d6398a!important}
html[data-theme="light"] .brand,html[data-theme="light"] a.brand,html[data-theme="light"] b.brand,html[data-theme="light"] .brand-text,html[data-theme="light"] .brand-text span,html[data-theme="light"] .brand>span,.light .brand,.light a.brand,.light b.brand,.light .brand-text,.light .brand-text span,.light .brand>span{color:#000000!important}
html[data-theme="light"] .brand-p,html[data-theme="light"] .brand .brand-p,html[data-theme="light"] .brand-text .brand-p,html[data-theme="light"] a.brand .brand-p,.light .brand-p,.light .brand .brand-p,.light .brand-text .brand-p,.light a.brand .brand-p{color:#d6398a!important}
.btn,.action,.chip,.theme-control{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--rule) solid var(--color-text);font-size:14px;font-weight:var(--fw-heavy);text-align:left;white-space:nowrap;text-decoration:none;color:var(--color-text);background:transparent;max-width:100%;transition:background .15s,transform .15s}.btn-primary,.action:not(.ghost){background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover,.action:not(.ghost):hover{background:var(--color-accent-600);border-color:var(--color-accent-600);color:#fff}.btn-secondary:hover,.ghost:hover,.chip:hover{background:var(--color-accent-100);color:var(--color-text)}.btn:active,.action:active,button:active{transform:scale(.97)}.chip{font-size:13px;font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3)}.chip[aria-pressed=true]{background:var(--color-text);color:var(--on-ink)}
.lucide{width:16px;height:16px;display:inline-block;flex:none;vertical-align:middle;stroke:currentColor;stroke-width:2;fill:none}.motion-toolbar{display:flex;align-items:baseline;justify-content:flex-start;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) 0;border-bottom:var(--rule) solid var(--color-divider)}.simulation-note,.micro{font-size:13px;line-height:1.45;color:var(--color-neutral-700)}.site-header{font-size:14px}.site-header button,.site-header a{font-family:var(--font)}
.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border:var(--rule) solid var(--color-text);white-space:nowrap;max-width:100%}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-700);border-color:var(--color-accent)}.tag-neutral{background:var(--color-neutral-200)}.table{border-collapse:collapse;table-layout:fixed;width:100%;text-align:left}.table th,.table td{padding:var(--space-2);border-bottom:var(--hairline) solid var(--color-neutral-300);overflow-wrap:anywhere;vertical-align:top}.table th{font-weight:var(--fw-heavy);border-bottom:var(--rule) solid var(--color-divider)}
.home-hero{min-width:0}.home-hero>div{min-width:0}.home-hero h1{font-weight:var(--fw-heavy);text-wrap:pretty!important}.home-hero>div:first-child{padding-block:var(--section-pad)!important}.home-hero>div:nth-child(2){padding-block:var(--section-pad)!important}.journey{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))!important}.journey>a{border-left:var(--rule) solid var(--color-divider)!important;margin-left:0!important;padding:var(--space-6)!important}.home-preparation>div{min-width:0}.home-participation>div:nth-child(2)>div,.home-report>div:nth-child(2)>div{min-width:0}.home-report .btn{font-size:13px}.home-field>div{min-width:0}.closing-band h2{font-weight:var(--fw-heavy)}.closing-band .btn:hover{color:#fff;background:var(--color-accent-600)}.closing-band .closing-primary{background:#fff!important;color:#201e1d!important;border-color:#fff}.skip-link{position:fixed;top:var(--space-2);left:var(--gutter);z-index:1000;transform:translateY(-200%);padding:var(--space-3);background:var(--surface-0);color:var(--color-text);border:var(--rule) solid var(--color-text)}.skip-link:focus{transform:none}
.page-header{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--space-4) var(--space-6);min-height:68px;border-bottom:var(--rule) solid var(--color-text);padding-block:var(--space-3)}.main-navigation{display:flex;flex-wrap:wrap;gap:var(--space-6);font-size:14px;font-weight:var(--fw-semibold);margin-left:auto}.main-navigation a{color:var(--color-text);text-decoration:none}.language-picker{display:flex;border:var(--rule) solid var(--color-text);font-size:12px;font-weight:var(--fw-heavy)}.language-picker a{padding:var(--space-1) var(--space-2);text-decoration:none;color:var(--color-text);white-space:nowrap}.language-picker a[aria-current]{background:var(--color-text);color:var(--on-ink)}.page-menu{font-size:13px;font-weight:var(--fw-semibold);position:relative}.page-menu summary{border:var(--rule) solid var(--color-text);padding:var(--space-1) var(--space-2);list-style:none;white-space:nowrap}.page-menu nav{position:absolute;top:100%;right:0;z-index:20;width:min(100vw - 2 * var(--gutter),340px);padding:var(--space-4);background:var(--surface-0);border:var(--rule) solid var(--color-text);display:grid;gap:var(--space-3)}
.page-hero{padding:var(--section-pad) 0;border-bottom:var(--rule) solid var(--color-text)}.page-hero h1{font-size:clamp(34px,4vw,56px);line-height:1;margin:var(--space-6) 0;max-width:30ch}.page-hero .lede{font-size:clamp(17px,1.6vw,20px);line-height:1.5;max-width:64ch}.label,.kicker{font-size:12px;font-weight:var(--fw-heavy);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-700);margin-bottom:var(--space-4)}.seo-trail{font-size:13px;color:var(--color-neutral-700);margin-bottom:var(--space-6)}.seo-trail ol{display:flex;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none}.seo-trail li+li::before{content:'/';padding-right:var(--space-2)}.seo-trail a{color:inherit}.actions,.cta-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-start}
.page-copy{max-width:940px;margin:0 auto;padding:var(--space-8) var(--gutter) var(--section-pad)}.page-copy h2{font-size:clamp(34px,4vw,56px);line-height:1;margin:var(--space-8) 0 var(--space-6);max-width:36ch}.page-copy h3{font-size:22px;line-height:1.2;margin:var(--space-6) 0 var(--space-4)}.page-copy h4{font-size:17px;margin-bottom:var(--space-3)}.page-copy p{font-size:17px;line-height:1.55}.page-copy ul,.page-copy ol{padding-left:var(--space-6);margin-block:var(--space-6)}.page-copy li{padding-bottom:var(--space-3)}.page-copy a:not(.btn):not(.action){color:var(--color-accent-700)}.page-copy .grid,.page-copy .cards,.page-copy .compare,.page-copy .two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--space-6)}.page-copy .card,.page-copy .note,.page-copy .callout,.page-copy .warning,.page-copy .question-example{background:var(--surface-0);border:var(--rule) solid var(--color-text);padding:var(--space-6);margin-block:var(--space-6)}.page-copy .card h2{font-size:22px;margin-top:0}.page-copy .note p,.page-copy .card p:last-child{margin-bottom:0}.page-copy>section,.content-section{border-bottom:var(--rule) solid var(--color-text);padding-bottom:var(--space-8);margin-bottom:var(--space-8)}.page-copy section>section{border-top:var(--rule) solid var(--color-divider);padding-top:var(--space-4)}
.page-copy table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;table-layout:fixed;margin-block:var(--space-6)}.page-copy td,.page-copy th{padding:var(--space-3);border-bottom:var(--rule) solid var(--color-divider);vertical-align:top;overflow-wrap:anywhere}.page-copy th{font-weight:var(--fw-heavy);border-bottom-color:var(--color-text)}.page-copy .table-wrap{overflow-x:auto;max-width:100%;outline-offset:2px}.page-copy blockquote{border-left:var(--rule) solid var(--color-text);margin:var(--space-6) 0;padding-left:var(--space-6)}.page-copy pre{background:var(--code-bg);color:var(--code-text);padding:var(--space-6);font-size:13px}.page-copy input,.page-copy select,.page-copy textarea{display:block;width:100%;border:var(--rule) solid var(--color-text);background:var(--surface-0);padding:var(--space-3)}.page-copy button{border:var(--rule) solid var(--color-text);padding:var(--space-2) var(--space-3);white-space:nowrap}
.page-related{padding:var(--space-8) var(--gutter);max-width:var(--max-width);margin:auto;border-top:var(--rule) solid var(--color-text)}.page-related h2{font-size:clamp(34px,4vw,56px);line-height:1;margin-bottom:var(--space-6)}.page-related ul{display:flex;gap:var(--space-4) var(--space-6);list-style:none;padding:0;flex-wrap:wrap}.page-footer{max-width:var(--max-width);margin:auto;padding:var(--space-8) var(--gutter);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-6);font-size:13px}.page-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-4)}.demo-wrapper{border-bottom:var(--rule) solid var(--color-text);padding-block:var(--section-pad)}.demo-wrapper .demo-heading{margin-bottom:var(--space-6)}.demo-wrapper .motion-toolbar{margin-bottom:var(--space-6)}.demo-wrapper .home-report,.demo-wrapper .home-preparation,.demo-wrapper .home-participation,.demo-wrapper .home-field{padding-top:var(--space-8)!important}.demo-wrapper .demo-title{font-size:clamp(34px,4vw,56px);line-height:1;margin-bottom:var(--space-6)}
@media(max-width:780px){.home-hero{display:flex!important;flex-direction:column}.home-hero>div{padding-left:0!important;padding-right:0!important;border-right:0!important}.home-hero>div:nth-child(2){border-top:var(--rule) solid var(--color-divider)}.main-navigation{margin-left:0}.page-copy .grid{display:block}.home-preparation>div:first-child{max-width:100%!important}.home-protection>div:nth-child(2)>div{padding:var(--space-6)!important;border-bottom:var(--rule) solid var(--color-divider)}.home-participation>div:nth-child(2)>div,.home-report>div:nth-child(2)>div{border-right:0!important;border-bottom:var(--rule) solid var(--color-divider)}}
@media(max-width:560px){.site-header>div:nth-child(2){gap:var(--space-4)!important;margin-left:0!important}.site-header .btn{min-width:170px!important}.home-hero h1{font-size:44px!important}.home-hero .btn,.closing-band .btn{font-size:13px!important;min-width:0!important;padding:var(--space-3)!important}.home-hero>div:nth-child(2)>div:nth-child(2){min-height:620px}.home-preparation>div:nth-child(2)>div:first-child{height:auto!important;min-height:620px}.home-preparation sc-if>div[style*="grid-template-columns:minmax"]{grid-template-columns:1fr!important}.home-preparation sc-if>div[style*="grid-template-columns:minmax"]>div{overflow:visible!important}.home-preparation sc-if>div[style*="grid-template-columns:minmax"]>div+div{border-left:0!important;border-top:var(--rule) solid var(--color-divider)}.home-preparation table{font-size:11px!important}.home-participation>div:nth-child(2){grid-template-columns:1fr!important}.home-participation>div:nth-child(2)>div:first-child{padding:var(--space-4)!important}.home-participation>div:nth-child(2)>div:first-child>div{max-width:100%!important}.home-report>div:nth-child(2){grid-template-columns:1fr!important}.home-report>div:nth-child(2)>div:nth-child(2)>div:first-child{flex-wrap:wrap}.home-report>div:nth-child(2)>div:nth-child(2)>div:first-child>div{margin-left:0!important}.home-report>div:nth-child(2)>div:first-child>div:last-child{flex-wrap:wrap}.home-field>div:nth-child(2) sc-for>div{grid-template-columns:1fr!important}.home-protection>div:nth-child(2){grid-template-columns:1fr!important}.page-hero h1{max-width:100%}.page-copy th,.page-copy td{padding:var(--space-2);font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Product controls keep their labels on a single line; rows wrap between controls. */
.home-hero button{white-space:nowrap;max-width:100%}.home-hero button span{white-space:nowrap}.home-hero button{min-width:0!important}.home-hero button[style*="flex:1"]{flex:1 1 100%!important}.home-hero h1 span{display:inline}.page-copy .label{color:var(--color-neutral-700)}.page-copy .card{box-shadow:none}.page-copy figure{display:none}
@media(max-width:1000px){.home-hero sc-if>div:last-child{flex-wrap:wrap!important;gap:var(--space-3)}.home-hero sc-if>div:last-child>button{flex-basis:100%!important}.home-hero sc-if>div:last-child>button+button{margin-left:0!important}}

.page-copy .split,.page-copy .cols,.page-copy .thirds,.page-copy .does,.page-copy .stops{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--space-6)}.page-copy .split>div,.page-copy .cols>div{min-width:0}.page-copy .point,.page-copy .step,.page-copy .way,.page-copy .smallcall,.page-copy .editorial-cta{border-top:var(--rule) solid var(--color-divider);padding:var(--space-6) 0}.page-copy .byline,.page-copy .mut,.page-copy .eyebrow{color:var(--color-neutral-700);font-size:13px}.page-copy .eyebrow,.page-copy .k{font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.1em}.page-copy .num,.page-copy .n{font-size:34px;font-weight:var(--fw-heavy)}.page-copy .price-card{border:var(--rule) solid var(--color-text);padding:var(--space-6);background:var(--surface-0)}.page-copy .pset{display:flex;gap:var(--space-3);flex-wrap:wrap}.page-copy .pbtn[aria-pressed=true]{background:var(--color-text);color:var(--on-ink)}.page-copy .pout{font-size:22px;font-weight:var(--fw-heavy);padding-top:var(--space-4)}.closing-band{background:var(--color-accent);color:#fff;padding:var(--section-pad) 0}.closing-band h2{font-size:clamp(40px,6.4vw,96px);line-height:.96;max-width:16ch;margin-bottom:var(--space-8)}.closing-band a{color:#fff}.home-participation .table td{white-space:normal}.home-participation [style*="text-overflow:ellipsis"]>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-preparation [style*="font-weight:700"],.home-hero [style*="font-weight:700"]{font-weight:var(--fw-semibold)!important}body{font-variant-numeric:tabular-nums}
.home-hero [style*="margin-top:auto"][style*="border-top"]{flex-wrap:wrap;gap:var(--space-3)}.home-hero span.btn{min-width:0!important;font-size:13px;padding:var(--space-3);white-space:nowrap}.home-hero [style*="grid-template-columns:repeat(3"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))!important}.home-hero [style*="grid-template-columns:1fr 1.3fr"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important}.home-hero [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))!important}.home-hero sc-if b,.home-hero sc-if span:not(.btn){overflow-wrap:break-word;min-width:0}.home-hero .tag{white-space:nowrap}.home-hero sc-if>div[style*="padding:22px"]>div:last-child{grid-template-columns:1fr 1fr!important}

.ai-demo{display:block!important;border:0!important}.ai-demo>div:first-child{padding:0!important;border:0!important}.ai-demo>div:first-child>div:last-child{min-height:620px}

.site-header button{white-space:nowrap!important}.home-hero [style*="padding:2px 5px"]{white-space:nowrap}

img[src$="gasca-logo.avif"]{filter:none}

.site-header .btn-secondary,
.page-header .btn-secondary {
  min-width: 0 !important;
  width: auto !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.nuvopoll-full-footer a:hover {
  color: var(--color-accent) !important;
}

/* --- PRICING GRID 4 COLUMNS (SIDE BY SIDE IN ONE ROW) --- */
.page-copy-wide,
.page-copy:has(.pricing-grid-4),
.page-copy:has(.price-card:nth-of-type(4)) {
  max-width: var(--max-width, 1320px) !important;
}

.page-copy-wide > section:not(:has(.pricing-grid-4)) > div,
.page-copy-wide h2,
.page-copy-wide p.lede,
.page-copy:has(.pricing-grid-4) h2,
.page-copy:has(.pricing-grid-4) p.lede {
  max-width: 860px;
}

.page-copy .pricing-grid-4,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin-block: var(--space-6) !important;
}

.page-copy .pricing-grid-4 .price-card,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 20px 16px !important;
  margin-block: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  background: var(--surface-0) !important;
  border: var(--rule) solid var(--color-text) !important;
  box-shadow: 3px 3px 0px 0px var(--color-text, #1a1a1a) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.page-copy .pricing-grid-4 .price-card:hover,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card:hover {
  transform: translateY(-2px);
  box-shadow: 5px 5px 0px 0px var(--color-text, #1a1a1a) !important;
}

.page-copy .pricing-grid-4 .price-card .num,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card .num {
  font-size: clamp(15px, 1.2vw, 18px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  display: block !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  color: var(--color-text) !important;
}

.page-copy .pricing-grid-4 .price-card h3,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card h3 {
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 0 0 10px 0 !important;
  font-weight: 700 !important;
  color: var(--color-neutral-700) !important;
  min-height: 38px !important;
}

.page-copy .pricing-grid-4 .price-card .price,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card .price {
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  margin: 0 0 12px 0 !important;
  color: var(--color-text) !important;
}

.page-copy .pricing-grid-4 .price-card .price small,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card .price small {
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: var(--color-neutral-600) !important;
}

.page-copy .pricing-grid-4 .price-card .phase-breakdown,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card .phase-breakdown {
  background: var(--surface-1, rgba(0, 0, 0, 0.03)) !important;
  border: 1px solid var(--color-divider, #e5e5e5) !important;
  padding: 8px 10px !important;
  margin-bottom: 12px !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

.page-copy .pricing-grid-4 .price-card .phase-breakdown > div,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card .phase-breakdown > div {
  display: flex !important;
  justify-content: space-between !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
}

.page-copy .pricing-grid-4 .price-card .phase-breakdown strong,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card .phase-breakdown strong {
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.page-copy .pricing-grid-4 .price-card p,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card p {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  margin-bottom: 8px !important;
}

.page-copy .pricing-grid-4 .price-card p.micro,
.page-copy .pricing-grid:has(> .price-card:nth-child(4)) .price-card p.micro {
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: var(--color-neutral-700) !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 8px !important;
  border-top: 1px dashed var(--color-divider, #e5e5e5) !important;
}

/* Responsive fallbacks if viewport is too narrow for 4 columns */
@media (max-width: 900px) {
  .page-copy .pricing-grid-4,
  .page-copy .pricing-grid:has(> .price-card:nth-child(4)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  .page-copy .pricing-grid-4,
  .page-copy .pricing-grid:has(> .price-card:nth-child(4)) {
    grid-template-columns: 1fr !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   HOME HERO & HEADER COMPACT SIZING (ABOVE-THE-FOLD ON 1280×720 & MOBILE)
   ══════════════════════════════════════════════════════════════════════ */
.site-header {
  min-height: 54px !important;
  padding: 8px 0 !important;
  gap: 12px 20px !important;
}

.motion-toolbar {
  padding: 6px 0 !important;
  gap: 10px !important;
  font-size: 12px !important;
}
.motion-toolbar .chip {
  padding: 3px 8px !important;
  font-size: 11px !important;
}
.motion-toolbar .simulation-note {
  font-size: 12px !important;
}

/* Desktop & Laptop Hero compact scaling */
.home-hero > div:first-child {
  padding-top: clamp(18px, 2.5vw, 36px) !important;
  padding-bottom: clamp(20px, 3vw, 40px) !important;
  gap: 16px !important;
}
.home-hero > div:nth-child(2) {
  padding-top: clamp(18px, 2.5vw, 36px) !important;
  padding-bottom: clamp(20px, 3vw, 40px) !important;
}
.home-hero h1 {
  font-size: clamp(34px, 4.2vw, 58px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
}
.home-hero p {
  font-size: clamp(15px, 1.3vw, 18px) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  max-width: 48ch !important;
}
.home-hero div[style*="font-size:12px"][style*="letter-spacing:0.14em"],
.home-hero div[style*="font-size:12px"][style*="letter-spacing:.14em"] {
  font-size: 11px !important;
  margin-bottom: -4px !important;
}
.home-hero .btn,
.home-hero .btn-primary,
.home-hero .btn-secondary {
  padding: 11px 18px !important;
  font-size: 14px !important;
  min-width: 0 !important;
}

/* Dedicated Laptop / 1280x720 optimization */
@media (max-height: 820px) and (min-width: 781px) {
  .site-header {
    min-height: 48px !important;
    padding: 4px 0 !important;
    gap: 8px 16px !important;
  }
  .motion-toolbar {
    padding: 4px 0 !important;
  }
  .home-hero > div:first-child {
    padding-top: 16px !important;
    padding-bottom: 20px !important;
    gap: 14px !important;
  }
  .home-hero h1 {
    font-size: clamp(32px, 3.8vw, 48px) !important;
    line-height: 1.05 !important;
  }
  .home-hero p {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  .home-hero .btn {
    padding: 9px 15px !important;
    font-size: 13.5px !important;
  }
}

/* Mobile: Compact nav, controls and above-the-fold hero content */
@media (max-width: 780px) {
  .site-header {
    min-height: 46px !important;
    padding: 6px 0 !important;
    gap: 8px 12px !important;
    justify-content: space-between !important;
  }
  /* Collapse redundant in-page anchor links on mobile so controls and hero are elevated */
  .site-header > div:nth-child(2) {
    display: none !important;
  }
  .site-header .brand {
    font-size: 20px !important;
    gap: 8px !important;
  }
  .site-header .brand img,
  .site-header .brand-icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
  }
  .site-header .brand-text {
    font-size: 20px !important;
  }
  .site-header .theme-control {
    padding: 4px 8px !important;
    font-size: 11px !important;
  }
  .site-header .btn-secondary,
  .site-header .btn {
    padding: 5px 10px !important;
    font-size: 12px !important;
    min-width: 0 !important;
  }
  .site-header > div[style*="border:2px solid var(--color-text)"] button,
  .site-header > div[style*="border:2px solid var(--color-text)"] a {
    padding: 4px 7px !important;
    font-size: 11px !important;
  }
  .motion-toolbar {
    padding: 4px 0 !important;
    gap: 8px !important;
    font-size: 11px !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
  }
  .motion-toolbar .chip {
    padding: 2px 7px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
  }
  .motion-toolbar .simulation-note {
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .home-hero {
    border-bottom: 2px solid var(--color-text) !important;
  }
  .home-hero > div:first-child {
    padding: 14px 0 20px 0 !important;
    gap: 12px !important;
  }
  .home-hero h1 {
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
  }
  .home-hero p {
    font-size: 14px !important;
    line-height: 1.4 !important;
    max-width: 100% !important;
  }
  .home-hero div[style*="display:flex;gap:12px"] {
    gap: 8px !important;
    flex-direction: column !important;
  }
  .home-hero .btn {
    width: 100% !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   HERO WITH MEDIA / SPLIT LAYOUT (E.G. ERASMUS PAGE)
   ══════════════════════════════════════════════════════════════════════════ */
.page-hero-split {
  padding-top: clamp(36px, 5vw, 64px) !important;
  padding-bottom: 0 !important;
  border-bottom: var(--rule) solid var(--color-text) !important;
  overflow: hidden;
}

.page-hero-split .page-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
  gap: clamp(24px, 4vw, 48px) !important;
  align-items: end !important;
}

.page-hero-split .page-hero-content {
  padding-bottom: clamp(36px, 5vw, 64px) !important;
  min-width: 0 !important;
}

.page-hero-split .page-hero-content .seo-trail {
  margin-bottom: var(--space-4) !important;
}

.page-hero-split .page-hero-content .label {
  margin-bottom: var(--space-3) !important;
}

.page-hero-split .page-hero-content h1 {
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 var(--space-4) !important;
  max-width: 20ch !important;
}

.page-hero-split .page-hero-content .lede {
  font-size: clamp(16px, 1.4vw, 19px) !important;
  line-height: 1.5 !important;
  max-width: 50ch !important;
  margin: 0 0 var(--space-6) !important;
}

.page-hero-split .page-hero-media {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-end !important;
  line-height: 0 !important;
  margin-bottom: -1px !important;
  min-width: 0 !important;
}

.page-hero-split .page-hero-media img {
  display: block !important;
  width: 100% !important;
  max-width: 580px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: bottom right !important;
  vertical-align: bottom !important;
}

@media (max-width: 860px) {
  .page-hero-split {
    padding-top: 28px !important;
  }
  .page-hero-split .page-hero-grid {
    grid-template-columns: 1fr !important;
    gap: var(--space-6) !important;
  }
  .page-hero-split .page-hero-content {
    padding-bottom: var(--space-2) !important;
  }
  .page-hero-split .page-hero-media {
    justify-content: center !important;
    margin-bottom: -1px !important;
  }
  .page-hero-split .page-hero-media img {
    max-width: min(100%, 460px) !important;
    margin: 0 auto !important;
  }
}
