/* Homepage components. Ordinary content stays in core blocks; brand tokens live in theme.json. */
.cs-home{color:var(--cs-ink);background:var(--cs-paper)}
.cs-home :where(h1,h2,h3,p){margin-top:0}
.cs-home :where(.wp-block-group,.wp-block-columns,.wp-block-column,.wp-block-image){margin-block-start:0}
.cs-home>.wp-block-group{margin-block:0}
.cs-home :where(.wp-block-columns){margin-bottom:0;gap:clamp(28px,4vw,60px)}
.cs-home .wp-block-column{min-width:0}
.cs-home :where(h1,h2,h3){font-weight:400}
.cs-home h2{font-size:var(--wp--preset--font-size--x-large);line-height:1.2;letter-spacing:-.015em;margin-bottom:22px}
.cs-home h3{font-size:var(--wp--preset--font-size--card);line-height:1.25;margin-bottom:16px}
.cs-home p{font-size:var(--wp--preset--font-size--medium);line-height:1.7;margin-bottom:20px}
.cs-home p:last-child{margin-bottom:0}
.cs-home .cs-home-wrap{width:100%;max-width:1170px;margin-inline:auto;padding-inline:28px}
.cs-home .cs-home-section{padding-block:72px}
.cs-home .cs-home-rule{border-top:1px solid var(--wp--preset--color--line)}
.cs-home .cs-home-label{font-family:var(--wp--preset--font-family--body);font-size:var(--wp--preset--font-size--small);font-weight:600;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--link);margin:0 0 22px}
.cs-home .wp-block-image{margin:0}
.cs-home .wp-block-image :is(img,svg.cs-motion-svg){display:block;width:100%;height:auto}
.cs-home .is-style-cs-text .wp-block-button__link{font-size:var(--wp--preset--font-size--interface);color:inherit;padding-block:8px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.cs-home .is-style-cs-text .wp-block-button__link:hover{color:var(--wp--preset--color--link)}
.cs-home .cs-home-hero{padding-top:68px}
.cs-home .cs-home-hero-columns{align-items:center;gap:60px;padding-bottom:66px}
.cs-home h1{font-size:var(--wp--preset--font-size--display);line-height:1.12;letter-spacing:-.02em;margin-bottom:26px}
.cs-home h1 em{font-weight:400;color:var(--wp--preset--color--link)}
.cs-home .cs-home-intro{max-width:500px;margin-bottom:25px;font-size:var(--wp--preset--font-size--large);line-height:1.55}
.cs-home .cs-home-photo{position:relative;padding-bottom:82px}
.cs-home .cs-home-hero-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:140px 0 0 0}
.cs-home .cs-home-photo-note{position:absolute;bottom:0;left:-28px;width:92%;padding:25px 28px;background:var(--cs-ink);border-top:4px solid var(--cs-gold);color:var(--cs-paper)}
.cs-home .cs-home-photo-note .cs-home-label{color:var(--cs-gold);margin-bottom:12px;font-size:var(--wp--preset--font-size--small)}
.cs-home .cs-home-photo-note p:last-child{font-family:var(--wp--preset--font-family--heading);font-size:var(--wp--preset--font-size--card);line-height:1.3}
.cs-home .cs-home-lead-line{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #d5ded5;border-left:3px solid #b99a4c;border-radius:2px;padding:24px 28px;background:linear-gradient(110deg,#f5f1e6 0%,#f8f7f0 48%,#e7eee6 100%)}
.cs-home .cs-home-lead-line::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(128deg,transparent 0 54%,rgba(196,211,199,.38) 54% 65%,transparent 65%),linear-gradient(48deg,transparent 0 67%,rgba(255,255,255,.7) 67% 80%,transparent 80%)}
.cs-home .cs-home-lead-line::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(128deg,transparent 0 46px,rgba(155,120,41,.11) 47px,transparent 48px);mask-image:linear-gradient(90deg,transparent 32%,#000 100%)}
.cs-home .cs-home-lead-line p{margin:0;font-size:var(--wp--preset--font-size--interface);line-height:1.6}
.cs-home .cs-home-lead-line p:first-child{text-transform:uppercase;letter-spacing:.03em}
.cs-home .cs-home-service-layout{gap:60px}
.cs-home .cs-home-service-layout>.wp-block-column:first-child>p:not(.cs-home-label){font-size:var(--wp--preset--font-size--interface)}
.cs-home .cs-home-service-row{display:grid;grid-template-columns:28px minmax(0,1.1fr) minmax(0,1fr);column-gap:20px;row-gap:9px;align-items:start;border-top:1px solid var(--wp--preset--color--line);padding-block:24px}
.cs-home .cs-home-service-row:last-child{border-bottom:1px solid var(--wp--preset--color--line)}
.cs-home .cs-home-service-row .cs-home-index{font-size:var(--wp--preset--font-size--small);line-height:1.6;color:var(--wp--preset--color--link);margin:3px 0 0}
.cs-home .cs-home-service-row h3{font-size:var(--wp--preset--font-size--card);margin:0}
.cs-home .cs-home-service-row h3 a{color:inherit;text-decoration:none}
.cs-home .cs-home-service-row h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.cs-home .cs-home-service-row h3 span{font-family:var(--wp--preset--font-family--body);font-size:var(--wp--preset--font-size--card);color:var(--wp--preset--color--link);white-space:nowrap}
.cs-home .cs-home-service-row p:last-child{font-size:var(--wp--preset--font-size--interface);line-height:1.7;margin:3px 0 0;color:var(--cs-muted)}
.cs-home .cs-home-trust{background:var(--cs-ink);color:var(--cs-paper);padding-block:76px}
.cs-home .cs-home-trust :where(h2,h3){color:var(--cs-paper)}
.cs-home .cs-home-trust .cs-home-label{color:var(--cs-gold)}
.cs-home .cs-home-trust p{color:var(--wp--preset--color--reverse-muted)}
.cs-home .cs-home-trust a{color:inherit}
.cs-home .cs-home-trust .is-style-cs-text .wp-block-button__link:hover{color:var(--cs-gold)}
.cs-home .cs-home-trust-columns{align-items:center}
.cs-home .cs-home-expertise{font-size:var(--wp--preset--font-size--interface)}
.cs-home .cs-home-trust-photo{position:relative;padding:0 0 36px 22px}
.cs-home .cs-home-trust-photo:before{content:"";position:absolute;left:0;bottom:14px;width:62%;height:65%;border:1px solid #82909a;pointer-events:none}
.cs-home .cs-home-skyline img{position:relative;aspect-ratio:16/10;object-fit:cover;border-radius:0 72px 0 0}
.cs-home .cs-home-trust .cs-home-photo-tag{position:relative;width:fit-content;max-width:95%;margin:-2px 0 -24px auto;padding:13px 17px;background:var(--cs-gold);color:var(--cs-ink);font-size:var(--wp--preset--font-size--small);font-weight:600;line-height:1.6}
.cs-home .cs-home-strengths{border-top:1px solid #607483;padding-top:32px;margin-top:56px;gap:38px}
.cs-home .cs-home-strength-top{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:96px;margin-bottom:18px}
.cs-home .cs-home-strength-index{font:italic var(--wp--preset--font-size--quote)/1 var(--wp--preset--font-family--heading);color:#a6b8c3;margin:0}
.cs-home .cs-home-strength-icon{width:90px;flex:0 0 90px}
.cs-home .cs-home-strengths .cs-home-label{font-size:var(--wp--preset--font-size--small);margin-bottom:15px}
.cs-home .cs-home-strengths h3{font-size:var(--wp--preset--font-size--card);line-height:1.25;min-height:2.5em}
.cs-home .cs-home-strengths p:last-child{font-size:var(--wp--preset--font-size--interface);line-height:1.75}
.cs-home .cs-home-principles{gap:30px;margin-top:32px}
.cs-home .cs-home-principle-image{overflow:hidden;border-radius:3px 44px 3px 3px;box-shadow:0 12px 25px -20px #172b3a70;margin-bottom:25px}
.cs-home .cs-home-principle-image :is(img,svg.cs-motion-svg){aspect-ratio:3/2;object-fit:cover}
.cs-home .cs-home-principles .cs-home-label,.cs-home .cs-home-principle-pattern .cs-home-label{margin-bottom:15px}
.cs-home .cs-home-principles h3,.cs-home .cs-home-principle-pattern h3{font-size:var(--wp--preset--font-size--card);line-height:1.25;min-height:2.5em;margin-bottom:16px}
.cs-home .cs-home-principles p:last-child,.cs-home .cs-home-principle-pattern p:last-child{font-size:var(--wp--preset--font-size--interface);line-height:1.75}
.cs-home .cs-home-statement{font:400 var(--wp--preset--font-size--quote)/1.3 var(--wp--preset--font-family--heading);max-width:890px;letter-spacing:normal}
.cs-home .cs-home-faq-list{margin-top:32px}
.cs-home .cs-home-faq .wp-block-details{border-top:1px solid var(--wp--preset--color--line);padding:20px 0;margin:0}
.cs-home .cs-home-faq .wp-block-details:last-child{border-bottom:1px solid var(--wp--preset--color--line)}
.cs-home .cs-home-faq summary{font:400 var(--wp--preset--font-size--minor-heading)/1.4 var(--wp--preset--font-family--heading);cursor:pointer;padding-right:12px}
.cs-home .cs-home-faq .wp-block-details p{font-size:var(--wp--preset--font-size--interface);max-width:850px;margin:17px 0 0}
.cs-home .cs-home-journal-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.cs-home .cs-home-journal-heading h2{margin-bottom:14px}
.cs-home .cs-home-journal-heading .wp-block-buttons{flex-shrink:0;padding-bottom:4px}
.cs-home .cs-home-journal .wp-block-post-template{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:30px}
.cs-home .cs-home-article-card{height:100%;display:flex;flex-direction:column;padding-top:20px;border-top:3px solid var(--cs-gold)}
.cs-home .wp-block-post-featured-image{margin:0 0 20px}
.cs-home .wp-block-post-featured-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.cs-home .wp-block-post-date{font-size:var(--wp--preset--font-size--small);color:var(--cs-muted);margin-bottom:12px;letter-spacing:.03em;text-transform:uppercase}
.cs-home .wp-block-post-title{font-size:var(--wp--preset--font-size--card);line-height:1.3;margin:0 0 16px}
.cs-home .wp-block-post-title a{color:var(--cs-ink);text-decoration:none}
.cs-home .wp-block-post-title a:hover{text-decoration:underline}
.cs-home .wp-block-post-excerpt{flex:1;display:flex;flex-direction:column}
.cs-home .wp-block-post-excerpt p{font-size:var(--wp--preset--font-size--interface);line-height:1.7}
.cs-home .wp-block-post-excerpt__more-text{margin-top:auto;padding-top:20px;margin-bottom:0}
.cs-home .wp-block-post-excerpt__more-link{font-size:var(--wp--preset--font-size--interface)}
@media (max-width:1050px) and (min-width:782px){
.cs-home .cs-home-hero-columns,.cs-home .cs-home-service-layout,.cs-home .cs-home-trust-columns{gap:32px}
.cs-home .cs-home-photo-note{left:-16px;padding:21px;width:96%}
.cs-home .cs-home-service-row{grid-template-columns:24px minmax(0,1fr);gap:8px 14px}
.cs-home .cs-home-service-row p:last-child{grid-column:2}
.cs-home .cs-home-strengths{gap:25px}
.cs-home .cs-home-strengths h3{min-height:3.75em}
.cs-home .cs-home-principles h3{font-size:var(--wp--preset--font-size--card)}
}
@media (max-width:781px){
.cs-home .cs-home-wrap{padding-inline:22px}
.cs-home .cs-home-section{padding-block:48px}
.cs-home .cs-home-hero{padding-top:40px}
.cs-home .cs-home-hero-columns{gap:35px;padding-bottom:38px}
.cs-home .cs-home-photo{max-width:540px;margin-inline:auto;padding-bottom:65px}
.cs-home .cs-home-hero-photo img{aspect-ratio:4/3;border-top-left-radius:100px}
.cs-home .cs-home-photo-note{left:0;width:90%;padding:22px}
.cs-home .cs-home-lead-line{flex-direction:column;align-items:flex-start;gap:8px;padding:20px}
.cs-home .cs-home-service-layout{gap:28px}
.cs-home .cs-home-service-layout h2{max-width:440px}
.cs-home .cs-home-service-row{grid-template-columns:24px minmax(0,1fr);gap:9px 14px;padding-block:20px}
.cs-home .cs-home-service-row p:last-child{grid-column:2;margin:0}
.cs-home .cs-home-trust{padding-block:48px}
.cs-home .cs-home-trust-columns{gap:35px}
.cs-home .cs-home-trust-photo{max-width:550px;margin-inline:auto}
.cs-home .cs-home-strengths{gap:32px;margin-top:44px;padding-top:25px}
.cs-home .cs-home-strengths>.wp-block-column{display:grid;grid-template-columns:74px minmax(0,1fr);column-gap:20px;row-gap:0;border-bottom:1px solid #607483;padding-bottom:27px}
.cs-home .cs-home-strengths>.wp-block-column:last-child{border-bottom:0;padding-bottom:0}
.cs-home .cs-home-strength-top{grid-row:1/4;display:flex;flex-direction:column;justify-content:start;gap:12px;margin:0}
.cs-home .cs-home-strength-index{font-size:var(--wp--preset--font-size--quote)}
.cs-home .cs-home-strength-icon{width:74px;flex-basis:auto}
.cs-home .cs-home-strengths h3{min-height:0}
.cs-home .cs-home-strengths .cs-home-label{margin-bottom:10px}
.cs-home .cs-home-principles{gap:35px;margin-top:26px}
.cs-home .cs-home-principles>.wp-block-column{max-width:540px;width:100%;margin-inline:auto}
.cs-home .cs-home-principles h3,.cs-home .cs-home-principle-pattern h3{min-height:0;margin-bottom:16px}
.cs-home .cs-home-principle-image{margin-bottom:22px}
.cs-home .cs-home-faq summary{font-size:var(--wp--preset--font-size--minor-heading)}
.cs-home .cs-home-journal-heading{display:block}
.cs-home .cs-home-journal-heading .wp-block-buttons{margin-top:20px}
}
@media (max-width:360px){
.cs-home .cs-home-wrap{padding-inline:18px}
.cs-home .cs-home-strengths>.wp-block-column{display:block}
.cs-home .cs-home-strength-top{flex-direction:row;justify-content:space-between;margin-bottom:18px}
.cs-home .cs-home-photo-note{width:95%;padding:18px}
}
/* The same block layouts remain recognisable in the visual editor. */
.editor-styles-wrapper .cs-home{max-width:none}

/* Operational resilience: soft decorative layers behind native, editable copy. */
.cs-home .cs-home-resilience{position:relative;isolation:isolate;background:var(--cs-paper);overflow:hidden}
.cs-home .cs-home-resilience::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("resilience-atmosphere.svg") right center/cover no-repeat}
.cs-home .cs-home-resilience-copy{position:relative;max-width:890px}
.cs-home .cs-home-resilience .cs-home-statement{margin-bottom:0}
@media(max-width:781px){
.cs-home .cs-home-resilience::before{background-position:72% center;opacity:.85}
}

/* Seven perspectives: a native image with an editable centre label. */
.cs-home .cs-home-service-visual{container-type:inline-size;position:relative;width:100%;max-width:330px;margin:28px auto 0}
.cs-home .cs-home-service-centre{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28%;margin:0;text-align:center;font-size:var(--wp--preset--font-size--interface);font-weight:600;line-height:1.25;color:var(--cs-ink);pointer-events:none}
.cs-home .cs-home-service-row:focus-within{background:#f2efe6}
.cs-home .cs-home-service-row h3 a:focus-visible{outline:2px solid var(--wp--preset--color--link);outline-offset:5px}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
.cs-home .cs-home-service-row{transition:background-color .2s ease}
.cs-home .cs-home-service-row:hover{background:#f2efe6}
}
@media(max-width:781px){
.cs-home .cs-home-service-visual{max-width:270px;margin-top:18px}
}
/* Keep the native centre text directly selectable in the visual editor. */
.editor-styles-wrapper .cs-home .cs-home-service-centre{pointer-events:auto}

/* Give enlarged text its own line when the artwork cannot contain the label. */
@container(max-width:12rem){
.cs-home .cs-home-service-centre{position:static;transform:none;width:auto;margin:12px 0 0}
}

/* Numbered service wheel: colours and shape both indicate the active service. */
.cs-home .cs-home-service-visual .cs-service-wheel{display:block;width:100%;height:auto;overflow:visible}
.cs-home .cs-home-service-visual[data-cs-wheel-ready] .cs-home-service-centre{font-family:var(--wp--preset--font-family--heading,Georgia,serif);font-weight:400;line-height:1.15;font-size:clamp(16px,5cqi,22px);width:30%}
.cs-home .cs-wheel-face{stroke:#c9a84e;stroke-width:1.25;stroke-linejoin:round}
.cs-home .cs-wheel-light{fill:#b6d5cd;fill-opacity:.16;pointer-events:none}
.cs-home .cs-wheel-fold{fill:#0b2639;fill-opacity:.24;pointer-events:none}
.cs-home .cs-wheel-spoke{stroke:#e4bf5d;stroke-width:1.4;pointer-events:none}
.cs-home .cs-wheel-number-bg{fill:#193346;stroke:#e6bf55;stroke-width:1;pointer-events:none}
.cs-home .cs-wheel-number{fill:#ffe095;font:700 13px Arial,sans-serif;pointer-events:none}
.cs-home .cs-wheel-facet{cursor:pointer;outline:none}
.cs-home .cs-wheel-facet.is-active .cs-wheel-face,.cs-home .cs-wheel-facet:focus-visible .cs-wheel-face{stroke:#ffcc34;stroke-width:4;filter:brightness(1.28)}
.cs-home .cs-wheel-facet.is-active .cs-wheel-number-bg,.cs-home .cs-wheel-facet:focus-visible .cs-wheel-number-bg{fill:#ffcf3b;stroke:#fff8dc;stroke-width:2}
.cs-home .cs-wheel-facet.is-active .cs-wheel-number,.cs-home .cs-wheel-facet:focus-visible .cs-wheel-number{fill:#203448}
.cs-home .cs-wheel-core{fill:#fbfaf6;stroke:#d1b25d;stroke-width:1.5;pointer-events:none}
.cs-home .cs-wheel-node{fill:#ffcf3b;stroke:#725314;stroke-width:.8;pointer-events:none}
.cs-home .cs-home-service-row.cs-service-row-active{background:#f0ede3;box-shadow:inset 0 3px #aa8425}
@media(prefers-reduced-motion:no-preference){.cs-home .cs-wheel-face,.cs-home .cs-wheel-number-bg{transition:filter .18s ease,stroke-width .18s ease,fill .18s ease}.cs-home .cs-wheel-arrived{animation:cs-wheel-arrive .65s ease-out both}@keyframes cs-wheel-arrive{from{opacity:.45;transform:scale(.97)}to{opacity:1;transform:scale(1)}}}
@media(max-width:781px){.cs-home .cs-home-service-visual[data-cs-wheel-ready]{max-width:290px}}
@container(max-width:12rem){.cs-home .cs-home-service-visual[data-cs-wheel-ready] .cs-home-service-centre{position:static;transform:none;width:auto;font-size:18px}}




/* Larger service wheel with optional, slow motion. */
.cs-home .cs-home-service-visual[data-cs-wheel-ready]{max-width:360px}
.cs-home .cs-home-service-visual[data-cs-wheel-ready] .cs-home-service-centre{width:38%;font-size:clamp(16px,5.2cqi,23px)}
@media(max-width:781px){.cs-home .cs-home-service-visual[data-cs-wheel-ready]{max-width:320px}}
@media(prefers-reduced-motion:no-preference){
 .cs-home .cs-wheel-rotation{transform-box:view-box;transform-origin:200px 200px;animation:cs-wheel-spin 120s linear infinite}
 .cs-home .cs-wheel-number{transform-box:view-box;transform-origin:0 0;animation:cs-wheel-counterspin 120s linear infinite}
 .cs-home .cs-home-service-visual:hover .cs-wheel-rotation,.cs-home .cs-home-service-visual:hover .cs-wheel-number,
 .cs-home .cs-home-service-visual:focus-within .cs-wheel-rotation,.cs-home .cs-home-service-visual:focus-within .cs-wheel-number,
 .cs-home .cs-home-service-visual.cs-wheel-keyboard-focus .cs-wheel-rotation,.cs-home .cs-home-service-visual.cs-wheel-keyboard-focus .cs-wheel-number,
 .cs-home .cs-home-service-layout:has(.cs-home-service-row:hover) .cs-wheel-rotation,.cs-home .cs-home-service-layout:has(.cs-home-service-row:hover) .cs-wheel-number,
 .cs-home .cs-home-service-layout:has(.cs-home-service-row:focus-within) .cs-wheel-rotation,.cs-home .cs-home-service-layout:has(.cs-home-service-row:focus-within) .cs-wheel-number{animation-play-state:paused}
 @keyframes cs-wheel-spin{to{transform:rotate(360deg)}}
 @keyframes cs-wheel-counterspin{to{transform:rotate(-360deg)}}
}
@container(max-width:12rem){.cs-home .cs-home-service-visual[data-cs-wheel-ready] .cs-home-service-centre{width:auto}}

/* Faceted petal silhouette inspired by the service-ring reference. */
.cs-home .cs-wheel-number{fill:#fff6de;font:600 17px Georgia,serif;pointer-events:none}
.cs-home .cs-wheel-facet.is-active .cs-wheel-number,.cs-home .cs-wheel-facet:focus-visible .cs-wheel-number{fill:#fff6de}
.cs-home .cs-wheel-facet{text-decoration:none}

/* Fill both faces of the active service. */
.cs-home .cs-wheel-facet:is(.is-active,:focus-visible) .cs-wheel-face:first-of-type{fill:#f1d37b;filter:none}
.cs-home .cs-wheel-facet:is(.is-active,:focus-visible) .cs-wheel-face:nth-of-type(2){fill:#d5b052;filter:none}
.cs-home .cs-wheel-facet:is(.is-active,:focus-visible) .cs-wheel-number{fill:#203448}
