@import url('/portfolio-colors.css');
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/space-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/space-grotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6-02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--display:'Space Grotesk',Arial,sans-serif;color-scheme:light}
.theme-beprime{--page:var(--work-beprime-page);--ink:var(--work-beprime-ink);--accent:#36211e;--line:#251e1c50;--stage:#f0f7fa;--story:#fffaf6;--story-ink:#251e1c;--gallery:#d8f5ef;--gallery-ink:#251e1c;--tile:#fff;--focus:#251e1c}
.theme-yanu{--page:var(--work-yanu-page);--ink:var(--work-yanu-ink);--accent:#e9bc69;--line:#e9bc695c;--stage:#11100f;--story:#211c18;--story-ink:#f7f1e4;--gallery:#13110f;--gallery-ink:#f7f1e4;--tile:#090909;--focus:#e9bc69;color-scheme:dark}
.theme-vool{--page:var(--work-vool-page);--ink:var(--work-vool-ink);--accent:#442319;--line:#21161159;--stage:#ffd2c4;--story:#211e1b;--story-ink:#fff5ec;--gallery:#f25a3c;--gallery-ink:#211611;--tile:#f8e6dd;--focus:#211611}
.theme-moticheck{--page:var(--work-moticheck-page);--ink:var(--work-moticheck-ink);--accent:#16744e;--line:#1c352d38;--stage:#dff8e9;--story:#fff;--story-ink:#1c352d;--gallery:#eafaf0;--gallery-ink:#1c352d;--tile:#fff;--focus:#16744e}
.theme-telia{--page:var(--work-telia-page);--ink:var(--work-telia-ink);--accent:#e6c9ff;--line:#ffffff69;--stage:#eee8f8;--story:#351064;--story-ink:#fffafc;--gallery:#f8eee8;--gallery-ink:#2d1744;--tile:#f8eee8;--focus:#f5cfff;color-scheme:dark}
.theme-blufvpn{--page:var(--work-blufvpn-page);--ink:var(--work-blufvpn-ink);--accent:#6c249f;--line:#210a314d;--stage:#df82f2;--story:#200b31;--story-ink:#fff9df;--gallery:#ffe64d;--gallery-ink:#210a31;--tile:#fffdf7;--focus:#210a31}
*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--page)}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.6 Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:2px solid var(--focus);outline-offset:5px}.wrap{width:min(1120px,100% - 96px);margin-inline:auto}.skip{position:fixed;top:-80px;left:20px;padding:10px;background:var(--ink);color:var(--page);z-index:5}.skip:focus{top:16px}
header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:8px;font:700 34px/1 var(--display);letter-spacing:-2px;text-decoration:none}.brand svg{width:40px;height:40px;flex:none}.back{font:600 14px var(--display);text-decoration:none;border-bottom:1px solid currentColor;padding-block:10px}.back:hover{text-decoration:underline}
.intro{padding:72px 0 64px}.kicker{display:block;margin:0 0 20px;color:var(--accent);font:700 12px/1.4 var(--display);letter-spacing:.14em;text-transform:uppercase}.intro h1{max-width:900px;font:600 clamp(58px,8vw,112px)/.96 var(--display);letter-spacing:-.075em;margin:0 0 28px}.intro p,.intro .editable-rich{max-width:720px;font:400 clamp(19px,2.3vw,27px)/1.42 var(--display);letter-spacing:-.025em;margin:0}.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.meta span{border:1px solid var(--line);border-radius:99px;padding:7px 14px;font:600 13px/1.4 var(--display)}
.visual{background:var(--stage);overflow:hidden}.visual .wrap{padding-block:clamp(24px,4vw,56px)}.visual img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}.content-surface{background:var(--story);color:var(--story-ink)}.content{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,2fr);gap:48px;padding-block:80px}.content h2{font:500 32px/1.15 var(--display);letter-spacing:-.04em;margin:0}.content p,.content .editable-rich{max-width:670px;font-size:18px;margin:0 0 20px}.editable-rich ul,.editable-rich ol{margin:.5em 0 .7em;padding-left:1.4em}.editable-rich li{padding-left:.12em}.editable-rich li+li{margin-top:.25em}.editable-rich p{margin:0 0 .7em}.editable-rich p:last-child{margin-bottom:0}
.gallery{background:var(--gallery);color:var(--gallery-ink);padding-block:64px 84px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery figure{display:grid;place-items:center;min-width:0;margin:0;padding:clamp(16px,3vw,34px);background:var(--tile);border-radius:8px;overflow:hidden}.gallery figure.wide{grid-column:1/-1}.gallery img{display:block;width:100%;height:auto;max-height:1350px;object-fit:contain}.gallery figure.wide img{max-height:740px}.gallery .phone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;grid-column:1/-1}.gallery .phone-grid figure{padding:12px}.gallery .phone-grid img{width:100%;max-width:275px;max-height:none}
@media(max-width:700px){.wrap{width:calc(100% - 48px)}header{padding:20px 0}.brand{font-size:28px}.brand svg{width:34px;height:34px}.intro{padding:50px 0 42px}.intro h1{font-size:clamp(54px,16vw,76px)}.visual .wrap{padding-block:24px}.content{grid-template-columns:1fr;gap:24px;padding-block:52px}.content h2{font-size:28px}.content p,.content .editable-rich{font-size:16px}.gallery{padding-block:46px 56px}.gallery-grid{grid-template-columns:1fr;gap:12px}.gallery figure.wide{grid-column:auto}.gallery figure{padding:16px}.gallery .phone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-column:auto}.gallery .phone-grid figure{padding:6px}}

/* The brand occupies the same viewport coordinates on home and work pages. */
header.wrap{width:min(1280px,100% - 112px)}
@media(max-width:800px){
  header.wrap{width:calc(100% - 48px)}
  header{padding:20px 0}
  header .brand{font-size:30px;align-self:center}
  header .brand svg{width:40px;height:40px}
}
@media(max-width:400px){header .brand{gap:5px}header .brand svg{width:34px;height:34px}}

/* Bind shared header/footer surfaces to the original work theme. */
body{--chrome-paper:var(--page);--chrome-ink:var(--ink);--chrome-line:var(--line)}
