/* Inner-page editorial layouts; the approved homepage and shared shell are untouched. */
.sjhr-corporate .cp-content{--cp-pine:#123f34;--cp-paper:#faf9f6;--cp-ink:#203e34;--cp-muted:#53665d;--cp-line:#cbd3ca;--cp-gutter:clamp(24px,5.4vw,88px);--cp-space:clamp(64px,8vw,124px);width:100%;max-width:none;margin:0!important;padding:0!important;color:var(--cp-ink);background:var(--cp-paper);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.65;overflow:clip}
.cp-content *{box-sizing:border-box;min-width:0}
.cp-content :is(.cp-entry-content,.cp-wp-block-group){width:100%;max-width:none!important;margin:0;padding:0}
.cp-content :is(h1,h2,h3){margin:0;color:var(--cp-pine);font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.cp-content h1{font-size:clamp(52px,6vw,88px)}
.cp-content h2{font-size:clamp(36px,4vw,56px)}
.cp-content h3{font-size:clamp(28px,3vw,38px)}
.cp-content p{margin:0 0 1.2em;max-width:68ch}
.cp-content p:last-child{margin-bottom:0}
.cp-content figure{margin:0;overflow:hidden}
.cp-content img{display:block;max-width:100%;width:100%;height:auto;object-fit:cover}
.cp-content a{color:inherit;text-decoration:none;text-underline-offset:.3em}
.cp-content :is(a,button,input,textarea,select):focus-visible{outline:2px solid #547d66;outline-offset:5px}
.cp-content a:hover{text-decoration-color:currentColor}
.cp-content :is(.cp-text-link,.cp-sjh-service-text-link,.cp-sjh-client-story-link){display:inline-flex;align-items:center;min-height:46px;width:fit-content;border-bottom:1px solid currentColor;padding:5px 0;font-family:'DM Sans',Arial,sans-serif;font-size:15px;font-weight:500;transition:color .2s,border-color .2s}
.cp-content :is(.cp-text-link,.cp-sjh-service-text-link,.cp-sjh-client-story-link):hover{color:#46755c;border-color:#46755c}
.cp-content .cp-intro-copy{font-size:clamp(18px,1.4vw,21px);line-height:1.65}
/* About: an invitation, a photographic portrait, then the people and detail behind it. */
.cp-sjh-about-intro{padding:clamp(56px,6vw,90px) var(--cp-gutter) 72px}
.cp-sjh-about-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;grid-template-rows:auto 1fr;gap:30px clamp(42px,6vw,96px);max-width:1440px;margin:auto;align-items:start}
.cp-sjh-about-title-col{grid-column:1;grid-row:1}
.cp-sjh-about-title-col h1{max-width:11ch;font-size:clamp(50px,5.25vw,80px)}
.cp-sjh-about-hero-copy{grid-column:1;grid-row:2;padding-top:3px;max-width:560px}
.cp-sjh-about-hero-actions{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:28px}
.cp-sjh-about-media-system{grid-column:2;grid-row:1/3;position:relative;padding:0 0 74px 34px}
.cp-sjh-about-media-primary img{height:clamp(450px,43vw,650px);object-position:50% 45%}
.cp-sjh-about-media-secondary{position:absolute;bottom:95px;left:0;width:44%;border:8px solid var(--cp-paper)}
.cp-sjh-about-media-secondary img{aspect-ratio:4/3}
.cp-sjh-about-media-note{padding:20px 0 0 30%;font-size:14px;line-height:1.55;color:var(--cp-muted)}
.cp-sjh-about-media-note strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:24px;color:var(--cp-pine);font-weight:400;margin-bottom:5px}
.cp-sjh-about-proof-strip{background:var(--cp-pine);color:var(--cp-paper);padding:30px var(--cp-gutter)}
.cp-sjh-about-proof-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:auto;gap:24px;font-size:clamp(17px,1.7vw,23px)}
.cp-sjh-about-editorial{padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-about-split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(48px,8vw,128px);max-width:1340px;margin:auto;align-items:center}
.cp-sjh-about-editorial-media img{aspect-ratio:5/6;max-height:640px;object-position:50% 50%}
.cp-sjh-about-copy h2{margin-bottom:32px;max-width:10ch}
.cp-sjh-about-copy p{font-size:18px;line-height:1.75}
.cp-sjh-about-principles{padding:0 var(--cp-gutter) var(--cp-space)}
.cp-sjh-about-section-head{max-width:1340px;margin:0 auto 48px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.cp-sjh-about-section-head p{font-size:20px}
.cp-sjh-about-principle-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:46px}
.cp-sjh-about-principle{border-top:1px solid var(--cp-line);padding:28px 0 0}
.cp-sjh-about-principle h3{margin-bottom:18px}
.cp-sjh-about-principle p{color:var(--cp-muted)}
.cp-sjh-about-image-run{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:16px;padding:0 var(--cp-gutter) var(--cp-space);max-width:1600px;margin:auto}
.cp-sjh-about-image-run figure:nth-child(2){padding-top:70px}
.cp-sjh-about-image-run img{aspect-ratio:4/5;object-position:50% 44%}
.cp-sjh-about-image-run figcaption{font-size:15px;margin-top:14px;color:var(--cp-muted)}
.cp-sjh-about-group{background:var(--cp-pine);color:var(--cp-paper);padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-about-group-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,9vw,140px);max-width:1340px;margin:auto}
.cp-sjh-about-group h2{color:var(--cp-paper);max-width:10ch;margin-bottom:26px}
.cp-sjh-about-group p{color:#e3e9df;max-width:45ch;font-size:18px}
.cp-sjh-about-group-cta{display:inline-flex;min-height:48px;align-items:center;padding:10px 0;border-bottom:1px solid #d4dfce;margin-top:24px;color:var(--cp-paper)}
.cp-sjh-about-group-links{display:grid;gap:0}
.cp-sjh-about-group-links>a{display:grid;grid-template-columns:110px 1fr;column-gap:24px;align-items:center;padding:25px 0;border-top:1px solid #5d7b69}
.cp-sjh-about-group-links>a:last-child{border-bottom:1px solid #5d7b69}
.cp-sjh-about-group-logo{grid-row:1/3;background:#faf9f6;padding:15px;min-height:82px;display:flex;align-items:center}
.cp-sjh-about-group-logo img{max-height:58px;object-fit:contain}
.cp-sjh-about-group-links strong{font-weight:500;font-size:19px}
.cp-sjh-about-group-links>a>span:last-child{font-size:14px;color:#dce6d8;line-height:1.5;margin-top:5px}
/* Clients: real occasions carry the story; the partner roster is deliberately quieter. */
.cp-sjh-clients-intro{padding:clamp(56px,6vw,90px) var(--cp-gutter) var(--cp-space)}
.cp-sjh-clients-hero-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px);align-items:center}
.cp-sjh-clients-hero-copy h1{font-size:clamp(68px,7vw,96px);margin-bottom:34px}
.cp-sjh-clients-actions{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:30px}
.cp-sjh-clients-hero-media{position:relative}
.cp-sjh-clients-hero-media>figure img{aspect-ratio:1.15;object-position:50% 43%}
.cp-sjh-clients-hero-note{padding:24px 0 0;max-width:440px;display:grid;grid-template-columns:1fr 1.5fr;gap:24px;align-items:start;font-size:14px;color:var(--cp-muted)}
.cp-sjh-clients-hero-note strong{font-weight:500;color:var(--cp-pine)}
.cp-sjh-client-stories{padding:var(--cp-space) var(--cp-gutter);background:#eef1eb}
.cp-sjh-client-stories-heading{max-width:1340px;margin:0 auto 38px;display:flex;gap:56px;align-items:baseline}
.cp-sjh-client-stories-heading>p{font-size:16px;margin:0;flex:0 0 25%}
.cp-sjh-client-stories-heading h2{font-size:clamp(40px,4.5vw,64px)}
.cp-sjh-client-story-nav{display:flex;gap:30px;overflow-x:auto;max-width:1340px;margin:0 auto 64px;padding:14px 0 20px;border-bottom:1px solid #bfcbbf;scrollbar-width:thin}
.cp-sjh-client-story-nav a{flex:0 0 auto;font-size:14px;padding:4px 0;border-bottom:1px solid transparent}
.cp-sjh-client-story-nav a:hover{border-color:currentColor}
.cp-sjh-client-story{max-width:1340px;margin:0 auto 96px;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,6vw,96px);align-items:center;scroll-margin-top:120px}
.cp-sjh-client-story:last-child{margin-bottom:0}
.cp-sjh-client-story:not(.cp-sjh-client-story-lead):nth-of-type(odd){grid-template-columns:1fr 1.15fr}
.cp-sjh-client-story:not(.cp-sjh-client-story-lead):nth-of-type(odd) .cp-sjh-client-story-media{order:2}
.cp-sjh-client-story:not(.cp-sjh-client-story-lead):nth-of-type(odd) .cp-sjh-client-story-copy{order:1}
.cp-sjh-client-story-media>figure img{aspect-ratio:5/4}
.cp-sjh-client-story-lead{align-items:start;padding-bottom:48px;border-bottom:1px solid #bfcbbf}
.cp-sjh-client-story-lead .cp-sjh-client-story-media>figure img{aspect-ratio:4/5;object-position:50% 50%}
.cp-sjh-client-story-copy h2{font-size:clamp(36px,3.7vw,54px);margin:12px 0 24px}
.cp-sjh-client-story-copy>p{font-size:17px;line-height:1.75}
.cp-sjh-client-story-copy .cp-sjh-client-story-location{font-size:14px;margin:0;color:var(--cp-muted)}
.cp-sjh-client-story-link{margin-top:18px}
.cp-sjh-client-launch-gallery{display:flex;gap:12px;overflow:auto;padding:12px 0;scroll-snap-type:x mandatory;scrollbar-width:thin}
.cp-sjh-client-launch-gallery figure{flex:0 0 63%;scroll-snap-align:start}
.cp-sjh-client-launch-gallery img{aspect-ratio:3/2}
.cp-sjh-client-gallery-hint{font-size:13px;color:var(--cp-muted)}
.cp-sjh-client-logo-section{padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-client-logo-head{max-width:1340px;margin:0 auto 52px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.cp-sjh-client-logo-head p{font-size:19px}
.cp-sjh-client-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--cp-line);border-left:1px solid var(--cp-line)}
.cp-sjh-client-card{padding:36px 30px;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-right:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line);transition:background .25s}
.cp-sjh-client-card:hover{background:#eef1eb}
.cp-sjh-client-card img{height:80px;width:170px;object-fit:contain;margin-bottom:24px}
.cp-sjh-client-card strong{font-size:16px;font-weight:500;text-align:center}
.cp-sjh-client-card>span:last-child{font-size:13px;color:var(--cp-muted);margin-top:8px}
.cp-sjh-clients-testimonials{background:var(--cp-pine);color:var(--cp-paper);padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-client-testimonial-layout{max-width:1340px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,7vw,110px);align-items:center}
.cp-sjh-client-testimonial-media img{aspect-ratio:4/5}
.cp-sjh-client-testimonial-copy h2{font-size:30px;color:#dde5d9;margin-bottom:38px}
.cp-sjh-client-testimonial-copy blockquote{margin:0 0 32px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,2.6vw,38px);line-height:1.45;letter-spacing:-.015em}
.cp-sjh-client-testimonial-copy cite{font-style:normal;font-size:14px;color:#dce5d8;display:block;max-width:46ch}
/* Contact: an open welcome followed by an address book and a real, calm enquiry form. */
.cp-sjh-contact-page{display:grid;grid-template-columns:1fr 1fr;gap:0}
.cp-sjh-contact-intro{padding:clamp(54px,6vw,90px) 60px 64px var(--cp-gutter);align-self:center}
.cp-sjh-contact-intro-grid{display:block;max-width:570px}
.cp-sjh-contact-intro h1{font-size:clamp(68px,7vw,96px);margin-bottom:35px}
.cp-sjh-contact-intro .cp-text-link{margin-top:24px}
.cp-sjh-contact-hero-media{margin:clamp(54px,6vw,90px) var(--cp-gutter) 64px 0;align-self:stretch}
.cp-sjh-contact-hero-media img{height:100%;min-height:400px;max-height:550px;aspect-ratio:1.1;object-position:50% 40%}
.cp-sjh-contact-main{grid-column:1/-1;padding:var(--cp-space) var(--cp-gutter);background:#eef1eb}
.cp-sjh-contact-main-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,9vw,140px);max-width:1340px;margin:auto}
.cp-sjh-contact-details h2{max-width:12ch;margin-bottom:28px;font-size:clamp(38px,4vw,54px)}
.cp-sjh-contact-details>p{font-size:18px;margin-bottom:42px;max-width:43ch}
.cp-sjh-contact-detail-list{display:grid}
.cp-sjh-contact-detail-list>a{border-top:1px solid #bbc9bc;padding:22px 0;display:grid;gap:5px}
.cp-sjh-contact-detail-list>a:last-child{border-bottom:1px solid #bbc9bc}
.cp-sjh-contact-detail-list span{font-size:13px;color:var(--cp-muted)}
.cp-sjh-contact-detail-list strong{font-size:clamp(17px,1.65vw,22px);font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.cp-sjh-contact-form{margin:0}
.cp-sjh-contact-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.cp-sjh-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cp-sjh-field{margin-bottom:26px}
.cp-sjh-field label{display:block;font-size:14px;margin-bottom:9px;color:var(--cp-pine)}
.cp-sjh-field :is(input,select,textarea){font:inherit;font-size:16px;line-height:1.5;width:100%;max-width:100%;min-height:54px;padding:14px 12px;background:transparent;border:1px solid #a8b9aa;border-radius:0;color:var(--cp-pine);caret-color:var(--cp-pine);transition:background .2s,border-color .2s;box-shadow:none}
.cp-sjh-field textarea{resize:vertical;min-height:170px}
.cp-sjh-field :is(input,select,textarea):focus{border-color:var(--cp-pine);background:var(--cp-paper);outline:2px solid #547d66;outline-offset:3px}
.cp-sjh-field input::placeholder{color:#53665d;opacity:1}
.cp-sjh-contact-submit{background:var(--cp-pine);color:var(--cp-paper);font:500 15px 'DM Sans',Arial,sans-serif;min-height:52px;padding:14px 30px;border:0;border-radius:0;cursor:pointer}
.cp-sjh-contact-submit:disabled{opacity:.6;cursor:not-allowed}
.cp-migration-form-status{margin:22px 0 0!important;font-size:14px;line-height:1.6;color:var(--cp-muted);max-width:58ch}
.cp-sjh-contact-map-section{grid-column:1/-1;padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-contact-map-head{padding:0!important;max-width:1340px;margin:0 auto 36px;display:flex;align-items:baseline;justify-content:space-between;gap:28px}
.cp-sjh-contact-map-head h2{font-size:clamp(36px,4vw,52px)}
.cp-sjh-contact-map{max-width:1340px;margin:auto;position:relative;min-height:420px;background:#e5ebe1;border:1px solid var(--cp-line)}
.cp-sjh-contact-map iframe{display:block;width:100%;height:420px;border:0}
.cp-sjh-cookie-embed-notice{position:absolute;inset:0;display:grid;place-items:center;background:#e5ebe1;text-align:center;padding:32px}
.cp-sjh-cookie-embed-notice p{max-width:40ch;margin-bottom:22px}
.cp-sjh-cookie-embed-notice button{font:500 15px 'DM Sans',Arial,sans-serif;padding:13px 27px;min-height:48px;border:1px solid var(--cp-pine);border-radius:0;background:var(--cp-pine);color:var(--cp-paper);cursor:pointer}
.cp-sjh-cookie-embed-notice button:hover{background:#275b47}
.cp-sjh-contact-map.is-cookie-allowed .cp-sjh-cookie-embed-notice{display:none}
.cp-sjh-company-information{padding:0 var(--cp-gutter) var(--cp-space);max-width:1516px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,9vw,140px)}
.cp-sjh-company-information h2{font-size:32px}
.cp-sjh-company-information p{font-size:15px;color:var(--cp-muted);line-height:1.9}
/* Services: large photographic entries, designed as a collection rather than boxed features. */
.cp-sjh-service-hero{padding:clamp(60px,7vw,104px) var(--cp-gutter) 66px}
.cp-sjh-service-hero-inner{max-width:1340px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(42px,7vw,110px);align-items:end}
.cp-sjh-service-hero h1{font-size:clamp(50px,5.5vw,80px);max-width:13ch}
.cp-sjh-service-hero-copy p{font-size:20px;line-height:1.65}
.cp-sjh-service-text-link{margin-top:18px}
.cp-service-index-page .cp-sjh-service-hero h1{font-size:clamp(68px,7vw,96px)}
.cp-sjh-service-index-grid{padding:0 var(--cp-gutter) var(--cp-space);max-width:1516px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:58px 36px}
.cp-sjh-service-index-card{display:block;overflow:hidden;border:0;background:none}
.cp-sjh-service-index-card:first-child{grid-column:1/-1}
.cp-sjh-service-index-card img{aspect-ratio:1.5;transition:filter .45s cubic-bezier(.2,.8,.2,1);filter:saturate(.9)}
.cp-sjh-service-index-card:first-child img{aspect-ratio:2.5;object-position:50% 42%;max-height:520px}
.cp-sjh-service-index-card>span{font:400 clamp(28px,3vw,42px)/1.2 'Playfair Display',Georgia,serif;display:block;margin-top:22px;max-width:23ch;position:relative;padding-right:38px}
.cp-sjh-service-index-card>span:after{content:'';position:absolute;right:2px;top:12px;width:14px;height:14px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.cp-sjh-service-index-card:hover img{filter:saturate(1.15)}
.cp-sjh-service-media-strip{padding:0 var(--cp-gutter);max-width:1600px;margin:0 auto 0}
.cp-sjh-service-media-strip img{height:clamp(350px,44vw,650px);object-position:50% 45%}
.cp-sjh-service-story{padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-service-story-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(48px,8vw,120px);align-items:start}
.cp-sjh-service-image-stack>figure img{aspect-ratio:5/4}
.cp-sjh-service-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.cp-sjh-service-mini-grid img{aspect-ratio:4/5}
.cp-sjh-service-mini-grid>figure:last-child{padding-top:45px}
.cp-sjh-service-sticky{position:sticky;top:126px;padding-top:12px}
.cp-sjh-service-sticky>p:first-child{font:400 clamp(25px,2.5vw,34px)/1.5 'Playfair Display',Georgia,serif;color:var(--cp-pine);letter-spacing:-.015em;margin-bottom:28px}
.cp-sjh-service-sticky>p:nth-child(2){color:var(--cp-muted);font-size:18px;margin-bottom:36px}
.cp-sjh-service-detail-list{display:grid;border-top:1px solid var(--cp-line)}
.cp-sjh-service-detail-list>span{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--cp-line)}
.cp-sjh-service-detail-list small{font-size:14px;color:var(--cp-muted)}
.cp-sjh-service-detail-list strong{font-size:15px;font-weight:500}
.cp-sjh-service-editorial{background:var(--cp-pine);color:var(--cp-paper);padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-service-editorial-inner{max-width:1340px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,120px);align-items:center}
.cp-sjh-service-editorial-media img{aspect-ratio:4/5}
.cp-sjh-service-editorial-media figcaption{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding-top:18px;color:#dce5d8;font-size:13px}
.cp-sjh-service-editorial-media figcaption strong{font-weight:400}
.cp-sjh-service-editorial-copy h2{color:var(--cp-paper);margin-bottom:28px}
.cp-sjh-service-editorial-copy p{color:#dce5d8;font-size:18px}
.cp-sjh-service-editorial-steps{margin-top:40px;display:grid}
.cp-sjh-service-editorial-steps>span{display:block;padding:18px 0;border-top:1px solid #66836f}
.cp-sjh-service-editorial-steps strong{font-weight:400;font-size:16px}
.cp-sjh-service-related{padding:var(--cp-space) var(--cp-gutter)}
.cp-sjh-service-related-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1340px;margin:0 auto 48px;align-items:start}
.cp-sjh-service-related-head p{color:var(--cp-muted);font-size:18px}
.cp-sjh-service-related-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cp-sjh-service-related-card{display:block;position:relative}
.cp-sjh-service-related-card img{aspect-ratio:4/3;transition:filter .25s}
.cp-sjh-service-related-card:hover img{filter:brightness(.9)}
.cp-sjh-service-related-card>strong{display:block;font:400 clamp(25px,2.4vw,34px)/1.3 'Playfair Display',Georgia,serif;margin-top:22px}
.cp-sjh-service-related-meta{display:none}
.cp-sjh-service-related-action{font-size:14px;display:inline-block;margin-top:17px;padding-bottom:7px;border-bottom:1px solid currentColor}
/* Policy pages use a measured reading column, with headings as useful wayfinding. */
.cp-document-title-duplicate{display:none}
.cp-sjh-policy-page{padding:clamp(56px,7vw,106px) var(--cp-gutter) var(--cp-space);max-width:1516px;margin:auto}
.cp-sjh-policy-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,8vw,120px);padding-bottom:68px;border-bottom:1px solid var(--cp-line);align-items:start}
.cp-sjh-policy-hero h1{font-size:clamp(52px,5.5vw,80px);max-width:10ch}
.cp-sjh-policy-updated{font-size:14px;margin-top:24px!important;color:var(--cp-muted)}
.cp-sjh-policy-lede{padding-top:10px;font-size:19px;line-height:1.7}
.cp-sjh-policy-page a{text-decoration:underline;overflow-wrap:anywhere}
.cp-sjh-policy-content{padding-top:12px}
.cp-sjh-policy-card{display:grid;grid-template-columns:.85fr 1.15fr;column-gap:clamp(48px,8vw,120px);row-gap:20px;padding:44px 0;border-bottom:1px solid var(--cp-line)}
.cp-sjh-policy-card h2{grid-column:1;grid-row:1/10;font-size:clamp(26px,2.5vw,34px);max-width:15ch;line-height:1.25}
.cp-sjh-policy-card>:not(h2){grid-column:2;max-width:68ch;margin:0}
.cp-sjh-policy-card p,.cp-sjh-policy-card li{font-size:16px;line-height:1.8}
.cp-sjh-policy-card ul{padding-left:20px}
.cp-sjh-policy-card li+li{margin-top:12px}
.cp-sjh-policy-table-wrap{overflow:auto;max-width:100%!important}
.cp-sjh-policy-table-wrap table{width:100%;min-width:650px;border-collapse:collapse;font-size:14px;line-height:1.6}
.cp-sjh-policy-table-wrap :is(th,td){text-align:left;padding:16px 14px;border-bottom:1px solid var(--cp-line);vertical-align:top;min-width:100px}
.cp-sjh-policy-table-wrap th{font-weight:500;background:#eaf0e5}
.cp-sjh-policy-table-wrap td:nth-child(3){min-width:200px}
/* Responsive composition keeps the narrative order and all controls comfortably usable. */
@media(max-width:1050px){
 .cp-sjh-about-hero-grid{gap:28px 36px;grid-template-columns:1.05fr 1fr}
 .cp-sjh-about-media-primary img{height:520px}
 .cp-sjh-about-title-col h1{font-size:58px}
 .cp-sjh-about-hero-copy .cp-intro-copy{font-size:17px}
 .cp-sjh-about-split,.cp-sjh-about-group-inner,.cp-sjh-contact-main-grid,.cp-sjh-client-story,.cp-sjh-service-story-grid,.cp-sjh-service-editorial-inner{gap:45px}
 .cp-sjh-client-logo-head{gap:40px}
 .cp-sjh-contact-intro{padding-right:35px}
 .cp-sjh-field-grid{grid-template-columns:1fr;gap:0}
 .cp-sjh-policy-hero,.cp-sjh-policy-card{grid-template-columns:.7fr 1.3fr;column-gap:45px}
}
@media(max-width:760px){
 .sjhr-corporate .cp-content{--cp-gutter:24px;--cp-space:64px;font-size:16px}
 .cp-content h1{font-size:clamp(46px,10vw,68px)}
 .cp-content h2{font-size:36px}
 .cp-sjh-about-intro,.cp-sjh-clients-intro{padding-top:42px;padding-bottom:54px}
 .cp-sjh-about-hero-grid{display:flex;flex-direction:column;gap:28px}
 .cp-sjh-about-title-col h1{font-size:clamp(46px,10vw,64px);max-width:13ch}
 .cp-sjh-about-hero-copy{padding:0;max-width:none}
 .cp-sjh-about-hero-copy .cp-intro-copy{font-size:18px}
 .cp-sjh-about-hero-actions{margin-top:24px;gap:16px 28px}
 .cp-sjh-about-media-system{width:100%;padding:0 0 0 24px;margin-top:10px}
 .cp-sjh-about-media-primary img{height:auto;aspect-ratio:4/5;max-height:620px}
 .cp-sjh-about-media-secondary{bottom:105px;width:42%;border-width:5px}
 .cp-sjh-about-media-note{padding:20px 0 0 30%;min-height:110px;font-size:13px}
 .cp-sjh-about-proof-strip{padding-top:25px;padding-bottom:25px}
 .cp-sjh-about-proof-inner{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;font-size:16px}
 .cp-sjh-about-split,.cp-sjh-about-section-head,.cp-sjh-about-group-inner,.cp-sjh-clients-hero-grid,.cp-sjh-client-logo-head,.cp-sjh-client-testimonial-layout,.cp-sjh-service-hero-inner,.cp-sjh-service-story-grid,.cp-sjh-service-editorial-inner,.cp-sjh-service-related-head{grid-template-columns:1fr;gap:36px}
 .cp-sjh-about-editorial-media img{aspect-ratio:5/4;max-height:none}
 .cp-sjh-about-copy h2{max-width:none;margin-bottom:24px}
 .cp-sjh-about-copy p{font-size:17px}
 .cp-sjh-about-section-head{margin-bottom:32px}
 .cp-sjh-about-section-head p{font-size:18px}
 .cp-sjh-about-principle-grid{grid-template-columns:1fr;gap:24px}
 .cp-sjh-about-principle{padding-top:24px}
 .cp-sjh-about-principle h3{font-size:30px;margin-bottom:12px}
 .cp-sjh-about-image-run{grid-template-columns:1fr 1fr;gap:12px}
 .cp-sjh-about-image-run figure:nth-child(2){padding-top:42px}
 .cp-sjh-about-image-run figure:last-child{grid-column:1/-1;max-width:72%;margin:12px auto 0}
 .cp-sjh-about-image-run figcaption{font-size:13px}
 .cp-sjh-about-group p{font-size:17px}
 .cp-sjh-about-group-links>a{grid-template-columns:90px 1fr;column-gap:20px}
 .cp-sjh-about-group-logo{padding:10px}
 .cp-sjh-clients-hero-copy h1{font-size:68px;margin-bottom:25px}
 .cp-sjh-clients-actions{margin-top:22px;gap:10px 24px}
 .cp-sjh-clients-hero-note{max-width:none}
 .cp-sjh-client-stories-heading{display:block;margin-bottom:28px}
 .cp-sjh-client-stories-heading>p{font-size:14px;margin-bottom:14px}
 .cp-sjh-client-stories-heading h2{font-size:40px}
 .cp-sjh-client-story-nav{gap:24px;margin-bottom:38px}
 .cp-sjh-client-story{display:flex!important;flex-direction:column;align-items:stretch;gap:26px;margin-bottom:60px}
 .cp-sjh-client-story-media,.cp-sjh-client-story-copy{order:initial!important;width:100%}
 .cp-sjh-client-story-copy h2{font-size:36px;margin:10px 0 20px}
 .cp-sjh-client-story-copy>p{font-size:16px;line-height:1.75}
 .cp-sjh-client-story-lead .cp-sjh-client-story-media>figure img{aspect-ratio:5/4}
 .cp-sjh-client-story-link{margin-top:13px}
 .cp-sjh-client-grid{grid-template-columns:1fr 1fr}
 .cp-sjh-client-card{min-height:180px;padding:26px 16px}
 .cp-sjh-client-card img{width:130px;height:65px;margin-bottom:18px}
 .cp-sjh-client-card strong{font-size:14px}
 .cp-sjh-client-logo-head{margin-bottom:34px}
 .cp-sjh-client-logo-head p{font-size:18px}
 .cp-sjh-client-testimonial-media img{aspect-ratio:5/4}
 .cp-sjh-client-testimonial-copy h2{font-size:26px;margin-bottom:24px}
 .cp-sjh-client-testimonial-copy blockquote{font-size:27px}
 .cp-sjh-contact-page{grid-template-columns:1fr}
 .cp-sjh-contact-intro{padding:42px var(--cp-gutter) 36px}
 .cp-sjh-contact-intro h1{font-size:68px;margin-bottom:24px}
 .cp-sjh-contact-hero-media{margin:0 var(--cp-gutter) 54px}
 .cp-sjh-contact-hero-media img{min-height:0;max-height:none;height:auto;aspect-ratio:5/4}
 .cp-sjh-contact-main-grid{grid-template-columns:1fr;gap:52px}
 .cp-sjh-contact-details h2{font-size:38px;max-width:14ch}
 .cp-sjh-contact-details>p{font-size:17px;max-width:none;margin-bottom:28px}
 .cp-sjh-contact-detail-list strong{font-size:19px}
 .cp-sjh-field-grid{grid-template-columns:1fr}
 .cp-sjh-contact-map-head{display:block}
 .cp-sjh-contact-map-head .cp-text-link{margin-top:15px}
 .cp-sjh-contact-map,.cp-sjh-contact-map iframe{min-height:340px;height:340px}
 .cp-sjh-company-information{grid-template-columns:1fr;gap:22px}
 .cp-sjh-company-information h2{font-size:30px}
 .cp-sjh-service-hero{padding-top:42px;padding-bottom:38px}
 .cp-sjh-service-hero-inner{gap:28px}
 .cp-sjh-service-hero h1{font-size:clamp(44px,10vw,68px);max-width:14ch}
 .cp-service-index-page .cp-sjh-service-hero h1{font-size:68px}
 .cp-sjh-service-hero-copy p{font-size:18px}
 .cp-sjh-service-text-link{margin-top:10px}
 .cp-sjh-service-index-grid{grid-template-columns:1fr;gap:40px}
 .cp-sjh-service-index-card:first-child{grid-column:auto}
 .cp-sjh-service-index-card img,.cp-sjh-service-index-card:first-child img{aspect-ratio:5/4}
 .cp-sjh-service-index-card>span{font-size:32px;margin-top:18px;max-width:22ch}
 .cp-sjh-service-media-strip img{height:auto;aspect-ratio:4/3}
 .cp-sjh-service-sticky{position:static;padding:0}
 .cp-sjh-service-sticky>p:first-child{font-size:29px;line-height:1.5}
 .cp-sjh-service-sticky>p:nth-child(2){font-size:17px}
 .cp-sjh-service-editorial-media img{aspect-ratio:5/4}
 .cp-sjh-service-editorial-copy h2{font-size:38px}
 .cp-sjh-service-editorial-copy p{font-size:17px}
 .cp-sjh-service-related-head{gap:24px;margin-bottom:34px}
 .cp-sjh-service-related-head p{font-size:17px}
 .cp-sjh-service-related-grid{grid-template-columns:1fr;gap:36px}
 .cp-sjh-service-related-card img{aspect-ratio:5/3}
 .cp-sjh-service-related-card>strong{font-size:30px}
 .cp-sjh-policy-page{padding-top:42px}
 .cp-sjh-policy-hero{display:block;padding-bottom:38px}
 .cp-sjh-policy-hero h1{font-size:52px;max-width:none}
 .cp-sjh-policy-updated{margin-top:20px!important}
 .cp-sjh-policy-lede{padding-top:28px;font-size:18px}
 .cp-sjh-policy-card{display:block;padding:32px 0}
 .cp-sjh-policy-card h2{font-size:28px;max-width:none;margin-bottom:22px}
 .cp-sjh-policy-card>:not(h2){margin-bottom:18px}
 .cp-sjh-policy-card>:last-child{margin-bottom:0}
 .cp-sjh-policy-card p,.cp-sjh-policy-card li{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.cp-content *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Partner identity is set in type; favicons are not presented as corporate logos. */
.cp-sjh-client-card{min-height:155px;justify-content:center;gap:10px}
.cp-sjh-client-name{font-family:'Playfair Display',Georgia,serif;font-size:clamp(23px,2.3vw,32px);line-height:1.25;text-align:center;max-width:17ch;color:var(--cp-pine)}
.cp-sjh-client-card>.cp-sjh-client-link-label{margin-top:5px;font:400 13px 'DM Sans',Arial,sans-serif;text-decoration:underline;text-underline-offset:5px;color:var(--cp-muted)}
@media(max-width:760px){.cp-sjh-client-card{min-height:145px;padding:24px 16px}.cp-sjh-client-name{font-size:23px}}
