@font-face{font-family:DM;src:url('assets/fonts/dm-sans-normal-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/dm-sans-normal-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-display-italic-500.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap}
:root{--paper:#f8f4ea;--ink:#28241f;--muted:#5d564d;--red:#9e392c;--line:#cfc4b5;--serif:Georgia,'Times New Roman',serif;--sans:DM,Arial,sans-serif;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}figure,p,h1,h2,h3{margin:0}a:focus-visible{outline:3px solid #d37b35;outline-offset:5px}
.wrap{width:min(1296px,90%);margin-inline:auto}.mast{border-bottom:1px solid var(--line)}.mast-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:.17em;white-space:nowrap;font:700 30px/1 var(--serif);letter-spacing:-1.55px}.brand img{margin-right:6px}.brand em,h1 em,h2 em{font-family:Playfair,Georgia,serif;font-style:italic;font-weight:500}.brand em{color:var(--red)}
nav{display:flex;gap:clamp(18px,3.4vw,52px)}nav a,.source-link,.back{font-size:14px;font-weight:700}.source-link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:4px}nav a:hover,.back:hover,.source-link:hover{color:var(--red)}
.skip{position:absolute;clip-path:inset(50%);background:#fff;color:#111;z-index:10;padding:10px}.skip:focus{clip-path:none;top:4px;left:5px}
.cover{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:clamp(32px,4vw,72px);padding-block:clamp(34px,4.25vw,68px) clamp(38px,4.5vw,74px)}
.eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.18em;text-transform:uppercase;font:700 11px/1.5 var(--sans)}.red{color:var(--red)}.line{width:34px;height:2px;background:currentColor;flex:none}
h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(69px,7.5vw,124px);line-height:.97;letter-spacing:-.062em;margin:24px 0 26px}h1 em{color:var(--red);display:block;line-height:1.02}
.standfirst{max-width:400px;color:var(--muted);font-size:clamp(16px,1.35vw,19px);line-height:1.55}
.button{display:inline-flex;align-items:center;gap:20px;min-height:46px;background:var(--red);color:#fff8ef;padding:11px 21px;margin-top:26px;font-size:14px;font-weight:700;border-radius:4px}.button span{font-size:20px;line-height:1}.button:hover{background:#7e2e23}
.cover-figure{position:relative;min-width:0;overflow:hidden;background:#3e332e;aspect-ratio:1.3}
.cover-figure img,.scene-image img{width:100%;height:100%;object-fit:cover;display:block}.cover-figure img{object-position:60% 50%}
.cover-figure:after{content:'';position:absolute;inset:68% 0 0;background:linear-gradient(transparent,rgba(20,13,9,.7));pointer-events:none}
.cover-figure figcaption{display:flex;align-items:center;gap:8px;position:absolute;left:20px;bottom:16px;z-index:1;color:#fffbef;font-size:12px;font-weight:700}.frame-symbol{font-size:13px}
.intro{border-top:1px solid var(--line);background:#f0eadd}
.intro-grid,.sources-grid{display:grid;grid-template-columns: .8fr 1.2fr;gap:clamp(30px,6vw,96px);padding-block:clamp(54px,6.5vw,94px)}
h2{font-size:clamp(43px,4.6vw,75px);line-height:1.06;letter-spacing:-.057em;margin-top:13px}h2 em{color:var(--red)}
.measure p,.scene-head>p:last-child,.observations p,.example>p{color:var(--muted);line-height:1.65}.measure p+p{margin-top:15px}.measure strong{color:var(--ink)}.measure .lead{font-size:clamp(18px,1.6vw,24px);color:var(--ink);line-height:1.45}.ref{font:700 12px var(--sans);color:var(--red);white-space:nowrap}.ref:hover{text-decoration:underline}
.phenomenon{background:#302522;color:#fff5e4;padding-block:clamp(58px,7vw,104px)}.phenomenon .eyebrow,.phenomenon h2 em{color:#f6ac89}.phen-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(44px,8vw,144px);margin-top:42px}.stat{border-top:1px solid #735b50;padding-top:22px;align-self:start}
.stat-num{font:400 clamp(76px,8.3vw,140px)/1 var(--serif);letter-spacing:-.07em;color:#ffc3a8}.stat-num span{font-size:.53em}.stat p{margin-top:16px;max-width:390px}.stat .note{font-size:13px;color:#deccbc;border-top:1px solid #67554c;padding-top:16px;margin-top:20px}.phenomenon .ref{color:#ffb59b}.observations section{padding:17px 0 19px;border-top:1px solid #735b50}.observations h3{font-size:clamp(24px,2.1vw,33px);line-height:1.18;letter-spacing:-.03em}.observations p{color:#e0d3c6;margin-top:9px;font-size:15px}
.scene{padding-block:clamp(62px,7vw,104px)}.scene-head>p:last-child{max-width:650px;margin-top:17px}.scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,88px);align-items:center;margin-top:35px}.scene-image{aspect-ratio:1.5;background:#544133;overflow:hidden}.formats{margin:0;padding:0;border:0;min-width:0}.sr,.formats input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.formats label{display:inline-block;position:relative;border:1px solid #ae9e8c;border-radius:30px;padding:8px 14px;color:var(--muted);font:700 13px/1.4 var(--sans);cursor:pointer;margin:0 3px 6px 0}.formats input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff9ee}.formats input:focus-visible+label{outline:3px solid var(--red);outline-offset:3px}.example{display:none;margin-top:20px}.example h3{font-size:clamp(26px,2.5vw,39px);line-height:1.15;letter-spacing:-.035em;margin-bottom:14px}#panjang:checked~.ex-long,#pendek:checked~.ex-short{display:block}
.example .reading-note{font-size:14px;margin-top:18px;border-left:2px solid var(--red);padding-left:15px}.reading-note strong{display:block;color:var(--red);margin-bottom:3px}
.sources{background:#f0eadd;border-block:1px solid var(--line)}.sources ol{margin:0;padding-left:24px}.sources li{padding:9px 0 13px 4px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.sources li::marker{color:var(--red);font:700 13px var(--sans)}.sources li a{display:flex;gap:15px;justify-content:space-between;align-items:center;line-height:1.45}.sources li a:hover span{text-decoration:underline;text-underline-offset:3px}.sources small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.sources li b{font-weight:400;color:var(--red);font-size:20px}.sources li:target{outline:1px dashed var(--red);outline-offset:3px}
footer{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:23px}.back{color:var(--muted);font-size:13px}
@media(min-width:1441px){.cover-figure{max-height:570px}}
@media(max-width:900px){.wrap{width:92%}.cover{gap:26px}.cover-figure{aspect-ratio:.94}.mast-inner{gap:14px}.brand{font-size:26px}nav{gap:17px}nav a{font-size:13px}.scene-grid{gap:26px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.mast-inner{flex-wrap:wrap;min-height:0;padding-top:14px;gap:0;justify-content:space-between}.brand{font-size:25px}.brand img{width:32px;height:32px}.source-link{font-size:12px;padding:5px 10px}nav{order:3;display:flex;width:100%;gap:20px;padding:12px 0 11px;overflow:auto}nav a{white-space:nowrap;font-size:12px}.cover{grid-template-columns:1fr;gap:27px;padding:33px 0}.cover-copy{max-width:550px}h1{font-size:clamp(61px,12.5vw,84px);margin:15px 0 17px}h1 em{display:inline}.button{margin-top:19px}.cover-figure{aspect-ratio:1.45}.standfirst{max-width:530px}.cover-figure figcaption{left:12px;bottom:10px;font-size:10px}.intro-grid,.sources-grid,.phen-grid,.scene-grid{grid-template-columns:1fr;gap:24px}.intro-grid,.sources-grid{padding-block:44px}h2{font-size:clamp(41px,9vw,58px)}.phenomenon,.scene{padding-block:49px}.phen-grid{margin-top:24px}.stat{border-top:0;padding:0}.stat .note{margin-top:13px;padding-top:12px}.stat p{max-width:none}.scene-grid{margin-top:23px}.example{margin-top:15px}footer{min-height:78px}footer .brand img{width:26px;height:26px}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}nav{gap:13px}nav a{font-size:11px}h1{font-size:55px}.formats label{font-size:12px;padding:8px 10px}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
