/* RUTEN shared design, KAGARI blue. Geometry, typography and motion stay shared. */
:root{--red:#2454ce}
.hero{overflow:clip}
.hero-primary:hover{background:#193fa3}
.kagari-mark{filter:brightness(0) saturate(100%) invert(28%) sepia(90%) saturate(1770%) hue-rotate(216deg) brightness(84%) contrast(92%)}
.kagari-wordmark{font-family:"Helvetica Neue",Arial,sans-serif;font-size:24px;font-weight:500;letter-spacing:.23em;line-height:1;white-space:nowrap}
.hero-sculpture-image{filter:hue-rotate(222deg)}
.header .brand{gap:14px}
.desktop-nav{gap:22px}
.desktop-nav a[aria-current="page"]{color:var(--red)}
.footer-bottom nav{flex-wrap:wrap;row-gap:18px}
.footer-bottom{align-items:flex-start}
.copy-list{padding-left:1.3em;font-size:16px;line-height:2.1}
.copy-list li+li{margin-top:12px}
.section-intro{max-width:780px;line-height:2;margin:0 0 45px;font-size:16px}
.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.space-grid figure{margin:0}
.space-grid img{display:block;width:100%;height:360px;object-fit:cover}
figcaption{font-size:14px;color:var(--muted);margin-top:15px;line-height:1.8}
.mentor-photo{margin:35px 0 0}
.mentor-photo img{display:block;width:100%;height:auto}
.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}
.learning-grid article{border-top:1px solid var(--line);padding-top:24px}
.learning-grid h3{font-size:24px;line-height:1.6;margin:14px 0}
.learning-grid p{font-size:16px;line-height:2}
.project-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}
.project-item{position:relative;border-top:1px solid var(--line);padding:30px 30px 35px 0;display:block}
.project-item h3{font-size:26px;line-height:1.5;margin:12px 0}
.project-item p{font-size:16px;line-height:2;color:var(--muted)}
.project-arrow{position:absolute;right:0;top:38px;color:var(--red);font-size:26px}
.project-item:hover h3{color:var(--red)}
.faq-categories{display:flex;flex-wrap:wrap;gap:18px 30px;padding-top:45px;padding-bottom:55px}
.faq-categories a{border-bottom:1px solid var(--line);font-size:16px;padding-bottom:12px}
.faq-list p a{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.about-body .hero-primary{margin-top:25px;gap:20px}
.services .service-row .service-arrow{font-size:26px}
@media(max-width:1100px){.desktop-nav{gap:15px}.desktop-nav a{font-size:14px}.header{gap:24px}.kagari-wordmark{font-size:21px}}
@media(max-width:960px) and (min-width:761px){.header .brand{gap:8px}.kagari-wordmark{font-size:19px;letter-spacing:.12em}.desktop-nav{gap:12px}.header{gap:16px}.header-contact{font-size:14px}}
@media(max-width:760px){.kagari-wordmark{font-size:22px}.header .brand{gap:10px}.header .header-contact{margin-left:auto;font-size:14px;padding:8px 13px}.header .menu-toggle{margin-left:0}.header{gap:12px}.space-grid{gap:25px 16px}.space-grid img{height:220px}.learning-grid{grid-template-columns:1fr;gap:28px}.project-list{grid-template-columns:1fr}.learning-grid h3{font-size:22px}.project-item h3{font-size:24px}.footer-bottom nav{gap:18px}.detail-page-tagline{overflow-wrap:anywhere}.about-body .hero-primary{font-size:14px}.section-intro{margin-bottom:30px}}
@media(max-width:420px){.header .header-contact{display:none}.header .menu-toggle{margin-left:auto}.space-grid{grid-template-columns:1fr}.space-grid img{height:260px}}
