.site-page {
    --navy:#203c32; --navy-deep:#172e27; --blue:#355d49; --blue-bright:#a56344;
    --gold:#e6c5a3; --gold-soft:#f3dfc5; --ink:#29372f; --text:#565f53;
    --muted:#687060; --border:#dcd9cd; --surface:#eae4d8; --background:#f6f1e8;
    --warm:#f6f1e8; --white:#fffdf7; --terra:#a26143;
    --container:1380px; --section:clamp(64px,7vw,110px);
    background:var(--background); color:var(--ink);
}
.site-page :focus-visible { outline:3px solid #aa633c; outline-offset:5px; }
.site-page .site-header,.site-page.has-dark-hero .site-header:not(.is-scrolled),.site-page .site-header.is-scrolled {
    position:sticky; top:0; min-height:86px; background:#f8f3eb; color:var(--navy); border-color:var(--border); box-shadow:none; backdrop-filter:none;
}
.site-page .header-shell { max-width:1480px; gap:20px; }
.site-page .brand img { background:transparent; border-radius:0; }
.site-page .brand-copy strong { font:600 25px/1.1 var(--font-display); letter-spacing:.025em; }
.site-page .brand-copy small { font-size:8px; max-width:175px; color:#696d60; letter-spacing:.07em; }
.site-page .primary-nav { gap:clamp(12px,1.3vw,22px); }
.site-page .primary-nav > a { font-size:12px; }
.site-page .primary-nav .nav-portal,.site-page.has-dark-hero .site-header:not(.is-scrolled) .primary-nav .nav-portal { background:var(--navy); color:var(--white); border-color:var(--navy); border-radius:0; font-size:10px; letter-spacing:.06em; }
.site-page .button { border-radius:0; font-size:11px; min-height:50px; letter-spacing:.06em; }
.site-page .text-link { min-height:44px; font-size:11px; letter-spacing:.05em; }
.site-page .eyebrow { font-size:10px; letter-spacing:.17em; line-height:1.5; color:#826746; }
.site-page .eyebrow.light { color:#d4c4a9; }
.site-page .reveal,.site-page .reveal.is-visible { opacity:1; transform:none; }
.site-page figure { min-width:0; }
.site-page .ces-photo,.site-page .ces-cover-photo { margin:0; }
/* Preserve every source image in full, with no zoom or head-clipping masks. */
.ces-photo img,.ces-cover-photo img { display:block; width:100%; height:auto; object-fit:contain; transform:none; }
.ces-photo figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:16px 0; font-size:11px; color:#716e5d; line-height:1.5; }
.ces-photo figcaption span { font-size:9px; font-weight:700; letter-spacing:.1em; }
.ces-cover { color:var(--white); background:var(--navy); padding-top:clamp(38px,5vw,76px); }
.ces-cover-grid { display:grid; grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr); gap:clamp(28px,5vw,74px); align-items:center; padding-bottom:54px; }
.ces-cover h1 { font:400 clamp(52px,6.3vw,96px)/.99 var(--font-display); letter-spacing:-.055em; margin:22px 0 28px; }
.ces-cover h1 em { color:#e6b18c; font-weight:400; }
.ces-cover-copy > p:not(.eyebrow) { font-size:16px; line-height:1.75; color:#e1e5d8; margin:0 0 28px; }
.ces-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.ces-explore { display:inline-flex; gap:28px; align-items:center; margin-top:30px; min-height:40px; color:#d5d9c9; font-size:11px; text-decoration:none; }
.ces-cover-photo { background:#304b3e; padding:12px 12px 0; border:1px solid #617260; }
.ces-cover-photo figcaption { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:18px 2px; font-size:11px; color:#d9dfd0; line-height:1.5; }
.ces-cover-photo figcaption > span:first-child { font-size:8px; letter-spacing:.1em; color:#dfc3a0; }
.ces-service-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; margin-bottom:0; border-top:1px solid #ffffff29; }
.ces-service-rail > div { padding:25px 25px 27px; border-right:1px solid #ffffff29; }
.ces-service-rail > div:first-child { padding-left:0; }.ces-service-rail > div:last-child { border-right:0; }
.ces-service-rail dt { color:#c8b99c; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ces-service-rail dd { margin:10px 0 0; font-size:13px; line-height:1.5; }
.ces-chapter { padding-block:var(--section); scroll-margin-top:85px; }
.ces-home h2 { margin:0; font:400 clamp(36px,4.2vw,64px)/1.06 var(--font-display); letter-spacing:-.045em; }
.ces-home h2 em,.ces-access-copy h3 em { color:var(--terra); font-weight:400; }
.ces-story-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:center; gap:clamp(34px,7vw,105px); }
.ces-heritage-photo { padding:14px 14px 0; background:#e8e1d4; }
.ces-story-copy > p:not(.eyebrow),.ces-footprint-grid > div > p:not(.eyebrow) { color:var(--text); font-size:15px; line-height:1.85; margin:24px 0; }
.ces-services { padding-top:0; }
.ces-section-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; margin-bottom:42px; padding-top:42px; border-top:1px solid var(--border); }
.ces-section-heading > p { max-width:350px; margin:0 0 5px; color:var(--text); font-size:15px; line-height:1.8; }
.ces-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ces-service-grid article { display:flex; flex-direction:column; min-width:0; }
.ces-service-grid .ces-photo img { aspect-ratio:3/2; background:var(--surface); object-fit:contain; }
.ces-index { margin:23px 0 14px; color:#827354; font-size:9px; font-weight:700; letter-spacing:.1em; }
.ces-service-grid h3 { font:400 clamp(25px,2.4vw,36px)/1.1 var(--font-display); letter-spacing:-.025em; margin:0; }
.ces-service-grid p { color:var(--text); font-size:14px; line-height:1.75; margin:18px 0 22px; }
.ces-service-grid .text-link { display:flex; justify-content:space-between; margin-top:auto; padding-bottom:16px; border-color:#c3c8b5; }
.ces-service-grid .text-link span { font-size:19px; font-weight:400; }
.ces-progress { background:#233a31; color:var(--white); }
.ces-progress-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,10vw,150px); align-items:center; }
.ces-progress h2 em { color:#e6b18c; }
.ces-progress-grid > div > p:not(.eyebrow) { max-width:470px; color:#d0d7c8; margin:28px 0; font-size:15px; line-height:1.8; }
.ces-timeline { list-style:none; margin:0; padding:0; border-top:1px solid #ffffff32; }
.ces-timeline li { display:grid; grid-template-columns:80px minmax(0,1fr); gap:24px; padding:24px 0; border-bottom:1px solid #ffffff32; }
.ces-timeline li > span { color:#e1bd94; font-size:12px; padding-top:6px; }
.ces-timeline h3 { font:400 28px/1.2 var(--font-display); margin:0; }
.ces-timeline p { margin:7px 0 0; color:#c8d2c1; font-size:12px; line-height:1.6; }
.ces-workspace .ces-section-heading { border-top:0; padding-top:0; }
.ces-access-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.ces-access-grid article { border:1px solid var(--border); background:#fcfaf4; }
.ces-access-copy { padding:clamp(24px,3vw,44px); }
.ces-access-copy h3 { font:400 clamp(32px,3.4vw,48px)/1.08 var(--font-display); margin:0 0 23px; letter-spacing:-.035em; }
.ces-access-copy > p:not(.eyebrow) { color:var(--text); font-size:14px; line-height:1.8; }
.ces-access-copy ul { list-style:none; padding:0; margin:24px 0; border-top:1px solid var(--border); }
.ces-access-copy li { border-bottom:1px solid var(--border); padding:12px 0; font-size:13px; }
.ces-access-copy li::before { content:'↗'; margin-right:12px; color:#9d7753; }
.ces-footprint { background:#e8e8dc; }
.ces-footprint-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,120px); align-items:center; }
.ces-regions > div { display:grid; grid-template-columns:30px minmax(0,1fr); gap:7px 20px; padding:23px 0; border-top:1px solid #c7cbbb; }
.ces-regions > div:last-child { border-bottom:1px solid #c7cbbb; }
.ces-regions span { color:#8c7553; font-size:10px; padding-top:8px; }
.ces-regions h3 { font:400 30px/1.2 var(--font-display); margin:0; }
.ces-regions p { grid-column:2; margin:0; color:var(--text); font-size:12px; line-height:1.7; }
.ces-closing { text-align:center; padding:clamp(70px,9vw,125px) 0; }
.ces-closing h2 { font-size:clamp(44px,6.5vw,90px); }
.ces-closing .ces-actions { justify-content:center; margin-top:35px; }
.site-page .site-footer { background:#172e27; padding-top:60px; }
.ces-footer-heading { margin-bottom:44px; padding-bottom:40px; border-bottom:1px solid #ffffff26; color:#f6f1e8; font:400 clamp(26px,3.5vw,48px)/1.15 var(--font-display); letter-spacing:-.03em; }
.ces-footer-heading em { color:#ddac84; }
.site-page .footer-grid { gap:38px; }
.site-page .footer-identity img { background:transparent; border-radius:0; width:60px; height:auto; }
.site-page .footer-identity strong { font:400 21px/1.3 var(--font-display); text-transform:none; }
.site-page .footer-grid a { min-height:28px; line-height:1.7; }
.site-page .footer-bottom { margin-top:42px; line-height:1.65; }
.ces-inner-hero { padding:65px 0 55px; background:var(--warm); }
.ces-inner-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(32px,6vw,90px); align-items:center; }
.ces-inner-text-only { grid-template-columns:1fr; }
.ces-inner-copy { min-width:0; }.ces-inner-copy h1 { font:400 clamp(38px,4.9vw,72px)/1.05 var(--font-display); margin:0; letter-spacing:-.045em; }
.ces-inner-copy > p:last-child { font-size:15px; line-height:1.8; color:var(--text); margin:24px 0 0; max-width:780px; }
.ces-back-link { display:inline-flex; align-items:center; min-height:40px; margin-bottom:25px; color:#68725e; font-size:12px; text-decoration:none; }
.site-page .inner-content { background:#fcfaf5; padding-block:50px 80px; }
.site-page .info-row { grid-template-columns:45px minmax(220px,.7fr) minmax(0,1fr); gap:28px; }
.site-page .info-row h2 { font-family:var(--font-display); font-weight:400; }
.site-page .info-row > span { color:#99714c; }
.site-page .info-row p { font-size:15px; line-height:1.8; }
.site-page .not-found { padding-top:90px; }
@media(max-width:1180px) {
    .site-page .site-header,.site-page.has-dark-hero .site-header:not(.is-scrolled),.site-page .site-header.is-scrolled { min-height:76px; }
    .site-page .primary-nav { background:#203c32; color:#fcfaf2; padding-top:95px; overflow:auto; gap:0; }
    .site-page .primary-nav > a { font-size:26px; padding:14px 0; }
    .site-page .primary-nav .nav-portal { font-size:11px; background:#e6c5a3!important; color:#203c32!important; border-color:#e6c5a3!important; }
    .site-page.menu-open .site-header,.site-page.menu-open.has-dark-hero .site-header:not(.is-scrolled),.site-page.menu-open .site-header.is-scrolled { color:#fcfaf2; background:#203c32; }
    .site-page.menu-open .menu-toggle { color:#fcfaf2; }
    .site-page.menu-open .brand-copy small { color:#d2d9c7; }
    .site-page .menu-toggle { border-radius:0; }
    .ces-cover-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:30px; }
    .ces-cover h1 { font-size:clamp(48px,6.5vw,76px); }
    .ces-actions { gap:18px; }.ces-cover-photo figcaption { align-items:flex-start; flex-direction:column; gap:5px; }
    .ces-section-heading { gap:35px; }
}
@media(max-width:820px) {
    .ces-cover-grid,.ces-story-grid,.ces-progress-grid,.ces-footprint-grid,.ces-inner-grid { grid-template-columns:1fr; gap:36px; }
    .ces-cover-grid { padding-bottom:30px; }.ces-cover h1 { font-size:clamp(55px,10vw,82px); }
    .ces-cover-photo { max-width:680px; }.ces-cover-photo figcaption { flex-direction:row; }
    .ces-explore { margin-top:18px; }.ces-service-rail > div { padding:20px 15px; }
    .ces-service-rail dd { font-size:11px; }.ces-service-rail dt { font-size:8px; }
    .ces-story-copy { grid-row:1; }.ces-story-grid { gap:32px; }
    .ces-section-heading { grid-template-columns:1fr; gap:24px; }.ces-section-heading > p { max-width:540px; }
    .ces-service-grid { gap:22px; }.ces-service-grid h3 { font-size:25px; }.ces-service-grid p { font-size:13px; }
    .ces-service-grid .text-link { align-items:flex-start; font-size:10px; }
    .ces-access-grid { gap:20px; }.ces-access-copy { padding:24px; }
    .ces-inner-hero { padding-top:32px; }.ces-inner-grid .ces-photo { max-width:660px; }
    .site-page .info-row { grid-template-columns:35px minmax(0,1fr); gap:14px; }.site-page .info-row p { grid-column:2; }
}
@media(max-width:560px) {
    .site-page { --gutter:22px; --section:64px; }
    .site-page .site-header,.site-page.has-dark-hero .site-header:not(.is-scrolled),.site-page .site-header.is-scrolled { min-height:70px; }
    .site-page .header-shell { width:calc(100% - 36px); }.site-page .brand-copy strong { font-size:23px; }
    .site-page .primary-nav { padding:88px 26px 30px; }.site-page .primary-nav > a { font-size:23px; padding:13px 0; }
    .ces-cover { padding-top:36px; }.ces-cover h1 { font-size:clamp(48px,13vw,66px); }
    .ces-cover-copy > p:not(.eyebrow) { font-size:14px; }.ces-cover .eyebrow { font-size:9px; }
    .ces-actions { gap:18px; }.ces-cover .ces-actions { align-items:center; }
    .ces-cover-photo { padding:8px 8px 0; }.ces-cover-photo figcaption { padding:13px 1px; font-size:10px; flex-direction:column; }
    .ces-service-rail { grid-template-columns:1fr; }.ces-service-rail > div,.ces-service-rail > div:first-child { padding:16px 0; display:flex; justify-content:space-between; gap:24px; border-right:0; border-bottom:1px solid #ffffff20; }
    .ces-service-rail > div:last-child { border-bottom:0; }.ces-service-rail dt { padding-top:2px; font-size:8px; flex-shrink:0; }.ces-service-rail dd { margin:0; font-size:11px; text-align:right; }
    .ces-home h2 { font-size:38px; }.ces-heritage-photo { padding:9px 9px 0; }
    .ces-photo figcaption { font-size:10px; }.ces-section-heading { padding-top:30px; margin-bottom:30px; }
    .ces-service-grid,.ces-access-grid { grid-template-columns:1fr; gap:40px; }.ces-service-grid h3 { font-size:32px; }.ces-service-grid p { font-size:15px; }.ces-service-grid .text-link { align-items:center; font-size:11px; }
    .ces-index { margin-top:20px; }.ces-timeline li { gap:15px; grid-template-columns:68px minmax(0,1fr); }.ces-timeline h3 { font-size:26px; }
    .ces-access-copy h3 { font-size:38px; }.ces-access-copy > p:not(.eyebrow) { font-size:15px; }.ces-access-copy .button { width:100%; justify-content:space-between; }
    .ces-closing h2 { font-size:46px; }.ces-closing .ces-actions { flex-direction:column; }
    .ces-inner-copy h1 { font-size:40px; }.ces-back-link { margin-bottom:16px; }.ces-inner-hero { padding-bottom:32px; }
    .site-page .info-row { padding:30px 0; }.site-page .info-row h2 { font-size:28px; }.site-page .info-row p { font-size:14px; }
    .site-page .footer-grid { gap:30px 22px; }.site-page .footer-grid a { min-height:36px; }
    .site-page .footer-identity img { width:50px; }.ces-footer-heading { font-size:33px; }.site-page .footer-bottom { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .site-page * { scroll-behavior:auto!important; transition:none!important; } }
