@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(fonts/dm-sans-400.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url(fonts/dm-sans-500.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:700;font-display:swap;src:url(fonts/dm-sans-700.woff2) format("woff2")}
@font-face{font-family:"Lora";font-weight:400;font-display:swap;src:url(fonts/lora-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-weight:700;font-display:swap;src:url(fonts/lora-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:400;font-display:swap;src:url(fonts/open-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:600;font-display:swap;src:url(fonts/open-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:700;font-display:swap;src:url(fonts/open-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Press Start 2P";font-weight:400;font-display:swap;src:url(fonts/press-start-2p.woff2) format("woff2")}

/* --u is one pixel of the 1280px-wide Wix layout, scaled to the window (set by script below) */
:root{--u:1px;--c:#f78c84;--ink:#1f2430;--ink2:#3a4150;--paper:#fffdf8;--navy:#0f4e7e;--navy2:#112d58;--box:#f3f3f3;
--ease-out:cubic-bezier(0.23,1,0.32,1);--pad:clamp(16px,3.4vw,48px)}
*{box-sizing:border-box}
html{scroll-padding-top:86px;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#fff;color:#000;font-family:"Open Sans",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:4px}

/* ---------- header: same as about-v14 / home-v14 ---------- */
:root{--body:16px}
.hd{position:fixed;left:0;right:0;top:0;z-index:50;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);--hdbg:rgba(247,244,238,.93);background:var(--hdbg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.js .hd{background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.js .hd::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--hdbg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(31,36,48,.07);opacity:1;transition:opacity .2s var(--ease-out)}
.js .hd:not(.solid)::before{opacity:0}
@media (min-width:1000px){.hd{padding-left:max(var(--pad),calc((100vw - 1500px)/2 + 48px));padding-right:max(var(--pad),calc((100vw - 1500px)/2 + 48px))}}
.top-sentinel{position:absolute;left:0;top:0;width:1px;height:120px;pointer-events:none}
.logo{display:block;width:74px;height:54px;background:url(logo-anim.webp) center/contain no-repeat;transition:transform .16s var(--ease-out)}
.logo-still .logo{background-image:url(logo-still.png)}
@media (prefers-reduced-motion:reduce){.logo{background-image:url(logo-still.png)}}
.logo:active{transform:scale(.95)}
.nav{display:flex;gap:6px;align-items:center;font:700 15px "DM Sans",sans-serif}
.hd .nav{background:rgba(255,253,248,.82);border-radius:999px;padding:5px 6px 5px 22px;box-shadow:0 0 0 1px rgba(31,36,48,.09),0 16px 26px -16px rgba(90,70,50,.45)}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:var(--ink);text-decoration:none;white-space:nowrap;transition:transform .12s var(--ease-out)}
.nav a:not(.cta):active{transform:scale(.96)}
.nav a[aria-current]:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink);margin-right:8px}
.nav a.cta{background:#f2a199;color:#1f2430;border:2.5px solid var(--ink);border-radius:99px;padding:0 18px;margin-left:6px;transition:transform .16s var(--ease-out)}
.nav a.cta:active{transform:translate(2px,2px)}
@media (hover:hover) and (pointer:fine){.nav a:not(.cta):hover{text-decoration:underline;text-underline-offset:6px}.nav a.cta:hover{transform:translate(-1px,-1px)}}
@media (max-width:520px){.logo{width:60px;height:44px}.hd{padding-left:14px;padding-right:14px}.nav{gap:14px}.nav a{padding:0 9px;font-size:14px}.nav a.cta{padding:7px 12px;margin-left:2px}}
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.hd{view-transition-name:hd}}

/* body text: one size across every case study (typeface and colour stay per project) */
.body,.body p,.body li,.body blockquote{font-size:var(--body)!important;line-height:1.6}

/* ---------- page frame: the Wix layout, scaled ---------- */
main{padding-top:78px}
.f{width:calc(1280 * var(--u));margin:0 auto;position:relative}
.c{text-align:center}
.mx{margin-left:auto;margin-right:auto}
.px{font-family:"Press Start 2P",monospace;font-weight:400;color:var(--navy);line-height:2;margin:0;font-size:max(11px,calc(14.2 * var(--u)))}
.px.lg{font-size:max(13px,calc(17.75 * var(--u)));color:var(--navy2);line-height:1}
.px.sm{font-size:max(10px,calc(12.43 * var(--u)))}
.body{font-size:max(14px,calc(12.43 * var(--u)));line-height:1.6;margin:0}
.body b{font-weight:700}
.h2{font-family:"Lora",serif;font-weight:400;font-size:max(22px,calc(24.86 * var(--u)));line-height:1.3;margin:0;text-align:center}
.lead{font-size:max(15px,calc(15.98 * var(--u)));font-weight:700;margin:0}
.hearts{display:flex;justify-content:center;gap:calc(14 * var(--u))}
.hearts img{width:calc(47 * var(--u));height:calc(40 * var(--u));image-rendering:pixelated}
.rule{display:flex;align-items:center;gap:calc(24 * var(--u));font-size:max(14px,calc(16.15 * var(--u)));font-weight:400;letter-spacing:.02em;margin:0;padding:0 calc(120 * var(--u))}
.rule:before,.rule:after{content:"";flex:1;height:1px;background:#bdbdbd}
.box{background:var(--box);border-radius:calc(19.5 * var(--u))}
.vid{object-fit:cover;background:#a7d0b8}
/* ---------- footer (same as home-v14) ---------- */
.foot{padding:calc(130 * var(--u)) var(--pad) 26px;margin-top:0}
.foot nav{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 18px}
.foot nav a{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:5px 7px 5px 22px;background:var(--paper);color:var(--ink);border:2.5px solid var(--ink);border-radius:99px;box-shadow:3px 3px 0 var(--ink);font:700 17px/1 "DM Sans",sans-serif;text-decoration:none;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out)}
.foot nav a:first-child{background:var(--c)}
.foot nav a i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff}
.foot nav a i svg{width:16px;height:16px}
.foot nav a:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.foot nav a:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.copyr{margin:0;font:600 14px "DM Sans",sans-serif;color:var(--ink2)}

@font-face{font-family:"Figtree";font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-weight:700;font-display:swap;src:url(fonts/figtree-latin-700-normal.woff2) format("woff2")}
