/* One-page DEV prototype. No shared selectors or decorative animation. */
.sc-page { --sc-copper:#dca67a; --sc-line:#29404a; --sc-muted:#b5c7cc; }
.sc-page .sc-article { max-width:1120px; margin:0 auto; padding:24px 28px 64px; color:#eaf2f1; }
.sc-page .sc-back { display:inline-block; padding:10px 0; margin-bottom:24px; color:#71dec0; }
.sc-page .sc-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; }
.sc-page h1 { font-size:clamp(2.2rem,4.2vw,3.45rem); line-height:1.08; letter-spacing:-.035em; margin:14px 0 20px; }
.sc-page h2 { font-size:clamp(1.65rem,3vw,2.2rem); line-height:1.16; letter-spacing:-.02em; margin:10px 0 22px; max-width:26ch; }
.sc-page h3 { font-size:1.16rem; line-height:1.35; margin:0 0 12px; }
.sc-page p,.sc-page li,.sc-page dd { font-size:1.03rem; line-height:1.7; color:var(--sc-muted); }
.sc-page p { margin:0 0 18px; }
.sc-page .eyebrow { font-size:.76rem; line-height:1.6; letter-spacing:.15em; color:#6adbbc; margin-bottom:12px; }
.sc-page .sc-deck { font-size:1.22rem; color:#eaf2f1; line-height:1.5; }
.sc-page strong { color:#edf3ef; }
.sc-page a { text-underline-offset:4px; }
.sc-page a:hover { text-decoration:underline; }
.sc-page a:focus-visible,.sc-page summary:focus-visible { outline:3px solid var(--sc-copper); outline-offset:5px; }
.sc-page .sc-text-link { display:inline-block; padding:8px 0; color:#71dec0; font-weight:700; }
.sc-page .sc-figure { margin:0; min-width:0; }
.sc-page .sc-figure a { display:block; border-radius:18px; overflow:hidden; }
.sc-page .sc-figure img { display:block; width:100%; height:auto; max-width:100%; cursor:pointer; }
.sc-page .sc-figure figcaption { color:#a6b7bf; font-size:.8rem; line-height:1.5; margin-top:12px; }
.sc-page nav.sc-contents { display:flex; flex-wrap:wrap; align-items:center; gap:5px 22px; margin:36px 0 0; padding:17px 0; border-block:1px solid var(--sc-line); }
.sc-page .sc-contents span { font-size:.82rem; color:var(--sc-copper); font-weight:700; }
.sc-page .sc-contents a { color:#cbdcda; font-size:.9rem; padding:7px 0; }
.sc-page .sc-section { padding:48px 0; border-bottom:1px solid var(--sc-line); scroll-margin-top:24px; }
.sc-page .sc-section:last-child { border-bottom:0; padding-bottom:0; }
.sc-page .sc-intro { display:grid; grid-template-columns:.85fr 1.3fr; gap:54px; }
.sc-page .sc-intro ul { padding-left:21px; margin:0; }
.sc-page .sc-intro li { margin:10px 0; }
.sc-page .sc-measure { max-width:74ch; }
.sc-page .sc-calendar-grid,.sc-page .sc-owner-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:32px; margin-top:26px; align-items:start; }
.sc-page .sc-calendar { margin:0; background:#0d1920; border:1px solid var(--sc-line); border-radius:16px; overflow:hidden; }
.sc-page .sc-calendar figcaption { padding:19px; font-weight:700; color:#eef4f1; border-bottom:1px solid var(--sc-line); }
.sc-page .sc-calendar ol { list-style:none; margin:0; padding:0; }
.sc-page .sc-calendar li { display:grid; grid-template-columns:105px 1fr 46px; gap:12px; align-items:center; border-left:4px solid #528a87; padding:14px 13px; margin:0; border-bottom:1px solid #20313a; font-size:.82rem; line-height:1.45; }
.sc-page .sc-calendar li:last-child { border-bottom:0; }
.sc-page .sc-calendar strong { font-size:.87rem; }
.sc-page .sc-calendar .sc-gap { border-left-color:#e2a66d; background:#261f1b; }
.sc-page .sc-calendar .sc-gap strong { color:#f2c49e; }
.sc-page .sc-calendar .sc-protected { border-left-color:#64738c; }
.sc-page .sc-calendar li > span:last-child { text-align:right; }
.sc-page dl { margin:0 0 18px; }
.sc-page dl > div { border-bottom:1px solid var(--sc-line); padding:10px 0; }
.sc-page dt { color:#e7efeb; font-size:.88rem; font-weight:700; }
.sc-page dd { margin:3px 0 0; font-size:.94rem; }
.sc-page .sc-note { color:#ccd6d3; font-size:.87rem; }
.sc-page .sc-steps { padding:0; margin:24px 0 30px; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; counter-reset:none; }
.sc-page .sc-steps li { padding-top:18px; border-top:2px solid var(--sc-copper); }
.sc-page .sc-steps p { font-size:.98rem; margin-bottom:0; }
.sc-page .sc-details { border:1px solid var(--sc-line); background:#0d1920; border-radius:12px; }
.sc-page .sc-details summary { cursor:pointer; color:#e3eeea; font-weight:700; padding:19px 22px; line-height:1.5; }
.sc-page .sc-details > div { padding:0 22px 6px; max-width:77ch; }
.sc-page .sc-output { padding:23px; border:1px solid #6a5443; border-left:3px solid var(--sc-copper); border-radius:12px; background:#121b20; }
.sc-page .sc-output-label { font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; color:var(--sc-copper); font-weight:700; }
.sc-page .sc-output dl { margin-bottom:0; }
.sc-page .sc-output dl > div:last-child { border:0; padding-bottom:0; }
.sc-page .sc-related { display:grid; grid-template-columns:1fr 1fr; gap:28px; border-top:1px solid var(--sc-line); padding-top:30px; margin-top:36px; }
.sc-page .sc-related a { color:#75dfc1; display:inline-block; padding:5px 0; }
.sc-page .sc-related p { font-size:.91rem; margin-top:8px; }
.sc-page nav.sc-service-links { display:flex; flex-wrap:wrap; gap:4px 24px; padding:12px 0; }
.sc-page .sc-service-links a,.sc-page .sc-return a { padding:10px 0; color:#71dec0; font-size:.94rem; }
.sc-page .sc-return { display:flex; flex-wrap:wrap; gap:6px 24px; margin-top:20px; border-top:1px solid var(--sc-line); padding-top:12px; }
@media(max-width:800px) {
 .sc-page .sc-article { padding:14px 22px 40px; }
 .sc-page .sc-hero,.sc-page .sc-intro,.sc-page .sc-calendar-grid,.sc-page .sc-owner-grid { grid-template-columns:1fr; gap:22px; }
 .sc-page .sc-hero { gap:24px; }
 .sc-page h1 { font-size:2.25rem; max-width:19ch; }
 .sc-page .sc-section { padding:34px 0; }
 .sc-page .sc-back { margin-bottom:14px; }
 .sc-page .sc-steps { grid-template-columns:1fr; gap:20px; }
 .sc-page .sc-contents { margin-top:26px; }
 .sc-page .sc-related { grid-template-columns:1fr; gap:16px; }
 .sc-page .sc-explanation h3 { margin-top:4px; }
}
@media(max-width:400px) {
 .sc-page .sc-article { padding-inline:18px; }
 .sc-page .sc-calendar li { grid-template-columns:93px 1fr; gap:4px 9px; padding:12px 10px; }
 .sc-page .sc-calendar li > span:last-child { grid-column:2; text-align:left; font-size:.76rem; }
 .sc-page .sc-output { padding:18px; }
}
