/* Subpages: page hero, cards, prose for blog and case studies, service sections, footer. Loaded after v3.css. */

/* ---- nav: current page ---- */
.nav-links a[aria-current="page"]:not(.btn){color:var(--ink);}
.nav-links a[aria-current="page"]:not(.btn)::after{content:"";display:block;height:1.5px;margin-top:4px;background:var(--teal);border-radius:2px;}

/* ---- page hero ---- */
.phero{position:relative;padding:clamp(128px,18vh,184px) 0 clamp(56px,8vw,104px);overflow:hidden;}
.phero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 520px at 78% 0%,color-mix(in srgb,var(--teal-fill) 20%,transparent),transparent 62%);}
.phero .wrap{position:relative;}
.phero h1{font-size:clamp(2.7rem,6.6vw,5.6rem);line-height:1.03;max-width:16ch;margin:0 0 26px;}
.phero.narrow h1{max-width:22ch;font-size:clamp(2.3rem,5vw,4.2rem);}
.phero .lead{max-width:56ch;}
.phero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.phero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:28px;font-size:.92rem;color:var(--soft);}
.phero-meta .tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);text-decoration:none;padding:6px 12px;border-radius:999px;box-shadow:0 0 0 1px var(--line-2) inset;}
.phero-meta .who{display:flex;align-items:center;gap:10px;}
.phero-meta .who img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:top;}

.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--line-2);}
.crumbs a{text-decoration:none;color:var(--soft);}
.crumbs [aria-current]{color:var(--faint);}

/* ---- generic blocks ---- */
.sec.tight{padding:clamp(64px,8vw,112px) 0;}
.sec-head.stack{display:block;}
.sec-head.stack .lead{margin-top:20px;max-width:60ch;}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start;}
.split .lead+.lead{margin-top:18px;}
.split h2{max-width:14ch;}

.grid{display:grid;gap:16px;}
.grid.c2{grid-template-columns:repeat(2,1fr);}
.grid.c3{grid-template-columns:repeat(3,1fr);}
.grid.c4{grid-template-columns:repeat(4,1fr);}
.box{border-radius:30px;background:var(--bg-2);padding:clamp(24px,2.6vw,36px);box-shadow:0 0 0 1px var(--line) inset,inset 0 1px 0 rgba(255,255,255,.05);display:flex;flex-direction:column;gap:12px;}
.lt .box{box-shadow:0 0 0 1px var(--line) inset,0 24px 60px -40px rgba(0,0,0,.25);}
.box h3{font-size:clamp(1.25rem,1.8vw,1.55rem);}
.box p{color:var(--soft);}
.box .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);}
.box ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--soft);}
.box li{position:relative;padding-left:22px;}
.box li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1.5px;background:var(--teal);}

/* linked cards (services, cases) */
a.box{text-decoration:none;color:inherit;transition:transform .5s var(--ease),box-shadow .4s;}
a.box .more{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--teal);}
a.box .more svg{width:15px;height:15px;transition:transform .25s var(--ease);}
@media (hover:hover){a.box:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line-2) inset,0 30px 60px -40px #000;}a.box:hover .more svg{transform:translateX(4px);}}

/* numbered steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:st;}
.steps.c3{grid-template-columns:repeat(3,1fr);}
.step{counter-increment:st;border-top:1px solid var(--line-2);padding-top:22px;display:flex;flex-direction:column;gap:10px;}
.step::before{content:counter(st,decimal-leading-zero);font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;color:var(--teal);}
.step h3{font-size:1.3rem;}
.step p{color:var(--soft);font-size:.98rem;}
.step .res{margin-top:4px;font-size:.92rem;color:var(--ink);}
.step .res b{color:var(--teal);font-weight:600;}

/* "when it makes sense" signals */
.signals{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
.signal{padding:28px 28px 30px 0;border-bottom:1px solid var(--line);}
.signal+.signal{padding-left:28px;border-left:1px solid var(--line);}
.signal h3{font-size:1.3rem;margin-bottom:10px;}
.signal p{color:var(--soft);}

/* numbers */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.stat{border-radius:30px;padding:clamp(26px,3vw,40px);background:var(--bg-2);box-shadow:0 0 0 1px var(--line) inset;}
.stat b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(3rem,6vw,5rem);line-height:1;letter-spacing:-.06em;color:var(--teal);margin-bottom:14px;}
.stat span{color:var(--soft);}

/* founder card */
.person{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:clamp(28px,5vw,72px);align-items:center;}
.person figure{margin:0;border-radius:30px;overflow:hidden;aspect-ratio:4/5;background:var(--bg-3);}
.person img{width:100%;height:100%;object-fit:cover;object-position:top;}
.person .role{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin:14px 0 22px;}

/* price list (cennik) */
.plist{display:grid;gap:0;border-top:1px solid var(--line-2);}
.prow{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:24px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);}
.prow h3{font-size:1.35rem;}
.prow p{color:var(--soft);}
.prow .pv{text-align:right;font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;white-space:nowrap;}
.prow .pv small{display:block;font-family:var(--mono);font-weight:400;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:4px;}
.prow .pv span{font-family:var(--sans);font-weight:500;font-size:.9rem;letter-spacing:0;color:var(--soft);margin-right:4px;}
.free{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}

/* ---- cards: blog + cases ---- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px);}
.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.card-img{border-radius:24px;overflow:hidden;aspect-ratio:16/10;background:var(--bg-3);margin-bottom:18px;}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;white-space:nowrap;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;}
.card-meta b{font-weight:400;color:var(--teal);}
.card h3{font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.2;margin-bottom:10px;}
.card p{color:var(--soft);font-size:.96rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
@media (hover:hover){.card:hover .card-img img{transform:scale(1.04);}.card:hover h3{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;}}
.card.feat{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;}
.card.feat .card-img{margin:0;aspect-ratio:16/9;}
.card.feat h3{font-size:clamp(1.7rem,3vw,2.6rem);}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(32px,4vw,48px);padding:0;list-style:none;}
.chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;text-decoration:none;font-size:.9rem;color:var(--soft);box-shadow:0 0 0 1px var(--line-2) inset;transition:background .2s,color .2s;}
.chips a[aria-current]{background:var(--ink);color:var(--bg);box-shadow:none;}
@media (hover:hover){.chips a:not([aria-current]):hover{color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;}}

/* case cards */
.case{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;text-decoration:none;color:inherit;border-radius:34px;padding:clamp(14px,1.4vw,18px);background:var(--bg-2);box-shadow:0 0 0 1px var(--line) inset;transition:transform .5s var(--ease);}
.lt .case{box-shadow:0 0 0 1px var(--line) inset,0 30px 70px -50px rgba(0,0,0,.35);}
.case+.case{margin-top:18px;}
.case-img{border-radius:24px;overflow:hidden;aspect-ratio:16/10;}
.case-img img{width:100%;height:100%;object-fit:cover;}
.case-body{padding:clamp(8px,2vw,28px) clamp(8px,2vw,28px) clamp(8px,2vw,28px) 0;display:flex;flex-direction:column;gap:14px;}
.case-body h3{font-size:clamp(1.6rem,2.6vw,2.3rem);}
.case-body p{color:var(--soft);}
.case-kpi{font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--teal);letter-spacing:-.01em;}
@media (hover:hover){.case:hover{transform:translateY(-4px);}}

/* ---- article / prose ---- */
.article{padding:clamp(56px,7vw,96px) 0 clamp(80px,10vw,140px);}
.art-hero{margin:0 auto clamp(40px,5vw,64px);max-width:1100px;border-radius:30px;overflow:hidden;aspect-ratio:16/9;background:var(--bg-3);}
.art-hero img{width:100%;height:100%;object-fit:cover;}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,6vw,96px);align-items:start;max-width:1100px;margin:0 auto;}
.art-side{position:sticky;top:96px;display:grid;gap:16px;}
.art-side .box{padding:24px;border-radius:24px;}
.art-side .box h3{font-size:1.15rem;}
.art-side dl{margin:0;display:grid;gap:14px;}
.art-side dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;}
.art-side dd{margin:0;color:var(--ink);font-size:.98rem;}

.prose{overflow-wrap:break-word;min-width:0;font-size:1.08rem;line-height:1.75;color:var(--ink);max-width:70ch;}
.prose>*+*{margin-top:1.15em;}
.prose h2{font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.15;margin-top:2.1em;}
.prose h3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;margin-top:1.8em;}
.prose h4{font-family:var(--display);font-weight:600;font-size:1.15rem;letter-spacing:-.01em;margin:1.6em 0 0;}
.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em;}
.prose p,.prose li{color:color-mix(in srgb,var(--ink) 86%,transparent);}
.prose strong,.prose b{color:var(--ink);font-weight:600;}
.prose a{overflow-wrap:anywhere;color:var(--teal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.prose ul,.prose ol{padding-left:1.3em;}
.prose li+li{margin-top:.45em;}
.prose li::marker{color:var(--teal);}
.prose figure{margin:2em 0;}
.prose figure img{border-radius:18px;margin:0 auto;height:auto;box-shadow:0 0 0 1px var(--line);}
.prose figcaption{margin-top:10px;font-size:.88rem;color:var(--faint);text-align:center;}
.prose figure.video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;}
.prose figure.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.prose blockquote{margin:2em 0;padding:4px 0 4px 24px;border-left:1px solid var(--line-2);color:var(--soft);font-size:1.15rem;}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto;}
.prose th,.prose td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top;}
.prose th{font-weight:600;}
.prose code{overflow-wrap:anywhere;font-family:var(--mono);font-size:.88em;padding:2px 6px;border-radius:6px;background:var(--bg-3);}

.author{display:flex;gap:20px;align-items:center;margin-top:clamp(48px,6vw,72px);padding:24px;border-radius:24px;background:var(--bg-2);box-shadow:0 0 0 1px var(--line) inset;max-width:70ch;}
.author img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top;flex:none;}
.author b{display:block;font-size:1.05rem;}
.author span{color:var(--soft);font-size:.95rem;}

/* ---- CTA band ---- */
.cta{padding:clamp(80px,10vw,140px) 0;}
.cta-in{position:relative;overflow:hidden;border-radius:40px;padding:clamp(40px,6vw,84px);background:var(--deep);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:end;}
.cta-in::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 420px at 100% 100%,color-mix(in srgb,var(--teal-fill) 45%,transparent),transparent 65%);}
.cta-in>*{position:relative;}
.cta h2{font-size:clamp(2.2rem,4.6vw,3.8rem);max-width:14ch;}
.cta p{color:var(--soft);margin-top:18px;max-width:46ch;}
.cta-act{display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-self:end;}
.cta-act a.plain{color:var(--soft);text-decoration:none;font-size:.95rem;}
.cta-act a.plain:hover{color:var(--ink);}

/* ---- footer ---- */
.site-foot{border-top:1px solid var(--line);padding:clamp(56px,7vw,88px) 0 32px;}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;}
.fgrid h2{font-family:var(--mono);font-size:.7rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 16px;}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.fgrid a{text-decoration:none;color:var(--soft);font-size:.95rem;}
.fgrid a:hover{color:var(--ink);}
.fbrand p{color:var(--soft);max-width:30ch;margin-top:16px;font-size:.95rem;}
.fbrand .brand-mark{font-size:2.6rem;}
.fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--line);font-size:.85rem;color:var(--faint);}
.fbot a{color:var(--faint);}

/* ---- legal + 404 ---- */
.legal .prose h2{font-size:1.5rem;}
.nf{min-height:70svh;display:flex;align-items:center;}

/* ---- responsive ---- */
@media (max-width:1100px){
  .grid.c4,.steps{grid-template-columns:repeat(2,1fr);}
  .fgrid{grid-template-columns:1fr 1fr;}
  .art-grid{grid-template-columns:minmax(0,1fr);}
  .art-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:960px){
  .split,.person,.cta-in,.case,.card.feat{grid-template-columns:minmax(0,1fr);}
  .cta-act{justify-self:start;}
  .cards,.grid.c3,.stats,.free,.steps.c3{grid-template-columns:1fr 1fr;}
  .signals{grid-template-columns:1fr;}
  .signal+.signal{padding-left:0;border-left:0;}
  .signal{padding-right:0;}
  .case-body{padding:8px 10px 14px;}
  .prow{grid-template-columns:1fr auto;gap:10px 24px;}
  .prow h3{grid-column:1;grid-row:1;}
  .prow .pv{grid-column:2;grid-row:1;}
  .prow p:not(.pv){grid-column:1/-1;grid-row:2;}
  .person figure{max-width:420px;}
}
@media (max-width:620px){
  .cards,.grid.c2,.grid.c3,.grid.c4,.stats,.free,.steps,.steps.c3,.fgrid,.art-side{grid-template-columns:minmax(0,1fr);}
  .phero h1{font-size:clamp(2.3rem,10vw,3.2rem);}
  .prow{grid-template-columns:1fr;}
  .prow .pv{grid-column:1;grid-row:2;text-align:left;}
  .prow p:not(.pv){grid-row:3;}
  .cta-in{border-radius:28px;}
  .prose{font-size:1.02rem;}
}
.site-foot{font-size:1rem;}
/* home: whole service row and case panel are links */
.svc-row h3 a{text-decoration:none;color:inherit;}
.svc-row h3 a::after{content:"";position:absolute;inset:0;z-index:1;}
.svc-row[data-peek]{cursor:pointer;}
a.cs{text-decoration:none;color:inherit;}
a.cs .more,.svc-row .more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:.92rem;color:var(--teal);}
a.cs .more svg,.svc-row .more svg{width:15px;height:15px;}
.home-price{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:1100px){.home-price{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.home-price{grid-template-columns:1fr;}}
/* home: secondary services + checklist under the hero buttons */
.hero-also{margin:22px auto 0;max-width:52ch;font-size:.95rem;color:var(--soft);}
.hero-also a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;}
.hero-also a:hover{text-decoration-color:var(--teal);}
/* article: next step after the text */
.prose .art-next{margin-top:2.4em;padding:18px 22px;border-radius:18px;background:var(--bg-2);box-shadow:0 0 0 1px var(--line) inset;color:var(--ink);}
/* checklist page */
.check{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:ck;}
.check li{counter-increment:ck;}
.check label{display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:start;padding:20px 22px;border-radius:20px;background:var(--bg-2);box-shadow:0 0 0 1px var(--line) inset;cursor:pointer;transition:box-shadow .2s;}
.check input{width:22px;height:22px;margin:3px 0 0;accent-color:var(--teal-fill);cursor:pointer;}
.check label:has(input:checked){box-shadow:0 0 0 2px var(--teal) inset;}
.check b{display:block;font-family:var(--display);font-weight:600;font-size:1.2rem;letter-spacing:-.015em;margin-bottom:6px;}
.check b::before{content:counter(ck) ". ";color:var(--teal);}
.check em{display:block;font-style:normal;color:var(--soft);}
.check small{display:block;margin-top:10px;font-size:.92rem;color:var(--ink);}
.check small a{color:var(--teal);}
#checkSum a{color:var(--teal);font-weight:600;}
.calc{gap:10px;}
.calc label{font-size:.92rem;color:var(--soft);}
.calc input{width:100%;min-width:0;font:inherit;font-size:1.1rem;padding:12px 14px;border-radius:14px;border:1px solid var(--line-2);background:var(--bg);color:var(--ink);}
.calc-out{margin-top:10px;font-size:1.1rem;color:var(--ink);}
.calc-out b{font-family:var(--display);font-weight:700;font-size:1.8rem;letter-spacing:-.03em;color:var(--teal);}
.calc-note{font-size:.85rem;}
.cs-num{font-family:var(--display);font-weight:700;font-size:2.2rem;letter-spacing:-.05em;color:var(--teal);}
/* article: short answer box at the top (quotable summary) and key takeaways */
.prose .tldr{margin:0 0 2em;padding:20px 24px;border-radius:20px;background:var(--bg-2);box-shadow:0 0 0 1px var(--line-2) inset;}
.prose .tldr p:first-child{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin:0 0 8px;}
.prose .tldr p+p{margin-top:.5em;color:var(--ink);}
.prose .case-box{padding:20px 24px;border-radius:20px;background:color-mix(in srgb,var(--teal-fill) 9%,var(--bg-2));box-shadow:0 0 0 1px var(--line) inset;}
.prose .case-box>p:first-child{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin:0 0 8px;}
@media (max-width:620px){.prose table{font-size:.84rem;}.prose th,.prose td{padding:8px 10px;min-width:120px;}}
