:root{--navy:#082b50;--navy-deep:#051d38;--teal:#2bb3a0;--teal-light:#a9eadc;--orange:#f2a33c;--blue-soft:#b8d7ed;--bg:#f5f8fa;--ink:#162e45;--muted:#587087;--line:#d8e4eb;--white:#fff;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic UI", "Noto Sans JP", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:16px;line-height:1.8}img{max-width:100%}a{color:inherit}a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.container{width:min(1120px,100% - 3rem);margin:auto}.narrow{width:min(920px,100% - 3rem)}.skip-link{top:max(env(safe-area-inset-top), 0px);left:max(1rem, env(safe-area-inset-left));z-index:30;background:var(--orange);color:var(--ink);padding:.45rem 1rem;font-weight:800;position:fixed;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:1rem;min-height:4.7rem;display:flex}.nav-brand{color:var(--navy);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:.55rem;font-weight:850;text-decoration:none;display:flex}.nav-brand img{object-fit:contain;width:2.25rem;height:2.25rem}.nav-brand span span{color:var(--teal)}.nav-links{gap:clamp(.65rem,2.4vw,1.7rem);font-size:.84rem;display:flex}.nav-links a{color:var(--navy);font-weight:750;text-decoration:none}.nav-links a:hover{color:var(--teal)}.hero{color:var(--white);background:radial-gradient(circle at 80% 20%, #2bb3a047, transparent 30%), linear-gradient(140deg, var(--navy), var(--navy-deep));position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #a9eadc3d;border-radius:50%;width:42rem;height:42rem;position:absolute;bottom:-27rem;right:-18rem;box-shadow:0 0 0 2.4rem #a9eadc0d,0 0 0 5rem #a9eadc09}.hero-grid{z-index:1;grid-template-columns:1.25fr .75fr;align-items:center;gap:3rem;min-height:clamp(590px,75vh,720px);padding:clamp(4rem,9vw,7rem) 0;display:grid;position:relative}.hero-copy{max-width:700px}.eyebrow,.section-kicker{color:var(--teal);letter-spacing:.14em;margin:0 0 .8rem;font-size:.74rem;font-weight:850}.hero .eyebrow{color:var(--teal-light)}.hackathon-link{color:inherit;text-underline-offset:4px;text-decoration-color:#a9eadcb8;text-decoration-thickness:1px}.hackathon-link:hover{color:var(--white)}h1,h2,h3{color:var(--navy);letter-spacing:.02em;font-weight:850;line-height:1.35}h1{color:var(--white);margin:0 0 1.1rem;font-size:clamp(3.1rem,7vw,5.6rem);line-height:1}h1 em{color:var(--teal);font-style:normal}h2{margin:.1rem 0 1.25rem;font-size:clamp(1.9rem,4vw,3rem)}h3{margin:0 0 .65rem;font-size:1.05rem}p{margin:0 0 1rem}.catchphrase{max-width:13em;font-size:clamp(1.45rem,2.8vw,2rem);font-weight:800;line-height:1.5}.mission{color:#deecf6;max-width:640px;margin:1.5rem 0 2rem}.button-row{flex-wrap:wrap;gap:.8rem;display:flex}.button{border:2px solid #0000;border-radius:999px;align-items:center;gap:.6rem;padding:.85rem 1.2rem;font-weight:850;line-height:1.35;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 7px 16px #0000002b}.button-primary{background:var(--orange);color:#202d37}.button-secondary{color:var(--white);border-color:#ffffffa1}.hero-aside{text-align:center;justify-self:center;width:min(310px,80vw)}.hero-logo{filter:drop-shadow(0 20px 30px #0003);width:min(260px,62vw);margin:0 auto 1.4rem;display:block}.hero-promise{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.hero-promise span{color:var(--teal-light);border:1px solid #a9eadc73;border-radius:999px;padding:.18rem .7rem;font-size:.76rem;font-weight:700}.section{background:var(--white);padding:clamp(4.8rem,9vw,8rem) 0}.section-tint{background:var(--bg)}.lead{color:var(--muted);font-size:1.08rem;line-height:1.9}.section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:3rem;margin-bottom:2.2rem;display:grid}.section-heading .lead{margin:0}.product-lockup{align-items:flex-start;gap:1rem;display:flex}.product-lockup img{border-radius:1.15rem;flex:none;width:4.6rem;height:4.6rem;box-shadow:0 8px 18px #082b501f}.product-lockup .section-kicker{margin-top:.2rem}.product-lockup h2{margin-bottom:0}.barrier-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.2rem;display:grid}.barrier{border-top:4px solid var(--teal);background:var(--bg);padding:1.65rem}.barrier span{color:var(--teal);letter-spacing:.12em;font-size:.78rem;font-weight:850}.barrier h3{margin-top:.5rem}.barrier p{color:var(--muted);margin:0;font-size:.94rem}.entry-note{border-left:4px solid var(--orange);background:#fff8ed;align-items:center;gap:1rem;margin:2rem 0 1.25rem;padding:1rem 1.2rem;display:flex}.entry-note span{color:#88540a;letter-spacing:.08em;flex:none;font-size:.78rem;font-weight:850}.entry-note p{margin:0;font-size:.94rem}.flow{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.flow li,.architecture-diagram li{background:var(--white);min-height:225px;padding:1.4rem}.flow-number{color:var(--teal);letter-spacing:.1em;margin-bottom:1.5rem;font-size:.85rem;font-weight:850;display:block}.flow h3,.architecture-diagram h3{margin-bottom:.65rem}.flow p,.architecture-diagram p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.75}.feature-row{justify-content:space-between;align-items:flex-end;gap:2rem;padding:2rem 0 0;display:flex}.feature-row>div{max-width:710px}.feature-row p{color:var(--muted);margin:0}.text-link{color:var(--navy);-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal);text-underline-offset:4px;flex:none;font-weight:850;text-decoration-thickness:2px}.principle-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.card{border:1px solid var(--line);background:var(--white);border-radius:.75rem;min-width:0;padding:1.4rem;box-shadow:0 2px 10px #082b500b}.card p{color:var(--muted);margin:0;font-size:.94rem}.card-label{color:var(--teal);letter-spacing:.12em;margin-bottom:.8rem;font-size:.7rem;font-weight:850;display:block}.good{border-top:4px solid var(--teal)}.challenge{border-top:4px solid var(--orange)}.good h3 span{color:var(--teal);margin-right:.3rem}.challenge h3 span{color:#b56c0d;margin-right:.3rem}.privacy-footnote{max-width:800px;color:var(--muted);margin:1.5rem 0 0;font-size:.9rem}.open-data-grid{grid-template-columns:repeat(3,1fr)}.question-lead{max-width:740px}.group-heading{color:var(--ink);margin:2.7rem 0 .8rem;font-size:1rem}.card-grid{gap:1rem;display:grid}.questions{grid-template-columns:repeat(3,1fr)}.closing{margin-top:1.8rem;font-weight:800}.demo-section{color:var(--white);background:linear-gradient(120deg, var(--navy-deep), var(--navy));padding:clamp(4.5rem,9vw,7rem) 0}.demo-grid{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.demo-section h2{color:var(--white);margin-bottom:.8rem}.demo-section p:not(.disclaimer){color:#d9e8f2}.demo-action{justify-self:end;max-width:430px}.demo-action .button{margin-bottom:1.3rem}.disclaimer{color:#d9e8f2;font-size:.88rem;line-height:1.75}.coming-soon{border:1px solid var(--blue-soft);color:var(--white);border-radius:999px;align-items:center;gap:.45rem;margin-top:.8rem;padding:.28rem .75rem;font-size:.82rem;text-decoration:none;display:inline-flex}.coming-soon:hover{background:#ffffff1a}footer{color:var(--white);background:#03172c;padding:2.1rem 0;font-size:.84rem}.footer-content{justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer-brand{align-items:center;gap:.8rem;display:flex}footer img{object-fit:contain;width:3.2rem;height:3.2rem}footer p{color:#d4e0e8;max-width:600px;margin:.18rem 0}@media (width<=850px){.hero-grid,.section-heading,.demo-grid{grid-template-columns:1fr}.hero-grid{text-align:center;padding:4.5rem 0}.hero-copy{margin:auto}.catchphrase,.mission{margin-left:auto;margin-right:auto}.button-row{justify-content:center}.hero-aside{grid-row:1}.hero-logo{width:185px;margin-bottom:1rem}.barrier-grid,.principle-grid,.questions,.open-data-grid,.flow,.architecture-diagram{grid-template-columns:repeat(2,1fr)}.demo-action{justify-self:start}}@media (width<=600px){html{scroll-padding-top:4.5rem}body{font-size:15px}.container,.narrow{width:min(100% - 1.5rem,1120px)}.nav{flex-wrap:wrap;align-items:center;gap:.55rem;min-height:4.2rem;padding:.55rem 0}.nav-brand{flex:none;gap:.35rem;font-size:.9rem}.nav-brand img{width:2rem;height:2rem}.nav-links{flex-direction:column;flex-basis:100%;order:3;align-items:stretch;gap:.15rem}.nav-links a{align-items:center;min-height:44px;font-size:1rem;display:flex}.hero-grid{gap:1.5rem;min-height:0;padding:3rem 0 3.5rem}h1{overflow-wrap:anywhere;font-size:clamp(2.65rem,13vw,3.4rem)}h2{overflow-wrap:anywhere;font-size:clamp(1.7rem,8vw,2rem)}.catchphrase{font-size:1.35rem}.mission{margin:1.25rem 0 1.6rem}.button{justify-content:center;padding:.8rem 1rem}.hero-aside{display:none}.section,.demo-section{padding:clamp(3.5rem,14vw,4.8rem) 0}.section-heading{gap:.5rem;margin-bottom:1.7rem}.lead{font-size:1rem;line-height:1.8}.product-lockup{gap:.75rem}.product-lockup img{border-radius:.9rem;width:3.7rem;height:3.7rem}.barrier-grid,.principle-grid,.questions,.open-data-grid,.flow,.architecture-diagram{grid-template-columns:1fr}.barrier,.card{padding:1.2rem}.flow li,.architecture-diagram li{min-height:auto;padding:1.2rem}.flow-number{margin-bottom:.65rem}.entry-note,.feature-row,.footer-content{flex-direction:column;align-items:flex-start}.feature-row{gap:1rem}.demo-grid{gap:1.2rem}footer{padding-bottom:calc(2.1rem + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.nav-links a.is-active{color:var(--teal);text-underline-offset:.45rem;text-decoration:underline;text-decoration-thickness:2px}.cta-reassurance{color:var(--teal-light);margin:1rem 0 0;font-size:.79rem;font-weight:700}.entry-options{grid-template-columns:repeat(2,1fr);gap:1rem;margin:2rem 0 1.25rem;display:grid}.entry-option{border:1px solid var(--line);background:var(--white);min-height:110px;color:var(--ink);border-radius:.8rem;align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 2px 10px #082b500a}.entry-option:hover{transform:translateY(-3px);box-shadow:0 10px 22px #082b501f}.entry-option strong,.entry-option small{display:block}.entry-option strong{color:var(--navy)}.entry-option small{color:var(--muted);margin-top:.2rem;font-size:.84rem}.entry-option b{color:var(--teal);margin-left:auto;font-size:1.25rem}.entry-icon{width:2.7rem;height:2.7rem;color:var(--navy);background:#e5f6f2;border-radius:50%;flex:none;place-items:center;font-size:1.35rem;font-weight:850;display:grid}.flow li{position:relative}.flow li:not(:last-child):after{content:"→";content:"→" / "";z-index:1;background:var(--teal);width:1.4rem;height:1.4rem;color:var(--white);border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;top:50%;right:-.7rem;transform:translateY(-50%)}.nav-toggle{display:none}.architecture-diagram{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.architecture-diagram li{position:relative}.architecture-diagram li:not(:last-child):after{content:"→";content:"→" / "";z-index:1;background:var(--teal);width:1.4rem;height:1.4rem;color:var(--white);border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;top:50%;right:-.7rem;transform:translateY(-50%)}.architecture-intro{margin-top:2.6rem}.architecture-intro .lead{margin-top:.4rem}.criteria-list{gap:.9rem;margin:0 0 2.7rem;padding:0;display:grid}.criteria-list>div{border-left:4px solid var(--teal);background:var(--white);padding:1rem 1.2rem}.criteria-list dt{color:var(--navy);margin-bottom:.3rem;font-weight:850}.criteria-list dd{color:var(--muted);margin:0;font-size:.94rem}.outcome-sub{gap:.6rem;margin:1.3rem 0;padding:0;list-style:none;display:grid}.outcome-sub li{color:var(--muted);font-size:.94rem}.outcome-sub strong{color:var(--ink)}.mobile-cta{display:none}@media (width<=600px){body{padding-bottom:calc(4.8rem + env(safe-area-inset-bottom))}.entry-options{grid-template-columns:1fr}.entry-option{min-width:0;min-height:96px;padding:1rem}.entry-option>span:nth-child(2){min-width:0}.entry-option small{overflow-wrap:anywhere;font-size:.8rem}.flow li:not(:last-child):after,.architecture-diagram li:not(:last-child):after{inset:auto auto -.7rem 1.2rem;transform:none}.nav-links a.is-active{text-underline-offset:.25rem}.mobile-cta{z-index:25;right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));max-width:calc(100% - 1.5rem - env(safe-area-inset-left) - env(safe-area-inset-right));background:var(--orange);color:#202d37;border-radius:999px;align-items:center;gap:.4rem;padding:.72rem 1rem;font-size:.85rem;font-weight:850;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 8px 22px #03172c47}html.js .nav-toggle{border:1px solid var(--line);background:var(--white);min-height:44px;color:var(--navy);font:inherit;border-radius:999px;order:2;justify-content:center;align-items:center;margin-left:auto;padding:.5rem 1.1rem;font-size:.85rem;font-weight:800;display:inline-flex}html.js .nav-links{display:none}html.js .nav-links[data-open]{display:flex}}@media (width<=370px){.nav{align-items:flex-start}.nav-links{justify-content:flex-start}.button-row{flex-direction:column;align-items:stretch}.button-row .button{width:100%}}
