/* Cirillo Journal — original editorial theme layer; no external assets. */
:root{--ink:#172b2b;--muted:#52615e;--canvas:#f6f2e9;--paper:#fffdf8;--line:#d9d6cc;--green:#305e58;--green-light:#d8bd8a;--red:#aa634b;--red-dark:#86452f;--yellow:#d8bd8a;--radius:3px;--shell:1240px;--reading:730px;--shadow:0 22px 55px rgba(23,43,43,.09)}
html{scroll-behavior:smooth}
body{color:var(--ink);background:var(--canvas);font-family:Arial,Helvetica,sans-serif}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.12}
p{line-height:1.67}
.site-shell{width:min(calc(100% - 64px),var(--shell))}
.utility-bar{color:#e0e9e5;background:var(--ink);font-weight:500;letter-spacing:.13em}
.utility-bar__inner{min-height:35px}
.site-header{background:rgba(255,253,248,.98);border-color:#e6e0d4}
.header-main{min-height:90px}
.brand{gap:13px;min-width:220px}
.brand img{height:52px;width:52px}
.brand strong{font-family:Georgia,'Times New Roman',serif;font-size:1.64rem;font-weight:600;letter-spacing:.04em}
.brand small{color:#6d7770;font-size:.56rem;font-weight:700;letter-spacing:.15em}
.primary-nav .menu{gap:30px}
.primary-nav a{font-size:.75rem;font-weight:700;letter-spacing:.055em;border-bottom-width:2px}
.primary-nav a:hover{border-color:var(--red)}
.kicker,.eyebrow{color:var(--red-dark);letter-spacing:.14em;font-size:.7rem}
.kicker::before{width:27px;height:1px}
.home-hero{min-height:660px;color:var(--ink);background:#e9e4d7}
.home-hero::after{height:1px;background:#b9a98a;box-shadow:none}
.home-hero__inner{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(340px,.87fr);align-items:center;gap:60px;padding-block:96px}
.home-hero__content{max-width:760px}
.home-hero h1{max-width:830px;margin:23px 0 25px;color:var(--ink);font-size:clamp(3.2rem,5.7vw,6.15rem);line-height:1.04}
.home-hero h1 em{font-weight:400;color:var(--red-dark)}
.home-hero__lead{max-width:620px;color:#435451;font-family:Georgia,'Times New Roman',serif;font-size:1.24rem;line-height:1.6}
.button{border-radius:2px;padding:13px 21px;font-size:.75rem;font-weight:700;letter-spacing:.06em}
.button--accent{color:#fff;background:var(--ink)}
.button--accent:hover{background:var(--green)}
.button--ghost{color:var(--ink);background:transparent;border-color:#aeb5a8}
.button--ghost:hover{color:#fff;background:var(--ink)}
.hero-notes{color:#64716c;font-size:.64rem;letter-spacing:.1em}
.hero-notes span::before{width:3px;height:3px;background:var(--red);border-radius:0}
.hero-visual{height:480px;position:relative;display:grid;place-items:center;border:1px solid #c7bfad;background:radial-gradient(circle at 50% 46%,#faf7ec 0 28%,#e1dbcc 70%,#d2c8b7 100%);overflow:hidden}
.hero-visual::before,.hero-visual::after{content:"";position:absolute;inset:26px;border:1px solid rgba(23,43,43,.18)}
.hero-visual::after{inset:45px}
.hero-dial{width:min(68%,340px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:16px solid var(--ink);border-right-color:var(--red);border-radius:50%;background:#f7f1e4;transform:rotate(-10deg);box-shadow:20px 25px 0 rgba(23,43,43,.08)}
.hero-dial span{font-family:Georgia,'Times New Roman',serif;font-size:clamp(6rem,10vw,9rem);line-height:1;letter-spacing:-.1em}
.hero-dial small{margin-top:7px;text-align:center;font-size:.7rem;line-height:1.5;letter-spacing:.19em;font-weight:700}
.hero-visual__caption{position:absolute;right:20px;bottom:20px;max-width:190px;padding:13px 15px;color:#f7f1e4;background:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:.88rem;line-height:1.4}
.topic-rail{background:var(--paper)}
.topic-rail__inner{min-height:75px;gap:22px}
.topic-rail__label{color:#849088;letter-spacing:.13em}
.topic-rail a{padding:7px 0;border:0;border-radius:0;font-family:Georgia,'Times New Roman',serif;font-size:.95rem;font-weight:400;border-bottom:1px solid transparent}
.topic-rail a:hover{color:var(--ink);background:none;border-color:var(--red)}
.section{padding-block:96px}
.section--paper{background:var(--paper)}
.section-heading h2{font-size:clamp(2.5rem,4vw,4rem)}
.lead-story{background:#fcfaf4}
.lead-story__grid{display:grid;grid-template-columns:1fr .8fr;gap:110px;align-items:center}
.lead-story h2{max-width:650px;margin:18px 0 23px;font-size:clamp(2.8rem,4.5vw,4.7rem)}
.lead-story p{max-width:640px;color:var(--muted);font-size:1.08rem}
.lead-story__figure{padding:26px 38px;border-top:4px solid var(--red);background:#eae5d8}
.cycle-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;border-bottom:1px solid #c8c0b1;font-family:Georgia,'Times New Roman',serif;font-size:1.3rem}
.cycle-row b{font-size:2rem;font-weight:400;color:var(--red-dark)}
.text-link{font-size:.73rem;letter-spacing:.09em;border-color:var(--red)}
.post-grid{gap:20px}
.post-card{border-radius:1px;box-shadow:none;background:var(--paper)}
.post-card:hover{box-shadow:var(--shadow)}
.post-card__image{aspect-ratio:16/9}
.post-card__image img{filter:saturate(.75)}
.post-card__body{padding:28px}
.post-card h3{font-size:1.7rem;line-height:1.22}
.post-meta{font-weight:500;letter-spacing:.09em}
.method-band{background:var(--ink)}
.method-band__intro,.method-step{min-height:340px;border-color:#42605a}
.method-band__intro h2{font-size:2.7rem}
.method-step>span{color:#d8bd8a}
.method-step h3{font-size:1.55rem}
.legacy-links a{grid-template-columns:110px 1fr}
.legacy-links span{color:var(--red-dark)}
.legacy-links strong{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;font-weight:400}
.archive-hero,.standard-page__header{background:var(--ink);border-bottom:1px solid #d8bd8a}
.archive-hero h1,.standard-page__header h1{font-size:clamp(3.1rem,5.3vw,5.8rem)}
.article-header{padding-block:86px 65px;background:var(--ink)}
.article-header__inner{max-width:1020px}
.article-header h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.12}
.article-deck{max-width:800px;color:#dde4dd;font-family:Georgia,'Times New Roman',serif;font-size:1.23rem}
.article-meta{color:#acbdb4;letter-spacing:.1em}
.article-media{width:min(calc(100% - 64px),1240px);margin:0 auto}
.article-media img{height:370px;aspect-ratio:auto;object-fit:cover;filter:saturate(.7)}
.article-layout{grid-template-columns:210px minmax(0,var(--reading));gap:72px;padding-block:78px 110px}
.article-toc{border-top:2px solid var(--red)}
.article-content{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;line-height:1.85}
.article-content .lead{font-size:1.35rem;line-height:1.7;color:#304c47}
.article-content h2{font-family:Georgia,'Times New Roman',serif;font-size:2.35rem;font-weight:400;line-height:1.2}
.article-content h3{font-family:Georgia,'Times New Roman',serif;font-size:1.6rem;font-weight:400}
.article-content a{color:#975038;text-decoration-thickness:1px}
.article-content a:hover{color:#5f2d1e}
.article-content li{padding-left:4px}
.editorial-note{margin:2.3em 0;padding:24px 28px;background:#e8e4d7;border-left:3px solid var(--red);font-family:Arial,Helvetica,sans-serif;font-size:.96rem;line-height:1.65}
.editorial-note strong{display:block;margin-bottom:5px;color:var(--red-dark);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.editorial-note p{margin:0}
.step-list{counter-reset:steps;list-style:none!important;padding-left:0!important}
.step-list li{position:relative;padding:0 0 20px 56px!important;border-bottom:1px solid var(--line);margin-bottom:20px!important}
.step-list li::before{counter-increment:steps;content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--red-dark);font-family:Arial,Helvetica,sans-serif;font-size:.85rem;font-weight:700}
.source-note{padding-top:18px;border-top:1px solid var(--line);font-size:.98rem;color:var(--muted)}
.site-footer{background:#122321}
.footer-grid{gap:55px}
.site-footer h2{font-family:Arial,Helvetica,sans-serif;font-size:.75rem;letter-spacing:.13em}
.footer-brand>p{max-width:450px}
@media(max-width:1080px){.home-hero__inner{gap:28px}.hero-visual{height:410px}.primary-nav .menu{gap:15px}.lead-story__grid{gap:50px}}
@media(max-width:860px){.home-hero__inner{grid-template-columns:1fr}.hero-visual{max-width:600px;width:100%;height:370px}.lead-story__grid{grid-template-columns:1fr}.lead-story__figure{max-width:580px}.article-layout{grid-template-columns:1fr}.article-aside{display:none}}
@media(max-width:720px){.site-shell{width:min(calc(100% - 36px),var(--shell))}.utility-bar__inner span:last-child{display:none}.header-main{min-height:75px}.brand{min-width:auto}.brand img{width:44px;height:44px}.brand strong{font-size:1.35rem}.brand small{font-size:.48rem}.home-hero{min-height:auto}.home-hero__inner{padding-block:65px 45px}.home-hero h1{font-size:clamp(3rem,12vw,4.5rem)}.home-hero__lead{font-size:1.08rem}.hero-visual{height:330px}.hero-dial{border-width:10px}.hero-dial span{font-size:6rem}.hero-visual__caption{font-size:.73rem}.topic-rail__inner{gap:15px}.section{padding-block:65px}.lead-story h2{font-size:2.8rem}.post-grid{grid-template-columns:1fr}.method-band__grid{grid-template-columns:1fr}.method-band__intro,.method-step{min-height:auto;padding:30px 0;border-bottom:1px solid #42605a}.method-step>span{margin-bottom:10px}.legacy-section{grid-template-columns:1fr;gap:30px}.legacy-links a{grid-template-columns:1fr;gap:6px}.article-header{padding-block:65px 45px}.article-header h1{font-size:clamp(2.6rem,10vw,4rem)}.article-media{width:100%}.article-media img{height:220px}.article-layout{padding-block:45px 75px}.article-content{font-size:1.06rem}.article-content .lead{font-size:1.2rem}.article-content h2{font-size:1.85rem}.footer-grid{grid-template-columns:1fr;gap:24px}.hero-notes{gap:13px}}
