.hero{max-width:1240px;margin:0 auto;padding:80px 32px 100px;position:relative}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start}.hero-title{font-size:clamp(40px,5.5vw,68px);line-height:1.18}.hero-lede{font-size:17px;max-width:540px}.hero-card{background:var(--paper-warm);border:1px solid var(--ink);padding:36px;position:relative}.hero-card:before{content:"CASE LOG";position:absolute;top:-10px;left:24px;background:var(--paper);padding:0 12px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;color:var(--text-muted)}.hero-card-row{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px dashed var(--rule)}.hero-card-row:last-child{border-bottom:none;padding-bottom:0}.hero-card-row:first-child{padding-top:0}.hero-card-label{font-size:13px;color:var(--text-soft);font-weight:500}.hero-card-value{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--ink)}.hero-card-value .big{font-size:28px;margin-right:4px}.hero-card-value .unit{font-size:12px;color:var(--text-soft);font-weight:400}.hero-card-footer{margin-top:24px;padding-top:18px;border-top:1px solid var(--ink);font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);letter-spacing:.1em;display:flex;justify-content:space-between}.pillars{background:var(--ink);color:var(--paper);padding:100px 32px}.pillars-inner{max-width:1240px;margin:0 auto}.pillars .section-eyebrow{color:#f4f1ea80}.pillars-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(28px,3.5vw,44px);margin-bottom:64px;line-height:1.3;max-width:720px}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#f4f1ea26;border:1px solid rgba(244,241,234,.15)}.pillar{background:var(--ink);padding:40px 36px}.pillar:hover{background:var(--ink-soft)}.pillar-num{font-family:JetBrains Mono,monospace;font-size:11px;color:#f4f1ea66;letter-spacing:.2em;margin-bottom:24px}.pillar-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:22px;margin-bottom:16px;color:var(--paper)}.pillar-desc{font-size:14px;color:#f4f1eab3;line-height:1.85}.metrics{padding:100px 32px;background:var(--paper-warm);position:relative}.metrics:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 4px,transparent 4px,transparent 12px);opacity:.3}.metrics-inner{max-width:1240px;margin:0 auto}.metrics-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:72px;align-items:end}.metrics-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(28px,3.5vw,44px);line-height:1.3}.metrics-lede{font-size:15px;color:var(--text-soft);line-height:1.95}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:48px 0}.metric{border-left:1px solid var(--rule);padding-left:24px}.metric:first-child{border-left:none;padding-left:0}.metric-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.15em;color:var(--text-muted);margin-bottom:16px}.metric-value{font-family:JetBrains Mono,monospace;font-weight:700;font-size:clamp(36px,4.5vw,56px);color:var(--ink);line-height:1;margin-bottom:12px;letter-spacing:-.02em}.metric-value .small{font-size:.5em;color:var(--text-soft);margin-left:4px}.metric-caption{font-size:13px;color:var(--text-soft);line-height:1.6}.metrics-footnote{margin-top:32px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);letter-spacing:.1em;text-align:right}.services{padding:120px 32px;background:var(--paper)}.services-inner{max-width:1240px;margin:0 auto}.services-head{margin-bottom:64px}.services-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(28px,3.5vw,44px);line-height:1.3;max-width:720px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--rule)}.service{padding:40px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper);cursor:pointer;position:relative}.service:nth-child(2n){border-right:none}.service:nth-last-child(-n+2){border-bottom:none}.service:hover{background:var(--paper-warm)}.service-num{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--cobalt);letter-spacing:.2em;margin-bottom:16px}.service-name{font-family:"Noto Serif JP",serif;font-weight:700;font-size:24px;margin-bottom:16px;color:var(--ink)}.service-desc{font-size:14px;color:var(--text-soft);line-height:1.85;margin-bottom:24px}.service-meta{display:flex;gap:24px;padding-top:16px;border-top:1px dashed var(--rule);font-family:JetBrains Mono,monospace;font-size:12px}.service-meta dt{color:var(--text-muted);letter-spacing:.1em}.service-meta dd{color:var(--ink);font-weight:500}.service-arrow{position:absolute;bottom:40px;right:40px;width:32px;height:32px;border:1px solid var(--ink);display:grid;place-items:center}.service:hover .service-arrow{background:var(--ink);color:var(--paper)}.cases{padding:120px 32px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.cases-inner{max-width:1240px;margin:0 auto;position:relative}.cases-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:72px;align-items:end}.cases-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(28px,3.5vw,44px);line-height:1.3;color:var(--paper)}.cases-lede{font-size:15px;color:#f4f1eabf;line-height:1.95}.case-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case-card{border:1px solid rgba(244,241,234,.2);padding:32px;background:#f4f1ea08}.case-tag{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;color:#f4f1ea80;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(244,241,234,.15)}.case-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:18px;margin-bottom:16px;line-height:1.5}.case-summary{font-size:13px;color:#f4f1eab3;line-height:1.85}.case-cta{margin-top:56px;text-align:center}.case-cta a{color:var(--paper);text-decoration:none;font-size:15px;border-bottom:1px solid var(--paper);padding-bottom:4px}.case-cta a:hover{color:var(--rust);border-color:var(--rust)}.blog{padding:120px 32px;background:var(--paper)}.blog-inner{max-width:1240px;margin:0 auto}.blog-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:56px;padding-bottom:24px;border-bottom:2px solid var(--ink)}.blog-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(28px,3.5vw,44px)}.blog-link{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.2em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.blog-link:hover{color:var(--cobalt);border-color:var(--cobalt)}.blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.blog-item{padding:32px 32px 32px 0;border-right:1px solid var(--rule);cursor:pointer}.blog-item:last-child{border-right:none}.blog-item:not(:first-child){padding-left:32px}.blog-item:hover{opacity:.6}.blog-meta{display:flex;gap:16px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);margin-bottom:16px;letter-spacing:.1em}.blog-cat{color:var(--cobalt);text-transform:uppercase}.blog-itemtitle{font-family:"Noto Serif JP",serif;font-weight:700;font-size:19px;line-height:1.5;margin-bottom:16px;color:var(--ink)}.blog-excerpt{font-size:13px;color:var(--text-soft);line-height:1.85}.cta-section{background:var(--paper-warm)}@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:56px}.pillars-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:32px 24px}.metric:nth-child(3){border-left:none;padding-left:0}.services-grid{grid-template-columns:1fr}.service{border-right:none!important}.case-list,.blog-list{grid-template-columns:1fr;gap:16px}.blog-item{border-right:none!important;padding-left:0!important;border-bottom:1px solid var(--rule)}.metrics-head,.cases-head{grid-template-columns:1fr;gap:32px}}@media(max-width:600px){.hero,.pillars,.metrics,.services,.cases,.blog{padding-left:20px;padding-right:20px}.hero{padding-top:56px;padding-bottom:72px}.hero-title{font-size:32px;line-height:1.28}.hero-card{padding:28px 24px}.pillars,.metrics,.services,.cases,.blog{padding-top:64px;padding-bottom:64px}.pillars-title,.metrics-title,.services-title,.cases-title,.blog-title{font-size:22px;line-height:1.45;margin-bottom:32px}.pillar{padding:32px 24px}.pillar-title{font-size:20px}.service{padding:28px 24px}.service-name{font-size:22px}.service-arrow{display:none}.case-card{padding:24px}.case-title{font-size:17px}.blog-item{padding:24px 0!important}.blog-itemtitle{font-size:17px}.metrics-grid{padding:32px 0;gap:24px 16px}.metric-value{font-size:36px}}.hero-card{animation:fadeUp .7s ease-out backwards;animation-delay:.65s}.faq{padding:120px 32px;background:var(--paper)}.faq-inner{max-width:880px;margin:0 auto}.faq-title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(28px,3.5vw,40px);line-height:1.3;color:var(--ink);margin:8px 0 16px}.faq-lede{font-size:15px;color:var(--text-soft);line-height:1.95;margin-bottom:48px;max-width:720px}.faq-list{display:block}.faq-item{border-top:1px solid var(--rule);padding:0}.faq-item:last-child{border-bottom:1px solid var(--rule)}.faq-item summary{display:flex;align-items:baseline;gap:14px;padding:22px 0;cursor:pointer;list-style:none;font-family:"Noto Serif JP",serif;font-weight:700;font-size:16px;line-height:1.6;color:var(--ink);transition:color .18s}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--cobalt)}.faq-q-mark{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--cobalt);font-size:14px;flex-shrink:0;padding-top:2px}.faq-q-text{flex:1}.faq-toggle{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:400;color:var(--text-muted);transition:transform .22s,color .18s;flex-shrink:0;line-height:1}.faq-item[open] .faq-toggle{transform:rotate(45deg);color:var(--rust)}.faq-a{display:flex;gap:14px;padding:4px 0 24px}.faq-a-mark{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--rust);font-size:14px;flex-shrink:0;padding-top:4px}.faq-a p{font-size:14px;color:var(--text);line-height:2;flex:1}@media(max-width:600px){.faq{padding:72px 20px}.faq-item summary{font-size:15px;padding:18px 0;gap:10px}.faq-a{padding-bottom:20px;gap:10px}.faq-a p{font-size:13.5px;line-height:1.95}}
