.web-hero{padding:156px 0 90px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px 60px;align-items:end}.web-hero>.section-kicker{grid-column:1/-1}.cardiff-page h1{font-size:clamp(48px,6.8vw,108px);line-height:1;letter-spacing:-.055em;margin:0}.cardiff-page h1 em,.cardiff-page h2 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.web-intro p{font-size:19px;max-width:520px}.web-intro .button{margin-top:16px}.web-section{padding:80px 0}.cardiff-page h2{font-size:clamp(34px,4.8vw,68px);letter-spacing:-.045em;line-height:1.08;margin:0 0 36px}.cardiff-page h3{font-size:24px;line-height:1.2;margin:18px 0 12px}.cardiff-page p{line-height:1.65}.web-dark{background:var(--ink);color:var(--white)}.web-dark h2 em{color:var(--acid)}.web-grid{display:grid;gap:36px}.web-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.web-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.web-number{color:var(--acid);font-size:14px}.web-dark article{border-top:1px solid #555;padding-top:24px}.web-deliverables{list-style:none;padding:0;margin:0}.web-deliverables li{border-bottom:1px solid var(--line);padding:16px 0}.web-work{background:#e8e3d8}.web-example{background:var(--white);border-radius:24px;overflow:hidden}.web-example-image>img{display:block;width:100%;height:340px;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}.web-example>div{padding:28px}.web-example a{font-weight:700;text-underline-offset:4px}.web-note{font-size:14px;max-width:820px;margin:28px 0 0}.web-process{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;counter-reset:steps}.web-process li{border-top:1px solid var(--line);padding-top:20px;counter-increment:steps}.web-process li:before{content:'0' counter(steps);font-weight:700;color:var(--blue)}.web-faq{padding-top:20px}.web-faq details{border-bottom:1px solid var(--line);padding:22px 0}.web-faq summary{cursor:pointer;font-size:19px;font-weight:700}.web-faq details p{max-width:820px}.web-cta{background:var(--blue);color:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:clamp(38px,7vw,100px);margin-bottom:0}.web-cta h2 em{color:var(--acid)}.web-cta p{max-width:640px}.web-cta .button{margin-top:16px}.cardiff-page .section-kicker{font-size:14px}.cardiff-page a:focus-visible,.cardiff-page summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media(max-width:760px){.web-hero{grid-template-columns:1fr;padding:120px 0 56px;gap:20px}.web-section{padding:52px 0}.web-grid.three,.web-grid.two,.web-process{grid-template-columns:1fr}.web-hero>.section-kicker{grid-column:auto}.web-intro p{font-size:17px}.web-dark .web-section,.web-work .web-section{padding:52px 0}.web-example-image>img{height:280px}.web-cta{width:100%;margin-inline:0;padding:55px 22px;border-radius:28px 28px 0 0}.cardiff-page h1{font-size:clamp(42px,9vw,65px)}}

/* Consistent spacing within the shared homepage margins. */
.web-hero{padding-top:140px;padding-bottom:64px;column-gap:64px;row-gap:24px;align-items:center;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.web-hero>.section-kicker{margin:0}
.web-intro p:first-child{margin-top:0}
.web-intro p:last-of-type{margin-bottom:24px}
.web-intro .button{margin-top:0}
.web-section{padding-block:64px}
.cardiff-page h2{margin-bottom:28px}
.cardiff-page .section-kicker{margin-bottom:18px}
.web-hero>.section-kicker{margin-bottom:0}
.web-grid{gap:32px 48px}
.web-grid>div>p:first-child{margin-top:0}
.web-deliverables li:first-child{padding-top:0}
.web-process{margin:0;gap:24px 48px}
.web-faq{padding-top:0}
.web-cta{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:48px;padding:64px clamp(24px,4vw,64px)}
.web-cta h2{margin-bottom:0;font-size:clamp(36px,4.4vw,64px)}
.web-cta-action p{margin:0 0 24px;max-width:480px;font-size:18px}
.web-cta-action .button{margin:0}
@media(max-width:760px){
.web-hero{grid-template-columns:1fr;padding-top:120px;padding-bottom:48px;gap:20px}
.web-section,.web-dark .web-section,.web-work .web-section{padding-block:48px}
.web-grid{gap:28px}.web-faq{padding-top:0}
.web-cta{grid-template-columns:1fr;gap:24px;padding:40px 22px}
.web-cta h2{font-size:clamp(34px,8vw,48px)}
.web-cta-action p{font-size:16px}
}

/* Balance the two introductory sections without changing the shared shell. */
.web-hero{padding-top:156px;padding-bottom:72px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:clamp(40px,5vw,80px);row-gap:28px;align-items:start}
.cardiff-page .web-hero h1{font-size:clamp(48px,5.7vw,88px);line-height:1.06}
.web-intro{padding-top:4px}
.web-intro p{max-width:none;width:100%;font-size:20px;margin:0 0 20px}
.web-scope{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(40px,5vw,80px);align-items:center;padding-block:72px}
.cardiff-page .web-scope h2{font-size:clamp(34px,3.7vw,56px);margin-bottom:24px}
.web-scope-copy>div{max-width:620px}
.web-scope-copy>div p{margin:0 0 16px}
.web-scope-copy>div p:last-child{margin-bottom:0}
.web-scope .web-deliverables{width:100%}
.web-scope .web-deliverables li{padding:20px 0;font-size:clamp(20px,1.6vw,24px);line-height:1.45;letter-spacing:-.02em}
.web-scope .web-deliverables li:first-child{border-top:1px solid var(--line)}
@media(max-width:900px){
.web-hero,.web-scope{grid-template-columns:1fr}
.web-hero{padding-top:140px;gap:24px;padding-bottom:48px}
.web-intro{padding-top:0}
.web-scope{gap:28px;padding-block:48px}
.cardiff-page .web-scope h2{font-size:clamp(34px,6vw,52px)}
}
@media(max-width:760px){
.web-hero{padding-top:120px}
.cardiff-page .web-hero h1{font-size:clamp(40px,9vw,65px)}
.web-intro p{font-size:17px}
.web-scope .web-deliverables li{font-size:18px;padding:18px 0}
}

.web-example-image{display:block}.web-example-image:focus-visible{outline-offset:-4px}
