:root{--ink:#102d47;--ink-soft:#52718a;--blue:#117fc0;--blue-deep:#086da9;--cloud:#f4fbff;--line:#dbeaf3;--white:#fff;font-family:"DM Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--white);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,a{ -webkit-tap-highlight-color:transparent }a:focus-visible{outline:3px solid #f5b455;outline-offset:4px}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;left:-9999px;top:5px;background:#fff;padding:12px;z-index:99}.skip:focus{left:12px}section{scroll-margin-top:90px}
.site-header{position:absolute;inset:0 0 auto;z-index:5}.header-inner{height:88px;display:flex;align-items:center;gap:34px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:.08em;color:#0d3550;white-space:nowrap}.brand img{border-radius:10px;box-shadow:0 5px 18px #0b447024}.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:auto;font-size:13px;font-weight:700;color:#163c59}.desktop-nav a:hover,.text-link:hover{color:#0478bd}.nav-cta{display:inline-flex;gap:16px;align-items:center;padding:13px 17px;border-radius:100px;background:#153d5b;color:#fff;font-size:12px;font-weight:700;box-shadow:0 10px 28px #0b41602b}.nav-cta:hover{background:#075e96}
.hero{position:relative;overflow:hidden;min-height:830px;background:#d9f1ff}.hero-sky{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(225,246,255,.83) 0%,rgba(225,246,255,.69) 31%,rgba(230,247,255,.18) 64%,rgba(233,246,255,.08) 100%),url('/assets/sky-hero.png');background-size:cover;background-position:center 53%;opacity:.98}.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;min-height:830px;padding-top:100px;padding-bottom:86px}.hero-copy{z-index:2;max-width:650px}.eyebrow,.overline{font-size:11px;font-weight:800;letter-spacing:.19em}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#0c76aa;padding:9px 14px;border:1px solid #8bc9e2;border-radius:100px;background:#ffffff90}.eyebrow-dot{width:7px;height:7px;background:#219aca;border-radius:50%;box-shadow:0 0 0 4px #83d3f57a}.hero h1{margin:25px 0 22px;font-size:clamp(42px,5.3vw,76px);font-weight:800;letter-spacing:-.06em;line-height:1.35;text-wrap:balance}.hero h1 em{font-style:normal;color:#0b79b8}.hero-lead{margin:0;color:#173d59;font-size:clamp(17px,1.7vw,22px);font-weight:700;line-height:1.95}.hero-support{margin:18px 0 31px;max-width:500px;color:#3e667e;font-size:14px;line-height:2}.hero-actions,.closing-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:29px;min-height:56px;padding:0 25px;border-radius:100px;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:#0e78b8;color:#fff;box-shadow:0 15px 30px #087ab046}.button-primary:hover{background:#005f9b;box-shadow:0 17px 32px #087ab05f}.button-glass{border:1px solid #5fa9ce;background:#ffffff83;color:#104e73}.hero-note{font-size:11px;font-weight:600;color:#416d86;margin:17px 0 0}.hero-bottom-wave{position:absolute;left:-10%;right:-10%;bottom:-83px;height:150px;border-radius:50% 50% 0 0;background:#fff}
.device-scene{position:relative;display:flex;justify-content:center;align-items:center;min-height:650px;z-index:1}.phone{position:relative;width:306px;height:622px;padding:10px;border:7px solid #113650;background:#f9fdff;border-radius:49px;box-shadow:0 38px 76px #123e6070,0 8px 0 #164564,inset 0 0 0 2px #6b99ae;transform:rotate(7deg);z-index:2}.phone:after{content:"";position:absolute;width:5px;height:65px;background:#11415f;left:-10px;top:115px;border-radius:3px}.phone-top{display:flex;align-items:center;justify-content:space-between;height:27px;padding:0 15px;font-size:10px;font-weight:800;color:#31516b}.island{width:83px;height:22px;background:#143147;border-radius:99px}.phone-content{padding:18px 16px 0}.app-kicker{letter-spacing:.19em;font-size:10px;color:#5ca6d0;font-weight:800}.app-heading{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:25px;font-weight:800;letter-spacing:-.04em}.weather{font-size:11px;color:#2786b9;border-radius:99px;background:#e7f6fd;padding:7px 9px;letter-spacing:0}.app-date{font-size:10px;color:#7895a8;margin:4px 0 19px}.app-day{display:flex;gap:12px;align-items:center;background:#238bd0;color:#fff;border-radius:14px 14px 0 0;padding:15px 13px;font-size:11px}.app-day span{font-size:10px;letter-spacing:.08em;opacity:.78}.app-day strong{font-size:12px}.timeline{background:#fff;border-radius:0 0 16px 16px;box-shadow:0 7px 28px #1a5c8317;padding:9px 12px}.timeline-row{display:grid;grid-template-columns:39px 10px 1fr;gap:8px;align-items:start;position:relative;min-height:67px}.timeline-row:not(:last-child):before{content:"";position:absolute;width:2px;background:#cde7f5;left:51px;top:17px;bottom:-3px}.timeline-row time{font-size:10px;color:#7191a4;padding-top:4px;font-weight:700}.timeline-row .dot{width:9px;height:9px;border-radius:50%;margin-top:6px;z-index:1}.dot.orange{background:#f4b66b}.dot.blue{background:#268dcb}.dot.pale{background:#b2dbe9}.timeline-row b{display:block;font-size:11px}.timeline-row span{display:block;font-size:9px;color:#7e9aae;margin-top:4px}.app-bottom{display:flex;justify-content:space-around;margin-top:19px;padding-top:12px;border-top:1px solid #e4f0f6;color:#8ca6b8;font-size:19px}.app-bottom span:first-child{color:#168ac9}.app-bottom small{display:block;font-size:8px;text-align:center}.float-card{position:absolute;display:flex;align-items:center;gap:10px;border-radius:17px;padding:13px 17px;color:#254e65;background:#fffefaed;box-shadow:0 15px 45px #13527742;font-size:10px;line-height:1.5;z-index:3;backdrop-filter:blur(12px)}.float-card strong{font-size:12px}.float-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#dcf2fa;color:#0a82b9;font-size:18px}.float-icon.sky{color:#eb9c51;background:#fff0dd}.float-top{top:72px;left:4px;transform:rotate(-7deg)}.float-bottom{right:-13px;bottom:102px;transform:rotate(5deg)}.mock-disclaimer{position:absolute;bottom:17px;right:6px;font-size:10px;color:#dbeefa;text-shadow:0 1px 6px #092d46}
.section-pad{padding:115px 0}.section-head{text-align:center}.overline{color:#1786ba;margin:0 0 17px}.section-head h2,.story h2,.closing h2{font-size:clamp(32px,3.5vw,48px);line-height:1.4;letter-spacing:-.05em;margin:0;font-weight:800}.section-head>p:last-child{margin:20px auto 0;font-size:14px;color:var(--ink-soft);line-height:2}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-top:57px}.feature-card{background:#f7fbfe;border:1px solid #e0edf4;border-radius:25px;padding:23px 23px 29px;box-shadow:0 11px 28px #0b4a6c0a}.feature-no{font-size:10px;letter-spacing:.14em;color:#1988bd;font-weight:800}.feature-art{height:188px;margin:18px 0 24px;border-radius:18px;position:relative;overflow:hidden}.art-schedule{background:linear-gradient(135deg,#a7dcf5,#dff5fd 48%,#80c8ee)}.art-sun{position:absolute;right:25px;top:13px;color:#fff7d3;font-size:51px}.art-mini{position:absolute;top:31px;left:34px;display:flex;flex-direction:column;gap:9px;padding:16px 24px;background:#fffdfde8;border-radius:14px;box-shadow:0 9px 20px #2d79a83b;transform:rotate(-6deg);font-size:11px;color:#295775;font-weight:700}.art-route{background:linear-gradient(145deg,#d7f4ff,#95cbeb)}.route-a,.route-b{position:absolute;display:grid;place-items:center;width:38px;height:38px;border:4px solid #fff;background:#177fb9;color:#fff;border-radius:50%;font-size:13px;font-weight:800;box-shadow:0 8px 12px #0c608846}.route-a{top:32px;left:59px}.route-b{top:100px;right:51px;background:#edac65}.route-line{position:absolute;width:55%;height:69px;left:25%;top:56px;border:3px dashed #fff;border-top:none;border-right:none;border-radius:0 0 0 40px;transform:rotate(-8deg)}.route-caption{position:absolute;bottom:11px;left:14px;padding:8px 10px;background:#fff;box-shadow:0 4px 10px #0c608822;border-radius:10px;font-size:10px;color:#246688;font-weight:800}.art-ready{background:linear-gradient(130deg,#cfeaf8,#eff9fe);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.ready-card{min-width:220px;padding:12px 16px;border-radius:11px;background:#fff;box-shadow:0 6px 15px #2d79a82b;font-size:11px;color:#2d607c;font-weight:700}.ready-card:nth-child(2){transform:translateX(15px)}.ready-card:nth-child(3){transform:translateX(-9px)}.ready-card b{color:#0e9fc0;margin-right:11px}.feature-card h3{font-size:19px;letter-spacing:-.03em;margin:0 0 11px}.feature-card p{font-size:12px;line-height:2;color:#5c788d;margin:0}
.story{background:#f1f9fd}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.story-title p:not(.overline){max-width:400px;color:#52718a;font-size:14px;line-height:2;margin:21px 0 27px}.text-link{display:inline-flex;align-items:center;gap:23px;border-bottom:1px solid #087ab5;padding-bottom:7px;color:#087ab5;font-size:13px;font-weight:800}.steps{background:#fff;border:1px solid #e2eef5;border-radius:28px;padding:33px 36px;box-shadow:0 20px 38px #37698714}.step{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid #e5f0f5}.step:last-child{border:0}.step>span{font-size:14px;color:#39a4cf;font-weight:800}.step h3{margin:0 0 5px;font-size:16px}.step p{margin:0;color:#7891a3;font-size:12px;line-height:1.8}
.closing{position:relative;overflow:hidden;background:linear-gradient(117deg,#0b6cae,#2499d6);color:#fff;padding:91px 0}.closing:after{content:"";position:absolute;width:570px;height:570px;border-radius:50%;background:#ffffff17;right:-190px;top:-190px}.closing-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:35px;z-index:1}.closing .overline{color:#b9e5fa}.closing h2{margin-bottom:13px}.closing p:not(.overline){max-width:580px;color:#e0f2fc;font-size:14px;line-height:2}.closing-actions{margin-top:27px}.button-white{background:#fff;color:#0a689e}.coming-pill{border:1px solid #ffffff88;color:#fff;padding:12px 18px;border-radius:99px;font-size:11px;font-weight:800}.closing-icon{border-radius:36px;box-shadow:0 25px 48px #063b6c65;transform:rotate(9deg);margin-right:9%}
footer{background:#0c2a43;color:#b4ccdb}.footer-inner{min-height:140px;display:flex;align-items:center;gap:25px}.footer-brand{color:#fff}.footer-inner p{font-size:12px}.footer-inner>a{margin-left:auto;font-size:12px}.footer-inner small{font-size:11px}
@media(max-width:900px){.desktop-nav{gap:17px}.hero-grid{grid-template-columns:1fr .8fr}.hero h1{font-size:50px}.device-scene{transform:scale(.86);transform-origin:center}.feature-grid{gap:10px}.feature-card{padding:18px}.story-grid{gap:30px}.float-bottom{right:-35px}}
@media(max-width:700px){.wrap{width:min(100% - 32px,540px)}.header-inner{height:72px}.brand{font-size:14px}.brand img{width:30px;height:30px}.desktop-nav{display:none}.nav-cta{margin-left:auto;padding:11px 14px;font-size:11px}.hero{min-height:0}.hero-sky{background-position:60% center}.hero-grid{display:block;min-height:0;padding-top:122px;padding-bottom:42px}.hero-copy{max-width:none}.hero h1{font-size:clamp(43px,11vw,57px);line-height:1.27;margin-top:21px}.hero-lead{font-size:17px}.hero-support{font-size:12px;line-height:1.85}.hero-actions{gap:8px}.button{font-size:12px;min-height:50px;padding:0 18px;gap:11px}.hero-note{font-size:10px}.device-scene{transform:none;min-height:565px;margin-top:16px}.phone{width:268px;height:541px;transform:rotate(4deg) scale(.95)}.phone-content{padding:9px 12px 0}.app-day{margin-top:-7px}.timeline-row{min-height:60px}.float-top{left:0;top:35px}.float-bottom{right:0;bottom:70px}.mock-disclaimer{display:none}.hero-bottom-wave{bottom:-92px}.section-pad{padding:83px 0}.section-head h2,.story h2,.closing h2{font-size:35px}.feature-grid{grid-template-columns:1fr;gap:15px;margin-top:35px}.feature-card{padding:19px}.feature-art{height:175px}.story-grid{grid-template-columns:1fr;gap:32px}.steps{padding:17px 23px}.closing{padding:72px 0}.closing-inner{display:block}.closing-icon{display:block;width:94px;height:94px;border-radius:23px;margin:40px 7px 0 auto}.footer-inner{min-height:170px;flex-wrap:wrap;align-content:center;gap:7px 20px}.footer-inner p{width:100%;margin:0}.footer-inner>a{margin-left:0}.footer-inner small{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
