:root { --paper:#f4f2ed; --ink:#141414; --muted:#76736e; --line:#d2d0ca; --serif:"Playfair Display", Georgia, serif; --sans:Manrope, Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button, input, textarea, select { font:inherit; }
.site-nav { position:relative; height:91px; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; z-index:2; }
.site-nav--light { position:absolute; top:0; left:0; width:100%; color:#fff; }
.wordmark { font-size:13px; font-weight:600; letter-spacing:.08em; }
.site-nav nav { display:flex; gap:34px; text-transform:uppercase; font-size:12px; letter-spacing:.06em; }
.site-nav nav a:hover, .site-nav nav a:focus-visible { opacity:.62; }
.menu-toggle { display:none; color:inherit; border:0; background:none; text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
.hero { min-height:100svh; height:100vh; position:relative; color:#fff; background:#111 url('/assets/hero-source.png') center center / cover no-repeat; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.05) 62%,rgba(0,0,0,.02)); pointer-events:none; }
.hero__copy { position:absolute; left:4vw; top:43%; z-index:1; }
.hero__copy h1 { font:400 clamp(42px,4.1vw,69px)/1.03 var(--serif); margin:0 0 21px; letter-spacing:-.035em; }
.hero__copy p { font-size:18px; line-height:1.42; margin:0; white-space:pre-line; }
.hero__down { position:absolute; bottom:25px; left:50%; z-index:1; font-size:31px; line-height:1; font-weight:200; transform:translateX(-50%); }
.section { padding:110px 4vw; }
.section__head { display:flex; align-items:baseline; gap:21px; margin-bottom:45px; }
.eyebrow { color:var(--muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
.section h2, .page h1 { font:400 clamp(45px,5vw,73px)/.98 var(--serif); margin:0; letter-spacing:-.05em; }
.thoughts { background:#eeece7; }
.thought-list { width:min(760px, 100%); margin-inline:auto; border-top:1px solid var(--line); }
.thought { display:grid; grid-template-columns:23% 1fr; gap:25px; padding:27px 0 31px; border-bottom:1px solid var(--line); }
.thought time { align-self:end; color:#8a8782; font-size:13px; }
.thought p { max-width:820px; margin:0; color:var(--ink); font:400 18px/1.42 var(--sans); }
.text-link { margin-top:36px; display:inline-flex; gap:16px; font-size:14px; border-bottom:1px solid transparent; }
.text-link:hover { border-color:currentColor; }
.text-link span { font-size:19px; line-height:17px; }
.blog-preview { background:#f9f8f5; }
.article-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.article-card__image { height:325px; display:block; background:#191919; overflow:hidden; }
.article-card__image img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); transition:transform .35s ease; }
.article-card:hover img { transform:scale(1.025); }
.article-card__category { margin:16px 0 5px; color:#77736e; font-size:12px; }
.article-card h3, .article-card h2 { margin:0; font:400 clamp(22px,2vw,31px)/1.13 var(--serif); letter-spacing:-.035em; }
.article-card p { max-width:330px; color:#5d5a56; margin:12px 0 15px; font-size:13px; line-height:1.55; }
.arrow-link { font-size:23px; line-height:1; }
.footer { padding:43px 4vw 26px; display:grid; grid-template-columns:35% 1fr; gap:20px; background:#171717; color:#f2f0eb; }
.footer__intro { max-width:240px; font-size:14px; line-height:1.45; }
.footer__links { display:flex; gap:54px; font-size:14px; }
.footer__arrow { width:12px; height:12px; margin-left:5px; vertical-align:-1px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.25; }
.footer__links sup { margin-left:1px; font-size:10px; line-height:0; }
.footer__note { grid-column:2; max-width:520px; margin-top:4px; color:#9c9994; font-size:10px; line-height:1.45; }
.footer__copyright { grid-column:1/-1; margin-top:27px; padding-top:20px; border-top:1px solid #3c3c3c; color:#b9b7b2; font-size:12px; }
.page { min-height:65vh; padding:65px 12vw 125px; }
.page__intro { max-width:720px; margin:45px 0 75px; }
.page__intro .eyebrow { display:block; margin-bottom:17px; }
.page__intro p { margin:24px 0 0; color:#66625d; max-width:570px; font-size:16px; }
.thought-list--archive .thought { grid-template-columns:22% 1fr; padding:36px 0 42px; }
.filters { display:flex; flex-wrap:wrap; gap:9px 24px; margin:-31px 0 48px; padding-bottom:17px; border-bottom:1px solid var(--line); }
.filters a { color:#77736e; font-size:13px; }
.filters a.is-active { color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
.article-grid--archive { grid-template-columns:repeat(2, 1fr); gap:55px 24px; }
.article-grid--archive .article-card__image { height:330px; }
.article-page { max-width:1000px; margin:0 auto; padding:54px 4vw 130px; }
.back-link { display:inline-block; margin:17px 0 75px; color:#6d6963; font-size:13px; }
.article-page__header { max-width:850px; }
.article-page__header div { display:flex; gap:24px; align-items:center; }
.article-page__header time { color:var(--muted); font-size:12px; }
.article-page h1 { max-width:900px; margin:21px 0 20px; font:400 clamp(45px,5.7vw,82px)/1.01 var(--serif); letter-spacing:-.05em; }
.article-page__header > p { max-width:650px; color:#5d5953; font-size:17px; line-height:1.6; }
.article-page__cover { width:100%; height:min(53vw,570px); margin:58px 0 67px; object-fit:cover; filter:grayscale(1); }
.article-page__content { max-width:650px; margin:auto; font:400 21px/1.6 var(--serif); }
.article-page__content p { margin-bottom:26px; }
.empty { color:var(--muted); font-size:15px; }
.not-found { min-height:60vh; padding:13vh 12vw; }.not-found h1 { max-width:600px; margin:17px 0; font:400 clamp(44px,6vw,80px)/1 var(--serif); letter-spacing:-.05em; }.not-found p { color:var(--muted); }

/* Administration */
.login-page { min-height:100vh; padding:42px 5vw; background:#202020; color:#f5f3ee; }.login-page .wordmark { display:inline-block; }.login-form { max-width:390px; margin:15vh auto; }.login-form .eyebrow { color:#aaa7a2; }.login-form h1 { margin:12px 0 31px; font:400 43px/1 var(--serif); letter-spacing:-.04em; }
.login-form label, .admin-editor label { display:block; margin:0 0 18px; font-size:13px; }.login-form input, .admin-editor input, .admin-editor textarea, .admin-editor select { display:block; width:100%; margin-top:7px; padding:12px 0; border:0; border-bottom:1px solid #bcb9b3; border-radius:0; outline:0; color:inherit; background:transparent; }.login-form input { color:#fff; border-color:#6e6d69; }.login-form input:focus, .admin-editor input:focus, .admin-editor textarea:focus, .admin-editor select:focus { border-color:var(--ink); }.login-form input:focus { border-color:#fff; }
.button { display:inline-block; border:1px solid currentColor; border-radius:0; padding:12px 20px; background:transparent; color:inherit; cursor:pointer; font-size:13px; }.button--dark { background:#191919; color:#fff; border-color:#191919; }.button--outline { margin-left:8px; }.login-form .button { margin-top:6px; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:235px 1fr; background:#f6f4ef; }.admin-sidebar { min-height:100vh; padding:36px 24px 28px; display:flex; flex-direction:column; background:#1c1c1c; color:#f7f5ef; }.admin-sidebar__label { margin:58px 0 13px; color:#96938e; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }.admin-sidebar nav { display:grid; gap:3px; }.admin-sidebar nav a { padding:8px 0; color:#b8b6b0; font-size:14px; }.admin-sidebar nav a.is-active { color:#fff; }.admin-sidebar__bottom { margin-top:auto; display:grid; gap:15px; color:#aaa7a1; font-size:12px; }.admin-sidebar__bottom button { padding:0; border:0; color:inherit; background:none; cursor:pointer; font:inherit; }
.admin-main { width:min(1060px, 100%); padding:49px 55px 90px; }.admin-header { display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:34px; border-bottom:1px solid var(--line); }.admin-header h1 { margin:7px 0 0; font:400 42px/1 var(--serif); letter-spacing:-.04em; }.admin-user { color:var(--muted); font-size:12px; }.notice { margin:26px 0 0; padding:12px 15px; background:#e2e8dd; color:#455342; font-size:13px; }.notice--error { background:#f1dddd; color:#7d3434; }.dashboard-cards { display:grid; grid-template-columns:repeat(3, 1fr); gap:15px; margin:36px 0; }.dashboard-cards div { padding:22px; border:1px solid var(--line); }.dashboard-cards span, .dashboard-cards small { display:block; color:var(--muted); font-size:12px; }.dashboard-cards strong { display:block; margin:16px 0 13px; font:400 51px/1 var(--serif); }.admin-note { max-width:650px; padding:34px 0; }.admin-note p { max-width:570px; font:400 23px/1.45 var(--serif); }.admin-editor { max-width:760px; margin-top:36px; padding:30px; border:1px solid var(--line); background:#fbfaf7; }.admin-editor--compact { max-width:600px; }.admin-section-title { display:flex; justify-content:space-between; align-items:baseline; gap:20px; }.admin-section-title a { color:var(--muted); font-size:12px; text-decoration:underline; }.admin-editor h2, .admin-list h2 { margin:0 0 25px; font:400 28px/1 var(--serif); }.admin-editor textarea { min-height:105px; resize:vertical; line-height:1.45; }.admin-editor .textarea--large { min-height:280px; }.admin-editor small { color:var(--muted); font-size:11px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.form-hint { display:block; margin:29px 0 14px; color:var(--muted); font-size:11px; letter-spacing:.09em; text-transform:uppercase; }.admin-editor details { margin:25px 0; padding-top:17px; border-top:1px solid var(--line); }.admin-editor summary { cursor:pointer; margin-bottom:18px; font-size:13px; }.inline-form { display:flex; align-items:end; gap:18px; }.inline-form label { flex:1; margin:0; }.admin-list { margin-top:55px; }.admin-list table { width:100%; border-collapse:collapse; text-align:left; font-size:12px; }.admin-list th { padding:0 11px 11px 0; color:var(--muted); font-weight:500; }.admin-list td { max-width:390px; padding:15px 11px 15px 0; border-top:1px solid var(--line); vertical-align:top; }.admin-list td:first-child { font-size:13px; }.admin-list td small { display:block; margin-top:4px; color:var(--muted); }.status { display:inline-block; font-size:11px; }.status--published { color:#426e49; }.status--draft { color:#7e7b75; }.table-actions { display:flex; gap:13px; white-space:nowrap; }.table-actions a, .table-actions button { padding:0; border:0; background:none; color:#67635e; cursor:pointer; font:inherit; text-decoration:underline; text-underline-offset:2px; }

@media (max-width: 700px) { .site-nav { height:70px; padding:0 22px; }.site-nav nav { position:absolute; top:70px; right:14px; left:14px; display:none; padding:18px; gap:15px; background:#202020; color:#fff; flex-direction:column; }.site-nav--light nav { background:rgba(20,20,20,.96); }.site-nav.is-open nav { display:flex; }.menu-toggle { display:block; }.hero { background-position:47% center; }.hero::after { background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.16)); }.hero__copy { top:auto; bottom:80px; left:22px; right:52%; }.hero__copy h1 { font-size:44px; }.hero__copy p { font-size:15px; }.hero__down { bottom:23px; }.section { padding:70px 22px; }.section__head { margin-bottom:31px; }.section h2, .page h1 { font-size:49px; }.thought { grid-template-columns:1fr; gap:11px; padding:22px 0 25px; }.thought time { padding:0; }.thought p { font-size:25px; }.article-grid, .article-grid--archive { grid-template-columns:1fr; gap:42px; }.article-card__image, .article-grid--archive .article-card__image { height:68vw; }.footer { grid-template-columns:1fr; gap:28px; padding:36px 22px 22px; }.footer__links { gap:22px; flex-wrap:wrap; }.footer__note { grid-column:auto; margin-top:-12px; }.footer__copyright { margin-top:5px; }.page { padding:35px 22px 78px; }.page__intro { margin:37px 0 55px; }.thought-list--archive .thought { grid-template-columns:1fr; padding:26px 0; }.filters { margin-top:-25px; }.article-page { padding:23px 22px 80px; }.back-link { margin:20px 0 52px; }.article-page h1 { font-size:49px; }.article-page__cover { margin:40px 0; height:66vw; }.article-page__content { font-size:20px; }.not-found { padding:13vh 22px; }
  .admin-shell { display:block; }.admin-sidebar { min-height:auto; padding:22px; }.admin-sidebar__label, .admin-sidebar__bottom { display:none; }.admin-sidebar nav { display:flex; overflow:auto; gap:18px; margin-top:19px; }.admin-sidebar nav a { white-space:nowrap; padding:0; }.admin-main { padding:31px 22px 60px; }.admin-header { padding-bottom:24px; }.admin-header h1 { font-size:37px; }.admin-user { display:none; }.dashboard-cards { grid-template-columns:1fr; }.form-grid { grid-template-columns:1fr; gap:0; }.inline-form { display:block; }.inline-form .button { margin-top:18px; }.admin-editor { padding:22px; }.admin-list { overflow:auto; }.admin-list table { min-width:650px; }.login-page { padding:26px 22px; }.login-form { margin:18vh 0 0; }
  .thought time { order:2; margin-top:4px; }
  .thought p { font-size:18px; }
}
