/**
 * @license
 * MyFonts Webfont Build ID 3867246, 2020-12-16T11:57:38-0500
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: Scala Sans Pro Bold by Martin Majoor
 * URL: https://www.myfonts.com/collections/martin-majoor-foundry

 * Webfont: Scala Sans Pro Light by Martin Majoor
 * URL: https://www.myfonts.com/collections/martin-majoor-foundry

 * Webfont: Scala Pro Italic by Martin Majoor
 * URL: https://www.myfonts.com/collections/martin-majoor-foundry

 * Webfont: Scala Pro Regular by Martin Majoor
 * URL: https://www.myfonts.com/collections/martin-majoor-foundry

 * © 2026 MyFonts Inc. */

/* Ministry of World Domination. Layout: desktop base (1100px and up),
   tablet (761 to 1099px), mobile (760px and down). */

/* ---------- Fonts ---------- */
@font-face{font-family:'Scala OT';src:url(/fonts/scala-ot-400.woff2) format('woff2'),url(/fonts/scala-ot-400.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Scala Sans Pro';src:url(/fonts/scala-sans-pro-400.woff2) format('woff2'),url(/fonts/scala-sans-pro-400.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Scala Sans Pro';src:url(/fonts/scala-sans-pro-700.woff2) format('woff2'),url(/fonts/scala-sans-pro-700.woff) format('woff');font-weight:700;font-style:normal;font-display:swap}
/* Quentin (about 250 KB) is not declared here: js/site.*.js loads it after the page has loaded,
   and css/quentin.*.css declares it for visitors without JS. The notes show a fallback script until then. */

/* ---------- Tokens (hex first, oklch where supported) ---------- */
:root{
  --paper:#f7f3ed;--card:#fefdfb;--ink:#181412;--muted:#3a3430;--rule:#d6d0c7;--teal:#236662;--portfolio:#aed0c7;
  --teal-deep:#075350;--teal-light:#8ac4c0;--cabinet:#eee9e0;
  --dark-meta:#c1bdb7;--dark-text:#d4d0ca;--dark-note:#aabcba;
  --shadow:rgba(24,20,18,.12);
  --serif:'Scala OT',Georgia,serif;--sans:'Scala Sans Pro','Gill Sans',sans-serif;--hand:'Quentin','Snell Roundhand','Segoe Script','Brush Script MT',cursive;
  --pad:96px;--max:1440px;
}
@supports (color:oklch(0 0 0)){
  :root{
    --paper:oklch(0.9668 0.0089 79.63);--card:oklch(0.995 0.003 80);--ink:oklch(0.1935 0.0079 45.2);
    --muted:oklch(0.33 0.012 55);--rule:oklch(0.86 0.014 75);--teal:oklch(0.4661 0.0665 190.5);
    --portfolio:oklch(0.83 0.038 178);--teal-deep:oklch(0.40 0.0665 190.5);--teal-light:oklch(0.78 0.06 190);
    --cabinet:oklch(0.935 0.013 78);--dark-meta:oklch(0.8 0.01 80);--dark-text:oklch(0.86 0.01 80);
    --dark-note:oklch(0.78 0.02 190);--shadow:oklch(0.1935 0.0079 45.2 / 0.12);
  }
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:19px;line-height:1.55}
img{display:block;max-width:100%}
picture{display:contents}
source{display:none}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
a{color:var(--teal)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.dark :focus-visible,.card-dark :focus-visible{outline-color:var(--paper)}
[id]{scroll-margin-top:0}
.anchor{position:absolute;top:0;left:0;width:1px;height:1px}
.skip{position:absolute;left:16px;top:-80px;z-index:20;padding:10px 16px;background:var(--ink);color:var(--paper);font-weight:700;text-decoration:none}
.skip:focus{top:16px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.m-only{display:none}
br.m-br{display:none}

.kicker{font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.kicker-deep{color:var(--teal-deep)}
.kicker-light{color:var(--teal-light)}
.hand{font-family:var(--hand);color:var(--teal)}
/* Quentin notes: hidden (space kept) until the font is in, then a 400ms fade. Set by JS only, never without JS or under reduced motion. */
.q-wait .hand,.q-wait .f-polle{visibility:hidden}
.q-in .hand,.q-in .f-polle{animation:qfade .4s ease both}
@keyframes qfade{from{opacity:0}to{opacity:1}}
.h2{font-size:52px;line-height:1.08}
.muted{color:var(--muted)}
.more{font-weight:700}
.btn{display:inline-block;text-decoration:none;font-weight:700;transition:transform .3s cubic-bezier(.2,.7,.2,1),background-color .2s ease,color .2s ease,border-color .2s ease}
.btn-ink{padding:10px 18px;background:var(--ink);color:var(--paper)}
.btn-paper{padding:16px 26px;background:var(--paper);color:var(--ink)}
/* Buttons turn teal on hover (see the hover block) and on keyboard focus */
.btn-ink:focus-visible,.btn-paper:focus-visible,.nav a.btn-ink:focus-visible{background:var(--teal);color:var(--paper)}
@media (hover:hover){
  a:hover{color:var(--ink)}
  .btn-ink:hover,.btn-paper:hover,.nav a.btn-ink:hover{background:var(--teal);color:var(--paper);transform:translateY(-2px)}
  .dark a.more:hover,.card-dark a.more:hover{color:var(--paper)}
}

/* ---------- Grids ---------- */
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
.s7{grid-column:span 7}.s8{grid-column:span 8}.s4{grid-column:span 4}.s3{grid-column:span 3}
.c9{grid-column:9 / span 4}.c5{grid-column:5 / span 7}
.stack{display:flex;flex-direction:column}

/* ---------- Header ---------- */
.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:32px;padding-bottom:32px}
.brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:26px;font-weight:500;color:var(--ink);text-decoration:none}
.brand img{height:44px;width:auto}
.nav{display:flex;gap:40px;font-size:17px;font-weight:500;align-items:center}
.nav a{color:var(--ink);text-decoration:none}
.nav a.btn-ink{color:var(--paper)}
/* Nav links (not the button): a 2px teal line draws in from left to right on hover and keyboard focus */
.nav a:not(.btn){position:relative}
.nav a:not(.btn)::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.nav a:not(.btn):focus-visible::after{transform:scaleX(1)}
@media (hover:hover){.nav a:not(.btn):hover::after{transform:scaleX(1)}}
.burger,.burger-link{display:none}
.mnav{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;padding-top:130px;padding-bottom:100px}
.hero-main{gap:30px}
.hero h1{font-size:92px;line-height:1.02}
.act{position:relative;display:inline-block;color:var(--teal)}
.act svg{position:absolute;left:-4px;bottom:-12px;width:calc(100% + 8px);height:16px;overflow:visible}
.draw{stroke-dasharray:1;stroke-dashoffset:0;animation:drawin .7s cubic-bezier(.6,.1,.3,1) .6s both}
@keyframes drawin{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.hero-intro{max-width:680px;font-size:24px;line-height:1.5}
.hero-why{max-width:680px;font-family:var(--serif);font-size:28px;line-height:1.3}
.hero-cta{margin-top:8px}
.hero-note{align-self:end;padding-bottom:20px;animation:rise .9s cubic-bezier(.2,.7,.2,1) 1s both}
.hero-note .hand{font-size:40px;line-height:1.05;transform:rotate(-6deg)}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- Team photo band ---------- */
.band{position:relative;height:560px;overflow:hidden}
.band img{position:absolute;left:0;top:-15%;width:100%;max-width:none;height:130%;object-fit:cover;object-position:center 55%;filter:saturate(.82) sepia(.06);will-change:transform}

/* ---------- Portfolios ---------- */
.portfolios{position:relative;background:var(--portfolio)}
.portfolios .wrap{display:flex;flex-direction:column;gap:40px;padding-top:110px;padding-bottom:110px}
.sec-head{align-items:end}
.sec-head .stack{gap:18px}
.pf-cards{display:grid;grid-template-columns:7fr 5fr;gap:24px}
.pf-card{display:flex;flex-direction:column;gap:16px;padding:44px;border-top:3px solid var(--teal)}
.card-light{background:var(--paper)}
.card-dark{background:var(--ink);color:var(--paper)}
.pf-top{display:flex;justify-content:space-between;align-items:baseline}
.pf-label{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.card-dark .pf-label{color:var(--teal-light)}
.pf-when{font-size:15px;font-weight:700;color:var(--muted)}
.card-dark .pf-when{color:var(--dark-meta)}
.pf-card h3{font-size:40px;line-height:1.12}
.pf-small{font-size:17px;line-height:1.55}
.card-dark p{color:var(--dark-text)}
.card-dark a.more{color:var(--teal-light)}
.grow{flex-grow:1}
.link-deep{color:var(--teal-deep);font-weight:700}

/* ---------- Case files ---------- */
.cases .wrap{position:relative;display:flex;flex-direction:column;gap:44px;padding-top:110px;padding-bottom:110px}
.logos{position:relative;padding-bottom:44px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:26px}
.logos-head{display:flex;justify-content:space-between;align-items:baseline}
.logos-head .kicker{font-size:14px}
.note-28{font-size:28px;transform:rotate(-3deg)}
.logo-grid{display:grid;filter:grayscale(1);opacity:.8;grid-template-columns:repeat(6,minmax(0,1fr));gap:56px 40px;align-items:center}
.logo-cell{display:flex;align-items:center;justify-content:center;height:64px}
.logo-cell img{width:auto;height:auto;max-width:100%;transition:filter .3s,opacity .3s}
@media (hover:hover){.logo-grid:hover .logo-cell img{opacity:.55}.logo-grid .logo-cell:hover img{opacity:1}}
.case-head{position:relative}
.case-side{gap:6px}
.case-side .hand{white-space:nowrap}
.case-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.case{display:flex;flex-direction:column}
.case-in{display:flex;flex-direction:column;gap:18px;padding:32px 32px 34px;background:var(--card);border:1px solid var(--rule);flex-grow:1}
.case-meta,.case-label{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.case-meta{color:var(--muted)}
.case-label{color:var(--teal)}
.case h3{font-size:32px;line-height:1.15}
.case-part{display:flex;flex-direction:column;gap:4px}
.case-part p{font-size:18px;line-height:1.5}
.case-result{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:18px;border-top:1px solid var(--rule)}
.case-result p{font-family:var(--serif);font-size:21px;line-height:1.35}

/* ---------- How we work ---------- */
.how .wrap{display:flex;flex-direction:column;gap:48px;padding-top:110px;padding-bottom:110px}
.frenkie-col{position:relative;display:flex;justify-content:flex-end;align-items:flex-end;min-height:240px}
.frenkie-note{position:absolute;left:0;top:0;font-size:28px;line-height:1.05;transform:rotate(-6deg)}
.frenkie{position:relative;display:inline-block}
.frenkie-shadow{position:absolute;left:2%;right:2%;bottom:-16px;height:36px;border-radius:50%;background:radial-gradient(closest-side,rgba(24,20,18,.55),rgba(24,20,18,.15) 60%,transparent);filter:blur(3px)}
.frenkie img{position:relative;height:220px;width:auto;filter:saturate(.9) drop-shadow(0 10px 14px rgba(24,20,18,.18));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.frenkie:hover img{transform:translateY(-5px) rotate(-1deg)}}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.step{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--ink)}
.step-num{font-family:var(--serif);font-size:56px;line-height:1;color:var(--teal)}
.step h3{font-size:28px;line-height:1.2}
.step-sub{display:flex;flex-direction:column;gap:4px}
.step-sub.first{padding-top:14px;border-top:1px dashed var(--rule)}
.step-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.step-label.teal{color:var(--teal)}
.step-sub p{font-size:17px;line-height:1.5}
.dotted{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
/* Links that leave the site: a small teal north-east arrow, plus hidden text for screen readers */
.ext{display:inline-block;margin-left:.25em;font-size:.8em;line-height:1;color:var(--teal);text-decoration:none}
.card-dark .ext,.dark .ext{color:var(--teal-light)}
.link-deep .ext{color:var(--teal-deep)}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.how-end{align-self:flex-end;font-size:30px;transform:rotate(-3deg)}

/* ---------- Cabinet ---------- */
.cabinet{background:var(--cabinet)}
.cabinet .wrap{align-items:end;padding-top:90px}
.cab-photo{display:flex;align-items:flex-end;justify-content:center}
.cab-photo img{height:440px;width:auto;max-width:none}
.cab-text{gap:18px;align-self:center;padding-bottom:20px}
.cab-text p{font-size:21px;line-height:1.6}
.note-30{font-size:30px;transform:rotate(-3deg);align-self:flex-start}

/* ---------- Request an audience ---------- */
.dark{position:relative;background:var(--ink);color:var(--paper)}
.dark .wrap{align-items:center;padding-top:110px;padding-bottom:110px}
.aud-main{gap:20px}
.aud-main p{font-size:21px;color:var(--dark-text);max-width:560px}
.aud-side{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.aud-side a.more{color:var(--teal-light)}
.aud-side p{margin-top:6px;font-size:16px;color:var(--dark-note)}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--rule)}
.site-footer .wrap{display:flex;flex-direction:column;gap:36px;padding-top:56px;padding-bottom:56px}
.f-top{display:flex;gap:56px;align-items:center}
.f-mark{width:150px;height:auto;flex-shrink:0}
.embassies{flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;align-items:start}
.emb{display:flex;flex-direction:column;gap:4px}
.emb-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.emb-name{font-family:var(--serif);font-size:20px;line-height:1.3}
.emb-mail{font-size:15px}
.f-about{max-width:760px;font-size:16px;line-height:1.55;color:var(--muted)}
.f-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding-top:28px;border-top:1px solid var(--rule)}
.f-copy{font-size:15px;color:var(--muted);line-height:1.7}
.linkbtn{padding:0;border:0;background:none;color:var(--teal);text-decoration:underline;cursor:pointer;font-size:inherit;line-height:inherit}
@media (hover:hover){.linkbtn:hover{color:var(--ink)}}
.f-sign{display:flex;align-items:flex-end;gap:22px}
.f-visits{font-size:26px;transform:rotate(-4deg);margin-bottom:10px}
.f-polle{font-family:var(--hand);font-size:56px;line-height:1;color:var(--ink)}

/* ---------- Text pages (privacy, 404) ---------- */
.page .wrap{padding-top:110px;padding-bottom:110px}
.page-col{max-width:720px;display:flex;flex-direction:column;gap:22px}
.page-col h1{font-size:64px;line-height:1.05;margin-bottom:10px}

/* ---------- Cookie banner ---------- */
.consent{position:fixed;left:24px;bottom:24px;z-index:30;width:420px;max-width:calc(100% - 48px);padding:26px 28px;background:var(--paper);border:1px solid var(--rule);box-shadow:0 18px 40px var(--shadow);display:flex;flex-direction:column;gap:14px}
.consent[hidden]{display:none}
.consent-title{font-family:var(--serif);font-size:24px;line-height:1.2}
.consent p{font-size:16px;line-height:1.5;color:var(--muted)}
.consent-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.consent-btns button{padding:12px 0;text-align:center;font-weight:700;font-size:16px;line-height:1.55;cursor:pointer;border:1px solid var(--ink)}
.c-yes{background:var(--ink);color:var(--paper)}
.c-no{background:transparent;color:var(--ink)}
.consent-btns button{transition:transform .3s cubic-bezier(.2,.7,.2,1),background-color .2s ease,color .2s ease,border-color .2s ease}
.c-yes:focus-visible{background:var(--teal);border-color:var(--teal);color:var(--paper)}
.c-no:focus-visible{border-color:var(--teal);color:var(--teal)}
@media (hover:hover){
  .consent-btns button:hover{transform:translateY(-2px)}
  .c-yes:hover{background:var(--teal);border-color:var(--teal);color:var(--paper)}
  .c-no:hover{border-color:var(--teal);color:var(--teal)}
}

/* ---------- Reveal motion (only when JS adds .anim) ---------- */
.rv{transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.anim .rv:not(.in){opacity:0;transform:translateY(12px)}
.anim .step{border-top-color:transparent}
.anim .step::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.6,.1,.3,1) var(--d,0ms)}
.step{position:relative}
.anim .step.in::before{transform:scaleX(1)}

/* ---------- Wide and tablet shared: below 1100px ---------- */
@media (max-width:1099px){
  .g12{grid-template-columns:minmax(0,1fr)}
  .g12>*{grid-column:auto}
  .pf-cards{grid-template-columns:minmax(0,1fr)}
  .case-cards{grid-template-columns:minmax(0,1fr);max-width:720px}
  .embassies{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cab-text{order:1;align-self:stretch}
  .cab-photo{order:2}
}

/* ---------- Tablet: 761 to 1099px ---------- */
@media (min-width:761px) and (max-width:1099px){
  :root{--pad:48px}
  body{font-size:clamp(17px,1.75vw,19px)}
  .site-header .wrap{flex-wrap:wrap;row-gap:16px;padding-top:24px;padding-bottom:24px}
  .brand{font-size:clamp(20px,2.4vw,26px)}
  .nav{gap:clamp(16px,2.4vw,40px)}
  .hero{padding-top:clamp(64px,11vw,130px);padding-bottom:clamp(52px,9vw,100px)}
  .hero .g12{gap:20px}
  .hero h1{font-size:clamp(44px,7vw,92px)}
  .hero-intro{font-size:clamp(19px,2.2vw,24px)}
  .hero-why{font-size:clamp(22px,2.6vw,28px)}
  .hero-note .hand{font-size:clamp(30px,3.6vw,40px)}
  .band{height:clamp(300px,45vw,560px)}
  .h2{font-size:clamp(32px,4.6vw,52px)}
  .sec-head{gap:20px}
  .portfolios .wrap,.cases .wrap,.how .wrap,.dark .wrap{padding-top:clamp(56px,10vw,110px);padding-bottom:clamp(56px,10vw,110px)}
  .pf-card h3{font-size:clamp(30px,3.6vw,40px)}
  .pf-small{font-size:clamp(16px,1.6vw,17px)}
  .logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .note-28{font-size:clamp(22px,2.6vw,28px)}
  .case h3{font-size:clamp(26px,2.9vw,32px)}
  .case-part p{font-size:clamp(16px,1.65vw,18px)}
  .case-result p{font-size:clamp(17px,1.9vw,21px)}
  .frenkie-col{justify-content:flex-end}
  .frenkie-note{font-size:clamp(22px,2.6vw,28px)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
  .step-num{font-size:clamp(34px,5vw,56px)}
  .step h3{font-size:clamp(22px,2.6vw,28px)}
  .step-sub p{font-size:clamp(16px,1.55vw,17px)}
  .how-end,.note-30{font-size:clamp(24px,2.8vw,30px)}
  .cabinet .wrap{padding-top:clamp(48px,8vw,90px);gap:20px}
  .cab-photo img{height:clamp(320px,40vw,440px)}
  .cab-text p{font-size:clamp(17px,1.9vw,21px)}
  .aud-main p{font-size:clamp(17px,1.9vw,21px)}
  .emb-name{font-size:clamp(18px,1.8vw,20px)}
  .f-visits{font-size:clamp(21px,2.4vw,26px)}
  .f-polle{font-size:clamp(34px,5vw,56px)}
  .consent-title{font-size:clamp(19px,2.2vw,24px)}
  .page-col h1{font-size:clamp(40px,5.8vw,64px)}
}

/* ---------- Desktop and tablet: case files and How we work share a background, so no double padding ---------- */
@media (min-width:761px){
  .how .wrap{padding-top:40px}
}

/* ---------- Mobile: 760px and down ---------- */
@media (max-width:760px){
  :root{--pad:20px}
  body{font-size:17px}
  [id]{scroll-margin-top:76px}
  .m-only{display:block}
  br.m-br{display:inline}
  br.d-br{display:none}
  .site-header{position:sticky;top:0;z-index:10}
  .site-header .wrap{flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
  .brand{flex-wrap:wrap;gap:10px;font-size:16px;line-height:1.15;font-weight:400}
  .brand img{height:34px}
  .nav{display:none}
  .burger-link,.burger{display:flex;flex-direction:column;gap:5px;padding:8px 0 8px 12px;background:none;border:0;cursor:pointer}
  .burger[hidden],.burger-link[hidden]{display:none}
  .burger span,.burger-link span{display:block;width:24px;height:2px;background:var(--ink)}
  .mnav{display:flex;flex-direction:column;gap:18px;width:100%;padding:20px 0 8px;font-size:17px}
  .mnav[hidden]{display:none}
  .mnav a{color:var(--ink);text-decoration:none}
  .mnav a.btn-ink{color:var(--paper);align-self:flex-start;padding:12px 18px}
  .hero{padding-top:64px;padding-bottom:52px}
  .hero .g12{gap:20px}
  .hero h1{font-size:44px}
  .hero-intro{font-size:19px}
  .hero-why{font-size:22px}
  .hero-note .hand{font-size:30px}
  .band{height:300px}
  .h2{font-size:32px}
  .sec-head{gap:20px}
  .portfolios .wrap{gap:28px;padding-top:56px;padding-bottom:56px}
  .pf-top{flex-wrap:wrap}
  .pf-card h3{font-size:30px}
  .pf-small{font-size:16px}
  .cases .wrap{gap:28px;padding-top:56px;padding-bottom:56px}
  .logos-head{flex-wrap:wrap}
  .note-28{font-size:22px}
  .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
  .logo-cell{flex-wrap:wrap}
  .case-cards{max-width:none}
  .case h3{font-size:26px}
  .case-part p{font-size:16px}
  .case-result p{font-size:17px}
  .how .wrap{gap:28px;padding-top:56px;padding-bottom:56px}
  .frenkie-col{flex-wrap:wrap}
  .frenkie-note{font-size:22px}
  .steps{grid-template-columns:minmax(0,1fr);gap:28px}
  .step-num{font-size:34px}
  .step h3{font-size:22px}
  .step-sub p{font-size:16px}
  .how-end{font-size:24px}
  .cabinet .wrap{gap:20px;padding-top:48px}
  .cab-text{padding-bottom:0}
  .cab-text p{font-size:17px}
  .note-30{font-size:24px}
  .cab-photo{flex-wrap:wrap;margin-top:8px}
  .cab-photo img{height:320px}
  .dark .wrap{gap:20px;padding-top:56px;padding-bottom:56px}
  .aud-main p{font-size:17px}
  .site-footer .wrap{padding-top:36px;padding-bottom:36px}
  .f-top{flex-direction:column;gap:28px;align-items:flex-start}
  .f-mark{width:110px}
  .embassies{width:100%;gap:20px}
  .emb-name{font-size:18px}
  .f-bottom{flex-wrap:wrap}
  .f-sign{flex-wrap:wrap}
  .f-visits{font-size:21px}
  .f-polle{font-size:34px}
  .consent{left:12px;right:12px;bottom:12px;width:auto;max-width:none}
  .consent-title{font-size:19px}
  .page .wrap{padding-top:56px;padding-bottom:56px}
  .page-col h1{font-size:40px}
}

/* ---------- Reduced motion: everything static and visible ---------- */
@media (prefers-reduced-motion:reduce){
  .nav a:not(.btn)::after{transition:none}
  .q-wait .hand,.q-wait .f-polle{visibility:visible}
  .q-in .hand,.q-in .f-polle{animation:none}
  html{scroll-behavior:auto}
  .draw{animation:none;stroke-dashoffset:0}
  .hero-note{animation:none}
  .rv,.anim .rv:not(.in){opacity:1;transform:none;transition:none}
  .anim .step{border-top-color:var(--ink)}
  .anim .step::before{display:none}
  .band img{transform:none!important}
  .btn,.frenkie img,.logo-cell img,.consent-btns button{transition:none}
  .frenkie:hover img,.btn:hover,.consent-btns button:hover{transform:none}
}
