:root {
  --ink:#0a1b33;
  --ink-2:#17345a;
  --paper:#f5f2ec;
  --white:#fff;
  --sky:#72cfe7;
  --line:rgba(10,27,51,.16);
  --muted:#647184;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;letter-spacing:.02em}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.section-pad{padding:120px 0}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:700;margin:0 0 22px}.eyebrow.light{color:rgba(255,255,255,.72)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(245,242,236,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;line-height:1.15}.brand-main{font-size:19px;font-weight:800;letter-spacing:.14em}.brand-sub{font-size:9px;font-weight:700;letter-spacing:.2em;margin-top:5px}.global-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:650}.global-nav a:last-child{border:1px solid var(--ink);padding:10px 14px}.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:8px}.menu-button span{display:block;height:1px;background:var(--ink);margin:8px 0}
.hero{overflow:hidden;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.4fr .6fr;min-height:690px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 8vw 80px 0}.hero h1{font-size:clamp(45px,6vw,82px);line-height:1.18;letter-spacing:-.04em;margin:0 0 34px;font-weight:780}.hero h1 span{position:relative;white-space:nowrap}.hero h1 span:after{content:"";position:absolute;left:0;bottom:.05em;width:100%;height:.2em;background:var(--sky);z-index:-1}.lead{font-size:17px;color:#33435a;margin:0 0 36px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;align-self:flex-start;gap:70px;background:var(--ink);color:#fff;padding:16px 19px;font-size:13px;font-weight:700;min-width:230px}.hero-panel{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:36px}.hero-panel .hero-number{font-size:12px;letter-spacing:.2em}.hero-panel .hero-lines{height:1px;background:rgba(255,255,255,.35);margin-top:auto}.hero-panel p{font-size:clamp(32px,4vw,58px);font-weight:750;line-height:1.05;letter-spacing:-.03em;margin:24px 0 0}.marquee{background:var(--sky);white-space:nowrap;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.marquee span{display:block;font-size:13px;font-weight:800;letter-spacing:.24em;padding:12px 0;animation:marquee 20s linear infinite}@keyframes marquee{to{transform:translateX(-38%)}}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.intro h2,.section-heading h2,.about h2,.contact h2{font-size:clamp(34px,4.4vw,60px);line-height:1.28;letter-spacing:-.035em;margin:0}.service-rail article{display:grid;grid-template-columns:58px 1fr;align-items:center;border-top:1px solid var(--line);padding:20px 0}.service-rail article:last-of-type{border-bottom:1px solid var(--line)}.service-rail article span{font-size:11px;font-weight:800;letter-spacing:.16em}.service-rail h3{font-size:18px;margin:0}.service-rail>p{font-size:13px;color:var(--muted);margin:24px 0 7px}.text-link{font-size:13px;font-weight:750;border-bottom:1px solid var(--ink);padding-bottom:3px}
.services{background:#fff}.section-heading{display:grid;grid-template-columns:.8fr 1.4fr 1fr;align-items:end;gap:50px;margin-bottom:70px}.section-heading .eyebrow{align-self:start}.section-heading p:last-child{margin:0;color:var(--muted);font-size:14px}.service-item{display:grid;grid-template-columns:.8fr 2.4fr;gap:60px;border-top:1px solid var(--line);padding:44px 0}.service-item:last-child{border-bottom:1px solid var(--line)}.service-index{font-size:13px;font-weight:800;letter-spacing:.16em}.service-index span{display:block;color:var(--muted);font-size:10px;margin-top:5px}.service-body h3{font-size:28px;margin:0 0 16px}.service-body p{max-width:720px;color:#455469;margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.chips span{font-size:11px;border:1px solid var(--line);padding:6px 10px;background:#faf9f6}
.about{background:var(--ink);color:#fff}.about-grid{display:grid;grid-template-columns:.7fr 1.5fr;gap:120px}.about-copy h2{margin-bottom:46px}.about-copy>p{max-width:720px;color:rgba(255,255,255,.76);font-size:15px}.signature{margin-top:48px;padding-top:26px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:end}.signature strong{font-size:19px}.signature span{font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.6)}
.contact-head{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:50px;align-items:end;margin-bottom:70px}.contact-head .eyebrow{align-self:start}.contact-head>p:last-child{font-size:14px;color:var(--muted);margin:0}.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.contact-methods{border-top:1px solid var(--line)}.contact-row{display:grid;grid-template-columns:100px 1fr 30px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:30px 0}.contact-row span{font-size:10px;font-weight:800;letter-spacing:.18em}.contact-row strong{font-size:clamp(17px,2.2vw,26px);font-weight:650;overflow-wrap:anywhere}.contact-row b{text-align:right}.line-card{border:1px solid var(--ink);padding:28px;display:grid;grid-template-columns:1fr 155px;gap:24px;align-items:center}.line-card h3{font-size:24px;margin:0 0 14px}.line-card p{font-size:13px;margin:0 0 12px}.line-card .small{color:var(--muted);font-size:11px}.qr-wrap{background:#fff;padding:9px;width:155px;aspect-ratio:1 / 1;justify-self:center}.qr-wrap img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:contain;display:block}.note{font-size:12px;color:var(--muted);margin:22px 0 0}.footer{background:#061325;color:#fff;padding:44px 0}.footer-grid{display:flex;justify-content:space-between;align-items:end}.footer-grid div{display:flex;flex-direction:column}.footer-grid strong{font-size:17px}.footer-grid span{font-size:9px;color:rgba(255,255,255,.55);margin-top:8px}.footer a{font-size:11px;border-bottom:1px solid rgba(255,255,255,.6)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:900px){.shell{width:min(calc(100% - 32px),var(--max))}.section-pad{padding:84px 0}.nav-wrap{height:70px}.global-nav{position:fixed;inset:70px 0 auto 0;background:var(--paper);border-bottom:1px solid var(--line);padding:26px 24px;display:none;flex-direction:column;align-items:stretch;gap:12px}.global-nav.is-open{display:flex}.global-nav a{padding:10px 0}.global-nav a:last-child{border:0;padding:10px 0}.menu-button{display:block}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:90px 0 70px}.hero-panel{min-height:350px}.desktop-only{display:none}.intro-grid,.about-grid{grid-template-columns:1fr;gap:52px}.section-heading,.contact-head{grid-template-columns:1fr;gap:20px;align-items:start}.service-item{grid-template-columns:1fr;gap:20px}.contact-grid{grid-template-columns:1fr}.line-card{grid-template-columns:1fr 150px}.signature{align-items:flex-start;gap:20px;flex-direction:column}.contact-row{grid-template-columns:72px 1fr 22px}}
@media (max-width:560px){.hero h1{font-size:42px}.hero h1 span{white-space:normal}.lead{font-size:15px}.primary-button{width:100%}.hero-panel{min-height:300px}.line-card{grid-template-columns:1fr}.qr-wrap{width:180px;margin:16px auto 0}.contact-row{grid-template-columns:1fr 24px;gap:5px}.contact-row span{grid-column:1/3}.footer-grid{align-items:flex-start;gap:30px;flex-direction:column}.section-pad{padding:68px 0}.service-body h3{font-size:24px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee span{animation:none}}
