/* haru.travel public pages - colors follow the app theme (lib/theme.dart). */
:root{--primary:#7a65d1;--primary-dark:#6852bf;--deep:#5843aa;--sun:#ff7a59;--pink:#ed83b6;--ink:#25232a;--text:#5b5762;--muted:#7a7682;--border:#e4dded;--divider:#ede9f2;--canvas:#f7f5f9;--surface:#fff;--tint:#f4f0fa;--soft:#f1edff;--grad:linear-gradient(90deg,#9268e8,#c477e2,#ed83b6);--grad-diag:linear-gradient(135deg,#8e6bea,#c477e2,#f08ab0);--shadow:0 10px 30px #5843aa14}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 90% 0,#efe8fb 0,transparent 40%),var(--canvas);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Hiragino Kaku Gothic ProN','Segoe UI','Noto Sans',Roboto,sans-serif;line-height:1.75;overflow-wrap:anywhere}
a{color:var(--deep)}
header,main,footer{max-width:1080px;margin:auto;padding:24px}
.topbar{height:5px;background:var(--grad)}
.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:var(--ink);color:#fff;padding:12px 20px;border-radius:10px}.skip-link:focus{top:12px}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--divider);padding-top:20px;padding-bottom:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:800;font-size:18px}.brand img{width:46px;height:46px;border-radius:12px;box-shadow:0 6px 16px #7a65d133}.brand small{display:block;font-size:11.5px;font-weight:500;color:var(--muted)}
.site-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}.site-nav a{color:var(--text);text-decoration:none;padding:10px 0;min-height:44px;display:inline-flex;align-items:center}.site-nav a[aria-current]{color:var(--deep);font-weight:750;box-shadow:inset 0 -2px 0 var(--primary)}
.language-picker{position:relative;font-size:13px;z-index:5}.language-picker summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:600}.language-picker summary::-webkit-details-marker{display:none}
.language-options{position:absolute;inset-inline-end:0;top:52px;width:min(340px,calc(100vw - 32px));display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:12px;max-height:65vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 48px #25232a26}.language-options a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}.language-options a:hover,.language-options a[aria-current]{background:var(--soft)}.language-options a[aria-current]{font-weight:700;color:var(--deep)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:56px 0 72px}
.eyebrow,.label{display:inline-block;color:var(--primary-dark);font-size:12px;font-weight:800;letter-spacing:2px}
h1{font-size:clamp(34px,5vw,56px);line-height:1.25;letter-spacing:-1px;margin:18px 0}h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
p{color:var(--text)}.lead{font-size:18px;max-width:500px;line-height:1.9}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 10px}.buttons:empty{display:none}
.button{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:12px 24px;background:var(--primary);color:#fff;border-radius:999px;text-decoration:none;font-weight:700;transition:background .15s}.button:hover{background:var(--deep);color:#fff}
.note{font-size:13px;margin:6px 0;color:var(--muted)}.note.soon{display:inline-block;margin-top:14px;padding:8px 14px;border-radius:999px;background:var(--soft);color:var(--deep);font-weight:600}
.preview{margin:0;display:grid;justify-items:center;gap:14px}.preview figcaption{font-size:12.5px;color:var(--muted);text-align:center}
.preview-card{width:100%;max-width:340px;background:var(--surface);border-radius:28px;box-shadow:0 30px 60px #5843aa26,0 0 0 1px var(--divider);overflow:hidden}
.preview-head{background:var(--grad-diag);color:#fff;padding:22px 22px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.preview-head .flag{grid-row:span 2;font-size:28px}.preview-head b{font-size:17px}.preview-head small{opacity:.9;font-size:12.5px}
.preview-days{display:flex;gap:6px;padding:14px 18px 4px;flex-wrap:wrap}.preview-days span{padding:4px 12px;border-radius:999px;background:var(--tint);color:var(--text);font-size:12px;font-weight:700}.preview-days span.on{background:var(--primary);color:#fff}
.preview-plans{list-style:none;margin:0;padding:6px 18px}.preview-plans li{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--divider);font-size:14px}.preview-plans time{flex:none;min-width:52px;color:var(--primary-dark);font-weight:700;font-size:12.5px}
.preview-budget{margin:10px 18px 20px;padding:14px 16px;border-radius:18px;background:var(--tint)}.preview-budget>div:first-child{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text)}.preview-budget b{color:var(--ink)}.preview-budget b small{color:var(--muted);font-weight:500}.preview-budget>small{font-size:12px;color:var(--muted)}
.bar{height:8px;border-radius:99px;background:#e6e0f2;margin:8px 0 6px;overflow:hidden}.bar i{display:block;width:64%;height:100%;background:var(--grad);border-radius:99px}
h2{font-size:clamp(23px,3.2vw,30px);line-height:1.4;margin:10px 0 0}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 64px}
.card{background:var(--surface);border:1px solid var(--divider);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.card .icon{font-size:26px;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--soft)}.card h3{font-size:17.5px;margin:14px 0 6px}.card p{font-size:14.5px;margin:0}
.promise{background:linear-gradient(135deg,#5843aa,#7a52c4 55%,#a2558f);color:#fff;padding:36px;border-radius:28px;margin-bottom:24px}.promise h2{color:#fff;margin:0 0 8px}.promise p,.promise li{color:#fff}.promise ul{margin:0 0 20px;padding-inline-start:20px}.promise li{margin:4px 0}.promise .button{background:#fff;color:var(--deep)}.promise .button:hover{background:var(--soft)}
.doc{max-width:840px;margin:12px auto 0}.doc h1{font-size:clamp(28px,4vw,38px);margin:26px 0 4px}.doc .updated{font-size:13.5px;margin:0 0 22px;color:var(--muted)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 0}.tabs a{min-height:44px;display:inline-flex;align-items:center;padding:7px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text);font-size:14px}.tabs a[aria-current]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
.toc{margin:22px 0;padding:22px 26px;border:1px solid var(--border);border-radius:18px;background:var(--tint)}.doc .toc h2{margin:0 0 10px;font-size:15px}.toc ol{columns:2;list-style:none;padding:0;margin:0}.toc li{break-inside:avoid;font-size:13.5px}.toc a{display:block;padding:5px 0;color:var(--deep);text-decoration:none}.toc a:hover{text-decoration:underline}
.doc .card{padding:36px}.doc h2{font-size:19px;margin:34px 0 6px;color:var(--ink);scroll-margin-top:24px}.policy-section:first-of-type h2,.doc .card>h2:first-child{margin-top:8px}.doc p,.doc li{font-size:15px;color:#4a4652;line-height:1.95}.doc ul{padding-inline-start:22px;margin:6px 0}.doc li{margin:4px 0}
.contact{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--soft);border-radius:18px;padding:18px 20px;margin:12px 0}.contact b{display:block;font-size:13px;color:var(--deep)}.contact a.mail{font-weight:700;word-break:break-all}
.mail{direction:ltr;unicode-bidi:isolate}.caution{font-size:13.5px;color:var(--muted)}
details{border-top:1px solid var(--divider);padding:10px 0}summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}summary::-webkit-details-marker{display:none}.card summary:after{content:"+";color:var(--primary);font-weight:800;font-size:18px}.card details[open] summary:after{content:"−"}details p{margin:6px 0 4px;padding:0 4px}
footer{font-size:12.5px;color:var(--muted);padding-top:36px;padding-bottom:40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--divider)}footer nav{display:flex;gap:16px;flex-wrap:wrap}footer a{color:var(--muted);display:inline-block;padding:8px 0}
a:focus-visible,summary:focus-visible,main:focus-visible{outline:3px solid #3e8ef7;outline-offset:4px}main:focus:not(:focus-visible){outline:none}
[dir=rtl] h1{letter-spacing:0}
@media(max-width:860px){.features{grid-template-columns:1fr 1fr}}
@media(max-width:760px){header,main,footer{padding-left:16px;padding-right:16px}header{gap:12px}.site-nav{order:3;width:100%;gap:20px}.language-picker{margin-inline-start:auto}.hero{grid-template-columns:1fr;gap:40px;padding:28px 0 56px}.lead{font-size:17px}.features{grid-template-columns:1fr}.promise{padding:26px 22px;border-radius:22px}.doc .card{padding:22px 18px}.toc{padding:18px}.toc ol{columns:1}.doc h2{font-size:18px}.contact a.mail{font-size:14.5px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
@media print{body{background:#fff}.topbar,header,.tabs,.toc,footer,.skip-link{display:none}.doc{max-width:none}.doc .card{border:0;box-shadow:none;padding:0}.doc h2{break-after:avoid}a{color:inherit}}
