
:root{--ink:#081d33;--muted:#53677f;--blue:#1677c8;--line:#d7e0e8;--bg:#f7f9fc;--card:#fff;--soft:#edf5fc;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.shell{width:min(1120px,calc(100% - 48px));margin:auto}.shell-narrow{width:min(820px,calc(100% - 48px));margin:auto}.shell-reading{width:min(760px,calc(100% - 48px));margin:auto}
.site-header{height:74px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{font:700 14px/1 var(--mono);letter-spacing:.08em;white-space:nowrap}.wordmark-accent,.wordmark-cursor{color:var(--blue)}.wordmark-cursor{display:inline-block;animation:wordmark-blink 1s steps(1,end) infinite}@keyframes wordmark-blink{0%,49%{opacity:1}50%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.wordmark-cursor{animation:none}}.site-nav{display:flex;align-items:center;gap:30px;overflow-x:auto;white-space:nowrap}.nav-link{font-size:14px;padding:27px 0 22px;border-bottom:2px solid transparent}.nav-link:hover,.nav-link.is-current{color:var(--ink);border-color:var(--blue)}
.hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 72% 35%,rgba(22,119,200,.10),transparent 31%)}.hero-inner{padding:88px 0 84px}.kicker,.eyebrow,.section-heading{font-family:var(--mono);letter-spacing:.10em;text-transform:uppercase}.kicker{font-size:12px;color:var(--blue);font-weight:700;margin:0 0 28px}.hero h1{font-size:clamp(56px,6.4vw,92px);line-height:.93;letter-spacing:-.055em;margin:0;max-width:820px}.hero h1 span{color:var(--blue)}.hero-deck{max-width:650px;font-size:20px;color:var(--muted);margin:32px 0 0}.byline{font:12px var(--mono);color:var(--muted);margin:30px 0 0}
.home-section,.category-section{padding:70px 0}.section-heading{display:flex;align-items:center;gap:22px;font-size:11px;color:var(--muted);font-weight:700;margin-bottom:34px}.section-heading i{height:1px;background:var(--line);flex:1}.section-heading a{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--blue);font-size:13px}
.latest-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:34px 44px}.lead-card{grid-row:span 3}.lead-image{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:16px;background:var(--soft)}.lead-image img,.compact-image img,.post-card-image img,.photo-card img{height:100%;object-fit:cover;transition:transform .35s ease}.lead-card:hover img,.compact-card:hover img,.post-card:hover img,.photo-card:hover img{transform:scale(1.025)}.lead-copy{padding-top:24px}.eyebrow{font-size:10px;color:var(--blue);display:flex;gap:12px;align-items:center}.eyebrow span{color:var(--muted)}.lead-copy h2{font-size:clamp(32px,3vw,48px);line-height:1.03;letter-spacing:-.035em;margin:12px 0}.lead-copy p,.post-card p,.compact-card p{color:var(--muted)}.lead-copy p{font-size:17px}.read-link{display:inline-block;color:var(--blue);font-weight:700;font-size:13px;margin-top:8px}.compact-card{display:grid;grid-template-columns:145px 1fr;gap:18px;padding-bottom:28px;border-bottom:1px solid var(--line)}.compact-image{height:116px;border-radius:10px;overflow:hidden;background:var(--soft)}.compact-card h3{font-size:21px;line-height:1.08;margin:7px 0}.compact-card p{font-size:13px;line-height:1.45;margin:8px 0 0}
.category-section{border-top:1px solid var(--line)}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.post-card-image{display:block;aspect-ratio:16/10;border-radius:13px;overflow:hidden;background:var(--soft)}.post-card-copy{padding-top:17px}.post-card h3{font-size:25px;line-height:1.08;letter-spacing:-.025em;margin:10px 0}.post-card p{font-size:14px;line-height:1.5;margin:10px 0}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.photo-card a{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#07182a}.photo-card img{height:100%;object-fit:cover}.photo-card a:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,15,28,.85))}.photo-card div{position:absolute;z-index:2;left:24px;right:24px;bottom:20px;color:#fff}.photo-card span{font:10px var(--mono);letter-spacing:.12em}.photo-card h3{font-size:25px;line-height:1.08;margin:7px 0}
.archive-header{padding:80px 0 50px}.archive-header h1{font-size:64px;line-height:1;margin:0}.archive-list{padding-bottom:70px}.archive-list .post-card{display:grid;grid-template-columns:38% 1fr;gap:40px;padding:34px 0;border-top:1px solid var(--line)}.archive-list .post-card-image{aspect-ratio:16/10}
.article{padding:80px 0}.article-header h1{font-size:clamp(48px,6vw,76px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 20px}.article-excerpt{font-size:20px;color:var(--muted)}.article-feature{margin-top:48px}.article-feature img{max-height:680px;object-fit:cover;border-radius:16px}.gh-content{font:400 19px/1.75 var(--sans);padding-top:54px;letter-spacing:-.006em}.gh-content h2,.gh-content h3{font-family:var(--sans);line-height:1.15;margin-top:2.3em}.gh-content h2{font-size:31px}.gh-content h3{font-size:24px}.gh-content img{border-radius:10px}.gh-content a{color:var(--blue);text-decoration:underline}
.site-footer{border-top:1px solid var(--line);margin-top:40px}.footer-inner{min-height:150px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.footer-mark{color:var(--ink)}.footer-inner p{margin:8px 0 0}
.pagination{width:min(1120px,calc(100% - 48px));margin:0 auto 60px;font-size:13px;color:var(--blue)}
@media(max-width:850px){.site-header{height:auto}.header-inner{align-items:flex-start;flex-direction:column;gap:10px;padding-top:18px}.site-nav{width:100%;gap:24px}.nav-link{padding:8px 0 14px}.hero-inner{padding:62px 0}.latest-grid{grid-template-columns:1fr}.lead-card{grid-row:auto}.compact-card{grid-template-columns:180px 1fr}.category-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr}.archive-list .post-card{grid-template-columns:1fr}.footer-inner{padding:35px 0;align-items:flex-start;gap:25px;flex-direction:column}}
@media(max-width:560px){.shell,.shell-narrow,.shell-reading{width:min(100% - 30px,1120px)}.hero-inner{padding:48px 0 52px}.hero h1{font-size:49px}.hero-deck{font-size:17px}.home-section,.category-section{padding:48px 0}.latest-grid{gap:28px}.compact-card{grid-template-columns:115px 1fr}.compact-image{height:96px}.compact-card p{display:none}.category-grid{grid-template-columns:1fr}.section-heading a{display:none}.archive-header h1{font-size:48px}.article{padding:50px 0}.article-header h1{font-size:44px}.article-feature{margin-top:30px}.gh-content{font-size:18px;padding-top:36px}}
@media(prefers-color-scheme:dark){:root{--ink:#edf5fc;--muted:#9eb0c2;--blue:#55a9ee;--line:#26394d;--bg:#081522;--card:#0d1c2b;--soft:#10263a}.hero{background:radial-gradient(circle at 72% 35%,rgba(37,133,210,.15),transparent 32%)}}


/* Ghost editor wide/full-width content support */
.gh-content .kg-width-wide {
    width: min(1100px, calc(100vw - 48px));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.gh-content .kg-width-full {
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.gh-content .kg-width-wide img,
.gh-content .kg-width-full img {
    width: 100%;
}


/* ============================================================
   Life in Production v0.2.2 — homepage density pass
   ============================================================ */

.latest-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr);
}

.explore-section{
    padding-top:64px;
    padding-bottom:70px;
}

.explore-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}

.explore-card{
    min-width:0;
}

.explore-image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    border-radius:13px;
    background:var(--soft);
}

.explore-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

.explore-card:hover .explore-image img{
    transform:scale(1.025);
}

.explore-copy{
    padding-top:16px;
}

.explore-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font:700 10px/1.3 var(--mono);
    letter-spacing:.10em;
    color:var(--blue);
}

.explore-top a{
    font-family:var(--sans);
    font-weight:700;
    letter-spacing:0;
    text-transform:none;
    white-space:nowrap;
}

.explore-card h3{
    margin:10px 0 9px;
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.025em;
}

.explore-card p{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}

.explore-card .read-link{
    margin-top:13px;
}

.photo-section{
    padding-top:64px;
}

@media(max-width:850px){
    .latest-grid{
        grid-template-columns:1fr;
    }

    .explore-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:560px){
    .explore-section,
    .photo-section{
        padding-top:48px;
        padding-bottom:48px;
    }

    .explore-grid{
        grid-template-columns:1fr;
        gap:38px;
    }
}


/* ============================================================
   Life in Production v0.2.3 — homepage polish
   ============================================================ */

/* Give the Latest Stories rail more room without losing the lead-story feel. */
.latest-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(370px,.82fr);
    gap:34px 40px;
}

.compact-card{
    grid-template-columns:150px minmax(0,1fr);
    gap:20px;
}

.compact-card h3{
    font-size:22px;
}

/* Photography becomes a cinematic full-width feature when only one item
   exists; later items naturally form a two-column gallery beneath it. */
.photo-section{
    padding-top:54px;
    padding-bottom:58px;
}

.photo-showcase{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.photo-card-feature{
    grid-column:1 / -1;
}

.photo-card-feature a{
    aspect-ratio:21/8;
}

.photo-card-feature div{
    left:32px;
    right:32px;
    bottom:28px;
}

.photo-card-feature h3{
    max-width:820px;
    font-size:clamp(28px,3vw,42px);
}

.photo-card-secondary a{
    aspect-ratio:16/9;
}

@media(max-width:850px){
    .latest-grid{
        grid-template-columns:1fr;
    }

    .compact-card{
        grid-template-columns:180px minmax(0,1fr);
    }

    .photo-showcase{
        grid-template-columns:1fr;
    }

    .photo-card-feature{
        grid-column:auto;
    }

    .photo-card-feature a{
        aspect-ratio:16/9;
    }
}

@media(max-width:560px){
    .compact-card{
        grid-template-columns:115px minmax(0,1fr);
    }

    .photo-section{
        padding-top:44px;
        padding-bottom:44px;
    }

    .photo-card-feature div{
        left:20px;
        right:20px;
        bottom:18px;
    }

    .photo-card-feature h3{
        font-size:25px;
    }
}


/* ============================================================
   Life in Production v0.2.5 — article polish
   ============================================================ */
.article-more{padding:18px 0 70px;border-top:1px solid var(--line);margin-top:72px}
.article-more .section-heading{margin:0 0 32px;padding-top:34px}
.article-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.article-more-card{min-width:0}
.article-more-image{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:13px;background:var(--soft)}
.article-more-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.article-more-card:hover .article-more-image img{transform:scale(1.025)}
.article-more-copy{padding-top:16px}
.article-more-copy h3{font-size:25px;line-height:1.08;letter-spacing:-.025em;margin:10px 0}
.article-more-copy p{font-size:14px;line-height:1.5;color:var(--muted);margin:10px 0 0}
@media(max-width:850px){.article-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.article-more{margin-top:52px;padding-bottom:48px}.article-more-grid{grid-template-columns:1fr;gap:38px}.article-more .section-heading{padding-top:28px}}


/* ============================================================
   Life in Production v0.2.6 — compact mobile navigation
   ============================================================ */
.mobile-menu-toggle,.mobile-nav{display:none}

@media(max-width:850px){
    .site-header{height:64px}
    .header-inner{height:100%;padding-top:0;align-items:center;flex-direction:row;gap:18px;position:relative}
    .site-nav{display:none}
    .mobile-menu-toggle{display:flex;align-items:center;gap:9px;margin-left:auto;padding:10px 0;border:0;background:transparent;color:var(--ink);font:600 14px/1 var(--sans);cursor:pointer}
    .mobile-menu-icon{display:grid;gap:4px;width:19px}
    .mobile-menu-icon span{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(2){opacity:0}
    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
    .mobile-nav{position:absolute;display:grid;top:calc(100% + 1px);left:0;right:0;padding:12px 15px 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(8,29,51,.08)}
    .mobile-nav[hidden]{display:none}
    .mobile-nav .nav-link{display:flex;align-items:center;min-height:48px;padding:0 4px;border-bottom:1px solid var(--line);font-size:16px}
    .mobile-nav .nav-link:last-child{border-bottom:0}
    .mobile-nav .nav-link.is-current{color:var(--blue);font-weight:700}
}

@media(prefers-reduced-motion:reduce){
    .mobile-menu-icon span{transition:none}
}


/* ============================================================
   Life in Production v1.0.0 — release hardening
   ============================================================ */
:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:3px}
.error-page{min-height:calc(100vh - 230px);padding:110px 0 120px;display:flex;flex-direction:column;justify-content:center}
.error-page h1{font-size:clamp(46px,7vw,82px);line-height:.98;letter-spacing:-.045em;margin:12px 0 24px}
.error-page>p:not(.kicker){max-width:650px;font-size:19px;color:var(--muted);margin:0 0 28px}
.error-home{color:var(--blue);font-weight:700}
@media(max-width:560px){.error-page{padding:70px 0 80px;min-height:calc(100vh - 190px)}.error-page h1{font-size:46px}}
