:root{--ink:#09223b;--deep:#061a32;--navy:#092847;--blue:#0b3a60;--teal:#0b8d98;--gold:#efc57a;--gold-dark:#b77a27;--cream:#fff8e8;--paper:#f8efdc;--body:#182c3f;--muted:#64768a;--white:#fff;--shadow:0 22px 70px rgba(5,24,48,.18);--serif:'Cormorant Garamond','Times New Roman',serif;--jpserif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP',system-ui,-apple-system,'Hiragino Kaku Gothic ProN',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;color:var(--body);font-family:var(--sans);background:var(--paper);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button,a,select,input{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f4bc57;outline-offset:4px}img{display:block;max-width:100%}em{font-style:normal;color:var(--gold)}h1,h2,h3,p{margin-top:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;z-index:100;background:white;color:black;padding:10px 16px;transform:translateY(-150%)}.skip:focus{transform:none}.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#f6d59a,#e9a851);z-index:90;pointer-events:none}.site-header{height:78px;position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,4.5vw,82px);background:rgba(3,21,45,.70);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,228,165,.20);color:white;transition:background .2s,height .2s}.site-header.scrolled{background:rgba(3,20,42,.95);height:70px}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0;min-width:0}.brand-symbol{width:39px;height:39px;position:relative;display:grid;place-items:center;border:1px solid rgba(255,223,156,.85);border-radius:50%;color:#ffdb95}.brand-symbol:after{content:'';position:absolute;width:25px;height:10px;bottom:7px;border-bottom:2px solid var(--gold);border-radius:50%}.brand-sun{font-size:26px;position:relative;top:-4px}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-text b{font:600 clamp(23px,2.2vw,31px)/.98 var(--serif);letter-spacing:.06em;color:#fff5d9}.brand-text small{font-size:8px;letter-spacing:.19em;color:#e3c995}.desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(13px,1.65vw,27px);margin-left:auto}.desktop-nav a{font-size:12px;font-weight:600;white-space:nowrap;color:#f7efe0;transition:color .18s}.desktop-nav a:hover{color:#ffd58b}.header-actions{display:flex;align-items:center;gap:12px}.lang-wrap{min-width:109px;border:1px solid rgba(240,207,146,.45);border-radius:999px;padding:6px 8px;display:flex;gap:6px;align-items:center;justify-content:center;color:var(--gold);font-size:16px}.lang-wrap select{max-width:86px;border:0;outline:0;background:#0d2744;color:white;font-size:12px;border-radius:6px;cursor:pointer}.lang-wrap select:focus-visible{outline:2px solid var(--gold)}.menu-toggle{border:0;background:transparent;color:#fff;display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:22px;height:2px;background:#fff1d2;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-nav{position:fixed;top:70px;left:0;right:0;z-index:75;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:20px;background:rgba(5,25,51,.98);box-shadow:var(--shadow);color:white}.mobile-nav[hidden]{display:none}.mobile-nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid rgba(255,255,255,.1);padding:10px;font-size:14px}
.hero{position:relative;height:min(850px,100svh);min-height:680px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:white;background:#07172f url('./assets/hero-night-20261106.png') center 48%/cover no-repeat;text-align:center}.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,12,29,.42) 0,rgba(3,17,38,.05) 30%,rgba(3,16,35,.25) 70%,rgba(3,15,32,.73) 100%),linear-gradient(90deg,rgba(4,18,37,.10),rgba(2,15,36,.23) 35%,rgba(2,15,36,.42) 55%,rgba(4,18,37,.08));pointer-events:none}.hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 9% 14%,#fff8de,transparent),radial-gradient(2px 2px at 87% 22%,#ffe6ad,transparent),radial-gradient(1.5px 1.5px at 76% 12%,#fff,transparent),radial-gradient(1px 1px at 41% 9%,#fff,transparent);background-size:100% 100%;opacity:.85}.hero-spark{position:absolute;color:#fff0ae;text-shadow:0 0 35px #e9bb72,0 0 60px #e7b76b;pointer-events:none}.hero-spark-one{font-size:55px;left:32%;top:14%}.hero-spark-two{font-size:25px;right:15%;top:18%}.hero-content{position:relative;z-index:2;width:min(1040px,calc(100% - 40px));padding-top:64px;text-shadow:0 3px 28px rgba(0,0,0,.48)}.hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:15px;font-family:var(--jpserif);letter-spacing:.28em;font-size:13px;color:#f9e8c6;margin-bottom:6px}.dash{height:1px;width:25px;background:var(--gold)}.hero-star{font:400 64px/1 var(--serif);color:var(--gold);margin:0 0 -2px;filter:drop-shadow(0 0 14px rgba(255,197,102,.8))}.hero h1{font:500 clamp(64px,7.3vw,112px)/.9 var(--serif);letter-spacing:.09em;margin:0;color:#fff0cb;filter:drop-shadow(0 6px 16px rgba(0,0,0,.35))}.hero-japanese{font:600 clamp(18px,2vw,25px)/1.6 var(--jpserif);letter-spacing:.35em;color:#ffde9c;margin:8px 0 23px}.hero-lead{font:600 clamp(20px,2.8vw,32px)/1.6 var(--jpserif);letter-spacing:.06em;margin:0 auto 12px}.hero-sublead{font-size:13px;letter-spacing:.11em;color:#f6eee1;line-height:2;margin:0 auto 29px}.hero-search{width:min(640px,100%);margin:0 auto;display:flex;align-items:center;gap:11px;padding:7px 7px 7px 19px;border-radius:999px;background:rgba(255,250,239,.97);box-shadow:0 11px 40px rgba(0,0,0,.36);text-shadow:none}.search-icon{flex-shrink:0;width:20px;height:20px;fill:none;stroke:#496172;stroke-width:1.9;stroke-linecap:round}.hero-search input{border:0;background:transparent;outline:0;width:100%;min-width:0;height:38px;font-size:14px;color:#132b41}.hero-search input::placeholder{color:#75818b}.hero-search button{border:0;background:linear-gradient(130deg,#f4d38a,#ce8e34);border-radius:999px;padding:12px 27px;white-space:nowrap;color:#172b3c;font-weight:700;min-height:44px}.hero-search button:hover,.finale-cta:hover{filter:brightness(1.08)}.hero-keywords{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-top:18px;font-size:11px;color:#fff6e5}.hero-keywords button{background:rgba(6,24,49,.52);border:1px solid rgba(245,222,180,.65);color:#fff;padding:6px 12px;border-radius:999px;min-height:34px;font-size:11px}.hero-keywords button:hover{background:rgba(239,197,122,.20)}.hero-bottom{position:absolute;z-index:3;left:clamp(18px,5vw,85px);right:clamp(18px,5vw,85px);bottom:24px;display:flex;justify-content:space-between;align-items:end;gap:20px;color:#e9d7b6}.hero-caption{font-size:9px;letter-spacing:.2em}.scroll-cue{display:flex;align-items:center;flex-direction:column;gap:7px;font:600 10px var(--sans);letter-spacing:.22em}.scroll-mark{font:28px var(--serif);animation:float 2.5s infinite}.hero-caption-right{letter-spacing:.1em}.category-bar{position:relative;z-index:4;background:linear-gradient(120deg,#fff4de,#f7e8c9);border-bottom:1px solid #e8d1a4;box-shadow:0 9px 26px rgba(30,38,46,.08)}.category-inner{max-width:1370px;margin:auto;display:grid;grid-template-columns:repeat(8,1fr);padding:12px 20px}.category-link{appearance:none;border:0;border-right:1px solid #e1c9a0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:80px;color:#163b56;transition:transform .2s,color .2s}.category-link:last-child{border-right:0}.category-link span{font:normal 32px/1 var(--serif);color:#b58236;transition:transform .2s}.category-link b{font-size:12px;font-weight:700}.category-link:hover{color:#bc772e}.category-link:hover span{transform:translateY(-3px)}.section-container{width:min(1290px,calc(100% - 80px));margin:0 auto}.chapter-intro{padding:80px 0;background:linear-gradient(120deg,#fdf7e9,#f3e4c8)}.intro-grid{display:grid;grid-template-columns:.95fr 1fr;gap:9%;align-items:center}.tiny-overline{display:block;font-size:10px;font-weight:700;letter-spacing:.24em;color:#ad7d39;margin-bottom:20px}.intro-grid h2,.section-heading h2{font:600 clamp(31px,3.5vw,49px)/1.55 var(--jpserif);color:#19354a;letter-spacing:.07em;margin:0}.intro-grid em,.section-heading em{color:#b88a4c}.intro-grid p,.section-heading p{font-size:14px;color:#4d5b69;line-height:2.35;letter-spacing:.08em;max-width:540px;margin:0}.chapter{height:580px;position:relative;background-size:cover;background-position:center;overflow:hidden;color:white}.chapter-travel{background-image:url('./assets/chapter-travel-20261106.png')}.chapter-life{background-image:url('./assets/chapter-life-20261106.png');background-position:center 40%}.chapter-work{background-image:url('./assets/chapter-work-20261106.png')}.chapter-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,52,.88) 0%,rgba(6,32,60,.78) 25%,rgba(8,38,62,.20) 65%,rgba(6,24,50,.40) 100%),linear-gradient(0deg,rgba(4,20,41,.55),transparent 44%)}.chapter-life .chapter-overlay{background:linear-gradient(90deg,rgba(55,26,42,.90),rgba(67,32,46,.7) 30%,rgba(17,23,40,.2) 70%,rgba(31,26,46,.45)),linear-gradient(0deg,rgba(35,23,42,.55),transparent 60%)}.chapter-work .chapter-overlay{background:linear-gradient(90deg,rgba(14,19,55,.91),rgba(18,27,67,.77) 30%,rgba(9,26,60,.2) 72%,rgba(21,20,55,.48)),linear-gradient(0deg,rgba(16,20,45,.5),transparent 60%)}.chapter-content{height:100%;position:relative;z-index:1;display:grid;grid-template-columns:minmax(330px,.78fr) minmax(490px,1.1fr);align-items:center;gap:44px}.chapter-copy{max-width:535px}.chapter-num{font-size:11px;letter-spacing:.2em;font-weight:600;color:#ffda91;display:flex;align-items:center;gap:12px;margin-bottom:28px}.chapter-rule{height:1px;width:28px;background:#dcb36c;display:inline-block}.chapter-copy h2{font:600 clamp(34px,3.5vw,49px)/1.6 var(--jpserif);letter-spacing:.08em;margin:0 0 15px;text-shadow:0 3px 20px rgba(0,0,0,.22)}.chapter-copy h2 em{color:#ffe19f}.chapter-copy>p:not(.chapter-num){font-size:13px;letter-spacing:.08em;line-height:2.15;color:#f5eada;max-width:420px;margin-bottom:26px}.gold-link{border:1px solid rgba(255,224,165,.92);background:linear-gradient(130deg,#f6d995,#e5a952);min-height:46px;border-radius:999px;display:inline-flex;align-items:center;gap:26px;color:#263342;padding:12px 22px;font-size:12px;font-weight:700;box-shadow:0 6px 24px rgba(1,10,26,.2);text-shadow:none}.gold-link:hover{transform:translateY(-2px)}.postcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.postcard{border:1px solid rgba(255,234,191,.56);padding:0;background:rgba(255,248,224,.95);border-radius:14px;overflow:hidden;text-align:left;box-shadow:0 17px 35px rgba(2,19,41,.35);position:relative;transition:transform .2s}.postcard:hover{transform:translateY(-7px)}.postcard img{width:100%;height:160px;object-fit:cover}.postcard span:not(.postcard-arrow){display:flex;flex-direction:column;gap:4px;padding:15px 17px;color:#17324b}.postcard small{font:600 11px var(--serif);letter-spacing:.16em;color:#bd8a45}.postcard b{font-size:14px}.postcard-arrow{position:absolute;right:13px;bottom:21px;color:#a36a24}.mini-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-self:end;margin-bottom:110px}.mini-features button{min-height:118px;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;border:1px solid rgba(255,231,184,.68);background:rgba(255,250,235,.93);color:#20344a;border-radius:14px;box-shadow:0 15px 28px rgba(0,0,0,.2);font-size:12px;font-weight:700}.mini-features button:hover{background:#fff0cd;transform:translateY(-4px)}.mini-icon{font:normal 36px/1 var(--serif);color:#b88c4f}.chapter-border{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#aa6435,#f3cb85,#ad5b32)}
.section-areas{padding:112px 0 120px;background:linear-gradient(160deg,#fff8e8 0%,#f9edd6 55%,#f5e7ce 100%)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-heading p{max-width:430px;font-size:12px;line-height:2.05}.atlas{display:grid;grid-template-columns:40% 60%;min-height:515px;border-radius:22px;overflow:hidden;border:1px solid #dcc493;box-shadow:var(--shadow);background:#0a3352}.atlas-control{background:radial-gradient(circle at 80% 0%,rgba(24,100,127,.4),transparent 55%),linear-gradient(150deg,#0a3451,#092440);padding:34px 40px;display:flex;flex-direction:column;color:white}.atlas-control-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(246,216,161,.24);padding-bottom:14px}.atlas-small{font-size:10px;letter-spacing:.22em;color:#efd7a6}.atlas-sun{font-size:24px;color:#f6c67e}.area-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:23px 0 25px}.area-picker button{color:#f5ead9;background:rgba(255,255,255,.06);border:1px solid rgba(255,231,186,.22);border-radius:8px;padding:10px 11px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.area-picker button[aria-pressed=true],.area-picker button:hover{background:#efcf91;border-color:#efcf91;color:#163650;font-weight:700}.atlas-detail{margin-top:auto}.atlas-detail .tiny-overline{margin-bottom:5px;color:#e2b673}.atlas-detail h3{font:600 40px/1.2 var(--jpserif);margin:0 0 15px;color:#fff3db}.atlas-detail p{font-size:12px;line-height:2.05;color:#dce4e6;max-width:420px;min-height:50px}.atlas-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}.outline-link{border:1px solid #e7bc73;border-radius:999px;background:transparent;color:inherit;padding:10px 16px;min-height:44px;font-size:11px;font-weight:700}.outline-link:hover{background:rgba(245,205,133,.18)}.plain-link{font-size:11px;color:#f4d08e;padding:10px 0}.atlas-map{position:relative;min-height:515px;background:#d4ebec}.atlas-map iframe{display:block;width:100%;height:100%;min-height:515px;border:0;filter:saturate(.8) contrast(1.02)}.atlas-map-label{position:absolute;top:17px;left:20px;z-index:1;display:flex;align-items:center;gap:8px;padding:8px 13px;background:#092f4add;border-radius:999px;color:#fff;font-size:10px;letter-spacing:.13em;box-shadow:0 5px 15px #0003}.map-pin{font-size:18px;color:#ecc27c}.map-credit{position:absolute;bottom:0;right:0;z-index:1;background:#fffe;padding:5px 8px;font-size:9px;color:#435b64}.map-credit a{text-decoration:underline}.section-guides{padding:108px 0 120px;background:#fffaf0}.filter-panel{display:flex;align-items:end;gap:18px;padding:19px 24px;border:1px solid #e5dac6;background:#fff;border-radius:15px;box-shadow:0 9px 23px rgba(13,40,58,.05)}.filter-left{flex:1}.filter-right{width:210px}.filter-panel label{display:block;font-size:11px;font-weight:700;color:#455a69;margin-bottom:8px}.filter-input-wrap{position:relative}.filter-input-wrap svg{width:20px;height:20px;position:absolute;top:11px;left:13px;stroke:#7c8790;stroke-width:1.8;fill:none;stroke-linecap:round}.filter-input-wrap input,.filter-right select{width:100%;height:44px;border:1px solid #d9e0e2;background:#f8fafb;border-radius:8px;padding:9px 11px;outline-color:#b28a50;font-size:13px}.filter-input-wrap input{padding-left:43px}.filter-reset{border:0;background:transparent;color:#866c51;text-decoration:underline;padding:12px;font-size:11px;min-height:44px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 28px}.filter-chips button{border:1px solid #d7d8d2;background:white;border-radius:999px;padding:9px 16px;min-height:39px;font-size:11px;color:#475b68}.filter-chips button[aria-pressed=true]{border-color:#0c5971;background:#0a3d55;color:#fff}.guide-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #e1dbce;padding-bottom:14px;margin-bottom:23px}.guide-meta strong{font:600 20px var(--serif);letter-spacing:.14em;color:#1a465b}.guide-meta span{font-size:11px;color:#8d8a82}.guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.story-card{display:flex;flex-direction:column;text-align:left;border:1px solid #e7e2d5;border-radius:15px;overflow:hidden;background:white;box-shadow:0 10px 25px rgba(18,43,55,.06);transition:transform .2s,box-shadow .2s;min-width:0;color:#1c3347;padding:0;position:relative}.story-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(18,43,55,.13)}.story-image{width:100%;height:180px;object-fit:cover}.story-card-content{display:flex;flex-direction:column;flex:1;padding:17px 17px 18px}.story-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.story-tag{display:inline-block;border-radius:100px;background:#e5f0f1;color:#2b6e7e;padding:4px 9px;font-size:10px;font-weight:700}.story-area{font:600 10px var(--serif);letter-spacing:.09em;color:#a87d48;text-transform:uppercase}.story-card h3{font:700 15px/1.65 var(--jpserif);margin:0 0 10px;min-height:50px}.story-card p{font-size:11px;line-height:1.8;color:#697985;flex:1;margin:0}.story-cta{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:13px;border-top:1px solid #eee9e0;font-size:10px;font-weight:700;letter-spacing:.06em;color:#af7e3e}.story-cta span:last-child{font-size:18px}.empty-state{text-align:center;padding:58px 20px;background:#f7f1e6;border:1px dashed #d9c9ab;border-radius:16px}.empty-state[hidden]{display:none}.empty-state>span{font-size:50px;color:#ba8f4c}.empty-state h3{font-size:19px}.empty-state p{font-size:12px;color:#667}.empty-state button{background:#0b4057;border:0;color:#fff;border-radius:999px;min-height:44px;padding:10px 20px}.chapter-finale{height:570px;position:relative;display:flex;align-items:center;justify-content:center;background:#221d45 url('./assets/chapter-finale-20261106.png') center/cover;color:#fff;text-align:center;overflow:hidden}.finale-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,17,41,.30),rgba(25,20,48,.23) 30%,rgba(13,16,37,.63) 100%)}.finale-content{position:relative;z-index:1;padding:35px 20px;text-shadow:0 2px 20px #0008}.finale-content .chapter-num{justify-content:center;font-size:11px}.finale-star{font-size:63px;display:block;color:#ffe29a;text-shadow:0 0 20px #edbd6c;margin-bottom:5px}.finale-content h2{font:600 clamp(28px,4vw,54px)/1.6 var(--jpserif);margin:0 0 18px}.finale-content h2 em{color:#ffe1a7}.finale-content p{line-height:2.2;font-size:13px;letter-spacing:.07em;color:#fff0dc}.finale-cta{display:inline-flex;align-items:center;gap:40px;min-height:48px;background:#f5d395;border:0;border-radius:999px;margin-top:17px;padding:13px 22px;color:#20394c;font-size:12px;font-weight:700;text-shadow:none}.footer{background:#06192f;color:#f6e8cf;padding:40px 0}.footer-inner{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}.footer-brand{font:600 24px var(--serif);letter-spacing:.08em}.footer-inner p{font-size:11px;line-height:1.9;margin:4px 0;color:#d7c3a0}.footer-inner small{font-size:10px;color:#a5b1c0}.story-dialog{width:min(640px,calc(100% - 28px));max-height:calc(100dvh - 36px);overflow:auto;border:0;border-radius:22px;padding:0;background:#fffaf0;color:#263d50;box-shadow:0 28px 110px #0008}.story-dialog::backdrop{background:rgba(0,12,34,.73);backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:12px;right:12px;z-index:1;background:#0a263cdd;color:#fff;border:0;border-radius:50%;width:40px;height:40px;font-size:26px;line-height:1}.dialog-photo img{width:100%;height:260px;object-fit:cover}.dialog-body{padding:32px 34px 36px}.dialog-body h2{font:700 clamp(21px,3vw,29px)/1.6 var(--jpserif)}.dialog-body>p{font-size:13px;color:#5a6b76;line-height:2}.dialog-note{background:#f0eadc;border-left:3px solid #b9914d;padding:17px;margin:22px 0 18px}.dialog-note strong{font-size:12px}.dialog-note p{font-size:11px;line-height:1.9;color:#5e686e;margin:7px 0 0}.dialog-body .outline-link{color:#173750;border-color:#b68d4b}.js-active .reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}.js-active .reveal.is-visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media (max-width:1230px){.desktop-nav{gap:13px}.desktop-nav a{font-size:11px}.brand-text b{font-size:25px}.chapter-content{grid-template-columns:1fr 1.1fr;gap:26px}.postcard img{height:143px}.postcard span:not(.postcard-arrow){padding:13px}.atlas-control{padding:27px 24px}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.desktop-nav{display:none}.menu-toggle{display:flex}.hero{min-height:660px}.chapter-content{grid-template-columns:1fr 1fr}.chapter-copy h2{font-size:37px}.postcards{grid-template-columns:repeat(3,1fr);gap:9px}.postcard img{height:108px}.postcard b{font-size:12px}.mini-features{grid-template-columns:repeat(2,1fr);margin-bottom:80px}.mini-features button{min-height:90px}.atlas{grid-template-columns:43% 57%}}
@media(max-width:760px){html{scroll-padding-top:70px}.site-header{height:70px;padding:0 17px}.brand-text b{font-size:23px}.brand-text small{font-size:7px;letter-spacing:.11em}.brand-symbol{width:35px;height:35px}.lang-wrap{min-width:101px}.hero{min-height:660px;height:min(760px,100svh);background-position:32% center}.hero-vignette{background:linear-gradient(180deg,rgba(2,12,28,.65),rgba(4,17,39,.40) 43%,rgba(4,13,33,.68) 75%,rgba(4,15,34,.80))}.hero-content{width:calc(100% - 34px);padding-top:80px}.hero h1{font-size:clamp(51px,11.5vw,81px);letter-spacing:.035em}.hero-japanese{font-size:19px;margin-bottom:20px}.hero-lead{font-size:21px}.hero-sublead{font-size:11px;line-height:1.9;max-width:370px}.hero-eyebrow{font-size:10px;letter-spacing:.08em}.hero-star{font-size:50px}.hero-search{padding:5px 5px 5px 12px}.hero-search button{padding:11px 17px;font-size:12px}.hero-search input{font-size:12px}.hero-bottom{left:20px;right:20px}.hero-caption{display:none}.hero-caption-right{display:none}.scroll-cue{margin:auto}.category-inner{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:13px 7px;scrollbar-width:none}.category-inner::-webkit-scrollbar{display:none}.category-link{flex:0 0 100px;min-height:72px;scroll-snap-align:start}.category-link span{font-size:29px}.category-link b{font-size:11px}.section-container{width:calc(100% - 38px)}.chapter-intro{padding:59px 0}.intro-grid{grid-template-columns:1fr;gap:16px}.intro-grid h2,.section-heading h2{font-size:31px}.intro-grid p{font-size:12px}.chapter{height:auto;min-height:650px}.chapter-content{grid-template-columns:1fr;align-content:start;gap:30px;padding-top:68px;padding-bottom:45px}.chapter-copy h2{font-size:clamp(30px,7.5vw,43px)}.chapter-copy>p:not(.chapter-num){font-size:12px}.chapter-num{font-size:10px;margin-bottom:18px}.postcards{gap:10px;align-self:end;margin-top:60px}.postcard img{height:110px}.postcard span:not(.postcard-arrow){padding:10px}.postcard small{font-size:8px}.postcard b{font-size:12px}.postcard-arrow{right:8px;bottom:14px}.chapter-life,.chapter-work{min-height:640px}.chapter-life .chapter-content,.chapter-work .chapter-content{padding-top:69px}.mini-features{grid-template-columns:repeat(2,minmax(0,1fr));margin:66px 0 0}.mini-features button{min-height:98px}.section-areas,.section-guides{padding:70px 0}.section-heading{display:block;margin-bottom:24px}.section-heading p{margin-top:12px;max-width:600px}.atlas{grid-template-columns:1fr}.atlas-control{padding:25px 21px}.atlas-map{min-height:300px}.atlas-map iframe{min-height:300px;height:300px}.atlas-detail h3{font-size:34px}.atlas-detail p{min-height:0}.filter-panel{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;padding:17px}.filter-left{grid-column:1/-1}.filter-right{width:100%}.filter-reset{white-space:nowrap}.filter-chips{flex-wrap:nowrap;overflow:auto;scrollbar-width:none;padding:0 1px 8px}.filter-chips button{white-space:nowrap;flex-shrink:0}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.story-image{height:140px}.story-card-content{padding:13px}.story-card h3{font-size:13px;min-height:62px}.story-card p{font-size:10px}.story-top{margin-bottom:9px}.story-area{font-size:9px}.story-tag{font-size:9px}.chapter-finale{height:570px}.finale-content h2{font-size:31px}.finale-content p{font-size:12px}.footer-inner{grid-template-columns:1fr;gap:10px}.footer{padding:36px 0}}
@media(max-width:430px){.brand-text b{font-size:21px}.brand-text small{font-size:6px}.lang-wrap{min-width:0;padding:6px}.lang-wrap select{max-width:72px;font-size:11px}.header-actions{gap:4px}.hero{min-height:680px}.hero h1{font-size:51px}.hero-japanese{letter-spacing:.24em}.hero-keywords{margin-top:14px}.hero-keywords button{padding:5px 9px}.chapter-copy h2{font-size:30px}.postcards{gap:7px;margin-top:75px}.postcard img{height:87px}.postcard span:not(.postcard-arrow){padding:10px 8px}.postcard b{font-size:11px}.postcard small{font-size:7px}.postcard-arrow{display:none}.area-picker{grid-template-columns:repeat(2,1fr)}.guide-grid{gap:11px}.story-image{height:120px}.story-card-content{padding:11px}.story-card h3{font-size:12px}.story-card p{font-size:10px}.story-area{font-size:8px}.story-cta{font-size:9px}.finale-content h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-mark{animation:none}.js-active .reveal{opacity:1;transform:none;transition:none}.story-card,.postcard,.gold-link,.mini-features button{transition:none}}

/* Atlas: an original illustrative Philippines guide with optional real map */
.atlas-map{overflow:hidden;background:radial-gradient(circle at 48% 46%,#1a6682,#073451 72%);isolation:isolate}
.map-art{position:absolute;inset:0;background:radial-gradient(circle at 58% 48%,rgba(25,123,147,.60),transparent 56%),linear-gradient(130deg,#073b59,#08516d 55%,#082b48);overflow:hidden;color:#ffedc3}
.map-art:before{content:'';pointer-events:none;position:absolute;inset:0;background-image:radial-gradient(circle at 20% 35%,rgba(255,233,178,.12) 1px,transparent 2px),radial-gradient(circle at 70% 65%,rgba(255,233,178,.10) 1px,transparent 2px);background-size:64px 61px,112px 123px}
.island-map{position:absolute;inset:-4% 0;width:100%;height:108%;filter:drop-shadow(0 9px 15px #041e3a8a)}
.map-compass{position:absolute;top:70px;right:27px;z-index:2;text-align:center;font:600 13px/1.1 var(--serif);letter-spacing:.16em;color:#e9c486;opacity:.8}
.map-marker{border:0;position:absolute;z-index:3;display:flex;align-items:center;gap:5px;padding:6px 8px;background:#09243dd9;color:#f7e2b5;border-radius:999px;transform:translate(-10%,-50%);box-shadow:0 2px 15px #0008;min-height:30px;font:600 11px var(--serif);letter-spacing:.03em}
.map-marker span{width:9px;height:9px;border-radius:50%;background:#f2d18f;box-shadow:0 0 10px #ffd995;outline:1px solid #fff5da;outline-offset:2px}
.map-marker[aria-pressed=true],.map-marker:hover{background:#f7d796;color:#142b43}.map-marker[aria-pressed=true] span{background:#10526c;box-shadow:none;outline-color:#20546b}
.map-caveat{position:absolute;left:20px;bottom:17px;z-index:3;max-width:60%;color:#e8dcbf;font-size:9px;line-height:1.5;opacity:.82;margin:0}
.map-switch{position:absolute;z-index:4;right:19px;bottom:17px;border:1px solid #e8cc95;background:#0b334cdc;color:#fff7df;border-radius:999px;min-height:40px;padding:8px 14px;font-size:11px;font-weight:600}
.map-switch:hover{background:#185773}
.atlas-map.is-live .map-art{display:none}.atlas-map.is-live iframe{position:absolute;inset:0;width:100%;height:100%;min-height:515px;background:#d3e2e3;display:block}
.atlas-map.is-live .map-credit{display:block}
.atlas-map.is-live .map-switch{bottom:25px;right:25px}
.atlas-map.is-live .map-switch::before{content:''}
.atlas-map.is-live .map-caveat{display:none}
@media(max-width:760px){.atlas-map .map-art{min-height:300px}.map-marker{font-size:10px;padding:4px 6px}.map-marker b{font-size:10px}.map-caveat{max-width:53%;font-size:8px}.map-switch{font-size:10px;max-width:40%}.atlas-map.is-live iframe{min-height:300px}}
@media(max-width:430px){.island-map{inset:-4% -7%;width:115%;height:108%}.map-marker{transform:translate(-35%,-50%)}.map-compass{right:12px;top:58px}}

#areaMap[hidden]{display:none!important}
@media(max-width:350px){.hero{min-height:760px}.hero-content{padding-top:95px}.hero-bottom{bottom:18px}.chapter-copy h2{font-size:28px}}

/* Offline article and atlas pages */
.article-page .site-header,.map-page .site-header{position:relative;background:var(--deep)}
.article-main{width:min(820px,calc(100% - 38px));margin:42px auto 70px}
.article-main .back-link{display:inline-block;margin-bottom:24px;color:#8a612e;font-size:13px}
.article-shell{overflow:hidden;border-radius:22px;background:#fffaf0;box-shadow:var(--shadow)}
.article-cover{width:100%;height:360px;object-fit:cover}
.article-body{padding:36px 42px 42px}.article-body h1{font:600 clamp(24px,4vw,38px)/1.6 var(--jpserif);overflow-wrap:anywhere}
.article-body>p{line-height:2;font-size:15px}.article-body .outline-link{display:inline-flex;color:#173750}
.article-page .site-header,.map-page .site-header{gap:12px}
.map-page .section-areas{padding-top:48px}.map-page .atlas{min-height:570px}
.map-page .atlas-map{min-height:570px}.map-page .map-art{position:absolute}
.header-home{color:#f4d08e;font-size:12px}.article-footer{text-align:center;padding:0 20px 30px;font-size:12px;color:#64768a}
.article-body,.atlas-control,.chapter-copy{min-width:0}
@media(max-width:760px){.article-cover{height:190px;object-position:center 25%}.article-body{padding:25px 22px 30px}.article-main{margin-top:26px}.map-page .atlas-map{min-height:360px}.map-page .section-areas{padding-top:30px}.header-home{font-size:10px}.article-page .site-header,.map-page .site-header{padding:0 15px}}

/* GPT design guidance: preserve Japanese phrase boundaries. */
.story-card h3 .keep-phrase{white-space:nowrap}
@media(max-width:480px){.finale-content h2 em{word-break:keep-all;overflow-wrap:normal}}

.chapter-copy h2 .keep-phrase{white-space:nowrap}

/* ISLA STORIES | Mira introduction */

.chapter-intro .intro-description {
  min-width: 0;
}

.chapter-intro .intro-guide {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 16px;
  padding: 12px 0;
  min-width: 0;
  border-top: 1px solid rgba(193, 153, 78, 0.35);
}

/* 横長画像を切らずに表示 */
.chapter-intro .intro-guide img {
  display: block;
  width: 116px;
  height: auto;
  object-fit: contain;
  flex: 0 0 116px;
  border-radius: 8px;
}

.chapter-intro .intro-guide-copy {
  min-width: 0;
  flex: 1;
}

.chapter-intro .intro-guide strong {
  display: block;
  margin-bottom: 4px;
  color: inherit;
  font-size: 0.85rem;
  line-height: 1.5;
  font-weight: 700;
}

.chapter-intro .intro-guide-copy p {
  margin: 0;
  color: inherit;
  font-size: 0.78rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

/* スマートフォン */
@media (max-width: 480px) {
  .chapter-intro .intro-guide {
    align-items: flex-start;
    gap: 10px;
    margin-top: 12px;
    padding: 10px 0;
  }

  .chapter-intro .intro-guide img {
    width: 92px;
    flex-basis: 92px;
  }

  .chapter-intro .intro-guide strong {
    font-size: 0.8rem;
  }

  .chapter-intro .intro-guide-copy p {
    font-size: 0.75rem;
    line-height: 1.65;
  }
}
