:root{--paper:#faf6ec;--paper-deep:#f1ead9;--ink:#201f1b;--ink-soft:#4c473c;--ink-faint:#8a8477;--night:#1c2237;--night-deep:#141a2b;--night-soft:#2a3352;--cream:#f6efdf;--cream-faint:#b9b4ab;--vermilion:#c14a2d;--vermilion-deep:#9c3820;--sun:#e08a3c;--gold:#d9a441;--line:#e0d7c3;--white:#fffdf7;--dawn-gradient:linear-gradient(180deg,#171d30,#232742 34%,#45395c 58%,#8c5a68 76%,#c97e58 90%,#e8a963);--serif:var(--font-serif,"Iowan Old Style"),"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;--sans:var(--font-sans,-apple-system),BlinkMacSystemFont,"Segoe UI","Hiragino Sans",sans-serif;--radius:3px;--shadow:0 2px 24px rgba(28,34,55,0.1);--maxw:1080px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.serif,h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:.015em}h1,h2{text-wrap:balance}h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.3}h2{font-size:clamp(1.45rem,3.5vw,2rem);line-height:1.4}h3{font-size:1.15rem}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.section{padding:76px 0}.section-tight{padding:46px 0}.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--vermilion);border-bottom:1px solid var(--vermilion);padding-bottom:4px;margin-bottom:16px}.eyebrow-light{color:var(--gold);border-bottom-color:var(--gold)}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint);font-size:.9rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--night) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--night-soft);color:var(--cream)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-family:var(--serif);font-size:1.15rem;letter-spacing:.14em;white-space:nowrap}.logo .dot{color:var(--gold)}.nav{display:flex;gap:20px;align-items:center;font-size:.9rem}.nav a{white-space:nowrap}.nav a:hover{color:var(--gold)}.mobile-menu{display:none;position:relative}.menu-btn{display:grid;grid-gap:4px;gap:4px;padding:10px 6px;background:none;border:none;cursor:pointer}.menu-btn span{display:block;width:20px;height:2px;background:var(--cream);border-radius:2px}.menu-panel{position:absolute;right:-6px;top:calc(100% + 14px);z-index:50;min-width:220px;padding:10px 0;background:var(--night);border:1px solid var(--night-soft);border-radius:var(--radius);box-shadow:0 12px 32px rgba(11,15,29,.5);display:grid}.menu-panel a{padding:12px 20px;color:var(--cream)}.menu-panel a:hover{background:var(--night-soft);color:var(--gold)}.menu-locale{padding:12px 20px;border-top:1px solid var(--night-soft);margin-top:6px}@media (max-width:1060px){.nav{gap:8px}.nav .nav-link,.nav .nav-locale{display:none}.mobile-menu{display:block}}@media (max-width:480px){.logo{font-size:1.05rem}.logo .logo-rest{display:none}.site-header .inner{padding:0 16px}}.locale-switch{display:inline-flex;gap:7px;align-items:center;font-size:.84rem;color:var(--cream-faint)}.locale-switch button{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--cream-faint)}.locale-switch button:hover{color:var(--gold)}.locale-switch button.active{color:var(--cream);border-bottom:1px solid var(--gold)}.site-footer{background:var(--night);color:var(--cream-faint);padding:48px 0 60px;font-size:.88rem}.site-footer .cols{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}.site-footer .logo{color:var(--cream)}.site-footer a:hover{color:var(--gold)}.site-footer ul{list-style:none;display:grid;grid-gap:6px;gap:6px}.site-footer b{color:var(--cream)}.btn{display:inline-block;padding:12px 28px;border:1px solid var(--ink);border-radius:var(--radius);font-size:.95rem;letter-spacing:.06em;cursor:pointer;background:transparent;color:var(--ink);transition:all .18s ease;font-family:var(--sans)}.btn:hover{background:var(--ink);color:var(--paper)}.btn-primary{background:var(--vermilion);border-color:var(--vermilion);color:var(--white)}.btn-primary:hover{background:var(--vermilion-deep);border-color:var(--vermilion-deep);color:var(--white)}.btn-sm{padding:7px 14px;font-size:.84rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:var(--vermilion)}.btn-sun{background:var(--sun);border-color:var(--sun);color:var(--night-deep);font-weight:700}.btn-sun:hover{background:var(--gold);border-color:var(--gold);color:var(--night-deep)}.btn-ghost{border-color:var(--cream-faint);color:var(--cream)}.btn-ghost:hover{background:var(--cream);color:var(--night-deep)}.badge{display:inline-block;font-size:.75rem;letter-spacing:.08em;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink-soft)}.badge-accent{border-color:var(--vermilion);color:var(--vermilion)}.hero-dawn{background:var(--dawn-gradient);color:var(--cream);position:relative;overflow:hidden}.hero-inner{padding:96px 20px 40px;position:relative;z-index:1;max-width:var(--maxw)}.hero-dawn h1{color:var(--white);text-shadow:0 2px 30px rgba(20,26,43,.5)}.hero-lead{margin:22px 0 30px;max-width:520px;color:var(--cream);text-shadow:0 1px 20px rgba(20,26,43,.6)}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}.hero-skyline{width:100%;margin-top:-40px;height:clamp(200px,30vw,420px);object-fit:cover;object-position:66% 100%}@media (max-width:720px){.hero-inner{padding:64px 20px 20px}.hero-skyline{margin-top:-16px}}.proof-strip{background:var(--night-deep);color:var(--cream-faint);font-size:.88rem}.proof-inner{display:flex;flex-wrap:wrap;gap:12px 36px;padding:14px 20px}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:28px}.grid-2,.grid-3{display:grid;gap:28px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:28px}@media (max-width:860px){.grid-2,.grid-3{grid-template-columns:1fr}}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.tour-card{overflow:hidden;transition:transform .2s ease}.tour-card:hover{transform:translateY(-3px)}.tour-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.tour-card .body{padding:22px}.price-line{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px}.price{font-family:var(--serif);font-size:1.3rem}.price small{font-size:.78rem;color:var(--ink-faint);font-family:var(--sans)}.stars{color:var(--gold);letter-spacing:2px}.tour-feature{display:grid;grid-template-columns:1fr 1fr;grid-gap:36px;gap:36px;align-items:center;margin-top:16px}@media (max-width:860px){.tour-feature{grid-template-columns:1fr;gap:20px}}.tour-feature-img img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .25s ease}.tour-feature-img:hover img{transform:scale(1.015)}.stat-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:.82rem;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-soft);white-space:nowrap}.why-card{padding:26px 24px}.why-num{font-family:var(--serif);font-size:.95rem;color:var(--gold);letter-spacing:.1em}.cta-band{background:var(--night);color:var(--cream);padding:72px 0}.cta-band h2{color:var(--white)}.cta-band p{color:var(--cream-faint)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}@media (max-width:960px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-cell{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat-cell dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}.stat-cell dd{font-size:.92rem;color:var(--ink)}.story-p{margin-bottom:14px}.story-p:first-of-type:first-letter{font-family:var(--serif)}.spot-list{list-style:none;display:grid;grid-gap:22px;gap:22px}.spot-list li{display:grid;grid-template-columns:44px 1fr;grid-gap:16px;gap:16px;align-items:start}.spot-num{font-family:var(--serif);color:var(--vermilion);font-size:1.05rem;border-top:2px solid var(--vermilion);padding-top:6px;text-align:left}.spot-list h3{margin-bottom:4px}.spot-list p{font-size:.93rem}.timetable{width:100%;border-collapse:collapse;background:transparent}.timetable td,.timetable th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.timetable th{font-family:var(--serif);color:var(--vermilion);white-space:nowrap;width:76px;font-weight:600}.profile-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);font-size:.92rem}.profile-table td,.profile-table th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}.profile-table th{width:130px;color:var(--ink-faint);font-weight:500;background:var(--paper)}.gallery{display:grid;grid-template-columns:2fr 1fr;grid-gap:10px;gap:10px}.gallery img{border-radius:var(--radius);width:100%;height:100%;object-fit:cover}.gallery .side{display:grid;grid-gap:10px;gap:10px}@media (max-width:720px){.gallery{grid-template-columns:1fr}}.itinerary{list-style:none;border-left:2px solid var(--vermilion);margin:20px 0 0 6px}.itinerary li{padding:10px 0 10px 22px;position:relative}.itinerary li:before{content:"";position:absolute;left:-6px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--vermilion)}.itinerary .time{font-family:var(--serif);color:var(--vermilion);margin-right:12px}.detail-layout{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:44px;gap:44px;align-items:start}@media (max-width:860px){.detail-layout{grid-template-columns:1fr}}.book-panel{position:-webkit-sticky;position:sticky;top:84px;padding:26px}.book-panel .price{font-size:1.7rem}.checklist{list-style:none;display:grid;grid-gap:6px;gap:6px}.checklist li{padding-left:24px;position:relative}.checklist li:before{content:"—";position:absolute;left:0;color:var(--vermilion)}.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--white);border-top:1px solid var(--line);padding:12px 20px;display:none}@media (max-width:860px){.sticky-cta{display:flex;justify-content:space-between;align-items:center}}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:16px}.field label{font-size:.85rem;letter-spacing:.04em;color:var(--ink-soft)}input,select,textarea{font:inherit;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--vermilion)}.steps{display:flex;gap:10px;margin-bottom:28px;font-size:.82rem;letter-spacing:.08em}.steps span{padding:6px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink-faint)}.steps span.active{border-color:var(--vermilion);color:var(--vermilion)}.steps span.done{border-color:var(--ink);color:var(--ink)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.slot-btn{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);cursor:pointer;font:inherit;text-align:center;transition:all .15s}.slot-btn.selected,.slot-btn:hover{border-color:var(--vermilion);color:var(--vermilion)}.slot-btn .d{font-family:var(--serif)}.slot-btn .t{font-size:.85rem;color:var(--ink-faint)}.slot-btn.selected .t{color:var(--vermilion)}.notice{background:var(--paper-deep);border-left:3px solid var(--vermilion);padding:14px 18px;font-size:.9rem;margin:18px 0}.review-card{padding:24px}.review-card .head{display:flex;justify-content:space-between;margin-bottom:8px}.table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--white)}.table td,.table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.table th{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.table tr:hover td{background:var(--paper)}.status{font-size:.75rem;padding:2px 10px;border-radius:999px;border:1px solid}.status.confirmed{color:#1f6f43;border-color:#1f6f43}.status.completed{color:var(--ink-faint);border-color:var(--line)}.status.pending{color:var(--gold);border-color:var(--gold)}.status.canceled,.status.no_show{color:var(--vermilion);border-color:var(--vermilion)}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-nav{background:var(--night-deep);color:var(--paper);padding:24px 0;display:flex;flex-direction:column;gap:2px}.admin-nav .brand{padding:0 22px 20px;font-family:var(--serif);letter-spacing:.12em}.admin-nav a{padding:10px 22px;font-size:.9rem;color:#c9c4b8}.admin-nav a.active,.admin-nav a:hover{color:var(--paper);background:rgba(255,255,255,.06);border-left:2px solid var(--vermilion)}.admin-main{padding:32px;max-width:1100px}.admin-main h1{font-size:1.6rem;margin-bottom:20px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:24px}.panel h2{font-size:1.05rem;margin-bottom:14px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.row .field{margin-bottom:0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.kpi .label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.kpi .value{font-family:var(--serif);font-size:1.9rem;margin:4px 0 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .sub{font-size:.8rem;color:var(--ink-soft)}.kpi .goal-met{color:#1f6f43}@media (max-width:640px){.section{padding:52px 0}.section-tight{padding:34px 0}.grid-2,.grid-3{gap:16px}.tour-feature{gap:18px;margin-top:10px}.review-card{padding:20px}.why-card{padding:22px 20px}.cta-band{padding:56px 0}.btn{padding:12px 22px}.proof-inner{gap:8px 24px;padding:12px 20px;font-size:.84rem}.stat-cell{padding:12px 13px}.stat-cell dd{font-size:.88rem}.spot-list{gap:18px}.spot-list li{grid-template-columns:36px 1fr;gap:12px}.profile-table th{width:92px}.profile-table td,.profile-table th{padding:10px 12px}.timetable th{width:60px}.timetable td,.timetable th{padding:10px 8px}.site-footer{padding:36px 0 48px}.site-footer .cols{gap:26px}.notice{padding:12px 14px}}@media (max-width:480px){.stat-grid{gap:10px}.hero-ctas .btn{flex:1 1 auto;text-align:center}}