@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-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+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+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;
}
@font-face {
  font-family: 'Sansita Swashed';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/assets/fonts/sansita-swashed-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+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sansita Swashed';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/assets/fonts/sansita-swashed-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+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;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-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+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+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;
}
/* Shared structure for both brands. Every colour, font and radius comes from tokens in src/<brand>/assets/brand.css,
   which defines a light set, a dark set ([data-theme=dark]) and the brand's home page. */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:root{interpolate-size:allow-keywords}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s ease,color .3s ease}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:var(--h-weight);letter-spacing:var(--h-track);line-height:var(--h-lh);margin:0 0 .5em;text-wrap:balance}
h1 em,h2 em{font-style:inherit;color:inherit}
h3{letter-spacing:calc(var(--h-track) / 2);line-height:1.2}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{padding:0;margin:0;list-style:none}
:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:6px}
::selection{background:var(--accent);color:var(--accent-ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:var(--btn-radius);text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.wrap{width:100%;max-width:1220px;margin-inline:auto;padding-inline:clamp(20px,5vw,44px)}
.fine{font-size:.82rem;line-height:1.5;color:var(--muted);max-width:68ch}
.check{flex:none;color:var(--accent-text)}

/* Buttons and links: feedback on press, no decorative arrows */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:var(--btn-radius);background:var(--accent);color:var(--accent-ink);font:600 1rem/1 var(--font-body);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .1s ease-out,background-color .2s ease,color .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--accent-hover)}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.btn-quiet{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-quiet:hover{background:var(--chip)}
.btn-sm{min-height:40px;padding:0 18px;font-size:.92rem}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);transition:text-decoration-color .2s ease}
.text-link:hover{text-decoration-color:currentColor}

/* Header: translucent floating layer, edge shadow only once content scrolls under it */
.site-header{position:sticky;top:0;z-index:50}
.site-header::before{content:"";position:absolute;inset:0;background:var(--header-bg);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);opacity:0;transition:opacity .3s ease;pointer-events:none}
.site-header.is-scrolled::before{opacity:1;box-shadow:0 1px 0 var(--line)}
.nav-row{position:relative;display:flex;align-items:center;gap:24px;min-height:76px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.logo-icon{width:36px;height:36px;color:var(--accent-text)}
.logo-word{display:flex;flex-direction:column;line-height:1}
.logo-word small{font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.3em;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{padding:8px 12px;border-radius:var(--btn-radius);text-decoration:none;font-size:.95rem;font-weight:500;color:var(--muted);transition:color .2s ease,background-color .2s ease}
.nav a:hover,.nav a[aria-current]{color:var(--ink);background:var(--chip)}
.nav-tools{display:flex;align-items:center;gap:8px}
.lang-switch{display:flex;gap:2px;font-size:.82rem;font-weight:700}
.lang-switch a{padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--muted)}
.lang-switch a[aria-current]{color:var(--ink)}
.theme-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;transition:transform .1s ease-out,background-color .2s ease}
.theme-btn:hover{background:var(--chip)}
.theme-btn:active{transform:scale(.92)}
.theme-btn svg{grid-area:1/1;transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.theme-btn .i-sun{opacity:0;transform:rotate(-60deg) scale(.6)}
:root[data-theme=dark] .theme-btn .i-sun{opacity:1;transform:none}
:root[data-theme=dark] .theme-btn .i-moon{opacity:0;transform:rotate(60deg) scale(.6)}
.menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.menu-lines,.menu-lines::before,.menu-lines::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .2s}
.menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0}
.menu-lines::before{top:-6px}.menu-lines::after{top:6px}
.menu-btn[aria-expanded="true"] .menu-lines{background:transparent}
.menu-btn[aria-expanded="true"] .menu-lines::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-lines::after{transform:translateY(-6px) rotate(-45deg)}
.mobile-nav{position:relative;background:var(--bg);border-bottom:1px solid var(--line);padding:8px clamp(20px,5vw,44px) 24px;transform-origin:top right;transition:opacity .22s ease,transform .3s cubic-bezier(.2,.8,.2,1)}
@starting-style{.mobile-nav{opacity:0;transform:translateY(-10px) scale(.98)}}
.mobile-nav nav{display:flex;flex-direction:column}
.mobile-nav nav a{padding:15px 2px;border-bottom:1px solid var(--line);text-decoration:none;font-size:1.15rem;font-weight:600}
.mobile-nav .btn{width:100%;margin-top:18px}
.menu-open body{overflow:hidden}

/* Shared story / case blocks */
.stories{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start}
.stories-side{display:grid;gap:20px}
.stories-full{grid-template-columns:repeat(3,1fr)}
.story{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,30px);scroll-margin-top:110px}
.story-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.story-head h3{font-size:1.15rem;margin:0;font-family:var(--font-body);font-weight:700;letter-spacing:0}
.story-head span{font-size:.85rem;color:var(--muted)}
.story-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--photo-bg)}
.story-metric{font-family:var(--font-head);font-weight:var(--h-weight);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.05;letter-spacing:var(--h-track);margin:0 0 8px;font-variant-numeric:tabular-nums}
.story-label{font-weight:600;margin:0}
.story-period{font-size:.85rem;color:var(--muted);margin:2px 0 0}
.story-ctx{display:grid;gap:10px;margin:18px 0}
.story-ctx dt{font-size:.8rem;font-weight:600;color:var(--muted)}
.story-ctx dd{margin:2px 0 0;font-size:.95rem}
.story blockquote{margin:0 0 16px;padding-left:14px;border-left:2px solid var(--accent);font-style:italic}
.bars{display:flex;align-items:flex-end;gap:8px;height:150px;margin:20px 0 6px}
.bars li{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.bar{display:block;width:100%;height:var(--h);min-height:4px;border-radius:8px 8px 3px 3px;background:var(--bar)}
.bars li:last-child .bar{background:var(--accent)}
.bar-label{font-size:.72rem;color:var(--muted)}
.mix{margin:18px 0 4px}
.mix-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;gap:2px}
.seg{width:var(--w);display:block}
.seg-0{background:var(--c0)}.seg-1{background:var(--c1)}.seg-2{background:var(--c2)}.seg-3{background:var(--c3)}.seg-4,.seg-5{background:var(--c4)}
.mix-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.8rem;color:var(--muted)}
.mix-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.evidence{border-top:1px solid var(--line);margin-top:8px}
.evidence summary,.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none}
.evidence summary{padding:14px 0;font-weight:600}
.evidence summary::-webkit-details-marker,.faq-item summary::-webkit-details-marker{display:none}
.evidence summary span,.faq-item summary span{position:relative;flex:none;width:14px;height:14px;color:var(--accent-text)}
.evidence summary span::before,.evidence summary span::after,.faq-item summary span::before,.faq-item summary span::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.evidence summary span::after,.faq-item summary span::after{transform:rotate(90deg)}
.evidence[open] summary span::after,.faq-item[open] summary span::after{transform:rotate(0)}
details::details-content{height:0;overflow:clip;transition:height .35s cubic-bezier(.2,.8,.2,1),content-visibility .35s allow-discrete}
details[open]::details-content{height:auto}
.evidence-note{font-size:.82rem;color:var(--muted)}
.evidence h4{font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:0;margin:14px 0 6px}
table.money{width:100%;border-collapse:collapse;font-size:.9rem}
table.money th{font-weight:500;text-align:left;padding:7px 0;border-bottom:1px solid var(--line)}
table.money td{text-align:right;padding:7px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
table.money .total th,table.money .total td{font-weight:700}
.evidence-open{border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.talent{display:grid;grid-template-columns:.7fr 2fr;gap:24px;align-items:center}
.talent>p{font-family:var(--font-head);font-weight:var(--h-weight);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15;margin:0}
.talent-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.talent-row img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);background:var(--photo-bg)}
.spark{width:100%;height:56px;color:var(--accent-text)}

/* FAQ */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,80px)}
.faq h2{font-size:clamp(2rem,4.2vw,3.2rem)}
.faq>div>p{color:var(--muted)}
.faq-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{padding:20px 0;font-weight:600;font-size:1.08rem}
.faq-a p{color:var(--muted);padding-bottom:20px;margin:0;max-width:65ch}

/* Application and forms */
.apply{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,80px);align-items:start}
.apply-intro h2{font-size:clamp(2rem,4.2vw,3.2rem)}
.apply-intro>p{color:var(--muted)}
.apply-intro .ticks{margin:20px 0 24px}
.apply-alt{font-size:.94rem;color:var(--muted)}
.apply-alt a{color:var(--accent-text);font-weight:600}
.apply-card,.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(22px,3vw,38px);box-shadow:var(--shadow)}
.apply-card .form-success,.form-card .form-success{padding:8px 0}
.progress{height:4px;background:var(--chip);border-radius:9px;overflow:hidden;margin-bottom:14px;display:none}
.progress span{display:block;height:100%;width:33%;background:var(--accent);border-radius:9px;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.step-label{display:none;font-size:.88rem;font-weight:600;color:var(--muted);margin-bottom:18px}
.is-steps .progress,.is-steps .step-label{display:block}
.step{border:0;padding:0;margin:0 0 8px;min-width:0}
.step legend{font-family:var(--font-head);font-weight:var(--h-weight);font-size:1.35rem;margin-bottom:14px;padding:0}
.is-steps .step legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.step-in-next{animation:step-next .38s cubic-bezier(.2,.8,.2,1)}
.step-in-back{animation:step-back .38s cubic-bezier(.2,.8,.2,1)}
@keyframes step-next{from{opacity:0;transform:translateX(18px)}}
@keyframes step-back{from{opacity:0;transform:translateX(-18px)}}
.field{display:grid;gap:6px;margin-bottom:16px}
.field label{font-size:.92rem;font-weight:600}
.field output{float:right;color:var(--accent-text);font-variant-numeric:tabular-nums}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:var(--input-radius);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}
textarea{min-height:110px;resize:vertical}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
select option{background:var(--surface);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-text) 22%,transparent)}
[aria-invalid=true]{border-color:#d93848!important;box-shadow:0 0 0 3px rgba(217,56,72,.18)!important}
input[type=range]{width:100%;accent-color:var(--accent-text)}
.hint{font-size:.82rem;color:var(--muted);margin:0}
.check-field{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;margin:8px 0 14px;cursor:pointer}
.check-field input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent-text);flex:none}
.check-field a{color:var(--accent-text)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{background:rgba(217,56,72,.1);border:1px solid rgba(217,56,72,.35);color:var(--ink);border-radius:var(--input-radius);padding:12px 14px;font-size:.94rem;margin:6px 0 14px}
.form-nav{display:flex;justify-content:space-between;gap:12px;margin:12px 0}
.form-nav [data-next]{margin-left:auto}
.form-success h2,.form-success h3{font-size:clamp(1.6rem,3vw,2.1rem)}
.form-success:not([hidden]){animation:step-next .4s cubic-bezier(.2,.8,.2,1)}

/* Fee card */
.fee-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow)}
.fee-card h3{font-size:1.3rem}
.fee-card>p{color:var(--muted)}
.fee{background:var(--bg-2);border-radius:var(--radius);padding:20px;margin:18px 0}
.fee>span{font-size:.85rem;color:var(--muted)}
.fee strong{display:flex;align-items:baseline;gap:12px;font-family:var(--font-head);font-weight:var(--h-weight);font-size:2rem;margin:6px 0 14px;font-variant-numeric:tabular-nums}
.fee strong i{font-style:normal;color:var(--muted)}
.fee-bars{display:grid;gap:8px}
.fee-bars span{display:flex;align-items:center;height:28px;border-radius:8px;padding-left:10px;font-size:.78rem}
.fee-full{background:var(--chip);width:100%}
.fee-net{background:var(--accent);color:var(--accent-ink);width:80%}
.fee p{font-size:.88rem;color:var(--muted);margin:14px 0 0}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:clamp(48px,6vw,84px) 0 28px;font-size:.95rem;background:var(--footer-bg)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.footer-brand p{color:var(--muted);max-width:40ch;margin:16px 0 18px}
.site-footer .socials{display:flex;gap:10px;list-style:none;padding:0;margin:20px 0 0}
.site-footer .socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--ink);transition:background .15s,border-color .15s}
.site-footer .socials a:hover{border-color:var(--ink);color:var(--ink)}
.socials svg{width:18px;height:18px}
.site-footer h2{font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:0;color:var(--ink);margin-bottom:14px}
.site-footer ul{display:grid;gap:9px}
.site-footer ul a{text-decoration:none;color:var(--muted);transition:color .2s ease}
.site-footer ul a:hover{color:var(--ink)}
.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:44px;padding-top:20px;font-size:.84rem;color:var(--muted)}
.footer-base p{margin:0}
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-legal a{color:var(--muted);text-decoration:none}
.footer-legal a:hover{color:var(--ink)}

/* Subpages */
.page-hero{padding-top:clamp(18px,3vw,36px);padding-bottom:clamp(28px,4vw,52px)}
.page-hero h1{font-size:clamp(2.3rem,5vw,4.1rem);max-width:20ch}
.page-hero .lead{font-size:clamp(1.06rem,1.5vw,1.22rem);color:var(--muted);max-width:62ch}
.page-hero .lead p{margin:0 0 .6em}
.page-kicker{font-size:.95rem;font-weight:600;color:var(--accent-text);margin:0 0 12px}
.page-meta{font-size:.86rem;color:var(--muted);margin-top:14px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;font-size:.86rem;color:var(--muted);margin-bottom:26px}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.45}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,72px);align-items:start;padding-bottom:clamp(48px,6vw,88px)}
.article-narrow{grid-template-columns:minmax(0,760px)}
.prose{font-size:1.06rem;min-width:0;max-width:72ch}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:1.7em}
.prose h3{font-size:1.25rem;margin-top:1.4em}
.prose p,.prose li{color:var(--prose)}
.prose a{color:var(--accent-text);text-underline-offset:3px}
.prose ul,.prose ol{margin:0 0 1.2em}
.prose ul li{position:relative;padding-left:22px;margin-bottom:8px}
.prose ul li::before{content:"";position:absolute;left:4px;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--accent-text)}
.prose ol{counter-reset:n}
.prose ol li{position:relative;padding-left:36px;margin-bottom:10px;counter-increment:n}
.prose ol li::before{content:counter(n);position:absolute;left:0;top:.1em;width:25px;height:25px;border-radius:50%;background:var(--chip);font-size:.8rem;font-weight:700;display:grid;place-items:center}
.prose table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.95rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose thead th{font-size:.85rem;color:var(--muted);border-bottom:1px solid var(--line-strong);font-weight:600}
.prose blockquote{margin:0 0 1.2em;padding:16px 20px;border-left:3px solid var(--accent);background:var(--bg-2);border-radius:0 12px 12px 0}
.prose section{scroll-margin-top:100px}
.prose ul.ticks li{padding-left:0}
.prose ul.ticks li::before{display:none}
.ticks{display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks .check{margin-top:5px}
.toc,.takeaways{border-radius:var(--radius);padding:22px 24px;margin-bottom:28px}
.toc{border:1px solid var(--line)}
.takeaways{background:var(--bg-2)}
.toc h2,.takeaways h2{font-family:var(--font-body);font-size:.95rem!important;font-weight:700;letter-spacing:0;color:var(--ink);margin:0 0 12px!important}
.toc ol{margin:0}
.toc ol li{margin-bottom:6px;font-size:.96rem}
.toc a{text-decoration:none;color:var(--ink)}
.toc a:hover{color:var(--accent-text)}
.qa{padding:20px 0;border-bottom:1px solid var(--line)}
.qa h2,.qa h3{font-size:1.18rem;margin:0 0 8px;font-family:var(--font-body);font-weight:700;letter-spacing:0;line-height:1.35}
.qa p{margin:0}
.qa-list .qa:first-child{padding-top:0}
.article-cta{margin-top:36px;padding:24px 26px;border-radius:var(--radius);background:var(--bg-2)}
.article-cta p:last-child{margin:0}
.download-box,.job-apply{margin-top:32px;padding:26px;border-radius:var(--radius-lg);background:var(--bg-2)}
.download-box ul{display:grid;gap:8px;margin:0 0 12px}
.download-box li{padding-left:0!important}
.download-box li::before{display:none}
.download-box a{font-weight:600}
.job-type{color:var(--muted)}
.job-apply .contact-form{margin-top:12px}
.side{display:grid;gap:16px}
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.side-card h2{font-size:1.25rem}
.side-card p{color:var(--muted);font-size:.96rem}
.side-card .btn{width:100%}
.side-card .text-link{margin-top:6px}
.side-sticky{position:sticky;top:100px}
.card-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card-link{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}
.card-link:hover{border-color:var(--accent-text)}
.card-link:active{transform:scale(.985)}
.card-kicker{font-size:.85rem;font-weight:600;color:var(--accent-text)}
.card-link strong{font-family:var(--font-head);font-weight:var(--h-weight);font-size:1.28rem;line-height:1.25;letter-spacing:calc(var(--h-track) / 2)}
.card-link span:not(.card-kicker){color:var(--muted);font-size:.94rem}
.card-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-bottom:6px}
.related-h{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:20px}
.section-tight{padding-block:clamp(24px,3.5vw,44px)}
.cta-band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-block:clamp(28px,5vw,64px) clamp(56px,7vw,100px);padding:clamp(28px,4vw,52px)!important;border-radius:var(--radius-lg);background:var(--cta-bg);color:var(--cta-ink)}
.cta-band h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 8px}
.cta-band p{margin:0;opacity:.85}
.cta-band .btn{background:var(--cta-btn);color:var(--cta-btn-ink)}
.calc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(22px,3vw,32px);box-shadow:var(--shadow);margin-bottom:12px}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.calc .field-wide,.calc-out{grid-column:1/-1}
.calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 0}
.calc-out div{background:var(--bg-2);border-radius:14px;padding:16px}
.calc-out dt{font-size:.84rem;color:var(--muted)}
.calc-out dd{margin:4px 0 0;font-family:var(--font-head);font-weight:var(--h-weight);font-size:1.6rem;font-variant-numeric:tabular-nums}
.calc-out .calc-you{background:var(--accent);color:var(--accent-ink)}
.calc-out .calc-you dt{color:inherit;opacity:.85}
.utility{padding-block:clamp(64px,10vw,140px);max-width:760px}
.utility h1{font-size:clamp(2.3rem,5vw,3.6rem)}
.utility>p{color:var(--muted);font-size:1.1rem}
.utility-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.utility-links a{display:inline-block;padding:8px 14px;border-radius:var(--btn-radius);background:var(--chip);text-decoration:none}

/* Responsive */
@media (max-width:1060px){
  .nav,.lang-switch,.nav-cta{display:none}
  .menu-btn{display:inline-flex}
  .nav-tools{margin-left:auto}
  .faq,.apply,.talent{grid-template-columns:1fr}
  .stories,.stories-full{grid-template-columns:1fr}
  .card-links{grid-template-columns:1fr 1fr}
  .article-layout{grid-template-columns:1fr}
  .side-sticky{position:static}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:1rem}
  .nav-row{min-height:64px;gap:12px}
  .card-links,.calc,.calc-out{grid-template-columns:1fr}
  .talent-row{grid-template-columns:repeat(4,70%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .talent-row img{scroll-snap-align:start}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cta-band .btn{width:100%}
  .prose table{display:block;overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  details::details-content{transition:none}
}
@media (prefers-reduced-transparency:reduce){.site-header::before{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}}
/* Drippy Agency: melted cherry, icing and cream, with a honey accent. Unbounded + Sansita Swashed + Onest.
   The memorable thing is the liquid: hero shader, dividers that grow on scroll, tubes that fill, melting photo.
   Lines starting with :root[data-theme=dark] are copied by the build into a prefers-color-scheme block. */
:root{
  --cherry:#5c1235;--cherry-2:#7a1e4d;--rose:#d23b70;--rose-2:#b92a5d;--icing:#ffb8cf;--honey:#ffb938;--coral:#ff8d9b;--plum:#3d0c24;
  --cream-bg:#fff6ea;--pink-bg:#ffd9e5;--cherry-bg:#5c1235;--card-cream:#fffaf2;--tube:#fff;
  --bg:var(--cream-bg);--bg-2:var(--pink-bg);--surface:var(--card-cream);--ink:#47102b;--muted:#7a4a60;--prose:#552239;
  --line:rgba(92,18,53,.14);--line-strong:rgba(92,18,53,.28);--chip:rgba(92,18,53,.07);
  --accent:#d23b70;--accent-hover:#b92a5d;--accent-ink:#fff8f0;--accent-text:#b92a5d;
  --photo-bg:#ffd9e5;--pos:#b92a5d;--pos-bg:#ffe3ec;--bar:#ffc2d6;
  --c0:#d23b70;--c1:#ffb8cf;--c2:#ffb938;--c3:#5c1235;--c4:#e4c8d2;
  --header-bg:var(--cream-bg);--input-bg:#fff;--input-radius:16px;--footer-bg:#5c1235;
  --cta-bg:#5c1235;--cta-ink:#fff6ea;--cta-btn:#ffb8cf;--cta-btn-ink:#47102b;
  --band-blush:#ffe6ee;--band-powder:#ffe6ee;--card-frame:#fffaf2;
  --shadow:0 26px 50px -30px rgba(92,18,53,.45);
  --font-head:'Unbounded',system-ui,-apple-system,'Segoe UI',sans-serif;--font-body:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif;--font-script:'Sansita Swashed','Brush Script MT',cursive;
  --h-weight:600;--h-track:-.045em;--h-lh:1.04;
  --radius:24px;--radius-lg:32px;--btn-radius:999px;
  color-scheme:light;
}
:root[data-theme=dark]{--cream-bg:#1c0812;--pink-bg:#311020;--cherry-bg:#4a0e2b;--card-cream:#2a0f1e;--tube:#2a0f1e;--bg:#1c0812;--bg-2:#311020;--surface:#2a0f1e;--ink:#ffeef3;--muted:#d9b4c4;--prose:#f3dbe4;--line:rgba(255,238,243,.14);--line-strong:rgba(255,238,243,.28);--chip:rgba(255,238,243,.08);--accent:#ff6f9f;--accent-hover:#ff8cb3;--accent-ink:#2a0716;--accent-text:#ff9cbd;--photo-bg:#311020;--pos:#ff9cbd;--pos-bg:#431528;--bar:#6d2547;--c3:#ffb8cf;--header-bg:#1c0812;--input-bg:#1c0812;--footer-bg:#4a0e2b;--band-blush:#311020;--band-powder:#311020;--card-frame:#2a0f1e;--shadow:0 26px 50px -30px rgba(0,0,0,.8);color-scheme:dark}
:root[data-theme=dark] .theme-btn .i-sun{opacity:1;transform:none}
:root[data-theme=dark] .theme-btn .i-moon{opacity:0;transform:rotate(60deg) scale(.6)}

html,body{overflow-x:clip}
h1,h2,h3{font-family:var(--font-head)}
h3{letter-spacing:-.03em}
.fine a{color:inherit}

/* ---------- Header: the source of the liquid ---------- */
.site-header{background:var(--cream-bg)}
.site-header::before{display:none}
.nav-row{min-height:78px}
.logo{color:var(--cherry);position:relative}
:root[data-theme=dark] .logo{color:#ffd9e5}
.logo-mark{height:60px;width:auto;margin-bottom:-18px;overflow:visible}
.nav a{font-family:var(--font-head);font-weight:500;font-size:.8rem;letter-spacing:-.02em;color:var(--ink)}
.nav a:hover,.nav a[aria-current]{background:var(--chip);color:var(--ink)}
.lang-switch a{font-family:var(--font-head);font-weight:500;font-size:.72rem}

/* ---------- Buttons: liquid rises on hover (after 21st.dev "Liquid Button"), instant feedback on press ---------- */
.btn{position:relative;isolation:isolate;overflow:hidden;font-family:var(--font-head);font-weight:600;font-size:.92rem;letter-spacing:-.025em;min-height:54px;padding:0 28px;transition:transform .12s ease,color .3s ease,background-color .3s ease}
.btn::before{content:"";position:absolute;z-index:-1;left:50%;top:100%;width:max(150%,240px);aspect-ratio:1;border-radius:43%;background:var(--accent-hover);translate:-50% 64px;transition:translate .65s cubic-bezier(.22,1,.36,1);animation:spin 6s linear infinite paused}
.btn:hover{background:var(--accent)}
.btn:hover::before,.btn:focus-visible::before{translate:-50% -70%;animation-play-state:running}
@media (hover:none){.btn::before{display:none}}
@keyframes spin{to{rotate:360deg}}
.btn-sm{min-height:44px;padding:0 20px;font-size:.82rem}
.btn-lg{min-height:62px;padding:0 34px;font-size:1.02rem}
.btn-quiet{color:var(--ink)}
.btn-quiet::before{background:var(--chip)}
.btn-ghost{background:transparent;color:#fff6ea;border:1.5px solid rgba(255,246,234,.4)}
.btn-ghost:hover{background:transparent;color:#47102b}
.btn-ghost::before{background:#ffb8cf}

/* ---------- Shared sections ---------- */
.d-sec{position:relative;padding:clamp(120px,14vw,200px) 0 clamp(90px,10vw,140px);background:var(--s-bg);color:var(--ink)}
.d-sec>.wrap,.d-closing>.wrap{position:relative;z-index:2}
.d-cream{--s-bg:var(--cream-bg);--s-script:var(--rose)}
.d-pink{--s-bg:var(--pink-bg);--s-script:var(--rose-2);--surface:var(--card-cream)}
.d-cherry{--s-bg:var(--cherry-bg);--s-script:var(--icing);--ink:#fff6ea;--muted:#ecc9d7;--prose:#fbe6ee;--line:rgba(255,246,234,.2);--line-strong:rgba(255,246,234,.34);--chip:rgba(255,246,234,.1);--accent-text:#ffb8cf;--accent:#e0457c;--accent-hover:#ffb8cf;color:var(--ink)}
.d-cherry .btn:hover{color:#47102b}
:root[data-theme=dark] .d-pink{--s-script:#ff9cbd}
:root[data-theme=dark] .d-cream{--s-script:#ff8db2}
.d-title{display:block;font-family:var(--font-head);font-weight:600;font-size:clamp(2.05rem,1.25rem + 3.3vw,4.3rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 .35em;color:var(--ink);text-wrap:balance}
.d-script{display:block;font-family:var(--font-script);font-weight:800;font-size:1.14em;line-height:1.12;letter-spacing:-.012em;color:var(--s-script);margin-top:.04em}
.d-kicker{font-family:var(--font-head);font-weight:600;font-size:.9rem;letter-spacing:-.02em;color:var(--honey);margin:0 0 16px}
.d-cream .d-kicker,.d-pink .d-kicker{color:var(--rose-2)}
.d-lead{font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);line-height:1.55;color:var(--muted);max-width:56ch;margin:0 0 1.2em}
.d-ok,.d-no{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%}
.d-ok{background:var(--rose);color:#fff8f0}
.d-no{border:1.5px solid var(--line-strong);color:var(--ink)}

/* Drip dividers: hang from the section above, grow on scroll */
.d-drip{position:absolute;top:-1px;left:0;width:100%;height:clamp(84px,11.8vw,170px);z-index:1;pointer-events:none;display:block;overflow:hidden;will-change:transform}
.d-falls{position:absolute;inset:0 0 auto;height:0;z-index:1;pointer-events:none}
.d-fall{position:absolute;width:clamp(9px,1vw,14px);aspect-ratio:1;margin-left:clamp(-7px,-.5vw,-4.5px);border-radius:50%;background:currentColor;opacity:0;will-change:transform;animation:d-fall var(--t,6s) cubic-bezier(.55,0,.9,.6) infinite}
@keyframes d-fall{0%,70%{transform:translate3d(0,-4px,0);opacity:0}74%{opacity:1}100%{transform:translate3d(0,300px,0);opacity:.15}}
.is-idle .d-fall,.is-idle .d-tape-run,.is-idle .d-tube i::before{animation-play-state:paused}
@media (max-width:720px){.d-falls{display:none}}
/* The bands slide out of the section above on the compositor; liquid.js covers browsers without this feature */
@supports (animation-timeline:view()){
  .d-drip{animation:d-run linear both;animation-timeline:view();animation-range:entry 0% cover 34%}
  .d-drip-far{animation-name:d-run-far;animation-range:entry 0% cover 46%}
}
@keyframes d-run{from{transform:translate3d(0,-60%,0)}to{transform:none}}
@keyframes d-run-far{from{transform:translate3d(0,-80%,0)}to{transform:none}}
.d-drip-pink{fill:var(--pink-bg);color:var(--pink-bg)}
.d-drip-cream{fill:var(--cream-bg);color:var(--cream-bg)}
.d-drip-cherry{fill:var(--cherry-bg);color:var(--cherry-bg)}

/* ---------- Hero ---------- */
.d-hero{--liquid-top:var(--cream-bg);--liquid-pool:var(--pink-bg);--s-script:#ffb8cf;--ink:#fff6ea;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:min(calc(100svh - 78px),920px);padding:clamp(92px,11vw,136px) 0 clamp(96px,10vw,140px);color:#fff6ea;background:radial-gradient(1000px 640px at 86% 8%,#8a2559 0,rgba(138,37,89,0) 62%),radial-gradient(700px 500px at 0% 100%,#43092a 0,rgba(67,9,42,0) 70%),var(--cherry)}
.d-liquid{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.d-hero-static{position:absolute;left:0;width:100%;z-index:0;pointer-events:none}
.d-hero-top{top:-1px;height:clamp(84px,11.8vw,170px);fill:var(--liquid-top)}
.d-hero-pool{bottom:-1px;height:clamp(44px,6vw,90px);fill:var(--liquid-pool)}
.is-liquid .d-hero-static{display:none}
.d-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,.58fr);gap:clamp(24px,4vw,70px);align-items:center;width:100%}
.d-hero .d-title{font-size:clamp(2.2rem,.95rem + 3.75vw,4.25rem);margin-bottom:.34em}
.d-pour{animation:pour .9s cubic-bezier(.22,1,.36,1) .1s both}
@keyframes pour{from{opacity:0;transform:translate3d(0,-.28em,0)}to{opacity:1;transform:none}}
.d-sub{font-size:clamp(1.04rem,.98rem + .35vw,1.22rem);line-height:1.55;color:#f6dde7;max-width:54ch;margin:0 0 28px}
.d-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
.d-stats{display:flex;flex-wrap:wrap;gap:16px 0;margin:0}
.d-stats>div{padding-right:clamp(16px,2.2vw,30px);margin-right:clamp(16px,2.2vw,30px);border-right:1px solid rgba(255,246,234,.25)}
.d-stats>div:last-child{border:0;margin:0;padding:0}
.d-stats dd{margin:0;font-family:var(--font-head);font-weight:600;font-size:clamp(1.3rem,1.05rem + .9vw,1.9rem);letter-spacing:-.04em;color:var(--honey);line-height:1.1}
.d-stats dt{font-size:.86rem;color:#f0d3df;margin-top:4px;max-width:18ch;line-height:1.3}
.d-stack{position:relative;aspect-ratio:1/1.16;width:100%;max-width:440px;justify-self:end}
.d-card{position:absolute;margin:0;border-radius:26px;overflow:hidden;background:var(--photo-bg);border:5px solid #fff6ea;box-shadow:0 34px 60px -24px rgba(25,2,14,.75);will-change:transform}
.d-card img{width:100%;height:100%;object-fit:cover;display:block}
.d-card-1{left:0;top:11%;width:49%;aspect-ratio:4/5;rotate:-9deg}
.d-card-3{right:0;top:7%;width:47%;aspect-ratio:4/5;rotate:8deg}
.d-card-2{left:21%;top:0;width:58%;aspect-ratio:4/5;z-index:2}
.d-sticker{position:absolute;z-index:3;left:6%;right:6%;bottom:0;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:12px 18px 12px 12px;background:#fff6ea;color:#47102b;border-radius:22px;text-decoration:none;box-shadow:0 24px 40px -22px rgba(25,2,14,.8);transition:transform .16s ease}
.d-sticker:active{transform:scale(.98)}
.d-sticker img{grid-row:span 2;border-radius:50%;width:44px;height:44px;object-fit:cover}
.d-sticker span{font-size:.78rem;line-height:1.2;color:#7a4a60}
.d-sticker b{display:inline;margin-right:6px;color:#47102b;font-family:var(--font-head);font-weight:600;letter-spacing:-.03em}
.d-sticker strong{font-family:var(--font-head);font-weight:600;font-size:clamp(.92rem,.84rem + .35vw,1.12rem);letter-spacing:-.04em;color:var(--rose-2);white-space:nowrap}
.d-sticker i{font-style:normal;opacity:.5}

/* ---------- The second job ---------- */
.d-shift{padding:0;overflow:clip;view-timeline:--shift block}
.d-shift-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;overflow:hidden;min-height:760px;padding:clamp(70px,8vh,110px) 0 clamp(36px,6vh,70px)}
.d-shift.is-scrub{height:220vh}
.d-shift.is-scrub .d-shift-stage{position:sticky;top:78px;height:calc(100svh - 78px);min-height:0}
.d-shift-copy .d-title{font-size:clamp(1.9rem,1.1rem + 2.9vw,3.8rem)}
.d-shift-copy .d-lead{margin-inline:auto;max-width:48ch}
.d-tapes-wrap{position:absolute;inset:0;pointer-events:none}
.d-tape{position:absolute;left:-12%;width:124%;top:calc(58% + var(--y));padding:11px 0;box-shadow:0 14px 26px -16px rgba(60,9,34,.5);font-family:var(--font-head);font-weight:500;font-size:clamp(.78rem,.7rem + .34vw,1.06rem);letter-spacing:-.03em;white-space:nowrap;transform:rotate(var(--rot));will-change:transform}
.d-tape:nth-child(1){--y:-46px;--rot:-7deg;--spin:-9deg}
.d-tape:nth-child(2){--y:-14px;--rot:5deg;--spin:12deg}
.d-tape:nth-child(3){--y:34px;--rot:-3deg;--spin:-6deg}
.d-tape:nth-child(4){--y:64px;--rot:7deg;--spin:10deg}
.d-tape-cherry{background:var(--cherry);color:#fff6ea}
.d-tape-coral{background:var(--coral);color:#47102b}
.d-tape-cream{background:#fff6ea;color:#47102b}
.d-tape-plum{background:var(--plum);color:#ffd9e5}
.d-tape-run{display:flex;width:max-content;will-change:transform;animation:tape 46s linear infinite}
.d-tape:nth-child(even) .d-tape-run{animation-direction:reverse;animation-duration:58s}
.d-tape-run>div{display:flex;align-items:center}
.d-chip{display:inline-flex;align-items:center;gap:10px;padding:0 20px}
.d-chip b{display:inline-grid;place-items:center;min-width:32px;height:24px;padding:0 8px;border-radius:999px;background:var(--icing);color:#47102b;font-weight:600;font-size:.82em}
.d-tape i{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45}
@keyframes tape{to{transform:translate3d(-50%,0,0)}}
@supports (animation-timeline:view()){
  .d-shift.is-scrub .d-tape{animation:tape-fall cubic-bezier(.55,.05,.9,.5) both;animation-timeline:--shift;animation-range:contain calc(16% + var(--i) * 7.5%) contain calc(50% + var(--i) * 7.5%)}
  .d-shift.is-scrub .d-pill{animation:pill-grow linear both;animation-timeline:--shift;animation-range:contain 0% contain 100%}
  .d-shift.is-scrub .d-shift-end{animation:end-in cubic-bezier(.22,1,.36,1) both;animation-timeline:--shift;animation-range:contain 58% contain 74%;transition:none}
}
@keyframes tape-fall{from{transform:rotate(var(--rot))}to{transform:translate3d(0,95vh,0) rotate(calc(var(--rot) + var(--spin)))}}
@keyframes pill-grow{from{transform:translate(-50%,-50%)}to{transform:translate(-50%,-50%) scale(1.45)}}
@keyframes end-in{from{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}
.d-pill{position:absolute;z-index:4;left:50%;top:58%;display:inline-flex;align-items:center;gap:10px;padding:14px 24px;background:#fff6ea;color:#47102b;border:2px solid #47102b;border-radius:999px;font-family:var(--font-head);font-weight:600;font-size:clamp(1rem,.9rem + .5vw,1.35rem);letter-spacing:-.03em;transform:translate(-50%,-50%);will-change:transform}
.d-shift-end{position:relative;z-index:5;transition:opacity .45s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.d-shift-end .d-title{font-size:clamp(1.6rem,1rem + 2.2vw,3rem);margin:0}
.d-shift.is-scrub .d-shift-end{opacity:0;transform:translateY(20px)}
.d-shift.is-scrub.is-clear .d-shift-end{opacity:1;transform:none}

/* ---------- The deal ---------- */
.d-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:clamp(26px,3vw,40px) 0 22px}
.d-step{position:relative;background:#fffaf2;color:#47102b;border-radius:var(--radius-lg);padding:26px 26px 28px}
.d-step span{font-family:var(--font-script);font-weight:800;font-size:1.7rem;color:var(--rose)}
.d-step h3{font-size:clamp(1.15rem,1rem + .55vw,1.5rem);margin:.15em 0 .4em;color:#47102b}
.d-step p{margin:0;color:#7a4a60;line-height:1.5}
.d-step-hi{background:var(--icing)}
.d-step-hi p{color:#5c1235}
.d-step-hi span{color:#5c1235}
.d-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line-strong);border-radius:var(--radius-lg)}
.d-terms>div{padding:26px clamp(20px,2.6vw,34px)}
.d-terms>div+div{border-left:1px solid var(--line-strong)}
.d-terms-h{font-family:var(--font-head);font-weight:600;font-size:.86rem;letter-spacing:-.02em;color:var(--accent-text);margin:0 0 16px}
.d-terms li{display:flex;align-items:center;gap:12px;font-family:var(--font-head);font-weight:500;font-size:clamp(.92rem,.86rem + .3vw,1.12rem);letter-spacing:-.03em;padding:7px 0}
.d-terms .d-ok{background:var(--icing);color:#47102b}

/* ---------- Results: test tubes ---------- */
.d-split-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:end;margin-bottom:clamp(26px,3vw,40px)}
.d-tubes-box{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px clamp(16px,2vw,26px) 18px;box-shadow:var(--shadow)}
.d-tubes-box figcaption{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.84rem;color:var(--muted)}
.d-tubes-box figcaption img{border-radius:50%;width:38px;height:38px;object-fit:cover}
.d-tubes-box figcaption span{flex:1;line-height:1.25}
.d-tubes-box figcaption b{display:block;color:var(--ink);font-family:var(--font-head);font-weight:600;letter-spacing:-.03em}
.d-tubes-box figcaption strong{font-family:var(--font-head);font-weight:600;font-size:1.28rem;letter-spacing:-.04em;color:var(--accent-text)}
.d-tubes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,1vw,14px)}
.d-tubes li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.d-tube{position:relative;display:block;width:100%;max-width:58px;height:clamp(130px,16vw,190px);border-radius:12px 12px 26px 26px;border:2px solid var(--line-strong);background:var(--tube);overflow:hidden}
.d-tube i{position:absolute;inset:0;display:block;background:linear-gradient(180deg,var(--rose) 0,var(--cherry-2) 100%);transform:translate3d(0,100%,0);will-change:transform;transition:transform 1.5s cubic-bezier(.22,1,.36,1) var(--d)}
.d-tube i::before{content:"";position:absolute;left:50%;bottom:calc(100% - 9px);width:190%;aspect-ratio:1;margin-left:-95%;border-radius:42%;background:var(--tube);animation:spin 5s linear infinite}
.d-tubes.is-full i{transform:translate3d(0,calc(100% - var(--h)),0)}
.d-tubes b{font-family:var(--font-head);font-weight:600;font-size:clamp(.58rem,.5rem + .32vw,.8rem);letter-spacing:-.04em;white-space:nowrap}
.d-tubes small{font-size:.74rem;color:var(--muted)}
.d-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.story{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}
.story-metric{font-family:var(--font-head);font-weight:600;letter-spacing:-.05em;color:var(--accent-text)}

/* ---------- Services ---------- */
.d-bento{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:18px;margin-top:clamp(22px,3vw,36px)}
.d-you,.d-us{border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,32px)}
.d-you{background:var(--card-cream)}
.d-you img{width:100%;aspect-ratio:1/1.04;object-fit:cover;object-position:50% 12%;border-radius:20px;margin-bottom:16px}
.d-you p:last-child{font-family:var(--font-head);font-weight:500;font-size:clamp(.92rem,.86rem + .28vw,1.08rem);letter-spacing:-.03em;line-height:1.32;margin:0}
.d-us{background:var(--cherry-bg);color:#fff6ea;--ink:#fff6ea;--muted:#ecc9d7;--accent-text:#ffb8cf}
.d-us ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(16px,2vw,26px)}
.d-us li{border-top:1px solid rgba(255,246,234,.22)}
.d-us a{display:block;height:100%;padding:16px 0 20px;color:inherit;text-decoration:none}
.d-ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,246,234,.4);margin-bottom:12px;transition:background-color .25s ease,color .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}
.d-us a:hover .d-ic{background:var(--icing);color:#47102b;transform:translateY(3px) scale(1.06)}
.d-us h3{font-size:clamp(1.02rem,.94rem + .36vw,1.26rem);margin:0 0 6px;color:#fff6ea}
.d-us p{margin:0;font-size:.96rem;line-height:1.45;color:#ecc9d7}
.d-rest{font-family:var(--font-script);font-weight:800;font-size:clamp(1.4rem,1.2rem + .9vw,2.1rem);color:var(--icing);text-align:right;margin:14px 0 0}

/* ---------- Markets ---------- */
.d-markets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(22px,3vw,36px)}
.d-market{border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:clamp(22px,2.6vw,36px);transition:background-color .3s ease}
.d-market:hover{background:rgba(255,246,234,.05)}
.d-market h3{font-size:clamp(1.25rem,1.05rem + .8vw,1.85rem);color:var(--honey);margin:0 0 16px}
.d-market li{display:flex;gap:10px;padding:6px 0;line-height:1.45;color:var(--prose)}
.d-market .check{color:var(--icing);margin-top:4px}
.d-market .text-link{margin-top:14px}

/* ---------- Fit: the photo melts ---------- */
.d-fit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:center}
.d-fit-list{margin:clamp(14px,2vw,24px) 0}
.d-fit-list li{display:flex;align-items:center;gap:14px;padding:8px 0;font-family:var(--font-head);font-weight:500;font-size:clamp(.98rem,.9rem + .46vw,1.34rem);letter-spacing:-.035em;line-height:1.2}
.d-melt{margin:0;aspect-ratio:4/5.5;background:var(--photo-bg);-webkit-mask:url(/assets/img/melt-mask.svg) center/100% 100% no-repeat;mask:url(/assets/img/melt-mask.svg) center/100% 100% no-repeat}
.d-melt img{width:100%;height:100%;object-fit:cover;object-position:50% 16%}

/* ---------- Process ---------- */
.d-process{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(24px,3vw,40px)}
.d-process::before{content:"";position:absolute;left:36px;right:18%;top:35px;height:3px;background:var(--rose);opacity:.35}
.d-process li{position:relative}
.d-process span{display:grid;place-items:center;width:72px;height:72px;margin-bottom:16px;border-radius:50% 50% 50% 8px;rotate:-45deg;background:var(--card-cream);border:3px solid var(--icing);font-family:var(--font-script);font-weight:800;font-size:1.6rem;color:var(--rose)}
.d-process li:last-child span{background:var(--rose);border-color:var(--rose);color:#fff8f0}
.d-process h3{font-size:clamp(1.02rem,.94rem + .34vw,1.24rem);margin:0 0 6px}
.d-process p{margin:0;color:var(--muted);line-height:1.45}

/* ---------- Costs ---------- */
.d-costs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:center}
.d-calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(22px,2.6vw,34px);box-shadow:var(--shadow)}
.d-calc h3{font-size:1.2rem;margin:0 0 14px}
.d-calc label{display:block;font-size:.92rem;color:var(--muted);margin-bottom:10px}
.d-calc input[type=range]{--v:18%;width:100%;height:18px;appearance:none;-webkit-appearance:none;border-radius:999px;background:linear-gradient(90deg,var(--rose) var(--v),var(--chip) var(--v));margin:0 0 16px;cursor:grab}
.d-calc input[type=range]:active{cursor:grabbing}
.d-calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:50% 50% 50% 8px;rotate:-45deg;background:var(--cherry);border:3px solid var(--card-cream);box-shadow:0 6px 14px -4px rgba(60,9,34,.6)}
.d-calc input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--cherry);border:3px solid var(--card-cream)}
.d-calc dl{margin:0 0 12px}
.d-calc input[type=range]+label{margin-top:6px}
.d-row-net dt{color:var(--ink);font-weight:600}
.d-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line)}
.d-row dt{color:var(--muted);font-size:.96rem}
.d-row dd{margin:0;font-family:var(--font-head);font-weight:600;letter-spacing:-.035em;font-size:1rem;white-space:nowrap}
.d-row-you dt{color:var(--ink);font-weight:600}
.d-row-you dd{color:var(--accent-text);font-size:clamp(1.02rem,.92rem + .5vw,1.34rem)}

/* ---------- FAQ, guides, closing, apply ---------- */
.d-faq{padding-top:clamp(50px,6vw,90px)}
.faq h2,.apply-intro h2{font-family:var(--font-head);font-weight:600;letter-spacing:-.05em;font-size:clamp(1.9rem,1.1rem + 2.7vw,3.4rem)}
.faq-item summary{font-family:var(--font-head);font-weight:500;font-size:clamp(.96rem,.9rem + .28vw,1.1rem);letter-spacing:-.03em}
.d-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(20px,3vw,34px)}
.d-guides a{position:relative;display:flex;flex-direction:column;height:100%;padding:24px 24px 66px;background:var(--card-cream);border-radius:var(--radius);text-decoration:none;color:var(--ink);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.d-guides a:hover{transform:translateY(-3px)}
.d-guides a:active{transform:scale(.985)}
.d-guides h3{font-size:clamp(1rem,.94rem + .3vw,1.2rem);margin:0 0 8px}
.d-guides p{margin:0;font-size:.95rem;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.d-go{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--cherry);color:#fff6ea}
.d-by{margin-top:18px;font-size:.96rem;color:var(--muted)}
.d-by a{margin-left:12px;color:var(--ink);font-weight:600}
.d-closing{position:relative;padding:clamp(130px,15vw,220px) 0 0;background:var(--cherry-bg);text-align:center;--ink:#fff6ea}
.d-closing .d-title{margin:0}
.d-apply{padding-top:clamp(50px,6vw,84px)}
.apply-card{--surface:var(--card-cream);--ink:#47102b;--muted:#7a4a60;--line:rgba(92,18,53,.14);--line-strong:rgba(92,18,53,.28);--chip:rgba(92,18,53,.07);--accent:#d23b70;--accent-hover:#b92a5d;--accent-ink:#fff8f0;--accent-text:#b92a5d;background:var(--surface);color:var(--ink);border:0}
:root[data-theme=dark] .apply-card{--ink:#ffeef3;--muted:#d9b4c4;--line:rgba(255,238,243,.14);--line-strong:rgba(255,238,243,.28);--chip:rgba(255,238,243,.08);--accent:#ff6f9f;--accent-hover:#ff8cb3;--accent-ink:#2a0716;--accent-text:#ff9cbd}
.d-apply .ticks .check{color:var(--icing)}

/* ---------- Footer: pool edge ---------- */
.site-footer{--ink:#fff6ea;--muted:#ecc9d7;--line:rgba(255,246,234,.2);--line-strong:rgba(255,246,234,.34);--chip:rgba(255,246,234,.1);--accent:#ffb8cf;--accent-hover:#fff6ea;--accent-ink:#47102b;--accent-text:#ffb8cf;background:var(--footer-bg);color:#fff6ea;border:0;position:relative}
.site-footer .logo{color:#fff6ea}
.site-footer .btn:hover{color:#47102b}

/* ---------- Subpages: a cherry band that melts into the page ---------- */
.page-hero{--ink:#fff6ea;--muted:#ecc9d7;--accent-text:#ffb8cf;--line:rgba(255,246,234,.2);position:relative;isolation:isolate;color:#fff6ea;padding-top:clamp(26px,3.6vw,44px);padding-bottom:clamp(40px,5vw,68px);margin-bottom:clamp(70px,9vw,120px)}
.page-hero::before{content:"";position:absolute;z-index:-1;inset:0 calc(50% - 50vw);background:radial-gradient(800px 420px at 90% 0,#8a2559 0,rgba(138,37,89,0) 65%),var(--cherry)}
.page-hero::after{content:"";position:absolute;z-index:-1;top:calc(100% - 1px);left:calc(50% - 50vw);right:calc(50% - 50vw);height:clamp(60px,7.6vw,110px);background:var(--cherry);-webkit-mask:url(/assets/img/drip-band.svg) center top/1440px 100% repeat-x;mask:url(/assets/img/drip-band.svg) center top/1440px 100% repeat-x}
.page-hero h1{font-size:clamp(2rem,1.2rem + 3.3vw,3.8rem);letter-spacing:-.05em;color:#fff6ea}
.page-hero .page-kicker{font-family:var(--font-head);font-weight:600;font-size:.86rem;letter-spacing:-.02em;color:var(--honey)}
.prose h2{font-size:clamp(1.3rem,1.1rem + 1vw,1.8rem);letter-spacing:-.04em}
.prose h3{font-size:1.1rem}
.prose a{color:var(--accent-text)}
.cta-band{background:var(--cherry-bg);color:#fff6ea;border-radius:var(--radius-lg);--ink:#fff6ea;--muted:#ecc9d7}
.cta-band h2{font-family:var(--font-head);letter-spacing:-.05em;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.4rem);color:#fff6ea}
.cta-band .btn{--accent:#ffb8cf;--accent-ink:#47102b;--accent-hover:#fff6ea}

/* Reading progress on long pages: a strand of syrup running along the header */
.d-progress{position:fixed;z-index:49;left:0;top:78px;height:5px;width:100%;pointer-events:none;background:var(--rose);transform-origin:0 50%;transform:scaleX(0);will-change:transform}
@media (max-width:980px){
  .nav{display:none}
  .d-hero{min-height:0;padding-top:clamp(84px,17vw,120px)}
  .d-hero-grid{grid-template-columns:minmax(0,1fr)}
  .d-stack{justify-self:center;max-width:380px;margin-top:10px}
  .d-split-head,.d-costs,.d-fit{grid-template-columns:minmax(0,1fr)}
  .d-stories,.d-guides{grid-template-columns:minmax(0,1fr)}
  .d-steps{grid-template-columns:minmax(0,1fr)}
  .d-terms{grid-template-columns:minmax(0,1fr)}
  .d-terms>div+div{border-left:0;border-top:1px solid var(--line-strong)}
  .d-bento{grid-template-columns:minmax(0,1fr)}
  .d-you{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 16px;align-items:center}
  .d-you .d-terms-h{grid-column:1/-1}
  .d-you img{margin:0;aspect-ratio:1}
  .d-us ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .d-markets{grid-template-columns:minmax(0,1fr)}
  .d-melt{max-width:380px;margin-inline:auto}
  .d-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .d-process::before{display:none}
}
@media (max-width:560px){
  .logo-mark{height:50px;margin-bottom:-14px}
  .d-actions .btn{flex:1 1 100%}
  .d-stats>div{flex:1 1 0;padding-right:10px;margin-right:10px}
  .d-stats dt{font-size:.78rem}
  .d-us ul{grid-template-columns:minmax(0,1fr)}
  .d-process{grid-template-columns:minmax(0,1fr)}
  .d-process li{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;align-items:start}
  .d-process span{width:56px;height:56px;font-size:1.3rem;grid-row:span 2;margin:0}
  .d-tape{padding:9px 0}
  .d-shift-stage{min-height:680px}
}
@media (prefers-reduced-motion:reduce){
  .d-pour,.d-tape-run,.btn::before,.d-tube i::before,.d-fall,.d-drip{animation:none}
  .d-fall{opacity:0}
  .d-tape-run,.d-card,.d-drip,.d-tube i{will-change:auto}
  .d-tube i{transition:none}
  .btn::before{transition:none}
  .d-card{transition:none}
}

@media (prefers-color-scheme:dark){
:root:not([data-theme=light]) .theme-btn .i-sun{opacity:1;transform:none}
:root:not([data-theme=light]) .theme-btn .i-moon{opacity:0;transform:rotate(60deg) scale(.6)}
:root:not([data-theme=light]){--cream-bg:#1c0812;--pink-bg:#311020;--cherry-bg:#4a0e2b;--card-cream:#2a0f1e;--tube:#2a0f1e;--bg:#1c0812;--bg-2:#311020;--surface:#2a0f1e;--ink:#ffeef3;--muted:#d9b4c4;--prose:#f3dbe4;--line:rgba(255,238,243,.14);--line-strong:rgba(255,238,243,.28);--chip:rgba(255,238,243,.08);--accent:#ff6f9f;--accent-hover:#ff8cb3;--accent-ink:#2a0716;--accent-text:#ff9cbd;--photo-bg:#311020;--pos:#ff9cbd;--pos-bg:#431528;--bar:#6d2547;--c3:#ffb8cf;--header-bg:#1c0812;--input-bg:#1c0812;--footer-bg:#4a0e2b;--band-blush:#311020;--band-powder:#311020;--card-frame:#2a0f1e;--shadow:0 26px 50px -30px rgba(0,0,0,.8);color-scheme:dark}
:root:not([data-theme=light]) .theme-btn .i-sun{opacity:1;transform:none}
:root:not([data-theme=light]) .theme-btn .i-moon{opacity:0;transform:rotate(60deg) scale(.6)}
:root:not([data-theme=light]) .logo{color:#ffd9e5}
:root:not([data-theme=light]) .d-pink{--s-script:#ff9cbd}
:root:not([data-theme=light]) .d-cream{--s-script:#ff8db2}
:root:not([data-theme=light]) .apply-card{--ink:#ffeef3;--muted:#d9b4c4;--line:rgba(255,238,243,.14);--line-strong:rgba(255,238,243,.28);--chip:rgba(255,238,243,.08);--accent:#ff6f9f;--accent-hover:#ff8cb3;--accent-ink:#2a0716;--accent-text:#ff9cbd}
}
