@font-face{font-family:'Public Sans';src:url('public-sans-variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --navy:#081b39;--blue:#246bce;--accent:#246bce;
  --white:#fff;--paper:#f3f5f8;--soft-blue:#e8f2ff;
  --ink:#081b39;--muted:#4a5b70;--line:#dce3ec;--on-dark:#f0f5fc;
  --gutter:24px;--wrap:1104px;--body:18px;--heading:36px;--subheading:20px;
  --offer-title:28px;--intro:22px;--small:15px;--section-space:64px;
  --portrait:280px;--profile-gap:48px;color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-color:var(--blue) var(--paper)}
body{margin:0;background:var(--white);color:var(--ink);font:400 var(--body)/1.6 'Public Sans','Helvetica Neue',Arial,sans-serif}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{color:var(--ink);text-wrap:balance}
h1{font-size:clamp(36px,4.4vw,54.4px);font-weight:750;line-height:1.08;letter-spacing:-.025em}
h2{font-size:var(--heading);font-weight:700;line-height:1.2;letter-spacing:-.018em}
h3{font-size:var(--subheading);font-weight:650;line-height:1.35}
p{font-size:var(--body)}
a{color:var(--ink);text-underline-offset:.22em}
a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.contact-section a:focus-visible,.site-footer a:focus-visible{outline-color:var(--accent)}
main:focus{outline:none}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--soft-blue);color:var(--ink)}
.wrap,.header-inner{width:calc(100% - var(--gutter)*2);max-width:var(--wrap);margin-inline:auto}
.skip-link{position:fixed;z-index:10;top:8px;left:8px;padding:12px 20px;background:var(--white);transform:translateY(-160%);font-weight:650}
.skip-link:focus{transform:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Ink navigation frames the white editorial opening. */
.site-header{background:var(--navy)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;line-height:1.25;font-weight:700;color:var(--white)}
.brand-logo{width:44px;height:44px;flex-shrink:0}
.site-header nav{display:flex;gap:28px;font-size:16px;font-weight:500}
.site-header nav a{display:flex;align-items:center;position:relative;min-height:48px;text-decoration:none;white-space:nowrap;color:var(--on-dark)}
.site-header nav a[aria-current=page]{color:var(--white);font-weight:650}
.site-header nav a[aria-current=page]::after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--accent)}
.site-header nav a:hover{color:var(--accent)}
.site-header a:focus-visible{outline-color:var(--accent)}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 22px;border:0;border-radius:4px;background:var(--accent);color:var(--ink);font-size:var(--body);font-weight:650;line-height:1.4;text-align:center;text-decoration:none}
.button:hover{background:#1957ad}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--body);font-weight:600}
.text-link:hover{color:var(--blue)}

/* White hero, ink service programme, and teal emphasis establish hierarchy. */
.home-hero,.page-intro{padding-block:64px;background:var(--white);color:var(--muted)}
.home-hero h1,.page-intro h1{margin-bottom:24px}
.hero-subtitle,.page-intro .lede{max-width:52ch;font-size:clamp(22px,2vw,26px);line-height:1.45;font-weight:400}
.page-intro h1{max-width:26ch}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.hero-copy{min-width:0}
.hero-accent{color:var(--blue)}
.home-hero .hero-subtitle{max-width:30ch}
.service-programme{background:var(--navy);padding:12px;min-width:0}
.service-band{display:block;background:var(--navy);color:var(--white);text-decoration:none}
.band-inner{display:grid;grid-template-columns:96px minmax(0,1fr) 20px;align-items:center;gap:16px;width:100%;padding:20px 16px}
.service-verb{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.015em;color:var(--accent)}
.service-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.service-copy strong{font-size:20px;line-height:1.3;font-weight:650}
.service-copy>span{font-size:var(--body);line-height:1.5;color:var(--on-dark)}
.arrow{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--accent)}
.arrow path{vector-effect:non-scaling-stroke;stroke-width:1.5}
.service-band:hover{background:#15425e}
.service-band:hover .service-copy strong{text-decoration:underline;text-underline-offset:.2em}
.service-band:focus-visible{outline-color:var(--accent);outline-offset:-3px}
.benefit-section{background:var(--paper)}
.benefit-intro{padding-block:var(--section-space)}
.benefit-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;color:var(--muted)}
.benefit-copy strong{display:block;font-size:var(--subheading);font-weight:650;line-height:1.35;color:var(--ink);margin-bottom:12px}
.booking-strip{background:var(--white)}
.booking-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:40px}
.booking-inner h2{font-size:var(--offer-title)}
.booking-inner .button{background:var(--ink);color:var(--white)}
.booking-inner .button:hover{background:var(--blue)}
.people{background:var(--blue);color:var(--on-dark);padding-block:var(--section-space)}
.people-grid{display:grid;grid-template-columns:5fr 6fr;gap:var(--profile-gap);align-items:start}
.people h2{color:var(--white);max-width:20ch}
.people p+p{margin-top:20px}
#how{padding-block:var(--section-space);background:var(--white)}
.home-about{background:var(--paper);padding-block:var(--section-space)}
.founder-grid{display:grid;grid-template-columns:var(--portrait) minmax(0,1fr);gap:var(--profile-gap);align-items:start}
.founder-grid img{aspect-ratio:1;object-fit:cover}
.founder-grid h2{margin-bottom:20px}
.founder-grid p{margin-bottom:12px;max-width:65ch}

/* Services align by content rows rather than decorative rules. */
.service-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:0;margin-top:0}
.offer{display:grid;grid-template-rows:subgrid;grid-row:span 3;min-width:0}
.offer-heading{padding-block:0 24px}
.offer-heading h2{font-size:var(--offer-title);line-height:1.2;margin-bottom:16px}
.offer p{color:var(--muted)}
.offer-section{padding-block:0 24px}
.offer-section h3{margin-bottom:10px}
.illustration-section{padding-block:8px 64px}
details{border:0}
summary{padding:18px 22px;cursor:pointer;font-size:var(--body);font-weight:600;color:var(--ink);background:var(--paper)}
summary:hover{background:var(--soft-blue)}
details figure{padding-block:24px}
details img{width:100%;max-width:1050px;height:auto;margin-inline:auto}
figcaption{font-size:var(--small);line-height:1.55;margin-top:12px;max-width:80ch;color:var(--muted)}
.nonprofit-section{background:var(--blue);color:var(--on-dark);padding-block:var(--section-space)}
.nonprofit-section h2{color:var(--white)}
.nonprofit-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--profile-gap);align-items:start}
.nonprofit-intro .lede{font-size:var(--intro);line-height:1.5;color:var(--on-dark)}
.nonprofit-examples,#safety{background:var(--paper);padding-block:var(--section-space)}
.intro{font-size:var(--intro);line-height:1.5;color:var(--muted);margin-top:16px;margin-bottom:32px}
.measure{max-width:40rem}
.uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px var(--profile-gap)}
.use h3{margin-bottom:10px}
.use p{color:var(--muted);max-width:50ch}
#pricing{background:var(--white);padding-block:var(--section-space)}
.table-scroll{overflow-x:auto}
.pricing{width:100%;border-collapse:collapse;font-size:var(--body);line-height:1.5;font-variant-numeric:tabular-nums}
.pricing th,.pricing td{text-align:left;padding:24px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.pricing thead th{font-size:var(--small);color:var(--white);font-weight:650;background:var(--navy);border-bottom:0}
.pricing tbody th{color:var(--ink);font-size:var(--body);width:24%;font-weight:650}
.pricing td:nth-child(2){width:21%}
.pricing .price{width:19%;font-size:var(--subheading);font-weight:700;color:var(--ink);white-space:nowrap}
.pricing .nonprofit-rate{display:block;margin-top:6px;font-size:var(--small);font-weight:600;color:var(--blue)}
.pricing .price-context{display:block;margin-bottom:4px;font-size:var(--small);font-weight:400;color:var(--muted)}
.pricing .price .draft-note{display:inline-block;white-space:normal;max-width:12ch}
.note{font-size:var(--small);max-width:85ch;color:var(--muted);margin-top:16px}
.draft-note{display:inline-block;background:var(--soft-blue);color:var(--ink);padding:4px 8px;font-size:var(--small);line-height:1.5;font-weight:400;border-radius:2px}

/* Biography and contact share a column edge on every breakpoint. */
.portrait-layout,.contact-grid{display:grid;grid-template-columns:var(--portrait) minmax(0,1fr);gap:var(--profile-gap);align-items:start}
.portrait-layout{padding-block:0 var(--section-space)}
.portrait-figure img{aspect-ratio:1;object-fit:cover;width:100%}
.profile-copy h2{margin-bottom:20px}
.profile-copy p{margin-bottom:18px;max-width:65ch}
.contact-section{background:var(--navy);color:var(--on-dark);padding-block:52px}
.contact-section h2,.contact-email{color:var(--white)}
.contact-grid p{max-width:60ch}
.contact-grid .lede{font-size:var(--intro);line-height:1.5}
.contact-grid .button{margin-top:24px}
.contact-email{display:block;width:fit-content;min-height:44px;padding-top:16px;font-size:var(--body)}
.contact-grid .small-note{font-size:var(--small);margin-top:16px;color:var(--on-dark)}
.services-page .contact-section{background:var(--blue)}
.services-page .contact-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px}
.services-page .contact-grid>div:last-child{display:contents}
.services-page .contact-grid h2{max-width:28ch}
.services-page .contact-grid p{grid-column:1;grid-row:2}
.services-page .contact-grid .button{background:var(--white);color:var(--navy);grid-column:2;grid-row:1 / 3;margin:0}
.promises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px var(--profile-gap);list-style:none;margin:0;padding:0}
.promises strong{display:block;font-size:var(--subheading);line-height:1.35;font-weight:650;margin-bottom:10px}
.promises p{color:var(--muted)}
.promises .draft-note{display:block;margin-top:10px}
.delivery-note{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}
.delivery-note p{max-width:65ch;font-size:var(--small)}
.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.steps li{counter-increment:step}
.steps li::before{content:counter(step);display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--blue);color:var(--white);font-weight:650;align-items:center;justify-content:center;margin-bottom:16px}
.steps h3{margin-bottom:10px}
.steps p{color:var(--muted)}
.site-footer{background:var(--navy);color:var(--on-dark);padding-block:24px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.footer-inner p,.footer-inner a{font-size:var(--small);line-height:1.5}
.footer-inner a{color:var(--on-dark);display:inline-flex;align-items:center;min-height:44px}

/* Approved option E: photographic wayfinding, white navigation, azure actions. */
.site-header{background:var(--white)}
.brand,.site-header nav a,.site-header nav a[aria-current=page]{color:var(--navy)}
.button{background:var(--blue);color:var(--white)}
.home-hero,.page-intro{background-color:var(--navy);background-image:linear-gradient(90deg,rgba(8,27,57,.88) 0%,rgba(8,27,57,.76) 40%,rgba(8,27,57,.25) 59%,rgba(8,27,57,.82) 100%),url('boardwalk-hero.webp');background-size:cover;background-position:center;color:var(--white)}
.home-hero{padding-block:72px}
.home-hero h1,.page-intro h1,.hero-accent{color:var(--white)}
.hero-grid{grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:100px}
.home-hero h1{font-size:clamp(40px,4.5vw,60px)}
.home-hero .hero-subtitle{max-width:38ch}
.hero-copy .button{margin-top:28px}
.service-programme{background:none;padding:0}
.service-band{background:none;color:white}
.band-inner{display:block;padding:18px 0}
.service-verb{display:block;color:white;font-size:28px;margin-bottom:6px}
.service-copy strong{font-size:18px;font-weight:500}
.service-copy>span{font-size:16px;color:var(--on-dark)}
.service-band:hover{background:none}
.service-band:hover .service-verb{text-decoration:underline;text-underline-offset:6px}
.home-hero a:focus-visible,.page-intro a:focus-visible{outline-color:white}
.benefit-section{background:white}
.benefit-icon{display:block;width:56px;height:56px;margin:0 auto 20px;color:var(--navy)}
.benefit-copy{text-align:center}
.benefit-copy strong{font-size:22px}
.booking-strip{background:var(--paper)}
.booking-inner .button{background:var(--blue)}
.people,.nonprofit-section,.services-page .contact-section{background:var(--navy)}
#how{background:white}
.home-about,#safety,.nonprofit-examples{background:var(--paper)}
.page-intro{padding-block:64px;background-image:linear-gradient(90deg,rgba(8,27,57,.91),rgba(8,27,57,.76) 62%,rgba(8,27,57,.38)),url('boardwalk-hero.webp');background-position:center 60%}
.page-intro .lede{max-width:52ch}
.service-comparison{margin-top:56px}
.portrait-layout{padding-block:64px}
.contact-section .button{background:var(--blue);color:white}
@media(max-width:1100px){
  .hero-grid{grid-template-columns:1fr 1.15fr;gap:32px}
  .band-inner{grid-template-columns:1fr 20px;gap:8px 16px}
  .service-verb{grid-column:1}
  .service-copy{grid-column:1;grid-row:2}
  .band-inner .arrow{grid-column:2;grid-row:1 / 3}
}
@media(max-width:1000px){
  :root{--portrait:240px;--profile-gap:32px}
  .brand{font-size:17px}.site-header nav{gap:20px}
  .nonprofit-intro{grid-template-columns:1fr;gap:20px}
  .services-page .contact-grid{grid-template-columns:1fr}
  .services-page .contact-grid .button{grid-column:1;grid-row:3;justify-self:start}
}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:36px;align-items:start}
  .home-hero .hero-subtitle{max-width:52ch}
  .home-hero h1{font-size:clamp(36px,6vw,54.4px)}
  .band-inner{grid-template-columns:96px minmax(0,1fr) 20px;gap:16px}
  .service-verb{grid-column:1;grid-row:1}
  .service-copy{grid-column:2;grid-row:1}
  .band-inner .arrow{grid-column:3;grid-row:1}
  .service-comparison{grid-template-columns:1fr;gap:32px;margin-top:0}
  .offer{display:block;grid-row:auto}
  .offer-heading{padding-bottom:20px}
  .offer-heading h2{color:var(--blue)}
  .offer-section{padding-bottom:16px}
  .offer-section:last-child{padding-bottom:0}
  .benefit-copy,.steps,.people-grid{grid-template-columns:1fr;gap:28px}
  .people h2{max-width:28ch}.people p{max-width:65ch}
  .steps li{position:relative;padding-left:64px}
  .steps li::before{position:absolute;left:0;top:0}
  .booking-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:800px){
  .pricing,.pricing tbody,.pricing tr,.pricing td,.pricing th{display:block;width:100%}
  .pricing thead{display:none}
  .pricing tbody th{width:100%;font-size:var(--subheading);border-bottom:0;padding-top:16px;padding-bottom:8px}
  .pricing td{border-bottom:0;padding-block:5px}
  .pricing td:nth-child(2){width:100%}
  .pricing td::before{content:attr(data-label) ":";display:inline;color:var(--muted);font-size:var(--small);font-weight:600;margin-right:8px}
  .pricing tr{border-bottom:1px solid var(--line);padding-block:8px}
  .pricing .price{width:100%;padding-bottom:12px}
  .pricing .price::before{display:none}
}
@media(max-width:640px){
  :root{--heading:30px;--offer-title:26px;--section-space:48px}
  .header-inner{align-items:flex-start;flex-direction:column;gap:4px;padding-block:12px 8px}
  .brand{font-size:16px;gap:8px}.brand-logo{width:36px;height:36px}
  .site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:15px}
  .home-hero,.page-intro{padding-block:36px 44px}
  .home-hero h1{font-size:36px}
  .hero-subtitle,.page-intro .lede{font-size:22px}
  .service-programme{padding:4px}
  .band-inner{grid-template-columns:minmax(0,1fr) 20px;padding:20px 16px;gap:8px 16px}
  .service-verb{grid-column:1;grid-row:1}
  .service-copy{grid-column:1;grid-row:2}
  .band-inner .arrow{grid-column:2;grid-row:1 / 3}
  .booking-inner{padding-block:28px;gap:20px}
  .booking-inner .button{width:100%}
  .founder-grid,.portrait-layout,.contact-grid{grid-template-columns:1fr;gap:24px}
  .founder-grid img{width:180px}.portrait-figure{max-width:280px}
  .contact-grid .button{width:100%}.contact-section{padding-block:40px}
  .promises,.uses{grid-template-columns:1fr;gap:28px}
  .intro{margin-bottom:28px}
  .illustration-section{padding-bottom:48px}
  .delivery-note{align-items:flex-start;flex-direction:column;gap:8px}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:4px}
  .pricing th,.pricing td{padding-inline:20px}
  .steps li{padding-left:56px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:1100px){.hero-grid{grid-template-columns:1.6fr 1fr;gap:48px}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:24px}.home-hero{background-position:58% center;background-image:linear-gradient(90deg,rgba(8,27,57,.9),rgba(8,27,57,.55)),url('boardwalk-hero.webp')}.service-programme{padding:0;max-width:480px}.band-inner{display:block;padding:14px 0}.benefit-copy{text-align:left}.benefit-icon{margin:0 0 16px}.service-comparison{margin-top:40px}}
@media(max-width:640px){.home-hero{padding-block:36px 40px}.home-hero h1{font-size:36px}.hero-grid{gap:28px}.hero-copy .button{font-size:16px}.service-verb{font-size:24px}.service-copy strong{font-size:18px}.service-copy>span{font-size:16px}.benefit-copy p{position:relative;padding-left:64px}.benefit-icon{position:absolute;left:0;top:0;width:42px;height:42px}.benefit-copy strong{font-size:20px}.page-intro{padding-block:44px}.portrait-layout{padding-block:48px}}

/* Keep service choices readable independently of the photograph's crop. */
.home-hero .service-programme{background:rgba(8,27,57,.88);padding:8px 24px;border-radius:4px}
.home-hero .service-copy strong{color:#fff;font-weight:650}
.home-hero .service-copy>span{color:#fff;font-size:17px;line-height:1.5}
.home-hero .service-verb{color:#fff}
@media(max-width:640px){.home-hero .service-programme{padding:8px 20px;width:100%}}

/* Service verbs form a separate left column, matching the approved reference. */
.home-hero .hero-grid{max-width:1248px;grid-template-columns:1fr 1.15fr;gap:40px}
.home-hero .service-programme{background:none;padding:0;border-radius:0;max-width:none}
.home-hero .band-inner{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:center;padding:24px}
.home-hero .service-verb{grid-column:1;grid-row:1;margin:0;font-size:32px;letter-spacing:-.025em}
.home-hero .service-copy{grid-column:2;grid-row:1;gap:8px}
.home-hero .service-copy strong{font-size:20px;line-height:1.3;font-weight:700}
.home-hero .service-copy>span{font-size:17px;line-height:1.45}
.home-hero .band-lead{background:#fff}
.home-hero .band-choose{background:#205fba}
.home-hero .band-build{background:#081b39}
.home-hero .band-lead .service-verb,.home-hero .band-lead .service-copy strong,.home-hero .band-lead .service-copy>span{color:var(--navy)}
.home-hero .band-lead:focus-visible{outline-color:var(--blue)}
.booking-strip{background:var(--blue)}
.booking-inner h2{color:#fff}
.booking-inner .button{background:#fff;color:var(--navy)}
.booking-inner .button:hover{background:#e8f2ff}
.people{background:#24734f;color:#fff}
.people h2{color:#fff}
@media(max-width:1100px){.home-hero .hero-grid{grid-template-columns:1fr 1.2fr;gap:28px}.home-hero h1{font-size:46px}.home-hero .band-inner{grid-template-columns:92px minmax(0,1fr);gap:16px;padding:22px 20px}.home-hero .service-verb{font-size:28px}}
@media(max-width:900px){.home-hero .hero-grid{grid-template-columns:1fr;gap:32px}.home-hero .service-programme{width:100%}.home-hero .band-inner{grid-template-columns:120px minmax(0,1fr);padding:24px}.home-hero .service-verb{font-size:32px}}
@media(max-width:640px){.home-hero h1{font-size:36px}.home-hero .band-inner{grid-template-columns:80px minmax(0,1fr);gap:12px;padding:20px 16px}.home-hero .service-verb{font-size:24px}.home-hero .service-copy strong{font-size:18px}.home-hero .service-copy>span{font-size:16px}}

/* More room between service verbs and their descriptions. */
.home-hero .band-inner{grid-template-columns:128px minmax(0,1fr);gap:32px;padding-right:20px}
.home-hero .service-copy{text-align:left;justify-self:stretch}
.footer-nav{display:flex;flex-basis:100%;gap:28px;align-items:center;margin-bottom:8px}
.footer-nav a{font-size:16px;font-weight:600;text-decoration:none}
.footer-nav a:hover,.footer-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px) and (min-width:901px){.home-hero .band-inner{grid-template-columns:106px minmax(0,1fr);gap:28px}}
@media(max-width:640px){.home-hero .band-inner{grid-template-columns:80px minmax(0,1fr);gap:20px;padding-inline:16px 12px}.footer-nav{flex-basis:auto;gap:20px;flex-wrap:wrap;margin-bottom:12px}.footer-nav a{font-size:15px}}

/* Align and separate the offer descriptions without enclosing them in cards. */
.services-page .service-comparison{column-gap:0}
.services-page .offer-heading{padding:0 22px 24px}
.services-page .offer-section{padding:20px 22px 24px;border-top:1px solid #cdd8e6}
.services-page .offer-section:nth-child(2){background:#f0f4fa}
.services-page .offer+.offer{border-left:1px solid #dce3ec}
.services-page .pricing tbody tr:nth-child(even){background:#f0f4fa}
.services-page .pricing th,.services-page .pricing td{border-bottom-color:#cdd8e6}
.services-page .use{border-top:1px solid #cdd8e6;padding-top:20px}
@media(max-width:900px){.services-page .offer+.offer{border-left:0}.services-page .offer-heading{padding:0 20px 20px}.services-page .offer-section{padding:20px}.services-page .service-comparison{gap:36px}}

/* Shared offers with expandable detail for each audience. */
.service-detail{margin-bottom:16px}
.service-detail summary{line-height:1.45}
.service-detail[open] summary{background:var(--navy);color:white}
.detail-content{padding:28px 24px;background:#f5f7fa}
.detail-intro,.detail-outcome{max-width:72ch}
.detail-intro{margin-bottom:24px}
.detail-outcome{margin-top:24px}
.session-outline{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;margin:0;padding-left:24px}
.session-outline li{padding-left:4px}
.session-outline li::marker{color:var(--blue);font-weight:700}
.session-outline h3{margin-bottom:8px}
.session-outline p{color:var(--muted)}
.sector-section{padding-block:0 64px;background:white}
.services-page #pricing{background:#e8f0fb}
.services-page .pricing{background:white}
.services-page #pricing .intro{max-width:64ch}
.services-page .contact-section{background:var(--blue)}
.services-page .contact-grid .button{grid-row:1;margin:0}
@media(max-width:1000px){.services-page .contact-grid .button{grid-row:2}}
@media(max-width:640px){.detail-content{padding:24px 20px}.session-outline{grid-template-columns:1fr;gap:24px}.sector-section{padding-bottom:48px}}

/* Allow enlarged text to reflow without changing the normal type scale. */
.header-inner,.site-header nav,.footer-nav{flex-wrap:wrap}
.site-header nav a{white-space:normal}
.brand,.site-header nav,.button,.contact-grid>*,.footer-inner>*{min-width:0;max-width:100%}
.button{white-space:normal;overflow-wrap:anywhere}
main,.brand,.footer-inner{overflow-wrap:anywhere}
.pricing .price{white-space:normal}
.map-link{display:flex;width:fit-content;margin-top:8px}
@media(max-width:1000px){.services-page .contact-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
  .founder-grid,.portrait-layout,.contact-grid,.promises,.uses,.session-outline{grid-template-columns:minmax(0,1fr)}
  .home-hero .band-inner{display:flex;flex-wrap:wrap}
  .home-hero .service-verb{flex:0 0 auto;min-width:3.8em;white-space:nowrap}
  .home-hero .service-copy{flex:1 1 7em}
}

/* Make pricing column headings and service names easier to scan. */
.pricing thead th{font-size:18px;line-height:1.4}
.pricing tbody th{font-size:22px;line-height:1.35}

/* Keep the Services hero from redistributing words on mobile browsers. */
.services-page .page-intro h1{text-wrap:wrap}
