/* Sam-led content on the established SJH design. */
#main-content>.sl-pricing,#main-content>.sl-toolkit{margin:0;padding:clamp(70px,7vw,120px) 0}.sl-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}.sl-hero h1{font-size:clamp(3rem,5.5vw,6rem);letter-spacing:-.06em;line-height:1.05;margin:1.25rem 0 2rem}.sl-hero .wd-hero__description{max-width:46rem}.sl-hero__photo{position:relative}.sl-hero__photo img{width:100%;height:clamp(320px,32vw,530px);object-fit:cover;border-radius:2rem}.sl-hero__photo>span{display:block;margin-top:1rem;font-weight:600}.sl-hero small{font-size:.85rem;display:block;opacity:.8}.sl-story{background:#f7f8fc}.sl-story--tint,.sl-pricing,.sl-toolkit{background:#e3d7ef}.sl-story .wd-prose p{max-width:62ch}.sl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.sl-card{padding:2rem;background:#f9f8fc;border:1px solid #d3c5e1;border-radius:2rem;display:flex;flex-direction:column;align-items:flex-start}.sl-card h3{font-size:1.55rem;margin:0 0 1rem}.sl-card p{font-size:1.05rem;line-height:1.7}.sl-card a{margin-top:auto;text-decoration:underline;text-underline-offset:.3em}.sl-card .sl-price{font-size:clamp(2.75rem,4vw,4.5rem);line-height:1.05;font-weight:600;letter-spacing:-.04em;margin:.4rem 0}.sl-price-note,.sl-small{font-size:.9rem!important;line-height:1.6!important}.sl-small{margin-top:1.5rem;max-width:100ch}.sl-offer{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.sl-offer h2{font-size:clamp(2.75rem,5vw,5rem)}.sl-bullets{padding-left:1.25rem;margin:1.5rem 0}.sl-bullets li{padding:.35rem 0;line-height:1.6}.sl-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.sl-tool{background:#f9f8fc;border-radius:1.5rem;padding:1.75rem}.sl-tool img{width:64px;height:64px;object-fit:contain;background:white;border-radius:.5rem;margin-bottom:1rem}.sl-tool h3{font-size:1.35rem;margin:.5rem 0}.sl-tool p{font-size:1rem;line-height:1.65}.sl-related{background:#f7f8fc}.sl-linkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.sl-linkgrid a{border:1px solid #d1c3de;border-radius:1rem;padding:1.25rem;text-decoration:underline;text-underline-offset:.2em;line-height:1.45}.sl-faq{background:#e3d7ef}.sl-faq details{border-bottom:1px solid #bfaacf;padding:1.25rem 0}.sl-faq summary{font-size:1.2rem;cursor:pointer;font-weight:600;line-height:1.5}.sl-footer-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding:2rem 0; border-top:1px solid #ffffff33}.sl-footer-links a{font-size:.95rem;text-decoration:underline;text-underline-offset:.2em}.sl-footer-name{font-size:1.3rem;font-weight:600}.sl-footer-name small{font-size:.95rem;font-weight:400}.sl-identity{font-size:clamp(1rem,2vw,1.4rem);font-weight:600;margin:0 0 1.5rem}.sl-proof .wd-project__image{background:var(--client-colour,#e3d7ef)}.sl-proof .wd-project__image img{aspect-ratio:1800/989;object-fit:cover;object-position:top}.sl-proof .wd-project__copy>p{max-width:60ch}.sl-lead{font-size:1.2rem;line-height:1.7;max-width:68ch}.sl-note{padding:1.5rem;border-left:3px solid #8b51a8;background:#eee6f5}.sl-case-photos{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.sl-case-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2rem}.sl-case-photos figure{margin:0}.sl-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.sl-hub-grid h3{font-size:1.45rem}.sl-hub-grid p{line-height:1.7}.sl-hub-grid article{border:1px solid #d2c3df;border-radius:1.5rem;padding:1.5rem;background:#fff}.sl-hub-grid a{text-decoration:underline;text-underline-offset:.2em} .wd-hero__reviews small{display:block;font-size:.8rem}
@media(max-width:900px){.sl-cards,.sl-tools,.sl-hub-grid,.sl-linkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-hero{grid-template-columns:1fr}.sl-hero__photo{max-width:560px}.sl-offer{gap:2rem}.sl-hero h1{font-size:clamp(2.75rem,8vw,5rem)}}
@media(max-width:600px){.sl-cards,.sl-tools,.sl-hub-grid,.sl-linkgrid,.sl-offer,.sl-case-photos{grid-template-columns:1fr}.sl-card,.sl-tool{padding:1.5rem}.sl-hero__photo img{height:340px}.sl-hero h1{font-size:clamp(2.4rem,11vw,3.5rem)}.sl-offer{gap:1.5rem}.sl-footer-links{gap:1rem;flex-direction:column}.sl-story .wd-prose{min-width:0}}

/* Add after the original web-design CSS. All colours are original SJH tokens. */
.restore-toolkit .wd-capability-grid article > img{width:64px;height:64px;object-fit:contain;margin-bottom:24px}
.restore-services .wd-capability-grid h3 a{color:inherit;text-decoration:none}
.restore-services .wd-capability-grid h3 a:hover{text-decoration:underline;text-underline-offset:.2em}
.wd-search .wd-prose p,.wd-search .wd-prose li{color:var(--sjh-copy-on-dark)}
.wd-search .wd-prose a{color:inherit}
.restore-hub-portrait{display:flex;align-items:center;gap:20px;margin-top:40px;color:var(--sjh-copy-on-dark);font:500 var(--sjh-label-size)/1.5 var(--font-display)}
.restore-hub-portrait img{object-fit:cover;width:96px;height:96px;border-radius:50%}
.restore-hub-portrait small{font-size:.9em}
.restore-service-photo small{font-size:.75em;font-weight:400}

/* Use the established light and dark SJH surfaces as complete colour pairs. */
#main-content :is(.sl-story,.sl-pricing,.sl-toolkit,.sl-related,.sl-faq){color:var(--purple-dark)}
#main-content :is(.sl-story,.sl-pricing,.sl-toolkit,.sl-related,.sl-faq) :is(h2,h3,summary,li,a,.sl-small,.wd-eyebrow){color:var(--purple-dark)}
#main-content :is(.sl-story,.sl-pricing,.sl-toolkit,.sl-related,.sl-faq) p{color:var(--sjh-copy-ink)}
#main-content :is(.sl-story,.sl-pricing,.sl-toolkit,.sl-related,.sl-faq) .outline-text{color:transparent;-webkit-text-stroke-color:var(--purple-dark)}
#main-content :is(.sl-pricing,.sl-toolkit){width:100%!important;max-width:none!important;margin:0!important;padding:var(--sjh-section-space) 0!important}
.sl-pricing{background:var(--opening-accent)}
.sl-card{border-radius:28px 90px 28px 28px;background:#ffffffdb;border-color:#ffffffcc;box-shadow:0 8px 32px #1e04280f}
.sl-card a{min-height:44px;display:inline-flex;align-items:center;color:var(--purple-dark)}
#main-content .sl-card .sl-price{color:var(--purple-dark);font:650 clamp(38px,4.5vw,68px)/1.08 var(--font-display)!important;letter-spacing:-.05em}
#main-content .sl-pricing .sl-small{color:var(--sjh-copy-ink)}
.sl-offer{gap:var(--sjh-layout-gap);align-items:start}
#main-content .sl-offer h2{color:var(--purple-dark)}
.wd-search .wd-prose :is(p,li){color:var(--sjh-copy-on-dark)}
.wd-search .wd-prose :is(a,.wd-text-link){color:var(--sjh-copy-on-dark)}
.wd-search .wd-intro__inner h2 .outline-text{-webkit-text-stroke-color:var(--opening-accent)}
.wd-search .wd-intro__inner .wd-eyebrow{color:var(--opening-accent)}
.wd-process .wd-process__intro .outline-text{-webkit-text-stroke-color:var(--purple-dark)}
.restore-toolkit .wd-section-heading,.restore-services .wd-section-heading{align-items:start}
.restore-toolkit>.wd-wrap>h2,.restore-services>.wd-wrap>h2{margin-bottom:54px!important}
.restore-toolkit .wd-capability-grid,.restore-services .wd-capability-grid{margin-top:38px}
.restore-toolkit .wd-capability-grid h3,.restore-services .wd-capability-grid h3{color:var(--purple-dark)}
.restore-toolkit .wd-capability-grid :is(p,a),.restore-services .wd-capability-grid :is(p,a){color:var(--sjh-copy-ink)}
.restore-services .wd-capability-grid h3 a{color:var(--purple-dark)}
/* Match the existing case-story, photograph and five-screen gallery treatment. */
.case-study-page #main-content .cs-cover{background:linear-gradient(var(--purple-dark) 0 22%,var(--case-accent) 22%);padding:20px 0 42px!important}
.case-study-page #main-content .cs-photography{background:#fff;padding-top:0!important}
.case-study-page .cs-photography__inner img{aspect-ratio:4/3;object-fit:cover}
.case-study-page #main-content .cs-gallery{color:var(--purple-dark);background:var(--case-accent)}
.case-study-page #main-content .cs-gallery .outline-text{-webkit-text-stroke-color:var(--purple-dark)}
.case-study-page #main-content .cs-gallery :is(.wd-eyebrow,.wd-section-heading>p){color:var(--sjh-copy-ink)}
.sam-case-features:has(>article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.sam-case-features article{min-width:0}
#main-content .sam-case-features p+p{margin-top:20px}
#main-content .sam-case-features :is(p,li){color:var(--sjh-copy-on-dark)}
#main-content .sam-case-features a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.sam-case-related .sam-service-links{display:flex;gap:12px 16px;flex-wrap:wrap;margin-top:34px}
.sam-service-links>a{min-height:44px;border:1px solid #9b81ad66;border-radius:999px;padding:10px 18px;display:inline-flex;align-items:center;color:var(--purple-dark);font:450 var(--sjh-label-size)/1.5 var(--font-display)}
.cs-feedback blockquote{margin:0;padding:28px 0;border-block:1px solid #cbb7d9}
.cs-feedback cite{color:var(--sjh-copy-ink);font-size:var(--sjh-label-size);font-style:normal;display:block;margin-top:20px}
@media(max-width:800px){.sl-offer{grid-template-columns:1fr;gap:28px}.restore-toolkit>.wd-wrap>h2,.restore-services>.wd-wrap>h2{margin-bottom:34px!important}}
@media(max-width:600px){.sam-case-features:has(>article:nth-child(2):last-child){grid-template-columns:1fr}.sl-card{border-radius:24px 65px 24px 24px}.sam-service-links>a{max-width:100%}}


/* Original ethos cards, carrying the confirmed starting-price information. */
#main-content .studio-pricing .studio-pricing__label{color:var(--purple-dark);margin:0;font:600 var(--sjh-label-size)/1.6 var(--font-display)!important}
#main-content .studio-pricing h3{margin:20px 0 12px}
#main-content .studio-pricing .studio-pricing__basis{color:var(--sjh-copy-ink);margin:0 0 22px;font-size:var(--sjh-small-copy-size)!important}
#main-content .studio-pricing .studio-pricing__description{color:var(--sjh-copy-ink);margin:0 0 20px}
.studio-pricing__link{color:var(--purple-dark);font:550 var(--sjh-label-size)/1.6 var(--font-display);min-height:44px;display:inline-flex;align-items:center;gap:12px;margin-top:auto;text-decoration:underline;text-underline-offset:.2em}
.studio-pricing__link:focus-visible{outline:2px solid var(--purple-dark);outline-offset:4px}
#main-content .studio-pricing .studio-pricing__terms{color:var(--sjh-copy-ink);max-width:105ch;margin:28px 0 0;font-size:var(--sjh-small-copy-size)!important;line-height:1.75!important}
/* The established compact, responsive software belt with genuine Pro logos. */
.studio-software--pro .studio-software__intro{display:block;max-width:340px}
#main-content .studio-software--pro h2{white-space:normal}
#main-content .studio-software--pro .studio-software__description{color:var(--sjh-copy-ink);margin:12px 0 4px;font-size:var(--sjh-small-copy-size)!important;line-height:1.65!important}
.studio-software--pro .studio-software__more{color:var(--purple-dark);font:550 var(--sjh-label-size)/1.6 var(--font-display);min-height:44px;display:inline-flex;align-items:center;gap:10px;text-decoration:underline;text-underline-offset:.2em}
.studio-software--pro .studio-software__more:focus-visible{outline:2px solid var(--purple-dark);outline-offset:4px}
.studio-software--pro .studio-software__brand img{width:40px;height:40px;object-fit:contain}
@media(max-width:760px){.studio-software--pro .studio-software__intro{max-width:none}}
