/* Clientovo editorial system.
   Newsreader was chosen for headings because its restrained editorial character feels
   like professional correspondence, while IBM Plex Sans keeps operational copy precise. */
@font-face{font-family:"Newsreader";src:url("/fonts/newsreader-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Newsreader";src:url("/fonts/newsreader-latin-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}

:root{
  --blue:#255FE8;
  --blue-hover:#174BCB;
  --deep-blue:#193F82;
  --ink:#11213B;
  --text:#33455F;
  --muted:#53627A;
  --quiet:#7A879B;
  --surface:#FFFFFF;
  --surface-soft:#FBFCFE;
  --surface-tint:#F5F7FB;
  --blue-tint:#EEF4FF;
  --border:#E5EAF1;
  --border-strong:#D5DFED;
  --selection:#DCE7FF;
  --error:#B42318;
  --shadow:#11213B12;
  --font-heading:"Newsreader",Georgia,serif;
  --font-body:"IBM Plex Sans","Arial",sans-serif;
  --text-xs:.875rem;
  --text-sm:1rem;
  --text-base:1.125rem;
  --text-lg:1.375rem;
  --text-xl:2rem;
  --text-display:clamp(3.5rem,7vw,4.5rem);
  --container:72.5rem;
  --measure:42.5rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--blue-hover)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.7}
::selection{background:var(--selection);color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
[hidden]{display:none!important}
h1,h2,h3{margin:0;color:var(--ink);font-family:var(--font-heading);font-weight:400;line-height:1.03;letter-spacing:-.018em;text-wrap:balance}
h1{font-size:var(--text-display)}
h2{font-size:var(--text-xl);line-height:1.12}
h3{font-size:var(--text-lg);line-height:1.2}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0}
blockquote{margin:0}
.shell{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.text-column{width:min(100%,var(--measure))}
.section{padding-block:120px}
.section-compact{padding-block:80px}
.section-tint{background:var(--surface-tint)}
.section-ink{background:var(--ink);color:var(--surface)}
.section-ink h2,.section-ink h3,.section-ink a{color:var(--surface)}
.section-ink p{color:var(--border-strong)}
.kicker{margin:0 0 16px;color:var(--blue);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em}
.lede{font-size:var(--text-lg);line-height:1.5}
.small{font-size:var(--text-xs);line-height:1.55}
.muted{color:var(--muted)}
.rule{border:0;border-top:1px solid var(--border);margin:0}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-8{grid-column:span 8}.span-4{grid-column:span 4}
.stack{display:grid;gap:24px}
.stack-lg{display:grid;gap:40px}
.inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--blue);border-radius:4px;padding:10px 20px;background:var(--blue);color:var(--surface);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease}
.button:hover{border-color:var(--blue-hover);background:var(--blue-hover);color:var(--surface)}
.button-secondary{border-color:var(--border-strong);background:var(--surface);color:var(--ink)}
.button-secondary:hover{border-color:var(--ink);background:var(--surface);color:var(--ink)}
.text-link{color:var(--ink);font-weight:600}
.external-mark{font-size:var(--text-xs);margin-left:6px}

.skip-link{position:fixed;left:16px;top:16px;z-index:1000;transform:translateY(-160%);border-radius:4px;padding:10px 16px;background:var(--ink);color:var(--surface)}
.skip-link:focus{transform:none}
.site-header{position:relative;z-index:100;border-bottom:1px solid var(--border);background:var(--surface)}
.site-nav{min-height:72px;display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);line-height:1;text-decoration:none}
.brand img{width:32px;height:32px}
.nav-links{display:flex;align-items:center;gap:28px;margin-left:24px}
.nav-links a,.login-trigger{color:var(--ink);font-size:var(--text-sm);text-decoration:none}
.nav-links a:hover,.login-trigger:hover{text-decoration:underline;text-underline-offset:5px}
.nav-actions{display:flex;align-items:center;gap:16px;margin-left:auto}
.login-menu{position:relative}
.login-trigger{min-height:44px;border:0;background:transparent;padding:8px}
.login-panel{position:absolute;right:0;top:calc(100% + 12px);min-width:220px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px var(--shadow);padding:8px}
.login-panel a{display:block;min-height:44px;border-radius:4px;padding:8px 12px;color:var(--ink);text-decoration:none}
.login-panel a:hover{background:var(--surface-tint)}
.menu-button{display:none;min-width:48px;min-height:48px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--ink)}
.mobile-menu{position:fixed;inset:73px 0 0;z-index:90;overflow:auto;background:var(--surface);padding:24px}
.mobile-menu-inner{display:grid;gap:8px;width:min(100%,var(--measure));margin-inline:auto}
.mobile-menu a{display:flex;min-height:48px;align-items:center;border-bottom:1px solid var(--border);color:var(--ink);text-decoration:none}
.mobile-menu .button{margin-top:16px;color:var(--surface);justify-content:center}

.hero{padding-block:112px 96px}
.hero-copy{align-self:center}
.hero-copy .lede{max-width:var(--measure);margin-top:28px}
.hero-actions{margin-top:32px}
.hero-note{margin-top:16px;color:var(--muted)}
.portal-preview{align-self:center;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px var(--shadow);overflow:hidden}
.preview-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:16px 20px;background:var(--surface-soft)}
.preview-wordmark{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--ink)}
.preview-body{padding:28px}
.preview-title{margin-bottom:24px}
.preview-meta{color:var(--muted);font-size:var(--text-sm)}
.preview-list{list-style:none;border-top:1px solid var(--border)}
.preview-list li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:16px 0;color:var(--ink);font-size:var(--text-sm)}
.preview-status{color:var(--deep-blue);font-weight:600}
.hero-caption{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.hero-caption p{margin:0;padding:24px;border-right:1px solid var(--border);color:var(--ink);font-size:var(--text-sm)}
.hero-caption p:last-child{border-right:0}
.preview-caption{border-top:1px solid var(--border);padding:16px 20px;color:var(--muted);font-size:var(--text-xs)}

.section-heading{margin-bottom:56px}
.section-heading h2{max-width:var(--measure)}
.section-heading p{max-width:var(--measure);margin-top:18px}
.numbered-list{border-top:1px solid var(--border)}
.numbered-row{display:grid;grid-template-columns:160px minmax(0,var(--measure));gap:32px;border-bottom:1px solid var(--border);padding:40px 0}
.number{font-family:var(--font-heading);font-size:var(--text-xl);line-height:1;color:var(--blue)}
.numbered-row h3{margin-bottom:12px}
.numbered-row p{margin:0}

.contrast-lead{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:end;padding-bottom:64px}
.contrast-lead h2{font-size:var(--text-xl);color:var(--surface)}
.contrast-lead p{font-size:var(--text-lg);margin:0}
.contrast-points{border-top:1px solid var(--muted)}
.contrast-point{display:grid;grid-template-columns:5fr 7fr;gap:64px;border-bottom:1px solid var(--muted);padding:28px 0}
.contrast-point h3{color:var(--surface);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;letter-spacing:0}
.contrast-point p{margin:0}

.pricing-head{display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:end;margin-bottom:48px}
.pricing-head p{margin:0}
.pricing-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px}
.price-card{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);padding:40px}
.price-card-featured{border-color:var(--ink)}
.plan-name{font-weight:600;color:var(--ink)}
.price{margin:12px 0 8px;font-family:var(--font-heading);font-size:var(--text-display);line-height:1;color:var(--ink);font-feature-settings:"tnum" 1}
.price small{font-family:var(--font-body);font-size:var(--text-sm);color:var(--muted)}
.clean-list{display:grid;gap:12px;margin:28px 0 32px;list-style:none}
.clean-list li{position:relative;padding-left:22px}
.clean-list li::before{content:"–";position:absolute;left:0;color:var(--blue)}
.price-note{margin-top:24px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);padding:24px}
.price-footer{display:flex;justify-content:space-between;gap:24px;margin-top:24px;color:var(--muted);font-size:var(--text-sm)}

.faq-layout{display:grid;grid-template-columns:4fr 8fr;gap:64px}
.faq-list{border-top:1px solid var(--border)}
.faq-list details{border-bottom:1px solid var(--border)}
.faq-list summary{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:24px;color:var(--ink);font-weight:600;cursor:pointer;list-style:none;padding:16px 0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:var(--font-heading);font-size:var(--text-lg);font-weight:400}
.faq-list details[open] summary::after{content:"–"}
.faq-answer{max-width:var(--measure);padding:0 0 24px}

.cta-band{background:var(--ink);color:var(--surface)}
.cta-band h2{color:var(--surface)}
.cta-band .lede{color:var(--border-strong)}
.cta-band .button-secondary{border-color:var(--surface);background:var(--surface);color:var(--ink)}
.cta-band .small{color:var(--border-strong)}
.setup-area{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.setup-copy{position:sticky;top:32px}
.form-card{border:1px solid var(--border);border-radius:8px;padding:40px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:grid;gap:8px}
.field-wide{grid-column:1/-1}
label{color:var(--ink);font-size:var(--text-sm);font-weight:600}
input,select,textarea{width:100%;min-height:48px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--ink);font-size:var(--text-sm);padding:10px 12px}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:1px}
[aria-invalid="true"]{border-color:var(--error)}
.field-error,.form-status{min-height:22px;color:var(--error);font-size:var(--text-xs)}
.form-submit{margin-top:24px}
.form-privacy{margin-top:20px;color:var(--muted);font-size:var(--text-xs)}
.form-success{border-left:4px solid var(--blue);padding:20px 24px;background:var(--blue-tint)}
.form-success h3{margin-bottom:8px}

.site-footer{border-top:1px solid var(--border);padding-block:72px 32px;background:var(--surface)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.2fr;gap:48px}
.footer-intro p{max-width:var(--measure);margin-top:16px;color:var(--muted)}
.footer-col h2{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:0;margin-bottom:14px}
.footer-col a{display:block;min-height:36px;color:var(--text);font-size:var(--text-sm)}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--border);margin-top:48px;padding-top:24px;color:var(--muted);font-size:var(--text-xs)}
.footer-todo{display:none}

/* Process */
.page-hero{padding-block:96px;border-bottom:1px solid var(--border)}
.page-hero .lede{max-width:var(--measure);margin-top:24px}
.timeline{position:relative}
.timeline::before{content:"";position:absolute;left:48px;top:24px;bottom:24px;width:1px;background:var(--border-strong)}
.timeline-step{position:relative;display:grid;grid-template-columns:96px minmax(0,var(--measure));gap:40px;padding:0 0 56px}
.timeline-step:last-child{padding-bottom:0}
.timeline-number{position:relative;z-index:1;display:grid;width:64px;height:64px;place-items:center;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--blue);font-family:var(--font-heading);font-size:var(--text-lg)}
.timeline-step h2{font-size:var(--text-lg);margin-bottom:12px}
.timeline-step p:last-child{margin-bottom:0}
.example-line{color:var(--muted);font-size:var(--text-sm)}
.portal-section{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:start}
.portal-notes{border-top:1px solid var(--border)}
.portal-note{border-bottom:1px solid var(--border);padding:24px 0}
.portal-note h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;letter-spacing:0;margin-bottom:8px}
.mock-form{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px var(--shadow);overflow:hidden}
.mock-form-header{border-bottom:1px solid var(--border);padding:20px 24px}
.mock-form-body{display:grid;gap:16px;padding:24px}
.mock-field{display:grid;gap:6px;color:var(--ink);font-size:var(--text-sm)}
.mock-value{min-height:48px;border:1px solid var(--border);border-radius:4px;padding:10px 12px;background:var(--surface-soft)}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}
.compare-col{padding:40px}
.compare-col+ .compare-col{border-left:1px solid var(--border-strong);background:var(--surface-tint)}
.compare-col h3{margin-bottom:16px}
.compare-list{display:grid;gap:10px;list-style:none}
.compare-list li{border-top:1px solid var(--border);padding-top:10px}
.responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.responsibility{border-top:4px solid var(--ink);padding:24px 0}
.responsibility:last-child{border-color:var(--blue)}
.report-preview{border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}
.report-header{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);padding:24px}
.report-meta,.report-row{display:grid;grid-template-columns:repeat(3,1fr)}
.report-meta>div,.report-row>div{border-right:1px solid var(--border);padding:20px}
.report-meta>div:last-child,.report-row>div:last-child{border-right:0}
.report-row{border-top:1px solid var(--border)}
.report-row>div:first-child{grid-column:span 2}
.guides-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.guide{border-top:1px solid var(--border-strong);padding-top:24px}

/* Contact */
.contact-options{display:grid;grid-template-columns:7fr 5fr;gap:24px}
.contact-option{border:1px solid var(--border-strong);border-radius:8px;padding:40px}
.contact-option-primary{background:var(--ink);color:var(--surface)}
.contact-option-primary h2,.contact-option-primary a,.contact-option-primary .kicker{color:var(--surface)}
.contact-email{display:inline-block;margin:24px 0;font-family:var(--font-heading);font-size:var(--text-xl);line-height:1.1;overflow-wrap:anywhere}

/* Editorial articles and legal */
.article-hero{padding-block:80px;border-bottom:1px solid var(--border)}
.breadcrumbs{margin-bottom:32px;color:var(--muted);font-size:var(--text-sm)}
.article-hero h1{max-width:var(--measure);font-size:var(--text-display)}
.byline{margin-top:24px;color:var(--muted);font-size:var(--text-sm)}
.article-layout{display:grid;grid-template-columns:240px minmax(0,var(--measure));gap:80px;align-items:start;padding-block:80px}
.toc{position:sticky;top:32px;border-top:1px solid var(--border)}
.toc h2{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:0;padding:16px 0}
.toc a{display:block;border-top:1px solid var(--border);padding:12px 0;color:var(--muted);font-size:var(--text-xs)}
.prose{width:100%}
.prose h2{margin:64px 0 20px;font-size:var(--text-xl)}
.prose h2:first-child{margin-top:0}
.prose h3{margin:36px 0 12px;font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;letter-spacing:0}
.prose ul,.prose ol{display:grid;gap:10px;margin:20px 0 28px;padding-left:24px}
.prose li::marker{color:var(--blue)}
.prose table{width:100%;border-collapse:collapse;margin:32px 0;font-size:var(--text-sm)}
.prose th,.prose td{border:1px solid var(--border-strong);padding:14px;text-align:left;vertical-align:top}
.prose th{background:var(--surface-tint);color:var(--ink);font-weight:600}
.prose .callout{border-left:4px solid var(--blue);margin:40px 0;padding:8px 0 8px 24px}
.legal-header{padding-block:72px 48px;border-bottom:1px solid var(--border)}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,var(--measure));gap:80px;align-items:start;padding-block:72px}
.legal h2{margin:56px 0 16px;font-size:var(--text-xl)}
.legal h2:first-child{margin-top:0}
.provider-list{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--border);margin:28px 0}
.provider-list dt,.provider-list dd{border-bottom:1px solid var(--border);padding:14px 0}
.provider-list dt{color:var(--ink);font-weight:600}
.provider-list dd{margin:0}
.last-updated{margin-top:20px;color:var(--muted)}

/* 404 */
.not-found{min-height:70vh;display:grid;align-items:center}
.not-found h1{margin-bottom:20px}
.not-found .inline-actions{margin-top:28px}

@media (max-width:900px){
  .shell{width:min(calc(100% - 32px),var(--container))}
  .section{padding-block:88px}
  .section-compact{padding-block:64px}
  .nav-links,.desktop-login{display:none}
  .menu-button{display:inline-grid;place-items:center;margin-left:auto}
  .nav-actions>.button{display:none}
  .hero{padding-block:72px}
  .grid-12,.pricing-head,.faq-layout,.setup-area,.portal-section,.article-layout,.legal-layout{grid-template-columns:1fr;gap:48px}
  .span-7,.span-5,.span-8,.span-4{grid-column:auto}
  .hero-copy .lede{max-width:var(--measure)}
  .hero-caption{grid-template-columns:1fr}
  .hero-caption p{border-right:0;border-bottom:1px solid var(--border)}
  .hero-caption p:last-child{border-bottom:0}
  .contrast-lead,.contrast-point{grid-template-columns:1fr;gap:20px}
  .pricing-grid,.contact-options{grid-template-columns:1fr}
  .price-footer{display:grid}
  .setup-copy{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .timeline-step{grid-template-columns:80px 1fr;gap:20px}
  .timeline::before{left:32px}
  .compare-grid,.responsibility-grid,.guides-grid{grid-template-columns:1fr}
  .compare-col+.compare-col{border-left:0;border-top:1px solid var(--border-strong)}
  .toc{position:static}
  .article-layout,.legal-layout{width:min(100%,var(--measure));margin-inline:auto}
}

@media (max-width:600px){
  :root{--text-display:clamp(2.75rem,15vw,3.5rem)}
  .shell{width:min(calc(100% - 32px),var(--container))}
  .section{padding-block:72px}
  .site-nav{min-height:64px}
  .mobile-menu{inset:65px 0 0}
  .hero{padding-block:64px}
  .inline-actions{align-items:stretch}
  .inline-actions .button{width:100%}
  .numbered-row{grid-template-columns:56px 1fr;gap:16px;padding:32px 0}
  .number{font-size:var(--text-lg)}
  .price-card,.form-card,.contact-option,.compare-col{padding:28px 24px}
  .form-grid{grid-template-columns:1fr}
  .field-wide{grid-column:auto}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-bottom{display:grid}
  .timeline-step{grid-template-columns:56px 1fr;gap:16px}
  .timeline-number{width:48px;height:48px}
  .timeline::before{left:24px}
  .report-header{display:grid}
  .report-meta,.report-row{grid-template-columns:1fr}
  .report-meta>div,.report-row>div,.report-row>div:first-child{grid-column:auto;border-right:0;border-bottom:1px solid var(--border)}
  .report-meta>div:last-child,.report-row>div:last-child{border-bottom:0}
  .contact-email{font-size:var(--text-lg)}
  .provider-list{grid-template-columns:1fr}
  .provider-list dt{padding-bottom:0;border-bottom:0}
  .provider-list dd{padding-top:4px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:0s!important}
}

@media print{
  .site-header,.mobile-menu,.site-footer,.toc,.button,.cta-band{display:none!important}
  body{font-size:12pt;color:var(--ink)}
  .article-layout,.legal-layout{display:block;padding:0}
  .prose,.legal{width:100%}
  a{color:var(--ink);text-decoration:none}
  h1,h2,h3{break-after:avoid}
  table{break-inside:avoid}
}

/* Agency redesign: warm paper, bold typography and a blue Clientovo identity. */
:root{
 --ink:#191a1b;--text:#3e4143;--muted:#616466;--quiet:#737679;
 --surface:#fffdf8;--surface-soft:#f8f5ee;--surface-tint:#efebe3;
 --border:#dedbd3;--border-strong:#c9c6bf;--selection:#f5bb9f;
 --font-heading:"IBM Plex Sans",Arial,sans-serif;
 --text-display:clamp(3.5rem,7.5vw,7rem);--text-xl:clamp(2.1rem,4vw,3.75rem);
 --container:80rem;--accent:#f5ab87;
}
body{font-size:1.0625rem;line-height:1.65}
h1,h2,h3{font-weight:600;letter-spacing:-.05em}
h1{line-height:.98}h2{line-height:1.06}h3{letter-spacing:-.025em}
.shell{width:min(calc(100% - 96px),var(--container))}
.section{padding-block:112px}
.kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.lede{font-size:clamp(1.125rem,1.7vw,1.4rem)}
.button{border-radius:0;min-height:54px;padding:14px 24px;gap:20px;font-size:.9375rem;transition:background-color .18s,border-color .18s,transform .18s}
.button:hover{transform:translateY(-2px)}
.button-secondary{background:transparent;border-color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:12px;text-underline-offset:5px}
.site-header{background:var(--surface);border-bottom-color:var(--border)}
.site-nav{min-height:88px}
.brand,.brand:hover{font-family:"Newsreader",Georgia,serif;color:var(--blue);font-weight:400;font-size:1.65rem;letter-spacing:0}
.brand img{filter:none}
.nav-links{margin-left:auto;gap:32px}
.nav-actions{margin-left:24px}
.menu-button{border-radius:0}
.login-panel{border-radius:0;box-shadow:0 12px 24px #191a1b12}
.mobile-menu{inset:89px 0 0}
.mobile-menu a{font-size:1.2rem}
.mobile-menu .button{font-size:1rem}
.agency-hero{padding:88px 0 0;background:var(--ink);color:var(--surface)}
.agency-hero .grid-12{gap:48px;align-items:center}
.agency-hero .kicker{color:var(--accent)}
.agency-hero h1{color:var(--surface);font-size:clamp(3.5rem,7.2vw,6.8rem);letter-spacing:-.065em}
.agency-hero h1 span{color:var(--accent)}
.agency-hero .lede{max-width:33rem;color:#dfded9}
.agency-hero .hero-note{color:#bebfbc;max-width:35rem;font-size:.8125rem}
.agency-hero .text-link{color:var(--surface);font-size:.9375rem}
.agency-hero .button{background:var(--blue);border-color:var(--blue);color:#fff}
.agency-hero .button:hover{background:var(--blue-hover);border-color:var(--blue-hover)}
.hero-actions{gap:24px}
.service-board{margin:0;padding:26px;background:var(--accent);color:var(--ink);transform:rotate(2deg)}
.board-heading{display:flex;justify-content:space-between;gap:16px;font-size:.75rem;font-weight:600;margin-bottom:24px}
.board-heading>span:last-child{font-size:2rem;line-height:1}
.board-sheet{background:var(--surface);padding:32px}
.board-label{color:var(--muted);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}
.board-sheet h2{font-size:clamp(2rem,3.2vw,3rem);color:var(--ink);margin-bottom:28px}
.board-list{list-style:none;border-top:1px solid var(--border)}
.board-list li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}
.board-number{color:var(--blue);font-size:.75rem;padding-top:3px}
.board-list strong{display:block;font-size:.9375rem}
.board-list div>span{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px}
.board-link{display:flex;justify-content:space-between;gap:16px;font-size:.75rem;color:var(--ink);margin-top:24px;text-underline-offset:4px}
.service-board figcaption{font-size:.6875rem;margin-top:14px}
.agency-hero .hero-caption{margin-top:80px;border-color:#ffffff30}
.agency-hero .hero-caption p{color:var(--surface);padding:25px 24px;border-color:#ffffff30;font-size:.875rem}
.hero-caption p span{margin-right:12px;color:var(--accent);font-size:.75rem}
.section-heading{margin-bottom:48px}
.section-heading h2{max-width:48rem}
.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:40px}
.process-steps .numbered-row{display:block;border-top:1px solid var(--ink);border-bottom:0;padding:28px 0 0}
.process-steps .number{font-size:3rem;margin-bottom:42px}
.process-steps h3{font-size:1.5rem;margin-bottom:16px}
.process-steps p{max-width:24rem}
.section-ink{background:#252729}
.section-ink .contrast-lead h2{font-size:clamp(2.5rem,4.8vw,4.5rem);max-width:8em}
.section-ink p{color:#d6d6d0}
.section-ink .contrast-point{border-color:#ffffff30}
.contrast-points{border-color:#ffffff30}
.contrast-lead{gap:80px}
.contrast-point{gap:80px}
.pricing-head{gap:72px}
.pricing-head p{max-width:30rem}
.pricing-grid{grid-template-columns:1fr 1fr;gap:24px}
.price-card{border-radius:0;background:var(--surface);padding:44px}
.price-card-featured{border:2px solid var(--blue)}
.price-card-featured .plan-name{color:var(--blue)}
.price{font-size:clamp(3.75rem,6vw,5.5rem);letter-spacing:-.06em}
.price small{letter-spacing:0}
.price-note{border-radius:0;border:0;border-left:3px solid var(--blue);background:transparent;padding:12px 24px}
.clean-list li::before{content:"↗"}
.faq-layout{gap:96px}
.faq-list summary{font-size:1.0625rem;padding-block:24px;line-height:1.4}
.faq-list summary::after{color:var(--blue)}
.about-section{border-top:1px solid var(--border)}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px}
.about-copy{max-width:35rem}
.about-copy .lede{color:var(--ink);font-weight:600}
.cta-band{background:var(--accent);color:var(--ink)}
.cta-band h2{color:var(--ink);font-size:clamp(2.6rem,5vw,4.7rem)}
.cta-band .lede,.cta-band .small{color:var(--text)}
.cta-band .button-secondary{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.cta-band .button-secondary:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.cta-band .grid-12{align-items:center;gap:64px}
.cta-band .stack{justify-items:start}
.form-card{border-radius:0;background:var(--surface-soft);padding:40px}
input,select,textarea{border-radius:0;background:var(--surface)}
.site-footer{background:var(--surface-soft);padding-top:80px}
.footer-grid{grid-template-columns:1.8fr 1fr 1.4fr 1.2fr;gap:32px}
.footer-intro p{font-size:.9375rem;max-width:19rem}
.footer-col h2{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase}
.footer-col a{font-size:.875rem;line-height:1.5;padding-block:6px}
.page-hero,.article-hero{background:var(--ink);color:var(--surface);padding-block:88px}
.page-hero h1,.article-hero h1{color:var(--surface);max-width:18ch}
.page-hero .kicker,.article-hero .kicker{color:var(--accent)}
.page-hero .lede,.article-hero .lede{color:#deded8}
.page-hero a,.article-hero a{color:var(--surface)}
.article-hero .breadcrumbs{color:#bebfbc;font-size:.8125rem;max-width:100%}
.article-hero .byline{color:#bebfbc}
.article-hero h1{font-size:clamp(3rem,6.2vw,6rem)}
.article-layout,.legal-layout{grid-template-columns:220px minmax(0,1fr);gap:80px}
.prose,.legal{min-width:0;max-width:52rem}
.prose>section{scroll-margin-top:32px}
.prose h2{font-size:clamp(1.8rem,2.7vw,2.6rem);line-height:1.15;max-width:24ch}
.prose h3{letter-spacing:-.025em}
.toc{border-top:3px solid var(--blue)}
.toc h2{text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem}
.toc a{color:var(--text);text-decoration:none;padding-block:14px}
.toc a:hover{color:var(--blue)}
.table-scroll{overflow-x:auto;margin:32px 0;border:1px solid var(--border-strong)}
.prose .table-scroll table{margin:0;border:0;min-width:650px}
.prose .table-scroll th,.prose .table-scroll td{border:0;border-bottom:1px solid var(--border);padding:20px}
.prose .table-scroll thead th{background:var(--ink);color:var(--surface);font-size:.8125rem}
.prose .table-scroll tbody th{background:var(--surface-soft);width:24%}
.prose .table-scroll td:last-child{background:var(--blue-tint)}
.prose .table-scroll caption{padding:16px;margin:0!important;background:var(--surface-soft)}
.prose .callout{padding:32px;background:var(--surface-tint);border-left-width:3px}
.decision-section{padding-block:48px;border-bottom:1px solid var(--border)}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.decision-card{border-top:3px solid var(--ink);padding:24px 28px;background:var(--surface-soft)}
.decision-card:last-child{border-color:var(--blue);background:var(--blue-tint)}
.decision-card .kicker{margin-bottom:12px}
.decision-card h2{font-size:1.7rem;margin-bottom:16px}
.decision-card p{font-size:.9375rem;max-width:36rem}
.decision-card a{font-size:.875rem}
.timeline-number,.mock-form,.compare-grid,.report-preview,.contact-option{border-radius:0}
.contact-option-primary{background:var(--ink)}
.contact-option-primary .contact-email{font-size:clamp(1.5rem,3vw,2.6rem)}
@media(min-width:1500px){.agency-hero{padding-top:112px}}
@media(max-width:1100px){
 .shell{width:min(calc(100% - 64px),var(--container))}
 .site-nav{gap:20px}.nav-links{gap:20px}.nav-actions{margin-left:0}
 .agency-hero .grid-12{gap:32px}.board-sheet{padding:24px}.service-board{padding:20px}
 .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
 .footer-grid{grid-template-columns:1.5fr 1fr;gap:40px}
}
@media(max-width:900px){
 .shell{width:calc(100% - 48px)}
 .section{padding-block:80px}
 .site-nav{min-height:76px}.mobile-menu{inset:77px 0 0}
 .agency-hero{padding-top:64px}
 .agency-hero .grid-12{grid-template-columns:1fr;gap:48px}
 .agency-hero h1{font-size:clamp(3.6rem,11vw,6rem)}
 .agency-hero .hero-copy .lede{max-width:36rem}
 .hero-actions{flex-direction:row;align-items:center}
 .service-board{width:min(100%,32rem);justify-self:center;transform:none}
 .board-sheet h2{font-size:2.6rem}
 .agency-hero .hero-caption{margin-top:48px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .agency-hero .hero-caption p{padding:20px 14px;border-bottom:0;border-right:1px solid #ffffff30}
 .agency-hero .hero-caption p:last-child{border-right:0}
 .hero-caption p span{display:block;margin-bottom:5px}
 .process-steps{gap:24px}
 .process-steps h3{font-size:1.2rem}
 .process-steps .number{margin-bottom:24px}
 .pricing-grid{grid-template-columns:1fr 1fr}
 .price-card{padding:28px}
 .about-layout{gap:40px}
 .article-layout,.legal-layout{grid-template-columns:1fr;width:calc(100% - 48px);gap:40px}
 .toc{position:static;display:flex;flex-wrap:wrap;column-gap:24px}
 .toc h2{width:100%;padding-bottom:0}
 .toc a{border:0;padding-block:8px;font-size:.8125rem}
 .prose,.legal{max-width:none}
 .cta-band .grid-12{grid-template-columns:1fr;gap:32px}
 .page-hero,.article-hero{padding-block:64px}
}
@media(max-width:600px){
 .shell{width:calc(100% - 40px)}
 .section{padding-block:64px}
 .site-nav{min-height:72px;gap:16px}.mobile-menu{inset:73px 0 0}
 .brand{font-size:1.5rem}.brand img{width:30px;height:30px}
 .menu-button{min-width:52px}.nav-actions{display:none}
 .agency-hero{padding-top:48px}
 .agency-hero h1{font-size:clamp(3rem,12vw,4.5rem)}
 .agency-hero .kicker{font-size:.625rem;letter-spacing:.08em}
 .agency-hero .hero-copy .lede{margin-top:24px}
 .hero-actions{display:grid;gap:20px;width:100%}
 .hero-actions .button{width:100%;justify-content:space-between;padding-inline:18px}
 .hero-actions .text-link{justify-self:start}
 .agency-hero .hero-note{font-size:.75rem}
 .agency-hero .hero-caption{grid-template-columns:1fr}
 .agency-hero .hero-caption p{border-right:0;border-bottom:1px solid #ffffff30;padding:17px 0}
 .agency-hero .hero-caption p:last-child{border-bottom:0}
 .hero-caption p span{display:inline;margin-right:16px}
 .service-board{padding:18px}.board-sheet{padding:24px}
 .board-sheet h2{font-size:2.5rem}
 .process-steps{grid-template-columns:1fr;gap:32px}
 .process-steps .numbered-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;padding-top:24px}
 .process-steps .number{font-size:2.2rem;margin:0}
 .process-steps h3{font-size:1.35rem}
 .process-steps p{max-width:none}
 .contrast-lead,.contrast-point{gap:20px}
 .contrast-lead{padding-bottom:40px}
 .pricing-head{gap:24px;margin-bottom:32px}
 .pricing-grid,.about-layout,.decision-grid{grid-template-columns:1fr}
 .price-card{padding:30px 24px}
 .price-card .button{width:100%}
 .price-note{padding:8px 18px;font-size:.9375rem}
 .faq-layout{gap:32px}
 .faq-list summary{font-size:1rem}
 .about-layout{gap:24px}
 .cta-band .stack{justify-items:stretch}
 .form-card{padding:24px 20px}
 .footer-grid{grid-template-columns:1fr;gap:32px}
 .page-hero,.article-hero{padding-block:48px}
 .page-hero h1,.article-hero h1{font-size:clamp(2.6rem,10vw,3.75rem)}
 .article-layout,.legal-layout{width:calc(100% - 40px);padding-block:48px}
 .decision-card{padding:24px}
 .prose .callout{padding:24px 20px}
 .contact-option{padding:28px 24px}
}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
@media print{
 .agency-hero,.article-hero,.page-hero{background:#fff;color:#191a1b}
 .agency-hero h1,.agency-hero h1 span,.article-hero h1,.page-hero h1{color:#191a1b}
 .table-scroll{overflow:visible}.prose .table-scroll table{min-width:0}
 .service-board{transform:none}
}


/* Scroll movement is enhancement only: no default-hidden content or scroll interception. */
.site-header{position:sticky;top:0;transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 6px 24px #191a1b12}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.service-board{transform:translateY(calc(-1 * var(--board-shift,0px))) rotate(var(--board-turn,2deg))}
#main section[id],#main article[id],#main .prose section[id]{scroll-margin-top:112px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .price-card,.decision-card{transition:transform .25s ease,box-shadow .25s ease}
 .price-card:hover,.decision-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px #191a1b0a}
 .board-link span,.text-link span{transition:transform .25s ease}
 .board-link:hover span,.text-link:hover span{transform:translate(3px,-3px)}
}
@media(max-width:900px){.service-board{transform:none}}
@media(prefers-reduced-motion:reduce){
 .site-header{transition:none}
 .service-board{transform:none}
 .site-header::after{display:none}
 .price-card:hover,.decision-card:hover{transform:none;box-shadow:none}
}
@media print{.site-header{position:static}.service-board{transform:none}}

@media(min-width:901px){.toc,.setup-copy{top:112px}}


/* A pinned process demonstration, driven by the reader's scroll position. */
.process-scroll{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;position:relative}
.process-copy{min-width:0}
.process-step{min-height:65vh;min-height:65svh;display:flex;flex-direction:column;justify-content:center;padding:72px 0;scroll-margin-top:120px}
.process-step:last-child{padding-bottom:96px}
.story-index{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.process-step.is-current .story-index{color:var(--blue)}
.process-step h3{font-size:clamp(2.2rem,4vw,4rem);line-height:1.06;letter-spacing:-.055em;margin-bottom:24px}
.process-step>p:last-child{max-width:29rem;margin:0}
.process-visual{position:sticky;top:120px;align-self:start;margin-top:40px}
.story-window{position:relative;min-height:520px;overflow:hidden;background:var(--surface-tint)}
.workflow-frame{position:absolute;inset:0;padding:36px;background:var(--accent);opacity:0;transform:translateY(100px) rotate(8deg) scale(.94);transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .45s ease;pointer-events:none}
.workflow-frame[data-story-frame="1"]{background:#255fe8;color:#fff}
.workflow-frame[data-story-frame="2"]{background:#232527;color:#fffdf8}
.workflow-frame.is-current{opacity:1;transform:translateY(0) rotate(0) scale(1);z-index:2}
.workflow-frame.is-past{transform:translateY(-100px) rotate(-8deg) scale(.94);z-index:1}
.frame-top{display:flex;justify-content:space-between;gap:16px;font-size:.625rem;font-weight:600;letter-spacing:.1em;margin-bottom:32px}
.frame-title{font-size:clamp(2.4rem,4vw,3.8rem);font-weight:600;line-height:1;letter-spacing:-.055em;margin:0 0 28px}
.frame-document{background:var(--surface);color:var(--ink);padding:24px}
.document-label{display:block;color:var(--muted);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.document-line{border-top:1px solid var(--border);padding:12px 0;display:flex;justify-content:space-between;gap:16px;font-size:.875rem}
.document-line b{font-size:.75rem;font-weight:600;color:var(--blue)}
.document-line.pending b{color:#9b3b0f}
.frame-stamp{font-size:.75rem;font-weight:600;border-top:1px solid var(--border);padding-top:18px;margin-top:4px}
.story-progress{height:4px;background:var(--border);overflow:hidden;margin-top:20px}
.story-progress span{display:block;height:100%;width:100%;background:var(--blue);transform:scaleX(var(--story-progress,.3333));transform-origin:left;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.story-caption{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--muted);margin-top:10px}
.scroll-type{background:var(--accent);overflow:hidden;padding-block:40px}
.scroll-type-track{display:block;width:max-content;font-size:clamp(4rem,12vw,12rem);font-weight:600;letter-spacing:-.065em;line-height:1.08;color:var(--ink);white-space:nowrap;transform:translateX(var(--type-shift,0px))}
.scroll-type-track span{color:#78341e}
@media(max-width:1100px){
 .process-scroll{gap:40px}
 .workflow-frame{padding:26px}.frame-document{padding:20px}
 .story-window{min-height:490px}
}
@media(max-width:700px){
 .process-scroll{display:flex;flex-direction:column;gap:0}
 .process-visual{order:-1;position:sticky;top:88px;width:100%;margin:0 0 24px;z-index:3;background:var(--surface);padding-bottom:12px}
 .story-window{min-height:248px}
 .workflow-frame{padding:20px;display:grid;grid-template-columns:1fr 1.1fr;gap:12px 20px;align-content:center}
 .frame-top{grid-column:1/-1;margin-bottom:4px;font-size:.5625rem}
 .frame-title{font-size:clamp(1.6rem,5vw,2.4rem);align-self:center;margin:0}
 .frame-document{padding:12px}
 .document-label{font-size:.5625rem;margin-bottom:8px;letter-spacing:0}
 .document-line{font-size:.6875rem;padding:8px 0;gap:6px}
 .document-line b{font-size:.5625rem}
 .frame-stamp{font-size:.5625rem;padding-top:8px;margin-top:0}
 .story-progress{margin-top:10px}
 .story-caption{font-size:.625rem;margin-top:6px}
 .process-copy{width:100%}
 .process-step{min-height:60vh;min-height:60svh;padding:56px 0}
 .process-step h3{font-size:2.4rem}
 .process-step:last-child{padding-bottom:48px}
 .scroll-type{padding-block:28px}
}
@media(max-height:700px) and (min-width:701px){
 .story-window{min-height:420px}.workflow-frame{padding:24px}
 .frame-title{font-size:2.5rem;margin-bottom:20px}.frame-top{margin-bottom:18px}
 .document-line{padding:8px 0}
}
@media(prefers-reduced-motion:reduce){
 .process-visual{position:static}
 .process-step{min-height:0;padding:32px 0}
 .workflow-frame{transition:none}
 .story-progress span{transition:none}
 .scroll-type-track{transform:none;width:auto;white-space:normal;font-size:clamp(3rem,8vw,6rem);padding-inline:20px}
}
@media print{
 .process-visual{display:none}.process-scroll{display:block}
 .process-step{min-height:0;padding:24px 0}
 .scroll-type{display:none}
}


/* Commercially licensed office footage behind the whole hero, at 40% opacity. */
.agency-hero{position:relative;isolation:isolate}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.4;z-index:0;pointer-events:none}
.hero-video-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(25,26,27,.65),rgba(25,26,27,.35))}
.agency-hero>.shell{position:relative;z-index:2}
.hero-video-tools{display:flex;justify-content:flex-end;margin-top:24px}
.hero-video-toggle{border:1px solid #ffffff60;background:#191a1bbf;color:#fffdf8;font-size:.6875rem;min-height:44px;padding:10px 14px}
.hero-video-toggle:hover{background:#191a1b}
.agency-hero .hero-caption{margin-top:24px}
@media(prefers-reduced-motion:reduce){.hero-video,.hero-video-shade,.hero-video-tools{display:none}}
@media print{.hero-video,.hero-video-shade,.hero-video-tools{display:none}}


.demo-tour{padding:clamp(20px,4vw,48px);max-width:760px;margin:auto}.demo-tour [data-demo-step]{min-height:220px}.demo-tour h3{font-size:clamp(24px,4vw,40px);line-height:1.15}.demo-tour .inline-actions{margin-top:24px}
