/* Demand-led homepage and service examples. */
.brand{flex-direction:column;align-items:flex-start;gap:5px;letter-spacing:0}.brand-image{display:block;width:164px;height:auto;object-fit:contain;object-position:left center}.brand-descriptor{font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.01em;white-space:nowrap;color:var(--muted)}.brand-descriptor-short{display:none}.pain-hero{padding:64px 0 56px;background:var(--paper)}.pain-hero .hero-grid{grid-template-columns:1fr 1fr;gap:52px;align-items:center}.pain-hero .hero-copy h1{font-size:clamp(40px,4.1vw,58px);line-height:1.35;letter-spacing:-.055em;margin-bottom:22px}.pain-hero .hero-copy h1 em{color:var(--muted)}.pain-hero .hero-description{font-size:17px;line-height:1.95;margin-bottom:21px;color:var(--muted)}.pain-hero .hero-footnote{font-size:11px;line-height:1.7;max-width:420px}.pain-hero .button{font-size:14px;padding:14px 19px;gap:20px}.client-strip{padding:24px 0;background:white;border-block:1px solid var(--line)}.client-strip-inner{display:flex;align-items:center;gap:42px}.client-strip-label{font-size:11px;color:var(--muted);flex-shrink:0}.client-strip-label>span{display:block;margin-bottom:6px}.client-strip-label>a{font-size:10px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}.client-logo-list{flex:1;min-width:0;display:grid;grid-template-columns:repeat(4,1fr);gap:38px;align-items:center}.client-logo-list img{display:block;width:100%;height:46px;object-fit:contain;padding:4px 7px}.client-logo-list img:nth-child(2){height:56px}.demand-section{padding-bottom:72px}.demand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.demand-card{position:relative;border:1px solid var(--line);background:white;border-radius:12px;padding:25px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;scroll-margin-top:110px}.demand-card:first-child{background:var(--tint);border-color:var(--line)}.demand-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;margin-bottom:22px}.demand-card-top>span:first-child{font-size:10px;letter-spacing:.04em;color:var(--muted)}.demand-card h3{font-size:22px;line-height:1.5;letter-spacing:-.025em;max-width:100%;margin-bottom:11px}.demand-card>p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:22px}.demand-card>.text-link{font-size:12px;margin-top:auto;border-color:var(--line)}.section-dark .dark-intro{color:var(--muted)}.concise-process{grid-template-columns:repeat(3,1fr);gap:40px}.concise-process p{max-width:320px}.scenario-note{font-size:12px;color:var(--muted);margin-top:23px}.scenario-note a{text-decoration:underline;text-underline-offset:4px}.experience-brand-logo{max-width:230px;height:auto;background:#fff;padding:16px;border-radius:8px}.site-footer .brand-image{width:164px}
@media(min-width:1500px){.pain-hero{padding-block:75px}.pain-hero .hero-copy h1{font-size:58px}}
@media(max-width:1100px){.pain-hero .hero-grid{gap:27px}.pain-hero .hero-copy h1{font-size:42px}.pain-hero .hero-description{font-size:15px}.pain-hero .button{font-size:12px;padding:13px 15px;gap:15px}.client-strip-inner{gap:28px}.client-logo-list{gap:20px}.demand-card{padding:22px}.demand-card h3{font-size:20px}}
@media(max-width:850px){.pain-hero .hero-grid{grid-template-columns:1fr;gap:32px}.pain-hero .hero-copy h1{font-size:40px}.pain-hero .hero-copy{max-width:650px}.pain-hero .hero-description{font-size:16px}.pain-hero{padding:43px 0}.client-strip-inner{display:block}.client-strip-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.client-strip-label>span{margin:0}.client-logo-list{gap:26px}.client-logo-list img{height:39px}.client-logo-list img:nth-child(2){height:47px}.demand-grid{grid-template-columns:1fr 1fr}.demand-card h3{font-size:22px}.concise-process{gap:22px}.brand-image{width:152px}}
@media(max-width:560px){.pain-hero .hero-copy h1{font-size:clamp(32px,8.6vw,46px);line-height:1.4;margin-bottom:17px}.pain-hero .eyebrow{font-size:10px;margin-bottom:16px;letter-spacing:.04em}.pain-hero .hero-description{font-size:14px;line-height:1.9}.pain-hero .button-row{gap:9px}.pain-hero .button{font-size:12px;padding:12px 14px;min-height:49px;gap:15px}.pain-hero .hero-footnote{font-size:10px;margin-top:18px}.client-strip{padding:20px 0}.client-logo-list{grid-template-columns:repeat(2,1fr);gap:20px 38px}.client-logo-list img{height:38px;padding:2px 9px}.client-logo-list img:nth-child(2){height:43px}.demand-grid{grid-template-columns:1fr;gap:13px}.demand-card{padding:23px}.demand-card-top{margin-bottom:14px}.demand-card h3{font-size:23px}.demand-card>p{margin-bottom:18px}.concise-process{grid-template-columns:1fr;gap:25px}.concise-process .process-number{margin-bottom:10px}.concise-process h3{font-size:22px}.concise-process p{max-width:none}.site-header .brand-image{width:130px}.site-header .brand-descriptor-full{display:none}.site-header .brand-descriptor-short{display:inline}.site-header .brand-descriptor{font-size:9px}.site-header .brand{gap:4px}}


/* Keep the brand readable on narrow phones; contact remains in the menu. */
@media(max-width:380px){.site-header .header-inner{gap:8px}.site-header .header-cta{padding-inline:8px}}
@media(max-width:350px){.site-header .header-cta{display:none}.site-header .mobile-nav{margin-left:auto}}

/* Use one accent consistently across discovery cards and the homepage. */
.pain-hero{background:radial-gradient(ellipse at 78% 50%,#d6af5317,transparent 48%),var(--paper)}
.pain-hero .hero-copy h1 em{color:var(--ink)}
.pain-hero .hero-copy h1{text-wrap:balance}
.hero-title-phrase{display:inline-block}
.hero-project-links .button{background:var(--white);border-color:var(--gold-button-border);color:var(--ink);box-shadow:none;text-shadow:none}
.hero-project-links .button:hover{background:var(--accent-soft);border-color:var(--accent-ink);color:var(--ink)}
.hero-project-links .button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px}
.demand-card-top>span:first-child{color:var(--accent-ink)}
.demand-card:first-child{background:var(--white);border-color:var(--accent-line)}




/* Two primary project paths, with integration and maintenance alongside them. */
.service-grid.service-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-continuity{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:25px 30px;border:1px solid var(--line);border-radius:12px;background:var(--tint)}
.service-continuity h3{font-size:19px;margin-bottom:7px}
.service-continuity p{font-size:14px;color:var(--muted);margin:0}
.service-continuity .text-link{flex-shrink:0;color:var(--accent-ink);font-size:13px}
.service-overview .service-card{display:flex;flex-direction:column;align-items:flex-start;gap:0;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.service-overview .service-card:hover{border-color:var(--accent);box-shadow:0 5px 18px #191a1c08}
.service-overview .service-kicker{font-size:12px;color:var(--accent-ink);margin-bottom:20px}
.service-overview .service-card h3{font-size:26px;margin-bottom:18px}
.service-overview .service-card p{margin-bottom:24px}
.service-overview .service-examples{font-size:12px;line-height:1.9;color:var(--muted);margin-top:auto;margin-bottom:22px}
.service-overview .text-link{margin-top:0;color:var(--accent-ink)}
.demand-card-top{margin-bottom:14px}
.demand-card:target{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.needs-contact{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);padding-top:30px;margin-top:32px}
.needs-contact h3{font-size:22px;margin-bottom:8px}
.needs-contact p{font-size:14px;color:var(--muted);margin:0;max-width:760px}
.needs-contact .button{flex-shrink:0}
@media(max-width:1100px){.service-overview .service-card h3{font-size:23px}}
@media(max-width:850px){.service-grid.service-overview{grid-template-columns:1fr}.service-overview .service-card{padding:28px}.service-overview .service-card h3{font-size:26px}.service-overview .service-kicker{margin-bottom:12px}.service-continuity{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:580px){.service-overview .service-card{padding:25px}.service-continuity{padding:23px}.service-continuity h3{font-size:18px}.needs-contact{flex-direction:column;align-items:flex-start;gap:20px}.needs-contact h3{font-size:21px}.needs-contact p{font-size:13px}}

/* Give the open service scope its own place beside the examples. */
.needs-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:start}
.needs-scope{position:sticky;top:112px;padding:30px 26px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px}
.needs-scope-label{display:block;font-size:12px;font-weight:600;color:var(--accent-ink);margin-bottom:20px}
.needs-scope h3{font-size:32px;line-height:1.45;letter-spacing:-.04em;margin-bottom:22px}
.needs-scope>p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:22px}
.needs-scope>p.needs-scope-invitation{font-size:16px;font-weight:600;color:var(--ink);padding-top:20px;border-top:1px solid var(--accent-line)}
.needs-scope .button{width:100%;font-size:14px;padding:14px 16px;gap:12px}
.needs-scope-note{display:block;font-size:12px;color:var(--muted);margin-top:12px}
.needs-examples{min-width:0}
.needs-examples-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:17px;line-height:1.6}
.needs-examples-heading>span:first-child{font-size:16px;font-weight:650}
.needs-examples-heading>span:last-child{font-size:12px;color:var(--accent-ink)}
.needs-examples .demand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.needs-examples .demand-card{padding:24px;background:var(--white);border-color:var(--line)}
.needs-examples .demand-card h3{font-size:21px}
.needs-examples .demand-card>p{font-size:14px;margin-bottom:0}
.needs-examples .demand-card:target{border-color:var(--accent)}
@media(max-width:1100px){.needs-layout{grid-template-columns:270px minmax(0,1fr);gap:24px}.needs-scope{padding:25px 22px}.needs-scope h3{font-size:29px}.needs-examples .demand-card{padding:20px}.needs-examples .demand-card h3{font-size:20px}}
@media(max-width:900px){.needs-layout{grid-template-columns:1fr;gap:30px}.needs-scope{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 32px;padding:30px}.needs-scope-label{grid-column:1/-1;margin-bottom:16px}.needs-scope h3{grid-column:1;grid-row:2/4;font-size:32px;margin-bottom:0}.needs-scope>p{grid-column:2;margin-bottom:18px}.needs-scope>p.needs-scope-invitation{padding-top:0;border:0}.needs-scope .button{grid-column:2;max-width:300px}.needs-scope-note{grid-column:2}}
@media(max-width:580px){.needs-scope{display:block;padding:25px}.needs-scope h3{font-size:30px;margin-bottom:18px}.needs-scope>p{font-size:14px}.needs-scope>p.needs-scope-invitation{font-size:16px;border-top:1px solid var(--accent-line);padding-top:18px}.needs-scope .button{max-width:none}.needs-examples .demand-grid{grid-template-columns:1fr;gap:13px}.needs-examples .demand-card{padding:23px}.needs-examples .demand-card h3{font-size:22px}.needs-examples-heading>span:first-child{font-size:15px}}
@media(max-height:640px){.needs-scope{position:static}}
@media print{.needs-scope{position:static}.needs-layout{grid-template-columns:1fr}}

/* Confirmed work scopes. */
.client-strip-label small{display:block;font-size:11px;line-height:1.6;color:var(--muted)}
.client-logo-list figure{margin:0;min-width:0;display:grid;grid-template-rows:56px auto;align-items:center;gap:10px}
.client-logo-list figure img{height:46px}
.client-logo-list figure:nth-child(2) img{height:56px}
.client-logo-list figcaption{text-align:center;font-size:12px;line-height:1.7;color:var(--muted)}
@media(max-width:850px){.client-strip-label small{margin-left:15px}}
@media(max-width:580px){.client-logo-list figure{grid-template-rows:43px auto;gap:8px}.client-logo-list figure img{height:38px}.client-logo-list figure:nth-child(2) img{height:43px}.client-logo-list figcaption{font-size:11px}}

/* Revisions included in fixed-price projects. */
.delivery-confidence{background:var(--white);border-block:1px solid var(--line);scroll-margin-top:100px}
.delivery-confidence-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:70px;align-items:start}
.delivery-confidence-intro h2{font-size:34px;line-height:1.5;letter-spacing:-.035em;margin:0 0 22px}
.delivery-confidence-intro>p{font-size:15px;line-height:2;color:var(--muted);margin:0 0 25px;max-width:420px}
.delivery-confidence-intro .text-link{font-size:13px;color:var(--accent-ink)}
.delivery-confidence-list{list-style:none;padding:0;margin:0;min-width:0}
.delivery-confidence-list>li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:16px;padding:26px 0;border-top:1px solid var(--line)}
.delivery-confidence-list>li:first-child{padding-top:0;border-top:0}
.delivery-confidence-list>li:last-child{padding-bottom:0}
.delivery-confidence-number{font-size:12px;line-height:33px;font-variant-numeric:tabular-nums;color:var(--accent-ink)}
.delivery-confidence-list h3{font-size:21px;line-height:1.6;letter-spacing:-.02em;margin:0 0 10px}
.delivery-confidence-list p{font-size:14px;line-height:1.95;color:var(--muted);margin:0}
.delivery-confidence-next{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.delivery-confidence-next p{font-size:14px;line-height:1.9;color:var(--muted);margin:0}
.delivery-confidence-next .button{flex-shrink:0;font-size:13px}
@media(max-width:1100px){.delivery-confidence-grid{gap:40px}.delivery-confidence-intro h2{font-size:29px}}
@media(max-width:850px){.delivery-confidence-grid{grid-template-columns:1fr;gap:36px}.delivery-confidence-intro>p{max-width:650px}.delivery-confidence-intro h2{font-size:32px}.delivery-confidence-list>li:first-child{padding-top:26px;border-top:1px solid var(--line)}}
@media(max-width:580px){.delivery-confidence{scroll-margin-top:88px}.delivery-confidence-intro h2{font-size:27px;margin-bottom:18px}.delivery-confidence-intro>p{font-size:14px;margin-bottom:20px}.delivery-confidence-grid{gap:28px}.delivery-confidence-list>li{grid-template-columns:20px minmax(0,1fr);gap:12px;padding:23px 0}.delivery-confidence-list h3{font-size:20px}.delivery-confidence-number{line-height:32px}.delivery-confidence-next{align-items:flex-start;flex-direction:column;gap:20px;margin-top:30px;padding-top:25px}.delivery-confidence-next p{font-size:13px}}
@media print{.delivery-confidence-list>li{break-inside:avoid}.delivery-confidence-next{display:none}}

#project-enquiry{scroll-margin-top:110px}
@media(max-width:580px){#project-enquiry{scroll-margin-top:88px}}

/* Server-provided working capacity, shown beside the contact introduction. */
.contact-planning-hero{padding:28px 0 48px;border-bottom:1px solid var(--line)}
.contact-planning-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:72px}
.contact-planning-copy{padding-top:40px}
.contact-planning-copy h1{font-size:clamp(36px,4.4vw,60px);line-height:1.35;letter-spacing:-.045em;margin:20px 0 24px}
.contact-planning-copy>p{font-size:16px;line-height:1.95;color:var(--muted);max-width:29em;margin:0 0 25px}
.planning-calendar{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0;scroll-margin-top:110px}
.planning-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.planning-heading-row .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:0;line-height:1.4}
.planning-heading-row h2{font-size:20px;line-height:1.45;letter-spacing:-.025em;margin:7px 0 0}
.planning-caption{font-size:10px;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:4px;padding:5px 7px;white-space:nowrap;color:var(--accent-ink)}
.planning-context{font-size:12px;line-height:1.85;color:var(--muted);border-left:2px solid var(--accent-line);padding-left:12px;margin:0 0 18px}
.planning-table{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:calc(100% + 8px);margin:0 -4px}
.planning-table caption{text-align:left;font-size:12px;font-weight:600;margin:0 4px 10px;color:var(--ink)}
.planning-table th{font-size:11px;font-weight:400;color:var(--muted);padding-bottom:4px;text-align:center}
.planning-table td{padding:0;vertical-align:top}
.planning-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:36px;border-radius:5px;border:1px solid transparent}
.planning-day time{font-size:13px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}
.planning-day-label{font-size:9px;line-height:1.3}
.planning-red{background:#f9eeeb;color:#923f32;border-color:#f0d9d2}
.planning-yellow{background:#faf4df;color:#795f19;border-color:#eee3bb}
.planning-green{background:#eaf4ed;color:#326546;border-color:#d3e7d9}
.planning-unknown{background:#f2f2ef;color:#656660;border-color:#e4e4df}
.planning-closed{background:#f2f2ef;color:#75766f;border-color:#e4e4df}
.planning-today{box-shadow:inset 0 0 0 1px currentColor}
.planning-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;list-style:none;padding:0;margin:15px 0 10px}
.planning-legend li{display:flex;align-items:flex-start;gap:6px;min-width:0}
.planning-dot{width:8px;height:8px;flex:0 0 8px;margin-top:5px;border:1px solid currentColor;border-radius:50%}
.planning-legend strong{font-size:10px;line-height:1.65;font-weight:600;display:block}
.planning-legend small{font-size:9px;line-height:1.6;color:var(--muted);display:block;margin-top:2px}
.planning-status{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}
.planning-status:empty{display:none}
.planning-retry{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:4px;padding:8px 12px;min-height:44px;background:var(--white);cursor:pointer}
.planning-action{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;min-height:44px;font-size:13px;font-weight:600;text-decoration:none}
.planning-action:focus-visible,.planning-retry:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:1000px){.contact-planning-grid{gap:32px}.planning-calendar{padding:20px}.planning-heading-row h2{font-size:18px}.planning-caption{display:none}}
@media(max-width:760px){.contact-planning-hero{padding:32px 0 40px}.contact-planning-grid{grid-template-columns:1fr;gap:28px}.contact-planning-copy{padding-top:0}.contact-planning-copy h1{font-size:36px;margin:12px 0 14px}.contact-planning-copy>p{font-size:14px;line-height:1.85;margin:0}.contact-planning-copy>.button{display:none}.planning-calendar{padding:20px;scroll-margin-top:88px}.planning-caption{display:block}.planning-heading-row h2{font-size:20px}}
@media(max-width:380px){.planning-calendar{padding:14px}.planning-caption{display:none}.planning-heading-row h2{font-size:18px}.planning-legend{gap:6px}.planning-legend li{gap:4px}.planning-dot{width:6px;flex-basis:6px;height:6px}.planning-legend strong{font-size:9px}.planning-legend small{font-size:8px}}
/* Founder-led collaboration, with an editorial introduction and no portrait. */
.founder-intro{border-bottom:1px solid var(--line);scroll-margin-top:100px}
.founder-intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:start}
.founder-intro h2{font-size:36px;line-height:1.45;letter-spacing:-.035em;margin:0}
.founder-intro-copy{border-left:2px solid var(--accent-line);padding-left:30px}
.founder-intro-copy p{font-size:16px;line-height:2;color:var(--muted);margin:0 0 20px}
.founder-intro-copy p:last-child{margin-bottom:0}
@media(max-width:850px){.founder-intro-grid{grid-template-columns:1fr;gap:26px}.founder-intro h2{font-size:32px}.founder-intro-copy{padding-left:23px}}
@media(max-width:580px){.founder-intro h2{font-size:28px}.founder-intro-copy{padding-left:18px}.founder-intro-copy p{font-size:14px}.founder-intro{scroll-margin-top:88px}}
