/* Shared, progressive-enhancement styles. Brand palette is inherited. */
.reveal{opacity:1;transform:none}
.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(34px)}
.motion-ready .reveal:focus-within{opacity:1;transform:none}
.detail-page{--reading:820px;background:#080708}
.detail-page .site-header{position:sticky;background:rgba(8,7,8,.96);border-bottom:1px solid var(--line)}
.detail-page .header-inner{min-height:76px}
.detail-page .nav{gap:22px;font-size:.8rem;letter-spacing:.03em}
.detail-page .nav a:not(.line-link){display:inline-flex}
.detail-page .site-header .brand{white-space:nowrap}
.breadcrumb{padding:20px 0;color:var(--muted);font-size:.78rem}
.breadcrumb ol{list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin:0;padding:0}
.breadcrumb li+li::before{content:'/';margin-right:10px;color:var(--gold)}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.detail-hero{position:relative;padding:72px 0 80px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 85% 0,rgba(169,72,104,.16),transparent 65%)}
.detail-hero .shell{max-width:1100px}
.detail-hero h1{margin:18px 0 28px;font-family:var(--serif-ja);font-weight:500;line-height:1.65;font-size:clamp(2rem,4.5vw,3.8rem);letter-spacing:.055em}
.detail-hero .service-label{display:block;margin-bottom:22px;color:var(--sakura);font-size:1rem}
.detail-definition{max-width:790px;font-size:1.03rem;color:#ddd2d6;line-height:2}
.detail-meta{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.77rem;color:var(--muted);margin:25px 0}
.detail-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:28px}
.detail-actions a{font-size:.86rem}
.outline-link{padding:10px 20px;border:1px solid var(--line-gold);border-radius:24px}
.detail-toc{border-bottom:1px solid var(--line);padding:22px 0}
.detail-toc ul{display:flex;flex-wrap:wrap;gap:10px 25px;list-style:none;padding:0;margin:0;font-size:.83rem}
.detail-toc a:hover,.related-card:hover h3{color:var(--sakura)}
.detail-section{padding:70px 0;scroll-margin-top:92px;border-bottom:1px solid rgba(232,167,184,.1)}
.detail-section h2{font-size:clamp(1.45rem,3vw,2rem);font-family:var(--serif-ja);font-weight:500;margin:0 0 26px;line-height:1.65;color:var(--sakura-light)}
.detail-section h3{font-size:1.02rem;line-height:1.6;margin:0 0 12px;font-weight:500}
.detail-section p,.detail-section li{font-size:.94rem;line-height:2;color:#cbbfc4}
.reading{max-width:var(--reading)}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.detail-card{padding:28px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(232,167,184,.055),transparent)}
.detail-card p{margin-bottom:0}
.detail-section ul{padding-left:1.3em}
.detail-section li+li{margin-top:8px}
.detail-note{border-left:2px solid var(--gold);padding:16px 22px;background:rgba(197,162,93,.035);margin:24px 0;font-size:.87rem;color:var(--muted)}
.detail-table{width:100%;border-collapse:collapse;font-size:.93rem}
.detail-table th,.detail-table td{padding:17px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.detail-table th{font-weight:500;color:var(--sakura-light)}
.detail-table td{color:#d5c8ce}
.detail-table caption{text-align:left;color:var(--muted);font-size:.85rem;margin-bottom:14px}
.detail-table .amount{white-space:nowrap;color:var(--gold)}
.detail-steps{counter-reset:step;list-style:none!important;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.detail-steps li{counter-increment:step;padding:24px 24px 24px 68px;position:relative;background:#111012;margin:0!important}
.detail-steps li::before{content:'0' counter(step);position:absolute;top:20px;left:22px;color:var(--gold);font-family:var(--serif-en);font-size:1.6rem}
.detail-steps p{margin:0}
.detail-page .faq-list{max-width:900px}
.detail-page .faq-item summary{font-size:.98rem;line-height:1.8;cursor:pointer}
.detail-page .faq-answer{font-size:.92rem;padding-bottom:22px}
.detail-page .faq-item summary:focus-visible{outline-offset:0}
.related-card{display:block;padding:24px;border:1px solid var(--line);transition:border-color .2s ease,transform .2s ease}
.related-card:hover{border-color:var(--sakura);transform:translateY(-2px)}
.related-card small{color:var(--gold);font-family:var(--serif-en);letter-spacing:.12em}
.related-card h3{margin:10px 0}
.related-card p{font-size:.83rem;margin:0}
.detail-byline{font-size:.82rem;color:var(--muted);padding:28px 0}
.detail-byline a,.detail-section p a,.detail-section li a{color:var(--sakura);text-decoration:underline;text-underline-offset:4px}
.detail-footer{padding:36px 0 95px;border-top:1px solid var(--line)}
.detail-footer nav{display:flex;gap:18px;flex-wrap:wrap;font-size:.83rem;margin-bottom:18px}
.detail-footer address{font-style:normal;font-size:.8rem;color:var(--muted)}
.detail-footer small{display:block;margin-top:16px;color:var(--muted)}
.service-detail-link{display:inline-flex;align-items:center;margin-top:20px;color:var(--sakura-light);font-size:.85rem;border-bottom:1px solid var(--gold);padding:6px 0;position:relative;z-index:2}
.service-jp{display:block!important;font-family:var(--sans);font-size:.9rem!important;letter-spacing:.04em;margin-top:6px;color:var(--sakura-light)}
.resource-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0}
.resource-links a{padding:24px;border:1px solid var(--line);font-size:1rem;color:var(--sakura-light)}
.hero-service-description{font-family:var(--sans)!important;font-size:.88rem!important;letter-spacing:.06em!important;line-height:1.9!important;color:var(--sakura-light)!important;max-width:630px;margin-top:18px!important}
.detail-mobile-nav{display:none}
.roi-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0;border:0;padding:0;min-width:0}
.roi-form:disabled{opacity:.65}
.roi-form label{font-size:.88rem;color:var(--muted)}
.roi-form input{display:block;width:100%;padding:12px;background:#151215;color:var(--ivory);border:1px solid var(--line-gold);border-radius:4px;font:inherit;margin-top:7px}
.roi-form button{cursor:pointer;justify-self:start;border:0}
.roi-result{padding:24px;border:1px solid var(--line-gold);color:var(--sakura-light);font-size:1rem;white-space:pre-line}
.case-image{width:100%;height:auto;border:1px solid var(--line);border-radius:5px;margin:25px 0}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.detail-page .nav{gap:13px}.detail-page .nav .line-link{display:none}.detail-mobile-nav{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 10px;font-size:.8rem;color:var(--sakura)}.detail-page .header-inner{gap:15px}.detail-page .nav{display:flex!important}}
@media(max-width:600px){.detail-hero{padding:36px 0 45px}.detail-section{padding:44px 0}.detail-steps,.roi-form,.resource-links{grid-template-columns:1fr}.detail-page .nav a{font-size:.72rem}.detail-page .nav{gap:10px}.detail-page .brand{font-size:1.1rem}.detail-page .header-inner{min-height:64px}.detail-section{scroll-margin-top:80px}.detail-card{padding:22px}.detail-table th,.detail-table td{padding:13px 7px;font-size:.84rem}.detail-toc ul{gap:9px 18px}.detail-hero h1{font-size:2rem}.detail-meta{gap:7px 16px}}
@media(prefers-reduced-motion:reduce){.related-card{transition:none}.related-card:hover{transform:none}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}}
