@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-semibold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:Newsreader;src:url('/assets/fonts/newsreader-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{--blue:#1A479A;--sky:#E9F0F9;--white:#FFFFFF;--ink:#14161C;--grey:#A5A6AA;--gold:#B08D3C;--gold-soft:#C9AB5F;--line:rgba(20,22,28,.18);--muted:rgba(20,22,28,.76);--space:clamp(4rem,8vw,7.5rem);--ease:cubic-bezier(.625,.05,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--white);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:1.125rem;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit}button,summary{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}svg{display:block;width:24px;height:24px}p{margin:0 0 1.15em}p:last-child{margin-bottom:0}h1,h2,h3{font-weight:500;margin:0 0 .7em;line-height:1.15;letter-spacing:-.045em}h1{font-size:clamp(2.625rem,5.3vw,4.75rem)}h2{font-size:clamp(2rem,3.3vw,3.25rem)}h3{font-size:1.35rem;letter-spacing:-.025em}em{font-family:Newsreader,Georgia,serif;font-weight:400;color:var(--blue);letter-spacing:-.035em}address{font-style:normal}::selection{background:var(--gold-soft);color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:2px}.directory :focus-visible,.about-panel :focus-visible,.contact-card :focus-visible{outline-color:var(--white)}main:focus{outline:none}.container{width:88%;max-width:1320px;margin-inline:auto}.section{padding-block:var(--space)}.rounded{border-radius:28px 28px 0 0}.eyebrow{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;line-height:1.6;margin-bottom:1.5rem;color:var(--blue)}.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;vertical-align:middle;margin-right:12px}.skip{position:fixed;left:1rem;top:-8rem;background:var(--blue);color:white;padding:1rem 1.5rem;z-index:100}.skip:focus{top:1rem}.underline{text-decoration:none;position:relative;width:fit-content;max-width:100%;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:right bottom;background-repeat:no-repeat;transition:background-size .45s var(--ease);padding-bottom:3px}.underline:hover,.underline:focus-visible,.underline[aria-current=page]{background-size:100% 1px;background-position:left bottom}.menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;font-size:.8rem}.home-hero{padding-top:clamp(3.5rem,6.5vw,6rem);padding-bottom:3.6rem;position:relative;isolation:isolate}.home-hero h1{max-width:1100px;margin-bottom:2.25rem}.home-hero h1 em{white-space:nowrap}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:4rem}.hero-copy{max-width:620px;color:var(--muted);font-size:1.1rem}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-right:8%;flex-shrink:0}.hero-actions>.underline{font-size:.85rem}.orbit{position:absolute;right:0;top:30px;width:350px;height:350px;border:1px dashed rgba(26,71,154,.15);border-radius:50%;z-index:-1}.orbit:after{content:'';position:absolute;inset:22px;border:1px solid rgba(26,71,154,.08);border-radius:50%}.hero-image{overflow:hidden;border-radius:12px}.photo{width:100%;height:100%;object-fit:cover}.wide-photo{aspect-ratio:2.55/1;height:auto;object-fit:cover}.hero-image .photo{height:clamp(340px,35vw,520px)}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%}.three-grid h2{font-size:1.4rem;letter-spacing:-.025em}.three-grid p{font-size:1rem;color:var(--muted)}.value-symbol{color:var(--blue);font-size:2rem;display:block;margin-bottom:24px;font-weight:400;line-height:1}.values{padding-block:5.5rem 6rem}.features{background:var(--sky)}.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10%;padding-block:var(--space)}.feature+.feature{border-top:1px solid var(--line)}.feature.reverse .feature-copy{order:2}.feature.reverse .feature-image{order:1}.feature-copy p:not(.eyebrow){font-size:1.0625rem;color:var(--muted)}.feature-copy .bubble{margin-top:1.75rem;font-size:.875rem}.feature-image{height:clamp(350px,37vw,500px);border-radius:10px;overflow:hidden}.bubble{--circle:3.25rem;display:inline-flex;position:relative;align-items:center;width:max-content;max-width:100%;padding-right:var(--circle);text-decoration:none;border-radius:3rem;font-size:.9375rem;line-height:1.35;color:var(--white);flex-shrink:0;vertical-align:middle}.bubble-circle{width:var(--circle);height:var(--circle);background:var(--blue);border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:transform .6s var(--ease)}.bubble-circle.first{position:absolute;left:0;transform:scale(0);transform-origin:left}.bubble-circle.last{position:absolute;right:0;transform-origin:right}.bubble-label{background:var(--blue);min-height:var(--circle);display:flex;align-items:center;padding:14px 25px;border-radius:40px;transform:none;min-width:0;transition:transform .6s var(--ease);text-align:center}.bubble svg{width:21px;height:21px;transition:transform .6s var(--ease)}.bubble.light{color:var(--blue)}.bubble.light .bubble-circle,.bubble.light .bubble-label{background:var(--white)}.bubble:focus-visible .bubble-label{transform:translateX(var(--circle))}.bubble:focus-visible .first{transform:scale(1)}.bubble:focus-visible .last{transform:scale(0)}.directory{background:var(--blue);color:var(--white)}.directory .eyebrow,.about-panel .eyebrow,.contact-card .eyebrow{color:var(--white)}.directory .eyebrow:before,.about-panel .eyebrow:before,.contact-card .eyebrow:before{background:var(--gold-soft)}.directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3.5rem}.directory-head h2{margin:0}.directory-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:5%}.directory-grid h3{font-size:.78rem;letter-spacing:.06em;font-weight:400;margin-bottom:1.5rem}.directory-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;padding:21px 0;border-top:1px solid rgba(255,255,255,.35);font-size:1rem;line-height:1.5}.directory-link small{display:block;font-size:.8rem;line-height:1.6;margin-top:8px;opacity:.85}.circle{width:44px;height:44px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;flex-shrink:0;transition:transform .3s}.circle svg{width:19px;height:19px}.directory-link:hover .circle{transform:rotate(45deg)}.about-feature{position:relative;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;isolation:isolate}.about-photo{height:620px;border-radius:10px;overflow:hidden}.about-panel{background:var(--blue);color:var(--white);padding:clamp(2rem,4.5vw,4.5rem);margin-left:-48px;z-index:1;border-radius:8px}.about-panel p:not(.eyebrow){font-size:1rem}.about-panel .bubble{margin-top:1.5rem}.section-intro{max-width:650px;margin-bottom:3rem}.steps{list-style:none;padding:0;margin:0}.steps li{border-top:1px solid var(--line);padding-top:25px}.step-number{display:block;font-size:.8rem;color:var(--blue);margin-bottom:32px}.steps h3{font-size:1.3rem}.process{background:var(--white)}.contact-invite{background:var(--sky);border-radius:28px 28px 0 0;padding-block:var(--space)}.invite-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12%;align-items:center}.invite-grid h2{max-width:650px}.invite-grid p:not(.eyebrow){max-width:600px;color:var(--muted)}.invite-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.invite-actions .bubble{margin-bottom:1rem}.invite-actions>.underline{font-size:.95rem}.site-footer{background:var(--white);padding-top:5rem}.footer-grid{display:grid;grid-template-columns:1fr .65fr 1.4fr 1.1fr;gap:4%;padding-bottom:4.5rem}.footer-brand p{font-size:.9rem;margin-top:1.5rem}.footer-grid h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.5;margin-bottom:1.5rem;color:var(--blue)}.footer-grid>div>a{display:block;font-size:.8rem;margin-bottom:.65rem;line-height:1.6}.footer-grid address{font-size:.875rem;margin-top:1.5rem}.footer-base{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:2rem;font-size:.7rem}.footer-base p{margin:0}.mobile-break{display:none}.page-intro{padding-block:3rem 4.5rem}.page-intro h1{max-width:1000px}.page-intro .standfirst{max-width:740px}.standfirst{font-size:1.125rem;color:var(--muted)}.page-intro .bubble{margin-top:2rem}.service-rows{margin-bottom:5rem}.service-row{display:grid;grid-template-columns:23% 1fr 60px;gap:6%;align-items:center;position:relative;isolation:isolate;border-top:1px solid var(--line);padding:2.5rem 1rem;text-decoration:none;overflow:hidden}.service-row:last-child{border-bottom:1px solid var(--line)}.hover-tile{position:absolute;inset:0;background:var(--sky);z-index:-1;transform:translateY(-101%);transition:transform .4s var(--ease)}.service-row:focus-visible{outline-offset:-3px}.service-row:focus-visible .hover-tile{transform:none!important}.service-row:active{background:var(--sky)}.row-image{aspect-ratio:1.5;overflow:hidden;border-radius:6px;background:var(--sky)}.row-copy h2{font-size:1.7rem;letter-spacing:-.03em}.row-copy p{font-size:1rem;max-width:620px;color:var(--muted)}.row-index{font-size:.7rem;color:var(--blue);display:block;margin-bottom:12px}.service-row .circle{width:56px;height:56px;color:var(--blue)}.abstract-rings{display:block;width:100%;height:100%;background:radial-gradient(circle at 35% 60%,transparent 24%,var(--blue) 24.5%,transparent 25%,transparent 35%,var(--blue) 35.5%,transparent 36%),radial-gradient(circle at 65% 40%,transparent 24%,var(--blue) 24.5%,transparent 25%,transparent 35%,var(--blue) 35.5%,transparent 36%)}.detail-hero{padding-block:3rem 5rem}.detail-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:center}.detail-hero h1{font-size:clamp(2.625rem,4.4vw,4rem)}.detail-hero .bubble{margin-top:2rem}.detail-image{height:360px;border-radius:8px;overflow:hidden}.detail-image:has(img[src*="health"]){height:440px}.service-body{display:grid;grid-template-columns:1fr 2.2fr;gap:9%;border-top:1px solid var(--line);padding-block:5rem}.service-aside{font-size:.85rem;align-self:start;position:sticky;top:2rem}.service-aside>a{display:block;margin-bottom:1.15rem}.aside-contact{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem}.aside-contact p{margin-bottom:.25rem}.aside-contact a{color:var(--blue);text-decoration:none;font-size:1.05rem}.reading{max-width:760px}.reading h2{font-size:2rem}.prose{margin-bottom:3.5rem}.reading p{color:var(--muted);font-size:1.0625rem}.discussion{margin-block:3.5rem}.topic{display:grid;grid-template-columns:35px 1fr;gap:20px;border-top:1px solid var(--line);padding-block:1.75rem}.topic>span{font-size:.75rem;color:var(--blue);padding-top:5px}.topic h3{font-size:1.4rem}.service-note{background:var(--sky);padding:1.75rem 2rem;border-left:3px solid var(--blue)}.service-note h2{font-size:1rem;margin-bottom:1rem}.service-note p{font-size:1rem}.service-body+.process{background:var(--sky);border-radius:28px 28px 0 0}.faq-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:10%}.faqs details{border-top:1px solid var(--line)}.faqs details:last-child{border-bottom:1px solid var(--line)}.faqs summary{display:flex;justify-content:space-between;align-items:center;gap:2rem;list-style:none;cursor:pointer;padding:1.5rem 0;font-size:1.1rem;font-weight:500;line-height:1.5}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:1.5rem;font-weight:400;color:var(--blue)}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details>div{padding-bottom:1.75rem;font-size:1rem;color:var(--muted)}.related{padding-bottom:var(--space)}.related h2{font-size:2rem}.business-art{position:relative;height:100%;background:var(--sky);display:grid;grid-template-columns:1fr 1fr;gap:0;padding:12%}.business-art span{border:1px solid var(--blue);border-radius:50%}.business-art span:nth-child(2){border-style:dashed}.business-art span:nth-child(3){border-color:var(--gold)}.about-story{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center;padding-bottom:var(--space)}.about-story>div:first-child{height:530px;border-radius:8px;overflow:hidden}.about-story p{font-size:1.0625rem;color:var(--muted)}.about-values{background:var(--sky)}.about-values>.container>.eyebrow{margin-bottom:3rem}.ahead-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:10%}.ahead-grid>div{max-width:720px}.ahead-grid .underline{font-size:1rem;display:inline-block;margin-top:1rem}.contact-page{padding-block:3rem var(--space)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:start}.contact-grid h1{font-size:clamp(2.625rem,4.4vw,4rem)}.contact-grid>div>p:not(.eyebrow){font-size:1.0625rem;color:var(--muted)}.contact-method{padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--line)}.contact-method h2{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}.contact-method a{font-size:clamp(1.3rem,2vw,1.8rem);overflow-wrap:anywhere}.contact-card{background:var(--blue);color:var(--white);padding:clamp(2rem,3.5vw,3.5rem);border-radius:12px}.contact-card h2{font-size:2.25rem}.contact-card p{font-size:1rem}.contact-card .bubble{margin-block:1.5rem 2rem}.contact-card .contact-sensitive{font-size:.875rem;line-height:1.7}.office{border-top:1px solid rgba(255,255,255,.4);padding-top:1.5rem;margin-top:2rem}.office h3{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.office address{font-size:1rem}
@media(hover:hover) and (pointer:fine){.bubble:hover .bubble-label{transform:translateX(var(--circle))}.bubble:hover .bubble-circle.first{transform:scale(1)}.bubble:hover .bubble-circle.last{transform:scale(0)}.bubble:hover svg{transform:rotate(45deg)}}
@media(min-width:1600px){.hero-image .photo{height:520px}}
@media(max-width:1199px){.hero-actions{padding:0}.hero-bottom{gap:3rem}.hero-copy{max-width:550px}.hero-image .photo{height:390px}.footer-grid{grid-template-columns:1fr .65fr 1.25fr;gap:4%}.footer-grid>div:last-child{grid-column:3}.footer-brand{grid-row:span 2}.about-photo{height:650px}.feature{gap:7%}.feature-copy .bubble{font-size:.8rem}.feature-copy .bubble-label{padding-inline:18px}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.hero-bottom{align-items:flex-start;flex-direction:column;gap:1.75rem}.hero-actions{flex-direction:row;gap:22px;align-items:center}.hero-copy{max-width:600px}.home-hero h1{font-size:3.5rem}.three-grid{gap:4%}.feature{gap:6%}.feature-copy h2{font-size:2.2rem}.feature-copy .bubble{font-size:.78rem;--circle:2.8rem}.feature-copy .bubble-label{padding-inline:13px}.directory-grid{gap:4%}.directory-link{font-size:.9rem}.directory-link .circle{width:32px;height:32px}.about-panel{margin-left:-30px;padding:2rem}.about-photo{height:620px}.invite-grid{gap:7%}.invite-actions>.underline{font-size:.85rem}.detail-hero-grid{gap:6%;grid-template-columns:1.25fr 1fr}.detail-image{height:300px}.detail-hero .standfirst{font-size:1rem}.service-body{grid-template-columns:1fr}.service-aside{display:none}.faq-grid{gap:6%}.contact-grid{gap:6%}.contact-card{padding:2rem}.contact-card h2{font-size:1.9rem}.about-story{gap:6%}}
@media(max-width:700px){body{font-size:1.0625rem}.container{width:calc(100% - 40px)}.home-hero{padding-top:3rem;padding-bottom:2rem}.home-hero h1{font-size:2.7rem;line-height:1.08;letter-spacing:-.045em;margin-bottom:1.5rem}.home-hero h1 em{white-space:normal}.desktop-break{display:none}.eyebrow{font-size:.65rem;margin-bottom:1.25rem}.orbit{width:230px;height:230px;right:0;top:30px}.hero-copy{font-size:1.0625rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.hero-actions>.underline{font-size:.875rem}.hero-image{border-radius:8px}.hero-image .photo{height:360px;aspect-ratio:1/1;object-position:62% 65%!important}.values{padding-block:3.5rem}.three-grid{grid-template-columns:1fr;gap:2.5rem}.values article{display:grid;grid-template-columns:36px 1fr;gap:0 16px}.value-symbol{grid-row:span 2;margin:0;font-size:1.8rem}.values h2{font-size:1.35rem;margin-bottom:.7rem}.three-grid p{font-size:1.0625rem}.rounded{border-radius:20px 20px 0 0}.feature{grid-template-columns:1fr;gap:2.25rem;padding-block:3.5rem}.feature.reverse .feature-copy,.feature.reverse .feature-image{order:initial}.feature-copy h2{font-size:2.3rem}.feature-copy p:not(.eyebrow){font-size:1.0625rem}.feature-copy .bubble{--circle:3rem;font-size:.8rem;margin-top:1rem}.feature-copy .bubble-label{padding-inline:16px}.feature-image{height:350px;border-radius:8px}.directory-head{align-items:flex-start;flex-direction:column;gap:1.75rem;margin-bottom:2.5rem}.directory-head h2{font-size:2.4rem}.directory-grid{grid-template-columns:1fr;gap:2.5rem}.directory-grid h3{font-size:.8rem;margin-bottom:1rem}.directory-link{font-size:1.0625rem;padding-block:20px}.directory-link .circle{width:44px;height:44px}.about-feature{grid-template-columns:1fr;padding-block:3.5rem}.about-photo{height:330px;border-radius:8px 8px 0 0}.about-panel{margin:0;padding:2rem;border-radius:0 0 8px 8px}.about-panel h2{font-size:2.2rem}.about-panel p:not(.eyebrow){font-size:1.0625rem}.section-intro{margin-bottom:2.5rem}.steps{gap:2rem}.step-number{margin-bottom:20px}.steps h3{font-size:1.3rem}.invite-grid{grid-template-columns:1fr;gap:2rem}.invite-grid h2{font-size:2.4rem}.invite-actions>.underline{font-size:.95rem}.contact-invite{border-radius:20px 20px 0 0}.site-footer{padding-top:3.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem;padding-bottom:3rem}.footer-brand{grid-column:1/-1;grid-row:auto;display:flex;align-items:center;gap:1.75rem}.footer-brand img{width:85px;height:85px}.footer-brand p{margin:0;font-size:.875rem}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div>a{font-size:.875rem}.footer-grid h2{font-size:.7rem;margin-bottom:1.25rem}.footer-base{align-items:flex-start;font-size:.65rem;gap:1rem}.footer-base>a{white-space:nowrap}.mobile-break{display:block}.page-intro,.detail-hero{padding-block:2rem 3.5rem}.page-intro h1{font-size:2.625rem}.standfirst{font-size:1.0625rem}.service-row{grid-template-columns:1fr 44px;gap:1.25rem;padding:1.75rem 0}.row-image{width:100%;height:180px;grid-column:1/-1}.row-copy h2{font-size:1.45rem}.row-copy p{font-size:1rem}.service-row .circle{width:42px;height:42px}.row-index{margin-bottom:8px}.service-rows{margin-bottom:3.5rem}.detail-hero-grid{grid-template-columns:1fr;gap:2.5rem}.detail-hero h1{font-size:2.625rem}.detail-hero .standfirst{font-size:1.0625rem}.detail-image,.detail-image:has(img[src*="health"]){height:300px}.detail-hero .bubble{margin-top:1.25rem}.service-body{padding-block:3.5rem;gap:0}.reading h2{font-size:1.9rem}.reading p{font-size:1.0625rem}.prose{margin-bottom:2.5rem}.discussion{margin-block:2.5rem}.topic{gap:12px;grid-template-columns:25px 1fr;padding-block:1.5rem}.topic h3{font-size:1.3rem}.service-note{padding:1.5rem}.service-note h2{font-size:1rem}.service-note p{font-size:1rem}.faq-grid{grid-template-columns:1fr;gap:1.5rem}.faq-grid h2{font-size:2.3rem}.faqs summary{font-size:1.0625rem;gap:1rem}.faqs details>div{font-size:1.0625rem}.related h2{font-size:1.9rem}.about-story{grid-template-columns:1fr;gap:2.5rem}.about-story>div:first-child{height:350px}.about-story p{font-size:1.0625rem}.about-values .three-grid{gap:2rem}.about-values .three-grid article{border-top:1px solid var(--line);padding-top:20px}.about-values h2{font-size:1.4rem}.ahead-grid{grid-template-columns:1fr;gap:.5rem}.ahead-grid .underline{font-size:.9375rem}.contact-page{padding-top:2rem}.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-grid h1{font-size:2.625rem}.contact-card h2{font-size:2rem}.contact-method a{font-size:1.5rem}.contact-card p{font-size:1.0625rem}.contact-sensitive{font-size:.9375rem!important}}
@media(max-width:359px){.container{width:calc(100% - 32px)}.home-hero h1,.page-intro h1,.detail-hero h1,.contact-grid h1{font-size:2.35rem}.feature-copy .bubble{font-size:.72rem;--circle:2.8rem}.feature-copy .bubble-label{padding-inline:12px}.about-panel,.contact-card{padding:1.5rem}.hero-image .photo{height:320px}.footer-grid{gap:2rem 1rem}.footer-grid>div>a{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.bubble:hover .bubble-label,.bubble:focus-visible .bubble-label{transform:none}.bubble:hover .first,.bubble:focus-visible .first{transform:scale(0)}.bubble:hover .last,.bubble:focus-visible .last{transform:scale(1)}.bubble svg,.circle{transform:none!important}.service-row:hover{background:var(--sky)}}

/* October review: more photography, blue sections and a compact fixed header. */
:root{--header-height:104px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
body{padding-top:var(--header-height)}
.service-aside{top:calc(var(--header-height) + 28px)}
.dark-panel,.faq-section,.site-footer{background:var(--blue);color:var(--white)}
.dark-panel .eyebrow,.dark-panel em,.dark-panel .standfirst,.dark-panel .hero-copy,.dark-panel .three-grid p{color:var(--white)}
.dark-panel .eyebrow:before{background:var(--gold-soft)}
.dark-panel .standfirst,.dark-panel .hero-copy{opacity:.9}
.dark-panel :focus-visible,.site-footer :focus-visible,.faq-section :focus-visible{outline-color:var(--white)}
.home-intro{padding-bottom:5rem}
.home-intro .orbit{border-color:rgba(255,255,255,.22)}
.home-intro .orbit:after{border-color:rgba(255,255,255,.12)}
.home-intro .hero-image{border-radius:10px}
.interior-intro .page-intro{padding-bottom:5rem}
.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:center}
.intro-grid h1{font-size:clamp(2.625rem,4.4vw,4rem)}
.intro-photo{height:410px;overflow:hidden;border-radius:9px}
.detail-hero{padding-bottom:5rem}
.detail-image{height:390px}
.detail-image:has(img[src*="health"]),.detail-image:has(img[src*="highstreet"]){height:450px}
.service-rows{padding-top:2rem}
.service-body{border-top:0}
.service-story-image{margin:0 0 3.5rem;border-radius:9px;overflow:hidden;height:380px}
.service-story-image:has(img[src*="care"]){height:450px}
.photo-process{background:var(--sky)}
.process-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center}
.process-image{height:640px;border-radius:10px;overflow:hidden}
.photo-process .section-intro{margin-bottom:2rem}
.photo-process .steps{grid-template-columns:1fr;gap:1.4rem}
.photo-process .steps li{display:grid;grid-template-columns:34px 1fr;column-gap:16px;padding-top:20px}
.photo-process .step-number{grid-row:span 2;margin:0;padding-top:3px}
.photo-process .steps h3{margin-bottom:.5rem}
.photo-process .steps p{grid-column:2;font-size:1rem}
.faq-section .eyebrow,.faq-section .faqs summary span,.faq-section .faqs details>div{color:var(--white)}
.faq-section .eyebrow:before{background:var(--gold-soft)}
.faq-section .faqs details{border-color:rgba(255,255,255,.35)}
.faq-section+.related{padding-top:var(--space)}
.about-story{padding-top:var(--space)}
.about-values .step-number{color:var(--white)}
.ahead-grid{grid-template-columns:1fr 1fr;align-items:center}
.ahead-photo{height:480px;border-radius:9px;overflow:hidden}
/* Every footer has a pale or white section immediately before it. */
.contact-invite{background:var(--sky)}
main>.process:last-child{background:var(--white)}
.site-footer{padding-top:4.5rem}
.footer-grid{grid-template-columns:1.4fr .8fr 1fr;gap:12%;padding-bottom:3.5rem}
.footer-grid>div:last-child{grid-column:auto}
.footer-brand{grid-row:auto}
.footer-logo{display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:var(--white)}
.footer-logo img{width:98px;height:98px}
.footer-grid h2{color:var(--white)}
.footer-grid>div>a{font-size:.95rem;margin-bottom:.85rem}
.footer-brand p,.footer-grid address{font-size:1rem}
.footer-base{border-color:rgba(255,255,255,.35)}
/* Contact layout: usable direct links and a form awaiting the agreed endpoint. */
.contact-grid{grid-template-columns:1.25fr 1fr;gap:10%}
.contact-intro h1{font-size:clamp(2.625rem,3.8vw,3.6rem)}
.contact-right{min-width:0}
.contact-card{border-radius:10px 10px 0 0;padding:clamp(2rem,3.2vw,3rem)}
.contact-card .contact-method{border-color:rgba(255,255,255,.35)}
.contact-card .contact-method h3{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.9rem}
.contact-card .contact-method a{font-size:clamp(1.2rem,1.9vw,1.7rem)}
.contact-photo{height:340px;border-radius:0 0 10px 10px;overflow:hidden}
.enquiry-form{margin-top:2.5rem}
.enquiry-form h2{font-size:1.55rem;letter-spacing:-.03em;margin-bottom:1.6rem}
.form-field{margin-bottom:1.35rem;min-width:0}
.form-field label,.contact-preference legend{display:block;font-size:.9rem;font-weight:500;margin-bottom:.55rem}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;max-width:100%;border:1px solid var(--grey);border-radius:4px;background:var(--white);color:var(--ink);padding:12px 14px;min-height:50px;font:inherit;font-size:1rem;line-height:1.5}
.form-field textarea{resize:vertical;min-height:130px}
.form-field select{text-overflow:ellipsis;padding-right:25px}
.form-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-preference{border:0;padding:0;margin:0 0 1.35rem;display:flex;gap:22px;flex-wrap:wrap}
.contact-preference legend{padding:0;margin-bottom:.6rem}
.contact-preference label{display:flex;align-items:center;gap:8px;font-size:1rem;min-height:40px}
.contact-preference input{width:19px;height:19px;accent-color:var(--blue)}
.optional{font-weight:400;font-size:.8rem;color:var(--muted)}
.form-help,.form-status{font-size:.875rem;line-height:1.6;color:var(--muted)}
.form-submit{cursor:pointer;display:flex;align-items:center;gap:30px;border:0;border-radius:35px;padding:15px 24px;font:inherit;font-size:1rem;background:var(--blue);color:var(--white);margin:1.5rem 0 1rem}
.form-submit:disabled{cursor:not-allowed;opacity:.6}
.form-status{border-left:2px solid var(--grey);padding-left:14px;max-width:500px}
@media(max-width:1199px){.footer-grid{gap:8%}.intro-grid{gap:6%}.process-layout{gap:7%}.contact-grid{gap:7%}.process-image{height:620px}}
@media(max-width:800px){.intro-grid h1{font-size:2.8rem}.intro-photo{height:380px}.footer-grid{grid-template-columns:1fr .75fr 1.2fr;gap:5%}.footer-brand p,.footer-grid address{font-size:.9rem}.footer-grid>div>a{font-size:.85rem}.process-layout{gap:6%}.process-image{height:650px}.form-contact-fields{grid-template-columns:1fr;gap:0}.contact-card{padding:1.75rem}.contact-card .contact-method a{font-size:1.2rem}}
@media(max-width:700px){:root{--header-height:96px}.home-intro{padding-bottom:2.5rem}.intro-grid{grid-template-columns:1fr;gap:2.5rem}.intro-grid h1{font-size:2.625rem}.intro-photo{height:290px}.interior-intro .page-intro{padding-bottom:2.5rem}.detail-hero{padding-bottom:2.5rem}.detail-image,.detail-image:has(img[src*="health"]),.detail-image:has(img[src*="highstreet"]){height:320px}.service-story-image,.service-story-image:has(img[src*="care"]){height:290px;margin-bottom:2.5rem}.process-layout{grid-template-columns:1fr;gap:2.5rem}.process-image{height:390px}.photo-process .steps p{font-size:1.0625rem}.photo-process .steps{gap:1.5rem}.photo-process .steps li{grid-template-columns:25px 1fr;column-gap:12px}.faq-section{border-radius:20px 20px 0 0}.ahead-grid{grid-template-columns:1fr;gap:2.5rem}.ahead-photo{height:320px}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-logo{width:90px;height:90px;flex-shrink:0}.footer-logo img{width:76px;height:76px}.footer-grid>div>a{font-size:.875rem;overflow-wrap:anywhere}.footer-grid address{font-size:.875rem}.footer-brand p{font-size:1rem}.site-footer{padding-top:3.5rem}.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-intro h1{font-size:2.625rem}.contact-card{padding:2rem}.contact-card .contact-method a{font-size:1.5rem}.contact-photo{height:300px}.form-contact-fields{grid-template-columns:1fr;gap:0}.enquiry-form{margin-top:2rem}.form-field label,.contact-preference legend{font-size:.95rem}.form-help,.form-status{font-size:.9rem}}
@media(max-width:359px){.intro-grid h1,.contact-intro h1{font-size:2.35rem}.contact-card{padding:1.5rem}.contact-card .contact-method a{font-size:1.25rem}.footer-grid{gap:2rem 1rem}.footer-grid>div>a,.footer-grid address{font-size:.8rem}}
.process-image:has(img[src*="family-home"]){height:auto;aspect-ratio:3/2}

/* Photography refresh: small landscape values and a white panel on brand blue. */
.value-thumbnail{width:200px;max-width:100%;aspect-ratio:16/9;margin-bottom:26px;overflow:hidden;border-radius:6px}
.value-thumbnail .photo{height:100%;width:100%}
.about-band{background:var(--blue)}
.about-feature{grid-template-columns:1.3fr 1fr}
.about-photo{height:auto;aspect-ratio:3/2}
.about-panel{background:var(--white);color:var(--ink);margin-left:-40px}
.about-panel .eyebrow{color:var(--blue)}
.about-panel .eyebrow:before{background:var(--gold)}
.about-panel :focus-visible{outline-color:var(--blue)}
.process-image{height:auto;aspect-ratio:3/2}
@media(max-width:1199px){.priority-nav{display:none}.header-contact{margin-left:0}}
@media(max-width:800px){.about-feature{grid-template-columns:1.2fr 1fr}.about-panel{padding:2rem}.about-photo{aspect-ratio:1/1}.process-layout{grid-template-columns:1fr;gap:2.5rem}.process-image{max-width:680px;width:100%}.photo-process .steps{max-width:680px}}
@media(max-width:700px){.header-actions{gap:20px}
 .drawer-top{padding:20px}.drawer-content{padding:28px 24px}.drawer-menu .drawer-link{font-size:2rem;padding-block:14px}.drawer-featured{margin-block:30px}.drawer-sheet .drawer-content{padding:22px 20px 28px 24px}.drawer-sheet .drawer-link{font-size:1.2rem;padding-block:15px}.drawer-sheet h2{font-size:1.8rem}.drawer-all{font-size:.85rem}.drawer-edge{padding-top:34px}.drawer-contact a{font-size:1rem}
 .values article{display:block}.value-thumbnail{width:160px;margin-bottom:20px}.values .three-grid{gap:2.75rem}
 .about-feature{grid-template-columns:1fr}.about-photo{height:auto;aspect-ratio:3/2}.about-panel{margin:0}.process-image{height:auto;aspect-ratio:3/2}.footer-logo{width:90px;height:90px}.footer-logo img{width:100%;height:100%}
 main>.contact-page:first-child,main>.page-intro:first-child{padding-top:calc(var(--header-height) + 2rem)}
}
@media(max-width:359px){.header-actions{gap:12px}.header-contact{font-size:.8rem}.drawer-top{padding:16px}.drawer-top>span{font-size:.7rem}.drawer-sheet .drawer-content{padding-right:16px}.drawer-sheet .drawer-link{font-size:1.1rem}}

/* Floating navigation. The announcement strip is part of normal page flow. */
:root{--header-height:80px;--navigation-top:29px}
body{padding-top:0}
main>:first-child{padding-top:var(--header-height)}
main>.contact-page:first-child,main>.page-intro:first-child{padding-top:calc(var(--header-height) + 3rem)}
.utility{background:var(--sky);color:var(--ink);font-size:.73rem;line-height:1.4;padding:6px 0}
[data-initial-theme="dark"]>.utility{background:var(--blue);color:var(--white)}
.utility-inner,.utility-inner>div{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.utility a{text-decoration:none}
.drawer-nav{--drawer-nav-width:30rem;--drawer-nav-edge:3.5rem;position:relative;z-index:100;color:var(--ink)}
.site-chrome{position:fixed;top:var(--navigation-top);left:0;right:0;z-index:102;pointer-events:none;background:transparent;color:var(--blue);border:0;box-shadow:none;backdrop-filter:none}
[data-theme-nav="dark"] .site-chrome{color:var(--white)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.brand{position:relative;width:56px;height:56px;display:block;flex-shrink:0;pointer-events:auto}
.brand img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .25s}
.brand-white{opacity:0}
[data-theme-nav="dark"] .brand-white{opacity:1}
[data-theme-nav="dark"] .brand-standard{opacity:0}
.drawer-nav__actions{display:flex;align-items:center;gap:4px;pointer-events:auto;font-size:.875rem}
.drawer-nav__contact{color:inherit;text-decoration:none;border-radius:100px;padding:12px 16px;line-height:1.2;transition:background-color .3s var(--ease)}
.drawer-nav__contact:hover,.drawer-nav__contact:focus-visible{background:rgba(165,166,170,.16)}
.drawer-nav__toggle{display:flex;align-items:center;gap:10px;border:0;border-radius:100px;background:var(--blue);color:var(--white);padding:14px 20px;min-height:44px;font:inherit;line-height:1;transition:background-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
[data-theme-nav="dark"] .drawer-nav__toggle{background:var(--white);color:var(--blue)}
.drawer-nav__toggle-text{display:flex;flex-direction:column;height:1em;overflow:hidden}
.drawer-nav__toggle-label{display:block;line-height:1;transition:transform .5s var(--ease)}
.drawer-nav__toggle-icon{display:flex;flex-direction:column;gap:4px;width:14px}
.drawer-nav__toggle-bar{display:block;height:1.6px;width:100%;background:currentColor;transition:transform .35s ease}
.drawer-nav__toggle:hover{transform:scale(1.04)}
.drawer-nav__toggle:active{transform:scale(.97)}
.drawer-nav__toggle:hover .drawer-nav__toggle-bar:first-child{transform:translateY(-1px)}
.drawer-nav__toggle:hover .drawer-nav__toggle-bar:last-child{transform:translateY(1px)}
[data-drawer-nav-open="true"] .drawer-nav__toggle-label{transform:translateY(-100%)}
[data-drawer-nav-open="true"] .drawer-nav__toggle-icon .drawer-nav__toggle-bar:first-child{transform:translateY(2.8px) rotate(45deg)}
[data-drawer-nav-open="true"] .drawer-nav__toggle-icon .drawer-nav__toggle-bar:last-child{transform:translateY(-2.8px) rotate(-45deg)}
[data-drawer-nav-open="true"] .drawer-nav__toggle{background:var(--blue);color:var(--white)}
[data-drawer-nav-open="true"] .drawer-nav__contact{opacity:0;pointer-events:none}
.site-chrome :focus-visible{outline-color:currentColor}
.drawer-nav__backdrop{position:fixed;inset:0;z-index:100;background:rgba(20,22,28,.4);opacity:0;visibility:hidden;cursor:pointer}
.drawer-nav__drawer{position:fixed;inset:0 0 0 auto;z-index:101;width:min(var(--drawer-nav-width),100%);height:100dvh;overflow:hidden;visibility:hidden;background:var(--white)}
.drawer-nav__content{height:100%;display:flex;flex-direction:column;gap:28px;padding:calc(var(--navigation-top) + var(--header-height) + 24px) 32px 28px;overflow:auto;overscroll-behavior:contain}
.drawer-nav__list,.drawer-nav__service-list{display:flex;flex-direction:column;gap:0}
.drawer-nav__link{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:8px 0;min-height:44px;border:0;background:none;color:var(--ink);text-align:left;text-decoration:none;font-size:2rem;line-height:1.2;letter-spacing:-.03em;transition:color .3s var(--ease)}
.drawer-nav__link>svg{width:20px;height:20px;flex-shrink:0;transition:transform .3s var(--ease)}
.drawer-nav__link:hover,.drawer-nav__link:focus-visible{color:rgba(20,22,28,.65)}
.drawer-nav__link:hover>svg{transform:translateX(3px)}
.drawer-nav__link[aria-current="page"]{color:var(--blue)}
.drawer-nav__promos{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:16px}
.drawer-nav__promo{display:flex;align-items:stretch;gap:16px;padding:8px;background:var(--sky);color:var(--ink);border-radius:8px;text-decoration:none;transition:background-color .3s var(--ease)}
.drawer-nav__promo:hover,.drawer-nav__promo:focus-visible{background:#d8e4f5}
.drawer-nav__promo-visual{display:block;width:96px;min-height:96px;flex-shrink:0;overflow:hidden;border-radius:4px;position:relative}
.drawer-nav__promo-visual img{position:absolute;inset:0}
.drawer-nav__promo-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;padding:6px 8px 6px 0}
.drawer-nav__promo-title{font-size:1rem;font-weight:500;line-height:1.3}
.drawer-nav__promo-desc{font-size:.8rem;line-height:1.4;color:var(--muted)}
.drawer-nav__promo--blue,.drawer-nav__promo--blue:hover,.drawer-nav__promo--blue:focus-visible{background:var(--blue);color:var(--white)}
.drawer-nav__promo--blue .drawer-nav__promo-desc{color:var(--white);opacity:.9}
.drawer-nav__promo-cta{font-size:.78rem;line-height:1.3;text-decoration:underline;text-underline-offset:4px;margin-top:3px}
.drawer-nav__footer{display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--line);padding-top:18px}
.drawer-nav__footer a{font-size:.8rem;color:var(--muted);text-decoration:none;line-height:1.5}
.drawer-nav__footer a:hover{text-decoration:underline;text-underline-offset:4px}
.drawer-nav__sheet{position:absolute;inset:0 0 0 var(--drawer-nav-edge);z-index:2;background:var(--white);border-left:1px solid var(--line);box-shadow:-16px 0 32px rgba(20,22,28,.06);visibility:hidden}
.drawer-nav__sheet .drawer-nav__content{gap:24px}
.drawer-nav__head{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.drawer-nav__head h2{font-size:2.25rem;margin:0;line-height:1.1}
.drawer-nav__back{display:flex;align-items:center;gap:4px;min-height:44px;margin-top:-12px;margin-left:-6px;padding:0;border:0;background:none;color:var(--muted);font-size:.875rem;cursor:pointer}
.drawer-nav__back svg{width:20px;height:20px;transform:rotate(180deg)}
.drawer-nav__back:hover{color:var(--blue)}
.drawer-nav__service-list .drawer-nav__link{font-size:1.25rem;line-height:1.35;padding-block:10px}
.drawer-nav__more{font-size:.875rem;text-underline-offset:5px;align-self:flex-start}
.drawer-nav__edge{position:absolute;inset:0 auto 0 0;z-index:1;width:var(--drawer-nav-edge);padding:calc(var(--navigation-top) + var(--header-height) + 30px) 0 24px;display:flex;justify-content:center;align-items:flex-start;border:0;background:var(--sky);visibility:hidden;opacity:0;color:var(--ink);transition:background-color .2s}
.drawer-nav__edge svg{width:20px;height:20px;transform:rotate(180deg)}
.drawer-nav__edge:hover{background:#d8e4f5}
.nojs-nav{padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;background:var(--white);color:var(--ink)}
.skip{z-index:200}
.footer-logo{background:none;border-radius:0;width:110px;height:110px}
.footer-logo img{width:100%;height:100%}

/* Layout refinements from the October review. */
.bubble.outline{color:var(--white)}
.bubble.outline .bubble-label,.bubble.outline .bubble-circle{background:transparent;border:1px solid currentColor}
.bubble.outline .bubble-label{padding-block:13px}
.invite-actions .bubble{margin:16px 0 0}
.home-page .home-hero{padding-top:2.5rem}
.home-page .process{background:var(--white)}
.process-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:12%;align-items:stretch}
.process-image{position:relative;aspect-ratio:auto;height:auto;min-height:0;max-width:none}
.process-image .photo{position:absolute;inset:0;height:100%;object-position:50% 50%!important}
.interior-page main>section[data-theme-section]{border-radius:0}
.about-feature{grid-template-columns:1.3fr 1fr}
.about-photo{aspect-ratio:4/3;height:auto}
.ahead-photo:has(img[src*="friends"]){height:auto;aspect-ratio:3/2}
.detail-image:has(img[src*="family-portrait"]){height:560px}
.faqs details[data-animating]{overflow:hidden}
.faqs summary span{transition:transform .3s var(--ease)}
.faqs details[data-expanded="true"] summary span{transform:rotate(45deg)}
.faqs details[data-expanded="false"] summary span{transform:rotate(0)}
@media(max-width:800px){
 .process-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:6%}
 .photo-process .section-intro h2{font-size:2rem}
}
@media(max-width:700px){
 :root{--header-height:72px;--navigation-top:27px}
 .utility{font-size:.65rem}.utility-inner>span{display:none}.utility-inner>div{width:100%;justify-content:space-between;gap:1rem}
 .header-inner{padding:10px 0;gap:1rem}.brand{width:52px;height:52px}
 .drawer-nav{--drawer-nav-width:100%;--drawer-nav-edge:2.75rem}
 .drawer-nav__content{padding:calc(var(--navigation-top) + var(--header-height) + 20px) 20px 20px;gap:24px}
 .drawer-nav__link{font-size:1.75rem;padding-block:7px}
 .drawer-nav__promos{gap:10px;padding-top:12px}.drawer-nav__promo{gap:12px}.drawer-nav__promo-visual{width:80px;min-height:90px}.drawer-nav__promo-title{font-size:.9375rem}.drawer-nav__promo-desc{font-size:.75rem}.drawer-nav__promo-cta{font-size:.75rem}
 .drawer-nav__service-list .drawer-nav__link{font-size:1.125rem;padding-block:10px}.drawer-nav__head h2{font-size:1.9rem}
 .drawer-nav__toggle{padding:13px 18px}.drawer-nav__contact{padding:12px}
 [data-drawer-nav-open="true"] .brand{opacity:0}
 .home-page .home-hero{padding-top:2.25rem}
 .process-layout{grid-template-columns:1fr;gap:2.5rem}
 .process-image{aspect-ratio:698/852;max-height:580px;width:100%}
 .photo-process .section-intro h2{font-size:2rem}
 .about-feature{grid-template-columns:1fr}
 .about-photo{aspect-ratio:3/2}
 .detail-image:has(img[src*="family-portrait"]){height:auto;aspect-ratio:2/3}
 .footer-logo{width:90px;height:90px}
 main>.contact-page:first-child,main>.page-intro:first-child{padding-top:calc(var(--header-height) + 2rem)}
}
@media(max-width:359px){.drawer-nav__contact{font-size:.8rem;padding-inline:10px}.drawer-nav__toggle{padding-inline:15px}.drawer-nav__promo-visual{width:65px}.drawer-nav__promo{gap:10px}.drawer-nav__promo-title{font-size:.875rem}.drawer-nav__sheet .drawer-nav__content{padding-inline:16px}.drawer-nav__service-list .drawer-nav__link{font-size:1.05rem}}
.service-story-image:has(img[src*="car-family"]),.service-story-image:has(img[src*="friends"]){height:auto;aspect-ratio:3/2}
html{scrollbar-gutter:stable}
.drawer-nav__toggle:focus-visible{outline-color:var(--blue)}
[data-theme-nav="dark"] .drawer-nav__toggle:focus-visible{outline-color:var(--white)}
[data-drawer-nav-open="true"] .drawer-nav__toggle:focus-visible{outline-color:var(--blue)}

/* Related services use the same compact photographic treatment as the drawer. */
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:2rem}
.related-card{display:flex;align-items:stretch;gap:24px;padding:12px;border-radius:8px;background:var(--sky);color:var(--ink);text-decoration:none;transition:background-color .3s var(--ease)}
.related-card:hover,.related-card:focus-visible{background:#d8e4f5}
.related-card__image{position:relative;width:clamp(96px,11vw,144px);min-height:160px;flex-shrink:0;overflow:hidden;border-radius:4px}
.related-card__image img{position:absolute;inset:0}
.related-card__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:12px 12px 12px 0;min-width:0}
.related-card h3{font-size:clamp(1.125rem,1.6vw,1.5rem);line-height:1.3;margin:0}
.related-card__cta{font-size:.875rem;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.related-card{gap:16px}.related-card__copy{padding-right:0}}
@media(max-width:700px){.related-grid{grid-template-columns:1fr;gap:16px}.related-card{padding:8px}.related-card__image{width:100px;min-height:128px}.related-card__copy{gap:12px;padding-right:8px}.related-card__cta{font-size:.8rem}}

/* Service discovery: edge-to-edge overflow with native touch and GSAP mouse drag. */
.services-slider{--slider-content:min(88vw,1320px);--slider-gutter:calc((100% - var(--slider-content))/2);--slider-gap:24px}
.services-slider .directory-head{align-items:center}
.services-slider .directory-head h2{max-width:700px}
.service-slider-track{display:flex;gap:var(--slider-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;list-style:none;padding:8px var(--slider-gutter) 24px;margin:0;scroll-padding-inline:var(--slider-gutter);cursor:grab}
.service-slider-track::-webkit-scrollbar{display:none}
.service-slider-track.is-sliding,.service-slider-track.is-dragging{scroll-snap-type:none}
.service-slider-track.is-dragging,.service-slider-track.is-dragging *{cursor:grabbing;user-select:none}
.service-slider-track img{-webkit-user-drag:none;user-select:none}
.service-slide{display:flex;flex:0 0 calc((var(--slider-content) - 48px)/3);min-width:0;scroll-snap-align:start}
.service-slide__link{display:flex;flex-direction:column;width:100%;background:var(--white);color:var(--ink);border-radius:8px;text-decoration:none;overflow:hidden;cursor:inherit;transition:background-color .18s ease}
.service-slide__link:focus-visible{outline:3px solid var(--blue);outline-offset:-5px;border-radius:8px}
.service-slider-track:focus-visible{outline:2px solid var(--gold-soft);outline-offset:-2px}
.service-slide__image{aspect-ratio:16/10;overflow:hidden;flex-shrink:0}
.service-slide__image img{transform:none}
.service-slide__copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:28px}
.service-slide__number{color:var(--blue);font-size:.75rem;margin-bottom:14px}
.service-slide h3{font-size:1.45rem;line-height:1.25;margin-bottom:16px}
.service-slide p{font-size:.9375rem;color:var(--muted);margin-bottom:24px}
.service-slide__cta{display:flex;align-items:center;gap:14px;margin-top:auto;font-size:.875rem;color:var(--blue)}
.service-slide__cta svg{width:18px;height:18px}
.service-slider-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
.service-slider-hint{font-size:.875rem;margin:0;opacity:.85}
.service-slider-controls:not([hidden]){display:flex;align-items:center;gap:12px}
.slider-arrow{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--white);border-radius:50%;color:var(--white);background:transparent;flex-shrink:0;transition:background .2s,color .2s}
.slider-arrow.previous svg{transform:rotate(-135deg)}
.slider-arrow.next svg{transform:rotate(45deg)}
.slider-arrow:hover:not([aria-disabled="true"]){background:var(--white);color:var(--blue)}
.slider-arrow[aria-disabled="true"]{opacity:.35;cursor:default}
.features-backdrop{background:var(--blue)}
.feature-tag{display:inline-block;padding:6px 12px;border:1px solid var(--blue);border-radius:100px;color:var(--blue);font-size:.7rem;letter-spacing:.05em;margin-bottom:20px}
.service-guide{padding-top:2.5rem;border-top:1px solid var(--line)}
.reading .discussion>.eyebrow{font-size:.75rem;letter-spacing:.13em;line-height:1.6}
.service-aside{max-height:calc(100dvh - var(--header-height) - 60px);overflow:auto;padding:6px 8px 6px 6px;margin-left:-6px}
@media(hover:hover) and (pointer:fine){.service-slide__link:hover{background:var(--sky)}.service-slider-track.is-dragging .service-slide__link{background:var(--white)}}
@media(max-width:1000px){.service-slide{flex-basis:calc((var(--slider-content) - 24px)/2)}}
@media(max-width:700px){.services-slider{padding-top:5.5rem}.services-slider .directory-head{align-items:flex-start}.services-slider{--slider-gap:16px;--slider-content:calc(100vw - 40px)}.service-slide{flex-basis:82vw}.service-slide__copy{padding:24px}.service-slide h3{font-size:1.35rem}.service-slider-footer{align-items:flex-start;flex-direction:column;gap:20px}.service-slider-controls:not([hidden]){align-self:flex-end}.service-guide{padding-top:2rem}.feature-tag{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.service-slide__image img,.service-slide__cta svg{transition:none}.service-slider-track{scroll-behavior:auto}}

/* Photographic pauses in longer service guides and small About principles. */
.service-guide-image{aspect-ratio:16/9;margin:2.5rem 0 0;border-radius:8px;overflow:hidden}
.service-guide-image .photo{display:block}
.about-values .value-thumbnail{width:min(100%,220px);aspect-ratio:16/9;margin-bottom:24px}
.about-values .step-number{margin-bottom:16px}
@media(max-width:700px){.service-guide-image{margin-top:2rem}.about-values .value-thumbnail{width:180px}}

/* Contact details precede the form in the document and on small screens. */
.contact-grid{grid-template-areas:"intro details" "form details";grid-template-rows:auto 1fr;row-gap:0}
.contact-intro{grid-area:intro}
.contact-form-side{grid-area:form}
.contact-right{grid-area:details}
@media(max-width:700px){.contact-grid{grid-template-areas:"intro" "details" "form";grid-template-rows:auto;row-gap:2.5rem}.contact-form-side .enquiry-form{margin-top:0}}
@media(prefers-reduced-motion:reduce){.service-slide__link{transition:none}}

/* Enquiry delivery states retain the site's brand palette. */
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-delivery-note{margin-top:.65rem}
.form-status[hidden]{display:none}
.form-status[data-state="success"]{border-color:var(--blue);color:var(--blue)}
.form-status[data-state="error"]{border-color:var(--gold);color:var(--ink)}
.form-field [aria-invalid="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.form-submit:not(:disabled):hover{background:var(--ink)}
.enquiry-form[aria-busy="true"] .form-submit{cursor:wait}
