:root{--paper:#FBFAF6;--ink:#0E2A3B;--sea:#0F6E7E;--sea2:#0A5562;--mist:#E5EFEE;--red:#A8322A;--red2:#8C281F;--saffron:#E2A93B;--muted:#56666E;--line:#E3E0D6;
--serif:"Bricolage Grotesque",system-ui,sans-serif;--sans:Commissioner,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.7 var(--sans);color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--sea);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--sea2)}
:focus-visible{outline:2px solid var(--saffron);outline-offset:3px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 .45em;color:var(--ink)}
h1{font-size:clamp(2.3rem,5vw,4rem)}h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}h3{font-size:1.4rem;line-height:1.2}
.wrap{max-width:1400px;margin:0 auto;padding:0 32px}@media(max-width:640px){.wrap{padding:0 20px}}.narrow{max-width:820px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
/* header */
.site-h{position:sticky;top:0;z-index:50;background:rgba(251,250,246,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-h .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.site-h .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.site-h .logo img{height:40px;width:auto}.site-h .logo span{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;font-size:1.45rem;line-height:1}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;align-items:center}
.nav a{display:block;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--saffron);color:var(--ink)}.nav a[aria-current]{border-color:var(--sea)}
.nav a.cta{background:var(--red);color:#fff;padding:10px 20px;border-radius:999px;border:0}.nav a.cta:hover{background:var(--red2)}
.menu-btn{display:none;border:0;background:none;padding:10px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}
@media(max-width:920px){.menu-btn{display:block}.nav{position:absolute;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);display:none}
.nav.open{display:block}.nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px}.nav a{padding:13px 0;border-bottom:1px solid var(--line)}.nav a.cta{margin-top:14px;text-align:center}}
/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font:600 1rem/1.2 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn-red,.btn-sun{background:var(--red);color:#fff}.btn-red:hover,.btn-sun:hover{background:var(--red2);color:#fff}
.btn-sea{background:var(--ink);color:#fff}.btn-sea:hover{background:var(--sea2);color:#fff}
.btn-line,.btn-glass{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-line:hover,.btn-glass:hover{background:var(--ink);color:#fff}
/* hero */
.hero{position:relative;padding:64px 0 88px;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:var(--mist);z-index:-2}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(3rem,6.6vw,5.8rem);line-height:.98;margin-bottom:.32em;max-width:9.5ch}
.hero .lead{font-size:1.2rem;line-height:1.6;color:var(--muted);max-width:42ch;margin:0 0 32px}
.hero .go{margin:36px 0 0;font-size:.95rem;color:var(--muted);max-width:52ch}
.hero .go a{color:var(--ink);font-weight:500}
.arch-wrap{position:relative;margin:0;justify-self:end;width:min(100%,460px)}
.arch-wrap::before{content:"";position:absolute;right:-34px;top:54px;width:104px;height:104px;border-radius:50%;background:var(--saffron);z-index:-1}
.arch{aspect-ratio:4/5;border-radius:50% 50% 12px 12px/40% 40% 12px 12px;overflow:hidden;background:var(--mist)}
.arch img{width:100%;height:100%;object-fit:cover;animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both}
.inset{position:absolute;left:-64px;bottom:58px;width:42%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid var(--paper);background:var(--mist)}
.inset img{width:100%;height:100%;object-fit:cover}
.arch-wrap figcaption{margin-top:12px;font-size:.85rem;color:var(--muted);text-align:right}
@keyframes rise{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.arch img{animation:none}html{scroll-behavior:auto}}
@media(max-width:900px){.hero{padding:28px 0 56px}.hero::before{height:80px}.hero .wrap{grid-template-columns:1fr;gap:36px}
.arch-wrap{order:-1;justify-self:center;width:min(62%,270px)}.inset{left:-38px;bottom:34px}.arch-wrap::before{width:70px;height:70px;right:-18px;top:30px}
.hero h1{max-width:none}}
/* sections */
section{padding:84px 0}.sec-head{max-width:640px;margin-bottom:40px}.sec-head p{color:var(--muted);margin:0;font-size:1.05rem}
.sec-row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:40px}.sec-row .sec-head{margin:0}
.more{font-weight:600;text-decoration:none;border-bottom:2px solid var(--saffron);color:var(--ink);padding-bottom:2px}
.alt{background:var(--mist)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:2px solid var(--ink)}
.facts div{padding:22px 28px 22px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:.88rem;color:var(--sea);font-weight:600}.facts dd{margin:6px 0 0;font-family:var(--serif);font-size:1.35rem;line-height:1.3}
@media(max-width:820px){.facts{grid-template-columns:1fr 1fr}}@media(max-width:520px){.facts{grid-template-columns:1fr}}
/* feature + cards */
.feature{display:grid;grid-template-columns:1.3fr 1fr;gap:52px;align-items:center;margin-bottom:64px;position:relative}
.feature .ph{aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--mist)}.feature .ph img{width:100%;height:100%;object-fit:cover}
.feature .tag{font-size:.9rem;color:var(--sea);font-weight:600}.feature h3{font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.08;margin:.3em 0 .4em}
.feature h3 a{color:var(--ink);text-decoration:none}.feature h3 a::after{content:"";position:absolute;inset:0}.feature:hover h3 a{text-decoration:underline;text-decoration-color:var(--saffron)}
.feature p{color:var(--muted);font-size:1.05rem;margin:0}
@media(max-width:820px){.feature{grid-template-columns:1fr;gap:22px}}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:44px 30px}
.card{position:relative;display:flex;flex-direction:column}
.card .ph{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--mist);margin-bottom:16px}.card .ph img{width:100%;height:100%;object-fit:cover}
.card .tag{font-size:.84rem;color:var(--sea);font-weight:600}
.card h3{font-size:1.38rem;margin:.25em 0 .35em}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a::after{content:"";position:absolute;inset:0}
.card:hover h3 a{text-decoration:underline;text-decoration-color:var(--saffron);text-decoration-thickness:2px}
.card p{color:var(--muted);font-size:.95rem;margin:0;line-height:1.6}
.ph.noimg{display:grid;place-items:center;background:var(--ink)}.ph.noimg span{color:var(--saffron);font-family:var(--serif);font-size:1.4rem}
/* ranked */
.ranked{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 56px;counter-reset:r}
.ranked li{counter-increment:r;display:grid;grid-template-columns:44px 96px 1fr;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);position:relative}
.ranked li::before{content:counter(r);font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--saffron)}
.ranked .th{width:96px;height:72px;border-radius:8px;overflow:hidden;background:var(--mist)}.ranked .th img{width:100%;height:100%;object-fit:cover}
.ranked a{font-family:var(--serif);font-size:1.22rem;line-height:1.25;color:var(--ink);text-decoration:none}.ranked a::after{content:"";position:absolute;inset:0}
.ranked li:hover a{color:var(--sea)}.ranked small{display:block;margin-top:5px;font-size:.85rem;color:var(--muted)}
@media(max-width:820px){.ranked{grid-template-columns:1fr}.ranked li{grid-template-columns:34px 80px 1fr;gap:14px}.ranked .th{width:80px;height:60px}}
/* topics */
.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:40px 32px}@media(min-width:1100px){.topics{grid-template-columns:repeat(5,1fr)}}
.topic h3{font-size:1.45rem;padding-bottom:12px;margin-bottom:6px;border-bottom:2px solid var(--ink)}
.topic p{color:var(--muted);font-size:.9rem;margin:0 0 8px}
.topic ul{list-style:none;margin:0;padding:0}.topic li a{display:block;padding:8px 0;border-bottom:1px solid rgba(14,42,59,.12);color:var(--ink);text-decoration:none;font-size:.94rem;line-height:1.4}
.topic li a:hover{color:var(--sea)}.topic .all{display:inline-block;margin-top:12px;font-size:.9rem;font-weight:600}
/* band */
.band{background:var(--ink);color:#cfdee3;border-radius:18px;padding:clamp(30px,5vw,64px);display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.band h2{color:#fff}.band p{margin:0 0 26px;max-width:52ch}.band ul{margin:0;padding:0;list-style:none;position:relative;z-index:1}
.band li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}.band li::before{content:"✓";position:absolute;left:0;color:var(--saffron);font-weight:700}
.band small{display:block;margin-top:14px;opacity:.7;font-size:.82rem}@media(max-width:820px){.band{grid-template-columns:1fr}}
/* faq */
.faq-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:56px;align-items:start}@media(max-width:820px){.faq-grid{grid-template-columns:1fr;gap:20px}}
.faq details{border-bottom:1px solid var(--line)}.faq details:first-of-type{border-top:2px solid var(--ink)}
.faq summary{font-family:var(--serif);font-size:1.3rem;line-height:1.3;cursor:pointer;padding:20px 40px 20px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--sans);font-size:1.5rem;color:var(--sea)}
.faq details[open] summary::after{content:"−"}.faq details p{margin:0 0 22px;color:var(--muted);max-width:68ch}
/* about strip */
.about-strip{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;border-top:2px solid var(--ink);padding-top:36px}
.about-strip .mini-arch{width:110px;aspect-ratio:4/5;border-radius:50% 50% 8px 8px/40% 40% 8px 8px;overflow:hidden}.about-strip .mini-arch img{width:100%;height:100%;object-fit:cover}
.about-strip h2{font-size:2rem;margin-bottom:.2em}.about-strip p{margin:0;color:var(--muted);max-width:56ch}
@media(max-width:720px){.about-strip{grid-template-columns:1fr}.about-strip .mini-arch{display:none}}
/* footer */
.site-f{background:var(--ink);color:#b9ccd3;padding:64px 0 28px;font-size:.94rem}
.site-f .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.site-f a{color:#fff;text-decoration:none}.site-f a:hover{color:var(--saffron)}
.site-f ul{list-style:none;margin:0;padding:0}.site-f li{padding:5px 0}
.site-f h3{color:#fff;font-size:1.2rem}.site-f .logo img{height:44px;width:auto;filter:brightness(0) invert(1);margin-bottom:14px}
.site-f .legal{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;font-size:.84rem}@media(max-width:760px){.site-f .cols{grid-template-columns:1fr}}
/* page heads */
.page-hero{padding:52px 0 28px}.page-hero h1{max-width:22ch}
.page-hero .meta{color:var(--muted);font-size:.95rem;display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;max-width:68ch}
.page-hero p.meta{display:block}.page-hero .meta span+span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--saffron);margin:0 12px 2px -12px;vertical-align:middle}
.crumbs{font-size:.88rem;margin-bottom:20px;color:var(--muted)}.crumbs a{color:var(--sea);text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs span{margin:0 8px;color:#b9b5a8}
.lead-img{margin:0 auto;padding:0 32px;max-width:calc(var(--w,1200px) + 64px)}
.lead-img img{width:100%;border-radius:14px;max-height:74vh;object-fit:cover}
.lead-img figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
/* post */
.post{padding:52px 0 40px}.post .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;align-items:start}
@media(max-width:980px){.post .wrap{grid-template-columns:1fr;gap:40px}.aside{position:static!important}}
.prose{min-width:0;font-size:1.06rem;line-height:1.78;max-width:70ch}
.prose h2{font-size:clamp(1.7rem,3vw,2.2rem);margin-top:1.7em;scroll-margin-top:96px}.prose h3{font-size:1.45rem;margin-top:1.5em;scroll-margin-top:96px}.prose h4{font-size:1.2rem;margin-top:1.3em}
.prose figure{margin:30px 0}.prose img{border-radius:10px}.prose figure img{margin:0 auto}.prose figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.prose ol li,.prose ul li{margin:7px 0}.prose blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:3px solid var(--saffron);font-family:var(--serif);font-size:1.3rem;line-height:1.45}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.stand{font-family:var(--serif);font-size:1.5rem;line-height:1.4;margin:0 0 28px}
.answer{background:#fff;border-left:4px solid var(--saffron);border-radius:0 10px 10px 0;padding:20px 24px;margin:0 0 30px}
table.kf{width:100%;border-collapse:collapse;margin:20px 0;font-size:.96rem;display:table;border-top:2px solid var(--ink)}
table.kf th,table.kf td{padding:12px 14px 12px 0;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}table.kf th{width:34%;font-weight:600;color:var(--sea)}
.toc{background:var(--mist);border-radius:10px;padding:20px 24px;margin:0 0 34px;font-size:.96rem}.toc ol{margin:8px 0 0;padding-left:20px}.toc li{margin:4px 0}.toc a{text-decoration:none;color:var(--ink)}.toc a:hover{color:var(--sea);text-decoration:underline}
.aside{position:sticky;top:96px;display:grid;gap:20px}
.box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.box h3{font-size:1.35rem}.box ul{margin:0;padding:0;list-style:none}
.box li a{display:block;padding:7px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.93rem;line-height:1.4}.box li a:hover{color:var(--sea)}
.box.sun{background:var(--ink);border:0;color:#cfdee3}.box.sun h3{color:#fff}.box.sun p{font-size:.95rem}
.box.sun .btn{background:var(--red);color:#fff;width:100%}.box.sun .btn:hover{background:var(--red2)}
.cta-inline{margin:44px 0}.cta-inline .btn{width:auto}.cta-inline small{display:block;margin-top:12px;opacity:.75;font-size:.82rem}
.note{background:#FCF4E2;border-left:3px solid var(--saffron);border-radius:0 10px 10px 0;padding:14px 18px;font-size:.96rem}
.yt{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;cursor:pointer;margin:30px 0}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85;border-radius:0}.yt button{position:absolute;inset:0;margin:auto;width:76px;height:52px;border-radius:12px;border:0;background:var(--red);color:#fff;font-size:20px;cursor:pointer}
.game{position:relative;height:min(78vh,720px);border-radius:14px;overflow:hidden;background:#000}
.game iframe,.yt iframe,.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map{position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden;margin:22px 0;background:var(--mist)}.prose .map{aspect-ratio:4/3}
.share{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0;align-items:center}.share a{font-size:.88rem;padding:7px 14px;border-radius:6px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:#fff}.share a:hover{border-color:var(--ink)}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:34px 0}.pn a{border-top:2px solid var(--ink);padding:14px 0;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.15rem;line-height:1.3}
.pn small{display:block;font-family:var(--sans);color:var(--sea);font-weight:600;font-size:.82rem;margin-bottom:4px}.pn .nx{text-align:right}@media(max-width:640px){.pn{grid-template-columns:1fr}.pn .nx{text-align:left}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:24px 0}.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;border-radius:8px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.filters button{font:500 .93rem var(--sans);padding:9px 16px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.filters button:hover{border-color:var(--ink)}.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
/* forms */
.qform{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(22px,4vw,44px)}
.qform fieldset{border:0;padding:0;margin:0 0 24px}.qform legend{font-family:var(--serif);font-size:1.3rem;margin-bottom:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.qform label{display:block;font-size:.86rem;font-weight:600;color:var(--muted);margin-bottom:5px}
.qform input,.qform select,.qform textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #cfcabd;border-radius:8px;background:var(--paper);color:var(--ink)}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:2px solid var(--sea);border-color:transparent}
.radios{display:flex;gap:10px;flex-wrap:wrap}.radios label{display:flex;gap:8px;align-items:center;border:1px solid #cfcabd;border-radius:8px;padding:10px 14px;cursor:pointer;color:var(--ink);margin:0}
.hp{position:absolute;left:-9999px}.summary{background:var(--mist);border-radius:10px;padding:14px 18px;margin:8px 0 22px;font-size:.96rem}
.consent{display:flex!important;gap:10px;align-items:flex-start;font-size:.9rem;font-weight:400!important}.consent input{width:auto;margin-top:5px}
.ok{background:#E6F2EC;border-left:3px solid #2E7D5B;padding:14px 18px;border-radius:0 10px 10px 0;margin-bottom:20px}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:2px solid var(--ink)}.trust div{padding:16px 16px 16px 0;font-size:.9rem;color:var(--muted);border-bottom:1px solid var(--line)}
.trust b{display:block;font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--ink)}@media(max-width:640px){.trust{grid-template-columns:1fr 1fr}}

/* ===== website layer ===== */
.home .site-h{position:fixed;left:0;right:0;background:transparent;border-color:transparent;transition:background .35s,border-color .35s,box-shadow .35s}
.home .site-h:not(.solid) .logo,.home .site-h:not(.solid) .nav a:not(.cta){color:#fff}.home .site-h:not(.solid) .menu-btn span{background:#fff}
.site-h.solid{background:rgba(251,250,246,.96);border-color:var(--line);box-shadow:0 8px 28px rgba(14,42,59,.08)}
@media(max-width:920px){.home .site-h:not(.solid) .nav.open a:not(.cta){color:var(--ink)}}
.hx{position:relative;min-height:min(100vh,880px);min-height:min(100svh,880px);display:flex;align-items:center;color:#fff;padding:120px 0 150px;overflow:hidden;isolation:isolate;
background:radial-gradient(900px 520px at 80% 28%,rgba(226,169,59,.22),transparent 62%),radial-gradient(700px 500px at 0% 100%,rgba(15,110,126,.55),transparent 70%),linear-gradient(160deg,#0A1F2C 0%,#0E3A4C 52%,#0F6E7E 100%)}
.hx .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;width:100%}
.hx h1{color:#fff;font-size:clamp(3.1rem,7vw,6.4rem);line-height:.95;margin:0 0 .3em;max-width:9ch}
.hx .lead{font-size:1.2rem;line-height:1.6;color:#cfe3e8;max-width:44ch;margin:0 0 30px}
.where{display:flex;align-items:center;background:#fff;border-radius:999px;padding:6px 6px 6px 20px;max-width:520px;box-shadow:0 22px 50px rgba(0,0,0,.28)}
.where:focus-within{box-shadow:0 0 0 3px var(--saffron),0 22px 50px rgba(0,0,0,.28)}
.where svg{flex:none;color:var(--sea)}.where input{flex:1;min-width:0;border:0;background:transparent;font:500 1.02rem var(--sans);padding:12px 12px;color:var(--ink)}.where input:focus{outline:none}
.where button{border:0;background:var(--red);color:#fff;font:600 1rem var(--sans);border-radius:999px;padding:13px 26px;cursor:pointer;transition:background .2s}.where button:hover{background:var(--red2)}
.hx .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;align-items:center}.hx .tags small{color:#9fc3ca;margin-right:4px;font-size:.88rem}
.hx .tags a{color:#fff;text-decoration:none;font-size:.9rem;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.06);transition:background .2s,color .2s,border-color .2s}
.hx .tags a:hover{background:var(--saffron);border-color:var(--saffron);color:var(--ink)}
.collage{position:relative;height:min(62vh,540px);min-height:420px}
.collage>*{position:absolute;transition:transform .3s ease-out;will-change:transform}
.c-sun{width:140px;height:140px;border-radius:50%;right:4%;top:0;background:radial-gradient(circle at 35% 35%,#F7D27A,var(--saffron) 58%,#C98A1E);box-shadow:0 0 90px 24px rgba(226,169,59,.35);animation:glow 6s ease-in-out infinite}
.c-main{width:63%;right:8%;top:6%;aspect-ratio:4/5;border-radius:50% 50% 16px 16px/40% 40% 16px 16px;overflow:hidden;box-shadow:0 34px 70px rgba(0,0,0,.4)}
.c-side{width:35%;left:0;top:2%;aspect-ratio:3/4;border-radius:50% 50% 12px 12px/38% 38% 12px 12px;overflow:hidden;border:6px solid rgba(255,255,255,.92);box-shadow:0 22px 44px rgba(0,0,0,.35)}
.c-dot{width:30%;left:6%;bottom:2%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:7px solid #fff;box-shadow:0 22px 44px rgba(0,0,0,.35);animation:bob 7s ease-in-out infinite}
.collage img{width:100%;height:100%;object-fit:cover}.c-main img{animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both}
.c-label{right:0;bottom:9%;background:#fff;color:var(--ink);padding:12px 18px;border-radius:12px;font-size:.84rem;box-shadow:0 16px 36px rgba(0,0,0,.28);line-height:1.35}.c-label b{display:block;font-family:var(--serif);font-weight:700;font-size:1.2rem}
@keyframes glow{50%{box-shadow:0 0 120px 36px rgba(226,169,59,.5)}}@keyframes bob{50%{translate:0 -14px}}
.waves{position:absolute;left:0;right:0;bottom:-1px;height:120px;overflow:hidden;pointer-events:none;z-index:1}
.waves svg{position:absolute;bottom:0;left:0;height:100%}.waves .a,.waves .b{width:200%;animation:drift 22s linear infinite}.waves .b{animation-duration:14s;animation-direction:reverse}.waves .c{width:100%}
@keyframes drift{to{transform:translateX(-50%)}}
.hx .wrap>*{min-width:0}
@media(max-width:900px){.hx{padding:100px 0 140px;min-height:0}.hx .wrap{grid-template-columns:minmax(0,1fr);gap:28px}.where button{padding:13px 18px}.collage{order:-1;height:360px;min-height:0;max-width:440px;width:100%;justify-self:center}
.c-sun{width:84px;height:84px}.c-label{display:none}.hx h1{max-width:none}}
/* rail */
.rail-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:18px}.rail-head .sec-head{margin:0}
.rail-btns{display:flex;gap:10px}.rail-btns button{width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:transparent;cursor:pointer;font-size:1.15rem;color:var(--ink);transition:background .2s,color .2s}.rail-btns button:hover{background:var(--ink);color:#fff}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(210px,17vw,290px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px max(32px,calc((100vw - 1400px)/2 + 32px)) 30px;scroll-padding-left:max(32px,calc((100vw - 1400px)/2 + 32px))}
.rail::-webkit-scrollbar{display:none}
.pc{scroll-snap-align:start;position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;color:#fff;text-decoration:none;box-shadow:0 16px 36px rgba(14,42,59,.18);transition:transform .35s,box-shadow .35s}
.pc:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(14,42,59,.26)}
.pc img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.pc:hover img{transform:scale(1.08)}
.pc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,31,44,0) 42%,rgba(10,31,44,.88))}
.pc span{position:absolute;left:20px;right:20px;bottom:18px;z-index:1}.pc small{color:var(--saffron);font-weight:600;font-size:.82rem}.pc b{display:block;font-family:var(--serif);font-weight:700;font-size:1.75rem;line-height:1.05;margin-top:2px}
/* regions */
.regions{background:linear-gradient(180deg,var(--mist),#D3E6E4)}
.rtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.rtabs button{font:500 1rem var(--sans);padding:11px 22px;border-radius:999px;border:0;background:rgba(255,255,255,.75);color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.rtabs button:hover{background:#fff}.rtabs button[aria-selected=true]{background:var(--ink);color:#fff}
.rpanel{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 26px 64px rgba(14,42,59,.15);animation:fade .55s ease both}
.rpanel .img{position:relative;min-height:460px;overflow:hidden}.rpanel .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:zoomout 1.6s cubic-bezier(.2,.7,.2,1) both}
.rpanel .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,31,44,.7))}
.rpanel .img span{position:absolute;left:28px;bottom:22px;z-index:1;color:#fff;font-family:var(--serif);font-size:clamp(2.6rem,4.6vw,4rem);line-height:1}
.rpanel .txt{padding:38px 42px}.rpanel .txt>p{color:var(--muted);font-size:1.05rem;margin-top:0}
.rpanel ul{list-style:none;padding:0;margin:14px 0 0}.rpanel li a{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.98rem;line-height:1.4}
.rpanel li a::after{content:"›";color:var(--sea);font-size:1.3rem;line-height:1;transition:transform .2s}.rpanel li a:hover{color:var(--sea)}.rpanel li a:hover::after{transform:translateX(4px)}
.rpanel[hidden]{display:none}.ribbon-wrap{overflow:hidden;padding:24px 0}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes zoomout{from{transform:scale(1.12)}to{transform:none}}
@media(max-width:820px){.rpanel{grid-template-columns:1fr}.rpanel .img{min-height:260px}.rpanel .txt{padding:26px 22px}}
/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:18px}
.bento a{position:relative;border-radius:20px;overflow:hidden;color:#fff;text-decoration:none;display:block;background:var(--ink);box-shadow:0 14px 34px rgba(14,42,59,.14)}
.bento a:first-child{grid-column:span 2;grid-row:span 2}
.bento img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.bento a:hover img{transform:scale(1.07)}
.bento a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,31,44,0) 38%,rgba(10,31,44,.9))}
.bento span{position:absolute;left:22px;right:22px;bottom:20px;z-index:1}.bento small{color:var(--saffron);font-weight:600;font-size:.82rem}
.bento b{display:block;font-family:var(--serif);font-weight:700;font-size:1.4rem;line-height:1.12;margin-top:4px}.bento a:first-child b{font-size:clamp(1.8rem,3vw,2.6rem)}
.bento em{display:block;font-style:normal;color:#cfe3e8;font-size:.95rem;margin-top:8px;max-width:46ch}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:220px}}@media(max-width:560px){.bento{grid-template-columns:1fr}.bento a:first-child{grid-column:auto;grid-row:span 1}.bento a:first-child em{display:none}}
/* ribbon */
.ribbon{background:var(--saffron);color:var(--ink);overflow:hidden;padding:20px 0;transform:rotate(-1.3deg);margin:10px -30px;box-shadow:0 12px 30px rgba(226,169,59,.3)}
.ribbon div{display:flex;width:max-content;animation:marquee 45s linear infinite;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.5rem);white-space:nowrap}
.ribbon span{padding:0 28px}.ribbon span::after{content:"✦";padding-left:56px;color:var(--red);font-size:.6em;vertical-align:.25em}
@keyframes marquee{to{transform:translateX(-50%)}}
/* deep + red bands */
.deep{background:radial-gradient(800px 400px at 90% 0%,rgba(226,169,59,.16),transparent 60%),linear-gradient(160deg,#0A1F2C,#0E3A4C 50%,#0F6E7E);color:#d5e7ea}
.deep h2{color:#fff}.deep .sec-head p{color:#a9cbd1}.deep .ranked li{border-color:rgba(255,255,255,.14)}.deep .ranked a{color:#fff}.deep .ranked small{color:#9fc3ca}.deep .ranked li:hover a{color:var(--saffron)}
.deep .ranked .th{transition:transform .4s}.deep .ranked li:hover .th{transform:scale(1.06) rotate(-2deg)}
.band.red{background:radial-gradient(600px 300px at 100% 100%,rgba(226,169,59,.35),transparent 60%),linear-gradient(135deg,#B23A30,#7E2119);color:#f7dcd7}
.band.red .btn{background:#fff;color:var(--red)}.band.red .btn:hover{background:var(--saffron);color:var(--ink)}.band.red li{border-color:rgba(255,255,255,.2)}.band.red li::before{color:var(--saffron)}
/* cards motion */
.card .ph img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.card:hover .ph img{transform:scale(1.07)}
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.js .rv.in{opacity:1;transform:none}
/* page heads */
.page-hero{position:relative;padding:56px 0 120px;color:#fff;background:radial-gradient(700px 380px at 92% 0%,rgba(226,169,59,.2),transparent 60%),linear-gradient(160deg,#0A1F2C,#0E3A4C 55%,#0F6E7E)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:64px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath fill='%23FBFAF6' d='M0,42 Q360,4 720,42 T1440,42 V70 H0Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.page-hero h1{color:#fff}.page-hero .meta{color:#b7d3d8}.page-hero .crumbs{color:#9fc3ca}.page-hero .crumbs a{color:var(--saffron)}.page-hero .crumbs span{color:rgba(255,255,255,.35)}
.page-hero.has-img{padding-bottom:220px}.lead-img{position:relative;z-index:2;margin-top:-190px}.lead-img img{box-shadow:0 34px 80px rgba(10,31,44,.35)}
.page-hero .trust{border-color:rgba(255,255,255,.5)}.page-hero .trust div{color:#b7d3d8;border-color:rgba(255,255,255,.14)}.page-hero .trust b{color:#fff}
.site-f{position:relative;margin-top:60px}.site-f::before{content:"";position:absolute;left:0;right:0;top:-63px;height:64px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath fill='%230E2A3B' d='M0,40 Q360,78 720,40 T1440,40 V70 H0Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.progress{position:fixed;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--saffron),var(--red));transform-origin:0 50%;transform:scaleX(0);z-index:70}
.totop{position:fixed;right:20px;bottom:20px;width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;text-decoration:none;font-size:1.2rem;z-index:45;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .3s,background .2s;box-shadow:0 12px 28px rgba(14,42,59,.3)}
.scrolled .totop{opacity:1;pointer-events:auto;transform:none}.totop:hover{background:var(--red);color:#fff}
@media(prefers-reduced-motion:reduce){.waves .a,.waves .b,.ribbon div,.c-dot,.c-sun,.c-main img,.rpanel,.rpanel .img img{animation:none}.js .rv{opacity:1;transform:none;transition:none}.pc,.pc img,.bento img,.card .ph img{transition:none}}

.today{grid-column:1/-1;margin-top:40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:22px;padding:20px 26px;display:none;position:relative;z-index:2;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.js .today{display:block}.js .today[hidden]{display:none}
.t-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.t-title{font-family:var(--serif);font-size:1.4rem;display:flex;align-items:center;gap:12px}
.t-title::before{content:"";width:9px;height:9px;border-radius:50%;background:#5EE09A;animation:ping 2.2s infinite}
.t-towns{display:flex;gap:6px;flex-wrap:wrap}.t-towns button{font:500 .88rem var(--sans);color:#cfe3e8;background:transparent;border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:6px 15px;cursor:pointer;transition:background .2s,color .2s}
.t-towns button:hover{border-color:#fff;color:#fff}.t-towns button.on{background:#fff;color:var(--ink);border-color:#fff}
.t-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.9fr);transition:opacity .3s}.busy .t-grid{opacity:.55}
.t-cell{padding:6px 20px;border-left:1px solid rgba(255,255,255,.14)}.t-cell:first-child{border-left:0;padding-left:0}
.t-cell small{display:block;color:#9fc3ca;font-size:.8rem;font-weight:600}
.t-cell b{display:block;font-family:var(--serif);font-weight:700;font-size:2.1rem;line-height:1.15;color:#fff;white-space:nowrap}.t-cell b i{font-style:normal;font-family:var(--sans);font-size:.9rem;color:#cfe3e8}
.t-cell span{font-size:.86rem;color:#cfe3e8}
.t-cell.tip p{margin:6px 0 0;font-size:.98rem;line-height:1.5;color:#fff}.t-cell.tip a{color:var(--saffron);font-weight:600}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(94,224,154,.6)}80%,100%{box-shadow:0 0 0 10px rgba(94,224,154,0)}}
@media(max-width:900px){.t-grid{grid-template-columns:1fr 1fr}.t-cell{border-left:0;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}.t-cell:nth-child(2n){padding-left:16px}.t-cell.tip{grid-column:1/-1;padding-left:0}.today{padding:18px}}
@media(prefers-reduced-motion:reduce){.t-title::before{animation:none}}

/* ===== modern hero ===== */
.hs{position:relative;min-height:clamp(620px,86vh,820px);min-height:clamp(620px,86svh,820px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;isolation:isolate;background:#0A1F2C}
.slides,.slides .s,.hs-shade{position:absolute;inset:0;margin:0}
.slides{z-index:-2}.slides .s{opacity:0;transition:opacity 1.4s ease}.slides .s.on{opacity:1}
.slides img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}.slides .s.on img{animation:kb 9s ease-out both}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1.02)}}
.hs-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,22,32,.78) 0%,rgba(7,22,32,.45) 45%,rgba(7,22,32,.1) 75%),linear-gradient(0deg,rgba(7,22,32,.75) 0%,rgba(7,22,32,0) 45%),linear-gradient(180deg,rgba(7,22,32,.55) 0%,rgba(7,22,32,0) 22%)}
.hs-in{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:end;width:100%;padding-top:104px}
.hs-kick{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:16px}
.hs-kick::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--saffron)}
.hs h1{color:#fff;font-size:clamp(3rem,7.4vw,6.8rem);font-weight:800;line-height:.92;letter-spacing:-.035em;margin:0 0 .28em;max-width:10ch;text-shadow:0 6px 40px rgba(0,0,0,.25)}
.hs .lead{font-size:1.22rem;line-height:1.55;color:#e4f0f2;max-width:42ch;margin:0 0 28px}
.hs .where button{padding:13px 24px}.hs .tags{margin-top:18px}
.hs .tags,.hs .tags small{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hs .tags small{color:#cfe3e8;font-size:.88rem;margin-right:2px}
.hs .tags a{color:#fff;text-decoration:none;font-size:.88rem;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,color .2s}
.hs .tags a:hover{background:#fff;color:var(--ink)}
.hs .today{grid-column:auto;margin:0;padding:22px;border-radius:24px;background:rgba(10,31,44,.42);border:1px solid rgba(255,255,255,.2);display:none}
.js .hs .today{display:block}.js .hs .today[hidden]{display:none}
.hs .t-head{display:flex;align-items:center;gap:10px;margin:0 0 6px}.hs .t-title{font-family:var(--sans);font-size:.95rem;font-weight:500;color:#cfe3e8;gap:10px}
.t-sel{font:600 1rem var(--sans);color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 30px 6px 14px;cursor:pointer;appearance:none;-webkit-appearance:none;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
.t-sel option{color:var(--ink)}
.t-now{display:flex;align-items:baseline;gap:12px;margin:4px 0 14px}.t-now b{font-family:var(--serif);font-weight:800;font-size:3.6rem;line-height:1;letter-spacing:-.04em}.t-now span{font-size:.98rem;color:#e4f0f2}
.t-rows{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.14);border-radius:14px;overflow:hidden;margin:0}
.t-rows div{background:rgba(10,31,44,.55);padding:10px 14px}.t-rows dt{font-size:.76rem;color:#9fc3ca;font-weight:600}.t-rows dd{margin:2px 0 0;font-weight:600;font-size:1.02rem;color:#fff;white-space:nowrap}
.t-tip{margin:14px 0 0;font-size:.92rem;line-height:1.5;color:#e4f0f2}.t-tip a{color:var(--saffron);font-weight:600}
.busy .t-now,.busy .t-rows{opacity:.5}
.hs-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:26px;padding-bottom:26px;width:100%}
.hs-cap{color:#fff;text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:10px;opacity:.9}.hs-cap::before{content:"";width:28px;height:1px;background:#fff}
.hs-cap:hover{color:var(--saffron)}
.dots{display:flex;gap:8px}.dots button{width:44px;height:24px;border:0;background:none;padding:0;cursor:pointer;display:grid;align-items:center}
.dots i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.dots button[aria-selected=true] i::after{content:"";position:absolute;inset:0;background:#fff;transform-origin:0 50%;animation:fill 6.5s linear both}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:960px){.hs{min-height:0}.hs-in{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:96px}.hs .today{max-width:440px}
.hs-shade{background:linear-gradient(0deg,rgba(7,22,32,.88) 0%,rgba(7,22,32,.55) 55%,rgba(7,22,32,.35) 100%)}}
@media(max-width:560px){.hs h1{font-size:clamp(2.6rem,12vw,3.4rem)}.hs-foot{flex-direction:column;align-items:flex-start}.t-now b{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.slides .s.on img{animation:none;transform:none}.slides .s{transition:none}.dots i::after{animation:none!important}}

/* ===== polish v6 ===== */
section{padding:76px 0}
.sec-rail{padding:56px 0 36px}
section.hs{padding:0}
.rail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.rail-head h2{margin:0}.rail-head p{margin:6px 0 0;color:var(--muted)}
.rail-nav{display:flex;align-items:center;gap:10px;flex:none}.rail-nav .more{margin-right:10px}
.rb{width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(14,42,59,.08);transition:background .2s,color .2s,transform .2s,opacity .2s}
.rb:hover:not(:disabled){background:var(--ink);color:#fff;transform:translateY(-2px)}.rb:disabled{opacity:.35;cursor:default;box-shadow:none}
@media(max-width:640px){.rail-head{align-items:flex-start;flex-direction:column;gap:6px}.rb{display:none}.rail-nav .more{margin:0}}
.rail{padding-top:4px;padding-bottom:24px}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0}
.fc{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 26px 24px;transition:transform .3s,box-shadow .3s}
.fc:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(14,42,59,.1)}
.fc .ic{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--mist);color:var(--sea);margin-bottom:18px}
.fc:nth-child(3n+2) .ic{background:#FCF0D8;color:#A8700F}.fc:nth-child(3n) .ic{background:#F7E2DF;color:var(--red)}
.fc dt{font-family:var(--serif);font-weight:700;font-size:1.2rem;letter-spacing:-.01em;margin-bottom:6px}.fc dd{margin:0;color:var(--muted);font-size:.98rem;line-height:1.55}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.fgrid{grid-template-columns:1fr}}
.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 24px;margin-bottom:10px;transition:box-shadow .25s,border-color .25s}
.faq details:first-of-type{border-top:1px solid var(--line)}.faq details[open]{box-shadow:0 16px 36px rgba(14,42,59,.08);border-color:transparent}
.faq summary{font-family:var(--serif);font-weight:700;font-size:1.12rem;letter-spacing:-.01em;padding:20px 52px 20px 0}
.faq summary::after{content:"+";top:50%;right:0;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--mist);display:grid;place-items:center;font-size:1.2rem;line-height:1;transition:background .2s,color .2s}
.faq details[open] summary::after{content:"−";background:var(--ink);color:#fff}
.about-strip{grid-template-columns:300px 1fr auto;background:linear-gradient(135deg,var(--mist),#D7E9E7);border:0;border-radius:28px;padding:18px 36px 18px 18px}
.about-strip .mini-arch{width:100%;aspect-ratio:4/3;border-radius:20px}
@media(max-width:860px){.about-strip{grid-template-columns:1fr;padding:18px 22px 26px}.about-strip .mini-arch{display:block}}
.bento a,.pc,.rpanel{border-radius:24px}
.band.red{border-radius:28px}
.site-f h3{font-family:var(--sans);font-size:.9rem;font-weight:600;color:#9fc3ca;margin-bottom:12px}
.site-f .cols>div:first-child>a{font-family:var(--serif)!important;font-weight:800;letter-spacing:-.03em}

/* ===== v7 ===== */
.wrap{max-width:1400px}
.pc:hover,.bento a:hover,.pc:focus,.bento a:focus{color:#fff}
.rail-split{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:40px;align-items:center;padding-left:max(24px,calc((100vw - 1400px)/2 + 24px))}
.rail-intro h2{margin:0 0 10px}.rail-intro p{color:var(--muted);margin:0 0 24px;font-size:1.05rem;line-height:1.55}
.rail-intro .rail-nav{margin-bottom:22px}.rail-intro .more{display:inline-block}
.sec-rail .rail{padding:16px 24px 46px 18px;margin:-16px 0 -30px -18px;scroll-padding-left:18px;grid-auto-columns:clamp(220px,19vw,290px)}
@media(max-width:820px){.rail-split{grid-template-columns:minmax(0,1fr);gap:18px}.rail-intro{padding-right:24px}.rail-intro p{margin-bottom:12px}.rail-intro .rail-nav{display:none}.sec-rail .rail{padding-left:18px;scroll-padding-left:18px}}
.totop{background:var(--saffron);color:var(--ink);box-shadow:0 12px 28px rgba(226,169,59,.45)}.totop:hover{background:var(--red);color:#fff}
.totop svg{display:block}

/* ===== v9 ===== */
.dark .site-h{position:fixed;left:0;right:0;background:transparent;border-color:transparent;transition:background .35s,border-color .35s,box-shadow .35s}
.dark .site-h:not(.solid) .logo,.dark .site-h:not(.solid) .nav a:not(.cta){color:#fff}.dark .site-h:not(.solid) .menu-btn span{background:#fff}
.dark .site-h:not(.solid) .nav a[aria-current]{border-color:var(--saffron)}
@media(max-width:920px){.dark .site-h:not(.solid) .nav.open a:not(.cta){color:var(--ink)}}
.dark .page-hero{padding-top:132px}
.prose figure{margin:30px 0;text-align:center}
.prose figure img{width:auto;max-width:100%;max-height:min(500px,68vh);margin:0 auto;border-radius:16px;cursor:zoom-in;box-shadow:0 14px 34px rgba(14,42,59,.12)}
.prose .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:28px 0}
.prose .gallery figure{margin:0}.prose .gallery img{width:100%;height:100%;max-height:none;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:none;transition:transform .4s,filter .3s}
.prose .gallery img:hover{transform:scale(1.02);filter:brightness(1.05)}
.prose .gallery figure:only-child img{aspect-ratio:auto}
.lead-img{max-width:calc(min(var(--w,1100px),1100px) + 48px)}.lead-img img{max-height:min(540px,66vh)}
.lb{position:fixed;inset:0;z-index:120;background:rgba(7,22,32,.94);display:none;place-items:center;padding:24px;cursor:zoom-out}.lb.on{display:grid}
.lb img{max-width:100%;max-height:90vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb button{position:absolute;top:16px;right:18px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer}
.prose h2{padding-top:6px}
/* footer */
.site-f{background:radial-gradient(900px 420px at 100% 0%,rgba(15,110,126,.35),transparent 60%),var(--ink);color:#b9ccd3;padding:0 0 26px;margin-top:120px}
.site-f::before{display:none}
.f-cta{position:relative;top:-60px;margin-bottom:-20px;display:grid;grid-template-columns:1.4fr auto;gap:28px;align-items:center;padding:clamp(26px,4vw,44px);border-radius:28px;color:#fff;
background:radial-gradient(500px 260px at 100% 100%,rgba(226,169,59,.45),transparent 60%),linear-gradient(135deg,#0F6E7E,#0E3A4C);box-shadow:0 30px 70px rgba(10,31,44,.35)}
.f-cta h2{color:#fff;font-size:clamp(1.7rem,3vw,2.5rem);margin:0 0 8px}.f-cta p{margin:0;color:#d4e8ec;max-width:52ch}
.f-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}.f-ghost:hover{background:#fff;color:var(--ink)}
.f-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-top:20px}
.f-logo{font-family:var(--serif);font-weight:800;letter-spacing:-.03em;font-size:2rem;color:#fff!important;text-decoration:none}
.f-brand p{margin:12px 0 18px;max-width:36ch;line-height:1.6}
.f-social{display:flex;gap:10px}.f-social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;transition:background .2s,color .2s}
.f-social a:hover{background:var(--saffron);color:var(--ink)}
.site-f h3{font-family:var(--sans);font-size:.85rem;font-weight:600;color:#9fc3ca;margin:4px 0 14px}
.site-f li{padding:5px 0}.site-f li a{color:#fff;text-decoration:none;transition:color .2s}.site-f li a:hover{color:var(--saffron)}
.f-big{font-family:var(--serif);font-weight:800;letter-spacing:-.05em;line-height:.8;font-size:clamp(4rem,15vw,13rem);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);margin:50px 0 10px;white-space:nowrap;overflow:hidden;user-select:none}
.site-f .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);margin-top:0;padding-top:20px;font-size:.84rem}
@media(max-width:900px){.f-cta{grid-template-columns:1fr}.f-cols{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}}
@media(max-width:520px){.f-cols{grid-template-columns:1fr}}

/* ===== quote form v10 ===== */
.qsec{padding:56px 0 72px}
.qgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start}
.qx,.qdone{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,44px);box-shadow:0 24px 60px rgba(14,42,59,.08)}
.qhead{display:flex;align-items:center;gap:12px;margin:34px 0 16px}.qhead:first-of-type{margin-top:0}
.qhead h2{font-size:1.45rem;margin:0}.qn{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.95rem;flex:none}
.cars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.car{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 14px 14px;border:1.5px solid var(--line);border-radius:18px;cursor:pointer;background:var(--paper);transition:border-color .2s,box-shadow .2s,transform .2s}
.car:hover{border-color:#b9c9cc;transform:translateY(-2px)}
.car input,.insc input,.seg input{position:absolute;opacity:0;pointer-events:none}
.qx label.car{display:flex;flex-direction:column;margin:0}.qx label.insc{display:block;margin:0}.qx .seg label{margin:0}
.car .ci{color:var(--sea);margin-bottom:6px}.car b{font-family:var(--serif);font-size:1.12rem;color:var(--ink)}.car small{font-size:.78rem;line-height:1.35;color:var(--muted)}.car em{font-style:normal;font-size:.76rem;font-weight:600;color:var(--sea);margin-top:6px}
.car:has(input:checked){border-color:var(--sea);background:#fff;box-shadow:0 0 0 3px rgba(15,110,126,.15)}
.car:has(input:checked)::after{content:"✓";position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--sea);color:#fff;font-size:.75rem;display:grid;place-items:center}
.car:has(input:focus-visible),.insc:has(input:focus-visible),.seg label:has(input:focus-visible){outline:2px solid var(--saffron);outline-offset:2px}
.segs{display:flex;flex-wrap:wrap;gap:22px 32px;margin-top:18px}.lbl{display:block;font-size:.86rem;font-weight:600;color:var(--muted);margin-bottom:6px}
.seg{display:inline-flex;background:var(--mist);border-radius:999px;padding:4px}.seg label{position:relative;cursor:pointer}
.seg span{display:block;padding:9px 18px;border-radius:999px;font-weight:600;font-size:.94rem;color:var(--ink);transition:background .2s,color .2s}
.seg input:checked+span{background:var(--ink);color:#fff}
.ins{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.insc{position:relative;display:block;padding:18px 18px 16px 52px;border:1.5px solid var(--line);border-radius:18px;cursor:pointer;background:var(--paper);transition:border-color .2s,box-shadow .2s}
.insc::before{content:"";position:absolute;left:18px;top:20px;width:20px;height:20px;border-radius:50%;border:2px solid #b9c9cc;background:#fff}
.insc:has(input:checked){border-color:var(--sea);background:#fff;box-shadow:0 0 0 3px rgba(15,110,126,.15)}.insc:has(input:checked)::before{border:6px solid var(--sea)}
.insc b{display:block;font-family:var(--serif);font-size:1.1rem}.insc b i{font-style:normal;font-family:var(--sans);font-size:.72rem;font-weight:600;background:var(--saffron);color:var(--ink);padding:3px 9px;border-radius:999px;margin-left:6px;vertical-align:2px}
.insc small{display:block;color:var(--muted);font-size:.88rem;line-height:1.45;margin-top:4px}
.when{display:grid;grid-template-columns:1fr 1fr;gap:16px}.w-col{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px}
.w-t{display:block;font-family:var(--serif);font-weight:700;font-size:1.1rem;margin-bottom:8px}.dt{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin-top:10px}
.qx label{display:block;font-size:.84rem;font-weight:600;color:var(--muted);margin-bottom:5px}.qx label em{font-weight:400;font-style:normal}
.qx input:not([type=radio]):not([type=checkbox]),.qx select{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.qx input:focus,.qx select:focus{outline:none;border-color:var(--sea);box-shadow:0 0 0 3px rgba(15,110,126,.15)}
.qx .consent{margin-top:20px;font-weight:400;color:var(--ink)}
.qerr{margin-top:16px;background:#F7E2DF;color:#7E2119;border-radius:12px;padding:12px 16px;font-weight:500}
.qsend{width:100%;margin-top:18px;padding:17px 26px;font-size:1.08rem}.qsend.busy{opacity:.7;pointer-events:none}.qsend.busy span::after{content:"…"}
.qfine{font-size:.84rem;color:var(--muted);text-align:center;margin:12px 0 0}
.qsum{position:sticky;top:96px;background:var(--ink);color:#cfdee3;border-radius:28px;padding:28px;box-shadow:0 24px 60px rgba(14,42,59,.2)}
.qsum h3{color:#fff;font-size:1.35rem;margin:0 0 14px}.qsum dl{margin:0}.qsum dl div{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.qsum dt{font-size:.78rem;color:#9fc3ca;font-weight:600}.qsum dd{margin:2px 0 0;color:#fff;font-weight:500;font-size:.96rem}
.s-days{display:flex;align-items:baseline;gap:10px;margin:18px 0 10px}.s-days b{font-family:var(--serif);font-weight:800;font-size:3rem;line-height:1;color:var(--saffron)}
.s-trust{list-style:none;margin:10px 0 16px;padding:0}.s-trust li{padding:5px 0 5px 26px;position:relative;color:#fff;font-size:.93rem}.s-trust li::before{content:"✓";position:absolute;left:0;color:var(--saffron);font-weight:700}
.s-note{font-size:.78rem;line-height:1.5;color:#9fc3ca;margin:0}.s-note b{color:#cfdee3}
.qdone{text-align:center;padding:56px 30px}.qdone:focus{outline:none}.qtick{width:72px;height:72px;border-radius:50%;background:#2E7D5B;color:#fff;font-size:2rem;display:grid;place-items:center;margin:0 auto 18px}
.qref{font-size:1.1rem}.qref b{font-family:var(--serif);color:var(--sea)}
@media(max-width:1060px){.qgrid{grid-template-columns:minmax(0,1fr)}.qsum{position:static;order:-1}.cars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ins,.when{grid-template-columns:1fr}.segs{flex-direction:column}.qsum dl{display:none}}