.service-detail-hero { position:relative; isolation:isolate; overflow:hidden; padding: clamp(112px, 14vw, 190px) 0 clamp(74px, 9vw, 126px); border-bottom: 1px solid var(--line); background:#eeeae4; }
.service-detail-hero::before { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:url("../assets/neuralhub-method-system.webp") right 4% center / min(680px,54vw) auto no-repeat; opacity:.14; mix-blend-mode:multiply; -webkit-mask-image:radial-gradient(ellipse 60% 94% at 76% 50%,#000 0%,rgba(0,0,0,.78) 42%,transparent 84%); mask-image:radial-gradient(ellipse 60% 94% at 76% 50%,#000 0%,rgba(0,0,0,.78) 42%,transparent 84%); }
.service-detail-hero > .white-shell { position:relative; z-index:1; }
.service-detail-hero__grid, .service-detail-scope__grid, .service-brief__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 9vw, 150px); align-items: end; }
.service-detail-hero h1, .service-detail-scope h2, .service-brief h2 { max-width: 780px; margin: 0; font-size: clamp(52px, 6vw, 94px); line-height: .91; letter-spacing: -.045em; text-wrap: balance; }
.service-detail-hero__grid > p, .service-detail-scope__grid > div:last-child > p, .service-brief__grid > div > p { max-width: 570px; margin: 0; color: var(--ink-soft); font-size: 18px; line-height: 1.65; }
.service-detail-scope { padding: clamp(80px, 10vw, 140px) 0; border-bottom: 1px solid var(--line); }
.service-detail-scope ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.service-detail-scope li { padding: 14px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; font-weight: 700; }
.service-brief { padding: clamp(80px, 10vw, 140px) 0; background: var(--ink); color: var(--surface); }
.service-brief__grid { align-items: start; }
.service-brief__grid > div > p { color: #c5c9cc; }
.service-brief form { padding: clamp(22px, 4vw, 42px); background: var(--surface); color: var(--ink); border-radius: 14px; }
.service-brief fieldset { margin: 0; padding: 0; border: 0; }
.service-brief legend { margin-bottom: 16px; font-size: 16px; font-weight: 750; letter-spacing: -.015em; }
.service-brief__progress { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 0 0 30px; padding: 0; list-style: none; counter-reset: brief; }
.service-brief__progress li { display: grid; grid-template-columns: auto 1fr; gap: 7px; align-items: center; color: var(--ink-faint); font-size: 11px; font-weight: 700; }.service-brief__progress li::before { counter-increment: brief; content: counter(brief); display:grid; place-items:center; width:22px; height:22px; border:1px solid var(--line); border-radius:50%; }.service-brief__progress li.is-current { color: var(--ink); }.service-brief__progress li.is-current::before { border-color:var(--signal); background:var(--signal); color:#21170f; }
.service-brief__choices { display: grid; gap: 9px; }
.service-brief__choices label { display: flex; gap: 10px; align-items: center; min-height: 52px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; font-size: 14px; }.service-brief__choices label:has(input:checked) { border-color:var(--signal); background:rgba(242,141,63,.1); }
.service-brief label { font-size: 13px; font-weight: 700; }
.service-brief input:not([type="checkbox"]), .service-brief textarea { box-sizing: border-box; width: 100%; margin-top: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; }
.service-brief textarea { resize: vertical; }
.service-brief__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.service-brief__fields label:last-child { grid-column: 1 / -1; }
.service-brief__privacy { display: flex; gap: 9px; align-items: flex-start; margin-top: 18px; color: var(--ink-soft); font-weight: 500 !important; line-height: 1.45; }
.service-brief__privacy input { margin: 2px 0 0; }
.service-brief__privacy a { color: inherit; }
.service-brief__summary { margin: 4px 0 20px; padding: 16px; border-top: 3px solid var(--signal); background: var(--surface-muted); }
.service-brief__summary strong { font-size: 13px; }
.service-brief__summary p, .service-brief__status { margin: 8px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.service-brief__status[data-state="error"] { color: #a0362e; }.service-brief__status[data-state="success"] { color: #287247; }
.service-brief__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }.service-brief__actions .white-button { border:0; cursor:pointer; }.service-brief__back { min-height:48px; padding:0 12px; border:0; background:transparent; color:var(--ink-soft); cursor:pointer; font:inherit; font-size:14px; font-weight:700; }.service-brief__back:hover { color:var(--ink); }.service-brief__note { margin:0; color:var(--ink-soft); font-size:13px; line-height:1.5; }
@media (max-width: 800px) { .service-detail-hero__grid, .service-detail-scope__grid, .service-brief__grid { grid-template-columns: 1fr; } .service-detail-hero__grid { gap: 28px; } .service-detail-scope ul, .service-brief__fields { grid-template-columns: 1fr; } .service-brief__fields label:last-child { grid-column: auto; } }
