/* Shared editorial system: navy, warm paper, restrained rose accents. */
:root{--navy:#06345c;--blue:#284d6d;--ink:#19384f;--muted:#536573;--paper:#f8f5f1;--pink-light:#f8f5f1;--pink:#e0afa2;--coral:#d4978b;--accent:#d4978b;--line:#e2dfda;--content-width:1200px}
body{background:#fdfcfb;color:var(--ink);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;text-wrap:balance}
h1{letter-spacing:-.035em;line-height:1.12}h2{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.025em;line-height:1.2}h3{font-size:1.35rem;line-height:1.35;letter-spacing:-.015em}
p{line-height:1.75}.eyebrow{display:block;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;line-height:1.5;margin-bottom:20px;color:#805448}
.section{padding-block:clamp(60px,6.2vw,96px)}
.section-heading{column-gap:8%;row-gap:0}.section-heading>p:last-child{max-width:48ch;line-height:1.8}
.section-heading h2{max-width:22ch}.intro{font-size:1.0625rem;line-height:1.8;max-width:58ch}
.header{background:#fdfcfb;border-bottom:1px solid var(--line);min-height:88px;padding-block:20px;gap:22px;max-width:none}
.header .brand-wordmark{width:248px}.header nav{gap:22px}.header nav a{font-size:.875rem;font-weight:500;white-space:nowrap}
.header nav a[aria-current=page]{box-shadow:0 2px 0 #d4978b;color:var(--navy)}
.header-actions .header-contact{background:var(--navy);color:white;border:1px solid var(--navy);border-radius:3px;padding:11px 17px;font-size:.8125rem;font-weight:600;line-height:1.5}
.header-actions .header-contact:hover{background:#284d6d;border-color:#284d6d;color:white}
.button,.editorial-actions .button,.detail-cta .button,.home-invitation .button,.google-reviews .button{background:var(--navy);color:white;border:1px solid var(--navy);border-radius:3px;min-height:48px;padding:13px 22px;font-size:.875rem;font-weight:600;line-height:1.5}
.button:hover,.button:focus-visible,.editorial-actions .button:hover,.detail-cta .button:hover{background:#284d6d;color:white;border-color:#284d6d}
.hero-video .button{background:#e0afa2;color:#06345c;border-color:#e0afa2}.hero-video .button:hover{background:#edc8bc;color:#06345c;border-color:#edc8bc}
.text-link{font-size:.875rem;line-height:1.5;border-color:#bba094;text-underline-offset:5px}
.hero.home-company-hero{padding-block:80px 90px}.home-company-hero .hero-copy{max-width:800px}.home-company-hero h1{font-size:clamp(2.4rem,4.6vw,4.2rem);max-width:20ch}.home-company-hero .intro{max-width:58ch;font-size:1.0625rem}
.home-company-hero h1 em{color:#efd2c7}.home-company-hero .hero-actions{gap:24px;margin-top:30px;align-items:center}.home-company-hero .hero-actions .text-link{color:#fff;border-color:#ffffff70}
.home-proof.section{display:grid;grid-template-columns:1fr 1.65fr .85fr;gap:36px;align-items:center;background:#f8f5f1;padding-block:34px;border-bottom:1px solid var(--line)}
.proof-specialism .eyebrow{margin-bottom:9px}.proof-specialism p{margin:0;font-size:.875rem;line-height:1.65}.home-proof figure{margin:0;padding-left:28px;border-left:1px solid #d5b7aa}.home-proof blockquote{margin:0 0 8px;font-family:Georgia,serif;font-size:1.2rem;line-height:1.5}.home-proof figcaption{font-size:.73rem;color:var(--muted);line-height:1.6}.proof-rating{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:.8125rem;line-height:1.6}.proof-rating .google-stars{font-size:1.2rem;margin:0;color:#8b6527;letter-spacing:.14em}
.home-company,.home-team,.detail-section,.contact,.team-section{background:#fdfcfb}
.home-values,.detail-dark{background:var(--navy);color:white}.home-values h2,.home-values h3,.detail-dark h2,.detail-dark h3{color:#fffaf5}
.home-values .eyebrow,.detail-dark .eyebrow,.detail-dark .index{color:#e7b5a7}.home-values-grid p,.detail-dark .detail-grid p{color:#dce5ed}
.home-values-grid,.detail-grid{gap:36px}.home-values-grid article,.detail-grid article{padding-top:24px;border-top-width:1px}.index{font-size:.75rem;letter-spacing:.12em}
.animated-subpage .editorial-hero,.animated-subpage .page-heading,.editorial-hero.section,.page-heading,.process-section,.faq{background:#f8f5f1}
.editorial-hero.section{gap:clamp(32px,5vw,72px);padding-block:64px 76px}.editorial-copy h1{font-size:clamp(2.35rem,3.8vw,3.8rem);line-height:1.14}.editorial-copy .intro{font-size:1rem;max-width:53ch}
.editorial-image{border-radius:4px}.editorial-image img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.86);border-radius:4px}.editorial-image figcaption{border-top:1px solid #d4978b;font-size:.75rem;color:#765449;padding-top:14px}
.editorial-strip{background:#eee6df;color:var(--navy);padding-block:22px;font-size:.8125rem;gap:16px 48px}
.process-list li{padding-block:25px;border-color:#d7d3cd}.process-list h3{margin-bottom:12px}.process-list p{max-width:62ch;color:var(--muted)}
.detail-cta,.compact-cta,.home-invitation,.career+.compact-cta,.overview+.compact-cta{background:#eee6df;color:var(--navy);border-top:1px solid #e0d5cb;padding-block:56px}.detail-cta p{max-width:58ch}.detail-cta h2,.compact-cta h2{font-size:clamp(1.9rem,2.7vw,2.6rem)}
.home-founder{max-width:340px}.home-founder img,.home-person>img,.team-card>img{object-fit:cover;object-position:center top;aspect-ratio:3/4;height:auto;filter:saturate(.9);border-radius:4px 4px 0 0}
.home-founder figcaption{background:#f1ebe5;border-bottom:1px solid #d4978b;padding:18px 20px;font-size:.8125rem}
.home-person{background:white;border:1px solid var(--line);border-radius:4px;overflow:hidden}.home-person>div{padding:22px 20px}.home-person h3{font-size:1.4rem}.home-person-role{color:var(--muted);font-size:.8125rem;min-height:2.8em}
.team-grid{gap:54px 40px}.team-card{border-bottom:1px solid #d4978b}.team-copy{padding:26px 0 28px}.team-copy h2{font-size:2rem;margin-bottom:8px}.team-role{font-size:.8rem;letter-spacing:.04em;color:#805448}.team-copy>p:not(.team-role){font-size:1rem;max-width:57ch}
.profile-links .social-button,.company-social .social-button{background:transparent;border:1px solid #d9d8d3;border-radius:3px;font-size:.8125rem}.profile-links .social-button:hover,.company-social .social-button:hover{background:#f1ebe5;border-color:#bca79d}
.home-trust{background:#f8f5f1}.client-reference{border-top:2px solid #d4978b;padding:36px;border-radius:4px}.client-reference blockquote p{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.7}.reference-mark{font-size:4rem;color:#e0afa2}.google-reviews,.google-review-card{background:#fdfcfb;border:1px solid var(--line);border-radius:4px;padding:28px}.google-review-card{border-top:2px solid #d4978b}.google-review-card blockquote p{font-size:.9375rem;line-height:1.75}.google-review-grid{gap:20px}.google-reviews .google-wordmark{font-size:1.7rem;margin-bottom:18px}.google-stars{font-size:1.45rem;color:#8b6527}.google-review-card .google-stars{font-size:1.1rem}
.jobs-heading{background:#f8f5f1;border-bottom:1px solid var(--line)}.jobs-heading h1,.page-heading h1{font-size:clamp(2.2rem,4vw,3.5rem)}.jobs-portal{background:#fdfcfb}.portal-gate{border-color:var(--line)}
.questions details{border-color:var(--line)}.questions summary{font-size:1rem;padding-block:18px}.questions details p{font-size:.9375rem;color:var(--muted);max-width:65ch}
.contact .page-title{font-size:clamp(2.1rem,4vw,3.5rem)}.legal-page{max-width:900px;font-size:.9375rem}.legal-page h2{font-family:Arial,sans-serif;font-weight:600;font-size:1.15rem;letter-spacing:0}
footer{background:#f3eee8;border-top:1px solid #e0d5cb;padding-block:42px;gap:24px 40px}footer .footer-wordmark{width:250px}footer>span{font-size:.8125rem;max-width:30ch}footer>div a,footer>div button{font-size:.8125rem}
@media(min-width:1101px){.header{padding-inline:max(4%,calc((100% - 1320px)/2));flex-wrap:nowrap}.header.has-menu nav{order:0;width:auto;justify-content:center;gap:20px}.header .brand{flex-shrink:0}.header .brand-wordmark{width:230px}.header-actions{margin-left:auto;flex-shrink:0}}
@media(min-width:901px) and (max-width:1100px){.header{padding:16px 5%;gap:14px}.header nav{padding-top:8px;gap:28px}.header .brand-wordmark{width:240px}}
@media(max-width:1000px){.home-proof.section{grid-template-columns:1fr 1.5fr;gap:24px}.proof-rating{grid-column:1/-1;flex-direction:row;align-items:center;gap:18px}.proof-rating br{display:none}}
@media(max-width:900px){.header{min-height:74px;padding:16px 5%;gap:12px}.header .brand-wordmark{width:clamp(185px,55vw,255px)}.header.has-menu .menu-toggle{border-color:#d9d3cc;border-radius:3px;padding:8px 12px;gap:10px}.header.has-menu.menu-open nav{grid-template-columns:1fr 1fr}.header-actions .header-contact{background:var(--navy);color:white}.editorial-image img{aspect-ratio:3/2}.team-grid{gap:40px 28px}.home-trust-grid{gap:24px}}
@media(max-width:700px){
 .section{padding-block:52px;padding-inline:6%}.eyebrow{font-size:.7rem;letter-spacing:.11em;margin-bottom:16px}h2{font-size:2rem}h3{font-size:1.25rem}
 .hero.home-company-hero{padding:48px 6% 88px}.home-company-hero h1{font-size:clamp(2.15rem,8.2vw,3rem)}.home-company-hero .intro{font-size:1rem;line-height:1.75}.home-company-hero .hero-actions{gap:12px;margin-top:26px;align-items:stretch}.home-company-hero .hero-actions .button{flex:auto}
 .home-proof.section{grid-template-columns:1fr;padding-block:28px;gap:22px}.home-proof figure{padding:18px 0 0;border-left:0;border-top:1px solid #d5b7aa}.home-proof blockquote{font-size:1.15rem}.proof-rating{grid-column:auto;font-size:.8rem}.proof-specialism p br{display:none}
 .editorial-hero.section{padding-block:46px 50px;gap:30px}.editorial-copy h1{font-size:clamp(2.1rem,8vw,3rem)}.editorial-image figcaption{font-size:.75rem}.editorial-strip{padding:20px 6%;gap:12px 24px}
 .home-values-grid,.detail-grid{gap:26px}.home-person{grid-template-columns:108px minmax(0,1fr)}.home-person>img{height:100%;min-height:168px;aspect-ratio:auto;object-position:center top}.home-person>div{padding:18px 14px}.home-person h3{font-size:1.2rem}.home-person-role{min-height:0;margin-bottom:9px}.home-person .text-link{font-size:.8125rem}
 .home-founder{max-width:280px}.team-section{padding-top:30px}.team-copy h2{font-size:1.8rem}.team-grid{gap:38px}.detail-cta,.compact-cta{padding-block:42px;gap:24px}.detail-cta .button,.compact-cta .button{width:100%}
 .client-reference,.google-reviews,.google-review-card{padding:25px 22px}.google-review-grid{gap:16px}.page-heading{padding-block:44px 34px}.legal-page{padding-block:42px}footer{padding-block:32px}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .animated-subpage .detail-grid article:hover,.animated-subpage .process-list li:hover,.animated-subpage .team-card:hover,.animated-subpage .team-card:focus-within{transform:none;box-shadow:none}
 .animated-subpage .editorial-image:hover img{transform:scale(1.012)}.animated-subpage .button:hover,.animated-subpage .social-button:hover{transform:translateY(-1px);box-shadow:none}
}
@media print{body,.section,footer,.home-proof.section,.client-reference{background:white;color:#19384f}.home-proof{break-inside:avoid}.hero-actions,.proof-rating{display:none}}

@media(min-width:1101px) and (max-width:1279px){.header.has-menu nav{gap:13px}.header nav a{font-size:.8125rem}.header .brand-wordmark{width:210px}.header{gap:16px}.header-actions .header-contact{padding-inline:13px}}

/* Extended service navigation: deliberate two-row tablet header. */
@media(min-width:901px) and (max-width:1350px){.header{flex-wrap:wrap;gap:14px 22px}.header.has-menu nav{order:3;width:100%;justify-content:center;gap:24px;flex-wrap:wrap}.header .brand-wordmark{width:240px}.header nav a{font-size:.875rem}.header-actions{margin-left:auto}}
@media(min-width:1351px){.header.has-menu nav{gap:16px}.header nav a{font-size:.8125rem}.header .brand-wordmark{width:220px}}
.detail-dark .editorial-actions .button{background:#e0afa2;color:#06345c;border-color:#e0afa2}.detail-dark .editorial-actions .button:hover{background:#edc8bc;color:#06345c}

.detail-dark .text-link{color:#fff3ee;border-color:#d4978b}.detail-dark .text-link:hover{color:#e7b5a7}.detail-grid article>.text-link{display:inline-block;margin-top:20px;min-height:44px;padding-block:10px}
