@font-face {
  font-family: "Google Sans";
  src: url("../fonts/GoogleSans-VariableFont_GRAD,opsz,wght.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root { --ink:#212122; --gold:#bca47a; --paper:#f2eee6; --white:#fff; --line:rgba(33,33,34,.22); --shell:min(100% - 40px,1240px); --header:72px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--header); }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:"Google Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.55; }
body.has-open-menu { overflow:hidden; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
h1,h2,h3,p,figure { margin-top:0; }
h1,h2,h3 { line-height:.98; font-variation-settings:"opsz" 18,"GRAD" 35; }
.shell { width:var(--shell); margin-inline:auto; }
.skip-link { position:fixed; top:10px; left:10px; z-index:1000; transform:translateY(-160%); padding:12px 16px; background:var(--white); color:var(--ink); }
.skip-link:focus { transform:none; }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }

.site-header { position:absolute; inset:0 0 auto; z-index:100; color:var(--white); }
.site-header__inner { height:var(--header); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.3); }
.brand { display:flex; min-width:96px; min-height:44px; align-items:center; padding-block:7px; }
.brand img { width:auto; height:30px; filter:brightness(0) invert(1); }
.primary-navigation { display:flex; align-items:center; gap:clamp(18px,2.2vw,36px); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.primary-navigation a { padding:10px 0; border-bottom:1px solid transparent; text-decoration:none; }
.primary-navigation a:hover,.primary-navigation a:focus-visible { border-color:var(--gold); }
.primary-navigation .zone-link { padding:9px 12px; border:1px solid rgba(188,164,122,.7); }
.primary-navigation .zone-link:hover,.primary-navigation .zone-link:focus-visible { background:var(--gold); border-color:var(--gold); color:var(--ink); }
.menu-toggle { display:none; }

.hero { position:relative; min-height:min(720px,86vh); overflow:hidden; background:var(--ink); color:var(--white); }
.hero__media { position:absolute; inset:0; }
.hero__media::after { content:""; position:absolute; inset:0; background:rgba(12,12,13,.6); }
.hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero__inner { position:relative; min-height:min(720px,86vh); display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.3fr); align-items:end; gap:40px; padding-top:calc(var(--header) + clamp(60px,9vh,100px)); padding-bottom:58px; }
.eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:0; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow>span { width:7px; height:7px; background:var(--gold); }
.hero h1 { margin:14px 0 12px; font-size:clamp(68px,11vw,154px); font-weight:700; letter-spacing:-.075em; }
.hero__statement { max-width:690px; margin-bottom:36px; font-size:clamp(22px,2.8vw,39px); line-height:1.14; letter-spacing:-.035em; }
.hero__aside { align-self:end; margin:0 0 5px; padding:13px 0 13px 20px; border-left:1px solid var(--gold); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.text-link { display:inline-flex; align-items:center; gap:20px; padding-bottom:8px; border-bottom:1px solid; font-size:12px; font-weight:700; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; }
.text-link span { color:var(--gold); }

.section { position:relative; padding-block:clamp(92px,12vw,164px); }
.section-index { display:flex; align-items:center; gap:14px; margin:0; color:#766a55; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; }
.section-index::before { content:""; width:7px; height:7px; flex:0 0 auto; background:var(--gold); }
.section-index::after { content:""; width:clamp(28px,5vw,74px); height:1px; margin-left:4px; background:var(--gold); opacity:.8; }
.section-index__number { font-size:24px; line-height:1; letter-spacing:-.04em; }
.section h2 { font-size:clamp(46px,6.7vw,90px); font-weight:620; letter-spacing:-.06em; }

.vision::after { content:""; position:absolute; top:20%; right:-56px; width:130px; height:268px; background:url("../images/jeden-symbol.png") center/contain no-repeat; opacity:.035; pointer-events:none; }
.section-heading { display:grid; grid-template-columns:1fr 2fr; align-items:start; gap:40px; }
.vision__lead { width:min(82%,850px); margin:clamp(76px,9vw,130px) 4% clamp(68px,8vw,110px) auto; padding-left:clamp(24px,4vw,58px); border-left:1px solid var(--gold); font-size:clamp(29px,4vw,57px); line-height:1.1; letter-spacing:-.045em; }
.pillars { position:relative; list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.pillars::before { content:""; position:absolute; top:0; bottom:0; left:46px; width:1px; background:rgba(188,164,122,.55); }
.pillars li { position:relative; display:grid; grid-template-columns:90px minmax(0,1fr); gap:30px; padding:35px 0; border-bottom:1px solid var(--line); }
.pillars li::before { content:""; position:absolute; top:46px; left:43px; width:7px; height:7px; background:var(--gold); }
.pillars li>div { display:grid; grid-template-columns:minmax(200px,.7fr) minmax(260px,1fr); gap:40px; }
.pillar__number { padding-left:7px; color:#766a55; font-size:15px; font-weight:700; }
.pillars h3 { margin:0; font-size:clamp(28px,3.1vw,46px); font-weight:650; letter-spacing:-.04em; text-transform:uppercase; }
.pillars p { max-width:620px; margin:0; font-size:clamp(17px,1.6vw,22px); }

.life { background:var(--ink); color:var(--white); }
.life::after { content:""; position:absolute; top:0; right:8%; width:1px; height:100%; background:rgba(188,164,122,.18); pointer-events:none; }
.life .section-index,.service .section-index { color:var(--gold); }
.life__layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr); gap:clamp(60px,9vw,140px); }
.life h2 { max-width:760px; margin-top:35px; }
.life__image { width:112%; margin:clamp(50px,7vw,92px) 0 0; aspect-ratio:16/10; overflow:hidden; border-bottom:8px solid var(--gold); }
.life__image img { width:100%; height:100%; object-fit:cover; }
.life-list { list-style:none; margin:86px 0 0; padding:0; border-top:1px solid rgba(255,255,255,.25); }
.life-list li { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.25); }
.life-list li>span { color:var(--gold); font-size:13px; font-weight:700; }
.life-list h3 { margin:0 0 8px; font-size:clamp(20px,2vw,28px); font-weight:650; text-transform:uppercase; }
.life-list p { margin:0; color:rgba(255,255,255,.72); }

.service { overflow:hidden; background:#2a2928; color:var(--white); }
.service::before { content:""; position:absolute; left:0; bottom:0; width:42%; height:10px; background:var(--gold); }
.service__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); align-items:center; gap:clamp(54px,8vw,120px); }
.service__content { position:relative; z-index:1; }
.service h2 { max-width:700px; margin:52px 0 20px; }
.service__vision { max-width:620px; margin-bottom:48px; color:var(--gold); font-size:clamp(26px,3.2vw,46px); font-weight:600; line-height:1.12; letter-spacing:-.035em; }
.service__body { max-width:610px; margin-bottom:52px; font-size:clamp(17px,1.55vw,21px); }
.service__note { display:inline-block; margin:0; padding:14px 18px 12px 0; border-top:1px solid var(--gold); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.service__image { position:relative; margin:0; aspect-ratio:4/5; }
.service__image::before { content:""; position:absolute; z-index:-1; inset:-28px -50vw 28px 38%; background:var(--gold); opacity:.18; }
.service__image::after { content:""; position:absolute; right:-28px; bottom:-28px; width:92px; height:192px; background:url("../images/jeden-symbol.png") center/contain no-repeat; filter:brightness(0) invert(1); opacity:.11; }
.service__image img { width:100%; height:100%; object-fit:cover; object-position:61% center; }

.journal { background:var(--paper); }
.journal__heading { margin-bottom:clamp(60px,8vw,105px); }
.journal-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,58px); border-top:1px solid var(--line); }
.journal-entry { display:flex; min-width:0; flex-direction:column; padding-top:26px; }
.journal-entry__image { display:block; margin-bottom:28px; aspect-ratio:4/3; overflow:hidden; background:var(--ink); }
.journal-entry__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.journal-entry__image:hover img { transform:scale(1.02); }
.journal-entry__date,.archive-entry time,.single-article time { display:block; margin-bottom:15px; color:#766a55; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.journal-entry h3 { margin:0 0 18px; font-size:clamp(25px,2.4vw,34px); line-height:1.06; letter-spacing:-.04em; }
.journal-entry h3 a,.archive-entry h2 a { text-decoration:none; }
.journal-entry>p { margin-bottom:25px; }
.journal-entry__link,.journal__all { display:inline-flex; width:max-content; align-items:center; gap:14px; padding-bottom:6px; border-bottom:1px solid var(--gold); font-size:12px; font-weight:700; letter-spacing:.09em; text-decoration:none; text-transform:uppercase; }
.journal-entry__link { margin-top:auto; }
.journal-entry__link span,.journal__all span { color:var(--gold); }
.journal__all { margin-top:58px; }
.journal__empty { padding-block:35px; border-block:1px solid var(--line); }

.blog-hero,.single-article__header { padding:calc(var(--header) + clamp(70px,10vw,130px)) 0 clamp(70px,9vw,115px); background:var(--ink); color:var(--white); }
.blog-hero .section-index { color:var(--gold); }
.blog-hero h1 { max-width:1000px; margin:42px 0 0; font-size:clamp(58px,9vw,124px); letter-spacing:-.07em; }
.blog-archive { background:var(--paper); }
.archive-list { border-top:1px solid var(--line); }
.archive-entry { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1fr); gap:clamp(35px,7vw,100px); padding:44px 0; border-bottom:1px solid var(--line); }
.archive-entry--text { grid-template-columns:minmax(0,760px); }
.archive-entry__image { aspect-ratio:16/10; overflow:hidden; }
.archive-entry__image img { width:100%; height:100%; object-fit:cover; }
.archive-entry__body { align-self:center; }
.archive-entry h2 { max-width:760px; margin:0 0 18px; font-size:clamp(32px,4.5vw,58px); letter-spacing:-.05em; }
.archive-entry__body>p { max-width:700px; margin-bottom:25px; font-size:17px; }
.archive-pagination { margin-top:55px; }
.archive-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.archive-pagination .page-numbers { display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; padding:8px; border:1px solid var(--line); text-decoration:none; }
.archive-pagination .current { background:var(--ink); color:var(--white); }

.single-article__header-inner { width:min(100% - 40px,920px); }
.single-article__back { display:inline-block; margin-bottom:55px; color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.08em; text-underline-offset:6px; text-transform:uppercase; }
.single-article__header h1 { max-width:920px; margin:0; font-size:clamp(48px,7.6vw,100px); letter-spacing:-.065em; }
.single-article__featured { width:min(100% - 40px,1120px); margin-top:clamp(45px,7vw,90px); }
.single-article__featured img { width:100%; max-height:720px; object-fit:cover; }
.article-content { width:min(100% - 40px,780px); padding-block:clamp(65px,9vw,120px); font-size:clamp(17px,1.55vw,20px); line-height:1.75; }
.article-content h2,.article-content h3,.article-content h4 { margin:2em 0 .75em; line-height:1.12; letter-spacing:-.035em; }
.article-content h2 { font-size:clamp(32px,4vw,48px); }
.article-content h3 { font-size:clamp(25px,3vw,34px); }
.article-content p,.article-content ul,.article-content ol { margin-bottom:1.45em; }
.article-content ul,.article-content ol { padding-left:1.4em; }
.article-content li+li { margin-top:.45em; }
.article-content a { color:#705d3d; text-decoration-thickness:1px; text-underline-offset:4px; }
.article-content img { height:auto; margin-block:2em; }
.article-content figure { max-width:100%; margin:2.4em 0; }
.article-content figcaption { margin-top:10px; color:#766a55; font-size:13px; }
.article-content blockquote { margin:2em 0; padding:8px 0 8px 28px; border-left:2px solid var(--gold); font-size:1.2em; }
.single-article__footer { width:min(100% - 40px,780px); padding:0 0 clamp(70px,9vw,120px); }
.single-article__footer a { font-size:12px; font-weight:700; letter-spacing:.08em; text-underline-offset:6px; text-transform:uppercase; }

.invitation { overflow:hidden; background:var(--gold); }
.invitation__grid { position:relative; display:grid; grid-template-columns:.55fr 1.45fr; gap:40px; }
.invitation .section-index { color:var(--ink); }
.invitation .section-index::before,.invitation .section-index::after { background:var(--ink); }
.invitation h2 { max-width:850px; margin-bottom:40px; }
.invitation h2+p { max-width:650px; margin:0; padding-left:28px; border-left:1px solid var(--ink); font-size:clamp(20px,2.35vw,30px); }
.invitation__word { position:absolute; right:-.06em; bottom:-.68em; margin:0; font-size:clamp(160px,30vw,440px); font-weight:700; letter-spacing:-.1em; line-height:1; opacity:.055; pointer-events:none; }

.site-footer { padding:66px 0 44px; background:var(--ink); color:var(--white); }
.site-footer__inner { display:grid; grid-template-columns:1fr 1fr; gap:46px 70px; align-items:start; border-top:1px solid rgba(188,164,122,.48); padding-top:38px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.site-footer__brand { display:flex; width:max-content; min-height:52px; align-items:center; padding:6px 0; }
.site-footer__brand img { width:auto; height:42px; filter:brightness(0) invert(1); }
.site-footer__name { align-self:center; margin:0; text-align:right; }
.site-footer__nav { display:flex; flex-wrap:wrap; gap:16px 28px; }
.site-footer a { text-underline-offset:5px; }
.site-footer__meta { display:flex; justify-content:flex-end; gap:28px; }
.site-footer__meta p { margin:0; }
.content-page { min-height:70vh; padding-block:150px; }
.content-page h1 { font-size:clamp(44px,7vw,90px); }

@media (max-width:900px) {
  :root { --header:66px; --shell:min(100% - 32px,1240px); }
  .brand img { height:28px; }
  .menu-toggle { z-index:2; display:flex; align-items:center; gap:12px; padding:12px 0; border:0; background:transparent; color:inherit; font:700 11px "Google Sans",system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
  .menu-toggle__lines { display:grid; gap:5px; width:24px; }
  .menu-toggle__lines span { display:block; height:1px; background:currentColor; transition:transform .2s ease; }
  .menu-is-open .menu-toggle__lines span:first-child { transform:translateY(3px) rotate(45deg); }
  .menu-is-open .menu-toggle__lines span:last-child { transform:translateY(-3px) rotate(-45deg); }
  .primary-navigation { position:fixed; inset:0; display:none; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; padding:100px 32px; background:var(--ink); font-size:clamp(24px,7vw,38px); }
  .menu-is-open .primary-navigation { display:flex; }
  .primary-navigation .zone-link { margin-top:25px; padding:10px 14px; }
  .hero__inner { min-height:min(680px,86vh); grid-template-columns:1fr; padding-bottom:44px; }
  .hero__aside { display:none; }
  .section-heading { grid-template-columns:1fr; gap:30px; }
  .vision__lead { width:92%; }
  .pillars li>div { grid-template-columns:1fr; gap:12px; }
  .life__layout { grid-template-columns:1fr; }
  .life__image { width:100%; }
  .life-list { margin-top:0; }
  .service__grid { grid-template-columns:1fr; }
  .service__image { width:min(100%,680px); aspect-ratio:16/10; margin-left:auto; }
  .journal-list { grid-template-columns:1fr; gap:0; }
  .journal-entry { padding:34px 0; border-bottom:1px solid var(--line); }
  .journal-entry__image { max-width:680px; }
  .archive-entry { grid-template-columns:1fr; gap:28px; }
  .archive-entry__image { max-width:680px; }
  .invitation__grid { grid-template-columns:1fr; }
  .invitation__grid>div { max-width:800px; }
}

@media (max-width:600px) {
  :root { --header:62px; }
  .brand img { height:27px; }
  .hero,.hero__inner { min-height:630px; }
  .hero__inner { align-items:center; padding-top:126px; }
  .hero h1 { font-size:clamp(62px,23vw,96px); letter-spacing:-.07em; }
  .hero__statement { font-size:24px; }
  .section { padding-block:82px; }
  .section-index { gap:9px; white-space:normal; }
  .section-index__number { font-size:21px; }
  .section-index::after { display:none; }
  .section h2 { font-size:clamp(41px,13vw,62px); overflow-wrap:normal; word-break:normal; }
  .vision::after,.life::after { display:none; }
  .vision__lead { width:100%; margin:62px 0; padding-left:20px; font-size:30px; }
  .pillars::before { left:19px; }
  .pillars li { grid-template-columns:40px 1fr; gap:14px; padding:26px 0; }
  .pillars li::before { top:36px; left:16px; }
  .pillar__number { padding:0; font-size:12px; }
  .pillars h3 { font-size:25px; }
  .pillars p { font-size:16px; }
  .life__image { aspect-ratio:4/3; }
  .life-list li { grid-template-columns:36px 1fr; }
  .service__vision { margin-bottom:34px; }
  .service__body { margin-bottom:38px; }
  .service__image { aspect-ratio:4/3; }
  .service__image::after { right:-12px; bottom:-16px; width:58px; height:120px; }
  .journal__heading { margin-bottom:48px; }
  .journal__all { margin-top:42px; }
  .blog-hero h1 { margin-top:34px; }
  .single-article__back { margin-bottom:40px; }
  .invitation h2+p { padding-left:20px; }
  .site-footer__inner { grid-template-columns:1fr; gap:30px; }
  .site-footer__brand img { height:38px; }
  .site-footer__name { text-align:left; }
  .site-footer__nav { flex-direction:column; align-items:flex-start; }
  .site-footer__meta { justify-content:space-between; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
