:root{--bg: #f4eecd;--fg: #000000;--muted: #333333;--card-bg: #faf7e8;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .18);--shadow-soft: 0 14px 40px rgba(0, 0, 0, .06);--shadow-card: 0 10px 24px rgba(0, 0, 0, .05);--section-space: clamp(4.5rem, 8vw, 8rem);--surface-filter: none;--header-bg: rgba(244, 238, 205, .82);--nav-bg-mobile: rgba(244, 238, 205, .96);--radius-md: 0;--radius-lg: 0;--radius-pill: 0}:root[data-theme=neon-night]{--bg: #050315;--fg: #f5f8ff;--muted: #9db4ff;--card-bg: #0d1330;--line: rgba(107, 130, 255, .25);--line-strong: rgba(165, 187, 255, .72);--shadow-soft: 0 20px 60px rgba(0, 0, 0, .55);--shadow-card: 0 16px 35px rgba(10, 16, 42, .75);--surface-filter: saturate(1.16);--header-bg: rgba(7, 9, 32, .78);--nav-bg-mobile: rgba(10, 13, 44, .98);--radius-md: 18px;--radius-lg: 28px;--radius-pill: 999px}:root[data-theme=aurora-glass]{--bg: #eaf4ff;--fg: #0f1c3f;--muted: #425986;--card-bg: rgba(255, 255, 255, .56);--line: rgba(44, 99, 255, .16);--line-strong: rgba(17, 70, 230, .4);--shadow-soft: 0 28px 75px rgba(50, 78, 150, .2);--shadow-card: 0 12px 35px rgba(49, 98, 213, .14);--surface-filter: blur(8px) saturate(1.08);--header-bg: rgba(255, 255, 255, .6);--nav-bg-mobile: rgba(255, 255, 255, .86);--radius-md: 16px;--radius-lg: 26px;--radius-pill: 999px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,sans-serif;background:radial-gradient(circle at top left,rgba(255,255,255,.3),transparent 28%),linear-gradient(180deg,#ffffff38,#fff0),var(--bg);color:var(--fg);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1120px,calc(100% - 2rem));margin:0 auto}.site-header{position:sticky;top:0;z-index:30;backdrop-filter:blur(12px);background:var(--header-bg);border-bottom:1px solid var(--line)}.header-shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.brand{display:flex;align-items:center;gap:.9rem;font-weight:700;letter-spacing:.04em}.logo{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line-strong);box-shadow:var(--shadow-card);background:var(--fg);color:var(--bg);font-size:1.25rem;font-weight:800;line-height:1;border-radius:var(--radius-md)}.brand-main{font-size:1rem}.brand-sub{color:var(--muted);font-size:.88rem}.nav-wrap{position:relative}.nav-wrap>summary{list-style:none}.nav-wrap>summary::-webkit-details-marker{display:none}.menu-toggle{display:none;width:52px;height:52px;border:1px solid var(--line-strong);background:#faf7e8cc;align-items:center;justify-content:center;flex-direction:column;gap:.33rem;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .18s ease,background-color .18s ease;border-radius:var(--radius-md)}.menu-toggle span{width:20px;height:2px;background:var(--fg);transition:transform .18s ease,opacity .18s ease}.nav-list{display:flex;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0}.nav-list a{display:inline-flex;align-items:center;min-height:42px;padding:0 .95rem;border:1px solid transparent;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,opacity .18s ease;border-radius:var(--radius-pill)}.nav-list a:hover,.nav-list a:focus-visible,.nav-list a.is-active{border-color:var(--line-strong);background:#faf7e8e0;transform:translateY(-1px)}.nav-cta{border-color:var(--fg)!important;background:var(--fg)!important;color:var(--bg)}main>section,main>article{padding:var(--section-space) 0}.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.75rem}.section-heading h2,.page-hero h1{margin:0;font-size:clamp(1.9rem,3vw,3rem);line-height:1.15;display:inline-block;padding-bottom:.35rem;border-bottom:2px solid var(--fg)}.eyebrow,.meta-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.eyebrow:before,.meta-label:before{content:"";width:1.5rem;height:1px;background:currentColor}.card,.panel,.story-card,.project-card,.stat-card,.news-card,.blog-card,.contact-card{background:linear-gradient(180deg,#ffffff47,#ffffff0f),var(--card-bg);border:1px solid var(--line);box-shadow:var(--shadow-card);position:relative;overflow:hidden;border-radius:var(--radius-lg);backdrop-filter:var(--surface-filter);-webkit-backdrop-filter:var(--surface-filter)}.card:after,.panel:after,.story-card:after,.project-card:after,.stat-card:after,.news-card:after,.blog-card:after,.contact-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 36%);opacity:0;transition:opacity .22s ease;pointer-events:none}.card:hover:after,.panel:hover:after,.story-card:hover:after,.project-card:hover:after,.stat-card:hover:after,.news-card:hover:after,.blog-card:hover:after,.contact-card:hover:after{opacity:1}.site-footer{padding:2rem 0 3rem;border-top:1px solid var(--line)}:root[data-theme=neon-night] body{background:radial-gradient(circle at 18% 10%,rgba(167,100,255,.34),transparent 35%),radial-gradient(circle at 84% 20%,rgba(0,235,255,.24),transparent 30%),linear-gradient(180deg,#09041f,#050315)}:root[data-theme=neon-night] .section-heading h2,:root[data-theme=neon-night] .page-hero h1{border-bottom-color:#7ff7ff;text-shadow:0 0 14px rgba(127,247,255,.35)}:root[data-theme=neon-night] .nav-list a:hover,:root[data-theme=neon-night] .nav-list a:focus-visible,:root[data-theme=neon-night] .nav-list a.is-active{background:linear-gradient(120deg,#7efaff42,#ad6bff38);border-color:#b4ddffe6;box-shadow:0 0 0 1px #78c9ff73,0 0 18px #66e1ff40}:root[data-theme=neon-night] .nav-cta{color:#050315;background:linear-gradient(120deg,#7efaff,#b584ff)!important;border-color:transparent!important}:root[data-theme=neon-night] .card:after,:root[data-theme=neon-night] .panel:after,:root[data-theme=neon-night] .story-card:after,:root[data-theme=neon-night] .project-card:after,:root[data-theme=neon-night] .stat-card:after,:root[data-theme=neon-night] .news-card:after,:root[data-theme=neon-night] .blog-card:after,:root[data-theme=neon-night] .contact-card:after{background:linear-gradient(130deg,rgba(126,250,255,.32),rgba(173,107,255,.18) 45%,transparent 75%)}:root[data-theme=aurora-glass] body{background:radial-gradient(circle at 8% 10%,rgba(118,194,255,.28),transparent 38%),radial-gradient(circle at 92% 14%,rgba(189,154,255,.25),transparent 30%),linear-gradient(160deg,#ecf8ff,#f6f1ff 45%,#e9efff)}:root[data-theme=aurora-glass] .site-header,:root[data-theme=aurora-glass] .site-footer{backdrop-filter:blur(10px) saturate(1.12);-webkit-backdrop-filter:blur(10px) saturate(1.12)}:root[data-theme=aurora-glass] .section-heading h2,:root[data-theme=aurora-glass] .page-hero h1{border-bottom-width:3px;border-image:linear-gradient(90deg,#4f7cff,#71d6ff) 1}:root[data-theme=aurora-glass] .nav-list a:hover,:root[data-theme=aurora-glass] .nav-list a:focus-visible,:root[data-theme=aurora-glass] .nav-list a.is-active{background:#ffffffc7;border-color:#4378ff59;box-shadow:0 8px 16px #4378ff24}:root[data-theme=aurora-glass] .nav-cta{color:#fff;background:linear-gradient(120deg,#4883ff,#6e63ff)!important;border-color:transparent!important}.footer-shell{color:var(--muted)}.fade-in{animation:fadeUp .64s ease both;animation-timeline:view();animation-range:entry 0% entry 35%}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.menu-toggle{display:inline-flex}.site-nav{position:absolute;top:calc(100% + .85rem);right:0;min-width:min(88vw,340px);padding:.85rem;background:var(--nav-bg-mobile);border:1px solid var(--line-strong);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}.nav-wrap[open] .site-nav{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-wrap[open] .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-wrap[open] .menu-toggle span:nth-child(2){opacity:0}.nav-wrap[open] .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-list{flex-direction:column;align-items:stretch}.nav-list a{justify-content:center;min-height:48px}}@media(min-width:901px){.nav-wrap[open] .site-nav{opacity:1;pointer-events:auto;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
