/* Generated by tools/build-premium-css.py; edit the source sheets. */

/* Source: main.css */
:root {
    --cec-black: #11100f;
    --cec-ink: #28231f;
    --cec-navy: #17202b;
    --cec-cream: #f2efe9;
    --cec-white: #fffdf9;
    --cec-gold: #aa8146;
    --cec-gold-deep: #765126;
    --cec-sage: #6f725c;
    --cec-taupe: #6b6259;
    --cec-line: rgba(17, 17, 17, 0.12);
    --cec-shadow: 0 22px 60px rgba(17, 17, 17, 0.12);
    --cec-font: Aptos, Calibri, Avenir, "Segoe UI", Arial, sans-serif;
    --cec-radius: 8px;
    --cec-wrap: min(1120px, calc(100vw - 32px));
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--cec-ink);
    background: var(--cec-cream);
    background-image: repeating-linear-gradient(105deg, rgba(17, 17, 17, 0.012) 0 1px, transparent 1px 8px);
    font-family: var(--cec-font);
    font-size: 16px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--cec-black);
    text-decoration-color: rgba(183, 150, 114, 0.6);
    text-underline-offset: 0.2em;
}

a:hover,
a:focus-visible {
    color: var(--cec-gold);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 3px solid rgba(176, 138, 87, 0.42);
    outline-offset: 3px;
}

h1,
h2,
h3,
h4 {
    margin: 0 0 0.6em;
    color: var(--cec-black);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: 0;
}

h1 {
    font-size: 2.45rem;
    max-width: 930px;
}

h2 {
    font-size: 1.85rem;
}

h3 {
    font-size: 1.18rem;
}

p {
    margin: 0 0 1rem;
}

ul,
ol {
    padding-left: 1.25rem;
}

button,
input,
select,
textarea {
    font: inherit;
}

.wrap {
    width: var(--cec-wrap);
    margin-inline: auto;
}

.wrap--narrow {
    max-width: 820px;
}

.skip-link,
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link:focus {
    z-index: 1000;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0.8rem 1rem;
    clip: auto;
    color: var(--cec-white);
    background: var(--cec-black);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 253, 249, 0.96);
    border-bottom: 1px solid rgba(167, 125, 66, 0.2);
    backdrop-filter: blur(18px);
}

.header-scroll-sentinel {
    position: absolute;
    top: 12px;
    left: 0;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.site-header.is-scrolled {
    box-shadow: 0 10px 30px rgba(23, 32, 43, 0.1);
}

.site-header__inner {
    width: var(--cec-wrap);
    min-height: 82px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    color: var(--cec-black);
    text-decoration: none;
}

.site-brand__mark {
    position: relative;
    width: 108px;
    min-width: 108px;
    display: block;
}

.site-brand__mark picture,
.site-brand__mark img {
    display: block;
    width: 100%;
    height: auto;
}

.site-brand__mark img {
    filter: drop-shadow(0 5px 10px rgba(17, 17, 17, 0.08));
    opacity: 0.98;
}

.nav-toggle {
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-content: center;
    gap: 5px;
    padding: 0;
    color: var(--cec-black);
    background: var(--cec-white);
    border: 1px solid var(--cec-line);
    border-radius: 8px;
    cursor: pointer;
}

.nav-toggle__line {
    width: 20px;
    height: 2px;
    background: currentColor;
    border-radius: 99px;
}

.site-navigation {
    position: fixed;
    inset: 72px 16px auto;
    display: none;
    padding: 0.75rem;
    background: var(--cec-white);
    border: 1px solid var(--cec-line);
    border-radius: var(--cec-radius);
    box-shadow: var(--cec-shadow);
}

.site-navigation.is-open {
    display: block;
}

.primary-menu,
.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-menu {
    display: grid;
    gap: 0.2rem;
}

.primary-menu a {
    display: block;
    padding: 0.8rem 0.9rem;
    color: var(--cec-ink);
    text-decoration: none;
    border-radius: 7px;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a {
    color: var(--cec-black);
    background: rgba(167, 125, 66, 0.12);
}

.header-actions,
.header-phone,
.header-email {
    display: none;
}

.button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.78rem 1.05rem;
    border: 1px solid transparent;
    border-radius: var(--cec-radius);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.button:hover,
.button:focus-visible {
    transform: translateY(-1px);
}

.button--primary {
    color: var(--cec-white);
    background: var(--cec-gold-deep);
    border-color: var(--cec-gold-deep);
    box-shadow: 0 12px 26px rgba(118, 81, 38, 0.28);
}

.button--primary:hover,
.button--primary:focus-visible {
    color: var(--cec-white);
    background: #583b1b;
    border-color: #583b1b;
}

.button--secondary {
    color: var(--cec-navy);
    background: transparent;
    border-color: rgba(23, 32, 43, 0.34);
}

.button--ghost {
    color: var(--cec-black);
    background: transparent;
    border-color: rgba(17, 17, 17, 0.28);
}

.hero {
    position: relative;
    min-height: calc(100svh - 72px);
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background: var(--cec-white);
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: max(34vw, 500px);
    background: var(--cec-navy);
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 0;
}

.hero__content {
    position: relative;
    z-index: 1;
    color: var(--cec-ink);
}

.hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(1.25rem, 3vw, 2.5rem) clamp(2rem, 5vw, 4.5rem);
    align-items: center;
    padding: 3rem 0;
}

.hero h1 {
    max-width: 760px;
    color: var(--cec-navy);
    font-size: 2.25rem;
    padding-left: 1rem;
    border-left: 3px solid var(--cec-gold);
}

.hero .eyebrow {
    color: var(--cec-gold-deep);
}

.hero__lead {
    max-width: 680px;
    color: #554f49;
    font-size: 1.04rem;
}

.hero__signature {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    margin: 0.35rem 0 0;
    color: #745833;
    font-weight: 700;
}

.hero__signature::before {
    content: "";
    width: 86px;
    height: 32px;
    background: url("../images/olive-branch.svg") center / contain no-repeat;
    opacity: 0.86;
}

.hero__signature::after {
    content: "";
    width: 86px;
    height: 32px;
    background: url("../images/olive-branch.svg") center / contain no-repeat;
    opacity: 0.86;
    transform: scaleX(-1);
}

.hero__actions,
.footer-cta__actions,
.article-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.5rem;
}

.hero__facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    max-width: none;
    margin: 0;
}

.hero-facts-band {
    background: #eef0f2;
    border-top: 1px solid rgba(167, 125, 66, 0.24);
    border-bottom: 1px solid rgba(23, 32, 43, 0.1);
}

.hero-facts-band .hero__facts {
    padding: 1rem 0;
    margin-inline: auto;
}

.hero__facts div {
    padding: 0.25rem 0.9rem;
    background: transparent;
    border-left: 2px solid rgba(167, 125, 66, 0.52);
}

.hero__facts dt {
    color: var(--cec-taupe);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.hero__facts dd {
    margin: 0.15rem 0 0;
    color: var(--cec-navy);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.hero__facts a {
    color: var(--cec-navy);
}

.advisor-hero {
    position: relative;
    max-width: min(480px, 100%);
    margin: 0;
    padding: 0;
    justify-self: center;
    background: transparent;
    border: 1px solid rgba(167, 125, 66, 0.52);
    border-radius: 4px;
    box-shadow: 0 28px 70px rgba(10, 14, 20, 0.28);
}

.advisor-hero::before {
    content: "";
    position: absolute;
    inset: 0.8rem;
    border: 1px solid rgba(255, 253, 249, 0.48);
    border-radius: 3px;
    pointer-events: none;
    z-index: 1;
}

.advisor-hero picture {
    display: block;
    overflow: hidden;
    background: var(--cec-cream);
    border: 0;
    border-radius: 3px;
    box-shadow: none;
}

.advisor-hero img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    filter: saturate(0.94) contrast(1.03) sepia(0.04);
}

.advisor-hero figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: calc(100% - 1.25rem);
    padding: 0.8rem 0.95rem;
    color: var(--cec-white);
    background: rgba(23, 32, 43, 0.94);
    border: 0;
    border-top: 2px solid var(--cec-gold);
    border-radius: 3px 0 0 0;
    box-shadow: 0 16px 35px rgba(10, 14, 20, 0.22);
    backdrop-filter: blur(12px);
    z-index: 3;
}

.advisor-hero figcaption strong,
.advisor-hero figcaption span {
    display: block;
}

.advisor-hero figcaption span {
    color: rgba(255, 253, 249, 0.78);
    font-size: 0.86rem;
}

.eyebrow {
    margin: 0 0 0.8rem;
    color: #7a6047;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.lede {
    max-width: 760px;
    color: var(--cec-taupe);
    font-size: 1.1rem;
}

.section,
.page-content {
    padding: clamp(3.25rem, 6vw, 5rem) 0;
    background: var(--cec-cream);
}

.section--intro,
.section--soft,
.content-section--soft {
    background: var(--cec-white);
}

.section--objectives {
    position: relative;
    overflow: hidden;
    background: #eeebe5;
}

.section--objectives::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: min(38vw, 520px);
    background:
        linear-gradient(90deg, rgba(238, 235, 229, 0.2), rgba(238, 235, 229, 0.98)),
        url("../images/decor-eden-lounge.webp") center / cover no-repeat;
    opacity: 0.18;
    pointer-events: none;
}

.section--objectives > .wrap {
    position: relative;
    z-index: 1;
}

.section--advisor {
    position: relative;
    overflow: hidden;
    background: var(--cec-white);
}

.section--advisor::before {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: min(42vw, 560px);
    background:
        linear-gradient(90deg, rgba(255, 253, 249, 0.96), rgba(255, 253, 249, 0.2)),
        url("../images/decor-eden-desk.webp") center / cover no-repeat;
    opacity: 0.16;
    pointer-events: none;
}

.section--advisor > .wrap {
    position: relative;
    z-index: 1;
}

.section--dark {
    color: rgba(255, 255, 255, 0.82);
    background: var(--cec-navy);
}

.section--dark h2,
.section--dark h3,
.section--dark .eyebrow {
    color: var(--cec-white);
}

.split {
    display: grid;
    gap: clamp(1.8rem, 5vw, 4rem);
}

.split--center {
    align-items: center;
}

.section-heading {
    max-width: 760px;
    margin-bottom: 2rem;
}

.service-grid,
.post-grid {
    display: grid;
    gap: 1rem;
}

.service-card,
.post-card,
.review-placeholder,
.contact-panel,
.reason-list article,
.faq-item {
    background: var(--cec-white);
    border: 1px solid var(--cec-line);
    border-radius: var(--cec-radius);
    box-shadow: 0 12px 34px rgba(23, 32, 43, 0.055);
}

.service-card,
.post-card,
.review-placeholder,
.contact-panel,
.reason-list article {
    padding: 1.3rem;
}

.service-card h3,
.post-card h2 {
    font-size: 1.22rem;
}

.service-grid--featured .service-card {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    background: var(--cec-white);
    border-top: 2px solid rgba(167, 125, 66, 0.7);
}

.service-grid--featured .service-card::before {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    margin-bottom: 1rem;
    background: var(--cec-gold);
    border-radius: 99px;
}

.advisor-section {
    display: grid;
    gap: clamp(1.6rem, 5vw, 3.8rem);
    align-items: center;
}

.advisor-section__photo {
    margin: 0;
}

.advisor-section__photo picture {
    display: block;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 22px 56px rgba(16, 24, 39, 0.16);
}

.advisor-section__photo img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.trust-list {
    display: grid;
    gap: 0.75rem;
    padding-left: 0;
    margin: 1.4rem 0;
    list-style: none;
}

.trust-list li {
    position: relative;
    padding-left: 1.8rem;
    color: #514941;
}

.trust-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 10px;
    height: 10px;
    background: var(--cec-sage);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(176, 138, 87, 0.14);
}

.section-action {
    margin-top: 1.4rem;
}

.reason-list {
    display: grid;
    gap: 1rem;
}

.reason-list article {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

.reason-list span {
    display: inline-flex;
    margin-bottom: 0.8rem;
    color: var(--cec-gold);
    font-weight: 800;
}

.steps-list {
    display: grid;
    gap: 0.8rem;
    padding-left: 0;
    list-style: none;
    counter-reset: steps;
}

.steps-list li {
    position: relative;
    min-height: 72px;
    padding: 1rem 1rem 1rem 4rem;
    background: var(--cec-white);
    border: 1px solid var(--cec-line);
    border-radius: var(--cec-radius);
}

.steps-list li::before {
    counter-increment: steps;
    content: counter(steps);
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    color: var(--cec-white);
    background: var(--cec-gold);
    border-radius: 50%;
    font-weight: 800;
}

.check-list {
    display: grid;
    gap: 0.75rem;
    padding-left: 0;
    list-style: none;
}

.check-list li {
    position: relative;
    padding-left: 1.6rem;
}

.check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65rem;
    width: 9px;
    height: 9px;
    background: var(--cec-gold);
    border-radius: 50%;
}

.local-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.1rem;
}

.local-links a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.6rem 0;
    color: var(--cec-black);
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(23, 32, 43, 0.14);
    border-radius: 0;
    text-decoration: none;
}

.local-links a:hover,
.local-links a:focus-visible {
    color: var(--cec-gold-deep);
    border-color: var(--cec-gold);
}

.faq-list {
    display: grid;
    gap: 0.8rem;
}

.faq-item {
    padding: 0;
    overflow: hidden;
}

.faq-item summary {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    color: var(--cec-black);
    font-weight: 800;
    cursor: pointer;
}

.faq-item summary::after {
    content: "+";
    color: var(--cec-gold);
    font-size: 1.4rem;
    line-height: 1;
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-item p {
    padding: 0 1.1rem 1rem;
    margin: 0;
    color: var(--cec-taupe);
}

.page-intro {
    max-width: 920px;
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.page-intro h1 {
    max-width: 820px;
    padding-left: 1rem;
    color: var(--cec-navy);
    border-left: 3px solid var(--cec-gold);
}

.page-intro .lede {
    max-width: 780px;
}

.breadcrumbs {
    margin-bottom: 1.2rem;
    color: var(--cec-taupe);
    font-size: 0.92rem;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.breadcrumbs li + li::before {
    content: "/";
    margin-right: 0.45rem;
    color: rgba(143, 122, 102, 0.7);
}

.entry-content {
    max-width: 900px;
}

.entry-content > * + * {
    margin-top: 1rem;
}

.entry-content h2 {
    margin-top: 2.5rem;
}

.entry-content a.button {
    margin-top: 0.5rem;
}

.content-section {
    margin: 0 0 1.2rem;
    padding: clamp(1.3rem, 4vw, 2rem);
    background: var(--cec-white);
    border: 1px solid var(--cec-line);
    border-radius: var(--cec-radius);
}

.contact-layout {
    display: grid;
    gap: 1.25rem;
}

.contact-layout .contact-panel {
    border-top: 2px solid rgba(170, 129, 70, 0.72);
}

.contact-list {
    padding-left: 0;
    list-style: none;
}

.contact-list li + li {
    margin-top: 0.6rem;
}

.contact-form {
    display: grid;
    gap: 1rem;
}

.form-field {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.form-field--hidden {
    display: none;
}

.form-field label {
    color: var(--cec-black);
    font-weight: 700;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 0.75rem 0.85rem;
    color: var(--cec-ink);
    background: var(--cec-white);
    border: 1px solid rgba(17, 17, 17, 0.18);
    border-radius: 7px;
}

.form-field textarea {
    resize: vertical;
}

.form-field--consent label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    font-weight: 500;
}

.form-field--consent input {
    width: 20px;
    min-height: 20px;
    margin: 0.25rem 0 0;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    outline: 3px solid rgba(183, 150, 114, 0.28);
    border-color: var(--cec-gold);
}

.form-consent {
    color: var(--cec-taupe);
    font-size: 0.92rem;
}

.notice {
    padding: 0.9rem 1rem;
    border-radius: var(--cec-radius);
}

.notice--success {
    background: #eef7ed;
    border: 1px solid #bad7b7;
}

.notice--error {
    background: #fff1ed;
    border: 1px solid #dfb2a4;
}

.article-header {
    margin-bottom: 2rem;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1.1rem;
    margin-bottom: 1rem;
    color: var(--cec-taupe);
    font-size: 0.9rem;
}

.article-meta span + span::before {
    content: "·";
    margin-right: 1.1rem;
    color: var(--cec-gold-deep);
}

.article-content .entry-content {
    font-size: 1.06rem;
}

.article-author {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    margin-top: 3rem;
    padding: 1.4rem;
    border: 1px solid rgba(176, 138, 87, 0.34);
    border-radius: 8px;
    background: var(--cec-ivory);
}

.article-author img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 50%;
}

.article-author h2 {
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
}

.article-author p {
    margin: 0.35rem 0 0;
}

.article-footer {
    padding-top: 2rem;
}

.post-card__date {
    color: var(--cec-taupe);
    font-size: 0.88rem;
}

.post-card a {
    text-decoration: none;
}

.footer-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(2.6rem, 6vw, 4.5rem) 0;
    color: var(--cec-white);
    background: var(--cec-navy);
}

.footer-cta::before,
.footer-cta::after {
    content: "";
    position: absolute;
    top: 50%;
    width: min(22vw, 230px);
    aspect-ratio: 220 / 96;
    background: url("../images/olive-branch.svg") center / contain no-repeat;
    opacity: 0.22;
    pointer-events: none;
}

.footer-cta::before {
    left: max(1rem, calc((100vw - 1120px) / 2));
    transform: translateY(-50%);
}

.footer-cta::after {
    right: max(1rem, calc((100vw - 1120px) / 2));
    transform: translateY(-50%) scaleX(-1);
}

.footer-cta h2,
.footer-cta .eyebrow {
    color: var(--cec-white);
}

.footer-cta p {
    color: rgba(255, 255, 255, 0.78);
}

.footer-cta__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.3rem;
    align-items: center;
}

.footer-cta__actions {
    align-items: center;
}

.footer-cta .button--ghost {
    color: var(--cec-white);
    background: rgba(255, 250, 243, 0.1);
    border-color: rgba(255, 250, 243, 0.72);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
}

.footer-cta .button--ghost:hover,
.footer-cta .button--ghost:focus-visible {
    color: var(--cec-black);
    background: var(--cec-white);
    border-color: var(--cec-white);
}

.site-footer {
    padding: clamp(2.5rem, 6vw, 4.5rem) 0 1.5rem;
    color: #5f574f;
    background: var(--cec-white);
    border-top: 1px solid rgba(176, 138, 87, 0.2);
}

.footer-logo {
    display: block;
    width: min(165px, 100%);
    margin: -0.75rem 0 1rem;
    opacity: 0.98;
}

.footer-logo img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 8px 14px rgba(17, 17, 17, 0.08));
}

.site-footer a {
    color: var(--cec-navy);
}

.site-footer__grid {
    display: grid;
    gap: 2rem;
}

.footer-title {
    margin-bottom: 0.9rem;
    color: var(--cec-navy);
    font-size: 1rem;
}

.footer-contact,
.footer-menu {
    display: grid;
    gap: 0.55rem;
    padding-left: 0;
    list-style: none;
}

.site-footer .local-links a {
    color: var(--cec-navy);
    background: transparent;
    border-color: rgba(167, 125, 66, 0.22);
}

.footer-note,
.site-footer__bottom {
    color: #706459;
    font-size: 0.9rem;
}

.site-footer__bottom {
    padding-top: 2rem;
    border-top: 1px solid rgba(176, 138, 87, 0.18);
    margin-top: 2rem;
}

.mobile-quick-actions {
    display: none;
}

.js [data-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 520ms ease, transform 520ms ease;
}

.js [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 560px) {
    .hero__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .service-grid,
    .post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 859px) {
    body {
        padding-bottom: 74px;
    }

    .site-header__inner {
        min-height: 68px;
    }

    .site-navigation {
        inset: 76px 16px auto;
        max-height: calc(100svh - 92px);
        overflow-y: auto;
    }

    .hero {
        min-height: auto;
        align-items: flex-start;
        overflow: visible;
        background: var(--cec-white);
    }

    .hero::after {
        display: none;
    }

    .hero__grid {
        grid-template-areas:
            "content"
            "portrait";
        gap: 1.1rem;
        padding: 1.8rem 0 2.4rem;
    }

    .hero h1 {
        max-width: 100%;
        font-size: 2.2rem;
    }

    .hero__lead {
        font-size: 1rem;
    }

    .hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
    }

    .hero__actions .button,
    .footer-cta__actions .button,
    .section-action .button {
        width: 100%;
    }

    .hero__actions .button {
        padding-inline: 0.65rem;
        font-size: 0.92rem;
    }

    .hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .hero__facts div:last-child {
        grid-column: 1 / -1;
    }

    .hero__facts div {
        padding: 0.2rem 0.75rem;
    }

    .advisor-hero {
        grid-area: portrait;
        width: min(520px, 100%);
        justify-self: center;
        box-shadow: 0 18px 44px rgba(17, 17, 17, 0.14);
    }

    .advisor-hero::before {
        inset: 0.6rem;
    }

    .advisor-hero img {
        aspect-ratio: 16 / 9;
        object-position: center 30%;
    }

    .advisor-hero figcaption {
        position: static;
        max-width: none;
        padding: 0.65rem 0.8rem;
        border-radius: 0 0 3px 3px;
    }

    .section,
    .page-content {
        padding: 2.75rem 0;
    }

    .local-links {
        grid-template-columns: 1fr;
    }

    .local-links a {
        min-height: 44px;
        justify-content: flex-start;
        border-radius: 0;
    }

    .article-meta {
        display: grid;
        gap: 0.35rem;
    }

    .article-meta span + span::before {
        content: none;
    }

    .article-author {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 0.9rem;
        padding: 1rem;
    }

    .article-author img {
        width: 64px;
        height: 64px;
    }

    .mobile-quick-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 70;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        padding: 0.65rem 0.8rem calc(0.65rem + env(safe-area-inset-bottom));
        background: rgba(255, 253, 249, 0.96);
        border-top: 1px solid rgba(17, 17, 17, 0.12);
        box-shadow: 0 -12px 34px rgba(17, 17, 17, 0.13);
        backdrop-filter: blur(16px);
    }

    .mobile-quick-actions a {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--cec-white);
        background: var(--cec-navy);
        border: 1px solid rgba(176, 138, 87, 0.45);
        border-radius: 8px;
        font-weight: 800;
        text-decoration: none;
    }

    .mobile-quick-actions a + a {
        color: var(--cec-navy);
        background: var(--cec-gold);
        border-color: var(--cec-gold);
    }
}

@media (max-width: 430px) {
    h1,
    .hero h1 {
        font-size: 2.05rem;
    }

    h2 {
        font-size: 1.72rem;
    }

    .site-brand {
        max-width: 116px;
    }

    .site-brand__mark {
        width: 104px;
        min-width: 104px;
    }

    .hero__signature {
        gap: 0.45rem;
    }

    .hero__signature::before,
    .hero__signature::after {
        width: 48px;
        height: 20px;
    }

    .section--objectives::before,
    .section--advisor::before {
        width: 100%;
        opacity: 0.08;
    }

    .footer-cta::before,
    .footer-cta::after {
        width: 38vw;
        opacity: 0.13;
    }

}

@media (min-width: 860px) {
    h1 {
        font-size: 3.25rem;
    }

    h2 {
        font-size: 2.55rem;
    }

    .hero h1 {
        font-size: 3rem;
    }

    .hero__lead {
        font-size: 1.12rem;
    }

    .hero {
        min-height: min(740px, calc(100svh - 110px));
    }

    .site-brand__mark {
        width: 114px;
        min-width: 114px;
    }

    .nav-toggle {
        display: none;
    }

    .site-navigation {
        position: static;
        display: block;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .primary-menu {
        display: flex;
        align-items: center;
        gap: 0.15rem;
    }

    .primary-menu a {
        padding: 0.55rem 0.7rem;
        font-size: 0.94rem;
    }

    .header-actions {
        display: flex;
        align-items: center;
        gap: 0.55rem;
    }

    .header-phone {
        display: inline-flex;
        align-items: center;
        min-height: 42px;
        padding: 0.55rem 0.8rem;
        color: var(--cec-white);
        background: var(--cec-navy);
        border: 1px solid var(--cec-navy);
        border-radius: var(--cec-radius);
        font-weight: 700;
        text-decoration: none;
    }

    .hero__grid {
        grid-template-areas:
            "content portrait";
        grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr);
    }

    .hero__content {
        grid-area: content;
    }

    .advisor-hero {
        grid-area: portrait;
    }

    .advisor-section {
        grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1fr);
    }

    .split,
    .footer-cta__inner,
    .contact-layout {
        grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
    }

    .service-grid,
    .post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-footer__grid {
        grid-template-columns: 1.25fr 0.8fr 1fr 0.8fr;
    }
}

@media (min-width: 1120px) {
    h1 {
        font-size: 3.7rem;
    }

    h2 {
        font-size: 3.1rem;
    }

    .hero h1 {
        font-size: 3.25rem;
    }

    .hero__lead {
        font-size: 1.18rem;
    }

    .primary-menu a {
        padding-inline: 0.9rem;
    }

    .header-email {
        display: inline-flex;
        align-items: center;
        min-height: 42px;
        padding: 0.55rem 0.8rem;
        color: var(--cec-navy);
        background: transparent;
        border: 1px solid rgba(22, 36, 58, 0.16);
        border-radius: var(--cec-radius);
        font-size: 0.9rem;
        font-weight: 700;
        text-decoration: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .js [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

/* --------------------------------------------------------------------------
   Art direction 4.0: Maison patrimoniale alpine
   -------------------------------------------------------------------------- */

:root {
    --cec-black: #111417;
    --cec-ink: #252a2e;
    --cec-navy: #101a22;
    --cec-cream: #f4f1eb;
    --cec-white: #fbfaf7;
    --cec-gold: #b59057;
    --cec-gold-deep: #8f6938;
    --cec-sage: #657069;
    --cec-taupe: #716b63;
    --cec-line: rgba(17, 20, 23, 0.15);
    --cec-shadow: 0 24px 70px rgba(10, 16, 20, 0.16);
    --cec-font: Aptos, Calibri, Avenir, "Segoe UI", Arial, sans-serif;
    --cec-display: "Iowan Old Style", Baskerville, "Times New Roman", serif;
    --cec-radius: 4px;
    --cec-wrap: min(1240px, calc(100vw - 48px));
}

html {
    scroll-padding-top: 98px;
}

body {
    color: var(--cec-ink);
    background: var(--cec-white);
    background-image: none;
    font-size: 17px;
    line-height: 1.7;
}

h1,
h2 {
    font-family: var(--cec-display);
    font-weight: 500;
}

h3,
h4 {
    font-weight: 650;
}

h1,
h2,
h3,
h4 {
    letter-spacing: 0;
}

.eyebrow {
    margin-bottom: 1.15rem;
    color: var(--cec-gold-deep);
    font-size: 0.73rem;
    font-weight: 750;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: uppercase;
}

.site-header {
    background: rgba(251, 250, 247, 0.97);
    border-bottom-color: rgba(17, 20, 23, 0.1);
    backdrop-filter: blur(22px);
}

.site-header__inner {
    min-height: 94px;
}

.site-brand__mark {
    width: 96px;
    min-width: 96px;
}

.site-brand__mark img,
.footer-logo img {
    filter: none;
    mix-blend-mode: multiply;
}

.primary-menu {
    gap: 0.8rem;
}

.primary-menu a {
    position: relative;
    padding: 0.55rem 0.25rem;
    color: #252a2e;
    font-size: 0.82rem;
    font-weight: 650;
    text-transform: uppercase;
}

.primary-menu a::after {
    content: "";
    position: absolute;
    right: 0.25rem;
    bottom: 0.34rem;
    left: 0.25rem;
    height: 1px;
    background: var(--cec-gold);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 220ms ease;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a {
    color: var(--cec-black);
    background: transparent;
}

.primary-menu a:hover::after,
.primary-menu .current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.header-phone {
    min-height: 44px;
    padding: 0.66rem 1rem;
    color: var(--cec-white);
    background: var(--cec-navy);
    border-color: var(--cec-navy);
    border-radius: 2px;
    font-size: 0.86rem;
}

.header-email {
    border: 0;
    font-size: 0.83rem;
}

.button {
    min-height: 50px;
    padding: 0.85rem 1.25rem;
    border-radius: 2px;
    font-size: 0.83rem;
    font-weight: 750;
    text-transform: uppercase;
    box-shadow: none;
}

.button::after,
.text-link::after {
    content: "";
    display: inline-block;
    margin-left: 0.35rem;
    transition: transform 180ms ease;
}

.button:hover::after,
.text-link:hover::after {
    transform: translateX(4px);
}

.button--primary {
    color: #111417;
    background: #c4a36e;
    border-color: #c4a36e;
}

.button--primary:hover,
.button--primary:focus-visible {
    color: #111417;
    background: #d1b682;
    border-color: #d1b682;
}

.button--light {
    color: var(--cec-white);
    background: rgba(16, 26, 34, 0.36);
    border-color: rgba(255, 255, 255, 0.65);
}

.button--light:hover,
.button--light:focus-visible {
    color: var(--cec-navy);
    background: var(--cec-white);
    border-color: var(--cec-white);
}

.button--ink {
    color: var(--cec-white);
    background: var(--cec-navy);
    border-color: var(--cec-navy);
}

.button--ink:hover,
.button--ink:focus-visible {
    color: var(--cec-navy);
    background: var(--cec-white);
    border-color: var(--cec-white);
}

.hero--editorial {
    position: relative;
    min-height: clamp(570px, calc(100svh - 140px), 780px);
    display: grid;
    align-items: stretch;
    overflow: hidden;
    isolation: isolate;
    color: var(--cec-white);
    background: var(--cec-navy);
}

.hero--editorial::after {
    display: none;
}

.hero__media,
.hero__media img,
.hero__veil {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero__media {
    z-index: -3;
}

.hero__media img {
    max-width: none;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.015);
    animation: cec-hero-breathe 16s ease-in-out infinite alternate;
}

.hero__veil {
    z-index: -2;
    width: 61%;
    background: rgba(9, 15, 20, 0.8);
    clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
}

.hero__stage {
    position: relative;
    z-index: 1;
    min-height: inherit;
    display: flex;
    align-items: center;
    padding-top: 2.2rem;
    padding-bottom: 2.5rem;
}

.hero--editorial .hero__content {
    width: min(690px, 55%);
    color: var(--cec-white);
}

.hero--editorial .eyebrow {
    color: #d8bd8d;
}

.hero--editorial h1 {
    max-width: 700px;
    margin-bottom: 1.4rem;
    color: var(--cec-white);
    font-size: clamp(3.65rem, 5.4vw, 5.6rem);
    line-height: 0.98;
    text-wrap: balance;
}

.hero--editorial h1 em {
    color: #d8bd8d;
    font-weight: 400;
}

.hero--editorial .hero__lead {
    max-width: 610px;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.08rem;
    line-height: 1.65;
}

.hero--editorial .hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
}

.hero__byline {
    display: grid;
    gap: 0.1rem;
    margin: 2.25rem 0 0;
    padding-left: 1rem;
    border-left: 1px solid #c4a36e;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.86rem;
    line-height: 1.45;
}

.hero__byline strong {
    color: var(--cec-white);
    font-size: 0.98rem;
}

.hero--editorial .hero__signature {
    position: absolute;
    right: 2rem;
    bottom: 1.2rem;
    z-index: 1;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.hero--editorial .hero__signature::before,
.hero--editorial .hero__signature::after {
    display: none;
}

@keyframes cec-hero-breathe {
    from { transform: scale(1.015); }
    to { transform: scale(1.05); }
}

.hero-facts-band {
    color: #dfe4e4;
    background: #101a22;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 0;
}

.hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 auto;
    padding: 0;
}

.hero__facts div {
    min-height: 112px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.4rem 2.2rem;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.hero__facts div:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.hero__facts dt {
    margin-bottom: 0.2rem;
    color: #d8bd8d;
    font-size: 0.68rem;
    font-weight: 750;
    text-transform: uppercase;
}

.hero__facts dd {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-family: var(--cec-display);
    font-size: 1.12rem;
    line-height: 1.35;
}

.section {
    padding: clamp(5.5rem, 9vw, 9rem) 0;
}

.section--manifesto {
    background: var(--cec-white);
}

.manifesto {
    display: grid;
    grid-template-columns: 80px minmax(0, 1.05fr) minmax(0, 0.85fr);
    gap: clamp(2rem, 5vw, 5.5rem);
    align-items: start;
}

.chapter-number {
    margin: 0;
    color: var(--cec-gold);
    font-size: 0.72rem;
    font-weight: 750;
}

.manifesto__heading h2,
.editorial-heading h2,
.method-layout h2,
.convictions h2,
.territory-layout h2,
.faq-layout h2 {
    font-size: clamp(2.8rem, 4.5vw, 4.8rem);
    line-height: 1.02;
    text-wrap: balance;
}

.manifesto__copy {
    padding-top: 2.25rem;
}

.manifesto__lead {
    color: var(--cec-black);
    font-family: var(--cec-display);
    font-size: 1.42rem;
    line-height: 1.45;
}

.text-link {
    display: inline-flex;
    align-items: center;
    margin-top: 0.75rem;
    color: var(--cec-black);
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
    text-transform: uppercase;
}

.section--expertise {
    color: rgba(255, 255, 255, 0.76);
    background: #101a22;
}

.editorial-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.45fr);
    gap: 3rem;
    align-items: end;
    margin-bottom: clamp(3.5rem, 7vw, 6.5rem);
}

.editorial-heading h2,
.section--expertise h3 {
    color: var(--cec-white);
}

.section--expertise .eyebrow {
    color: #d8bd8d;
}

.editorial-heading > p {
    margin-bottom: 0.5rem;
}

.expertise-index {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 4rem;
}

.expertise-index article {
    display: grid;
    grid-template-columns: 44px minmax(180px, 0.65fr) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    padding: 2.15rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.expertise-index article:nth-last-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.expertise-index span {
    color: #d8bd8d;
    font-size: 0.7rem;
    font-weight: 750;
}

.expertise-index h3 {
    margin: 0;
    font-family: var(--cec-display);
    font-size: 1.55rem;
    font-weight: 500;
    line-height: 1.2;
}

.expertise-index p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.6;
}

.section--expertise .section-action {
    margin: 3.5rem 0 0;
    text-align: right;
}

.section--expertise .button--ink {
    border-color: rgba(255, 255, 255, 0.5);
}

.advisor-story {
    min-height: 830px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    background: #e9e5dc;
}

.advisor-story__image {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    background: #d6d2ca;
}

.advisor-story__image picture,
.advisor-story__image img {
    width: 100%;
    height: 100%;
}

.advisor-story__image img {
    object-fit: cover;
    object-position: center 30%;
}

.advisor-story__image > p {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    gap: 0.1rem;
    margin: 0;
    padding: 1.25rem 1.75rem;
    color: var(--cec-white);
    background: rgba(10, 16, 20, 0.78);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.advisor-story__image > p strong {
    font-size: 0.95rem;
}

.advisor-story__content {
    max-width: 700px;
    align-self: center;
    padding: clamp(4rem, 7vw, 8rem);
}

.advisor-story__content h2 {
    max-width: 650px;
    margin-bottom: 1.5rem;
    font-size: clamp(2.8rem, 4.2vw, 4.65rem);
    line-height: 1.02;
}

.advisor-story__content > p:not(.eyebrow):not(.chapter-number) {
    max-width: 570px;
}

.advisor-story__content blockquote {
    margin: 2rem 0;
    padding: 0 0 0 1.4rem;
    color: var(--cec-black);
    border-left: 1px solid var(--cec-gold);
    font-family: var(--cec-display);
    font-size: 1.35rem;
    line-height: 1.5;
}

.advisor-story .trust-list {
    display: grid;
    gap: 0.7rem;
    margin: 2rem 0;
    padding: 0;
    list-style: none;
}

.advisor-story .trust-list li {
    position: relative;
    padding-left: 1.6rem;
}

.advisor-story .trust-list li::before {
    content: "";
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 8px;
    height: 1px;
    background: var(--cec-gold-deep);
}

.section--method {
    background: var(--cec-white);
}

.method-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
    gap: clamp(3rem, 8vw, 8rem);
}

.method-layout__intro {
    position: sticky;
    top: 140px;
    align-self: start;
}

.method-layout__intro > p:last-child {
    max-width: 440px;
}

.method-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.method-steps li {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 1.5rem;
    padding: 2.1rem 0;
    border-top: 1px solid var(--cec-line);
}

.method-steps li:last-child {
    border-bottom: 1px solid var(--cec-line);
}

.method-steps span {
    color: var(--cec-gold-deep);
    font-size: 0.72rem;
    font-weight: 750;
}

.method-steps h3 {
    margin-bottom: 0.35rem;
    font-family: var(--cec-display);
    font-size: 2rem;
    font-weight: 500;
}

.method-steps p {
    max-width: 520px;
    margin: 0;
}

.section--convictions {
    color: rgba(255, 255, 255, 0.74);
    background: #29322f;
}

.convictions {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
    gap: clamp(3rem, 8vw, 8rem);
}

.convictions h2,
.convictions h3 {
    color: var(--cec-white);
}

.convictions .eyebrow {
    color: #d8bd8d;
}

.convictions__list {
    counter-reset: conviction;
}

.convictions__list article {
    position: relative;
    padding: 1.9rem 0 1.9rem 3.8rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    counter-increment: conviction;
}

.convictions__list article:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.convictions__list article::before {
    content: "0" counter(conviction);
    position: absolute;
    top: 2.15rem;
    left: 0;
    color: #d8bd8d;
    font-size: 0.7rem;
    font-weight: 750;
}

.convictions__list h3 {
    margin-bottom: 0.45rem;
    font-family: var(--cec-display);
    font-size: 1.8rem;
    font-weight: 500;
}

.convictions__list p {
    margin: 0;
}

.section--territory {
    background: #eef0ed;
}

.territory-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.territory-layout > div:first-child p:last-child {
    max-width: 560px;
}

.territory-layout .local-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--cec-line);
}

.territory-layout .local-links a {
    position: relative;
    min-height: 54px;
    justify-content: space-between;
    padding: 0.85rem 0.25rem;
    color: var(--cec-ink);
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--cec-line);
    border-radius: 0;
    font-size: 0.84rem;
}

.territory-layout .local-links a:nth-child(odd) {
    margin-right: 1.5rem;
}

.territory-layout .local-links a::after {
    content: "";
    color: var(--cec-gold-deep);
}

.section--faq {
    background: var(--cec-white);
}

.faq-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
    gap: clamp(3rem, 8vw, 8rem);
}

.faq-item {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--cec-line);
    border-radius: 0;
}

.faq-item:last-child {
    border-bottom: 1px solid var(--cec-line);
}

.faq-item summary {
    padding: 1.5rem 2.8rem 1.5rem 0;
    color: var(--cec-black);
    font-family: var(--cec-display);
    font-size: 1.25rem;
    font-weight: 500;
}

.faq-item summary::after {
    right: 0.25rem;
    color: var(--cec-gold-deep);
}

.faq-item p {
    padding: 0 3rem 1.5rem 0;
}

.footer-cta {
    padding: clamp(5rem, 8vw, 8rem) 0;
    color: var(--cec-white);
    background: #101a22;
}

.footer-cta::before,
.footer-cta::after {
    width: min(18vw, 210px);
    opacity: 0.08;
}

.footer-cta__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4rem;
}

.footer-cta h2 {
    max-width: 760px;
    margin-bottom: 1rem;
    color: var(--cec-white);
    font-size: clamp(2.75rem, 5vw, 5.1rem);
    line-height: 1;
}

.footer-cta .eyebrow {
    color: #d8bd8d;
}

.footer-cta__actions {
    display: grid;
    gap: 0.75rem;
    min-width: 230px;
}

.footer-cta .button--ghost {
    color: var(--cec-white);
    background: transparent;
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: none;
}

.site-footer {
    padding-top: 4.5rem;
    color: #5f625f;
    background: #f4f1eb;
    border-top: 0;
}

.footer-logo {
    width: 118px;
    margin: 0 0 1.25rem;
}

.footer-title {
    color: var(--cec-black);
    font-size: 0.76rem;
    font-weight: 750;
    text-transform: uppercase;
}

.site-footer__grid {
    grid-template-columns: 1.4fr 0.7fr 1fr 0.65fr;
    gap: 3rem;
}

.site-footer .local-links {
    grid-template-columns: 1fr;
    gap: 0;
}

.site-footer .local-links a {
    min-height: 0;
    padding: 0.28rem 0;
    border: 0;
    font-size: 0.82rem;
}

.site-footer__bottom {
    border-top-color: rgba(17, 20, 23, 0.13);
}

/* Interior pages inherit the editorial system without changing their content. */
.page-content {
    background: var(--cec-white);
}

.page-intro {
    max-width: none;
    margin: 0 calc(50% - 50vw) 4rem;
    padding: clamp(4.5rem, 8vw, 7.5rem) max(24px, calc((100vw - 1240px) / 2));
    color: rgba(255, 255, 255, 0.78);
    background: var(--cec-navy);
}

.page-intro h1 {
    max-width: 1000px;
    color: var(--cec-white);
    font-size: clamp(3.15rem, 6vw, 6rem);
    line-height: 0.98;
}

.page-intro .eyebrow {
    color: #d8bd8d;
}

.page-intro .lede {
    max-width: 760px;
    color: rgba(255, 255, 255, 0.76);
}

.page-intro .breadcrumbs a,
.page-intro .breadcrumbs span {
    color: rgba(255, 255, 255, 0.68);
}

.entry-content > .content-section {
    border-radius: 0;
}

@media (max-width: 1099px) {
    .hero__veil {
        width: 68%;
    }

    .hero--editorial .hero__content {
        width: 62%;
    }

    .expertise-index article {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .expertise-index article p {
        grid-column: 2;
    }

    .advisor-story__content {
        padding: 4.5rem;
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 859px) {
    :root {
        --cec-wrap: min(100% - 32px, 720px);
    }

    body {
        padding-bottom: 78px;
        font-size: 16px;
    }

    .site-header__inner {
        min-height: 76px;
    }

    .site-brand__mark {
        width: 82px;
        min-width: 82px;
    }

    .nav-toggle {
        color: var(--cec-white);
        background: var(--cec-navy);
        border-color: var(--cec-navy);
        border-radius: 2px;
    }

    .site-navigation {
        inset: 84px 16px auto;
        padding: 0.9rem;
        border-radius: 2px;
    }

    .primary-menu a {
        padding: 0.85rem;
        border-radius: 0;
    }

    .primary-menu a::after {
        display: none;
    }

    .hero--editorial {
        min-height: clamp(650px, calc(100svh - 195px), 760px);
        overflow: hidden;
    }

    .hero__media img {
        object-position: 67% center;
    }

    .hero__veil {
        width: 100%;
        background: rgba(7, 12, 16, 0.67);
        clip-path: none;
    }

    .hero__stage {
        min-height: inherit;
        align-items: flex-end;
        padding-top: 2rem;
        padding-bottom: 3rem;
    }

    .hero--editorial .hero__content {
        width: 100%;
    }

    .hero--editorial h1 {
        max-width: 620px;
        font-size: clamp(2.75rem, 12vw, 4.2rem);
        line-height: 0.98;
    }

    .hero--editorial .hero__lead {
        max-width: 560px;
        font-size: 0.98rem;
    }

    .hero--editorial .hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero--editorial .hero__actions .button {
        width: 100%;
        padding-inline: 0.65rem;
        font-size: 0.72rem;
    }

    .hero__byline {
        margin-top: 1.5rem;
    }

    .hero--editorial .hero__signature {
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        text-align: center;
    }

    .hero__facts {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .hero__facts div,
    .hero__facts div:last-child {
        min-height: auto;
        padding: 1.1rem 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
        border-left: 0;
    }

    .hero__facts div:last-child {
        grid-column: auto;
        border-bottom: 0;
    }

    .section {
        padding: 4.75rem 0;
    }

    .manifesto,
    .editorial-heading,
    .method-layout,
    .convictions,
    .territory-layout,
    .faq-layout {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .manifesto {
        gap: 1.25rem;
    }

    .manifesto__copy {
        padding-top: 0;
    }

    .manifesto__heading h2,
    .editorial-heading h2,
    .method-layout h2,
    .convictions h2,
    .territory-layout h2,
    .faq-layout h2 {
        font-size: clamp(2.45rem, 10vw, 3.6rem);
    }

    .editorial-heading {
        margin-bottom: 3rem;
    }

    .expertise-index {
        grid-template-columns: 1fr;
    }

    .expertise-index article,
    .expertise-index article:nth-last-child(2) {
        border-bottom: 0;
    }

    .expertise-index article:last-child {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .section--expertise .section-action {
        text-align: left;
    }

    .advisor-story {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .advisor-story__image {
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .advisor-story__content {
        max-width: 720px;
        margin: 0 auto;
        padding: 4.75rem 1rem;
    }

    .advisor-story__content h2 {
        font-size: clamp(2.5rem, 10vw, 3.65rem);
    }

    .method-layout__intro {
        position: static;
    }

    .territory-layout .local-links {
        grid-template-columns: 1fr;
    }

    .territory-layout .local-links a:nth-child(odd) {
        margin-right: 0;
    }

    .footer-cta__inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-cta__actions {
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .page-intro {
        margin-bottom: 3rem;
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }

    .page-intro h1 {
        font-size: clamp(2.7rem, 12vw, 4.4rem);
    }

    .mobile-quick-actions {
        background: rgba(244, 241, 235, 0.97);
    }

    .mobile-quick-actions a,
    .mobile-quick-actions a + a {
        min-height: 50px;
        color: var(--cec-white);
        background: var(--cec-navy);
        border-color: var(--cec-navy);
        border-radius: 2px;
    }

    .mobile-quick-actions a + a {
        color: var(--cec-black);
        background: #c4a36e;
        border-color: #c4a36e;
    }
}

@media (max-width: 520px) {
    :root {
        --cec-wrap: calc(100vw - 28px);
    }

    .hero--editorial {
        min-height: clamp(650px, calc(100svh - 195px), 730px);
    }

    .hero__stage {
        min-height: inherit;
        padding-bottom: 2.8rem;
    }

    .hero--editorial h1 {
        font-size: clamp(2.45rem, 12vw, 3.2rem);
    }

    .hero--editorial .eyebrow {
        max-width: 290px;
        font-size: 0.64rem;
    }

    .hero--editorial .hero__actions,
    .footer-cta__actions {
        grid-template-columns: 1fr;
    }

    .hero__byline span {
        max-width: 280px;
    }

    .expertise-index article {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 0.75rem;
    }

    .expertise-index article p {
        grid-column: 2;
    }

    .advisor-story__content {
        padding-inline: 1.1rem;
    }

    .method-steps li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 0.8rem;
    }

    .convictions__list article {
        padding-left: 2.7rem;
    }

    .faq-item summary {
        font-size: 1.12rem;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero__media img {
        animation: none;
        transform: none;
    }
}

/* Source: signature.css */
/* CEC Conseil — Signature, compatible with the existing pages and WordPress controls. */
@font-face{font-family:CEC Serif;src:url('../fonts/cormorant.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:CEC Serif;src:url('../fonts/cormorant-italic.woff2') format('woff2');font-weight:400 500;font-style:italic;font-display:swap}
@font-face{font-family:CEC Sans;src:url('../fonts/manrope.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
:root{--cec-black:#162429;--cec-ink:#25383e;--cec-navy:#14262c;--cec-cream:#f6f5f1;--cec-white:#fff;--cec-gold:#a17b42;--cec-gold-deep:#775623;--cec-line:#dcded9;--cec-font:"Segoe UI",Arial,sans-serif;--cec-wrap:min(1240px,calc(100% - 112px));--sig-serif:Georgia,"Times New Roman",serif}
body{background:#f6f5f1;background-image:none;color:var(--cec-ink);font-size:17px;line-height:1.75}::selection{background:#d3b780;color:#14262c}html{scroll-padding-top:110px}a,button{-webkit-tap-highlight-color:transparent}a,button,input,select,textarea,summary{touch-action:manipulation}:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ad8341;outline-offset:5px}
.site-header{background:rgba(250,250,247,.97);border-bottom:1px solid #dfe0da;box-shadow:none}.site-header.is-scrolled{box-shadow:0 3px 24px #12242c09}.site-header__inner{width:var(--cec-wrap);min-height:94px;gap:28px}.site-brand__mark{width:80px;min-width:80px}.site-brand__mark img{filter:none}.primary-menu{gap:26px}.primary-menu a{font-size:14px;font-weight:500;text-transform:none;letter-spacing:.015em;padding:14px 0;color:#25383e}.primary-menu a::after{background:#a17b42}.header-email{display:none}.header-phone{background:transparent;color:#25383e;border:1px solid #a7b0ae;font-size:14px;border-radius:2px;padding:12px 17px;min-height:46px;font-weight:600}.header-phone:hover{background:#14262c;color:white}.header-booking{padding:12px 19px;background:#14262c;color:white;text-decoration:none;white-space:nowrap;font-size:14px;font-weight:600;border:1px solid #14262c;border-radius:2px;transition:background .2s}.header-booking:hover{background:#294149;color:white}.header-actions{gap:12px}
.eyebrow{color:var(--cec-gold-deep);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.65;margin:0 0 24px}.eyebrow::before,.eyebrow::after{display:none}.section-index{margin-right:20px;opacity:.6}.button{min-height:54px;padding:15px 24px;border-radius:2px;font-size:15px;text-transform:none;letter-spacing:0;font-weight:600;transition:background .2s,color .2s,transform .2s;border:1px solid transparent;box-shadow:none;line-height:1.45}.button::after{margin-left:24px;transition:transform .2s}.button:hover::after{transform:translateX(3px)}.button--primary{background:#d3b780;color:#14262c;border-color:#d3b780}.button--primary:hover{color:#14262c;background:#e0c894;border-color:#e0c894;transform:translateY(-2px);box-shadow:none}.button--ink{background:#14262c;color:#fff}.button--ghost{color:#14262c;border:1px solid #9dabae}
.signature-link{display:inline-flex;align-items:center;gap:32px;min-height:44px;color:inherit;font-size:15px;font-weight:600;line-height:1.5;text-decoration:none;border-bottom:1px solid #b8beb9;padding:8px 0;transition:color .2s,border-color .2s}.signature-link span{font-size:22px;transition:transform .2s}.signature-link:hover{color:#886328;border-color:currentColor}.signature-link:hover span{transform:translate(2px,-2px)}
.signature-hero{background:#14262c;color:#e8edeb;position:relative;overflow:hidden}.signature-hero__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding-top:64px;padding-bottom:55px;position:relative}.signature-hero__copy{position:relative;z-index:2}.signature-hero .eyebrow{color:#d3b780;max-width:460px;margin-bottom:28px;font-size:12px;letter-spacing:.12em}.signature-hero h1{font-family:var(--sig-serif);font-size:clamp(58px,6.3vw,92px);line-height:1.065;letter-spacing:-.055em;font-weight:400;color:#f6f5ef;margin:0 0 28px;max-width:700px;padding:0;border:0}.signature-hero h1 em{font-weight:400;color:#d3b780;letter-spacing:-.055em}.signature-hero__lead{font-size:17px;line-height:1.75;color:#c8d2d1;max-width:440px;margin-bottom:30px}.signature-hero__actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.signature-hero .signature-link{font-size:14px;font-weight:400;color:#eef2ed;gap:15px;border-color:#658080}.signature-hero .signature-link:hover{color:#e0c894}.signature-hero__reassurance{font-size:13px;letter-spacing:.02em;color:#b1c0bf;margin:18px 0 0}.signature-hero__visual{position:relative;perspective:1000px;max-width:470px;width:100%;justify-self:end;padding-right:25px}.signature-hero__frame{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:150px 2px 2px 2px;box-shadow:0 30px 70px #06101460;transform:rotateY(var(--depth-x,0deg)) rotateX(var(--depth-y,0deg));transition:transform .45s ease-out;border:1px solid #d3b78050}.signature-hero__frame img{width:100%;height:100%;object-fit:cover;object-position:50% 34%}.signature-hero__frame::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#07151bec);pointer-events:none}.signature-hero__caption{position:absolute;bottom:27px;left:30px;z-index:1;display:flex;flex-direction:column;color:#fff}.signature-hero__caption span{font-size:12px;letter-spacing:.05em}.signature-hero__caption span:first-child{color:#ddc599;margin-bottom:10px}.signature-hero__caption strong{font-family:var(--sig-serif);font-size:31px;font-weight:400;line-height:1.2;margin-bottom:5px}.signature-hero__vertical{writing-mode:vertical-rl;position:absolute;right:-7px;bottom:0;color:#c0cdca;font-size:11px;letter-spacing:.13em}.signature-hero__bottom{display:flex;justify-content:space-between;align-items:center;padding:19px 0 22px;border-top:1px solid #91a8aa35;font-size:12px;letter-spacing:.025em;color:#b5c4c3}.signature-hero__bottom a{display:flex;gap:30px;color:#e4e9e6;text-decoration:none;min-height:30px}.signature-hero__bottom a span{color:#d3b780}
.signature-reassurance{background:#f0f0eb;border-bottom:1px solid #d8dcd6}.signature-reassurance dl{display:grid;grid-template-columns:repeat(3,1fr);margin-block:0;padding-block:30px;gap:40px}.signature-reassurance dl div{padding-left:24px;border-left:1px solid #b7a580}.signature-reassurance dt{font-size:15px;font-weight:600;color:#21353b;margin-bottom:6px}.signature-reassurance dd{margin:0;font-size:14px;line-height:1.65;color:#57656a;max-width:300px}
.signature-section{padding:110px 0}.signature-section h2{font-family:var(--sig-serif);font-size:clamp(40px,4.25vw,60px);font-weight:400;letter-spacing:-.04em;line-height:1.12;color:#1a3037;margin:0 0 28px}.signature-section h2 em{font-weight:400;color:#947038}.signature-section h3{font-weight:400}.signature-section p{color:#57656a}.signature-manifesto__grid{display:grid;grid-template-columns:1fr .85fr;gap:110px;align-items:center}.signature-manifesto__copy{padding-top:18px;max-width:470px}.signature-manifesto__copy .signature-intro{font-size:22px;line-height:1.55;color:#21363c;margin-bottom:24px}.signature-manifesto__copy .signature-link{margin-top:13px}
.signature-expertise{background:#e9ede8}.signature-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}.signature-section-head h2{margin:0}.signature-section-head>p{max-width:330px;margin:0 0 5px;font-size:16px}.signature-services{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b8c3bd}.signature-service{display:grid;grid-template-columns:30px 1fr 30px;gap:19px;padding:35px 34px 34px 0;text-decoration:none;border-bottom:1px solid #c0cbc4;transition:background .2s;position:relative;color:#183138}.signature-service:nth-child(2n){border-left:1px solid #c0cbc4;padding-left:34px;padding-right:0}.signature-service:hover{color:inherit;background:#dde5de}.signature-service__number{font-size:12px;padding-top:4px;color:#756044}.signature-service__label{font-size:13px;font-weight:500;color:#516664;display:block;margin-bottom:15px}.signature-service h3{font-family:var(--sig-serif);font-size:29px;letter-spacing:-.025em;line-height:1.17;max-width:330px;color:#1a3037;margin:0 0 16px}.signature-service p{font-size:15px;line-height:1.7;max-width:340px;margin:0}.signature-service__arrow{width:30px;height:30px;border:1px solid #a8b6ac;border-radius:50%;text-align:center;line-height:28px;transition:background .2s,color .2s}.signature-service:hover .signature-service__arrow{background:#183138;color:white;border-color:#183138}.signature-section-end{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px}.signature-section-end>span{font-size:13px;color:#57656a}
.signature-advisor__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.signature-advisor__photo{position:relative;padding:0 0 38px}.signature-advisor__photo img{width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain;border-radius:2px}.signature-advisor__photo p{position:absolute;bottom:0;left:0;margin:0;font-size:12px;letter-spacing:.025em}.signature-advisor blockquote{font-family:var(--sig-serif);font-size:27px;line-height:1.45;font-style:italic;color:#536761;margin:30px 0 22px;padding:0;border:0;background:none}.signature-advisor__name{display:flex;flex-direction:column;margin-bottom:28px}.signature-advisor__name strong{font-size:16px;font-weight:600;color:#22383e}.signature-advisor__name span{font-size:13px}.signature-advisor__copy>.signature-link{margin-top:8px}
.signature-method{background:#14262c;color:#e0e7e4}.signature-method__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.signature-method h2{color:#f5f5ed}.signature-method h2 em,.signature-method .eyebrow{color:#d3b780}.signature-method p{color:#bfcdca}.signature-steps{list-style:none;padding:0;margin:0}.signature-steps li{display:grid;grid-template-columns:40px 1fr;gap:28px;border-bottom:1px solid #91a8aa35;padding:28px 0}.signature-steps li:first-child{padding-top:0}.signature-steps li:last-child{padding-bottom:0;border:0}.signature-steps li>span{font-family:var(--sig-serif);font-style:italic;font-size:27px;color:#d3b780;line-height:1.3}.signature-steps h3{font-family:var(--sig-serif);font-size:31px;letter-spacing:-.02em;color:#f1f3ed;margin:0 0 12px}.signature-steps p{font-size:16px;margin:0;max-width:410px}
.signature-values{border-bottom:1px solid #d8dcd6}.signature-values h2{margin-bottom:55px}.signature-values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.signature-values__grid article{border-top:1px solid #b0a48c;padding-top:22px}.signature-values__grid article>span{font-family:var(--sig-serif);font-size:26px;font-style:italic;color:#947038}.signature-values h3{font-family:var(--sig-serif);font-size:28px;margin:24px 0 16px;line-height:1.2;letter-spacing:-.02em}.signature-values p{font-size:16px;max-width:330px;margin:0}
.signature-territory__grid{display:grid;grid-template-columns:1fr .8fr;gap:110px;align-items:center}.signature-territory p{max-width:485px}.signature-territory .local-links{display:flex;flex-direction:column;gap:0;align-items:stretch}.signature-territory .local-links a,.signature-more-cities a{background:transparent;color:#25383e;border:0;border-bottom:1px solid #d5dcd6;border-radius:0;margin:0;padding:14px 0;font-size:15px;display:flex;justify-content:space-between;line-height:1.5;text-decoration:none}.signature-territory .local-links a:hover,.signature-more-cities a:hover{color:#775623;padding-left:6px}.signature-territory details{border-bottom:1px solid #b8c3bd;margin-top:4px}.signature-territory summary{font-size:14px;cursor:pointer;font-weight:600;list-style:none;padding:16px 0;display:flex;justify-content:space-between}.signature-territory summary::-webkit-details-marker{display:none}.signature-territory details[open] summary span{transform:rotate(45deg)}
.signature-faq{background:#edefea}.signature-faq__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:85px}.signature-faq .faq-list{width:100%;margin:0}.signature-faq .faq-item{background:transparent;border-radius:0;border:0;border-bottom:1px solid #bdc8bf;padding:0}.signature-faq .faq-item:first-child{border-top:1px solid #bdc8bf}.signature-faq .faq-item summary{padding:25px 40px 25px 0;min-height:60px;font-size:17px;font-weight:500;line-height:1.5;color:#20373d}.signature-faq .faq-item summary::after{color:#806030}.signature-faq .faq-item p{font-size:16px;margin:0;padding:0 38px 25px 0}
.footer-cta{background:#d5bd91;color:#162b32;padding:82px 0}.footer-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.footer-cta .eyebrow{color:#4d452f}.footer-cta h2{font-family:var(--sig-serif);font-weight:400;font-size:clamp(36px,4vw,57px);line-height:1.1;letter-spacing:-.04em;color:#162b32;max-width:700px;margin-bottom:20px}.footer-cta p{color:#374941;max-width:560px}.footer-cta__actions{display:flex;flex-direction:column;min-width:230px;gap:12px}.footer-cta .button--primary{background:#14262c;color:#fff;border-color:#14262c}.footer-cta .button--primary:hover{background:#294149}.footer-cta .button--ghost{border:1px solid #776f54;color:#162b32;background:transparent}.footer-cta .button--ghost:hover{background:#e5d1ab}
.site-footer{background:#13242a;color:#bdc9c7;padding-top:64px}.site-footer__grid{grid-template-columns:1.8fr .9fr 1.2fr .8fr;gap:48px}.site-footer h2.footer-title{font-family:var(--cec-font);font-size:12px;letter-spacing:.14em;color:#d7bd8b;margin-bottom:24px}.site-footer p,.site-footer a,.footer-contact li{font-size:14px;line-height:1.9;color:#bdc9c7}.site-footer a:hover{color:#eddbb7}.footer-logo{width:72px;margin-bottom:22px}.site-footer .local-links{display:flex;flex-direction:column}.site-footer .local-links a{font-size:13px}.site-footer__bottom{border-top:1px solid #5c75773f;padding:25px 0;margin-top:45px}.site-footer__bottom p{font-size:12px;margin:0}
.page-content{padding-bottom:70px}.page-intro{padding-top:72px;padding-bottom:50px;margin-bottom:50px;border-bottom:1px solid #cdd4cc}.page-intro h1{font-family:var(--sig-serif);font-weight:400;letter-spacing:-.045em;font-size:clamp(48px,6vw,78px);line-height:1.1;max-width:950px}.page-intro .lead{max-width:760px;font-size:20px;line-height:1.65;color:#536761}.entry-content h2{font-family:var(--sig-serif);font-weight:400;letter-spacing:-.025em;font-size:36px;line-height:1.2}.entry-content>p,.entry-content>ul{max-width:850px}.content-section{padding:20px 0 40px}.content-section--soft{padding:40px;background:#e9ede8;border:0;border-left:2px solid #b6a075;border-radius:0}.service-card{box-shadow:none;border:1px solid #ced6cc;border-radius:2px;padding:32px;background:#f9faf6}.service-card h3{font-family:var(--sig-serif);font-size:29px;line-height:1.25;font-weight:400}.service-card p{font-size:16px}.contact-panel{border-radius:2px;border:1px solid #cdd5cc;box-shadow:none;background:#fff;padding:36px}.contact-panel:first-child{background:#e9ede8}.contact-list{padding:0;list-style:none}.contact-list li{margin:0 0 16px;overflow-wrap:anywhere}.contact-list strong{display:block;font-size:13px;font-weight:600;color:#66715f}.contact-form{gap:20px}.form-field label{font-weight:500;font-size:15px;color:#263d43;margin-bottom:7px}.form-field input:not([type=checkbox]),.form-field textarea,.form-field select{border-radius:2px;border:1px solid #b4c0b7;background:#fafbf8;color:#14262c;padding:13px;min-height:50px;font-size:16px;box-shadow:none}.form-field textarea{min-height:140px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{background:#fff;border-color:#8b6a35}.form-field--consent label,.form-consent{font-size:13px;line-height:1.6}.form-field--consent input{accent-color:#19363e;width:19px;height:19px}.form-hint{font-size:13px;color:#617166;margin-top:8px}.contact-form .button{justify-self:start;background:#18343b;color:white;border-color:#18343b}.notice{border-radius:2px;padding:18px;font-size:16px}.post-card{border-radius:2px;box-shadow:none}.post-card h2{font-family:var(--sig-serif);font-weight:400}.entry-content{overflow-wrap:break-word}.contact-form button[disabled]{cursor:wait;opacity:.75}
/* Everything is readable if JavaScript fails. */
.js [data-reveal]{opacity:1;transform:none;visibility:visible;transition:none}[data-reveal].signature-enter{animation:signature-enter .65s cubic-bezier(.2,.7,.3,1) both}@keyframes signature-enter{from{opacity:.7;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
:root{--cec-font:"CEC Sans","Segoe UI",Arial,sans-serif;--sig-serif:"CEC Serif",Georgia,serif}.signature-hero h1{font-size:clamp(62px,7.2vw,104px);letter-spacing:-.035em;line-height:.99}.signature-hero h1 em{letter-spacing:-.025em}.signature-section h2{font-size:clamp(44px,4.75vw,66px);letter-spacing:-.02em}.signature-hero__caption strong{font-size:34px}.signature-service h3{font-size:33px}.signature-advisor blockquote{font-size:30px}.signature-steps h3{font-size:34px}
@media(min-width:1600px){.signature-hero__grid{padding-top:82px;padding-bottom:70px}}
@media(max-width:1190px){:root{--cec-wrap:calc(100% - 72px)}.header-phone{display:none}.signature-hero__grid{gap:40px;padding-top:52px}.signature-hero h1{font-size:clamp(57px,6.5vw,78px)}.signature-hero__actions{gap:16px}.signature-hero__actions .button{padding:15px 20px}.signature-manifesto__grid,.signature-advisor__grid,.signature-method__grid,.signature-territory__grid{gap:65px}.signature-faq__grid{gap:50px}.signature-section{padding:90px 0}.signature-values__grid{gap:35px}.signature-service h3{font-size:27px}.site-footer__grid{gap:30px}}
@media(max-width:859px){:root{--cec-wrap:calc(100% - 40px)}body{font-size:16px;padding-bottom:calc(78px + env(safe-area-inset-bottom))}html{scroll-padding-top:85px}.site-header__inner{min-height:78px;gap:16px}.site-brand__mark{width:62px;min-width:62px}.header-actions{display:flex;margin-left:auto}.header-booking{font-size:13px;padding:10px 14px}.nav-toggle{order:3;border-radius:2px;flex-shrink:0;margin:0}.site-navigation{inset:78px 0 auto;padding:12px 20px 20px;background:#fafaf7;border-radius:0;border:0;border-bottom:1px solid #bdc8bf;box-shadow:0 18px 22px #14262c13}.primary-menu a{font-size:16px;padding:12px}.signature-hero__grid{grid-template-columns:1.1fr .8fr;gap:30px;padding-top:40px;padding-bottom:35px}.signature-hero h1{font-size:clamp(45px,6.6vw,59px)}.signature-hero .eyebrow{font-size:11px;max-width:300px;margin-bottom:24px}.signature-hero__lead{font-size:15px;line-height:1.65}.signature-hero__visual{padding-right:0}.signature-hero__frame{border-top-left-radius:110px}.signature-hero__vertical{display:none}.signature-hero__caption{left:18px;bottom:18px}.signature-hero__caption span{font-size:10px}.signature-hero__caption span:first-child{display:none}.signature-hero__caption strong{font-size:23px}.signature-hero__actions{align-items:flex-start;flex-direction:column;gap:12px}.signature-hero__actions .button{font-size:14px}.signature-hero__bottom{font-size:11px}.signature-reassurance dl{gap:25px;padding-block:25px}.signature-reassurance dl div{padding-left:14px}.signature-reassurance dd{font-size:13px}.signature-reassurance dt{font-size:14px}.signature-section{padding:72px 0}.signature-section h2{font-size:43px}.signature-manifesto__grid,.signature-advisor__grid,.signature-method__grid,.signature-territory__grid{gap:38px}.signature-manifesto__copy .signature-intro{font-size:20px}.signature-section-head{gap:35px}.signature-section-head>p{max-width:220px;font-size:14px}.signature-service{grid-template-columns:20px 1fr;gap:14px}.signature-service__arrow{display:none}.signature-service:nth-child(2n){padding-left:24px}.signature-service:nth-child(2n+1){padding-right:24px}.signature-service h3{font-size:25px}.signature-service p{font-size:14px}.signature-advisor blockquote{font-size:24px}.signature-values__grid{gap:28px}.signature-values h3{font-size:24px}.signature-values p{font-size:15px}.signature-faq__grid{grid-template-columns:1fr;gap:25px}.signature-faq .faq-item summary{font-size:16px}.footer-cta{padding:60px 0}.footer-cta__inner{flex-direction:column;align-items:flex-start;gap:24px}.footer-cta__actions{flex-direction:row;flex-wrap:wrap}.site-footer__grid{grid-template-columns:1.5fr 1fr;gap:42px}.mobile-quick-actions{background:#f8f9f3ed;backdrop-filter:blur(12px);border-top:1px solid #c1c8ba;padding-bottom:calc(10px + env(safe-area-inset-bottom));z-index:45}.mobile-quick-actions a{font-size:14px;background:transparent;color:#18343b;border:1px solid #9eafa2;min-height:48px}.mobile-quick-actions a+a{background:#18343b;color:#fff;border:1px solid #18343b}.page-intro{padding-top:48px;padding-bottom:36px;margin-bottom:36px}.page-intro h1{font-size:52px}.page-intro .lead{font-size:18px}.contact-panel{padding:25px}}
@media(max-width:600px){.signature-hero__grid{grid-template-columns:1fr;padding-top:35px;gap:34px}.signature-hero h1{font-size:clamp(46px,11.4vw,65px);line-height:1.08;margin-bottom:24px;letter-spacing:-.055em}.signature-hero .eyebrow{max-width:100%;font-size:10px;margin-bottom:20px;letter-spacing:.095em}.signature-hero__lead{font-size:16px;max-width:350px;margin-bottom:25px}.signature-hero__actions{flex-direction:column;gap:12px}.signature-hero__actions .button{font-size:15px;min-height:54px}.signature-hero__actions .signature-link{font-size:14px}.signature-hero__reassurance{font-size:12px;margin-top:12px}.signature-hero__visual{width:100%;max-width:none}.signature-hero__frame{aspect-ratio:1.17;border-radius:100px 2px 2px 2px;transform:none}.signature-hero__frame img{object-position:50% 35%}.signature-hero__caption{left:22px;bottom:22px}.signature-hero__caption strong{font-size:28px}.signature-hero__caption span{font-size:12px}.signature-hero__bottom>span{max-width:230px}.signature-hero__bottom{padding-block:13px}.signature-hero__bottom a{gap:12px;align-items:center;font-size:12px}.signature-reassurance dl{grid-template-columns:1fr;gap:18px;padding-block:26px}.signature-reassurance dl div{padding-left:18px}.signature-reassurance dt{margin-bottom:3px;font-size:15px}.signature-reassurance dd{max-width:none;font-size:14px}.signature-section{padding:62px 0}.signature-section h2{font-size:clamp(37px,9.4vw,46px);line-height:1.14;letter-spacing:-.045em}.signature-section .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:22px}.section-index{margin-right:15px}.signature-manifesto__grid,.signature-advisor__grid,.signature-method__grid,.signature-territory__grid{grid-template-columns:1fr;gap:30px}.signature-manifesto__copy{padding-top:0}.signature-manifesto__copy .signature-intro{font-size:21px}.signature-section-head{display:block;margin-bottom:32px}.signature-section-head>p{max-width:none;margin-top:22px;font-size:16px}.signature-services{grid-template-columns:1fr}.signature-service,.signature-service:nth-child(2n),.signature-service:nth-child(2n+1){border-left:0;padding:26px 0;grid-template-columns:22px 1fr 28px;gap:14px}.signature-service__arrow{display:block;width:28px;height:28px;line-height:26px}.signature-service h3{font-size:28px;margin-bottom:13px}.signature-service p{font-size:15px}.signature-service__label{font-size:13px;margin-bottom:12px}.signature-section-end{display:block;margin-top:26px}.signature-section-end>span{display:block;margin-bottom:10px}.signature-advisor__photo{max-width:430px}.signature-advisor__photo img{aspect-ratio:1122/1402;border-radius:2px}.signature-advisor__copy{padding-top:10px}.signature-advisor blockquote{font-size:26px}.signature-steps li{gap:19px;grid-template-columns:30px 1fr;padding:25px 0}.signature-steps h3{font-size:30px}.signature-values h2{margin-bottom:35px}.signature-values__grid{grid-template-columns:1fr;gap:28px}.signature-values__grid article{display:grid;grid-template-columns:38px 1fr;gap:9px 15px;padding-top:20px}.signature-values h3{margin:3px 0 4px;font-size:26px}.signature-values p{grid-column:2;max-width:none}.signature-faq__grid{gap:12px}.signature-faq .faq-item summary{font-size:16px;padding:23px 35px 23px 0}.signature-faq .faq-item p{padding-right:20px}.footer-cta h2{font-size:42px}.footer-cta__actions{width:100%;flex-direction:column}.footer-cta__actions .button{width:100%}.site-footer{padding-top:48px}.site-footer__grid{grid-template-columns:1fr 1fr;gap:36px 20px}.site-footer__grid>section:first-child{grid-column:1/-1;max-width:420px}.site-footer__grid>section:last-child{grid-column:1/-1}.site-footer__grid>section:nth-child(3) a{font-size:12px}.site-footer p,.site-footer a{font-size:14px}.site-footer__bottom{margin-top:32px}.page-intro h1{font-size:44px}.entry-content h2{font-size:32px}.contact-panel{padding:23px 19px}.content-section--soft{padding:26px}.contact-layout{gap:25px}.contact-form{display:flex;flex-direction:column}.contact-form .form-field{width:100%;margin:0}.contact-form .button{width:100%}.entry-content p{font-size:16px}.header-booking{font-size:12px;padding:9px 12px}.site-header__inner{gap:12px}.site-brand__mark{width:59px;min-width:59px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.signature-hero__frame{transform:none!important}}
@media(forced-colors:active){.signature-service__arrow,.button,.header-booking{border:1px solid ButtonText}}
.signature-contact{display:grid;grid-template-columns:.85fr 1.15fr;grid-template-areas:"intro form" "details form";column-gap:100px;row-gap:38px;padding-block:75px 100px;align-items:start}.signature-contact__intro{grid-area:intro}.signature-contact__intro h1{font-family:var(--sig-serif);font-size:76px;font-weight:400;letter-spacing:-.025em;line-height:1.02;margin-bottom:28px}.signature-contact__intro h1 em{color:#947038}.signature-contact__intro>p:last-child{max-width:390px;color:#57656a}.signature-contact__form{grid-area:form;background:#fff;padding:35px 38px;border:1px solid #d3dacd}.signature-contact__form h2{font-family:var(--sig-serif);font-weight:400;font-size:37px;margin:0 0 8px}.signature-contact__hint{font-size:14px;color:#647169;margin-bottom:28px}.signature-contact__details{grid-area:details}.signature-contact__details .eyebrow{font-size:11px;margin-bottom:14px;letter-spacing:.08em}.signature-contact__phone{font-size:29px;font-family:var(--sig-serif);display:block;width:fit-content;text-decoration:none;color:#21383e}.signature-contact__email{font-size:15px;display:block;width:fit-content;overflow-wrap:anywhere;margin-top:6px}.signature-contact__address{margin-top:30px;padding-top:25px;border-top:1px solid #c6cebf;font-size:15px}.signature-contact__address p{margin:5px 0;max-width:300px}.signature-contact__address span,.signature-contact__note{font-size:13px;color:#58685f}.signature-contact__note{margin-top:24px;max-width:340px}.signature-contact__form .contact-form{display:grid;grid-template-columns:1fr 1fr;gap:19px}.signature-contact__form .form-field{margin:0;min-width:0}.signature-contact__form .form-field:has(textarea),.signature-contact__form .form-field--consent,.signature-contact__form .form-consent,.signature-contact__form .notice{grid-column:1/-1}.signature-contact__form .form-consent{margin:0}.signature-contact__form .form-field input:not([type=checkbox]),.signature-contact__form .form-field textarea,.signature-contact__form .form-field select{width:100%;min-width:0}.signature-contact__form .button{grid-column:1/-1;justify-self:stretch}.form-hint{display:block}.form-optional{font-size:12px;color:#67766c;font-weight:400}.signature-contact__form .notice[hidden]{display:none}
@media(max-width:1050px){.signature-contact{column-gap:50px}.signature-contact__intro h1{font-size:64px}.signature-contact__form{padding:28px}.signature-contact__form .contact-form{grid-template-columns:1fr}}
@media(max-width:760px){.signature-contact{grid-template-columns:1fr;grid-template-areas:"intro" "form" "details";row-gap:25px;padding-top:38px;padding-bottom:60px}.signature-contact__intro h1{font-size:58px;margin-bottom:20px}.signature-contact__intro .eyebrow{font-size:11px;margin-bottom:20px}.signature-contact__form{padding:25px 20px}.signature-contact__form h2{font-size:34px}.signature-contact__details{padding:15px 5px 0}.signature-contact__form .contact-form{display:flex;flex-direction:column}.signature-contact__form .button{width:100%}}

.signature-contact{grid-template-rows:min-content 1fr}.admin-bar .site-header{top:32px}
@media(min-width:601px) and (max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}

/* Interior pages: keep every section inside the actual viewport, including its scrollbar. */
.page-content{padding-top:0;background:#f6f5f1}
.page-intro{max-width:none;margin:0 0 48px;padding:62px 0 48px;background:transparent;color:#25383e;border-bottom:1px solid #cdd4cc}
.page-intro h1{padding:0;border:0;color:#1a3037;margin:20px 0 24px;text-wrap:balance}
.page-intro .eyebrow{color:#775623}
.page-intro .lede{font-size:20px;line-height:1.7;color:#536761;max-width:800px;margin-bottom:0}
.page-intro .breadcrumbs a,.page-intro .breadcrumbs span,.breadcrumbs{color:#57656a}
.breadcrumbs{font-size:13px;line-height:1.6}
.entry-content{max-width:940px}
.entry-content>.content-section{padding:8px 0 34px;border:0;border-bottom:1px solid #d7ddd4;background:transparent;margin:0 0 32px}
.entry-content>.content-section:first-child h2{margin-top:0}
.entry-content>.content-section--soft{padding:32px 36px;background:#e9ede8;border:0;border-left:2px solid #b6a075}
.entry-content>.content-section--soft>h2:first-child{margin-top:0}
.entry-content h2{color:#1a3037;max-width:850px}
.entry-content h3{font-family:var(--sig-serif);font-size:29px;line-height:1.25;font-weight:500;margin-top:28px}
.entry-content p,.entry-content li{line-height:1.8}
.entry-content:has(.service-grid){max-width:none}
.service-grid{gap:22px;margin-top:32px;counter-reset:services}
.service-card{position:relative;counter-increment:services;padding:30px;scroll-margin-top:24px}
.service-card::before{content:counter(services,decimal-leading-zero);display:block;color:#775623;font-size:13px;letter-spacing:.08em;margin-bottom:30px}
.service-card h3{margin-top:0;font-size:32px}
.service-card p:last-child{margin-bottom:0}
.service-card:target{border-color:#947038;box-shadow:0 0 0 2px #947038}
.steps-list li{border-radius:2px;line-height:1.7;padding:20px 24px 20px 70px}
.steps-list li::before{background:#19363e;color:#e6d1aa;font-weight:500;top:23px;left:22px;border-radius:0;font-size:15px}
.post-grid{gap:26px;grid-template-columns:repeat(2,minmax(0,1fr))}
.post-card{padding:36px;background:#fafbf7;border:1px solid #d1d8cc;display:flex;flex-direction:column;align-items:flex-start}
.post-card h2{font-size:36px;line-height:1.2;letter-spacing:-.015em;margin:4px 0 22px}
.post-card h2{text-wrap:balance}
.post-card h2 a{color:#1a3037}
.post-card h2 a:hover{color:#775623}
.post-card>p:not(.post-card__date){font-size:16px;line-height:1.75;color:#57656a}
.post-card .post-card__read{margin-top:auto;padding-top:14px}
.post-card__date{font-size:13px;color:#617166}
.article-content{padding-top:48px}
.article-header{border-bottom:1px solid #cdd4cc;padding-bottom:34px;margin-bottom:40px}
.article-header h1{font-family:var(--sig-serif);font-size:clamp(44px,5.2vw,66px);font-weight:500;line-height:1.08;letter-spacing:-.025em;margin:24px 0;text-wrap:balance}
.article-header .lede{font-size:20px;line-height:1.7;color:#536761}
.article-meta{font-size:13px;color:#57656a}
.article-content .entry-content{font-size:18px}
.article-author{background:#e9ede8;border-radius:2px;border:1px solid #cdd4cc;padding:28px;margin-top:50px}
.article-author h2{font-family:var(--sig-serif);font-weight:500;font-size:29px;line-height:1.2}
.article-author p{font-size:15px;line-height:1.75}
.article-footer{display:flex;flex-wrap:wrap;gap:14px}
.article-footer .button--secondary{border:1px solid #889b90;background:transparent;color:#19363e}
.footer-logo{width:108px;padding:12px;background:#f6f5f1;border-radius:2px}
.site-footer .local-links a{color:#bdc9c7;background:transparent;font-size:14px;min-height:36px;line-height:1.6}
.site-footer .local-links a:hover{color:#eddbb7;background:transparent}
.site-footer__grid>section{min-width:0}
.site-footer a{overflow-wrap:anywhere}
.signature-advisor__photo{max-width:560px}
.signature-advisor__photo p{font-size:13px}
.signature-faq .faq-item{box-shadow:none}
.signature-section .eyebrow{color:#775623}
.signature-method .eyebrow{color:#d3b780}
.error-404{padding-block:72px 90px;min-height:55vh}
.error-404 h1{font-family:var(--sig-serif);font-weight:500;font-size:clamp(44px,6vw,72px)}
@media(max-width:859px){
 .page-intro{padding:42px 0 34px;margin-bottom:34px}
 .page-intro h1{font-size:clamp(40px,6.5vw,56px)}
 .page-intro .lede{font-size:18px}
 .entry-content>.content-section--soft{padding:26px}
 .post-card{padding:28px}.post-card h2{font-size:30px}
 .service-grid{gap:18px}.service-card{padding:25px;scroll-margin-top:24px}
 .service-card h3{font-size:29px}
 .article-content{padding-top:32px}.article-header h1{font-size:48px}
 .site-footer .local-links a,.site-footer .footer-menu a{min-height:44px;padding-block:8px}
}
@media(max-width:600px){
 .page-intro h1{font-size:42px;line-height:1.13}
 .page-intro .lede{font-size:17px}
 .entry-content>.content-section{padding-bottom:24px;margin-bottom:26px}
 .entry-content>.content-section--soft{padding:24px 20px}
 .entry-content h2{font-size:33px}
 .post-grid{grid-template-columns:1fr;gap:20px}.post-card{padding:25px}.post-card h2{font-size:32px}
 .service-card{padding:26px}.service-card::before{margin-bottom:20px}
 .article-header h1{font-size:40px;line-height:1.13}.article-header .lede{font-size:18px}
 .article-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px}
 .article-meta span:first-child{flex-basis:100%}
 .article-author{grid-template-columns:64px minmax(0,1fr);gap:18px;padding:22px 18px}
 .article-author img{width:64px;height:64px}.article-author h2{font-size:26px}
 .article-footer .button{width:100%}
 .site-footer__grid{grid-template-columns:1fr;gap:30px}
 .site-footer__grid>section{grid-column:auto}
 .site-footer__grid>section:nth-child(3) a{font-size:14px}
 .site-footer .footer-menu,.site-footer .local-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
 .site-footer .footer-menu{list-style:none;padding:0;margin:0}
 .site-footer .footer-menu li{margin:0}
 .site-footer .footer-menu a{display:inline-block;line-height:1.6}
 .signature-hero .eyebrow{font-size:11px;letter-spacing:.07em}
}

/* A continuous path: discover a project, understand it, start a conversation. */
.project-hero,.cabinet-hero{display:grid;grid-template-columns:1.25fr .85fr;gap:85px;padding:64px 0 62px;align-items:center}
.project-hero h1,.cabinet-hero h1{font-family:var(--sig-serif);font-weight:400;font-size:clamp(54px,5.8vw,82px);line-height:1.05;letter-spacing:-.025em;margin:20px 0 28px;text-wrap:balance}
.project-hero h1 em,.cabinet-hero h1 em,.project-help h2 em{color:#947038;font-weight:400}
.project-hero .lede,.cabinet-hero .lede{font-size:18px;line-height:1.75;color:#57656a;max-width:590px}
.project-hero .breadcrumbs,.cabinet-hero .breadcrumbs{margin-bottom:30px}
.project-hero .eyebrow,.cabinet-hero .eyebrow{margin-bottom:20px}
.journey-steps{background:#e9ede8;padding:32px 30px;border-top:2px solid #b7a075}
.journey-steps>.eyebrow{font-size:11px;margin-bottom:12px}
.journey-steps>a{display:grid;grid-template-columns:34px 1fr 16px;gap:12px;padding:22px 0;border-bottom:1px solid #c5d0c6;text-decoration:none;color:#22383e;align-items:start}
.journey-steps>a:last-child{border-bottom:0;padding-bottom:4px}
.journey-steps>a>span:first-child{font-family:var(--sig-serif);font-size:25px;line-height:1.1;font-style:italic;color:#775623}
.journey-steps strong{display:block;font-size:15px;line-height:1.5;font-weight:600}
.journey-steps small{font-size:13px;line-height:1.65;display:block;margin-top:6px;color:#52645d}
.journey-steps b{font-weight:400;color:#775623}
.journey-steps>a:hover strong{color:#775623;text-decoration:underline;text-underline-offset:5px}
.project-picker{padding:30px 0 42px;border-top:1px solid #cdd4cc;margin-bottom:45px;scroll-margin-top:20px}
.project-picker>p{font-size:15px;font-weight:600;margin-bottom:18px}
.project-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.project-shortcuts a{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:54px;border:1px solid #bdcabe;padding:13px 17px;text-decoration:none;font-size:14px;background:#fafbf7;line-height:1.5;color:#22383e;transition:background .2s,border-color .2s}
.project-shortcuts a:hover{background:#e5eae1;border-color:#7f977f}
.project-shortcuts a>span{font-size:20px;color:#775623}
.project-content .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:48px}
.project-content .service-card{display:flex;flex-direction:column;align-items:flex-start;padding:34px 36px;min-height:340px;background:#fcfcf9;transition:border-color .2s,box-shadow .2s}
.project-content .service-card h3{font-size:36px;max-width:410px;margin-bottom:20px}
.project-content .service-card p{max-width:460px;line-height:1.8;margin-bottom:25px}
.project-content .service-card .project-contact{margin-top:auto;font-size:14px;gap:26px}
.project-content .service-card:hover{border-color:#b29c76;box-shadow:0 8px 26px #14262c07}
.project-content .content-section--soft{max-width:920px}
.project-help{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:48px;margin-top:55px;border:1px solid #bfc9ba;background:#e9ede8}
.project-help h2{font-family:var(--sig-serif);font-weight:400;font-size:46px;line-height:1.12;letter-spacing:-.02em;margin-bottom:22px}
.project-help .eyebrow{font-size:11px}
.project-help p:last-child{max-width:590px;font-size:16px;margin-bottom:0;color:#57656a}
.project-help .button{flex-shrink:0}
.cabinet-hero{grid-template-columns:1.1fr .8fr;gap:100px;padding-bottom:78px;border-bottom:1px solid #cdd4cc}
.cabinet-hero figure{margin:0;position:relative;max-width:450px;justify-self:end;width:100%}
.cabinet-hero figure>img{width:100%;height:auto;aspect-ratio:1122/1402;border-radius:100px 2px 2px 2px;object-fit:contain}
.cabinet-hero figcaption{display:flex;flex-direction:column;gap:1px;padding:19px 0 0;font-size:13px;color:#57656a}
.cabinet-hero figcaption strong{font-size:16px;color:#22383e;font-weight:600}
.cabinet-hero .signature-link{margin-top:10px}
.cabinet-body{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;padding-top:75px;align-items:start}
.cabinet-guide{position:sticky;top:135px;min-width:0}
.cabinet-guide__quote{font-family:var(--sig-serif);font-size:46px;line-height:1.1;color:#20373d;margin-bottom:30px;letter-spacing:-.02em}
.cabinet-guide__quote em{color:#947038}
.cabinet-guide>.signature-link{font-size:14px;gap:15px;margin-top:18px}
.cabinet-body .entry-content{min-width:0}
.cabinet-body .entry-content h2{font-size:35px;line-height:1.18}
.cabinet-body .entry-content>.content-section--soft{padding:28px}
.reading-index{margin:0 0 32px;border-top:1px solid #bbc9bb;border-bottom:1px solid #bbc9bb;background:#e9ede8}
.reading-index summary{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;font-weight:600;min-height:56px;padding:16px 20px;cursor:pointer;list-style:none;color:#22383e}
.reading-index summary::-webkit-details-marker{display:none}
.reading-index summary>span{font-size:21px;font-weight:400;line-height:1;color:#775623}
.reading-index details[open] summary>span{transform:rotate(45deg)}
.reading-index ol{margin:0;padding:0 24px 18px 42px}
.reading-index li{padding:3px 0;color:#775623;font-size:14px}
.reading-index a{display:block;color:#304b43;padding:5px 0;line-height:1.6;text-decoration:none}
.reading-index a:hover{text-decoration:underline;text-underline-offset:4px}
.entry-content h2[id]{scroll-margin-top:25px}
.contact-person{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.contact-person>div{min-width:0}
.contact-person img{width:64px;height:64px;object-fit:cover;border-radius:50%;flex-shrink:0;border:1px solid #c4cdbb}
.contact-person p{font-size:12px;line-height:1.6;margin:4px 0 0;color:#617166}
.signature-contact__hint{margin-bottom:24px}
.contact-next{margin-top:28px;border-top:1px solid #d5dccf;padding-top:24px}
.contact-next h3{font-size:14px;font-family:var(--cec-font);font-weight:600;margin:0 0 9px;line-height:1.5;color:#22383e}
.contact-next p{font-size:13px;line-height:1.7;color:#617166;margin:0}
#contact-form-title{scroll-margin-top:24px}
.cabinet-guide{max-height:calc(100svh - 155px);overflow-y:auto;padding-right:6px}
.footer-projects{display:flex;flex-direction:column}
.site-footer .footer-projects a{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.65;min-height:40px;padding:6px 0;color:#bdc9c7;text-decoration:none}
.site-footer .footer-projects a:hover{color:#eddbb7;text-decoration:underline;text-underline-offset:4px}
.footer-projects a>span{color:#d3b780}
.footer-areas{margin-top:40px;border-top:1px solid #5c75773f}
.footer-areas summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;color:#bdc9c7;font-size:14px;cursor:pointer;list-style:none;min-height:54px}
.footer-areas summary::-webkit-details-marker{display:none}
.footer-areas summary>span{font-size:22px;color:#d3b780}
.footer-areas details[open] summary>span{transform:rotate(45deg)}
.footer-areas .local-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 28px;padding-bottom:20px}
.footer-areas+.site-footer__bottom{margin-top:0}
.mobile-quick-actions{box-shadow:0 -4px 18px #14262c0b}
@media(max-width:1100px){
 .project-hero,.cabinet-hero{gap:45px;grid-template-columns:1fr .8fr}
 .project-hero h1,.cabinet-hero h1{font-size:61px}
 .journey-steps{padding:25px 22px}.journey-steps strong{font-size:14px}
 .cabinet-body{gap:50px;grid-template-columns:.7fr 1.3fr}
 .cabinet-guide__quote{font-size:40px}
 .project-help{padding:35px;gap:30px}.project-help h2{font-size:40px}
 .contact-person{gap:14px}.contact-person img{width:52px;height:52px}
 .signature-contact__form .contact-person h2{font-size:31px}
}
@media(max-width:859px){
 .project-hero{padding:42px 0 36px;gap:30px;grid-template-columns:1fr}
 .project-hero h1{font-size:58px;max-width:650px}
 .journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px}
 .journey-steps>.eyebrow{grid-column:1/-1;margin:0}
 .journey-steps>a{display:flex;flex-direction:column;gap:12px;border:0;padding:0}
 .journey-steps b{display:none}
 .project-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-content .service-card{padding:28px;min-height:340px}
 .project-content .service-card h3{font-size:32px}
 .project-content .service-card .project-contact{gap:15px;font-size:13px}
 .project-help{display:block}.project-help .button{margin-top:28px}
 .cabinet-hero{gap:35px;padding:42px 0 50px}
 .cabinet-hero h1{font-size:51px}.cabinet-hero .lede{font-size:16px}
 .cabinet-body{grid-template-columns:1fr;gap:30px;padding-top:45px}
 .cabinet-guide{position:static}.cabinet-guide__quote{display:none}
 .cabinet-guide{max-height:none;overflow:visible;padding-right:0}
 .cabinet-guide>.signature-link{margin:0}.cabinet-guide .reading-index{margin-bottom:15px}
 .footer-areas .local-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-footer .footer-projects a{min-height:44px}
}
@media(max-width:600px){
 .project-hero h1,.cabinet-hero h1{font-size:clamp(42px,11vw,58px);line-height:1.08}
 .project-hero .lede{font-size:17px}
 .journey-steps{grid-template-columns:1fr;gap:0;padding:23px}
 .journey-steps>.eyebrow{margin-bottom:9px}
 .journey-steps>a{display:grid;grid-template-columns:30px 1fr;gap:12px;border-bottom:1px solid #c5d0c6;padding:18px 0}
 .journey-steps>a:last-child{padding-bottom:0}.journey-steps strong{font-size:15px}.journey-steps small{margin-top:4px}
 .project-picker{padding:26px 0 30px;margin-bottom:20px}
 .project-shortcuts{gap:9px}.project-shortcuts a{font-size:13px;padding:12px;gap:8px;min-height:66px}.project-shortcuts a>span{font-size:17px}
 .project-content .service-grid{grid-template-columns:1fr;gap:20px}
 .project-content .service-card{padding:27px;min-height:0}.project-content .service-card h3{font-size:32px}
 .project-content .service-card .project-contact{font-size:14px}
 .project-help{padding:28px 23px;margin-top:35px}.project-help h2{font-size:37px}.project-help .button{width:100%;font-size:14px}
 .cabinet-hero{grid-template-columns:1fr;gap:32px}.cabinet-hero figure{max-width:430px;justify-self:start}
 .cabinet-hero figure>img{border-top-left-radius:80px}
 .cabinet-hero figcaption{padding-top:16px}
 .cabinet-body .entry-content h2{font-size:32px}.cabinet-body .entry-content>.content-section--soft{padding:24px}
 .reading-index summary{padding:15px 17px;font-size:14px}
 .contact-person{gap:14px}.signature-contact__form .contact-person h2{font-size:31px}.contact-person img{width:52px;height:52px}
 .footer-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 22px}
 .site-footer .footer-projects a{font-size:14px}.footer-projects a>span{display:none}
 .footer-areas{margin-top:25px}.footer-areas .local-links{gap:3px 22px}
 .footer-areas summary{font-size:13px;line-height:1.6}
}

/* Comfortable reading sizes, with compact navigation labels on small screens. */
.project-hero{row-gap:38px}
.project-hero .project-picker{grid-column:1/-1;margin-bottom:0;padding-bottom:0}
body{font-size:18px;line-height:1.75}
.primary-menu a{font-size:16px;font-weight:600}
.header-phone,.header-booking{font-size:15px}
.booking-label-short{display:none}
.button{font-size:16px;min-height:56px}
.signature-link{font-size:16px}
.signature-hero__lead{font-size:19px;line-height:1.75}
.signature-hero .signature-link{font-size:16px}
.signature-hero__reassurance,.signature-hero__bottom{font-size:14px}
.signature-hero .eyebrow,.signature-section .eyebrow,.eyebrow{font-size:13px;letter-spacing:.1em}
.signature-hero__caption span{font-size:14px}
.signature-reassurance dt{font-size:17px}.signature-reassurance dd{font-size:16px}
.signature-service p,.signature-values p,.signature-steps p,.signature-section-head>p{font-size:17px}
.signature-service__label,.signature-service__number,.signature-section-end>span{font-size:14px}
.signature-advisor__photo p,.signature-advisor__name span{font-size:14px}
.signature-advisor__name strong{font-size:18px}
.signature-territory .local-links a,.signature-more-cities a{font-size:17px}
.signature-territory summary{font-size:16px}
.signature-faq .faq-item summary{font-size:18px}
.signature-faq .faq-item p{font-size:17px}
.site-footer p,.site-footer a,.footer-contact li{font-size:15px}
.site-footer h2.footer-title{font-size:13px}
.site-footer .footer-projects a,.site-footer .local-links a{font-size:15px;min-height:44px}
.site-footer__bottom p{font-size:13px}
.footer-areas summary{font-size:15px}
.breadcrumbs{font-size:14px}
.page-intro .lede,.project-hero .lede,.cabinet-hero .lede{font-size:20px}
.entry-content p,.entry-content li{font-size:18px}
.service-card p,.post-card>p:not(.post-card__date){font-size:17px}
.post-card__date,.article-meta{font-size:14px}
.post-card .post-card__read{font-size:16px}
.article-author p{font-size:16px}
.journey-steps strong{font-size:16px}.journey-steps small{font-size:14px}
.journey-steps>.eyebrow{font-size:12px}
.project-picker>p,.project-shortcuts a{font-size:16px}
.project-content .service-card .project-contact{font-size:16px}
.project-help p:last-child{font-size:18px}
.project-help .eyebrow{font-size:13px}
.reading-index summary{font-size:16px}
.reading-index li,.reading-index a{font-size:15px;line-height:1.7}
.cabinet-guide>.signature-link{font-size:16px}
.cabinet-hero figcaption{font-size:15px}
.signature-contact__hint,.contact-person p,.contact-next p{font-size:15px}
.contact-next h3{font-size:16px}
.signature-contact__details .eyebrow{font-size:13px}
.signature-contact__email,.signature-contact__address{font-size:17px}
.signature-contact__address span,.signature-contact__note{font-size:15px}
.form-field label{font-size:16px;font-weight:500}
.form-field--consent label,.form-consent,.form-hint,.form-optional{font-size:14px;line-height:1.7}
.signature-contact__form .form-field input:not([type=checkbox]),.signature-contact__form .form-field textarea,.signature-contact__form .form-field select{font-size:17px}
@media(min-width:860px) and (max-width:1000px){.primary-menu{gap:16px}.site-header__inner{gap:18px}.header-booking{font-size:14px;padding:12px 15px}}
@media(max-width:859px){
 body{font-size:17px}
 .project-hero .project-picker{grid-row:2}
 .project-hero .journey-steps{grid-row:3}
 .booking-label-full{display:none}.booking-label-short{display:inline}
 .header-booking{font-size:16px;padding:10px 17px;min-height:46px;display:flex;align-items:center}
 .primary-menu a{font-size:18px;padding:13px 12px}
 .signature-hero .eyebrow{font-size:12px}
 .signature-hero__lead{font-size:17px}
 .signature-hero__caption span{font-size:13px}
 .signature-section .eyebrow{font-size:12px}
 .signature-hero__actions .button{font-size:16px}
 .signature-reassurance dt{font-size:16px}.signature-reassurance dd{font-size:15px}
 .signature-service p,.signature-values p,.signature-steps p{font-size:16px}
 .signature-faq .faq-item summary{font-size:17px}
 .entry-content p,.entry-content li{font-size:17px}
 .project-hero .lede,.cabinet-hero .lede,.page-intro .lede{font-size:18px}
 .project-shortcuts a{font-size:15px}
 .project-content .service-card .project-contact{font-size:15px;gap:14px}
 .project-help p:last-child{font-size:17px}
 .signature-contact__intro .eyebrow{font-size:12px}
 .signature-contact__form .contact-person h2{font-size:32px}
 .contact-person p{font-size:14px}
 .mobile-quick-actions a{font-size:15px;line-height:1.5;min-height:50px}
 .site-footer .footer-projects a,.site-footer .local-links a,.site-footer__grid>section:nth-child(3) a{font-size:15px}
}
@media(max-width:600px){
 .project-hero .journey-steps small{display:none}
 .signature-hero .eyebrow{font-size:12px;letter-spacing:.065em}
 .signature-hero__actions .signature-link{font-size:16px}
 .signature-hero__bottom{font-size:13px;gap:20px}.signature-hero__bottom a{font-size:13px}
 .signature-hero__reassurance{font-size:14px}
 .project-shortcuts{grid-template-columns:1fr}
 .project-shortcuts a{font-size:16px;min-height:52px;padding:12px 15px}
 .journey-steps strong{font-size:16px}.journey-steps small{font-size:14px}
 .reading-index summary{font-size:16px}
 .article-meta{font-size:14px}
 .project-help .button{font-size:15px}
 .footer-projects{grid-template-columns:1fr}
 .site-footer .footer-menu{grid-template-columns:1fr}
 .site-footer .footer-menu a{font-size:16px}
.site-footer .footer-projects a{font-size:16px}
 .footer-areas summary{font-size:15px}
}

/* Drawn icons avoid the platform-dependent emoji rendering of text arrows. */
:root{--cec-arrow-right:url('../icons/arrow-right.svg');--cec-arrow-down:url('../icons/arrow-down.svg')}
.cec-arrow,.button::after,.text-link::after,.territory-layout .local-links a::after{
 content:"";display:inline-block;width:18px;height:18px;flex:0 0 18px;
 background-color:currentColor;vertical-align:middle;
 -webkit-mask:var(--cec-arrow-right) center/contain no-repeat;
 mask:var(--cec-arrow-right) center/contain no-repeat;
}
.cec-arrow--down{-webkit-mask-image:var(--cec-arrow-down);mask-image:var(--cec-arrow-down)}
.signature-link .cec-arrow{transition:transform .2s}
.signature-link:hover .cec-arrow{transform:translateX(3px)}
.signature-link:hover .cec-arrow--down{transform:translateY(3px)}
.signature-service__arrow{display:flex;align-items:center;justify-content:center}
.signature-hero__bottom a{align-items:center}
.signature-hero__bottom .cec-arrow{width:16px;height:16px;flex-basis:16px}
.journey-steps .cec-arrow{width:16px;height:16px;flex-basis:16px}
.button::after{margin-left:18px}
@media(min-width:601px) and (max-width:859px){.signature-service__arrow{display:none}}
@media(max-width:600px){.signature-link{gap:20px}.signature-link .cec-arrow{width:16px;height:16px;flex-basis:16px}}

/* Source: editorial.css */
/* CEC CONSEIL — Editorial composition, 5.2.0. */
:root{--cec-paper:#f6f5f1;--cec-soft:#e9ede8;--cec-rule:#c7cfc7}
html{scroll-padding-top:112px;scroll-padding-bottom:24px}
html:has(>body.admin-bar){scroll-padding-top:144px}
.signature-section{padding-block:100px}
.signature-section p,.lede{text-wrap:pretty}
.signature-section h2{max-width:800px}
.signature-link{gap:24px}
.signature-link:focus-visible,.button:focus-visible{outline-color:#775623}
.signature-hero :focus-visible,.signature-method :focus-visible,.site-footer :focus-visible{outline-color:#eddbb7}
.button:hover{transform:translateY(-1px)}

/* A portrait and a clear invitation, arranged separately for each screen size. */
.signature-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 74px;padding-block:54px 48px;align-items:center}
.signature-hero__copy{grid-column:1;grid-row:1;align-self:end}
.signature-hero__conversion{grid-column:1;grid-row:2;align-self:start}
.signature-hero__visual{grid-column:2;grid-row:1/3;width:100%;max-width:400px;padding:0;perspective:none}
.signature-hero h1{font-size:clamp(64px,7.35vw,106px);line-height:1.02;letter-spacing:-.035em;margin-bottom:25px}
.signature-hero__lead{margin-bottom:0;max-width:455px}
.signature-hero__frame{aspect-ratio:auto;overflow:visible;border:0;border-radius:0;box-shadow:none;transform:none}
.signature-hero__frame img{display:block;width:100%;height:auto;aspect-ratio:4/4.8;object-fit:cover;object-position:50% 30%;border-radius:110px 0 0 0}
.signature-hero__frame::after{display:none}
.signature-hero__frame picture{display:block}
.signature-hero__caption{position:static;display:block;padding:18px 0 0;color:#eef1eb;line-height:1.6}
.signature-hero__caption span:first-child{display:none}
.signature-hero__caption strong{display:block;font-size:29px;line-height:1.2;margin-bottom:4px}
.signature-hero__caption span{font-size:14px;letter-spacing:0;color:#bac9c6}
.signature-hero__vertical{display:none}
.signature-hero__actions{gap:12px 22px}
.signature-hero__reassurance{margin-top:15px}
.signature-hero__bottom{font-size:14px;padding-block:16px 20px}
.signature-reassurance{background:var(--cec-paper)}
.signature-reassurance dl{padding-block:29px;gap:36px}
.signature-reassurance dl div{border-left:0;padding-left:0}
.signature-reassurance dt{font-size:17px;margin-bottom:5px}
.signature-reassurance dd{font-size:15px;line-height:1.7;max-width:310px}

/* The visitor reaches their project before the longer presentation. */
.signature-expertise{background:#e9ede8}
.signature-expertise .signature-section-head{margin-bottom:42px}
.signature-services{column-gap:38px;border-top:0}
.signature-service,.signature-service:nth-child(2n),.signature-service:nth-child(2n+1){grid-template-columns:30px minmax(0,1fr) 22px;gap:18px;padding:30px 0 34px;border-left:0;border-top:1px solid #aebfb2;border-bottom:0}
.signature-service__number{font-family:var(--sig-serif);font-size:22px;line-height:1.2;font-style:italic;padding-top:2px;color:#775623}
.signature-service__label{font-size:14px;margin-bottom:12px;color:#496158}
.signature-service h3{font-size:34px;line-height:1.12;max-width:355px;letter-spacing:-.015em;margin-bottom:15px}
.signature-service p{font-size:17px;line-height:1.75;max-width:370px}
.signature-service__arrow{display:flex;width:22px;height:24px;border:0;border-radius:0;color:#496158;align-items:center}
.signature-service:hover{background:transparent}
.signature-service:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.signature-service:hover .signature-service__arrow{background:transparent;color:#14262c;transform:translateX(3px)}
.signature-section-end{border-top:1px solid #aebfb2;margin-top:0;padding-top:24px}

/* Combine the philosophy and its three commitments in one reading sequence. */
.signature-manifesto__grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:90px}
.signature-manifesto__copy{padding-top:0;max-width:500px}
.signature-manifesto__copy .signature-intro{font-size:24px;line-height:1.55;margin-bottom:22px}
.signature-convictions{padding-top:58px}
.signature-convictions .signature-values__grid{gap:38px}
.signature-convictions article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px 15px;border-top:1px solid var(--cec-rule);padding-top:23px}
.signature-convictions article>span{font-family:var(--sig-serif);font-size:25px;color:#775623;line-height:1.3}
.signature-convictions h3{font-family:var(--sig-serif);font-size:28px;line-height:1.2;margin:0;color:#243a3b}
.signature-convictions p{grid-column:2;font-size:16px;line-height:1.75;margin:0}
.signature-advisor{background:#e9ede8;padding-block:86px}
.signature-advisor__grid{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:100px}
.signature-advisor__photo{max-width:465px;padding-bottom:30px}
.signature-advisor__photo img{border-radius:88px 0 0 0}
.signature-advisor__photo p{font-size:14px;position:static;margin:16px 0 0}
.signature-advisor blockquote{font-size:32px;line-height:1.4;color:#354e46;margin:24px 0}

/* A four-step horizontal sequence on desktop, a compact timeline on mobile. */
.signature-method__grid{display:block}
.signature-method__grid>div:first-child{display:grid;grid-template-columns:1.2fr 1fr;gap:0 80px;align-items:end;margin-bottom:46px}
.signature-method__grid>div:first-child>.eyebrow{grid-column:1/-1;margin-bottom:22px}
.signature-method__grid>div:first-child>h2{margin-bottom:0}
.signature-method__grid>div:first-child>p:last-child{margin:0 0 5px;font-size:18px;max-width:380px;justify-self:end}
.signature-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.signature-steps li,.signature-steps li:first-child,.signature-steps li:last-child{display:block;padding:24px 0 0;border:0;border-top:1px solid #698076}
.signature-steps li>span{display:block;font-size:40px;line-height:1;margin-bottom:28px}
.signature-steps h3{font-size:29px;line-height:1.15;margin-bottom:15px}
.signature-steps p{font-size:16px;line-height:1.8}
.signature-territory{border-bottom:1px solid var(--cec-rule)}

/* The journal is a set of readings, with no decorative stock imagery. */
.signature-journal{background:#f0f1eb}
.signature-journal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.signature-reading{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid #a4b6a8;padding:22px 0 0}
.signature-reading__meta{display:flex;justify-content:space-between;gap:16px;width:100%;font-size:13px;color:#53675b;margin-bottom:25px}
.signature-reading__meta>span:last-child{font-family:var(--sig-serif);font-size:24px;line-height:1;color:#775623}
.signature-reading h3{font-family:var(--sig-serif);font-size:33px;line-height:1.15;letter-spacing:-.015em;font-weight:400;margin:0 0 28px;max-width:390px}
.signature-reading h3 a{color:#243a3b;text-decoration:none}
.signature-reading h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.signature-reading>.signature-link{margin-top:auto;font-size:15px;min-height:46px}
.signature-journal .signature-section-head>.signature-link{flex-shrink:0;margin-bottom:7px}
.signature-faq{background:var(--cec-paper)}
.signature-faq .faq-item summary{font-size:18px}

/* The same lines, spacing and hierarchy continue across the interior pages. */
.project-content .service-grid{gap:26px}
.project-content .service-card{background:#fafaf6;border:1px solid #bfcbbf;border-top:2px solid #8a9e8c;padding:34px;box-shadow:none}
.project-content .service-card:target{background:#edf1e9;outline:2px solid #775623;outline-offset:4px;box-shadow:none}
.project-content .service-card h3{font-size:35px;line-height:1.15}
.project-content .service-card .project-contact{padding-top:18px;border-bottom-color:#9dad9e}
.project-picker{border-top-color:#bcc8bd}
.project-shortcuts a{background:transparent;border-color:#a9bcad}
.project-shortcuts a:hover{background:#e2e9de}
.cabinet-hero{gap:85px}
.cabinet-hero figure{max-width:450px;justify-self:end}
.cabinet-guide__quote{color:#3a5048}
.post-grid{counter-reset:journal;gap:28px}
.post-card{position:relative;border:0;border-top:1px solid #a4b6a8;padding:30px 0;background:transparent;counter-increment:journal}
.post-card::before{content:counter(journal,decimal-leading-zero);position:absolute;right:0;top:27px;font-family:var(--sig-serif);font-size:29px;line-height:1;color:#775623}
.post-card__date{padding-right:50px;margin-bottom:22px}
.post-card h2{font-size:38px;max-width:550px}
.post-card h2 a{text-decoration:none}
.post-card h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.post-card>p:not(.post-card__date){max-width:560px}
.post-card .post-card__read{padding-top:12px}
.article-content>.wrap{max-width:900px}
.article-content .entry-content{max-width:790px;margin-inline:auto}
.article-content .entry-content p{line-height:1.85}
.reading-index{background:#edf0e9}
.reading-index li,.reading-index a{font-size:16px}
.reading-index a{padding-block:7px}
.signature-contact__form{border-top:2px solid #8a9e8c}
.signature-contact__intro h1{letter-spacing:-.025em}
.contact-next{background:#f0f3ec;padding:24px;border-top:0;margin-top:28px}
.signature-contact__form .form-field input:not([type=checkbox]),.signature-contact__form .form-field textarea,.signature-contact__form .form-field select{border-color:#758b7f}
.footer-cta{background:#e1e8dc;border-top:1px solid #b8c6b5;padding-block:74px}
.footer-cta h2{font-size:clamp(44px,5.2vw,70px);letter-spacing:-.025em}
.footer-cta .eyebrow{color:#526340}
.site-footer{padding-top:58px}
.site-footer__grid{gap:42px;grid-template-columns:1.5fr .85fr 1.2fr .7fr}
.site-footer__grid>section:first-child>p{max-width:325px}
.site-footer .footer-menu a{display:inline-flex;align-items:center;min-height:40px}

@media(min-width:860px) and (max-width:1100px){
 .signature-hero__grid{gap:22px 42px}.signature-hero h1{font-size:clamp(64px,7.15vw,78px)}
 .signature-hero__actions{flex-direction:column;align-items:flex-start}
 .signature-service h3{font-size:31px}.signature-service p{font-size:16px}
 .signature-manifesto__grid,.signature-advisor__grid{gap:55px}
 .signature-steps{gap:23px}.signature-steps h3{font-size:26px}
 .signature-reading h3{font-size:29px}
 .site-footer__grid{gap:28px}
}
@media(max-width:859px){
 html{scroll-padding-top:90px;scroll-padding-bottom:90px}
 html:has(>body.admin-bar){scroll-padding-top:122px}
 .signature-section{padding-block:70px}
 .signature-hero__grid{gap:22px 34px;padding-block:40px 36px}
 .signature-hero h1{font-size:clamp(48px,7.2vw,64px)}
 .signature-hero__frame img{border-top-left-radius:80px}
 .signature-hero__caption strong{font-size:27px}
 .signature-hero__caption span{font-size:13px}
 .signature-hero__bottom{font-size:13px}
 .signature-services{column-gap:30px}
 .signature-service,.signature-service:nth-child(2n),.signature-service:nth-child(2n+1){grid-template-columns:25px minmax(0,1fr);gap:14px;padding-block:26px}
 .signature-service__arrow{display:none}
 .signature-service h3{font-size:29px}.signature-service p{font-size:16px}
 .signature-manifesto__grid,.signature-advisor__grid{gap:40px}
 .signature-manifesto__copy .signature-intro{font-size:21px}
 .signature-convictions .signature-values__grid{gap:24px}
 .signature-convictions h3{font-size:25px}
 .signature-convictions article{grid-template-columns:1fr;gap:10px}
 .signature-convictions p{grid-column:1}
 .signature-advisor blockquote{font-size:28px}
 .signature-method__grid>div:first-child{gap:0 40px}
 .signature-method__grid>div:first-child>p:last-child{font-size:17px}
 .signature-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 .signature-steps li>span{font-size:34px;margin-bottom:18px}
 .signature-steps h3{font-size:29px}
 .signature-journal__grid{gap:24px}.signature-reading h3{font-size:27px}
 .signature-reading__meta>span:first-child{font-size:12px}
 .signature-reading>.signature-link{font-size:15px}
 .post-card h2{font-size:32px}
 .project-content .service-card{padding:27px}.project-content .service-card h3{font-size:31px}
 .site-footer__grid{grid-template-columns:1.5fr 1fr;gap:36px}
 .site-navigation{padding:8px 20px 20px;max-height:calc(100dvh - 165px);overflow-y:auto}
 .primary-menu{gap:0}
 .primary-menu li{border-bottom:1px solid #dae0d6}
 .primary-menu li:last-child{border-bottom:0}
 .primary-menu a{padding:16px 14px;line-height:1.5;min-height:56px;font-size:18px}
 .primary-menu a[aria-current=page],.primary-menu .current-menu-item>a{background:#e8ede3;color:#213b32;border-left:2px solid #775623;padding-left:12px}
 .mobile-quick-actions{background:#f6f5f1;border-top:1px solid #b8c6b5;backdrop-filter:none}
 body:has(.contact-form:focus-within) .mobile-quick-actions{visibility:hidden;pointer-events:none}
}
@media(min-width:601px) and (max-width:782px){html:has(>body.admin-bar){scroll-padding-top:136px}}
@media(max-width:600px){
 html:has(>body.admin-bar){scroll-padding-top:90px}
 .signature-section{padding-block:56px}
 .signature-hero__grid{grid-template-columns:1fr;gap:23px;padding-block:32px}
 .signature-hero__copy{grid-column:1;grid-row:1}
 .signature-hero__visual{grid-column:1;grid-row:2;max-width:none;justify-self:stretch}
 .signature-hero__conversion{grid-column:1;grid-row:3}
 .signature-hero h1{font-size:clamp(46px,12.1vw,67px);line-height:1.02;margin-bottom:20px}
 .signature-hero .eyebrow{font-size:12px;margin-bottom:21px}
 .signature-hero__lead{font-size:17px;line-height:1.7;max-width:430px}
 .signature-hero__frame{display:grid;grid-template-columns:88px minmax(0,1fr);gap:21px;align-items:center}
 .signature-hero__frame img{width:88px;height:110px;aspect-ratio:4/5;border-radius:30px 0 0 0;object-position:50% 25%}
 .signature-hero__caption{padding:0}
 .signature-hero__caption span:first-child{display:block;font-family:var(--cec-font);font-size:12px;color:#d3b780;margin:0 0 5px}
 .signature-hero__caption strong{font-size:27px;margin-bottom:3px}
 .signature-hero__caption span{font-size:13px;line-height:1.5}
 .signature-hero__actions{align-items:flex-start;gap:8px}
 .signature-hero__actions .button{width:100%;justify-content:space-between;font-size:16px;min-height:54px}
 .signature-hero__actions .signature-link{font-size:15px;min-height:44px;gap:16px}
 .signature-hero__reassurance{font-size:13px;margin-top:11px}
 .signature-hero__bottom{display:none}
 .signature-reassurance dl{display:grid;grid-template-columns:1fr;gap:0;padding-block:10px}
 .signature-reassurance dl div{padding:14px 0;border-bottom:1px solid #d6ddd2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px}
 .signature-reassurance dl div:last-child{border:0}
 .signature-reassurance dt{font-size:15px;line-height:1.6;margin:0}
 .signature-reassurance dd{font-size:14px;line-height:1.6}
 .signature-section h2{font-size:clamp(36px,9.8vw,48px);line-height:1.1}
 .signature-section-head>p{font-size:17px;line-height:1.7}
 .signature-expertise .signature-section-head{margin-bottom:30px}
 .signature-service,.signature-service:nth-child(2n),.signature-service:nth-child(2n+1){grid-template-columns:24px minmax(0,1fr) 18px;gap:12px;padding:25px 0}
 .signature-service__arrow{display:flex;width:18px;height:24px}
 .signature-service__number{font-size:21px}
 .signature-service__label{font-size:13px;margin-bottom:10px}
 .signature-service h3{font-size:29px;line-height:1.12;margin-bottom:13px}
 .signature-service p{font-size:16px;line-height:1.7}
 .signature-section-end{padding-top:20px}.signature-section-end>span{font-size:14px}
 .signature-manifesto__grid,.signature-advisor__grid{grid-template-columns:1fr;gap:25px}
 .signature-convictions{padding-top:30px}
 .signature-convictions .signature-values__grid{grid-template-columns:1fr;gap:20px}
 .signature-convictions article{grid-template-columns:25px minmax(0,1fr);gap:6px 15px;padding-top:20px}
 .signature-convictions h3{font-size:28px}.signature-convictions p{grid-column:2;font-size:16px}
 .signature-advisor__photo{padding:0;max-width:430px}
 .signature-advisor__photo img{border-top-left-radius:68px}
 .signature-advisor__photo p{font-size:13px;line-height:1.6;margin-top:13px}
 .signature-advisor__copy{padding-top:10px}
 .signature-advisor blockquote{font-size:28px;line-height:1.4}
 .signature-method__grid>div:first-child{display:block;margin-bottom:32px}
 .signature-method__grid>div:first-child>h2{margin-bottom:24px}
 .signature-method__grid>div:first-child>p:last-child{max-width:350px}
 .signature-steps{grid-template-columns:1fr;gap:0}
 .signature-steps li,.signature-steps li:first-child,.signature-steps li:last-child{display:grid;grid-template-columns:35px minmax(0,1fr);gap:18px;padding:23px 0}
 .signature-steps li:last-child{padding-bottom:0}
 .signature-steps li>span{font-size:30px;margin:2px 0 0}
 .signature-steps h3{font-size:29px;margin-bottom:12px}
 .signature-steps p{font-size:16px;line-height:1.75}
 .signature-journal .signature-section-head>.signature-link{margin-top:15px;margin-bottom:0}
 .signature-journal__grid{grid-template-columns:1fr;gap:32px}
 .signature-reading{padding-top:20px}
 .signature-reading__meta{margin-bottom:20px;font-size:13px}
 .signature-reading__meta>span:first-child{font-size:13px}
 .signature-reading h3{font-size:32px;line-height:1.13;margin-bottom:18px}
 .signature-reading>.signature-link{font-size:16px}
 .signature-faq .faq-item summary{font-size:17px}
 .project-content .service-grid{gap:20px}
 .project-content .service-card{padding:25px}.project-content .service-card h3{font-size:31px}
 .cabinet-hero{gap:30px}.cabinet-hero figure{justify-self:start}
 .post-card{padding-block:24px}.post-card h2{font-size:33px}
 .article-content .entry-content p{line-height:1.8}
 .contact-next{padding:22px 19px}
 .footer-cta{padding-block:50px}.footer-cta h2{font-size:44px;line-height:1.1}
 .site-footer{padding-top:42px}.site-footer__grid{grid-template-columns:1fr;gap:30px}
 .site-footer .footer-menu a{min-height:44px;font-size:16px}
}

/* Source: premium-tokens.css */
/* Quiet luxury primitives. Existing sections keep their legacy tokens until approved. */
:root {
    --p-black: #111111;
    --p-bronze: #b79672;
    --p-cream: #f5f1eb;
    --p-taupe: #8f7a66;
    --p-text-muted: #65594f;
    --p-line: #d9cfc3;
    --p-font-display: "CEC Serif", Georgia, serif;
    --p-font-interface: "CEC Sans", Arial, sans-serif;
    --p-type-small: clamp(.6875rem, .66rem + .1vw, .8125rem);
    --p-type-body: clamp(1rem, .93rem + .17vw, 1.125rem);
    --p-type-display: clamp(4.25rem, 7.7vw, 7.375rem);
    --p-space-1: .5rem;
    --p-space-2: 1rem;
    --p-space-3: 1.5rem;
    --p-space-4: 2rem;
    --p-space-5: clamp(2.5rem, 4vw, 4.5rem);
    --p-space-6: clamp(4rem, 6vw, 7rem);
    --p-gutter: clamp(1.25rem, 4.5vw, 5.5rem);
    --p-container: 1440px;
    --p-grid-gap: clamp(2rem, 6vw, 7rem);
    --p-border: 1px solid var(--p-line);
    --p-radius: 2px;
    --p-motion-fast: 180ms;
    --p-motion-standard: 320ms;
    --p-motion-enter: 650ms;
    --p-ease: cubic-bezier(.22, 1, .36, 1);
    --p-header-height: 104px;
    --p-header-compact: 82px;
}
@media (max-width:1099px) {
    :root { --p-header-height:88px; --p-header-compact:76px; }
}
@media (max-width:699px) {
    :root { --p-header-height:78px; --p-header-compact:70px; --p-gutter:24px; }
}
@media (max-width:359px) { :root { --p-gutter:20px; } }
@media (prefers-reduced-motion:reduce) {
    :root { --p-motion-fast:0ms; --p-motion-standard:0ms; --p-motion-enter:0ms; }
}

/* Keep keyboard targets clear of the sticky header and mobile contact bar. */
html { scroll-padding-block:calc(var(--p-header-height) + 16px) 24px; }
#main:focus { outline:none; }
@media (max-width:859px) { html { scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom)); } }

/* Source: premium-header.css */
.cec-premium-header {
    --header-surface-height:var(--p-header-height);
    height:var(--p-header-height); min-height:0; padding:0; isolation:isolate;
    background:transparent; border:0; box-shadow:none;
    font-family:var(--p-font-interface); color:var(--p-black);
}
.cec-premium-header::before {
    content:""; position:absolute; inset:0 0 auto; height:var(--header-surface-height);
    background:var(--p-cream); border-bottom:var(--p-border); z-index:-1;
    transition:height var(--p-motion-standard) var(--p-ease), background var(--p-motion-standard);
}
.cec-premium-header.is-scrolled { --header-surface-height:var(--p-header-compact); box-shadow:none; }
@supports (backdrop-filter:blur(12px)) {
    .cec-premium-header.is-scrolled::before { background:rgba(245,241,235,.96); backdrop-filter:blur(12px); }
}
.cec-premium-header .site-header__inner {
    display:flex; width:min(var(--p-container),calc(100% - var(--p-gutter)*2));
    height:var(--header-surface-height); min-height:0; padding:0; gap:clamp(24px,3vw,48px);
    transition:height var(--p-motion-standard) var(--p-ease);
}
.cec-premium-header .premium-brand { display:flex; align-items:center; gap:23px; flex-shrink:0; }
.cec-premium-header .site-brand { padding:0; display:block; min-width:0; }
.cec-premium-header .site-brand__mark { display:block; width:75px; min-width:0; height:auto; }
.cec-premium-header .site-brand__mark img { width:100%; height:auto; mix-blend-mode:multiply; }
.cec-premium-header .premium-brand__signature {
    margin:0; padding-left:22px; border-left:var(--p-border); color:var(--p-text-muted);
    font-size:9px; line-height:1.65; letter-spacing:.15em; text-transform:uppercase;
}
.cec-premium-header .premium-brand__signature span { display:block; }
.cec-premium-header .premium-navigation-panel { margin-left:auto; }
.cec-premium-header .site-navigation { position:static; display:block; padding:0; background:none; border:0; box-shadow:none; width:auto; }
.cec-premium-header .primary-menu { display:flex; align-items:center; gap:clamp(21px,2.3vw,36px); margin:0; padding:0; }
.cec-premium-header .primary-menu a {
    color:var(--p-black); font-family:var(--p-font-interface); font-size:13px; font-weight:500;
    line-height:1.5; letter-spacing:.01em; padding:14px 0; min-height:44px;
    background:none; border:0; text-decoration:none; position:relative;
}
.cec-premium-header .primary-menu a::after { content:""; position:absolute; inset:auto 0 6px; height:1px; background:var(--p-bronze); transform:scaleX(0); transform-origin:left; transition:transform var(--p-motion-standard) var(--p-ease); }
.cec-premium-header .primary-menu a:hover::after,
.cec-premium-header .primary-menu .current-menu-item>a::after,
.cec-premium-header .primary-menu a[aria-current="page"]::after { transform:scaleX(1); }
.cec-premium-header .header-actions { display:flex; margin:0; gap:0; }
.cec-premium-header .header-email,.cec-premium-header .header-phone { display:none; }
.cec-premium-header .header-booking {
    background:transparent; color:var(--p-black); border:1px solid #bca994; border-radius:var(--p-radius);
    padding:13px 20px; min-height:46px; font-size:12px; font-weight:600; line-height:1.5; text-decoration:none;
    transition:background var(--p-motion-fast),color var(--p-motion-fast),border-color var(--p-motion-fast);
}
.cec-premium-header .header-booking:hover { background:var(--p-black); color:var(--p-cream); border-color:var(--p-black); }
.cec-premium-header .booking-label-short { display:none; }
.cec-premium-header .booking-label-full { display:inline; }
.cec-premium-header .nav-toggle,.cec-premium-header .premium-menu-footer { display:none; }
.cec-premium-header :is(a,button):focus-visible { outline:2px solid var(--p-black); outline-offset:5px; }
@media (min-width:1100px) and (max-width:1279px) { .cec-premium-header .premium-brand__signature { display:none; } }
@media (max-width:1099px) {
    .cec-premium-header .site-header__inner { gap:20px; }
    .cec-premium-header .premium-brand { margin-right:auto; }
    .cec-premium-header .premium-brand__signature { font-size:9px; }
    .cec-premium-header .site-brand__mark { width:66px; }
    .cec-premium-header .booking-label-full { display:none; }
    .cec-premium-header .booking-label-short { display:inline; }
    .cec-premium-header .header-booking { font-size:12px; padding:11px 17px; min-height:44px; }
    .cec-premium-header .nav-toggle {
        display:flex; align-items:center; justify-content:space-between; gap:13px; padding:0;
        min-width:80px; width:auto; height:48px; min-height:48px; color:var(--p-black);
        border:0; border-radius:0; background:none; z-index:4; cursor:pointer;
    }
    .cec-premium-header .nav-toggle__text { font-size:12px; font-weight:500; line-height:1; }
    .cec-premium-header .nav-toggle__icon { width:24px; height:18px; position:relative; display:block; }
    .cec-premium-header .nav-toggle__line { position:absolute; display:block; inset:5px 0 auto; width:24px; height:1px; background:currentColor; transform:none; transition:transform var(--p-motion-standard) var(--p-ease),top var(--p-motion-standard) var(--p-ease); }
    .cec-premium-header .nav-toggle__line:last-child { top:13px; width:18px; left:6px; }
    .cec-premium-header .nav-toggle[aria-expanded="true"] .nav-toggle__line { top:9px; transform:rotate(45deg); }
    .cec-premium-header .nav-toggle[aria-expanded="true"] .nav-toggle__line:last-child { left:0; width:24px; transform:rotate(-45deg); }
    .js .cec-premium-header .premium-navigation-panel {
        position:fixed; inset:0; z-index:3; margin:0; padding:calc(var(--p-header-height) + 40px) var(--p-gutter) max(32px,env(safe-area-inset-bottom));
        display:flex; flex-direction:column; justify-content:space-between; gap:40px;
        height:100vh; height:100dvh; overflow-y:auto; overscroll-behavior:contain;
        background:var(--p-cream); visibility:hidden; opacity:0; pointer-events:none;
        transition:opacity var(--p-motion-standard) var(--p-ease);
    }
    .js .cec-premium-header .premium-navigation-panel.is-open { visibility:visible; opacity:1; pointer-events:auto; }
    .cec-premium-header .primary-menu { display:flex; flex-direction:column; align-items:stretch; gap:0; counter-reset:menu; }
    .cec-premium-header .primary-menu li { margin:0; border-bottom:var(--p-border); counter-increment:menu; }
    .cec-premium-header .primary-menu a {
        display:flex; align-items:center; gap:24px; padding:14px 0; min-height:65px;
        color:var(--p-black); font-family:var(--p-font-display); font-size:clamp(34px,5vw,52px); font-weight:400; line-height:1.1; letter-spacing:-.025em;
        transform:translateY(8px); transition:transform var(--p-motion-standard) var(--p-ease);
    }
    .cec-premium-header .primary-menu a::before { content:counter(menu,decimal-leading-zero); font-family:var(--p-font-interface); font-size:10px; letter-spacing:.02em; color:var(--p-text-muted); }
    .cec-premium-header .primary-menu a::after { display:none; }
    .cec-premium-header .primary-menu .current-menu-item>a,
    .cec-premium-header .primary-menu a[aria-current="page"] { color:#765e47; }
    .cec-premium-header .is-open .primary-menu a { transform:none; }
    .cec-premium-header .premium-menu-footer { display:grid; gap:12px; font-size:14px; line-height:1.6; }
    .cec-premium-header .premium-menu-footer p { margin:0 0 12px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--p-text-muted); }
    .cec-premium-header .premium-menu-footer a { width:fit-content; color:var(--p-black); text-decoration:none; min-height:32px; }
    .cec-premium-header .premium-menu-footer a:first-of-type { font-family:var(--p-font-display); font-size:30px; line-height:1.3; }
    .cec-premium-header.is-menu-open .premium-brand { position:relative; z-index:4; }
    .cec-premium-header.is-menu-open .header-actions { visibility:hidden; }
    .no-js .cec-premium-header { height:auto; position:relative; background:var(--p-cream); }
    .no-js .cec-premium-header::before { height:100%; }
    .no-js .cec-premium-header .site-header__inner { height:auto; flex-wrap:wrap; padding-block:14px; }
    .no-js .cec-premium-header .nav-toggle { display:none; }
    .no-js .cec-premium-header .premium-navigation-panel { flex:1 0 100%; order:3; margin:0; }
    .no-js .cec-premium-header .primary-menu { flex-direction:row; flex-wrap:wrap; gap:8px 22px; }
    .no-js .cec-premium-header .primary-menu li { border:0; }
    .no-js .cec-premium-header .primary-menu a { font-family:var(--p-font-interface); font-size:14px; min-height:44px; transform:none; padding:10px 0; }
    .no-js .cec-premium-header .primary-menu a::before,.no-js .cec-premium-header .premium-menu-footer { display:none; }
}
@media (max-width:699px) {
    .cec-premium-header .premium-brand__signature { display:none; }
    .cec-premium-header .site-header__inner { gap:20px; }
    .cec-premium-header .site-brand__mark { width:61px; }
    .cec-premium-header .nav-toggle { min-width:73px; gap:10px; }
    .js .cec-premium-header .premium-navigation-panel { padding-top:calc(var(--p-header-height) + 28px); }
}
@media (max-width:359px) {
    .cec-premium-header .site-header__inner { gap:14px; }
    .cec-premium-header .header-booking { padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
    .cec-premium-header *, .cec-premium-header::before { transition:none!important; animation:none!important; }
}

/* Source: premium-footer.css */
/* Shared conclusion and footer, using the approved premium tokens. */
.footer-cta,.site-footer,.mobile-quick-actions { font-family:var(--p-font-interface); }
.footer-cta>.wrap,.site-footer>.wrap { width:min(var(--p-container),calc(100% - var(--p-gutter)*2)); }
.footer-cta { padding-block:clamp(88px,9vw,150px); background:var(--p-cream); color:var(--p-black); border:0; }
.footer-cta::before,.footer-cta::after { display:none; }
.footer-cta__inner { display:flex; flex-direction:column; align-items:center; gap:34px; text-align:center; }
.footer-cta .eyebrow { color:var(--p-text-muted); font-family:var(--p-font-interface); font-size:10px; font-weight:600; letter-spacing:.15em; margin:0 0 30px; }
.footer-cta h2 { color:var(--p-black); font-family:var(--p-font-display); font-size:clamp(54px,6.6vw,106px); font-weight:400; line-height:1.04; letter-spacing:-.04em; margin:0 0 28px; }
.footer-cta h2 em { font-weight:400; color:var(--p-taupe); }
.footer-cta p:not(.eyebrow) { color:var(--p-text-muted); font-size:14px; line-height:1.85; max-width:460px; margin:0 auto; }
.footer-cta__actions { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px 32px; width:auto; }
.footer-cta .button { display:inline-flex; align-items:center; justify-content:center; width:auto; background:var(--p-black); color:var(--p-cream); border:1px solid var(--p-black); border-radius:var(--p-radius); padding:16px 23px; min-height:54px; font-size:12px; font-weight:600; box-shadow:none; transform:none; }
.footer-cta .button::after { margin-left:28px; }
.footer-cta .button--ghost { color:var(--p-black); background:transparent; border:0; border-bottom:1px solid var(--p-bronze); border-radius:0; padding:12px 0; min-height:46px; }
.footer-cta .button:hover { background:#302821; border-color:#302821; color:var(--p-cream); transform:none; box-shadow:none; }
.footer-cta .button--ghost:hover { background:transparent; border-color:var(--p-black); color:var(--p-black); }
.footer-cta a:focus-visible { outline:2px solid var(--p-black); outline-offset:6px; }
.site-footer { background:var(--p-black); color:#c5beb5; padding:clamp(65px,6vw,100px) 0 0; border:0; }
.site-footer__grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.65fr) minmax(0,1fr) minmax(0,.6fr); gap:clamp(32px,4.5vw,75px); }
.site-footer__grid>section { min-width:0; }
.site-footer .footer-logo { display:block; width:97px; margin:0 0 27px; padding:0; background:transparent; border:0; filter:none; opacity:.9; }
.site-footer .footer-logo img { display:block; width:100%; height:auto; filter:brightness(0) invert(1); }
.site-footer h2.footer-title { font-family:var(--p-font-interface); font-size:10px; line-height:1.6; font-weight:600; letter-spacing:.13em; color:#d8c4ad; text-transform:uppercase; margin:0 0 22px; }
.site-footer__grid>section:first-child .footer-title { color:var(--p-cream); font-size:12px; letter-spacing:.1em; margin-bottom:15px; }
.site-footer p { font-size:13px; line-height:1.85; color:#c5beb5; margin:0 0 20px; }
.site-footer__grid>section:first-child>p { max-width:320px; }
.site-footer a { color:#ddd5cb; text-decoration:none; font-size:13px; line-height:1.6; transition:color var(--p-motion-fast); }
.site-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.site-footer :is(a,summary):focus-visible { outline:2px solid var(--p-cream); outline-offset:5px; }
.site-footer .footer-menu,.site-footer .footer-contact { list-style:none; padding:0; margin:0; }
.site-footer .footer-menu li { margin:0; }
.site-footer .footer-menu a { display:inline-flex; align-items:center; min-height:36px; font-size:13px; padding:5px 0; }
.site-footer .footer-projects { display:flex; flex-direction:column; gap:0; }
.site-footer .site-footer__grid .footer-projects a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:36px; padding:5px 0; background:none; border:0; font-size:13px; color:#ddd5cb; }
.site-footer .footer-projects .cec-arrow { width:12px; height:12px; flex-basis:12px; opacity:.7; }
.site-footer .footer-contact { display:grid; gap:8px; margin-top:28px; }
.site-footer .footer-contact li { color:#c5beb5; font-size:12px; line-height:1.8; margin:0; }
.site-footer .footer-contact a { overflow-wrap:anywhere; }
.site-footer .footer-contact li:first-child a { display:inline-block; font-family:var(--p-font-display); font-size:29px; line-height:1.3; color:var(--p-cream); }
.site-footer .footer-note { font-size:11px; margin-top:20px; color:#aaa198; }
.site-footer .footer-areas { border-top:1px solid #433c35; padding-top:0; margin-top:58px; }
.site-footer .footer-areas details { border:0; }
.site-footer .footer-areas summary { display:flex; align-items:center; justify-content:space-between; min-height:70px; padding:22px 0; color:#d8c4ad; font-size:12px; line-height:1.7; letter-spacing:.02em; cursor:pointer; list-style:none; }
.site-footer .footer-areas summary::-webkit-details-marker { display:none; }
.site-footer .footer-areas summary span { font-size:24px; transition:transform var(--p-motion-fast); }
.site-footer .footer-areas details[open] summary span { transform:rotate(45deg); }
.site-footer .local-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px 34px; padding:0 0 30px; }
.site-footer .local-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; background:none; border:0; padding:6px 0; min-height:36px; font-size:12px; color:#c5beb5; }
.site-footer .local-links .cec-arrow { width:11px; height:11px; flex-basis:11px; }
.site-footer__bottom { border-top:1px solid #433c35; margin-top:0; padding:24px 0 30px; display:block; }
.site-footer .site-footer__bottom p { margin:0; font-size:10px; letter-spacing:.025em; color:#aaa198; }
.mobile-quick-actions { background:rgba(245,241,235,.97); border-top:var(--p-border); box-shadow:none; }
.mobile-quick-actions a { color:var(--p-black); border:1px solid #b8a58f; background:transparent; border-radius:var(--p-radius); font-size:12px; font-weight:600; }
.mobile-quick-actions a+a { color:var(--p-cream); background:var(--p-black); border-color:var(--p-black); }
.mobile-quick-actions a:focus-visible { outline:2px solid var(--p-black); outline-offset:3px; }
@media (min-width:700px) and (max-width:1099px) {
    .site-footer__grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); gap:40px; }
    .site-footer__grid>section:first-child { grid-row:1/3; }
    .site-footer .site-footer__grid>section:last-child { grid-column:2/-1; }
    .site-footer__grid>section:last-child .footer-note { max-width:280px; }
    .site-footer .local-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:699px) {
    .footer-cta { padding-block:80px; }
    .footer-cta .eyebrow { font-size:9px; margin-bottom:25px; }
    .footer-cta h2 { font-size:clamp(45px,11.8vw,65px); letter-spacing:-.04em; margin-bottom:25px; }
    .footer-cta p:not(.eyebrow) { font-size:13px; max-width:325px; }
    .footer-cta__inner { gap:28px; }
    .footer-cta__actions { flex-direction:column; width:100%; gap:16px; }
    .footer-cta .button { font-size:11px; width:100%; max-width:340px; }
    .footer-cta .button--ghost { width:auto; }
    .site-footer { padding-top:58px; }
    .site-footer__grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px 30px; }
    .site-footer .site-footer__grid>section:first-child { grid-column:1/-1; max-width:none; }
    .site-footer .footer-logo { width:86px; margin-bottom:25px; }
    .site-footer__grid>section:nth-child(2),.site-footer__grid>section:nth-child(3) { grid-column:auto; }
    .site-footer .site-footer__grid>section:last-child { grid-column:1/-1; border-top:1px solid #433c35; padding-top:26px; }
    .site-footer h2.footer-title { font-size:9px; margin-bottom:15px; }
    .site-footer .footer-menu a,.site-footer .site-footer__grid .footer-projects a { font-size:12px; min-height:40px; }
    .site-footer .footer-projects .cec-arrow { display:none; }
    .site-footer .footer-note { max-width:280px; margin-bottom:0; }
    .site-footer .footer-areas { margin-top:30px; }
    .site-footer .footer-areas summary { font-size:11px; }
    .site-footer .local-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 24px; }
    .site-footer .local-links a { font-size:11px; min-height:40px; }
    .site-footer .local-links .cec-arrow { display:none; }
    .site-footer__bottom { padding-block:22px; }
}
@media (prefers-reduced-motion:reduce) {
    .footer-cta *, .site-footer *, .mobile-quick-actions * { animation:none!important; transition:none!important; }
}
