/* Kamil Stroński — site stylesheet. No build step; edit directly. */

/* Fonts: self-hosted. See fonts/README.txt for the four files this expects. */
@font-face{font-family:"Playfair Display";src:url("fonts/playfair-display-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-300italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F}
@font-face{font-family:"Jost";src:url("fonts/jost-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F}
@font-face{font-family:"Jost";src:url("fonts/jost-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F}

:root{
--paper:#fffcf7;--paper-2:#f7f3ec;--paper-3:#efeae1;
--ink:#16150f;--ink-2:#2b2a24;--ink-3:#5c5a51;--ink-4:#8b887e;
--linen:#dfdcd7;--sage:#e0e0d5;--taupe:#b6afa7;
--accent:#1b3a5c;--accent-deep:#12283d;
--surface-page:var(--paper);--surface-muted:var(--paper-2);--surface-linen:var(--linen);--surface-sage:var(--sage);
--text-display:var(--ink);--text-body:var(--ink-3);--text-meta:#706d64;--text-link:var(--ink);
--hairline:rgba(22,21,15,.16);--hairline-strong:rgba(22,21,15,.28);--focus-ring:var(--accent);
--font-display:"Playfair Display",Didot,"Times New Roman",serif;
--font-serif:"Cormorant Garamond",Georgia,serif;
--font-ui:"Jost",Futura,"Helvetica Neue",sans-serif;
--display-xl:76px;--display-lg:44px;--display-md:30px;--display-lh:1.14;
--serif-xl:56px;--serif-lg:30px;--serif-md:21px;--serif-sm:18px;
--body-lg:17px;--body-md:16px;--body-sm:14px;--body-lh:1.72;--label:13px;--label-lh:1.3;
--w-light:300;--w-regular:400;
--track-wordmark:.2em;--track-caps:.16em;--track-nav:.12em;--track-display:.01em;--track-body:.01em;
--measure:68ch;
--page-max:1360px;--gutter:56px;--section-y:96px;--band-y:112px;--nav-h:64px;
--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
--img-filter:saturate(1.02) contrast(1.03) brightness(1.03);
--ease:cubic-bezier(.22,.61,.36,1);--dur-fast:160ms;--dur-med:320ms;
--underline-offset:.18em;--underline-w:1px;--underline-w-hover:2px;
}
@media (prefers-color-scheme:dark){:root{
--paper:#141312;--paper-2:#1b1a18;--paper-3:#232120;
--ink:#f2ede4;--ink-2:#ded8cf;--ink-3:#b3aea6;--ink-4:#8e8983;
--linen:#232120;--sage:#24261f;--taupe:#3a3733;
--accent:#9db8d4;--accent-deep:#c3d4e6;
--text-meta:#9b968f;
--hairline:rgba(242,237,228,.16);--hairline-strong:rgba(242,237,228,.3);
}}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-ui);font-size:var(--body-md);font-weight:var(--w-light);line-height:var(--body-lh);letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-wrap:pretty;overflow-wrap:break-word;-webkit-tap-highlight-color:rgba(27,58,92,.16)}
img{max-width:100%}
main{overflow-x:hidden;overflow-x:clip}
h1,h2,h3{margin:0;color:var(--text-display);font-weight:var(--w-regular)}
p{margin:0 0 var(--space-4);max-width:var(--measure)}
a{color:var(--text-link);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:var(--underline-w);text-underline-offset:var(--underline-offset);transition:text-decoration-thickness var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
a:hover{color:var(--accent-deep);text-decoration-thickness:var(--underline-w-hover)}
::selection{background:var(--sage);color:var(--ink)}
*:focus{outline:2px solid var(--focus-ring);outline-offset:3px}
*:focus:not(:focus-visible){outline:none}
*:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.skip{position:fixed;left:-9999px;top:0;z-index:10;background:var(--paper);color:var(--ink);padding:var(--space-2) var(--space-4);text-decoration:none}
.skip:focus{left:var(--space-4);top:var(--space-4)}
.shell{max-width:var(--page-max);margin:0 auto;background:var(--surface-page)}

.site-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5);min-height:var(--nav-h);padding:var(--space-4) var(--gutter);background:var(--surface-page)}
.wordmark{font-family:var(--font-display);font-size:15px;letter-spacing:var(--track-wordmark);text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav{display:flex;flex-wrap:wrap;gap:var(--space-6)}
.nav a{display:inline-block;font-family:var(--font-ui);font-size:var(--label);font-weight:var(--w-regular);letter-spacing:var(--track-nav);text-transform:uppercase;line-height:1;color:var(--ink-3);text-decoration:none;padding-bottom:6px;border-bottom:1px solid transparent;transition:border-color var(--dur-med) var(--ease)}
.nav a:hover{color:var(--ink);border-bottom-color:var(--hairline-strong)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}

.band{background:var(--surface-page);padding:var(--band-y) var(--gutter)}
.band--muted{background:var(--surface-muted)}
.band--sage{background:var(--surface-sage)}
.band--flush{padding:0}
.inner{max-width:var(--page-max);margin:0 auto}

.hero{display:grid;grid-template-columns:.65fr 1.35fr;gap:var(--space-8);align-items:center}
.hero--split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:start}
.band--tall{padding-top:var(--space-9);padding-bottom:var(--space-9)}
.band--head{padding-top:var(--space-9);padding-bottom:var(--space-7)}
.band--briefs{padding-top:var(--space-8)}
.band--body{padding-top:0;padding-bottom:var(--space-10)}
.band--tail{padding-top:var(--space-9);padding-bottom:var(--space-10)}
.band--contact{padding:0 0 var(--space-9)}
.bio--flush{margin-top:0}
.service{margin:0;font-family:var(--font-serif);font-size:var(--serif-md);color:var(--ink)}
.lead{font-family:var(--font-serif);font-style:italic;font-weight:var(--w-light);font-size:var(--serif-lg);line-height:1.1;margin-bottom:var(--space-2);color:var(--text-display)}
.lead--sm{font-size:var(--serif-md)}
.display{font-family:var(--font-display);font-weight:var(--w-regular);line-height:var(--display-lh);letter-spacing:var(--track-display);text-transform:uppercase}
.display--xl{font-size:var(--display-xl)}
.display--lg{font-size:var(--display-lg)}
.display--md{font-size:var(--display-md)}
.display .nocaps{text-transform:none}
.role{margin:var(--space-5) 0 0;font-size:24px;color:var(--ink-2);line-height:1.45}
.bio{margin:var(--space-5) 0 0;font-size:20px;line-height:1.62;max-width:62ch}

.eyebrow{font-family:var(--font-ui);font-size:var(--label);font-weight:var(--w-regular);letter-spacing:var(--track-caps);text-transform:uppercase;line-height:var(--label-lh);color:var(--text-meta)}
.eyebrow--right{text-align:right;white-space:nowrap;padding-top:.35em}

.pull{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}
.pull p{margin:0;max-width:34ch;text-align:center;font-family:var(--font-serif);font-weight:var(--w-light);font-size:var(--serif-xl);line-height:1.14;color:var(--ink)}
.pull--left{align-items:flex-start}
.pull--left p{text-align:left}
.pull .kicker{display:block;font-size:var(--serif-md);color:var(--ink-3);margin-bottom:var(--space-3)}

.briefs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7);margin-top:var(--space-5)}
.brief{max-width:40ch}
.brief h3{font-family:var(--font-serif);font-style:italic;font-weight:var(--w-light);font-size:var(--serif-lg);line-height:1.15;color:var(--ink);margin:0 0 var(--space-4)}
.brief p{margin:0}

.feature{display:grid;grid-template-columns:1.1fr .9fr;align-items:center}
.feature__text{padding:var(--space-7) var(--gutter);display:flex;flex-direction:column;justify-content:center}
.feature__text p{margin:var(--space-5) 0 0;font-family:var(--font-serif);font-size:var(--serif-lg);font-weight:var(--w-light);line-height:1.26;color:var(--ink);max-width:34ch}

.section{display:grid;grid-template-columns:220px 1fr;gap:var(--space-7);align-items:start;margin-top:var(--section-y)}
.section--first{margin-top:0}
.section__label{position:sticky;top:var(--space-5)}
.section__body>p{font-size:20px;line-height:1.62}
.section__body>p:last-child{margin-bottom:0}

.meta-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline)}
.meta-list li{display:grid;grid-template-columns:1fr auto;gap:var(--space-5);align-items:baseline;padding:var(--space-4) 0;border-bottom:1px solid var(--hairline)}
.meta-list .label{font-family:var(--font-serif);font-size:var(--serif-md);font-weight:var(--w-light);color:var(--ink);line-height:1.35}

.paper{display:grid;grid-template-columns:48px 1fr;gap:var(--space-5);padding:var(--space-6) 0;border-top:1px solid var(--hairline)}
.paper h3{font-family:var(--font-serif);font-weight:var(--w-light);font-size:var(--serif-lg);line-height:1.2;color:var(--ink);max-width:34ch}
.paper .byline{margin:var(--space-3) 0 0;font-size:var(--body-sm);color:var(--text-meta);max-width:none}
.paper .byline em{font-family:var(--font-serif);font-size:var(--serif-sm)}

.figure{margin:0}
.figure__frame{position:relative;background:var(--taupe);overflow:hidden;aspect-ratio:4/5}
.figure__frame img{width:100%;height:100%;object-fit:cover;display:block;filter:var(--img-filter)}
.figure--wide .figure__frame{aspect-ratio:auto;height:300px}
.figure--sage .figure__frame{background:var(--sage)}
.figure--soft .figure__frame img{filter:saturate(.7) contrast(1.03) brightness(1.04)}

.contact{display:grid;grid-template-columns:1.5fr .5fr;align-items:center}
.contact__text{padding:var(--space-9) var(--gutter);display:flex;flex-direction:column;justify-content:center}
.contact__links{margin:var(--space-6) 0 0;display:flex;flex-direction:column;gap:var(--space-3);font-family:var(--font-serif);font-size:var(--serif-lg);font-weight:var(--w-light)}
.contact__links a{font-family:var(--font-serif)}
.contact .figure{margin-right:var(--gutter)}

.site-footer{background:var(--surface-linen);padding:var(--space-7) var(--gutter);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5)}
.site-footer .wordmark{font-size:20px}
.site-footer .rule{flex:1;min-width:40px;height:1px;background:var(--hairline-strong)}
.site-footer .meta{display:flex;align-items:baseline;gap:var(--space-3);font-family:var(--font-serif);font-size:var(--serif-md);font-weight:var(--w-light);color:var(--ink)}
.site-footer .meta a{font-family:var(--font-serif)}
.site-footer .dot{color:var(--ink-4)}

.notfound{padding:var(--space-10) var(--gutter);display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}

@media (max-width:1024px){:root{--gutter:40px;--band-y:88px;--space-9:72px;--display-xl:60px;--display-lg:38px;--serif-xl:44px}
.briefs{grid-template-columns:1fr 1fr}}

@media (max-width:820px){:root{--gutter:22px;--band-y:56px;--section-y:56px;--space-9:52px;--space-8:40px;--space-7:32px;--display-xl:42px;--display-lg:30px;--display-md:24px;--serif-xl:32px;--serif-lg:24px}
.hero,.hero--split,.briefs,.feature,.contact,.section{grid-template-columns:1fr}
.section{gap:var(--space-5)}
.section__label{position:static}
.hero{gap:var(--space-7)}
.figure__frame{max-height:62vh}
.figure--wide .figure__frame{height:240px}
.contact .figure{margin:0 var(--gutter)}
.contact__text{padding:var(--space-8) var(--gutter) var(--space-7)}
.nav{gap:var(--space-5)}
.nav a,.site-footer a{min-height:44px;display:inline-flex;align-items:center}
p,.bio{max-width:none}}

@media (orientation:landscape){.site-header,.site-footer{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}}

@media print{@page{size:A4;margin:20mm 18mm}
html{font-size:11pt}
.site-header .nav,.skip,.figure{display:none}
.band,.site-footer{padding:0;background:none}
.band+.band{margin-top:12mm}
a{text-decoration:none;color:#000}}
