:root{
  --navy:#13224f; --navy2:#1b2e66; --navy3:#24397a; --ink:#0e1733; --paper:#ffffff; --mist:#eef2f8; --mist2:#e2e9f4; --gold:#ffc20e; --sky:#38a6f0;
  --muted:#56627f; --line:#d9e0ec; --r:18px; --wrap:1200px;
  --display:"Schibsted Grotesk",system-ui,sans-serif; --body:"Instrument Sans",system-ui,sans-serif; --mono:"Martian Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{font-family:var(--body);font-size:17px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.wrap>*{min-width:0}
svg.i{width:22px;height:22px;flex:0 0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.eyebrow::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--gold)}
.on-dark .eyebrow{color:#fff}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:#fff;transition:box-shadow .3s}
.hdr.scrolled{box-shadow:0 10px 30px -20px rgba(14,23,51,.55)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:82px;gap:20px}
.hdr .logo img{height:54px;width:auto}
.links{display:flex;align-items:center;gap:4px;background:var(--mist);border-radius:999px;padding:5px}
.links a{text-decoration:none;font-weight:600;font-size:15px;color:var(--muted);padding:10px 16px;border-radius:999px;transition:background .2s,color .2s}
.links a:hover{color:var(--navy);background:#fff}
.links a[aria-current=page]{background:var(--navy);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16px var(--body);text-decoration:none;border-radius:12px;padding:15px 24px;border:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 10px 22px -10px rgba(255,194,14,.8)}
.btn-navy{background:var(--navy);color:#fff}
.btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.btn-line{color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.btn svg{width:20px;height:20px}
.menu-btn{display:none;width:50px;height:50px;border-radius:14px;border:0;background:var(--mist);cursor:pointer;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;position:relative;content:""}
.menu-btn span::before{position:absolute;top:-6px}.menu-btn span::after{position:absolute;top:6px}
.pmenu{position:fixed;inset:0;z-index:70;background:var(--navy);color:#fff;padding:22px 24px 30px;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .45s cubic-bezier(.7,0,.2,1);visibility:hidden}
.pmenu.open{transform:none;visibility:visible}
.pmenu .top{display:flex;justify-content:space-between;align-items:center}
.pmenu .plate{background:#fff;border-radius:12px;padding:6px 10px}.pmenu .plate img{height:40px}
.pmenu .x{width:50px;height:50px;border-radius:14px;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}
.pmenu nav{display:flex;flex-direction:column;margin-top:26px}
.pmenu nav a{font-family:var(--display);font-weight:800;font-size:36px;letter-spacing:-.02em;text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center}
.pmenu nav a::after{content:"→";color:var(--gold);font-size:26px}
.pmenu nav a[aria-current=page]{color:var(--gold)}
.pmenu .acts{margin-top:auto;display:grid;gap:10px}

/* hero (home) */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-220px;top:-160px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(255,194,14,.16),rgba(255,194,14,0) 65%)}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-top:70px;padding-bottom:90px;position:relative}
.hero h1{font-family:var(--display);font-weight:900;font-size:clamp(46px,6vw,84px);line-height:.98;letter-spacing:-.035em;margin:20px 0 22px}
.hero h1 span{color:var(--gold)}
.hero .lead{font-size:19px;color:#c9d2ea;max-width:38ch}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.proof{display:flex;align-items:center;gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);color:#c9d2ea;font-size:15px}
.proof b{font-family:var(--display);font-size:34px;color:#fff;line-height:1}
.proof .stars{color:var(--gold);letter-spacing:2px}
.visual{position:relative;min-height:520px}
.visual .slides{position:absolute;right:0;top:0;width:82%;height:100%;border-radius:22px;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.sheet{position:absolute;left:0;bottom:30px;width:min(360px,74%);background:#fff;color:var(--ink);border-radius:18px;padding:22px 22px 18px;box-shadow:0 40px 70px -30px rgba(0,0,0,.65);transform:rotate(-2.5deg)}
.sheet header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px dashed var(--line);padding-bottom:10px;margin-bottom:6px}
.sheet header b{font-family:var(--display);font-weight:800;font-size:19px;color:var(--navy)}
.sheet header small{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.sheet ul{list-style:none}
.sheet li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--mist);font-size:15px}
.sheet .box{flex:0 0 22px;height:22px;border-radius:6px;border:2px solid var(--line);position:relative;background:#fff}
.sheet .tick{position:absolute;inset:-2px;border-radius:6px;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23ffc20e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.sheet footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;color:var(--muted)}
.stamp{font-family:var(--display);font-weight:900;font-size:13px;letter-spacing:.12em;color:#1d7a4a;border:2px solid #1d7a4a;border-radius:6px;padding:3px 8px;transform:rotate(-6deg);opacity:0;transition:opacity .4s ease 1.4s}
[data-ticks].ticked .stamp{opacity:1}
html.no-motion .stamp{opacity:1}

/* page hero (inner pages) */
.phero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.phero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:64px;position:relative}
.phero h1{font-family:var(--display);font-weight:900;font-size:clamp(40px,5.2vw,70px);letter-spacing:-.035em;line-height:1;margin:16px 0 16px}
.phero p{color:#c9d2ea;font-size:19px;max-width:48ch}
.phero .crumb{font-size:14px;color:#aab6d6}.phero .crumb a{color:#fff}
.phero figure{border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.phero figure img{width:100%;height:100%;object-fit:cover}

/* trust */
.trust{background:var(--ink);color:#dfe5f3}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:24px;padding-bottom:24px}
.trust .wrap>div{display:flex;gap:12px;align-items:center;font-size:15px;line-height:1.35}
.trust .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,194,14,.12);color:var(--gold);display:grid;place-items:center;flex:0 0 auto}
.trust b{display:block;color:#fff}

.strip{background:var(--mist);padding:18px 0;border-bottom:1px solid var(--line)}
.strip .track span{display:inline-flex;align-items:center;font-family:var(--display);font-weight:800;font-size:22px;color:var(--navy);padding:0 26px}
.strip .track span::after{content:"✦";color:var(--gold);margin-left:26px;font-size:16px}

section{padding:100px 0}
section.tight{padding:80px 0}
h2{font-family:var(--display);font-weight:900;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.03em;color:var(--navy);margin:14px 0 16px;max-width:18ch}
.on-dark h2{color:#fff}
.intro{color:var(--muted);max-width:58ch;font-size:18px}
.on-dark .intro{color:#c9d2ea}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}

/* space tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:36px 0 22px}
.tab{font:600 15px var(--body);border:0;background:var(--mist);color:var(--navy);padding:12px 18px;border-radius:12px;cursor:pointer;transition:background .2s,color .2s}
.tab:hover{background:var(--mist2)}
.tab[aria-selected=true]{background:var(--navy);color:#fff}
.panel{display:grid;grid-template-columns:1fr 1fr;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -40px rgba(14,23,51,.6);border:1px solid var(--line)}
.panel[hidden]{display:none}
.panel>*{min-width:0}
.panel figure{min-height:440px;background:var(--mist)}
.panel figure img{width:100%;height:100%;object-fit:cover}
.panel .body{padding:42px}
.panel h3{font-family:var(--display);font-weight:900;font-size:32px;color:var(--navy);letter-spacing:-.02em;margin:10px 0 18px}
.ticks{list-style:none;display:grid;gap:12px;margin-bottom:28px}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.ticks li::before{content:"";flex:0 0 24px;height:24px;border-radius:7px;margin-top:1px;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23ffc20e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}

/* before / after */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}
.ba-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 26px 50px -40px rgba(14,23,51,.7)}
.ba-card .ba{aspect-ratio:653/708}
.ba-card.wide .ba{aspect-ratio:4/3}
.ba-card p{padding:16px 20px;font-size:15.5px;color:var(--muted)}
.ba-card p b{color:var(--navy)}

/* specialist */
.special{background:var(--navy);color:#fff}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.scard{background:var(--navy2);border-radius:18px;padding:26px 22px;display:flex;flex-direction:column;gap:10px;border:1px solid rgba(255,255,255,.08);transition:transform .25s,background .25s}
.scard:hover{transform:translateY(-6px);background:var(--navy3)}
.scard .ic{width:48px;height:48px;border-radius:14px;background:var(--gold);color:var(--navy);display:grid;place-items:center}
.scard h3{font-family:var(--display);font-weight:800;font-size:21px;line-height:1.15}
.scard p{color:#c9d2ea;font-size:15.5px}
.scard a{margin-top:auto;font-weight:700;color:var(--gold);font-size:15px;text-decoration:none}

/* team */
.team-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.team-pics{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.team-pics figure{border-radius:18px;overflow:hidden;aspect-ratio:3/4}
.team-pics figure:nth-child(2){margin-top:44px}
.team-pics img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.team-pics figure:hover img{transform:scale(1.05)}
.prom{display:grid;gap:16px;margin-top:26px}
.prom>div{display:flex;gap:14px;align-items:flex-start}
.prom .ic{width:42px;height:42px;border-radius:12px;background:var(--mist);color:var(--navy);display:grid;place-items:center;flex:0 0 auto}
.prom b{display:block;font-family:var(--display);font-weight:800;color:var(--navy);font-size:18px}
.prom span{color:var(--muted)}

/* reviews */
.reviews{background:var(--mist)}
.score{display:flex;align-items:center;gap:16px}
.score b{font-family:var(--display);font-weight:900;font-size:76px;color:var(--navy);line-height:1}
.score span{color:var(--muted)}
.score .stars{color:#e5a900;letter-spacing:2px;font-size:20px}
.rev{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.rev figure{background:#fff;border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;box-shadow:0 20px 40px -34px rgba(14,23,51,.7)}
.rev .stars{color:#e5a900;letter-spacing:2px}
.rev p{font-size:18px;line-height:1.5}
.rev cite{font-style:normal;display:flex;gap:12px;align-items:center;font-weight:700;color:var(--navy)}
.rev cite i{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-style:normal;flex:0 0 auto}
.rev cite span{display:block;font-weight:500;color:var(--muted);font-size:13.5px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;counter-reset:s}
.steps>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.steps>div::before{counter-increment:s;content:"0" counter(s);display:block;font-family:var(--display);font-weight:900;font-size:42px;color:var(--gold);line-height:1;margin-bottom:14px}
.steps h3{font-family:var(--display);font-weight:800;font-size:21px;color:var(--navy);margin-bottom:6px}
.steps p{color:var(--muted)}

.band{background:var(--gold)}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:56px;padding-bottom:56px;flex-wrap:wrap}
.band h2{margin:0;color:var(--ink);max-width:22ch;font-size:clamp(30px,3.4vw,46px)}

/* services page */
.catnav{position:sticky;top:82px;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.catnav .wrap{display:flex;gap:8px;padding-top:12px;padding-bottom:12px;overflow-x:auto}
.catnav a{flex:0 0 auto;text-decoration:none;font-weight:600;font-size:15px;color:var(--navy);background:var(--mist);padding:10px 16px;border-radius:999px}
.catnav a:hover{background:var(--navy);color:#fff}
.cat{scroll-margin-top:150px}
.cat-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:34px}
.cat-intro figure{border-radius:22px;overflow:hidden;aspect-ratio:16/11;box-shadow:0 30px 60px -40px rgba(14,23,51,.7)}
.cat-intro figure img{width:100%;height:100%;object-fit:cover}
.cat.flip .cat-intro figure{order:2}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .25s,box-shadow .25s,border-color .25s}
.svc-card:hover{transform:translateY(-5px);border-color:var(--navy);box-shadow:0 24px 46px -34px rgba(14,23,51,.8)}
.svc-card .ic{width:46px;height:46px;border-radius:13px;background:var(--mist);color:var(--navy);display:grid;place-items:center}
.svc-card h3{font-family:var(--display);font-weight:800;font-size:20px;color:var(--navy)}
.svc-card p{color:var(--muted);font-size:15.5px}
.svc-card a{margin-top:auto;padding-top:6px;font-weight:700;color:var(--navy);font-size:15px;text-decoration:none}
.cat.alt{background:var(--mist)}

/* about page */
.story{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.story figure{border-radius:22px;overflow:hidden;aspect-ratio:653/708;box-shadow:0 30px 60px -40px rgba(14,23,51,.7)}
.story figure img{width:100%;height:100%;object-fit:cover}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.gallery figure{border-radius:16px;overflow:hidden;aspect-ratio:3/4;position:relative}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(14,23,51,.78);color:#fff;font-size:13.5px;border-radius:10px;padding:8px 10px}
.areas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.areas span{border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:700;color:var(--navy);background:#fff}
.areas span.base{background:var(--navy);color:#fff;border-color:var(--navy)}

/* quote page */
.qwrap{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;padding:64px 24px 100px}
.qwrap>*{min-width:0}
.qcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 30px 60px -44px rgba(14,23,51,.7)}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field.full{grid-column:1/-1}
label,.lbl{font-weight:700;font-size:15px;color:var(--navy)}
input,select,textarea{font:16px var(--body);color:var(--ink);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(19,34,79,.12)}
textarea{min-height:110px;resize:vertical}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{font-weight:600;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;position:relative}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}
.hint{font-size:13.5px;color:var(--muted)}
.err{color:#b42318;font-size:14px;min-height:20px}
.done{grid-column:1/-1;background:#e8f5ee;color:#14532d;border-radius:12px;padding:16px 18px;display:none}
.aside{display:grid;gap:12px;align-self:start;position:sticky;top:104px}
.aside a,.aside .cardlet{display:flex;gap:14px;align-items:center;background:var(--mist);border-radius:16px;padding:16px 18px;text-decoration:none}
.aside a>span:last-child,.aside .cardlet>span:last-child{min-width:0}
.aside .ic{width:42px;height:42px;border-radius:12px;background:#fff;color:var(--navy);display:grid;place-items:center;flex:0 0 auto}
.aside small{display:block;color:var(--muted);font-size:13px}
.aside b{color:var(--navy);overflow-wrap:anywhere}
.mapbox{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:#eef1f5 url(../assets/map.webp) 30% center/cover;border:1px solid var(--line)}
.mapbox iframe{width:100%;height:100%;border:0}

/* footer */
.foot{background:var(--ink);color:#aab6d6;padding:70px 0 0;font-size:15px}
.foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px}
.foot .plate{display:inline-block;background:#fff;border-radius:14px;padding:10px 14px}
.foot .plate img{height:48px;width:auto}
.foot h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:16px;font-weight:700}
.foot a{display:block;color:#dfe5f3;text-decoration:none;margin-bottom:10px}
.foot a.plate{display:inline-block}
.foot a:hover{color:var(--gold)}
.foot .bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding:20px 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px}

.float{position:fixed;right:20px;bottom:20px;z-index:45;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 12px 26px rgba(0,0,0,.25)}
.float svg{width:32px;height:32px;color:#fff}
.mbar{display:none}
.concept{position:fixed;left:16px;bottom:16px;z-index:45;background:#fff;color:var(--ink);font-size:12px;padding:8px 12px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.18)}

@media (max-width:1100px){.concept{display:none}.cards{grid-template-columns:1fr 1fr}}
@media (max-width:1000px){
  .links,.hdr .btn{display:none}
  .menu-btn{display:inline-flex}
  .hero .wrap,.phero .wrap,.panel,.team-row,.story,.qwrap,.cat-intro{grid-template-columns:1fr}
  .cat.flip .cat-intro figure{order:0}
  .visual{min-height:440px}
  .trust .wrap{grid-template-columns:1fr 1fr}
  .rev,.steps,.svc-grid{grid-template-columns:1fr}
  .ba-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .panel figure{min-height:280px}
  .foot .cols{grid-template-columns:1fr 1fr}
  .aside{position:static}
  section{padding:76px 0}
  .float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mbar .btn{padding:14px 10px}
  body{padding-bottom:78px}
}
@media (max-width:600px){
  .wrap{padding:0 18px}
  .hdr .wrap{height:72px}.hdr .logo img{height:44px}
  .catnav{top:72px}
  .hero h1{font-size:46px}
  .hero .cta .btn{width:100%}
  .visual{min-height:400px}
  .visual .slides{width:100%;height:78%}
  .sheet{width:86%;bottom:0}
  .cards,.trust .wrap,form{grid-template-columns:1fr}
  .panel .body{padding:28px 22px}
  .qcard{padding:24px 18px}
  .qwrap{padding:40px 18px 80px}
  .foot .cols{grid-template-columns:1fr}
  .score b{font-size:60px}
  .team-pics figure:nth-child(2){margin-top:24px}
}
.panel h3,.cat-intro h2,.svc-card h3,.scard h3{line-height:1.12}
.sheet header b{line-height:1.2}
@media (max-width:600px){
  .hdr .logo img{height:50px}
  .panel h3{font-size:28px}
  .sheet header small{display:none}
}

/* ===== size pass (17 Oct 2026): nothing too big on the screen.
   Samuel: "big big cards, big big numbers, big big texts... the menu button is too big on mobile... the logo in the menu is off".
   The menu logo was stretched sideways (height set, width not): fixed with width:auto.
   Phone limits: header 60px, logo 34px tall, menu button 42px, menu links 21px, h1 36px, h2 27px, h3 21px, numbers 46px,
   buttons about 46px tall, no card taller than 60% of the screen. Desktop: h1 68px, numbers 64px, boxes 72% of the screen.
   Checked by Website playbook\build-client-website\scripts\size_check.js. To go back: _size-pass-backups\before-size-pass-17oct\ */
.hero h1{font-size:clamp(40px,5vw,68px)}
.phero h1{font-size:clamp(34px,4.2vw,56px)}
h2{font-size:clamp(28px,3.2vw,44px)}
.band h2{font-size:clamp(26px,2.8vw,38px)}
.panel h3{font-size:26px}
.score b{font-size:64px}
.panel figure{min-height:380px}
.ba-card figure,.ba-card .ba{max-height:min(600px,68vh)}
.pmenu .plate{padding:5px 9px;border-radius:10px}
.pmenu .plate img{height:34px;width:auto}
.menu-btn{width:44px;height:44px;border-radius:12px}
.pmenu .x{width:44px;height:44px;border-radius:12px;font-size:22px;line-height:1}
.pmenu nav a{font-size:24px;font-weight:700;letter-spacing:-.01em}
.pmenu nav a::after{font-size:18px}
@media (max-width:600px){
  .hdr .wrap{height:60px}
  .hdr .logo img{height:36px}
  .catnav{top:60px}
  .menu-btn{width:42px;height:42px}
  .pmenu{padding:9px 18px 24px}
  .pmenu .x{width:42px;height:42px}
  .pmenu nav{margin-top:24px}
  .pmenu nav a{font-size:21px;padding:15px 0}
  .pmenu .acts .btn{padding:13px 18px}
  .hero h1{font-size:36px}
  .phero h1{font-size:31px}
  h2{font-size:27px}
  .band h2{font-size:24px}
  .panel h3{font-size:22px}
  .scard h3,.svc-card h3,.steps h3{font-size:18px}
  .score b{font-size:46px}
  .steps>div::before{font-size:30px}
  .proof b{font-size:28px}
  .btn{padding:13px 20px;font-size:15px}
  .mbar .btn{padding:12px 10px}
  body{padding-bottom:70px}
  .panel figure{min-height:0;height:200px}
  .visual{min-height:340px}
}
/* the 15 Oct speed pass wrote width and height on every picture; without this line the browser used that height */
img{height:auto}
@media (max-width:600px){
  .panel figure{height:170px}
  .panel .body{padding:22px 18px}
  .ticks{gap:9px;margin-bottom:22px}
  .ticks li{font-size:15.5px}
}
@media (max-width:380px){.panel .btn{font-size:14px;padding:12px 14px}}
@media (max-width:600px){section{padding:60px 0}}
