/* v3: Apple-like polish. Loaded after style.css and overrides it. */

/* ---- Inter Tight (grotesk headline option) ---- */
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-tight-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-tight-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-tight-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-tight-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-tight-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-tight-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---- accent presets (switchable in Tweaks) ---- */
html[data-accent="blue"]  {--teal:#2997FF;--teal-fill:#0071E3;--on-teal:#FFFFFF;--deep:#0A1626;--accent-ink:#0066CC;}
html[data-accent="mono"]  {--teal:#F5F5F7;--teal-fill:#F5F5F7;--on-teal:#111113;--deep:#1B1B1D;--accent-ink:#1D1D1F;}
html[data-accent="gold"]  {--teal:#F2C879;--teal-fill:#F2C879;--on-teal:#1A1405;--deep:#1D180C;--accent-ink:#8A6410;}
html[data-accent="violet"]{--teal:#A9A0FF;--teal-fill:#6E5BEA;--on-teal:#FFFFFF;--deep:#14112B;--accent-ink:#5B48D6;}
html[data-accent="coral"] {--teal:#FF8F73;--teal-fill:#FF6B4A;--on-teal:#1F0B06;--deep:#2A130E;--accent-ink:#C2410C;}
html[data-accent="teal"]  {--teal:#4CC6CC;--teal-fill:#1F9CA3;--on-teal:#0C1212;--deep:#0C2A2C;--accent-ink:#0E7A81;}
html[data-accent="forest"]  {--teal:#6FCF9F;--teal-fill:#1F6B4A;--on-teal:#FFFFFF;--deep:#0B1F17;--accent-ink:#1A6B47;}
html[data-accent="sage"]    {--teal:#B5CDB0;--teal-fill:#4F7156;--on-teal:#FFFFFF;--deep:#121C16;--accent-ink:#3F6148;}
html[data-accent="atrament"]{--teal:#8FB3D9;--teal-fill:#2F5D8C;--on-teal:#FFFFFF;--deep:#0F1A26;--accent-ink:#2F5D8C;}
html[data-accent="bordo"]   {--teal:#E8A0B3;--teal-fill:#8E2A45;--on-teal:#FFFFFF;--deep:#240D14;--accent-ink:#8E2A45;}
html[data-accent="miedz"]   {--teal:#E7AE86;--teal-fill:#9C4F1F;--on-teal:#FFFFFF;--deep:#241510;--accent-ink:#9C4F1F;}
/* default = ciemna zieleń leśna (wybór właściciela) */
:root:not([data-accent]){--teal:#6FCF9F;--teal-fill:#1F6B4A;--on-teal:#FFFFFF;--deep:#0B1F17;--accent-ink:#1A6B47;}

/* ---- grotesk headlines (default); data-font="brand" brings back Bodoni ---- */
:root:not([data-font]),html[data-font="sf"]{--display:'Inter Tight','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;}
html:not([data-font="brand"]) h1,html:not([data-font="brand"]) h2,html:not([data-font="brand"]) h3{font-weight:600;letter-spacing:-.035em;}
html:not([data-font="brand"]) h1{letter-spacing:-.045em;line-height:1.02;}
html:not([data-font="brand"]) em{font-style:normal;}
html:not([data-font="brand"]) .kin-row{font-weight:600;letter-spacing:-.05em;}
html:not([data-font="brand"]) .kin-row.alt{font-style:normal;}
html:not([data-font="brand"]) .quote blockquote{font-style:normal;font-weight:600;letter-spacing:-.03em;}
html:not([data-font="brand"]) .pilot-num{font-weight:700;letter-spacing:-.07em;}
html:not([data-font="brand"]) .faq summary{font-weight:600;letter-spacing:-.02em;}
.brand-mark{font-family:'Bodoni Moda','Didot',Georgia,serif;}

/* ---- mixed mode: alternate dark and light sections like an Apple product page ---- */
:root:not([data-mode]) .lt,html[data-mode="mixed"] .lt{
  --bg:#F5F5F7;--bg-2:#FFFFFF;--bg-3:#E8E8ED;--ink:#1D1D1F;--soft:#515154;--faint:#6E6E73;
  --line:rgba(0,0,0,.1);--line-2:rgba(0,0,0,.22);--teal:var(--accent-ink);
  background:#F5F5F7;color:#1D1D1F;color-scheme:light;
}
:root:not([data-mode]) .lt .cs-logo img,html[data-mode="mixed"] .lt .cs-logo img{filter:brightness(0);opacity:.75;}
:root:not([data-mode]) .lt .portrait figcaption,html[data-mode="mixed"] .lt .portrait figcaption{color:#EDE8DF;}
:root:not([data-mode]) .lt .portrait figcaption span,html[data-mode="mixed"] .lt .portrait figcaption span{color:#C9C9CE;}
:root:not([data-mode]) .lt .tool,html[data-mode="mixed"] .lt .tool,
:root:not([data-mode]) .lt .cs,html[data-mode="mixed"] .lt .cs{box-shadow:0 0 0 1px var(--line) inset,0 24px 60px -36px rgba(0,0,0,.28);}
:root:not([data-mode]) .lt .tool-vis,html[data-mode="mixed"] .lt .tool-vis{background:#F5F5F7;}
.tick{color:var(--on-teal);}
.ring .ring-bg{stroke:var(--line-2);}
.ring .ring-p,.ring .ring-ck{stroke:var(--teal);}

/* ---- nav: compact frosted bar ---- */
.nav-in{height:60px;}
.nav.scrolled{background:rgba(22,22,22,.66);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);}
.nav-links .btn{min-height:36px;padding:0 18px;font-size:.88rem;}
.nav-links a:not(.btn){font-size:.86rem;padding:10px 12px;}

/* ---- hero: centered, one big statement, one big object ---- */
.hero{min-height:0;padding:clamp(112px,16vh,168px) 0 clamp(64px,9vw,120px);display:block;text-align:center;}
.hero-bg::before{background:radial-gradient(1100px 620px at 50% 78%,color-mix(in srgb,var(--teal-fill) 22%,transparent),transparent 65%);}
.hero-center{display:flex;flex-direction:column;align-items:center;}
.hero h1{font-size:clamp(3.4rem,9.6vw,8.6rem);margin:0 0 28px;max-width:11ch;}
.hero .lead{max-width:44ch;margin:0 auto 36px;font-size:clamp(1.1rem,1.6vw,1.4rem);}
.hero-cta{justify-content:center;}
.btn{min-height:50px;}
.stage-card{margin:clamp(48px,7vw,88px) 0 0;width:100%;max-width:1120px;border-radius:34px;padding:10px;text-align:left;
  background:linear-gradient(180deg,#232426,#18191a);
  box-shadow:0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.1),0 60px 120px -50px rgba(0,0,0,.9);}
.flow-wrap{position:relative;border-radius:26px;overflow:hidden;background:#101112;aspect-ratio:2.5/1;min-height:250px;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;}
.flow-wrap canvas{display:block;width:100%;height:100%;}
.flow-cap{position:absolute;bottom:18px;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#8F928D;}
.flow-cap.l{left:24px;}
.flow-cap.r{right:24px;}
.demo-tag{position:absolute;top:16px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#8F928D;padding:5px 10px;border-radius:999px;box-shadow:0 0 0 1px rgba(255,255,255,.12) inset;white-space:nowrap;}
.specs{display:grid;grid-template-columns:repeat(4,1fr);margin-top:6px;}
.spec{padding:26px 26px 24px;position:relative;}
.spec+.spec::before{content:"";position:absolute;left:0;top:26px;bottom:24px;width:1px;background:var(--line);}
.spec p{margin:0 0 12px;font-size:.92rem;color:var(--soft);line-height:1.35;}
.spec .row-vals{flex-wrap:wrap;gap:6px 12px;}
.spec .after{font-size:1.35rem;}
.spec.total strong{display:block;font-family:var(--display);font-weight:600;font-size:clamp(2.2rem,3.6vw,3.1rem);line-height:1;letter-spacing:-.04em;color:var(--teal);white-space:nowrap;}
.spec.total small{font-family:var(--sans);font-size:.95rem;letter-spacing:0;color:var(--soft);font-weight:400;}
.spec .ledger-note{display:block;margin:12px 0 0;font-size:.72rem;color:var(--faint);}

/* ---- manifesto: words light up with the scroll ---- */
.mani-sec{padding:clamp(88px,14vw,200px) 0;}
.mani{margin:0 auto;max-width:22ch;font-family:var(--display);font-weight:600;font-size:clamp(2rem,5.2vw,4.6rem);line-height:1.1;letter-spacing:-.04em;text-wrap:balance;text-align:center;}

/* ---- surfaces: larger radii ---- */
.tool,.cs,.stage-box{border-radius:30px;}
.tool-vis{border-radius:20px;}
.portrait,.strip figure{border-radius:28px;}
.note{border-radius:20px;}
.f input,.f textarea{border-radius:14px;}
.sec{padding:clamp(96px,13vw,180px) 0;}
h2{font-size:clamp(2.4rem,5.4vw,4.6rem);}
.sec-head h2{max-width:15ch;}

/* ---- blur-in reveal ---- */
.js [data-r]{filter:blur(6px);}
.js.no-motion [data-r]{filter:none;}

/* ---- Tweaks panel (design review tool; remove before launch) ---- */
.tw-btn{position:fixed;right:18px;bottom:18px;z-index:95;height:42px;padding:0 18px;border:0;border-radius:999px;background:rgba(40,40,44,.78);color:#F5F5F7;font:600 .82rem var(--sans);cursor:pointer;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 10px 30px -10px rgba(0,0,0,.6);}
.tw-panel{position:fixed;right:18px;bottom:70px;z-index:95;width:min(320px,calc(100vw - 36px));padding:18px;border-radius:22px;background:rgba(34,34,38,.86);color:#F5F5F7;backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 30px 70px -20px rgba(0,0,0,.7);display:none;}
.tw-panel.open{display:block;}
.tw-panel h4{margin:0 0 10px;font:600 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#A1A1A6;}
.tw-group{margin-bottom:16px;}
.tw-sw{display:flex;gap:10px;flex-wrap:wrap;}
.tw-sw button{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.2) inset;}
.tw-sw button[aria-pressed=true]{box-shadow:0 0 0 2px #F5F5F7;}
.tw-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;border-radius:12px;background:rgba(255,255,255,.08);}
.tw-seg button{border:0;border-radius:9px;padding:9px 6px;background:transparent;color:#D1D1D6;font:500 .8rem var(--sans);cursor:pointer;}
.tw-seg button[aria-pressed=true]{background:#F5F5F7;color:#1D1D1F;}
.tw-note{margin:0;font-size:.72rem;color:#8E8E93;line-height:1.4;}
.tw-name{font-size:.78rem;color:#D1D1D6;margin-top:8px;}

@media (max-width:960px){
  .hero{padding-top:104px;}
  .specs{grid-template-columns:1fr 1fr;}
  .spec+.spec::before{display:none;}
  .spec{border-top:1px solid var(--line);}
  .flow-wrap{aspect-ratio:1.5/1;}
  .nav-links{inset:60px 0 auto 0;}
}
@media (max-width:560px){
  .specs{grid-template-columns:1fr;}
  .flow-cap{display:none;}
  .tw-btn{bottom:12px;right:12px;}
}

/* the wide gallery track must never widen the page */
.show{overflow-x:clip;}
html{overflow-x:clip;}
@media (max-width:560px){.demo-tag{display:none;}}

/* ---- pricing ---- */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.pc{border-radius:30px;background:var(--bg-2);padding:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:14px;
  box-shadow:0 0 0 1px var(--line) inset,inset 0 1px 0 rgba(255,255,255,.06);transition:transform .5s var(--ease),box-shadow .4s;}
.pc h3{font-size:1.35rem;}
.pc-price{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(2rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.04em;}
.pc-price span{font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:0;color:var(--soft);margin-right:2px;}
.pc-price small{display:block;margin-top:6px;font-family:var(--mono);font-weight:400;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.pc p:last-child{color:var(--soft);font-size:.96rem;margin-top:auto;padding-top:6px;}
.price-foot{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:clamp(28px,4vw,48px);padding:26px 30px;border-radius:24px;background:var(--bg-2);box-shadow:0 0 0 1px var(--line) inset;}
.price-foot p{margin:0;max-width:62ch;color:var(--soft);}
.price-foot b{color:var(--ink);font-weight:600;}
@media (hover:hover){.pc:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line-2) inset,0 30px 60px -40px #000;}}
@media (max-width:1100px){.price-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.price-grid{grid-template-columns:1fr;}.price-foot{padding:22px;}}

/* ---- hero: label that the numbers are an illustration ---- */
.spec-head{grid-column:1/-1;margin:0;padding:18px 26px 0;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#A9ABA6;}

/* ---- contact person ---- */
.cl-who{margin:0 0 10px;font-size:1rem;color:var(--soft);}

/* ---- hero: where hours go (no numbers) ---- */
.spec-head{color:#C9C9CE;font-size:.72rem;}
.spec .spec-t{margin:0 0 8px;font-family:var(--display);font-weight:600;font-size:1.18rem;line-height:1.2;letter-spacing:-.02em;color:var(--ink);}
.spec .spec-d{margin:0;font-size:.92rem;line-height:1.5;color:var(--soft);}

/* the hero sentence is prose, not a label: no uppercase */
.spec-head{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:1rem;color:var(--soft);}
