/* Direction G: ink / paper / proof blue, broad layers, original Ascent lockup. */
@font-face{font-family:Archivo;src:url('assets/archivo-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url('assets/archivo-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Archivo;src:url('assets/archivo-800.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url('assets/hanken-grotesk-800.woff2') format('woff2');font-weight:800;font-display:swap}
:root{--ink:#16181a;--paper:#fafaf8;--blue:#2456d6;--blue-hover:#1c46b5;--text:#33363b;--muted:#60656c;--on-ink:#cbd0d7;--rule:#d6d9de;--dark-rule:#44484d;--gutter:clamp(24px,5vw,88px);--max:1280px;--section:clamp(72px,7.5vw,112px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Archivo,Arial,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,a,summary{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-underline-offset:.25em}
button,summary{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
.hero :focus-visible,.site-header :focus-visible,.site-faq :focus-visible,.category-intro:focus-visible,.contact-invitation :focus-visible{outline-color:#fff}
[hidden]{display:none!important}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-.03em;text-wrap:balance}
h1{hyphens:auto;overflow-wrap:anywhere;font-size:clamp(58px,5.7vw,88px);font-weight:800;line-height:.99;max-width:760px}
h2{font-size:clamp(36px,4.3vw,62px);font-weight:800;max-width:1000px}
h3{font-size:26px;font-weight:700}
h4{font-size:23px;font-weight:700}
p{max-width:72ch}
svg,img{display:block;max-width:100%}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
summary{touch-action:manipulation}
[id]{scroll-margin-top:28px}
.section-inner{max-width:calc(var(--max) + 2 * var(--gutter));padding:var(--section) var(--gutter);margin:auto}
.skip-link{position:fixed;z-index:20;top:12px;left:12px;background:var(--paper);color:var(--ink);padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{background:var(--ink);position:absolute;z-index:5;top:0;left:0;width:100%;height:116px;padding:25px var(--gutter);display:grid;grid-template-columns:minmax(160px,1fr) auto auto auto;gap:24px;align-items:center;color:var(--paper)}
.wordmark{display:inline-flex;flex-direction:column;align-self:start;justify-self:start;text-decoration:none;font-family:'Hanken Grotesk',Arial,sans-serif;font-size:28px;line-height:1;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.site-header .wordmark{align-self:center}
.wordmark-rule{position:relative;width:158px;height:8px;margin-top:7px;display:block}
.wordmark-rule i{position:absolute;left:0;top:3px;width:134px;height:2px;background:currentColor}
.wordmark-rule b{position:absolute;left:142px;top:0;width:8px;height:8px;border-radius:50%;background:var(--blue)}
.desktop-nav{display:flex;gap:22px;white-space:nowrap;font-size:15px}
.desktop-nav a{text-decoration:none}
.desktop-nav a:hover{text-decoration:underline}
.languages{position:relative;font-size:14px;line-height:1.3;justify-self:end}
.language-picker{position:relative}
.language-trigger{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid #6b6d70;border-radius:4px;white-space:nowrap;color:var(--paper);background:var(--ink)}
.language-trigger:hover,.language-picker[open]>.language-trigger{background:#25282c}
.language-globe,.language-chevron{flex:none}
.language-chevron{margin-left:3px}
.language-picker[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;top:calc(100% + 8px);right:0;min-width:174px;padding:6px;border:1px solid #6b6d70;border-radius:4px;background:var(--ink);z-index:8}
.languages a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:10px 12px;text-decoration:none;color:var(--paper);border-radius:2px}
.languages a[aria-current]{font-weight:700;background:var(--blue);color:#fff}
.languages a:hover{background:#30343a}
.languages a[aria-current]:hover{background:var(--blue-hover)}
.languages a:focus-visible{outline-offset:-3px}
.primary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;border:1px solid transparent;border-radius:4px;background:var(--blue);color:#fff;font-size:17px;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;transition:background .18s var(--ease)}
.primary-cta:hover{background:var(--blue-hover)}
.primary-cta:active{background:#183b98}
.site-header>.primary-cta{justify-self:end}
.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);min-height:760px}
.hero-copy{position:relative;z-index:1;width:62%;padding:174px 3.5vw 140px var(--gutter)}
.hero-category{display:block;font-size:14px;font-weight:700;letter-spacing:.12em;margin-bottom:26px;color:#e1e5ec}
.hero h1{font-weight:800}
.hero h2{font-weight:400;font-size:clamp(25px,2.25vw,34px);line-height:1.25;letter-spacing:-.025em;margin-top:30px;max-width:670px;text-wrap:pretty}
.hero p{color:var(--on-ink);font-size:19px;line-height:1.5;margin-top:34px;max-width:58ch}
.hero-copy p strong{color:var(--paper)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}
.secondary-cta{font-size:15px;line-height:1.5;text-decoration:none;display:flex;gap:12px;align-items:center;min-height:44px;color:#e0e7f5}
.secondary-cta:hover{text-decoration:underline}
.secondary-cta span{font-size:22px}
.hero-image{position:absolute;inset:0 0 0 auto;width:43%;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);background:#2f79b7}
.hero-image picture{display:block;width:100%;height:100%}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.ascent{position:absolute;left:0;bottom:5px;width:94%;height:auto;max-height:128px;overflow:visible;pointer-events:none}
.ascent path{fill:none;stroke:var(--paper);stroke-width:1.6;vector-effect:non-scaling-stroke}
.ascent circle{fill:var(--blue)}
/* THESIS: Four readable themes, user-approved light card concept A.
   OWN-WORLD: Archivo, Proof Blue labels, paper cards on cool grey, 4px corners.
   STORY: Recognise the question, understand the analysis, explore services.
   FIRST VIEWPORT: Heading, four stacked bullets, existing closing copy and text link.
   FORM: Approved A; semantic text, no raster UI or implied card interaction. */
.report-gap{--max:1040px;background:#f2f4f6}
.report-gap h2{max-width:960px;hyphens:auto;overflow-wrap:break-word}
.report-gap-list{padding:0 0 0 1.25em;margin:40px 0 0;list-style:square;display:block;font-size:20px}
.report-gap-list li{padding-left:6px}
.report-gap-list li::marker{color:var(--blue)}
.report-gap-list strong{color:var(--blue)}
.report-gap-list li+li{margin-top:24px}
.report-gap-list p{margin:0;font-size:20px;line-height:1.5;overflow-wrap:break-word}
.report-gap-promise{font-size:23px;font-weight:700;line-height:1.4;margin-top:36px;max-width:900px}
.report-gap-services{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:20px;color:var(--blue);font-size:17px;font-weight:700;line-height:1.4;text-decoration:underline;text-decoration-color:#2456d644}
.report-gap-services:hover{text-decoration-color:var(--blue)}
.report-gap-services span{font-size:22px;font-weight:400}
/* THESIS: A steep aerial lighthouse view enclosing a paper reading area.
   OWN-WORLD: Archivo, ink/paper/Proof Blue; dark ocean and lit lighthouse.
   STORY: Choose perspective, recognize a question, read, follow a service.
   FIRST VIEWPORT: 35/65 desktop rail/content; mobile photo heading and sticky tabs.
   FORM: User-approved A rail with original lighthouse B; no ascent motif.
   Full content, native disclosures and question resets remain intact. */
/* Whole-number flex factors fill the remainder when the rail reaches its minimum. */
.insights{--rail-gutter:clamp(28px,3.2vw,56px);padding:clamp(32px,4vw,64px) clamp(24px,3.2vw,56px) clamp(32px,4vw,64px) 0;display:grid;grid-template-columns:minmax(270px,35fr) minmax(0,65fr);align-items:start;background-color:var(--ink);background-image:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.12) 60%,transparent),url("assets/perspective-lighthouse.webp");background-size:cover;background-position:left center;color:var(--paper)}
.perspective-rail{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;min-width:0;min-height:min(720px,calc(100svh - 48px));padding:32px 0 28px}
.perspective-rail h2{font-size:clamp(28px,3.1vw,46px);line-height:1.12;letter-spacing:-.03em;padding:0 var(--rail-gutter);margin:0 0 48px;max-width:600px;text-wrap:balance;overflow-wrap:break-word}
.perspective-tabs{display:flex;flex-direction:column;margin:0;padding:0;gap:0}
.perspective-tab{display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-radius:0;background:rgba(0,0,0,.6);color:var(--paper);padding:28px var(--rail-gutter);font-size:clamp(19px,1.8vw,27px);font-weight:700;line-height:1.3;text-align:left;transition:background .18s var(--ease);min-width:0;min-height:88px}
.perspective-tab:hover{background:#24282d}
.perspective-tab[aria-selected=true]{background:var(--blue)}
.perspective-tab[aria-selected=true]:hover{background:var(--blue-hover)}
.perspective-tab:focus-visible{outline-color:#fff;outline-offset:-6px}
.perspective-arrow{position:relative;display:block;flex:0 0 25px;height:22px}
.perspective-arrow::before{content:'';position:absolute;left:0;right:1px;top:10px;border-top:1.5px solid currentColor}
.perspective-arrow::after{content:'';position:absolute;right:1px;top:5px;width:11px;height:11px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.perspective{background:var(--paper);min-width:0;min-height:720px;align-self:stretch;scroll-margin-top:24px}
.perspective-body{background:var(--paper);color:var(--ink);padding:32px clamp(28px,4vw,68px) 36px;max-width:1200px;margin:auto}
.insights .pain-item:first-child{border-top:0}
.insights .pain-item>summary{padding:30px 0;gap:24px}
.insights .pain-item>summary h3{font-size:clamp(21px,2vw,29px);font-weight:700;line-height:1.3;letter-spacing:-.025em;text-wrap:pretty;min-width:0;overflow-wrap:break-word}
.insights .pain-answer{padding:0 0 36px;max-width:68ch}
@media(min-width:761px) and (max-height:700px){.perspective-rail{position:static}}
@media(max-width:760px){
 .insights{display:block;position:relative;--rail-gutter:24px;padding:0 12px 24px;background-image:none}
 .perspective-rail{display:contents}
 .perspective-rail h2{font-size:clamp(28px,7.5vw,34px);padding:28px 24px 180px;min-height:350px;margin:0 -12px;max-width:none;background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 65%),url("assets/perspective-lighthouse-mobile.webp");background-size:cover;background-position:left center}
 .perspective-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:sticky;top:0;z-index:4;background:var(--ink);padding:0;gap:2px}
 .perspective-tab{display:block;padding:18px 4px;font-size:clamp(14px,4vw,16px);line-height:1.3;text-align:center;min-height:76px}
 .perspective-arrow{display:none}
 .perspective{min-height:0;scroll-margin-top:calc(var(--perspective-nav-height,80px) + 16px)}
 .perspective-body{padding:8px 24px 20px}
 .insights .pain-item{scroll-margin-top:calc(var(--perspective-nav-height,80px) + 16px)}
 .insights .pain-item>summary{padding:25px 0;gap:18px}
 .insights .pain-item>summary h3{font-size:20px;line-height:1.35}
 .insights .pain-answer{padding-bottom:30px}
}
.disclosure-icon{position:relative;width:24px;height:24px;flex:0 0 24px;display:block}
.disclosure-icon::after{content:'';position:absolute;top:5px;left:5px;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s var(--ease)}
details:is([data-expanded=true],[open]:not([data-expanded]))>summary .disclosure-icon::after{transform:translateY(6px) rotate(225deg)}
.pain-item{border-top:1px solid var(--rule)}
.pain-item>summary{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0;font-size:20px;font-weight:700;line-height:1.45}
.pain-item>summary:hover,.pain-item:is([data-expanded=true],[open]:not([data-expanded]))>summary{color:var(--blue)}
.pain-answer{padding:0 56px 32px 0;max-width:960px}
.pain-answer>p{color:var(--text);line-height:1.65}
.pain-answer>.pain-lead{color:var(--ink);margin-bottom:16px}
.pain-answer .answer-heading{font-size:18px;line-height:1.4;letter-spacing:0;margin:26px 0 10px}
.solution-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 28px}
.solution-links a{display:inline-flex;align-items:center;gap:14px;min-height:44px;max-width:100%;overflow-wrap:anywhere;color:var(--blue);text-decoration:underline;text-decoration-color:#2456d644;font-size:17px;font-weight:700;line-height:1.4}
.solution-links a:hover{text-decoration-color:var(--blue)}
.solution-links span{font-weight:400;font-size:22px}
.why-avant .section-label{display:block;color:var(--blue);font-size:15px;font-weight:700;letter-spacing:.04em;margin-bottom:22px}
.why-avant h2{max-width:900px}
.why-intro{margin-top:32px;font-size:20px;color:var(--text)}
.why-intro .cpi-emphasis{color:var(--blue);font-weight:700}
.founder-profile{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;margin-top:44px}
.founder-portrait{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 28%}
.founder-copy{max-width:65ch;min-width:0}
.founder-copy h3{font-size:30px;line-height:1.2}
.founder-role{margin-top:6px;color:var(--text);font-size:17px}
.founder-copy .why-intro{margin-top:24px}
.founder-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:22px;color:var(--blue);font-size:18px;font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.founder-link span{font-size:24px;font-weight:400}
.founder-link:hover{text-decoration-thickness:2px}
@media(max-width:700px){.founder-profile{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:32px}.founder-portrait{max-width:280px}.founder-copy h3{font-size:27px}}
.why-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:76px;row-gap:44px;margin:54px 0 38px}
.why-reason{border-top:1px solid var(--rule);padding-top:25px}
.why-reason h3{max-width:560px;margin-bottom:16px;font-size:27px}
.why-reason p{color:var(--text)}
.deliverables{background:var(--ink);color:var(--paper)}
.deliverables h2{margin-bottom:42px}
.service-category{border-top:1px solid var(--dark-rule)}
.service-category:last-child{border-bottom:1px solid var(--dark-rule)}
.category-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:27px 26px;transition:background .18s var(--ease)}
.category-intro h3{font-size:clamp(24px,2.4vw,34px);line-height:1.2}
.category-intro p{color:var(--on-ink);font-size:17px;margin-top:10px;line-height:1.5}
.category-intro:hover{background:#24282d}
.service-category:is([data-expanded=true],[open]:not([data-expanded]))>.category-intro{background:var(--blue)}
.service-category:is([data-expanded=true],[open]:not([data-expanded]))>.category-intro:hover{background:var(--blue-hover)}
.service-category:is([data-expanded=true],[open]:not([data-expanded]))>.category-intro p{color:#fff}
.category-services{background:var(--paper);color:var(--ink);padding:0 30px}
.solution-detail{padding:30px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:50px;transition:background .25s}
.category-action{padding-block:32px}
.category-action .primary-cta{max-width:100%;white-space:normal}
.solution-detail>*{min-width:0}
.solution-detail h4{font-size:24px;line-height:1.25;text-wrap:pretty;hyphens:manual;word-break:normal;overflow-wrap:normal}
.solution-detail p{hyphens:manual;overflow-wrap:break-word;font-size:18px;color:var(--text);line-height:1.6}
.solution-content{min-width:0;max-width:68ch}
.service-benefits{margin:20px 0 0;padding-left:1.2em;font-size:18px;line-height:1.55;color:var(--text)}
.service-benefits li+li{margin-top:12px}
.service-benefits li::marker{color:var(--blue)}
.service-benefits strong{font-weight:700;color:var(--ink)}
@media(max-width:600px){.service-benefits{font-size:17px;margin-top:18px}}
.solution-detail:focus-visible{outline-offset:10px}
/* THESIS: A calm panorama opens the path from a question to a usable result.
   OWN-WORLD: Archivo, paper, ink and Proof Blue; landscape photography, fine rules.
   STORY: Agree the need, let specialists do the work, use the result, make contact.
   FIRST VIEWPORT: Full-width night bridge image above a 40/60 intro and ordered steps split.
   FORM: User-approved panorama C; stack below 761px, one CTA after step three. */
.working-together{background:var(--paper)}
.approach-visual{height:clamp(260px,37.5vw,560px);overflow:hidden;background:#547086}
.approach-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.working-together>.section-inner{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(36px,6vw,88px);align-items:start;padding-block:clamp(40px,5vw,72px)}
.approach-lead,.approach-process{min-width:0}
.working-together h2{font-size:clamp(36px,3.8vw,56px);max-width:12ch;margin-bottom:24px;hyphens:auto;overflow-wrap:break-word}
.approach-intro{max-width:38ch;font-size:20px;color:var(--text)}
.work-steps{list-style:none;counter-reset:step;padding:0;margin:0}
.work-steps li{counter-increment:step;min-width:0}
.work-steps li+li{border-top:1px solid var(--rule);margin-top:28px;padding-top:24px}
.work-steps li::before{content:counter(step,decimal-leading-zero);display:block;font-size:21px;line-height:1.2;color:var(--blue);font-weight:700;margin-bottom:10px}
.work-steps h3{font-size:clamp(22px,2.25vw,28px);line-height:1.2;margin-bottom:14px;text-wrap:pretty}
.work-steps p{max-width:65ch;font-size:17px;color:var(--text);line-height:1.65}
.approach-action{margin-top:28px}
.approach-action .primary-cta{max-width:100%;white-space:normal}
@media(max-width:760px){
 .approach-visual{height:clamp(200px,56.25vw,320px)}
 .working-together>.section-inner{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:40px 56px}
 .working-together h2{max-width:20ch;margin-bottom:20px}
 .approach-intro{font-size:18px}
}
.site-faq{background:var(--ink);color:var(--paper)}
.site-faq h2{max-width:860px;margin-bottom:42px}
.faq-item{border-top:1px solid var(--dark-rule)}
.faq-item:last-child{border-bottom:1px solid var(--dark-rule)}
.faq-item>summary{display:flex;align-items:center;justify-content:space-between;padding:26px 24px;gap:30px;font-size:21px;line-height:1.4;font-weight:700;transition:background .2s var(--ease),color .2s var(--ease)}
.faq-item>summary:hover{color:#b8c8f2}
.faq-item:is([data-expanded=true],[open]:not([data-expanded]))>summary{background:var(--blue);color:#fff}
.faq-answer{padding:24px 56px 30px 24px;color:var(--on-ink)}
.contact-invitation{background:var(--blue);color:#fff}
.contact-invitation .section-inner{padding-top:84px;padding-bottom:84px;display:grid;grid-template-columns:1fr auto;gap:24px 70px;align-items:center}
.contact-invitation h2{max-width:800px}
.contact-invitation p{font-size:20px;grid-column:1}
.contact-invitation .primary-cta{grid-column:2;grid-row:1 / 3;background:var(--paper);color:var(--ink)}
.contact-invitation .primary-cta:hover{background:#e3e8f3}
.site-footer{max-width:calc(var(--max) + 2 * var(--gutter));margin:auto;padding:64px var(--gutter) 32px;font-size:15px}
.footer-columns{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;margin-bottom:52px}
.footer-company{margin-top:24px;font-style:normal;line-height:1.7;color:var(--muted)}
.footer-columns h3{font-size:16px;letter-spacing:0;margin-bottom:18px}
.footer-columns ul{list-style:none;margin:0;padding:0}
.footer-columns li{margin:7px 0}
.footer-columns a:not(.wordmark){display:inline-block;min-height:32px;text-decoration:none}
.footer-columns a:hover{text-decoration:underline}
.footer-pending{color:var(--muted)}
.footer-pending small{font-size:11px;border:1px solid var(--rule);border-radius:3px;padding:3px 5px;margin-left:7px;white-space:nowrap}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;border-top:1px solid var(--rule);padding-top:24px;font-size:13px}
.footer-note{font-size:13px;color:var(--muted);margin-top:20px;max-width:none}
dialog{border:0;border-radius:4px;padding:40px;background:var(--paper);color:var(--ink);width:min(540px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto}
dialog::backdrop{background:#000a}
dialog h2{font-size:32px}
dialog p{margin:24px 0 30px;color:var(--text)}
body:has(dialog[open]){overflow:hidden}
@media(min-width:1800px){.hero-copy{padding-left:max(var(--gutter),calc((100vw - 1480px)/2))}.hero h1{max-width:850px}}
@media(max-width:1399px){
 .site-header{grid-template-columns:1fr auto auto auto;height:100px;gap:24px}.desktop-nav{display:none}.languages{border-left:0;padding-left:0}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:9px;background:var(--ink);border:1px solid #6b6d70;border-radius:4px}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;transition:transform .2s var(--ease)}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
 .mobile-menu{position:absolute;top:100px;left:var(--gutter);right:var(--gutter);padding:18px 26px;background:var(--ink);border:1px solid var(--dark-rule);box-shadow:0 16px 30px #0003;display:flex;flex-direction:column}.mobile-menu a{padding:13px 0;text-decoration:none;border-bottom:1px solid var(--dark-rule)}.mobile-menu a:last-child{border:0}.mobile-menu a:hover{text-decoration:underline}
}
@media(max-width:1150px){
 .hero-copy{padding-top:154px}.hero h1{font-size:clamp(52px,6vw,70px)}.hero-actions{gap:12px;align-items:flex-start;flex-direction:column}.hero p{font-size:18px}
}
@media(max-width:900px){
 .site-header{position:relative;background:var(--ink);height:96px}.hero{min-height:0}.hero-copy{width:100%;padding:54px var(--gutter) 146px}.hero h1{font-size:clamp(54px,8vw,76px);max-width:800px}.hero h2{font-size:30px;max-width:690px}.hero p{max-width:65ch}.hero-category{margin-bottom:25px}
 .hero-actions{flex-direction:row;align-items:center;gap:24px}.hero-image{position:relative;width:100%;height:420px;clip-path:polygon(0 10%,100% 0,100% 100%,0 100%);margin-top:-44px}.hero-image img{object-position:50% 12%}.ascent{max-width:670px;bottom:14px;max-height:98px}
 .report-gap-list p{font-size:18px}.why-grid{column-gap:40px}
 .contact-invitation .section-inner{display:block}.contact-invitation p{margin-top:26px}.contact-invitation .primary-cta{margin-top:32px}
 .solution-detail{gap:0;grid-template-columns:minmax(0,1fr)}.solution-content{margin-top:16px}.solution-detail .solution-content>p{margin-top:0}
}
@media(max-width:600px){
 .category-action{padding-block:24px}
 :root{--section:64px;--gutter:24px}body{font-size:17px;line-height:1.65}h2{font-size:36px;line-height:1.08;letter-spacing:-.03em}h3{font-size:24px}
 .site-header{height:92px;grid-template-columns:1fr auto auto;gap:8px;padding:22px 20px}.site-header>.primary-cta{display:none}.wordmark{font-size:25px}.wordmark-rule{width:141px;transform:scale(.89);transform-origin:top left;margin-bottom:-1px}.language-trigger{gap:7px;padding-inline:10px}.menu-toggle{width:42px}.mobile-menu{top:85px;left:16px;right:16px}
 .hero-copy{padding-top:38px;padding-bottom:122px}.hero-category{font-size:12px;letter-spacing:.09em;margin-bottom:24px}.hero h1{font-size:clamp(44px,11vw,64px);line-height:1.01}.hero h2{font-size:25px;line-height:1.25;margin-top:26px}.hero p{font-size:17px;margin-top:28px}.hero-actions{align-items:flex-start;flex-direction:column;gap:13px;margin-top:27px}.primary-cta{font-size:16px;min-height:52px;padding:14px 22px}.secondary-cta{font-size:14px;gap:9px;min-height:44px}.hero-image{height:310px;margin-top:-28px;clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}.hero-image img{object-position:50% 12%}.ascent{bottom:15px;width:calc(100% - 18px)}
 .report-gap-list{margin-top:32px;font-size:18px}.report-gap-promise{font-size:21px;margin-top:24px}
 .pain-item>summary{font-size:18px;gap:20px;padding:22px 0;align-items:flex-start}.pain-item .disclosure-icon{margin-top:2px}.pain-answer{padding:0 0 26px}.pain-answer .answer-heading{font-size:17px;margin-top:24px}.solution-links{display:block}.solution-links li+li{margin-top:4px}.solution-links a{font-size:16px}
 .why-avant .section-label{font-size:14px;margin-bottom:20px}.why-intro{font-size:18px;margin-top:26px}.why-grid{grid-template-columns:1fr;row-gap:32px;margin-top:38px}.why-reason h3{font-size:25px}.why-reason p{font-size:17px}
 .deliverables h2{margin-bottom:30px}.category-intro{padding:24px 16px;gap:18px}.category-intro h3{font-size:24px;text-wrap:pretty;overflow-wrap:anywhere}.category-intro p{font-size:16px}.category-services{padding:0 20px}.solution-detail{display:block;padding:26px 0}.solution-detail h4{font-size:22px}.solution-detail p{margin-top:14px;font-size:17px}
 .site-faq h2{margin-bottom:32px}.faq-item>summary{font-size:18px;gap:20px;align-items:flex-start;padding:24px 16px}.faq-answer{padding:24px 16px 26px}.contact-invitation .section-inner{padding-top:64px;padding-bottom:64px}.contact-invitation p{font-size:18px}
 .site-footer{padding-top:48px}.footer-columns{grid-template-columns:1fr;gap:32px;margin-bottom:30px}.footer-columns .wordmark{margin-bottom:8px}.footer-columns li{margin:1px 0}.footer-columns a:not(.wordmark){min-height:44px;padding:7px 0}.footer-columns h3{margin-bottom:10px}.footer-bottom{flex-direction:column;gap:16px}.footer-pending{display:inline-block;min-height:32px}.footer-note{margin-top:12px}
 dialog{padding:28px}dialog h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:400px){
 .site-header{padding-inline:16px}
 .site-header .wordmark{font-size:20px}
 .site-header .wordmark-rule{width:113px;transform:scale(.72)}
 .language-trigger{font-size:13px;gap:6px;padding-inline:9px}
 .language-globe{display:none}
}

@media(min-width:601px) and (max-width:720px){
 .site-header{grid-template-columns:1fr auto auto}
 .site-header>.primary-cta{display:none}
}

/* Footer contact action uses the standard Tally button integration. */
.footer-contact{padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;text-decoration:underline;text-underline-offset:.25em}

/* Persistent contact embed: load once, show immediately, preserve form on close. */
.contact-form{width:min(540px,calc(100vw - 32px));height:min(640px,calc(100dvh - 48px));max-height:none;padding:0;overflow:hidden;background:var(--paper)}
.contact-form[open]{display:flex;flex-direction:column}
.contact-form-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--rule)}
.contact-form-header h2{font-size:25px;line-height:1.2}
.contact-form-close{flex:none;width:44px;height:44px;border:0;border-radius:4px;background:transparent;font-size:30px;line-height:1}
.contact-form-close:hover{background:#e9ecf0}
.contact-form-body{position:relative;flex:1;min-height:0;padding:0 16px;background:white}
.contact-form iframe{width:100%;height:100%;border:0;display:block;background:white}
.contact-form-loading{position:absolute;inset:0;padding:32px;margin:0!important;background:white;font-size:16px}
.contact-form-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 24px;border-top:1px solid var(--rule);font-size:13px;color:var(--muted)}
@media(max-width:600px){.contact-form{width:calc(100vw - 24px);height:calc(100dvh - 24px)}.contact-form-header{padding:12px 16px}.contact-form-header h2{font-size:23px}.contact-form-footer{padding:12px 16px}}

/* Local reading view: available immediately, without an embedded PDF viewer. */
.privacy-notice{width:min(680px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 48px));padding:0;overflow:hidden}
.privacy-notice[open]{display:flex;flex-direction:column}
.privacy-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-bottom:1px solid var(--rule);flex:none}
.privacy-header h2{font-size:28px;line-height:1.2;margin:0}
.privacy-close{flex:none;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:30px;line-height:1;cursor:pointer}
.privacy-close:hover{background:var(--rule)}
.privacy-content{padding:24px 28px 32px;overflow:auto;overscroll-behavior:contain}
.privacy-document{font-size:16px;line-height:1.6;color:var(--text)}
.privacy-document p{font-size:inherit;line-height:inherit;margin:0 0 16px}
.privacy-document h3{font-size:20px;line-height:1.3;margin:28px 0 12px;color:var(--ink)}
.privacy-document ul{padding-left:1.25em;margin:0 0 20px}
.privacy-document li+li{margin-top:8px}
.privacy-language{font-size:14px!important;margin:0 0 20px!important}
.privacy-page{max-width:740px;margin:0 auto;padding:48px 24px}
.privacy-page h1{font-size:36px;line-height:1.2;margin:32px 0 24px}
@media(max-width:600px){.privacy-notice{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.privacy-header{padding:16px 20px}.privacy-header h2{font-size:25px}.privacy-content{padding:20px}}

.privacy-header h2:focus{outline:none}
