/* Inner pages (services, sectors, legal). Builds on styles.css tokens and nav. */
body.page{ background:var(--day-bg); }
body.page footer.night{ background:var(--night-bg); }

.page-hero{ padding:150px 0 56px; }
.page-hero .wrap, .page-body .wrap{ max-width:820px; }
.crumbs{ font-family:'JetBrains Mono'; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--day-muted); margin-bottom:22px; }
.crumbs a{ color:var(--day-muted); }
.crumbs a:hover{ color:var(--day-text); }
.crumbs span{ margin:0 6px; }
.page-hero h1{ font-size:clamp(34px, 5vw, 58px); line-height:1.05; font-weight:500; letter-spacing:-0.02em; }
.page-hero .lead{ margin-top:22px; font-size:18px; line-height:1.6; color:var(--day-muted); max-width:640px; }
.page-hero .btn{ margin-top:30px; }

.page-body{ padding:8px 0 110px; }
.page-body h2{ font-size:clamp(24px, 3vw, 32px); font-weight:600; margin:56px 0 16px; line-height:1.15; }
.page-body h3{ font-size:19px; font-weight:600; margin:28px 0 8px; }
.page-body p{ font-size:16.5px; line-height:1.72; color:#45423D; margin-bottom:14px; }
.page-body a:not(.btn){ text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(28,28,28,0.3); }
.page-body a:not(.btn):hover{ text-decoration-color:var(--day-text); }
.page-body ul.ticks{ list-style:none; margin:10px 0 18px; display:flex; flex-direction:column; gap:10px; }
.page-body ul.ticks li{ font-size:16.5px; line-height:1.6; color:#45423D; padding-left:22px; position:relative; }
.page-body ul.ticks li::before{ content:'—'; position:absolute; left:0; color:var(--day-accent); }
.page-body strong{ color:var(--day-text); font-weight:600; }

.steps{ counter-reset:step; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--day-line); border:1px solid var(--day-line); margin:18px 0 8px; }
.steps > div{ background:var(--day-bg); padding:22px 22px 20px; }
.steps > div::before{ counter-increment:step; content:'0' counter(step); display:block; font-family:'JetBrains Mono'; font-size:11px; color:var(--day-muted); margin-bottom:10px; }
.steps h3{ margin:0 0 6px; font-size:17px; }
.steps p{ margin:0; font-size:15px; }

.faq{ border-top:1px solid var(--day-line); margin-top:10px; }
.faq details{ border-bottom:1px solid var(--day-line); padding:18px 0; }
.faq summary{ cursor:pointer; list-style:none; font-size:17px; font-weight:600; display:flex; justify-content:space-between; gap:16px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:'+'; font-weight:400; color:var(--day-muted); flex:none; }
.faq details[open] summary::after{ content:'–'; }
.faq details p{ margin:12px 0 0; }

.related{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--day-line); border:1px solid var(--day-line); margin-top:18px; }
.related a{ background:var(--day-bg); padding:20px; text-decoration:none !important; display:flex; flex-direction:column; gap:6px; transition:background .2s ease; }
.related a:hover{ background:#F4F4F2; }
.related .k{ font-family:'JetBrains Mono'; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--day-muted); }
.related .t{ font-size:16px; font-weight:600; color:var(--day-text); }

.cta-band{ margin-top:64px; padding:36px; background:#F4F4F2; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.cta-band p{ margin:0; font-size:18px; color:var(--day-text); font-weight:500; }

/* legal page */
.legal-page .page-body h2{ font-size:20px; margin-top:40px; }
.legal-page .page-body p, .legal-page .page-body li{ font-size:15px; }

@media (max-width:760px){
  .page-hero{ padding:118px 0 36px; }
  .page-hero .lead{ font-size:16px; }
  .page-body{ padding-bottom:80px; }
  .page-body h2{ margin-top:44px; }
  .page-body p, .page-body ul.ticks li{ font-size:15.5px; }
  .steps, .related{ grid-template-columns:1fr; }
  .cta-band{ padding:26px 22px; }
}
