@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--navy:#183b79;--blue:#187abf;--sky:#4bb8e5;--ink:#23334b;--light:#edf8fe;--border:#d8e5ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',system-ui,sans-serif;line-height:1.95;background:#fff}a{color:#086dab}a:hover{opacity:.78}img{max-width:100%;height:auto}header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);box-shadow:0 4px 22px #072b5520;backdrop-filter:blur(10px)}.nav{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:22px}.brand img{width:220px;display:block}.links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.links a{text-decoration:none;color:#23436b;font-size:13px;font-weight:700}.links a.cta{background:var(--navy);color:white;border-radius:40px;padding:9px 18px}.burger{display:none;border:0;background:var(--light);font-size:22px;padding:4px 13px;border-radius:8px;color:var(--navy)}.hero{background:radial-gradient(circle at 93% 15%,#c6f0ff 0,transparent 30%),linear-gradient(155deg,#f5fcff 0%,#e6f7ff 75%,#fff 100%);padding:100px 24px 96px;text-align:center;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;right:-6vw;bottom:-150px;width:390px;height:390px;border:60px solid #80d2f766;border-radius:50%}.eyebrow{color:var(--blue);font-size:12px;letter-spacing:.24em;font-weight:800}.hero h1{font-size:clamp(38px,5.5vw,74px);line-height:1.48;margin:16px 0 26px;letter-spacing:.04em;color:#122c58}.hero p{max-width:890px;margin:0 auto 34px;font-size:clamp(15px,1.5vw,21px);line-height:2.1}.button{display:inline-block;background:linear-gradient(110deg,var(--navy),#147bc4);color:white;padding:12px 28px;border-radius:60px;text-decoration:none;font-weight:700;box-shadow:0 8px 22px #1e6dac30}.container{width:min(1080px,calc(100% - 44px));margin:auto}.section{padding:78px 0}.section:nth-of-type(even){background:#f5fafe}.section-title{text-align:center;font-size:clamp(26px,3vw,38px);line-height:1.5;color:#14396b;margin:0 0 32px}.section-title:after{content:'';display:block;background:linear-gradient(90deg,#1673ba,#61d5ee);width:58px;height:4px;border-radius:3px;margin:18px auto}.prose{font-size:16px;overflow-wrap:anywhere}.prose h2{color:#174c83;font-size:clamp(23px,2.7vw,32px);margin:50px 0 20px;border-left:5px solid #43a9de;padding-left:16px;line-height:1.55}.prose h3{font-size:21px;color:#16568c;margin:32px 0 12px}.prose h4{margin:24px 0 8px}.prose p{margin:12px 0}.prose ul,.prose ol{padding-left:1.5em}.prose li{margin-bottom:8px}.prose img{border-radius:12px}.prose table{border-collapse:collapse;max-width:100%;width:100%;margin:25px 0;font-size:14px}.prose td,.prose th{border:1px solid var(--border);padding:12px;vertical-align:top}.prose tr:nth-child(odd){background:#f5fafd}.prose iframe{width:100%;max-width:760px;border:0;border-radius:12px}.pagehero{padding:64px 20px;background:linear-gradient(120deg,#effaff,#dff2ff);text-align:center}.pagehero h1{margin:5px 0;color:#153b70;font-size:clamp(28px,4vw,44px)}.card{background:#fff;border:1px solid #d9eaf6;border-radius:16px;padding:32px;box-shadow:0 12px 36px #1738620e}.center{text-align:center}.muted{color:#60728a}.notice{border-radius:12px;background:#fff7e6;border:1px solid #edcd7d;padding:18px;margin:18px 0;color:#704b00}.footer{background:#153965;color:white;padding:46px 24px 20px}.footer-inner{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:35px}.footer img{max-width:210px;background:white;padding:10px;border-radius:9px}.footer a{color:#fff}.footnav{display:flex;gap:12px 24px;flex-wrap:wrap}.copyright{font-size:12px;opacity:.8;margin-top:30px;text-align:center}.backtop{display:inline-block;margin-top:20px}.field{display:grid;gap:5px;margin:14px 0}.field input,.field textarea{font:inherit;padding:10px;border-radius:8px;border:1px solid #b2c9d9;width:100%}.field textarea{min-height:140px}button:disabled{opacity:.55;cursor:not-allowed}.tour-empty{font-size:25px;color:#59748e;font-weight:700}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.legacy-info .prose>div{max-width:100%}.legacy-info figure{margin:20px 0}.legacy-info h1{font-size:30px;color:#163e73}.legacy-info .wp-block-columns{display:block}.legacy-info .wp-block-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:18px 0}.legacy-info .wp-block-button__link{display:inline-block;background:#164a83;color:white;text-decoration:none;padding:9px 20px;border-radius:30px}.legalbody p{white-space:normal}@media(max-width:760px){.nav{padding:10px 16px}.brand img{width:166px}.burger{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 14px 25px #1234551f;padding:20px;flex-direction:column;align-items:stretch}.links.open{display:flex}.hero{padding:72px 20px}.section{padding:55px 0}.footer-inner,.two-col{grid-template-columns:1fr}.card{padding:22px}.prose table{font-size:12px}.prose td,.prose th{padding:7px}.hero h1{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Redesigned editorial pages */
:root{--blue:#187abf;--deep:#102d55;--sky:#d9f4ff;--soft:#f5fbff} .featurepage{overflow:hidden}.featurepage .container{width:min(1120px,calc(100% - 40px))}.feature-hero{background:linear-gradient(120deg,#eaf8ff 0%,#fff 55%,#dceeff 100%);padding:90px 0 105px;position:relative;isolation:isolate}.feature-hero:before{content:'';width:450px;height:450px;border-radius:50%;background:#9fe5ff77;position:absolute;right:-160px;top:-100px;z-index:-1}.feature-kicker{letter-spacing:.2em;color:#1582ba;font-size:13px;font-weight:800}.feature-hero h1{color:#153e70;font-size:clamp(30px,4.3vw,58px);line-height:1.4;margin:16px 0 20px}.feature-lead{font-size:clamp(17px,1.7vw,21px);line-height:2.15;max-width:760px}.feature-section{padding:96px 0}.feature-section.alt{background:#f2f9ff}.feature-section h2{color:var(--deep);font-size:clamp(28px,3.1vw,40px);line-height:1.4;margin:0 0 18px}.feature-section .intro{color:#4f6884;max-width:850px;margin:0 0 34px}.feature-number{color:#4ba6d4;font-weight:800;letter-spacing:.22em;margin-bottom:8px;font-size:13px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-card{background:#fff;border:1px solid #d8eaf5;border-radius:18px;padding:27px 22px;box-shadow:0 13px 27px #143e5b0b}.feature-card .num{display:block;font-size:12px;color:#168cbb;font-weight:800;letter-spacing:.14em}.feature-card h3{color:#13487b;font-size:19px;margin:14px 0 10px}.feature-card p{font-size:14px;line-height:1.9;margin:0}.split-info{display:grid;grid-template-columns:1fr 1fr;gap:22px}.split-panel{border-radius:20px;padding:34px;background:#e8f6fe;border:1px solid #cae5f4}.split-panel:nth-child(2){background:#163f73;color:#fff;border:0}.split-panel h3{margin:0 0 18px;font-size:23px}.split-panel ul{padding-left:1.4em;line-height:2.15}.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:step}.timeline .step{border-radius:17px;background:#fff;padding:24px 17px;border:1px solid #d8eaf5;box-shadow:0 8px 30px #234d7b0b}.timeline strong{display:block;color:#24a0d0;font-size:28px;margin-bottom:13px}.timeline span{font-weight:700;font-size:15px}.feature-note{background:#e7f5fd;border-left:4px solid #1994ce;padding:25px 28px;border-radius:0 16px 16px 0;margin-top:27px}.feature-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-tile{border-radius:20px;overflow:hidden;background:white;box-shadow:0 14px 35px #173f6812;border:1px solid #dbeaf4}.feature-tile .photo{height:160px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#acdffc,#eaf7fd);font-size:58px}.feature-tile:nth-child(2) .photo{background:linear-gradient(130deg,#cbe9ff,#d8f4e9)}.feature-tile:nth-child(3) .photo{background:linear-gradient(130deg,#bdd9ff,#ebdffb)}.feature-tile .body{padding:24px}.feature-tile h3{margin:0 0 10px;color:#174c83}.feature-tile p{font-size:14px;margin:0}.area-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}.area-image{border:1px solid #d7e9f6;background:white;padding:18px;border-radius:20px;box-shadow:0 10px 36px #244f7710}.area-image img{width:100%;height:auto;object-fit:contain;display:block}.city-list{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.city-list span{display:inline-block;padding:6px 13px;background:#ecf7ff;color:#185785;border-radius:30px;font-size:13px;font-weight:700}.map-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:24px;align-items:stretch}.map-panel{height:360px;min-height:360px;width:100%;overflow:hidden;border-radius:22px;box-shadow:0 14px 40px #20446c16}.map-panel iframe{display:block;width:100%;height:100%;min-height:360px;border:0}.map-details{padding:28px;background:#eff8ff;border-radius:20px}.map-details h3{color:#174c83;margin-top:0}.map-details p{line-height:1.9}.action-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.action-row a{display:inline-flex;align-items:center}.tour-page .section{padding:60px 0}.tour-nav{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 45px}.tour-nav a{text-decoration:none;border:1px solid #c8e3f4;border-radius:60px;padding:7px 15px;background:#fff;font-weight:700;font-size:13px}.tour-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:start}.tour-content section{padding:28px 0;border-bottom:1px solid #e3edf4}.tour-content h2{color:#174c83;font-size:26px;margin:0 0 18px}.tour-content p{white-space:normal;overflow-wrap:anywhere}.tour-side{position:sticky;top:105px;background:#eaf7ff;border:1px solid #cde4f2;border-radius:20px;padding:22px}.tour-side a{display:block;text-align:center}.tour-placeholder{background:#fff8e8;border:1px solid #f0d9a7;border-radius:12px;padding:14px 18px;margin:20px 0;color:#755320}.application-layout{padding:50px 0 90px;background:#f4f9fd}.application-frame{border-radius:20px;border:1px solid #d6e7f0;background:#fff;box-shadow:0 10px 36px #233c5d12;overflow:hidden}.application-frame iframe{width:100%;height:1150px;min-height:750px;border:0;display:block}.application-help{text-align:center;font-size:14px;color:#60758a;margin-top:20px}@media(max-width:980px){.feature-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(3,1fr)}.tour-body{grid-template-columns:1fr}.tour-side{position:static}}@media(max-width:700px){.feature-hero{padding:60px 0 65px}.feature-section{padding:62px 0}.feature-grid,.split-info,.feature-tiles,.area-layout,.map-layout,.timeline{grid-template-columns:1fr}.feature-card,.split-panel{padding:24px}.map-panel,.map-panel iframe{height:340px;min-height:340px}.application-frame iframe{height:1100px}.tour-nav{gap:8px}}

/* Global maps: intrinsic fixed proportions even without iframe dimensions */
#about iframe, .prose iframe{min-height:340px;height:340px;display:block;width:100%;max-width:100%;}


/* NKC TRIP information-page visual refinement — 2026-10 */
.featurepage{--feature-ink:#153b69;--feature-line:#d7eaf6;background:#fff}
.featurepage .feature-hero{background:radial-gradient(ellipse at 90% 25%,rgba(78,192,240,.2),transparent 38%),linear-gradient(125deg,#f1faff 10%,#ffffff 58%,#dff4ff 100%);border-bottom:1px solid #dcecf6}
.featurepage .feature-hero .container{position:relative}
.featurepage .feature-hero .container:after{content:"";position:absolute;right:1%;bottom:0;width:clamp(100px,17vw,210px);aspect-ratio:1;border:18px solid rgba(53,164,221,.1);border-radius:48% 52% 60% 40%;pointer-events:none}
.featurepage .feature-kicker,.featurepage .feature-number{font-size:12px;letter-spacing:.19em}
.featurepage .feature-hero h1{max-width:950px;font-weight:800;letter-spacing:.015em;text-wrap:balance}
.featurepage .feature-lead{max-width:820px;font-size:clamp(16px,1.6vw,20px)}
.featurepage .feature-section .container>h2{position:relative;padding-bottom:20px;margin-bottom:25px;letter-spacing:.025em}
.featurepage .feature-section .container>h2:after{content:"";position:absolute;left:0;bottom:0;width:68px;height:5px;border-radius:5px;background:linear-gradient(90deg,#147ac3,#65d5ed)}
.featurepage .feature-section.center .container>h2:after{left:50%;transform:translateX(-50%)}
.featurepage .feature-card{position:relative;overflow:hidden;border-radius:22px;transition:transform .22s ease,box-shadow .22s ease;border-top:4px solid #3aafe1}
.featurepage .feature-card:before{content:"";position:absolute;right:-24px;top:-32px;width:95px;height:95px;border-radius:50%;background:#eaf7ff}
.featurepage .feature-card .num,.featurepage .feature-card h3,.featurepage .feature-card p{position:relative}
.featurepage .feature-card .num{color:#187dbc}
.featurepage .feature-card h3{line-height:1.5}
.featurepage .split-panel{box-shadow:0 20px 45px #19416a10}
.featurepage .split-panel:nth-child(2){background:linear-gradient(145deg,#153f78,#1267a5)}
.featurepage .split-panel ul{margin-bottom:0}
.featurepage .timeline{position:relative;gap:16px}
.featurepage .timeline .step{position:relative;border-top:3px solid #63c7ec;min-height:148px;transition:transform .22s ease,box-shadow .22s ease}
.featurepage .timeline .step strong{font-size:32px;font-weight:800;line-height:1.15}
.featurepage .timeline .step span{line-height:1.65;display:block}
.featurepage .feature-tile{transition:transform .22s ease,box-shadow .22s ease}
.featurepage .feature-tile .photo{height:185px;position:relative;overflow:hidden}
.featurepage .feature-tile .photo:after{content:"";position:absolute;width:130px;height:130px;border:1px solid rgba(255,255,255,.75);border-radius:50%;right:-18px;top:-30px}
.featurepage .feature-tile .body{padding:26px}
.featurepage .feature-note{background:linear-gradient(115deg,#e8f7ff,#f7fcff)}
.featurepage .area-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}
.featurepage .area-image{min-width:0;padding:14px;border-radius:22px;overflow:hidden}
.featurepage .area-image img{width:100%;height:auto;max-height:600px;object-fit:contain}
.featurepage .map-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:stretch}
.featurepage .map-panel{height:auto;min-height:400px;aspect-ratio: 1.45 / 1;min-width:0}
.featurepage .map-panel iframe{height:100%;min-height:400px;width:100%;max-width:none;aspect-ratio:auto}
.featurepage .map-details{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(24px,3vw,42px)}
.featurepage .map-details a{font-weight:700}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .featurepage .feature-card:hover,.featurepage .feature-tile:hover,.featurepage .timeline .step:hover{transform:translateY(-5px);box-shadow:0 22px 44px #19416a1b}
}
@media(max-width:700px){
 .featurepage .feature-hero .container:after{display:none}
 .featurepage .feature-section .container>h2{padding-bottom:15px}
 .featurepage .area-layout,.featurepage .map-layout{grid-template-columns:minmax(0,1fr)}
 .featurepage .map-panel{height:auto;min-height:320px;aspect-ratio:4 / 3}
 .featurepage .map-panel iframe{min-height:320px}
 .featurepage .timeline .step{min-height:0}
}
@media(prefers-reduced-motion:reduce){.featurepage .feature-card,.featurepage .feature-tile,.featurepage .timeline .step{transition:none}}


/* NKC TRIP brand: light cyan footer and pastel role panels */
.footer{background:linear-gradient(155deg,#e6f8ff 0%,#cceef9 100%);color:#19496b;border-top:1px solid #b4e1f1}
.footer a{color:#17638f}
.footer .copyright{color:#47718a;border-top:1px solid #b2dce9;padding-top:18px;opacity:1}
.footer img{background:transparent;padding:0;border-radius:0;max-width:255px;width:100%;height:auto;object-fit:contain}
.featurepage .split-info .split-panel:first-child{background:linear-gradient(135deg,#fff0e9,#ffe8f0);border:1px solid #f0cdd3;color:#65465a}
.featurepage .split-info .split-panel:first-child h3{color:#87475c}
.featurepage .split-info .split-panel:nth-child(2){background:linear-gradient(135deg,#e8f9ff,#cff0fc);border:1px solid #afe0f1;color:#1a5678}
.featurepage .split-info .split-panel:nth-child(2) h3{color:#086b9d}
.footer .backtop{display:none}
.page-top-float{position:fixed;right:clamp(16px,3vw,36px);bottom:clamp(18px,3vw,34px);z-index:80;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;width:70px;height:70px;border:1px solid #aaddeb;border-radius:50%;background:#dff6ff;color:#125679;box-shadow:0 9px 26px #135f8730;font:800 10px/1.25 'Noto Sans JP',system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
.page-top-float span{font-size:23px;line-height:1}
.page-top-float.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.page-top-float:hover{background:#c7edfc}
.page-top-float:focus-visible{outline:3px solid #1778b6;outline-offset:3px}
@media(max-width:700px){.page-top-float{width:60px;height:60px;font-size:9px}.page-top-float span{font-size:20px}}
@media(prefers-reduced-motion:reduce){.page-top-float{transition:none}}


/* Tour terms: structured operator details instead of one long unbroken paragraph */
.tour-page .tour-conditions{min-width:0;overflow-wrap:anywhere}
.tour-conditions-intro{background:#f2faff;border:1px solid #d8edf8;border-radius:16px;padding:22px 25px;margin:14px 0 24px}
.tour-conditions-intro h3,.tour-operator h3{color:#155982;font-size:18px;line-height:1.5;margin:0 0 12px}
.tour-conditions-intro p{margin:8px 0;line-height:1.9}
.tour-operator{background:#fff;border:1px solid #d5e6f0;border-radius:18px;padding:26px;box-shadow:0 12px 32px #19416a0b;min-width:0}
.tour-conditions-list{margin:12px 0 20px;border-top:1px solid #daeaf4}
.tour-conditions-list>div{display:grid;grid-template-columns:minmax(135px,35%) minmax(0,1fr);gap:15px;padding:15px 0;border-bottom:1px solid #daeaf4}
.tour-conditions-list dt{color:#376985;font-weight:800}
.tour-conditions-list dd{margin:0;min-width:0;line-height:1.8}
.tour-conditions-list dd small{display:block;color:#637f90;font-size:12px;margin-top:5px}
.tour-operator-note{border-left:3px solid #61bfe4;padding-left:15px;color:#446880;font-size:14px}
@media(max-width:700px){.tour-operator,.tour-conditions-intro{padding:18px}.tour-conditions-list>div{grid-template-columns:1fr;gap:4px}.tour-conditions-list dt{font-size:13px}.tour-conditions-list dd{font-size:14px}}


/* 2026-10 NKC TRIP refinements: polished pastel footer and integrated office */
.footer{background:linear-gradient(140deg,#e9faff 0%,#d2f1fa 58%,#c9edf7 100%);color:#194f73}
.footer-inner{align-items:start;gap:clamp(28px,5vw,80px)}
.footer-inner>div:first-child p{color:#346b84;font-weight:700;letter-spacing:.1em}
.footer-nav-title{display:flex;align-items:baseline;gap:12px;margin:2px 0 14px;font-weight:900;color:#165982;font-size:14px;letter-spacing:.17em}
.footer-nav-title span{font-size:12px;letter-spacing:.04em;font-weight:600;color:#5b849b}
.footnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.footnav a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:10px;min-height:94px;padding:14px 16px;border-radius:14px;border:1px solid #b9e2ee;background:rgba(255,255,255,.65);box-shadow:0 4px 12px rgba(30,100,135,.06);text-decoration:none;color:#195f88;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.footer-link-label{font-size:10px;font-weight:800;letter-spacing:.18em;color:#5999b6;grid-column:1/2}
.footer-link-name{font-size:13px;font-weight:800;line-height:1.5;grid-column:1/2;grid-row:2}
.footer-link-arrow{grid-column:2;grid-row:1/3;align-self:center;font-weight:900;font-size:22px;color:#41a6d0}
.footnav a:hover,.footnav a:focus-visible{background:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,100,135,.13)}
.footer .copyright{margin-top:36px}
.office-lead{color:#587d91;margin-top:-14px;margin-bottom:32px}
.office-unified{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;overflow:hidden;border-radius:24px;border:1px solid #c8e4ee;background:#f3fbff;box-shadow:0 18px 50px rgba(21,87,123,.09)}
.office-information{padding:clamp(25px,4vw,48px);min-width:0}
.office-subtitle{font-size:12px;color:#3292c3;letter-spacing:.18em;font-weight:800}
.office-information h3{font-size:clamp(26px,3vw,34px);color:#195b83;margin:8px 0 16px}
.office-license{font-weight:800;color:#255674}
.office-address{line-height:2}
.office-legal-link{display:inline-flex;align-items:center;gap:12px;font-weight:800;text-decoration:none;color:#1378b1;border-bottom:2px solid #5bbbd9;padding-bottom:4px;margin-top:13px}
.office-map{min-width:0;min-height:430px;overflow:hidden}
.office-map iframe{display:block;width:100%;height:100%;min-height:430px;border:0;max-width:none}
.contact-form{max-width:800px}
.contact-form .field input:focus,.contact-form .field textarea:focus{outline:2px solid #64bfe6;outline-offset:2px}
.required-mark{display:inline-block;color:#a5464b;background:#fff1f1;border-radius:4px;font-size:11px;padding:0 6px;margin-left:8px;font-weight:700}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-privacy{font-size:14px;line-height:1.9}
.contact-submit{border:0;font:inherit;cursor:pointer;margin-top:8px}
.contact-hint{font-size:12px;color:#688296;margin-top:14px}
.contact-result{margin-top:16px;padding:14px 18px;border-radius:10px;background:#e4f9ee;color:#1d6748;border:1px solid #addbc6;font-weight:700}
.contact-result[data-kind="error"]{background:#fff0ed;border-color:#efc4bb;color:#a43c2b}
@media(max-width:850px){.office-unified{grid-template-columns:1fr}.office-map{min-height:350px}.office-map iframe{min-height:350px}}
@media(max-width:600px){.footnav{grid-template-columns:1fr 1fr}.footnav a{padding:12px;min-height:90px}.footer-link-name{font-size:12px}.office-information{padding:26px}.office-map,.office-map iframe{min-height:310px}}
@media(prefers-reduced-motion:reduce){.footnav a{transition:none}}


/* Illustrated NKC TRIP service sections */
.featurepage .illustrated-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:stretch}
.featurepage .illustrated-roles .role-panel{padding:28px;border-radius:24px;box-shadow:0 16px 45px #17497012}
.featurepage .illustrated-roles .role-host{background:linear-gradient(135deg,#fff0e8,#ffeaf2);border:1px solid #eed5d5;color:#654959}
.featurepage .illustrated-roles .role-nkc{background:linear-gradient(135deg,#eafaff,#d9f3ff);border:1px solid #c2e9f7;color:#205c7f}
.role-hero{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid #ffffff9c}
.featurepage .role-hero h3{font-size:clamp(18px,2vw,23px);line-height:1.5;margin:0 0 4px;color:inherit}
.role-hero p{margin:0;color:inherit;font-weight:700;opacity:.8;font-size:14px}
.role-visual{width:70px;height:70px;display:grid;place-items:center;flex:none;border-radius:20px;background:#ffffffa8;font-size:35px;box-shadow:0 5px 20px #1d658516}
.role-items{display:grid;gap:12px;margin-top:20px}
.role-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;padding:12px 15px;border-radius:16px;background:#ffffffba;line-height:1.65;font-weight:700}
.role-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:24px;box-shadow:0 4px 13px #215f7b10}
.process-illustrated{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.featurepage .process-illustrated .step{position:relative;min-height:205px;border:1px solid #d3eaf6;border-top:4px solid #64c4e8;border-radius:20px;background:#fff;padding:20px 17px;box-shadow:0 10px 28px #28577a12}
.process-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 14px;border-radius:20px;background:linear-gradient(150deg,#e5f7ff,#cceeff);font-size:35px}
.featurepage .process-illustrated .step strong{font-size:13px;color:#2889b9;letter-spacing:.08em;margin-bottom:9px}
.featurepage .process-illustrated .step span{display:block;color:#174767;font-size:15px;line-height:1.7}
.featurepage .process-illustrated .step:not(:last-child)::after{content:"→";position:absolute;right:-20px;top:45%;z-index:2;color:#3da9d8;font-size:27px;font-weight:900;text-shadow:0 1px #fff}
.featurepage .feature-tile .photo{height:190px;isolation:isolate;background:linear-gradient(135deg,#c1edff,#effaff);display:grid;place-items:center;position:relative}
.featurepage .feature-tile .icon-workshop{background:linear-gradient(135deg,#ffeedc,#ffedf6)}
.featurepage .feature-tile .icon-music{background:linear-gradient(135deg,#dcecff,#e5dcff)}
.tour-idea-icon{display:grid;place-items:center;width:105px;height:105px;background:#ffffffbd;border:1px solid #fff;border-radius:32px;font-size:59px;box-shadow:0 14px 28px #24577b1a;z-index:1}
.tour-idea-decor{position:absolute;width:150px;height:150px;border:2px solid #ffffff95;border-radius:50%;right:-35px;top:-50px}
@media(max-width:1060px){.process-illustrated{grid-template-columns:1fr;gap:25px}.featurepage .process-illustrated .step{min-height:0;display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:18px;align-items:center}.process-icon{grid-column:1;grid-row:1/3;margin:0}.featurepage .process-illustrated .step strong{grid-column:2;grid-row:1}.featurepage .process-illustrated .step span{grid-column:2;grid-row:2}.featurepage .process-illustrated .step:not(:last-child)::after{content:"↓";right:50%;top:auto;bottom:-29px;transform:translateX(50%)}}
@media(max-width:780px){.featurepage .illustrated-roles{grid-template-columns:1fr}.featurepage .illustrated-roles .role-panel{padding:23px}}
@media(max-width:480px){.role-visual{width:58px;height:58px;font-size:28px}.role-item{grid-template-columns:42px 1fr;padding:11px 12px;font-size:14px}.role-icon{width:42px;height:42px;font-size:21px}.featurepage .process-illustrated .step{grid-template-columns:56px 1fr;padding:15px}.process-icon{width:55px;height:55px;font-size:26px}}
/* Legal navigation is an in-page tab control, while PDF links open documents directly */
.legal-tablist{display:flex;gap:8px;flex-wrap:wrap;padding:8px;background:#e9f7fe;border:1px solid #cfe8f5;border-radius:17px;margin:0 0 24px}
.legal-tablist [role="tab"]{border:0;border-radius:11px;padding:13px 23px;background:transparent;color:#1e638a;font-family:inherit;font-size:15px;font-weight:700;line-height:1.5;cursor:pointer;flex:1;min-width:150px}
.legal-tablist [role="tab"][aria-selected="true"]{background:#fff;color:#105d90;box-shadow:0 5px 18px #285c751a}
.legal-tablist [role="tab"]:focus-visible{outline:3px solid #258eb9;outline-offset:2px}
.legal-tab-panel{background:#fff;border:1px solid #d7eaf4;border-radius:17px;padding:clamp(16px,3vw,35px);box-shadow:0 12px 32px #1642670b;min-width:0}
.legal-tab-panel[hidden]{display:none!important}
.legal-tab-panel figure{overflow-x:auto;max-width:100%}
.legal-tab-panel table{min-width:0;overflow-wrap:anywhere}
.legal-tab-panel h2{margin-top:0}
@media(max-width:620px){.legal-tablist{flex-direction:column}.legal-tablist [role="tab"]{flex:auto;min-width:0;text-align:left}}
/* Footer: more polished link hierarchy */
.footer .footnav a{position:relative;overflow:hidden;border-color:#a6dfea;background:linear-gradient(145deg,#ffffffdc,#e8f9ffca);box-shadow:0 8px 22px #2578a813}
.footer .footnav a::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#5ecded,#2794cb);opacity:.8}
.footer .footnav a:hover{border-color:#7bc9e6;box-shadow:0 15px 30px #2578a827}
.footer .footer-link-arrow{transition:transform .2s ease}
.footer .footnav a:hover .footer-link-arrow{transform:translate(2px,-2px)}
/* Prevent the office iframe's intrinsic dimensions from distorting the grid */
.office-unified{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:stretch}
.office-unified>.office-information,.office-unified>.office-map{min-width:0}
.office-unified .office-map{position:relative;min-height:0;aspect-ratio:1.45/1;align-self:stretch;overflow:hidden}
.office-unified .office-map iframe{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;min-width:0;min-height:0!important;max-width:none;border:0}
@media(max-width:850px){.office-unified{grid-template-columns:1fr}.office-unified .office-map{height:auto;min-height:0;aspect-ratio:4/3}}


/* Information page: office and map share a balanced height. */
.featurepage .map-layout{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:stretch;
  gap:18px;
  max-width:1100px;
  margin-inline:auto;
}
.featurepage .map-details{
  min-width:0;
  padding:clamp(24px,3vw,36px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.featurepage .map-details h3,.featurepage .map-details p{margin:0}
.featurepage .map-details a{display:inline-flex;align-items:center;line-height:1.7;margin-top:10px}
.featurepage .map-panel{
  position:relative;
  min-width:0;
  height:330px;
  min-height:0;
  aspect-ratio:auto;
  align-self:stretch;
  border-radius:20px;
  overflow:hidden;
}
.featurepage .map-panel iframe{
  display:block;
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none;
  aspect-ratio:auto;
  border:0;
}
.featurepage .feature-contact-card{
  max-width:860px;
  margin:24px auto 0;
  padding:clamp(22px,4vw,38px);
  text-align:left;
}
.featurepage .feature-contact-card > p:first-child{margin-top:0}
@media(max-width:760px){
  .featurepage .map-layout{grid-template-columns:minmax(0,1fr);gap:15px}
  .featurepage .map-panel{height:auto;min-height:0;aspect-ratio:16/10}
}
@media(max-width:480px){
  .featurepage .map-panel{aspect-ratio:4/3}
}

/* Keep the decorative hero ring from intercepting taps on the CTA on mobile. */
.hero::before{pointer-events:none}
.hero > .button{position:relative;z-index:1;touch-action:manipulation}
