/* Shared editorial rhythm: one image treatment and two content-led sizes. */
.sp-editorial-image{margin:0;min-width:0;overflow:hidden;border-radius:14px}
.sp-editorial-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:var(--sp-image-position,50% 50%)}

/* Header and footer details retain their approved dimensions and colours. */
body .site-header .sp-header-nvm{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:56px;flex-shrink:0;margin-left:0;text-decoration:none}
body .site-header .sp-header-nvm img{display:block;width:26px;height:52px;object-fit:contain}
body .site-header .sp-header-nvm:focus-visible{outline:2px solid #EC671A;outline-offset:3px}
.sp-footer-marks img{width:16px;height:32px;object-fit:contain}
body .site-footer .sp-footer-social-pending{display:flex;align-items:center;justify-content:center;width:36px;min-height:36px;color:#E7E9DF}
body .site-footer .sp-footer-social-pending svg{width:17px;height:17px;display:block}
body:is(.sp-preview,.sp-design) .sp-section-transition:has(+.site-footer){box-sizing:content-box;height:18px;min-height:0;background:#C3CBB7;border:0;border-top:1px solid #EC671A;margin:0!important;padding:0!important}

/* Image landscapes: height is a floor, never a crop of text or an artificial spacer. */
.sp-image-band{position:relative;isolation:isolate;overflow:hidden;background:#394D42;color:#E7E9DF}
.sp-image-band>.sp-band-image{position:absolute!important;inset:0;margin:0!important;width:100%;height:100%;max-width:none;border-radius:0;z-index:0}
.sp-image-band>.sp-band-image img{width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover;object-position:var(--sp-image-position,50% 50%)}
.sp-image-band::before{content:"";position:absolute;inset:0;background:rgba(57,77,66,var(--sp-band-opacity,.78));z-index:1;pointer-events:none}
.sp-image-band>:not(.sp-band-image){position:relative;z-index:2}
.sp-green-section--md{--sp-green-min:440px;--sp-green-space:64px}
.sp-green-section--lg{--sp-green-min:560px;--sp-green-space:72px}
body:is(.sp-preview,.sp-design) main .sp-green-section.sp-image-band{box-sizing:border-box;min-height:var(--sp-green-min);padding-block:var(--sp-green-space)}
body:is(.sp-preview,.sp-design) .sp-service-page>.sp-green-section{display:flex;align-items:center}
body .sp-green-section>.wrap{width:min(1420px,calc(100% - 2*clamp(20px,5.2vw,96px)))}
body:is(.sp-preview,.sp-design) .sp-green-section .sp-service-process{background:transparent;border:0;border-radius:0;padding:0;margin:0}
body:is(.sp-preview,.sp-design) .sp-green-section .sp-service-process h3{font-size:clamp(28px,2.7vw,38px);margin-bottom:32px}
body:is(.sp-preview,.sp-design) .sp-green-section .sp-service-process :is(h3,h4,p){color:#E7E9DF}
body:is(.sp-preview,.sp-design) .sp-green-section .sp-service-process h4{font-size:18px;line-height:1.5}
body:is(.sp-preview,.sp-design) .sp-green-section .sp-service-process p{font-size:15px;line-height:1.8}

/* White content stays continuous; short pages keep their method and rates together. */
body .sp-service-page .sp-service-story{display:block;max-width:940px}
body .sp-service-page .sp-service-prose{max-width:940px}
body:is(.sp-preview,.sp-design) .sp-service-page .sp-service-content--unified{display:flex;flex-direction:column;gap:56px}
body:is(.sp-preview,.sp-design) .sp-service-content--unified>:is(.sp-service-story,.sp-service-process,.sp-services-preview,.sp-service-related){margin:0}
body:is(.sp-preview,.sp-design) .sp-service-content--unified>.sp-service-process{padding:0;background:transparent;border-radius:0;color:#394D42}
body:is(.sp-preview,.sp-design) .sp-service-content--unified>.sp-service-process :is(h3,h4,p){color:#394D42}
body .sp-service-page .sp-selling-opening{display:block}
body:is(.sp-preview,.sp-design) .sp-content-image-band .sp-selling-channels{margin:48px 0 0;padding:0}
body .sp-content-image-band .sp-selling-channels :is(h2,p){color:#E7E9DF}
body .sp-content-image-band .sp-marketing-links .sp-action{color:#E7E9DF;--sp-action-ink:#E7E9DF;--sp-action-hover-ink:#E7E9DF}

/* The office illustration and actual people have a role; generic side photographs do not. */
body .about-grid{display:block;padding-block:64px}
body .about-grid>div:first-child{max-width:850px}
body .about-grid h2{font-size:clamp(28px,2.7vw,38px);font-weight:400;line-height:1.22;letter-spacing:-.03em}
body .about-grid p{font-size:16px;line-height:1.85}
body .about-grid>.sp-office-sketch{margin:40px 0 0;width:100%;max-width:1000px;border-radius:0}
body .about-grid>.sp-office-sketch img{aspect-ratio:auto;height:auto;object-fit:contain}
.sp-nvm-connection{background:#E7E9DF;color:#394D42;padding:0 0 64px}
.sp-nvm-connection>.wrap{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 28px;align-items:center}
.sp-nvm-connection :is(h2,p){grid-column:2;color:inherit}
.sp-nvm-connection h2{font-size:clamp(26px,2.5vw,34px);font-weight:400}
.sp-nvm-logo{grid-row:1/span 2;display:flex;justify-content:center;padding:10px;min-height:44px}
.sp-nvm-logo img{width:36px;height:auto}
.sp-nvm-note{margin-top:24px!important;font-size:14px!important;padding-left:16px;border-left:2px solid #EC671A}
body .sp-interview-library{padding-block:56px}
body .sp-interview-library .sp-interview-drafts{margin-top:0;border:0;padding-top:0}

/* Anniversary introduction and portraits form a single landscape. */
body .sp-jubilee-image-intro>.wrap{margin-bottom:40px}
.sp-jubilee-image-intro .sp9-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
body .sp9-home .sp-jubilee-image-intro :is(.sp9-kicker,.sp9-body){color:#E7E9DF}
.sp-jubilee-image-intro .sp9-h2{font-size:clamp(36px,3.9vw,58px);line-height:1.14;margin:20px 0 0;letter-spacing:-.035em;color:#E7E9DF}
.sp-jubilee-image-intro .sp9-accent{color:#EC671A}
.sp-jubilee-image-intro .sp9-body{font-size:18px;line-height:1.85;margin:0}
body .sp9-home .sp-jubilee-image-intro .sp9-jubilee{background:transparent;padding:0;margin:0}
body .sp9-home .sp-jubilee-image-intro .sp-profile:nth-child(even){margin-top:0}
body .sp9-home .sp-jubilee-image-intro .sp-jubilee-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin:28px 0 0}
body .sp9-home .sp-jubilee-image-intro .sp-jubilee-links a{font-size:13px;line-height:1.5;min-height:44px}

/* Jubilee: real portraits, a quiet open position for Cees and editorial type. */
.sp-jubilee-draft-note{font-size:11px;letter-spacing:.06em;color:#4C6758;margin:0 0 22px}
body :is(.sp9-jubilee,.interviews) .voices{border:0;gap:30px;margin-top:0;align-items:start}
body :is(.sp9-jubilee,.interviews) .voice.sp-profile{padding:0;margin:0;border:0;min-width:0;min-height:0;display:block}
body :is(.sp9-jubilee,.interviews) .sp-profile .sp-portrait{margin:0 0 22px;border-radius:0;overflow:hidden;width:100%}
body :is(.sp9-jubilee,.interviews) .sp-profile .sp-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.sp-portrait--pending{aspect-ratio:4/5;background:#C3CBB7;color:#4C6758;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(57,77,66,.14)}
.sp-portrait--pending>span{font-size:72px;font-weight:400}
.sp-portrait--pending>small{font-size:12px}
.sp-profile-copy{border-top:1px solid #C3CBB7;padding-top:18px}
body :is(.sp9-jubilee,.interviews) .sp-profile h3{font-size:clamp(26px,2.3vw,34px);line-height:1.15;letter-spacing:-.025em;font-weight:400;margin:12px 0 16px;color:#394D42}
body :is(.sp9-jubilee,.interviews) .sp-profile blockquote{font-size:18px;line-height:1.65;margin:0 0 22px;font-weight:400;color:#394D42;min-height:120px}
body :is(.sp9-jubilee,.interviews) .sp-profile .sp-action{font-size:13px;line-height:1.5;min-height:44px;white-space:normal}
body .interviews{background:#E7E9DF;color:#394D42}
body .interviews .intro{color:#4C6758;margin-bottom:36px}
body .interviews h2{color:#394D42}
body .interviews .voices{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 56px}
body .interviews .sp-profile{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px}
body .interviews .sp-profile .sp-portrait{margin:0}
body .interviews .sp-profile blockquote{min-height:0}
.sp-interview-drafts{margin-top:72px;border-top:1px solid #C3CBB7;padding-top:40px}
.sp-interview-drafts>h3{font-size:32px;font-weight:400;margin:0 0 16px}
.sp-draft-explanation{font-size:14px;line-height:1.8;max-width:76ch;color:#4C6758;margin:0 0 28px}
.sp-interview-drafts details{border-top:1px solid #C3CBB7;padding:20px 0;scroll-margin-top:40px}
.sp-interview-drafts summary{font-size:22px;cursor:pointer;padding:10px 0}
.sp-interview-draft-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;padding:24px 0}
.sp-interview-draft-body>.sp-portrait{max-width:180px;margin:0;border-radius:0}
.sp-interview-draft-body>.sp-portrait img{aspect-ratio:4/5}
.sp-interview-draft-body blockquote{font-size:24px;line-height:1.5;margin:0 0 24px}
.sp-interview-draft-body p,.sp-interview-draft-body li{font-size:15px;line-height:1.8}
.sp-interview-draft-body ul{padding-left:18px}

@media(max-width:960px){
 body .sp9-jubilee .voices{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}
 body .interviews .sp-profile{display:block}
 body .interviews .sp-profile .sp-portrait{margin-bottom:22px}
}
@media(max-width:600px){
 body :is(.sp9-jubilee,.interviews) .voices{gap:32px 20px}
 body :is(.sp9-jubilee,.interviews) .sp-profile blockquote{font-size:16px;min-height:0}
 body :is(.sp9-jubilee,.interviews) .sp-profile h3{font-size:26px}
 .sp-portrait--pending>span{font-size:52px}
 .sp-interview-draft-body{grid-template-columns:1fr;gap:22px}
 .sp-interview-draft-body>.sp-portrait{width:140px}
}
@media(max-width:360px){body :is(.sp9-jubilee,.interviews) .voices{grid-template-columns:1fr}body :is(.sp9-jubilee,.interviews) .sp-profile .sp-portrait{max-width:240px}}


/* The same cream type and quiet rules serve both anniversary landscapes. */
body:is(.sp-preview,.sp-design) .sp-green-section :is(.sp-profile h3,.sp-profile blockquote,.sp-jubilee-draft-note,.intro,.eyebrow,h2){color:#E7E9DF}
body .sp-green-section .sp-profile-copy{border-color:rgba(231,233,223,.35)}
body:is(.sp-preview,.sp-design) .sp-green-section :is(.sp-profile .sp-action,.sp9-link a){color:#E7E9DF;--sp-action-ink:#E7E9DF;--sp-action-hover-ink:#E7E9DF}
body .interviews .voice.sp-profile{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px}
@media(max-width:960px){
 .sp-green-section--md{--sp-green-min:360px;--sp-green-space:48px}
 .sp-green-section--lg{--sp-green-min:420px;--sp-green-space:56px}
 body .site-header .head-inner:has(.sp-header-nvm){gap:12px}
 body .site-header .sp-header-nvm{order:1;margin-left:auto;width:36px;min-height:44px}
 body .site-header .sp-header-nvm img{width:22px;height:44px}
 body .site-header .menu-toggle{order:2;margin-left:0}
 .sp-jubilee-image-intro .sp9-intro-grid{grid-template-columns:1fr;gap:26px}
 .sp-jubilee-image-intro .sp9-body{max-width:65ch}
 body .interviews .voice.sp-profile{display:block}
}
@media(max-width:600px){
 .sp-green-section--md{--sp-green-min:260px;--sp-green-space:40px}
 .sp-green-section--lg{--sp-green-min:320px;--sp-green-space:44px}
 body:is(.sp-preview,.sp-design) .sp-service-page .sp-service-content--unified{gap:40px}
 body .about-grid{padding-block:44px}
 .sp-nvm-connection{padding-bottom:44px}
 .sp-nvm-connection>.wrap{grid-template-columns:46px minmax(0,1fr);gap:0 20px}
 .sp-nvm-logo{padding:4px}.sp-nvm-logo img{width:30px}
 .sp-nvm-connection p{font-size:15px}
 .sp-jubilee-image-intro .sp9-body{font-size:16px}
 body .sp-jubilee-image-intro>.wrap{margin-bottom:28px}
 body .sp9-home .sp-jubilee-image-intro .sp-jubilee-links{flex-wrap:nowrap;gap:16px}
 body .sp9-home .sp-jubilee-image-intro .sp-jubilee-links a{font-size:12px;white-space:nowrap}
 body .sp-interview-library{padding-block:40px}
 body .site-footer .sp-footer-social:has(.sp-footer-social-pending){display:grid;grid-template-columns:repeat(2,26px);gap:0}
 body .site-footer .sp-footer-social-pending{width:26px;min-height:44px}
 body .site-footer .sp-footer-social-pending svg{width:16px;height:16px}
}

/* A short contact page reads as one practical block, without artificial spacers. */
.sp-contact-flow{display:flex;flex-direction:column;gap:40px;padding-block:64px}
body .sp-contact-flow>.page-content{padding:0;max-width:850px;font-size:16px;line-height:1.85}
body .sp-contact-flow>.page-content p{margin:0}
body .sp-contact-flow h2{font-size:clamp(26px,2.7vw,36px);font-weight:400;line-height:1.25;margin:0 0 24px}
body:is(.sp-preview,.sp-design) .sp-contact-flow>.sp-advice-referral{border:0;padding:0;margin:0}
@media(max-width:600px){.sp-contact-flow{padding-block:40px;gap:32px}}

/* Desktop image chapters occupy a complete screen, while longer content flows naturally. */
@media(min-width:1101px){
 body:is(.sp-preview,.sp-design) main .sp-green-section.sp-image-band{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(64px,7svh,112px)}
 body:is(.sp-preview,.sp-design) main .sp-green-section.sp-image-band>.wrap{flex-shrink:0}
 body:is(.sp-preview,.sp-design) .sp-service-page .sp-service-method-band .sp-selling-method ol{gap:clamp(24px,2.4vw,44px)}
 body:is(.sp-preview,.sp-design) .sp-service-page .sp-service-method-band .sp-selling-method li{min-height:400px}
}

/* Disclosure growth never rescales the photograph: it fades into the brand surface. */
body:is(.sp-preview,.sp-design) .sp-service-method-band.sp-image-band>.sp-band-image{inset:0 0 auto!important;height:max(100svh,860px)!important;mask-image:linear-gradient(to bottom,#000 68%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 68%,transparent 100%)}
