:root{--ink:#17221b;--forest:#143b2b;--moss:#1f5a3f;--gold:#c99631;--cream:#f6f1e7;--paper:#fffdf8;--muted:#65716a;--rule:#e4dccb;--red:#b8402f}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
a{color:var(--moss)}img{max-width:100%}
.mast{display:flex;align-items:center;justify-content:space-between;padding:16px 6%;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:5}
.mast .brand{font-family:Georgia,serif;font-weight:700;font-size:20px;color:var(--forest);text-decoration:none;letter-spacing:.3px}
.mast .brand span{color:var(--gold)}
.mast nav a{margin-left:22px;font-size:14px;color:var(--ink);text-decoration:none}.mast nav a.on{color:var(--moss);font-weight:600;border-bottom:2px solid var(--gold);padding-bottom:3px}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.serif{font-family:Georgia,"Times New Roman",serif}
/* feature hero */
.fhero{position:relative;background:linear-gradient(180deg,#0f2c20 0%,#143b2b 55%,#1b4a35 100%);color:#fff;padding:70px 6% 80px;overflow:hidden}
.fhero:after{content:"";position:absolute;right:-120px;top:-80px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#d8443a 0%,#b8402f 55%,transparent 56%);opacity:.9}
.fhero .inner{position:relative;z-index:2;max-width:760px}
.fhero .issue{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#f3c96a}
.fhero h1{font-family:Georgia,serif;font-size:clamp(40px,6vw,76px);line-height:1.02;margin:14px 0 18px;font-weight:700}
.fhero h1 em{font-style:italic;color:#f3c96a}
.fhero .dek{font-size:clamp(18px,2vw,22px);max-width:620px;color:#e9efe9;font-family:Georgia,serif}
.fhero .by{margin-top:26px;font-size:14px;color:#c9d6cd}
.kanji{position:absolute;right:7%;bottom:30px;z-index:2;font-family:serif;font-size:88px;color:rgba(255,255,255,.14);writing-mode:vertical-rl;letter-spacing:.1em}
/* article */
.article{max-width:720px;margin:0 auto;padding:56px 22px 10px}
.article p{font-size:19px;font-family:Georgia,serif;line-height:1.75;margin:0 0 22px}
.article p.drop:first-letter{float:left;font-size:78px;line-height:.85;padding:6px 10px 0 0;color:var(--red);font-weight:700}
.pull{border-top:3px solid var(--gold);border-bottom:1px solid var(--rule);margin:36px -30px;padding:22px 30px;font-family:Georgia,serif;font-style:italic;font-size:27px;line-height:1.35;color:var(--forest)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin:40px 0}
.facts div{background:var(--cream);padding:18px}
.facts b{display:block;font-family:Georgia,serif;font-size:30px;color:var(--red)}
.facts span{font-size:13px;color:var(--muted)}
/* rooms */
.room{padding:64px 6%;border-top:1px solid var(--rule)}
.room.dark{background:#10261c;color:#eef3ef;border-top:0}
.room .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;max-width:1180px;margin:0 auto 28px}
.room h2{font-family:Georgia,serif;font-size:clamp(30px,3.6vw,44px);margin:6px 0 4px;line-height:1.1}
.room .sub{color:var(--muted);max-width:560px;margin:0}.room.dark .sub{color:#b9c9be}
.count{font-size:13px;white-space:nowrap;border:1px solid currentColor;border-radius:99px;padding:6px 14px;text-decoration:none;color:inherit}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto}
.card{background:#fff;border:1px solid var(--rule);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.room.dark .card{background:#173427;border-color:#24483a}
.card .media{aspect-ratio:16/9;background:#0b1d15}
.card .media iframe{width:100%;height:100%;border:0;display:block}
.card .media.sp{aspect-ratio:auto;height:152px;background:transparent;padding:0}
.card .body{padding:16px 18px 18px}
.card .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.card h3{font-family:Georgia,serif;font-size:21px;margin:4px 0 6px}
.card p{font-size:14.5px;margin:0 0 10px;color:#3c4a42}.room.dark .card p{color:#c7d4cb}
.card .links a{font-size:13px;margin-right:12px}.room.dark .card a{color:#f3c96a}
.bc{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(135deg,#1da0c3,#1b6f86);color:#fff;text-decoration:none}
.bc b{font-family:Georgia,serif;font-size:22px}.bc small{opacity:.85}
/* scene */
.scene{max-width:1180px;margin:0 auto;padding:64px 6%}
.scene ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.scene li{border-top:1px solid var(--rule);padding:16px 0;display:grid;grid-template-columns:90px 1fr;gap:10px}
.scene .mo{font-family:Georgia,serif;color:var(--red);font-size:15px;font-weight:700}
.scene li a{font-weight:600;text-decoration:none;color:var(--forest)}.scene li span{display:block;font-size:14px;color:var(--muted)}
/* subscribe */
.sub-box{max-width:980px;margin:10px auto 70px;background:var(--cream);border:1px solid var(--rule);border-radius:18px;padding:40px 44px;display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center}
.sub-box h2{font-family:Georgia,serif;font-size:32px;margin:6px 0 8px;line-height:1.15}
.sub-box p{margin:0;color:var(--muted)}
.sub-box form{display:flex;flex-direction:column;gap:10px}
.sub-box input{font:inherit;padding:14px 16px;border:1px solid #cfc6b3;border-radius:10px;background:#fff}
.sub-box button{font:inherit;font-weight:600;padding:14px 16px;border:0;border-radius:10px;background:var(--forest);color:#fff;cursor:pointer}
.sub-box small{color:var(--muted);font-size:12.5px}
.next{max-width:1180px;margin:0 auto;padding:0 6% 60px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);padding-top:28px}
.next a{text-decoration:none;color:var(--ink)}.next b{font-family:Georgia,serif;font-size:20px;display:block}
.foot{border-top:1px solid var(--rule);padding:26px 6%;font-size:13px;color:var(--muted);background:var(--cream)}
.src{max-width:720px;margin:0 auto 40px;padding:0 22px;font-size:12.5px;color:var(--muted)}
/* archive */
.ahero{padding:64px 6% 34px;max-width:1180px;margin:0 auto}
.ahero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,72px);margin:8px 0 10px;line-height:1}
.ahero p{font-size:19px;color:var(--muted);max-width:640px;font-family:Georgia,serif}
.tools{max-width:1180px;margin:0 auto;padding:0 6% 30px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.tools input{flex:1;min-width:240px;font:inherit;padding:14px 18px;border:2px solid var(--forest);border-radius:99px;background:#fff}
.chip{font-size:13px;padding:8px 14px;border-radius:99px;border:1px solid var(--rule);background:#fff;cursor:pointer}.chip.on{background:var(--forest);color:#fff;border-color:var(--forest)}
.cover{max-width:1180px;margin:0 auto 40px;padding:0 6%}
.cover a{display:grid;grid-template-columns:1.3fr 1fr;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;background:#143b2b;min-height:360px}
.cover .art{position:relative;background:linear-gradient(160deg,#0f2c20,#1f5a3f)}
.cover .art:after{content:"♪";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-size:clamp(140px,18vw,230px);line-height:1;color:#e9c46d;opacity:.68}
.cover .art b{position:absolute;z-index:2;left:26px;bottom:20px;font-family:serif;font-size:14px;letter-spacing:.2em;color:#f3c96a}
.cover .txt{padding:40px}
.cover h2{font-family:Georgia,serif;font-size:40px;line-height:1.05;margin:10px 0 12px}.cover p{color:#d7e2da;font-family:Georgia,serif;font-size:18px}
.agrid{max-width:1180px;margin:0 auto;padding:0 6% 50px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.acard{border-top:3px solid var(--forest);padding-top:14px}
.acard .ph{aspect-ratio:4/3;border-radius:12px;background:var(--cream);border:1px dashed #cfc6b3;display:flex;align-items:center;justify-content:center;color:#a39a86;font-size:13px;margin-bottom:12px}
.acard h3{font-family:Georgia,serif;font-size:22px;margin:4px 0 6px;line-height:1.2}.acard p{margin:0;color:var(--muted);font-size:14.5px}
.acard .meta{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.years{max-width:1180px;margin:0 auto;padding:0 6% 60px}
.years h4{font-family:Georgia,serif;font-size:22px;border-bottom:1px solid var(--rule);padding-bottom:8px}
.years li{list-style:none;padding:10px 0;border-bottom:1px solid #efe8da;display:flex;gap:16px}.years ul{padding:0}.years .d{width:110px;color:var(--muted);font-size:14px}
.mockflag{background:#fff4d6;color:#7a5a12;font-size:12.5px;text-align:center;padding:6px}
@media(max-width:820px){.mast nav{display:none}.grid,.agrid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.scene ol{grid-template-columns:1fr}.sub-box{grid-template-columns:1fr;padding:28px 24px;margin:10px 16px 50px}.pull{margin:30px 0;padding:18px 0;font-size:23px}.cover a{grid-template-columns:1fr}.cover .art{min-height:200px}.cover .txt{padding:26px}.cover h2{font-size:30px}.kanji{display:none}.fhero:after{width:300px;height:300px;right:-110px;top:-60px}.room .head{flex-direction:column;align-items:flex-start}.next{flex-direction:column}}

.subcta{display:flex;flex-direction:column;gap:10px}.subbtn{display:block;text-align:center;font-weight:600;padding:15px 16px;border-radius:10px;background:var(--forest);color:#fff;text-decoration:none}.subbtn:hover{background:#1f5a3f}.subcta small{color:var(--muted);font-size:12.5px}
.soon{position:absolute;z-index:3;top:22px;left:22px;background:#f3c96a;color:#143b2b;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:99px}
.cover .card-static{display:grid;grid-template-columns:1.3fr 1fr;border-radius:18px;overflow:hidden;color:#fff;background:#143b2b;min-height:340px}
@media(max-width:820px){.cover .card-static{grid-template-columns:1fr}}
