:root{
  /* Fruit Chord roles, Meyer sampled colours */
  --skin:#EDF3F7;        /* pale lab wash, their row background */
  --flesh:#FFFFFF;       /* their page ground */
  --seed:#1C2674;        /* deep navy, their inline theme CSS */
  --stem:#0D4B84;        /* logo blue, sampled from blue-logo.png */
  --ripeness:#3368C6;    /* site action blue, their inline theme CSS */
  --juice:#7BDAE5;       /* cyan hint, their inline theme CSS */
  --ink:#32373C;         /* their theme text colour */
  --ink-soft:#5A6068;
  --line:#C9D6E2;
  --font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-body:"Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono","Courier New",monospace;
  --text-xs:0.75rem; --text-sm:0.875rem; --text-base:1rem; --text-md:1.125rem;
  --text-lg:1.375rem; --text-xl:1.75rem; --text-2xl:2.25rem; --text-3xl:3rem;
  --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem; --space-7:3rem; --space-8:4rem;
  --radius-sm:4px; --radius-md:8px; --radius-lg:14px;
  --border-w:1px; --touch:48px; --motion-fast:160ms; --motion-med:320ms;
  --head-h:72px; --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--flesh);font-size:var(--text-base);line-height:1.6;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:var(--ripeness)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--space-4)}
.num,.stat b,td,th{font-variant-numeric:tabular-nums}
/* header */
.topbar{background:var(--seed);color:var(--flesh);font-size:var(--text-sm)}
.topbar .wrap{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-2);padding-bottom:var(--space-2)}
.topbar a{color:var(--juice);text-decoration:none;font-weight:600}
.site-head{position:sticky;top:0;background:var(--flesh);border-bottom:var(--border-w) solid var(--line);z-index:40}
.site-head .wrap{display:flex;align-items:center;gap:var(--space-5);min-height:var(--head-h)}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--seed)}
.brand img{height:44px;width:auto}
.brand .bname{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);line-height:1.15;color:var(--seed)}
.brand .bname small{display:block;font-weight:600;font-size:var(--text-xs);letter-spacing:0.14em;color:var(--ripeness);text-transform:uppercase}
.main-nav{margin-left:auto;display:none;gap:var(--space-5)}
.main-nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:var(--text-sm);padding:var(--space-2) 0;border-bottom:3px solid transparent}
.main-nav a[aria-current]{color:var(--stem);border-bottom-color:var(--ripeness)}
.burger{margin-left:auto;display:flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);background:var(--flesh);font-size:var(--text-lg);color:var(--seed);cursor:pointer}
.mobile-menu{display:none;background:var(--skin);border-bottom:var(--border-w) solid var(--line)}
.mobile-menu.open{display:block}
.mobile-menu a{display:flex;align-items:center;min-height:var(--touch);padding:var(--space-2) var(--space-4);text-decoration:none;color:var(--ink);font-weight:600;border-top:var(--border-w) solid var(--line)}
@media(min-width:900px){.main-nav{display:flex}.burger{display:none}}
/* breadcrumb */
.crumbs{font-size:var(--text-sm);color:var(--ink-soft);padding:var(--space-4) 0 0}
.crumbs a{color:var(--ripeness);text-decoration:none}
/* hero */
.hero{background:var(--skin);border-bottom:var(--border-w) solid var(--line);overflow:hidden}
.hero .wrap{display:grid;gap:var(--space-6);padding-top:var(--space-7);padding-bottom:var(--space-7);align-items:center}
@media(min-width:900px){.hero .wrap{grid-template-columns:1.05fr 0.95fr}}
.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--ripeness);font-weight:700}
h1{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.08;color:var(--seed);font-weight:800;margin:var(--space-3) 0 var(--space-4)}
@media(min-width:900px){h1{font-size:var(--text-3xl)}}
.lede{font-size:var(--text-md);color:var(--ink);max-width:56ch}
.hero-img{border-radius:var(--radius-lg);border:var(--border-w) solid var(--line);width:100%;height:auto;object-fit:cover}
.sample-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.12em;background:var(--flesh);border:var(--border-w) dashed var(--stem);color:var(--stem);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4);text-transform:uppercase}
.btnrow{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--ripeness);color:var(--flesh);text-decoration:none;font-weight:700;border:var(--border-w) solid var(--ripeness);transition:background var(--motion-fast)}
.btn:hover{background:var(--stem)}
.btn.ghost{background:transparent;color:var(--stem);border-color:var(--stem)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-6)}
.stat{background:var(--flesh);border:var(--border-w) solid var(--line);border-top:4px solid var(--stem);border-radius:var(--radius-md);padding:var(--space-4)}
.stat b{font-family:var(--font-display);font-size:var(--text-xl);color:var(--seed);display:block}
.stat span{font-size:var(--text-sm);color:var(--ink-soft)}
/* sections */
section.block{padding:var(--space-7) 0}
section.block.alt{background:var(--skin)}
h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--seed);line-height:1.15;margin-bottom:var(--space-3)}
@media(min-width:900px){h2{font-size:var(--text-2xl)}}
.sub{color:var(--ink-soft);max-width:64ch;margin-bottom:var(--space-6)}
.grid{display:grid;gap:var(--space-4)}
@media(min-width:700px){.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--flesh);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}
.alt .card{background:var(--flesh)}
.card h3{font-family:var(--font-display);color:var(--seed);font-size:var(--text-md);margin-bottom:var(--space-2)}
.card p{color:var(--ink-soft);font-size:var(--text-sm)}
.card .tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.14em;color:var(--ripeness);text-transform:uppercase;display:block;margin-bottom:var(--space-2)}
.brandgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
@media(min-width:800px){.brandgrid{grid-template-columns:repeat(3,1fr)}}
.brandcard{background:var(--flesh);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left}
.brandcard img{height:56px;width:auto;object-fit:contain;margin-bottom:var(--space-3)}
.brandcard h3{font-family:var(--font-display);color:var(--seed);font-size:var(--text-base)}
.brandcard p{font-size:var(--text-sm);color:var(--ink-soft)}
table.spec{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--flesh)}
table.spec th,table.spec td{border:var(--border-w) solid var(--line);padding:var(--space-3);text-align:left;vertical-align:top}
table.spec th{background:var(--skin);color:var(--seed);font-family:var(--font-display)}
ul.ticks{list-style:none}
ul.ticks li{padding:var(--space-2) 0 var(--space-2) var(--space-5);position:relative;border-bottom:var(--border-w) solid var(--line)}
ul.ticks li:before{content:"";position:absolute;left:0;top:1.05em;width:10px;height:10px;background:var(--juice);border:2px solid var(--stem);border-radius:50%}
.signs{display:grid;gap:var(--space-4)}
@media(min-width:800px){.signs{grid-template-columns:repeat(3,1fr)}}
.sign{background:var(--flesh);border:var(--border-w) solid var(--line);border-left:6px solid var(--ripeness);border-radius:var(--radius-md);padding:var(--space-5)}
.sign b{font-family:var(--font-mono);color:var(--ripeness);font-size:var(--text-lg);display:block;margin-bottom:var(--space-2)}
.figure{border-radius:var(--radius-lg);border:var(--border-w) solid var(--line);width:100%;height:100%;object-fit:cover;min-height:220px}
.split{display:grid;gap:var(--space-6);align-items:start}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr}}
.calc{background:var(--seed);color:var(--flesh);border-radius:var(--radius-lg);padding:var(--space-6)}
.calc h3{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-2)}
.calc p{color:var(--skin);font-size:var(--text-sm)}
.calc label{display:block;font-size:var(--text-sm);font-weight:700;margin:var(--space-4) 0 var(--space-2)}
.calc input{width:100%;min-height:var(--touch);border-radius:var(--radius-md);border:var(--border-w) solid var(--line);padding:var(--space-3);font-size:var(--text-base);font-family:var(--font-mono)}
.calc .out{font-family:var(--font-mono);font-size:var(--text-md);margin-top:var(--space-4);color:var(--juice)}
form.mailform{display:grid;gap:var(--space-3)}
form.mailform label{font-size:var(--text-sm);font-weight:700;color:var(--seed)}
form.mailform input,form.mailform textarea,form.mailform select{width:100%;min-height:var(--touch);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-base);font-family:var(--font-body);background:var(--flesh);color:var(--ink)}
form.mailform textarea{min-height:120px}
.note{font-size:var(--text-sm);color:var(--ink-soft)}
.job{border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--flesh)}
.job .meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 var(--space-4)}
.chip{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--skin);border:var(--border-w) solid var(--line);border-radius:999px;padding:var(--space-1) var(--space-3);color:var(--seed)}
/* next step */
.next{background:var(--stem);color:var(--flesh)}
.next .wrap{display:grid;gap:var(--space-4);padding-top:var(--space-6);padding-bottom:var(--space-6);align-items:center}
@media(min-width:900px){.next .wrap{grid-template-columns:1fr auto}}
.next h2{color:var(--flesh)}
.next p{color:var(--skin)}
.next .btn{background:var(--flesh);color:var(--stem);border-color:var(--flesh)}
/* footer */
footer{background:var(--seed);color:var(--skin);padding:var(--space-7) 0 var(--space-6);font-size:var(--text-sm)}
footer .cols{display:grid;gap:var(--space-6)}
@media(min-width:800px){footer .cols{grid-template-columns:1.3fr 1fr 1fr 1fr}}
footer h4{font-family:var(--font-display);color:var(--flesh);margin-bottom:var(--space-3);font-size:var(--text-base)}
footer a{color:var(--skin);text-decoration:none;display:block;padding:var(--space-1) 0;min-height:32px}
footer a:hover{color:var(--juice)}
.concept{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.14em;border:var(--border-w) dashed var(--juice);color:var(--juice);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);text-transform:uppercase;margin-top:var(--space-4)}
.footline{border-top:var(--border-w) solid rgba(255,255,255,0.25);margin-top:var(--space-6);padding-top:var(--space-4);display:grid;gap:var(--space-2)}
@media (prefers-reduced-motion: reduce){*{transition:none!important;scroll-behavior:auto!important}}
