/* Service pages share the studio identity (studio.css + dimension.css); these rules cover their editorial layouts. */
.service-page .navlinks>a[aria-current=page] { color:var(--accent);text-decoration:underline;text-underline-offset:6px; }

/* Hero */
.svc-hero { padding:calc(175px + var(--promo-height)) 0 0;background:radial-gradient(ellipse at 72% 10%,#f5f0e5,transparent 70%); }
.svc-label,.svc-topics { display:flex;align-items:center;justify-content:space-between;gap:24px; }
.svc-label .eyebrow { margin:0; }
.crumbs { display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase; }
.crumbs a { transition:color .2s; }
.crumbs a:hover { color:var(--accent); }
.crumbs span[aria-hidden] { color:#a7ad98; }
.svc-intro { display:grid;grid-template-columns:1.45fr 1fr;gap:8%;align-items:end;padding:40px 0 55px; }
.svc-intro h1 { font-size:clamp(50px,5.7vw,92px);letter-spacing:-.06em;line-height:1;font-weight:450;color:#2f3a2c; }
.svc-intro h1 em { display:inline;line-height:1.12;color:#746147; }
.svc-lede p { font-size:15px;max-width:420px;line-height:1.85; }
.svc-lede p+p { margin-top:14px; }
.svc-lede .promo-note { color:#5c6b4c; }
.svc-lede .promo-note strong { color:#303a2d;font-weight:600; }
.svc-ctas { display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px; }
.svc-topics { border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:9px;letter-spacing:.12em; }
.svc-topics a { display:inline-flex;gap:22px;align-items:center;letter-spacing:0;font-size:12px;color:var(--text); }
.svc-topics a span { font-size:20px; }
.svc-topics a:hover { color:var(--accent); }

/* Shared section rhythm */
.svc-section { border-top:1px solid var(--line); }
.svc-section .eyebrow { color:#9b825b; }
.svc-split { display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start; }
.svc-split h2,.svc-heading h2 { color:#35402d; }
.svc-copy p { font-size:16px;line-height:1.85;max-width:60ch; }
.svc-copy p+p { margin-top:22px; }
.svc-copy strong { color:var(--text);font-weight:600; }
.svc-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:48px; }
.svc-heading .section-intro { max-width:380px;font-size:14px;line-height:1.8; }

/* Why it matters */
.svc-why { background:#f4f0e7; }

/* What's included */
.svc-included { background:#e5e2d7; }
.included-grid { list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #66794b36; }
.included-grid li { display:flex;flex-direction:column;gap:16px;padding:26px 24px 30px 0;border-bottom:1px solid #66794b36;color:#485a38;font-size:16px;line-height:1.4;letter-spacing:-.01em; }
.included-grid li+li { padding-left:0; }
.included-grid li span { color:#aa987a;font-size:10px;letter-spacing:.12em; }

/* How a project runs */
.svc-process { background:#e9e5db; }
.svc-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line); }
.svc-facts div { display:flex;flex-direction:column;gap:8px; }
.svc-facts b { font-size:19px;font-weight:500;letter-spacing:-.03em;color:#3e4d31; }
.svc-facts span { color:var(--muted-2);font-size:12px;line-height:1.6; }

/* Pricing note when there is no fixed package */
.svc-quote-note { display:grid;grid-template-columns:1fr 1.1fr auto;gap:40px;align-items:center;padding:34px 0;border-top:1px solid #7584582e;border-bottom:1px solid #7584582e; }
.svc-quote-note .price { color:#9b8057;font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(38px,3.6vw,52px);letter-spacing:-.05em;line-height:1; }
.svc-quote-note p { font-size:14px;line-height:1.8;color:#7a876a;max-width:440px; }

/* Related services */
.svc-related { background:#eae7dc; }
.related-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #7e936032; }
.related-grid a { display:flex;flex-direction:column;gap:10px;padding:28px 28px 32px 0;border-bottom:1px solid #7e936032;transition:color .25s; }
.related-grid a:not(:nth-child(3n+1)) { padding-left:28px;border-left:1px solid #7e936032; }
.related-grid b { display:flex;justify-content:space-between;gap:16px;font-size:24px;font-weight:500;letter-spacing:-.04em;color:#445638; }
.related-grid b span { color:#9ca379;font-size:19px;transition:transform .3s var(--ease); }
.related-grid small { color:#8b9878;font-size:13px;line-height:1.6; }
.related-grid a:hover b { color:var(--accent); }
.related-grid a:hover b span { transform:translate(3px,-3px); }

/* Closing call to action */
.svc-cta { border-top:1px solid var(--line);background:#deded0;padding:80px 0; }
.svc-cta-inner { display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end; }
.svc-cta h2 { font-size:clamp(40px,4.4vw,66px);color:#35402d; }
.svc-cta p { font-size:15px;line-height:1.8;max-width:380px;margin-bottom:24px; }
.svc-cta .eyebrow { font-size:9px;margin-bottom:24px; }

/* Quote form select options stay readable on the dark card */
.service-page select option { background:#2a342d;color:#dbe5ca; }
.service-page .contact .section-intro a { color:#d4ddc2;text-decoration:underline;text-underline-offset:3px; }

/* Not found */
.nf-hero { padding:calc(175px + var(--promo-height)) 0 70px;background:radial-gradient(ellipse at 72% 10%,#f5f0e5,transparent 70%); }
.nf-code { font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:300;color:#b3a58a;font-size:clamp(90px,14vw,210px);line-height:.9;letter-spacing:-.06em;margin:20px 0 10px; }

@media(max-width:1100px) {
  .svc-intro { gap:6%;grid-template-columns:1.3fr 1fr; }
  .svc-lede p { font-size:14px; }
  .included-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svc-quote-note { grid-template-columns:1fr 1.3fr; }
  .svc-quote-note .btn { grid-column:1 / -1;justify-self:start; }
}
@media(max-width:820px) {
  .svc-hero,.nf-hero { padding-top:calc(130px + var(--promo-height)); }
  html:not(.js) .svc-hero,html:not(.js) .nf-hero { padding-top:calc(240px + var(--promo-height)); }
  .svc-intro { grid-template-columns:1fr;gap:28px;padding:35px 0; }
  .svc-lede p { max-width:520px; }
  .svc-split { grid-template-columns:1fr;gap:30px; }
  .svc-heading { gap:30px; }
  .related-grid { grid-template-columns:1fr; }
  .related-grid a,.related-grid a:not(:nth-child(3n+1)) { padding:24px 0;border-left:0; }
}
@media(max-width:640px) {
  .crumbs { display:none; }
  .svc-intro h1 { font-size:clamp(40px,11.5vw,60px); }
  .svc-topics { flex-wrap:wrap;gap:13px;font-size:8px;padding-block:18px; }
  .svc-topics a { font-size:11px; }
  .svc-heading { display:block;margin-bottom:32px; }
  .svc-heading .section-intro { margin-top:22px;font-size:13px; }
  .svc-copy p { font-size:15px;line-height:1.8; }
  .included-grid { grid-template-columns:1fr; }
  .included-grid li { flex-direction:row;align-items:baseline;gap:18px;padding:18px 0;font-size:15px; }
  .svc-facts { grid-template-columns:1fr;gap:18px; }
  .svc-quote-note { grid-template-columns:1fr;gap:18px;padding:28px 0; }
  .related-grid b { font-size:21px; }
  .svc-cta { padding:55px 0; }
  .svc-cta-inner { grid-template-columns:1fr;gap:28px; }
  .svc-cta p { font-size:14px; }
}
