/* English edition, based on the Japanese corporate design. */
:root{--ink:#161616;--muted:#505050;--accent:#ff9235;--max:1200px}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,'Noto Sans JP',sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,h4,p{margin:0}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid #0a66c2;outline-offset:5px}.wrap{width:min(calc(100% - 80px),var(--max));margin-inline:auto}section{padding:96px 0;scroll-margin-top:24px}.label{display:block;font-size:12px;font-weight:700;letter-spacing:.15em;margin-bottom:24px}.keep-together{display:inline-block}.section-head{margin-bottom:42px}.section-head h2{font-size:clamp(28px,3.5vw,46px);font-weight:700;line-height:1.5;letter-spacing:-.035em;text-wrap:balance}
/* Original transparent header; mobile retains the contact link. */
.header{position:absolute;z-index:10;top:0;left:0;width:100%;background:transparent}.nav{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:2px solid var(--ink)}.logo{font-size:27px;font-weight:800;letter-spacing:-.07em}.links{display:flex;gap:24px;align-items:center;font-size:11px;font-weight:500;letter-spacing:.06em}.links a{display:inline-flex;min-height:44px;align-items:center}.links a:hover{text-decoration:underline;text-underline-offset:5px}.contact-link{border:2px solid var(--ink);background:var(--accent);border-radius:999px;padding:8px 20px}
.hero{min-height:790px;position:relative;display:flex;align-items:center;overflow:hidden;background:#fff}.hero-media{position:absolute;inset:0;background:url('./ja/assets/hero-orange-1672.webp') center/cover no-repeat}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 24%,rgba(255,255,255,.6) 43%,transparent 65%)}.hero-copy{position:relative;width:68%;max-width:850px;padding-top:72px}.hero .label,.hero-line{display:none}.hero h1{font-size:clamp(32px,4.1vw,60px);font-weight:800;line-height:1.45;letter-spacing:-.035em}.hero p{font-size:15px;max-width:480px;line-height:1.95;margin-top:30px;color:#3e4047;text-wrap:pretty}.hero:after{content:'SCROLL';position:absolute;left:40px;bottom:42px;font-size:9px;letter-spacing:.22em;writing-mode:vertical-rl}
.mission{background:var(--accent);border-bottom:2px solid var(--ink)}.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.mission-card{border:2px solid var(--ink);background:#fff;box-shadow:5px 5px 0 var(--ink);padding:28px 24px 32px}.number{display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--ink);border-radius:50%;background:var(--accent);box-shadow:3px 3px 0 var(--ink);font-size:15px;font-weight:800;letter-spacing:.1em;margin-bottom:28px}.mission-card h3{font-size:clamp(19px,1.9vw,24px);font-weight:700;line-height:1.65}.mission-card p{font-size:14px;line-height:1.95;margin-top:22px;color:var(--muted);text-wrap:pretty}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}.products .section-head{max-width:950px}.product{display:flex;flex-direction:column;padding:38px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);min-width:0;background:#fff}.product h3{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.045em;line-height:1.25;margin-bottom:20px}.product-marker{background:linear-gradient(transparent 68%,var(--accent) 68%,var(--accent) 91%,transparent 91%);padding:0 .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.product h4{font-size:19px;font-weight:700;line-height:1.7;margin-top:18px}.product p{color:var(--muted);font-size:14px;line-height:1.95;margin:24px 0 28px;max-width:470px;text-wrap:pretty}.aikoo-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.aikoo-title-row h3{margin:0}.aikoo-cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:9px 14px;border:1px solid var(--ink);border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.aikoo-cta:hover{background:var(--accent)}.aikoo-preview{height:320px;min-height:320px;display:flex;align-items:center;justify-content:center;gap:36px;padding:10px;margin-top:auto;background:#fff;border:1px solid #eee8df}.aikoo-icon-tile{width:106px;height:106px;flex:none;display:grid;place-items:center;padding:9px;background:#fff;border-radius:25px;box-shadow:0 9px 22px rgba(0,0,0,.13);transform:rotate(-7deg)}.aikoo-icon-tile img{width:100%;height:100%;object-fit:contain}.aikoo-iphone{height:290px;aspect-ratio:1170 / 2532;flex:none;padding:6px;background:#17191d;border:1px solid #17191d;border-radius:23px;box-shadow:0 14px 24px rgba(0,0,0,.23),0 5px 9px rgba(0,0,0,.12);transform:rotate(5deg);overflow:hidden}.aikoo-iphone img{width:100%;height:100%;object-fit:cover;border-radius:17px}.coming-soon{margin-top:auto;min-height:320px;display:flex;align-items:center;justify-content:center;padding:24px;gap:12px;background:var(--ink);color:#fff;font-size:20px;font-weight:600;letter-spacing:.04em;position:relative;overflow:hidden;isolation:isolate}.coming-dot{width:9px;height:9px;background:var(--accent);border-radius:50%;flex:none}.coming-soon>span{position:relative;z-index:1}.coming-soon:after{content:'';position:absolute;width:185px;height:185px;right:-30px;bottom:-70px;border:17.6px solid var(--accent);border-radius:50%;pointer-events:none}
.locations{padding:72px 0;background:var(--ink);color:#fff}.locations .section-head{margin-bottom:0}.locations h2{font-size:clamp(25px,3vw,38px);text-wrap:initial}.locations h2+h2{font-size:22px;font-weight:600;margin-top:14px}.locations p{font-size:15px;line-height:1.95;color:#dedede;max-width:750px;margin-top:24px}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}.person{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:26px;align-content:start;border-top:1px solid var(--ink);padding-top:28px}.person-photo{width:150px;height:150px;grid-row:1 / 3;object-fit:cover;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--accent)}.person-head{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.person h3{font-size:26px;font-weight:600}.person .en{display:block;color:var(--muted);font-size:11.5px;letter-spacing:.06em}.role{font-size:11.5px}.person p{grid-column:1 / -1;margin-top:25px;font-size:14px;line-height:1.95;color:var(--muted);text-wrap:pretty}.founder-socials{grid-column:2;display:flex;gap:8px;margin-top:12px}.founder-socials a{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d8d8d8;border-radius:50%;background:#fff}.founder-socials svg{width:18px;height:18px}.founder-socials a[href*='linkedin.com']{color:#0a66c2}.founder-socials a:hover{border-color:var(--ink);background:#f5f5f5}
.news{padding:68px 0;background:var(--accent)}.news .section-head{margin-bottom:24px}.news-link{display:block}.news-title{font-size:17px;font-weight:500;line-height:1.7;border-block:1px solid var(--ink);padding:25px 56px 25px 0;position:relative}.news-title:after{content:'→';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:25px}.news-link:hover .news-title{text-decoration:underline;text-underline-offset:4px}
.company-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:50px}.company h2{font-size:28px;font-weight:600}table{width:100%;border-collapse:collapse;font-size:14px;border-block:2px solid var(--ink)}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #ddd;padding:22px 0;overflow-wrap:anywhere}th{width:24%;padding-right:20px;font-weight:400;color:var(--muted)}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}.company a{text-decoration:underline;text-underline-offset:3px}
/* The circle has its own space to the right of the copy. */
.contact{background:var(--ink);color:#fff;position:relative;overflow:hidden;isolation:isolate}.contact:after{content:'';position:absolute;box-sizing:content-box;width:520px;height:520px;right:-230px;bottom:-240px;border:59.4px solid var(--accent);border-radius:50%;pointer-events:none;z-index:-1}.contact-inner{display:flex;flex-direction:column;align-items:flex-start;gap:30px;padding-right:400px}.contact h2{font-size:clamp(28px,3.8vw,48px);font-weight:700;line-height:1.5;letter-spacing:-.035em;text-wrap:balance}.contact p{margin-top:22px;font-size:14px;max-width:680px;color:#dedede}.mail{display:inline-flex;align-items:center;min-height:48px;border:1px solid #fff;border-radius:999px;padding:16px 26px;font-size:14px;background:#fff;color:var(--ink)}.mail:hover{background:var(--accent);border-color:var(--accent)}.footer{padding:28px 0}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.copyright{font-size:12px;color:#555}
@media(max-width:1100px){.product{padding:28px}.aikoo-preview{gap:26px}.person{grid-template-columns:130px minmax(0,1fr);column-gap:22px}.person-photo{width:130px;height:130px}.contact-inner{padding-right:330px}.contact:after{right:-300px}}
@media(max-width:900px){
 .nav{height:84px;min-height:84px;gap:24px}.links a:not(.contact-link){display:none}
 .hero{min-height:780px;align-items:flex-end;padding-bottom:52px}.hero-copy{width:100%;padding-top:360px}.hero h1{font-size:clamp(26px,6.7vw,42px);letter-spacing:-.03em}.hero p{font-size:13px;max-width:100%;margin-top:20px}.hero-media{background-image:url('./ja/assets/hero-orange-1200.webp');background-position:72% center}.hero-media:after{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,.97) 30%,rgba(255,255,255,.4) 55%,transparent 76%)}.hero:after{display:none}
 .mission-grid,.product-grid,.people,.company-grid{grid-template-columns:1fr}.mission-card h3{font-size:21px}.product h3{font-size:32px}.company-grid{gap:20px}.contact-inner{padding-right:0}.contact{padding-bottom:150px}.contact:after{width:340px;height:340px;border-width:38px;right:-160px;bottom:-300px}.person{grid-template-columns:150px minmax(0,1fr)}.person-photo{width:150px;height:150px}
}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}section{padding:64px 0}.section-head{margin-bottom:32px}.section-head h2{font-size:clamp(25px,4.6vw,34px)}.mission-grid{gap:24px}.mission-card{padding:26px}.product{padding:28px}.product h4{font-size:18px}.locations{padding:56px 0}.locations .section-head h2{font-size:clamp(25px,4.6vw,34px)}.locations .section-head h2+h2{font-size:20px}.news-title{font-size:15px}.company th{width:26%}.contact{padding-top:64px}.person{grid-template-columns:112px minmax(0,1fr);column-gap:20px}.person-photo{width:112px;height:112px}.person p{margin-top:22px}}
@media(max-width:440px){.product{padding:22px}.product h3{font-size:29px}.aikoo-preview{height:270px;min-height:270px;gap:20px;padding:8px}.aikoo-icon-tile{width:78px;height:78px;border-radius:20px}.aikoo-iphone{height:240px}.coming-soon{min-height:270px;font-size:18px;padding:20px}.aikoo-cta{padding:8px 11px}.person h3{font-size:24px}.mail{font-size:13px;padding:15px 20px}}
@media(max-width:350px){.product{padding:18px}.product h3{font-size:26px}.aikoo-preview{gap:16px}.aikoo-icon-tile{width:65px;height:65px;padding:6px}.aikoo-iphone{height:225px}.person{grid-template-columns:96px minmax(0,1fr);column-gap:18px}.person-photo{width:96px;height:96px}.person h3{font-size:22px}.mission-card{padding:22px}.hero h1{font-size:24px}}

/* Restore the original Contact composition (review 36). */
.contact{padding:96px 0}
.contact:after{right:-210px;bottom:-240px;width:520px;height:520px;border-width:59.4px}
.contact-inner{padding-right:100px}
.contact h2{text-wrap:wrap}
@media(max-width:760px){
 .contact{padding:64px 0}
 .contact:after{width:300px;height:300px;border-width:35.2px;right:-195px;bottom:-155px}
 .contact-inner{padding-right:0}
 .contact-inner>div{padding-right:20px}
}

/* Keep profile details and social links within the portrait height. */
.person{--portrait-size:150px;grid-template-rows:calc(var(--portrait-size) - 44px) 44px auto}
.person-head{gap:2px;line-height:1.5}
.person h3{line-height:1.4}
.person .en{margin-top:3px}
.founder-socials{margin-top:0;align-self:end}
@media(min-width:901px) and (max-width:1100px){.person{--portrait-size:130px}}
@media(max-width:760px){.person{--portrait-size:112px}.person h3{font-size:23px}.person-head{gap:0}.person .en{margin-top:0}}
@media(max-width:350px){.person{--portrait-size:112px;grid-template-columns:96px minmax(0,1fr)}.person-photo{height:112px}.person h3{font-size:22px}}

/* Center the face within the existing portrait frame. */
.person-photo-ryu{overflow:hidden}
.person-photo-ryu img{width:100%;height:100%;object-fit:cover;transform:translate(-1%,3%) scale(1.08)}

/* White ring mirrors the Contact decoration on the left. */
.news{position:relative;overflow:hidden;isolation:isolate}
.news:before{content:'';position:absolute;box-sizing:content-box;width:520px;height:520px;left:-210px;bottom:-240px;border:59.4px solid #fff;border-radius:50%;pointer-events:none;z-index:-1}
@media(max-width:760px){.news:before{width:300px;height:300px;border-width:35.2px;left:-195px;bottom:-155px}}

/* English typography and language navigation. */
.hero h1{font-size:clamp(36px,4.1vw,58px);line-height:1.18;max-width:680px}
.hero-copy{width:65%}.hero p{line-height:1.75;max-width:470px}
.mission-card h3{line-height:1.35}.mission-card p,.product p,.person p{line-height:1.8}
.section-head h2{line-height:1.25}.products .section-head{max-width:900px}
.product h4{line-height:1.5}.person h3{font-size:25px;letter-spacing:-.025em}
.backed-by{display:flex;align-items:center;gap:12px;margin-top:24px;font-size:11px;color:var(--muted)}.backed-by img{width:64px;height:auto}
.language-link{font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-left:auto}
.news-title small{font-size:12px;white-space:nowrap}.contact h2{max-width:800px;line-height:1.25}
@media(max-width:900px){.hero-copy{width:100%}.hero h1{font-size:clamp(32px,6vw,48px);max-width:620px}.hero p{max-width:600px}.backed-by{margin-top:16px}}
@media(max-width:440px){.person h3{font-size:20px}.hero h1{font-size:34px}.hero p{font-size:13px}.language-link{margin-left:0}.contact h2{font-size:30px}}
@media(max-width:350px){.person h3{font-size:18px}.hero h1{font-size:29px}}

/* Locally served Manrope: lighter headings with more open spacing. */
body{font-family:Manrope,'Noto Sans JP',sans-serif}
.hero h1{font-weight:700;letter-spacing:-.02em}
.section-head h2,.contact h2{font-weight:600;letter-spacing:-.02em}
.product h3{font-weight:700;letter-spacing:-.025em}
.mission-card h3,.product h4{font-weight:600;letter-spacing:-.01em}
.person h3{letter-spacing:-.01em}

/* Preserve the original COSA wordmark. */
.logo{font-family:Inter,sans-serif}

/* Keep the backing credit visually secondary. */
.backed-by{color:#777}
.backed-by img{filter:grayscale(1);opacity:.5}
