/* myproposal — centred hero + fanned cards (layout only; fonts, colours and branding come from the existing styles) */
.hero--center{padding:clamp(40px,5.5vw,72px) 0 0;text-align:center}
.hero--center{position:relative;overflow:hidden}.hero--center:before{-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 25%,#0000 75%);mask-image:radial-gradient(ellipse at 50% 45%,#000 25%,#0000 75%);opacity:.5}.hero--center>.container{position:relative}
.hero--center .hero__copy{max-width:1000px;margin:0 auto;gap:clamp(18px,2.4vw,26px);justify-items:center}
.hero--center h1{font-size:clamp(38px,5.9vw,76px);line-height:1.04;letter-spacing:-.02em}
.hero--center .lede{max-width:540px;margin:0;font-size:clamp(17px,2vw,20px)}
.hero--center .btn-row{justify-content:center;margin-top:6px}
.hero__fine{margin:0;font-size:var(--fs-sm);color:var(--ink-4)}
/* fan */
.fan{position:relative;display:flex;justify-content:center;align-items:flex-end;height:clamp(250px,32vw,380px);margin-top:clamp(32px,4vw,56px);overflow:hidden;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
.fan__card{position:relative;flex:0 0 auto;width:clamp(120px,15vw,214px);height:clamp(190px,26vw,330px);margin:0 clamp(-30px,-2.2vw,-14px);padding:clamp(12px,1.4vw,20px);border-radius:clamp(14px,1.6vw,22px);display:flex;flex-direction:column;gap:8px;color:var(--paper);box-shadow:var(--shadow-lg);transform-origin:50% 100%;transition:transform .4s var(--ease)}
.fan__k{font:500 clamp(8px,.8vw,10px)/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.fan__t{font:400 clamp(17px,2vw,28px)/1.1 var(--font-display);margin-top:auto}
.fan__lines{display:grid;gap:6px;margin-top:6px}
.fan__lines i{display:block;height:5px;border-radius:3px;background:currentColor;opacity:.22}
.fan__lines i:nth-child(2){width:78%}.fan__lines i:nth-child(3){width:52%}
.fan__badge{position:absolute;top:clamp(10px,1.2vw,16px);left:clamp(10px,1.2vw,16px);background:var(--ink);color:var(--paper);font:600 clamp(9px,.8vw,11px)/1 var(--font-body);padding:6px 10px;border-radius:999px}
.fan__card--1{background:#7a2c18;transform:perspective(1100px) rotateY(24deg) translateY(54px) scale(.8);z-index:1}
.fan__card--2{background:var(--ink);transform:perspective(1100px) rotateY(20deg) translateY(30px) scale(.9);z-index:2}
.fan__card--3{background:var(--moss);transform:perspective(1100px) rotateY(12deg) translateY(12px) scale(.96);z-index:3}
.fan__card--4{background:var(--white);color:var(--ink);border:1px solid var(--line);z-index:6;transform:translateY(-6px) scale(1.04);box-shadow:0 40px 70px -28px #15130f66}
.fan__card--5{background:var(--ember);transform:perspective(1100px) rotateY(-12deg) translateY(12px) scale(.96);z-index:3}
.fan__card--6{background:var(--ink-2);transform:perspective(1100px) rotateY(-20deg) translateY(30px) scale(.9);z-index:2}
.fan__card--7{background:var(--ember-deep);transform:perspective(1100px) rotateY(-24deg) translateY(54px) scale(.8);z-index:1}
.fan__card--mid .fan__t{font-size:clamp(20px,2.4vw,34px)}
@media (max-width:760px){.fan__card--1,.fan__card--7{display:none}.fan__card{width:clamp(104px,28vw,150px);margin:0 -14px}}
@media (max-width:480px){.fan__card--2,.fan__card--6{display:none}.fan__card{width:clamp(118px,36vw,150px);height:210px;margin:0 -10px}.fan{height:250px}}
/* paths: two-up */
.paths__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.paths__grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.fan__card{transition:none}}
/* fan text placement: keep labels clear of neighbouring cards */
.fan__t{margin-top:10px}
.fan__card--1,.fan__card--2,.fan__card--3{padding-right:clamp(30px,3.6vw,52px)}
.fan__card--5,.fan__card--6,.fan__card--7{padding-left:clamp(30px,3.6vw,52px)}
.fan__card--mid{align-items:center;justify-content:center;text-align:center;padding:clamp(12px,1.4vw,20px)}
.fan__card--mid .fan__k{display:none}
.fan__card--mid .fan__t{margin:0}
.fan__card--mid .fan__lines{width:50%;margin-top:14px}
.fan__card--3{padding-right:clamp(40px,5vw,72px)}
.fan__card--5{padding-left:clamp(40px,5vw,72px)}
/* leaderboard card under the hero */
.hero--center{padding-bottom:clamp(48px,7vw,96px)}
.hero__land{display:flex;justify-content:center;margin-top:clamp(36px,5vw,64px);text-align:left}
.hero__land .hero-lb{justify-self:center;max-width:560px;width:100%}
/* rotating service word */
.hero__rot{display:inline-block;min-height:1.04em}
.rw{display:inline-block;font-style:italic;color:var(--ember);transition:opacity .38s var(--ease),transform .38s var(--ease),filter .38s var(--ease);opacity:1;transform:translateY(0);filter:blur(0)}
.rw--out{opacity:0;transform:translateY(-.28em);filter:blur(3px)}
@media (max-width:560px){.hero--center h1{font-size:clamp(30px,8.6vw,44px)}}
@media (prefers-reduced-motion:reduce){.rw{transition:none}}

/* leaderboard card without background */
.hero__land .hero-lb{background:transparent;border:0;box-shadow:none}
.hero__land{position:relative}
.hero__land:before{content:"";position:absolute;left:50%;top:50%;width:min(1100px,150%);height:calc(100% + 220px);transform:translate(-50%,-50%);background:radial-gradient(closest-side,var(--paper) 62%,rgba(244,241,234,0));pointer-events:none;z-index:0}
.hero__land .hero-lb{position:relative;z-index:1}

/* logo underscore */
.logo{gap:2px}
.logo__us{color:var(--ember);font-family:var(--font-display);font-weight:600;font-size:1em;line-height:1;letter-spacing:-.02em}

/* how it works — interactive flow */
.flow{padding:clamp(52px,7vw,92px) 0}
.flow__head{text-align:center;max-width:760px;margin:0 auto clamp(26px,4vw,42px)}
.flow__head h2{font-family:var(--font-display);font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:-.02em;margin:0 0 12px;font-weight:600}
.flow__sub{color:var(--ink-2);max-width:540px;margin:0 auto;font-size:clamp(15px,1.6vw,17px)}
.flow__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,20px);align-items:stretch}
.fcard-wrap{display:flex}
.fcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 18px 22px;width:100%;display:flex;flex-direction:column}
.fv{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;min-height:236px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.fchips{display:flex;flex-wrap:wrap;gap:6px}
.fchips--pay{justify-content:center}
.fchip{font-family:inherit;font-size:12.5px;line-height:1;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.fchip:hover{border-color:var(--ink)}
.fchip.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.fbrief{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:5px;box-shadow:var(--shadow-md)}
.fbrief__tag{font-size:10px;letter-spacing:.14em;color:var(--ember)}
.fbrief__t{font-size:16px;font-weight:600}
.fbrief__d{font-size:13px;color:var(--ink-3)}
.fsteps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fstep{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-3);cursor:pointer;transition:color .25s var(--ease)}
.fstep__dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--line);background:var(--white);flex:0 0 auto;transition:background .25s var(--ease),border-color .25s var(--ease)}
.fstep.is-on{color:var(--ink)}
.fstep.is-on .fstep__dot{background:var(--ember);border-color:var(--ember)}
.fbar{height:4px;border-radius:999px;background:var(--line);overflow:hidden}
.fbar i{display:block;height:100%;background:var(--ember);transition:width .5s var(--ease)}
.fnote{font-size:10.5px;letter-spacing:.12em;color:var(--ink-3)}
.fpay__amt{font-family:var(--font-display);font-size:clamp(34px,4vw,46px);line-height:1;text-align:center;letter-spacing:-.02em}
.fnote--pay{text-align:center;font-size:13px;color:var(--ink-3)}
.fmeta{display:flex;align-items:center;gap:10px;margin-top:18px}
.fnum{width:23px;height:23px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:11.5px;color:var(--ink-3);flex:0 0 auto}
.fmeta h3{font-size:17px;margin:0;font-weight:600;letter-spacing:-.01em}
.fdesc{margin:7px 0 0;font-size:14px;color:var(--ink-3)}
@media (max-width:900px){.flow__grid{grid-template-columns:1fr}.fv{min-height:0}}

/* flow — fake cursor demo */
.fv{position:relative;overflow:hidden;min-height:268px}
.fcur{position:absolute;left:0;top:0;width:20px;height:20px;z-index:5;pointer-events:none;opacity:0;transform:translate(220px,220px);transition:transform .75s cubic-bezier(.4,0,.2,1),opacity .3s}
.fcur.is-on{opacity:1}
.fcur svg{display:block;width:100%;height:100%;fill:var(--ink);stroke:#fff;stroke-width:1.5;transform-origin:25% 15%;transition:transform .15s ease}
.fcur.is-click svg{transform:scale(.8)}
.fchip,.fbtn{transition:transform .15s ease,background .25s,color .25s,border-color .25s,box-shadow .25s}
.is-press{transform:scale(.93)}
.fcaret{display:inline-block;width:1px;height:13px;background:var(--ink);margin-left:2px;vertical-align:-2px;animation:fblink 1s steps(1) infinite}
@keyframes fblink{50%{opacity:0}}
.fbrief__d{min-height:2.6em}
.fbtn{align-self:flex-start;font-family:inherit;font-size:13px;font-weight:600;line-height:1;padding:10px 16px;border-radius:999px;border:0;background:var(--ink);color:var(--paper);cursor:pointer}
.fbtn.is-done{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.fv--pay .fbtn{align-self:center}
.fscope{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:12px;box-shadow:var(--shadow-md)}
.fscope__h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fscope__n{font-size:9.5px}
.fsteps{grid-template-columns:1fr 1fr;gap:9px 12px}
@media (prefers-reduced-motion:reduce){.fcur{display:none}.fcaret{animation:none}}

/* pay-what-you-want section: text + points, no slider */
.model2 .split{align-items:center}
.model2 .btn-row{align-items:center;gap:20px}
.model2__list .model-list{margin:0}
.model2__list .model-list li{font-size:clamp(16px,1.5vw,18px);line-height:1.5;padding-top:22px;padding-bottom:22px}
.model2__list .model-list li strong{display:block;font-family:var(--font-display);font-size:clamp(20px,2vw,24px);font-weight:600;letter-spacing:-.015em;margin-bottom:4px}

/* pay-what-you-want — minimal centered */
.pw{padding:clamp(64px,9vw,120px) 0}
.pw__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(18px,2.4vw,26px)}
.pw__h{font-family:var(--font-display);font-size:clamp(30px,4.4vw,54px);line-height:1.06;letter-spacing:-.02em;font-weight:500;margin:0;max-width:16ch}
.pw__h .italic{color:var(--ember)}
.pw__pts{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:clamp(20px,4vw,56px);justify-content:center;margin:clamp(6px,1.5vw,14px) 0 clamp(6px,1vw,10px)}
.pw__pt{display:grid;gap:4px}
.pw__pt strong{font-size:15px;font-weight:600;color:var(--ink)}
.pw__pt span{font-size:14px;color:var(--ink-3);line-height:1.45}
@media (max-width:700px){.pw__pts{grid-template-columns:1fr;gap:16px}.pw__h{max-width:none}}
.pw__h{max-width:none}
.pw__card{width:100%;max-width:480px;text-align:left;margin-top:clamp(6px,1.5vw,14px)}
.pw__amt{font-family:var(--font-display);font-size:clamp(40px,5vw,56px);line-height:1;letter-spacing:-.02em;text-align:center}
.pw__card .model-demo__label{text-align:center;margin:6px 0 14px}

/* leaderboard — minimal */
.lbm{padding:clamp(64px,9vw,120px) 0}
.lbm__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(16px,2.2vw,24px)}
.lbm__h{font-family:var(--font-display);font-size:clamp(30px,4.4vw,54px);line-height:1.06;letter-spacing:-.02em;font-weight:500;margin:0;color:var(--paper)}
.lbm__h .italic{color:var(--ember)}
.lbm__list{list-style:none;margin:clamp(8px,2vw,18px) 0 6px;padding:0;width:100%;max-width:520px;text-align:left}
.lbm__row{display:grid;grid-template-columns:32px 1fr auto;align-items:baseline;gap:12px;padding:16px 4px;border-bottom:1px solid #f4f1ea1f;color:#f4f1eacc}
.lbm__row:first-child{border-top:1px solid #f4f1ea1f}
.lbm__n{font-size:20px;color:#f4f1ea66}
.lbm__name{font-size:17px}
.lbm__name a{color:inherit;text-decoration:none}
.lbm__name a:hover{text-decoration:underline}
.lbm__amt{font-size:16px}
.lbm__row.is-top{color:var(--paper)}
.lbm__row.is-top .lbm__n,.lbm__row.is-top .lbm__amt{color:var(--ember)}
.lbm a[href$="/leaderboard"]{color:#f4f1eacc}

/* no gap between dark last section and footer */
main:has(> .section--dark:last-child) + .site-footer{margin-top:0}
.section--dark.trust + * {margin-top:0}

/* transparency section on light background */
.trust .trust-list{color:var(--ink-2)}
.trust .trust-list svg{color:var(--moss)}
.trust .btn--paper{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.trust .btn--paper:hover{background:var(--ink);color:var(--paper)}
.trust .activity{background:var(--white);border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-md)}
.trust .activity li{border-top-color:var(--line)}
.trust .activity .muted,.trust .activity .kicker{color:var(--ink-3)}
.trust .activity strong{color:var(--ink)}

/* ===== Work page ===== */
.wk-hero{padding:clamp(48px,7vw,96px) 0 clamp(24px,3vw,36px)}
.wk-hero__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(14px,2vw,20px)}
.wk-h{font-family:var(--font-display);font-size:clamp(36px,5.6vw,72px);line-height:1.04;letter-spacing:-.02em;font-weight:500;margin:0}
.wk-h .italic{color:var(--ember)}
.wk-sub{color:var(--ink-2);max-width:520px;margin:0;font-size:clamp(16px,1.7vw,18px)}
.wk-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}
.wk-filters .fchip{font-size:13.5px;padding:9px 14px;display:inline-flex;align-items:center;gap:8px}
.wk-count{font-family:var(--font-mono);font-size:11px;opacity:.55}
.wk-grid-wrap{padding:clamp(12px,2vw,20px) 0 clamp(56px,8vw,104px)}
.wk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
@media (max-width:1000px){.wk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.wk-grid{grid-template-columns:1fr}}
.wk-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.wk-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg,0 24px 50px -24px #15130f55);border-color:#15130f40}
.wk-card:focus-visible{outline:2px solid var(--ember);outline-offset:3px}
.wk-shot{padding:10px 10px 0;background:var(--paper)}
.wk-bar{display:flex;align-items:center;gap:5px;padding:7px 10px;background:#ebe7de;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0}
.wk-bar i{width:7px;height:7px;border-radius:50%;background:#15130f26}
.wk-bar span{margin-left:8px;font-size:10.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-img{position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);border-bottom:0}
.wk-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s var(--ease)}
.wk-card:hover .wk-img img{transform:scale(1.035)}
.wk-ph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(22px,2.4vw,30px);color:#ffffffe6;letter-spacing:-.01em;padding:12px;text-align:center}
.wk-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;border-top:1px solid var(--line)}
.wk-tag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-deep,var(--ember))}
.wk-name{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0}
.wk-arrow{opacity:.45;transition:transform .3s var(--ease),opacity .3s}
.wk-card:hover .wk-arrow{opacity:1;transform:translate(2px,-2px)}
.wk-desc{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-3)}
.wk-url{margin-top:6px;font-size:11.5px;color:var(--ink-3);opacity:.8}
.wk-cta{padding:0 0 clamp(64px,9vw,112px)}
.wk-cta__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;padding-top:clamp(40px,6vw,64px);border-top:1px solid var(--line)}
.wk-cta h2{font-family:var(--font-display);font-size:clamp(28px,3.6vw,44px);font-weight:500;letter-spacing:-.02em;margin:0}
.wk-cta h2 .italic{color:var(--ember)}

/* screenshot fade-in (hides the service's "generating" placeholder) */
.wk-img img,.fw2__img img{opacity:0;transition:opacity .5s var(--ease),transform .8s var(--ease)}
.wk-img img.is-ready,.fw2__img img.is-ready{opacity:1}

/* ===== Featured work (home) ===== */
.fw2{padding:clamp(56px,8vw,104px) 0;border-top:1px solid var(--line)}
.fw2__in{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.fw2__side{position:sticky;top:110px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.fw2__eyebrow{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.fw2__h{font-family:var(--font-display);font-size:clamp(34px,4.2vw,56px);line-height:1.04;letter-spacing:-.02em;font-weight:500;margin:0;text-wrap:balance}
.fw2__h .italic{color:var(--ember)}
.fw2__sub{margin:0;color:var(--ink-2);font-size:16px;max-width:30ch}
.fw2__meta{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.fw2__all{margin-top:6px}
.fw2__main{min-width:0}
.fw2__tabs{display:flex;align-items:center;gap:clamp(14px,2.4vw,28px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.fw2__tabs::-webkit-scrollbar{display:none}
.fw2__tab{font-family:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;background:none;border:0;padding:12px 0;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.fw2__tab:hover{color:var(--ink)}
.fw2__tab.is-on{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.fw2__nav{margin-left:auto;display:flex;gap:6px;padding:6px 0}
.fw2__nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;font-size:15px;line-height:1}
.fw2__nav button:hover{border-color:var(--ink)}
.fw2__head{display:flex;align-items:baseline;gap:10px;padding:26px 0 16px}
.fw2__head h3{font-family:var(--font-display);font-size:24px;font-weight:600;margin:0;letter-spacing:-.01em}
.fw2__head span{font-size:12px;color:var(--ink-3)}
.fw2__row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*20px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.fw2__card{scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;color:var(--ink);text-decoration:none;min-width:0}
.fw2__img{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:10px}
.fw2__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.fw2__card:hover .fw2__img img.is-ready{transform:scale(1.04)}
.fw2__img .wk-ph{font-size:24px}
.fw2__badge,.fw2__live{position:absolute;top:10px;z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:6px 10px;line-height:1;display:inline-flex;align-items:center;gap:4px}
.fw2__badge{left:10px;background:var(--ink);color:var(--paper)}
.fw2__live{right:10px;background:var(--white);color:var(--ink)}
.fw2__card h4{font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em}
.fw2__card p{margin:0;font-size:14px;line-height:1.45;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fw2__link{margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
.fw2__card:hover .fw2__link{color:var(--ember)}
@media (max-width:960px){.fw2__in{grid-template-columns:1fr}.fw2__side{position:static}.fw2__row{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:560px){.fw2__row{grid-auto-columns:78%}.fw2__nav{display:none}}

/* featured work carousel */
.fw2__row{scroll-behavior:smooth;scrollbar-width:none}
.fw2__row::-webkit-scrollbar{display:none}
.fw2__card{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.fw2__card:not(.is-in){opacity:.45;transform:scale(.97)}
@media (max-width:960px){.fw2__card:not(.is-in){opacity:1;transform:none}}
.fw2__dots{display:flex;gap:6px;margin-top:18px}
.fw2__dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#15130f2e;cursor:pointer;transition:width .35s var(--ease),background .35s}
.fw2__dots button.is-on{width:22px;background:var(--ink)}



/* ===== WhatsApp float ===== */
.wa-float{position:fixed;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 12px 28px -10px #128c7e99;transition:transform .25s var(--ease),box-shadow .25s}
.wa-float:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 32px -10px #128c7ecc}
.wa-float:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (max-width:560px){.wa-float{width:50px;height:50px;left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}}

/* ===== Contact page ===== */
.ct{padding:clamp(56px,8vw,112px) 0 clamp(64px,9vw,120px)}
.ct__head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(14px,2vw,20px);margin-bottom:clamp(32px,5vw,56px)}
.ct__h{font-family:var(--font-display);font-size:clamp(36px,5.4vw,68px);line-height:1.04;letter-spacing:-.02em;font-weight:500;margin:0;text-wrap:balance}
.ct__h .italic{color:var(--ember)}
.ct__sub{margin:0;color:var(--ink-2);font-size:clamp(16px,1.7vw,18px)}
.ct__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
@media (max-width:900px){.ct__grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}}
.ct__card{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);color:var(--ink);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.ct__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#15130f40}
.ct__card--wa{border-color:#25D36666}
.ct__k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ct__wa{position:absolute;top:22px;right:22px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff}
.ct__t{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.015em;margin:4px 0 0}
.ct__d{margin:0;color:var(--ink-3);font-size:15px;line-height:1.5;flex:1}
.ct__cta{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14.5px;margin-top:8px}
.ct__card--wa .ct__cta{color:#128C4A}
.ct__foot{margin-top:clamp(28px,4vw,40px);text-align:center;color:var(--ink-3);font-size:14px}
.ct__foot p{margin:0}
.ct__foot a{color:var(--ink)}

/* WhatsApp — left-edge tab that slides out on hover */
.wa-float{left:0;right:auto;top:50%;bottom:auto;transform:translateY(-50%);width:auto;height:auto;display:flex;align-items:center;gap:0;padding:12px 12px 12px calc(10px + env(safe-area-inset-left,0px));border-radius:0 999px 999px 0;background:#25D366;color:#fff;box-shadow:0 10px 26px -10px #128c7e99;overflow:hidden;transition:padding .35s var(--ease),box-shadow .3s,background .3s}
.wa-float:hover,.wa-float:focus-visible{transform:translateY(-50%);padding-right:18px;box-shadow:0 14px 30px -10px #128c7ecc;background:#1fbe5b}
.wa-float__icon{display:grid;place-items:center;order:2;flex:none}
.wa-float__label{order:1;max-width:0;opacity:0;white-space:nowrap;font-size:14px;font-weight:600;letter-spacing:-.005em;transition:max-width .4s var(--ease),opacity .25s,margin .4s var(--ease)}
.wa-float:hover .wa-float__label,.wa-float:focus-visible .wa-float__label{max-width:170px;opacity:1;margin:0 10px 0 6px}
@media (max-width:560px){.wa-float{left:0;bottom:auto;width:auto;height:auto;padding:10px 10px 10px calc(8px + env(safe-area-inset-left,0px))}}
@media (hover:none){.wa-float:hover .wa-float__label{max-width:0;opacity:0;margin:0}}

/* WhatsApp — final: round button stacked above "Ask us", label on hover */
.wa-float{left:auto;top:auto;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(82px + env(safe-area-inset-bottom,0px));transform:none;width:50px;height:50px;padding:0;border-radius:50%;justify-content:center;overflow:visible;background:#25D366;transition:transform .25s var(--ease),box-shadow .25s,opacity .25s}
.wa-float:hover,.wa-float:focus-visible{transform:translateY(-2px);padding:0;background:#22c55e;box-shadow:0 14px 30px -10px #128c7ecc}
.wa-float__label{position:absolute;right:calc(100% + 10px);top:50%;transform:translate(6px,-50%);max-width:none;margin:0;padding:8px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500;opacity:0;pointer-events:none;box-shadow:var(--shadow-md);transition:opacity .2s,transform .25s var(--ease)}
.wa-float:hover .wa-float__label,.wa-float:focus-visible .wa-float__label{max-width:none;opacity:1;margin:0;transform:translate(0,-50%)}
@media (max-width:560px){.wa-float{width:50px;height:50px;padding:0;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(74px + env(safe-area-inset-bottom,0px))}}
body:has(.chatwidget.is-open) .wa-float,body:has(.mpx-teaser) .wa-float{opacity:0;pointer-events:none}

/* WhatsApp — premium style (ink button, green glyph, status dot, card tooltip) */
.wa-float{width:52px;height:52px;background:radial-gradient(120% 120% at 30% 20%,#2a2621 0%,var(--ink) 60%);color:#25D366;box-shadow:0 0 0 1px #ffffff14 inset,0 0 0 1px #15130f,0 14px 30px -12px #15130fb3,0 2px 6px -2px #15130f66}
.wa-float:hover,.wa-float:focus-visible{background:radial-gradient(120% 120% at 30% 20%,#34302a 0%,var(--ink) 60%);transform:translateY(-2px);box-shadow:0 0 0 1px #ffffff1f inset,0 0 0 1px #15130f,0 18px 36px -12px #15130fcc,0 0 0 6px #25d3661f}
.wa-float__icon svg{filter:drop-shadow(0 0 6px #25d36655)}
.wa-float__dot{position:absolute;top:3px;right:3px;width:10px;height:10px;border-radius:50%;background:#25D366;box-shadow:0 0 0 2px var(--paper)}
.wa-float__dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;animation:waPulse 2.4s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.6);opacity:0}}
.wa-float__label{display:grid;gap:2px;padding:10px 14px;border-radius:14px;background:var(--white);color:var(--ink);border:1px solid var(--line);box-shadow:0 16px 36px -14px #15130f66;text-align:left;white-space:nowrap}
.wa-float__label strong{font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.wa-float__label small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}
.wa-float__label small i{width:6px;height:6px;border-radius:50%;background:#25D366}
.wa-float__label:after{content:"";position:absolute;right:-5px;top:50%;width:9px;height:9px;background:var(--white);border-top:1px solid var(--line);border-right:1px solid var(--line);transform:translateY(-50%) rotate(45deg)}
@media (prefers-reduced-motion:reduce){.wa-float__dot:after{animation:none}}

/* ===== Showcase page ===== */
.sc-note{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);opacity:.8}
.sc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
@media (max-width:1000px){.sc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sc-grid{grid-template-columns:1fr}}
.sc-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.sc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#15130f40}
.sc-card:focus-visible{outline:2px solid var(--ember);outline-offset:3px}
.sc-cover{position:relative;aspect-ratio:16/10;display:flex;align-items:flex-end;padding:18px 20px;overflow:hidden;background:linear-gradient(160deg,hsl(var(--h) 38% 90%),hsl(var(--h) 30% 82%))}
.sc-cover__l{position:absolute;right:-6px;bottom:-34px;font-family:var(--font-display);font-size:170px;line-height:1;font-style:italic;color:hsl(var(--h) 35% 30% / .14);transition:transform .6s var(--ease)}
.sc-card:hover .sc-cover__l{transform:translate(-6px,-6px)}
.sc-cover__t{position:relative;font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-.015em;color:hsl(var(--h) 35% 18%)}
.sc-status{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--white);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink)}
.sc-status i{width:6px;height:6px;border-radius:50%;background:var(--ink-3)}
.sc-status--live i,.sc-status--delivered i{background:var(--moss,#3f7d4f)}
.sc-status--building i{background:var(--ember)}
.sc-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 18px;flex:1}
.sc-name{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:-.015em;margin:0}
.sc-desc{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-3);flex:1}
.sc-by{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.sc-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-size:12px;flex:none}
.sc-by > span:nth-child(2){display:grid;line-height:1.25;min-width:0}
.sc-by strong{font-size:13.5px;font-weight:600}
.sc-by small{font-size:12px;color:var(--ink-3)}
.sc-arrow{margin-left:auto;opacity:.4;transition:transform .3s var(--ease),opacity .3s}
.sc-card:hover .sc-arrow{opacity:1;transform:translateX(3px)}
.sc-name{display:none}

/* ===== About us ===== */
.au-founder-wrap{padding:clamp(8px,2vw,16px) 0 clamp(48px,7vw,88px)}
.au-founder{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center;max-width:1000px;margin:0 auto;padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:calc(var(--radius-lg) + 6px);background:var(--white)}
@media (max-width:760px){.au-founder{grid-template-columns:1fr}}
.au-photo{position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(160deg,hsl(var(--h) 40% 88%),hsl(var(--h) 32% 78%));display:grid;place-items:center;max-width:100%}
.au-photo__ini{font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-style:italic;color:hsl(var(--h) 35% 28% / .55)}
.au-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s var(--ease)}
.au-photo img.is-ready{opacity:1}
.au-founder .au-photo{aspect-ratio:4/5}
.au-founder__text{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.au-role{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ember)}
.au-name{font-family:var(--font-display);font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0}
.au-bio{margin:0;color:var(--ink-2);font-size:clamp(15.5px,1.6vw,17px);line-height:1.6;max-width:52ch}
.au-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.au-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.au-team{padding:0 0 clamp(56px,8vw,96px)}
.au-team__head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:clamp(24px,4vw,40px)}
.au-team__head h2{font-family:var(--font-display);font-size:clamp(28px,3.6vw,44px);font-weight:500;letter-spacing:-.02em;margin:0}
.au-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
@media (max-width:1000px){.au-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.au-grid{grid-template-columns:1fr}}
.au-card{display:flex;flex-direction:column;gap:6px}
.au-card .au-photo{margin-bottom:10px}
.au-card h3{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0}
.au-card p{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--ink-3)}

/* About us — story, stats, values */
.au-story{padding:clamp(24px,4vw,48px) 0 clamp(32px,5vw,56px)}
.au-story__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(24px,5vw,72px);max-width:1080px;margin:0 auto;align-items:start}
@media (max-width:820px){.au-story__in{grid-template-columns:1fr}}
.au-story__head{display:flex;flex-direction:column;gap:12px}
.au-story__head h2{font-family:var(--font-display);font-size:clamp(30px,3.8vw,48px);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0}
.au-story__head h2 .italic{color:var(--ember)}
.au-story__body{display:flex;flex-direction:column;gap:16px}
.au-story__body p{margin:0;font-size:clamp(16px,1.6vw,17.5px);line-height:1.65;color:var(--ink-2);max-width:62ch}
.au-stats{padding:0 0 clamp(48px,7vw,88px)}
.au-stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1080px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.au-stat{display:flex;flex-direction:column;gap:6px;padding:24px 20px;border-left:1px solid var(--line)}
.au-stat:first-child{border-left:0}
.au-stat strong{font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);font-weight:500;letter-spacing:-.02em}
.au-stat span{font-size:13.5px;color:var(--ink-3)}
@media (max-width:760px){.au-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.au-stat:nth-child(3){border-left:0}.au-stat:nth-child(n+3){border-top:1px solid var(--line)}}
.au-values{padding:0 0 clamp(56px,8vw,96px)}
.au-vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);max-width:1080px;margin:0 auto}
@media (max-width:820px){.au-vals{grid-template-columns:1fr}}
.au-val{padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white)}
.au-val h3{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}
.au-val p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-3)}

/* Contact — short email form */
.ctf{padding:clamp(40px,6vw,72px) 0 0}
.ctf__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(24px,5vw,64px);align-items:start;max-width:1080px;margin:0 auto;padding-top:clamp(36px,5vw,56px);border-top:1px solid var(--line)}
@media (max-width:820px){.ctf__in{grid-template-columns:1fr}}
.ctf__head{display:flex;flex-direction:column;gap:10px}
.ctf__head h2{font-family:var(--font-display);font-size:clamp(28px,3.4vw,40px);font-weight:500;letter-spacing:-.02em;margin:0}
.ctf__head p{margin:0;color:var(--ink-3);font-size:15px;max-width:34ch}
.ctf__form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.ctf__form{grid-template-columns:1fr}}
.ctf__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ctf__field--full{grid-column:1/-1}
.ctf__field > span{font-size:13px;font-weight:600;color:var(--ink)}
.ctf__field em{font-style:normal;font-weight:400;color:var(--ink-3)}
.ctf__field input,.ctf__field textarea{font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;resize:vertical}
.ctf__field input:focus,.ctf__field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #15130f14}
.ctf__field [aria-invalid="true"]{border-color:var(--ember)}
.ctf__err{color:var(--ember-deep,var(--ember));font-size:12.5px}
.ctf__foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px}
.ctf__note{font-size:12.5px;color:var(--ink-3)}
.ctf__done{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white)}
.ctf__done strong{font-family:var(--font-display);font-size:24px;font-weight:600}
.ctf__done p{margin:0;color:var(--ink-3)}
/* r63: featured cards as browser windows (desktop screenshots shown whole) */
.fw2__img{aspect-ratio:16/11;border-radius:12px;background:#ebe6dc;border:1px solid var(--line);box-shadow:0 18px 40px -22px rgba(21,19,15,.35)}
.fw2__img:before{content:"";position:absolute;left:0;right:0;top:0;height:28px;z-index:1;background:radial-gradient(circle,#d8d2c6 3.5px,transparent 4px) 12px 50%/14px 14px no-repeat,radial-gradient(circle,#d8d2c6 3.5px,transparent 4px) 26px 50%/14px 14px no-repeat,radial-gradient(circle,#d8d2c6 3.5px,transparent 4px) 40px 50%/14px 14px no-repeat,#ebe6dc;border-bottom:1px solid var(--line)}
.fw2__img img{top:28px;height:calc(100% - 28px);object-fit:cover;object-position:top center}
.fw2__badge{display:none}
.fw2__live{top:5px;right:6px;font-size:9.5px;padding:4px 8px;background:var(--white);border:1px solid var(--line)}
.fw2__card:hover .fw2__img img.is-ready{transform:scale(1.03);transform-origin:top center}
@media (min-width:961px){.fw2__row{grid-auto-columns:calc((100% - 20px)/2)}}
/* r64 responsive QA fixes */
/* list items with inline bold text no longer split into columns */
.trust-list li{display:block;position:relative;padding-left:28px}
.trust-list li>svg{position:absolute;left:0;top:.18em}
/* mobile/tablet menu covers the page and hides floating buttons */
.site-drawer{min-height:calc(100vh - 69px)}
@supports (height:100dvh){.site-drawer{min-height:calc(100dvh - 69px)}}
body:has(.site-drawer) .wa-float,body:has(.site-drawer) .chatwidget,body:has(.site-drawer) .mpx-teaser{opacity:0!important;pointer-events:none!important;visibility:hidden}
/* floating buttons stay visible on dark sections */
.chatwidget>button,.chatwidget .chatwidget__launcher{box-shadow:0 0 0 1px #ffffff26,0 12px 28px -12px #15130fb3}
.wa-float{box-shadow:0 0 0 1px #ffffff26,0 14px 30px -12px #15130fb3}
/* bigger tap area for carousel dots */
.fw2__dots{gap:4px}
.fw2__dots button{position:relative;background-clip:content-box;padding:10px 3px;box-sizing:content-box;height:7px}
.fw2__dots button{background:none}
.fw2__dots button:before{content:"";position:absolute;left:3px;right:3px;top:10px;height:7px;border-radius:999px;background:#15130f2e;transition:background .35s}
.fw2__dots button.is-on:before{background:var(--ink)}
/* work filters fit one row on phones */
@media (max-width:480px){.wk-filters{gap:6px;flex-wrap:nowrap}.wk-filters .fchip{font-size:12.5px;padding:8px 10px;gap:5px}}
/* footer links: comfortable tap targets on touch screens */
@media (max-width:960px){.site-footer a{display:inline-block;padding:4px 0}}
.site-drawer{align-content:start}
.fw2__dots button,.fw2__dots button.is-on{background:none}
