.public{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:430px;margin-bottom:54px;border:1px solid #d8e5ff;border-radius:30px;background:linear-gradient(112deg,#fff 0 43%,#edf7ff 70%,#d9f8ff 100%);box-shadow:0 24px 70px rgba(19,75,166,.12)}
.hero-copy{position:relative;z-index:4;padding:62px 0 58px 56px}
.hero-label{display:inline-block;margin:0 0 18px;padding:7px 13px;border:1px solid #73a2ff;border-radius:999px;color:var(--blue);font-size:13px;font-weight:800}
.hero h1{max-width:720px;margin:0;font-size:clamp(42px,5vw,66px);line-height:1.24;letter-spacing:-.05em}
.hero-title-line{display:block;text-wrap:balance}
.lead{max-width:620px;margin:24px 0 0;color:#43506a;font-size:18px;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions .button{min-width:190px}
.hero-visual{position:relative;min-height:100%;background:radial-gradient(circle at 82% 50%,white 0 1%,#1eb1ff 2% 4%,rgba(13,95,255,.8) 5% 9%,transparent 10%),linear-gradient(135deg,transparent,#0068e8)}
.hero-visual:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 82% 50%,transparent 0 28px,rgba(255,255,255,.18) 29px 30px),radial-gradient(circle at 54% 42%,rgba(255,255,255,.8) 0 2px,transparent 3px),radial-gradient(circle at 40% 65%,#7ee8ff 0 4px,transparent 5px),radial-gradient(circle at 62% 72%,#ff8fe6 0 4px,transparent 5px);background-size:auto,46px 46px,72px 72px,92px 92px}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,transparent 28%),repeating-linear-gradient(12deg,transparent 0 18px,rgba(255,255,255,.11) 19px 20px);clip-path:polygon(0 30%,100% 43%,100% 57%,0 70%)}
.selection-point{position:absolute;z-index:3;right:10%;top:50%;width:30px;height:30px;border:8px solid white;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px #75dfff,0 0 50px 22px #63d8ff;transform:translateY(-50%)}
.orbit{position:absolute;z-index:2;right:10%;top:50%;border:1px solid rgba(255,255,255,.52);border-radius:50%;transform:translate(50%,-50%)}.orbit-one{width:160px;height:160px}.orbit-two{width:300px;height:300px}.orbit-three{width:470px;height:470px}
.route-section{margin-bottom:74px}.section-heading{margin-bottom:24px}
.concept{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.route-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;min-height:150px;padding:24px;border:1px solid #dbe5f6;border-radius:20px;color:var(--ink);text-decoration:none;transition:.2s}
.route-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(28,77,160,.1)}
.route-official{background:linear-gradient(135deg,#fff,#f4f8ff)}.route-feature{background:linear-gradient(135deg,#fff,#faf5ff)}.route-mood{background:linear-gradient(135deg,#fff,#effcff)}
.route-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#e8f0ff;color:var(--blue)}.route-feature .route-icon{background:#f0eaff;color:#704fe7}.route-mood .route-icon{background:#e0f8fb;color:#00a183}
.route-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.route-card-copy{min-width:0}.route-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.route-title-row b{margin-bottom:0}.route-action-hint{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#f1f3f7;color:#8b94a7;font-size:11px;font-weight:800;line-height:1;white-space:nowrap}
.route-card b{display:block;margin-bottom:6px;font-size:19px}.route-card small{display:block;color:var(--muted);line-height:1.65}.route-arrow{color:var(--blue);font-size:24px}
.route-keyword-search{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.35fr);align-items:end;gap:20px;margin-top:16px;padding:24px;border:1px solid #d8e5ff;border-radius:20px;background:linear-gradient(135deg,#fff,#f4f8ff);box-shadow:0 12px 30px rgba(29,78,160,.06)}
.route-keyword-copy{display:grid;gap:5px}.route-keyword-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;color:var(--ink);font-size:19px;font-weight:800}.route-action-hint-keyword{background:#eef1f6;color:#818a9e}.route-keyword-copy small{color:var(--muted);line-height:1.65}
.route-keyword-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.route-keyword-row input{width:100%;box-sizing:border-box;min-height:52px;padding:12px 15px;border:1px solid #bdc9df;border-radius:14px;background:#fff;font:inherit}.route-keyword-row button{min-height:52px;padding:11px 20px;white-space:nowrap}
.selection-section{margin-bottom:72px}.selection-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.media-toggle{min-height:42px;padding:9px 14px;border:1px solid #a7bce9;background:white;color:var(--blue);font-size:13px}
.trust{display:flex;gap:18px;align-items:flex-start;padding:28px;margin-top:60px;background:#fff;border:1px solid var(--line);border-radius:20px}.trust h2{margin:0 0 6px;font-size:23px}.trust p{margin:0 0 8px;color:var(--muted)}.trust-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#e9f2ff;color:var(--blue);font-weight:900}
.adult-bar{display:flex;justify-content:center;gap:28px;margin-top:22px;padding:13px;border:1px solid #dfe6f2;border-radius:14px;background:white;color:var(--muted);font-size:13px}.adult-bar strong{color:var(--ink)}.adult-bar strong span{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:5px;border:2px solid #e12936;border-radius:50%;color:#1d2538}
.page{max-width:760px}.page h1{font-size:clamp(34px,6vw,60px)}.page p{line-height:1.9}.mobile-break{display:none}

@media(max-width:820px){
  .public{display:block;min-height:340px;margin:0 -16px 42px;border-width:0 0 1px;border-radius:0;background:#eef7ff}
  .hero-copy{position:relative;z-index:4;min-height:340px;box-sizing:border-box;padding:40px 18px 44px;background:linear-gradient(90deg,rgba(255,255,255,.98) 0 58%,rgba(255,255,255,.91) 78%,rgba(255,255,255,.76) 100%)}
  .hero-label{margin-bottom:14px}.hero h1{max-width:640px;font-size:clamp(34px,9.6vw,44px);line-height:1.28;letter-spacing:-.045em}.hero-title-line{white-space:nowrap}.lead{max-width:560px;margin:20px 0 0;font-size:16px;line-height:1.75}.mobile-break{display:none}
  .hero-visual{position:absolute;z-index:0;inset:0;min-height:100%;opacity:.72;background:radial-gradient(circle at 84% 58%,white 0 1%,#1eb1ff 2% 4%,rgba(13,95,255,.78) 5% 9%,transparent 10%),linear-gradient(135deg,#e9f9ff 35%,#0068e8)}
  .selection-point{right:9%;top:63%}.orbit{right:9%;top:63%}
  .concept{grid-template-columns:1fr;gap:10px}.route-card{grid-template-columns:50px 1fr auto;min-height:108px;padding:16px}.route-icon{width:50px;height:50px;border-radius:14px}.route-icon svg{width:26px;height:26px}.route-card b{font-size:17px}.route-card small{font-size:12px}.route-title-row{gap:6px;margin-bottom:5px}.route-action-hint{min-height:20px;padding:2px 7px;font-size:10px}
  .route-keyword-search{grid-template-columns:1fr;gap:14px;margin-top:10px;padding:18px}.route-keyword-label{font-size:17px}.route-keyword-copy small{font-size:12px}.route-keyword-row{grid-template-columns:minmax(0,1fr) auto}.route-keyword-row input,.route-keyword-row button{min-height:50px}
  .route-section,.selection-section{margin-bottom:52px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:30px}.selection-heading{align-items:center}.media-toggle{padding:8px 10px;font-size:11px}
  .trust{padding:20px}.adult-bar{display:grid;gap:4px;text-align:center}
}
@media(max-width:520px){.route-keyword-row{grid-template-columns:1fr}.route-keyword-row button{width:100%}}
@media(max-width:390px){.hero h1{font-size:33px}.hero-title-line{white-space:normal;text-wrap:balance}.selection-heading{align-items:flex-start;flex-direction:column}}
