/* Public-page redesign. Namespaced to keep the existing quote UI unchanged. */
.cs-page { background:#fff; }
.cs-wrap { width:min(1240px, calc(100% - 80px)); margin-inline:auto; }
.cs-skip { position:fixed; top:8px; left:12px; z-index:2000; background:#fff; color:#075ba3; padding:12px 20px; transform:translateY(-150%); }
.cs-skip:focus { transform:translateY(0); }
.cs-topbar { background:#f2f7fb; border-bottom:1px solid #e5edf3; font-size:12px; color:#526879; }
.cs-topbar-inner { display:flex; justify-content:space-between; align-items:center; min-height:35px; gap:12px; }
.cs-topbar-inner>div { display:flex; align-items:center; gap:14px; }
.cs-topbar a:hover { color:#075ba3; text-decoration:underline; }
.cs-header { position:sticky; top:0; z-index:40; background:#fff; border-bottom:1px solid #e5edf3; }
.cs-header-inner { min-height:88px; display:flex; align-items:center; gap:30px; }
.cs-logo { display:block; flex-shrink:0; width:235px; }
.cs-logo img { width:100%; }
.cs-nav { margin-left:auto; display:flex; align-items:center; gap:25px; }
.cs-nav a { font-size:13px; font-weight:600; white-space:nowrap; padding:12px 0; border-bottom:2px solid transparent; color:#526273; }
.cs-nav a:hover,.cs-nav a[aria-current="page"] { border-bottom-color:#ed3786; color:#075ba3; }
.cs-menu-toggle { display:none; }
.cs-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:16px 24px; border:1px solid #086bc0; border-radius:7px; background:#086bc0; color:#fff; font-size:14px; font-weight:600; line-height:1.4; text-align:center; transition:background .15s,transform .15s; }
.cs-button:hover { background:#07589e; border-color:#07589e; transform:translateY(-1px); }
.cs-button>span { font-size:22px; line-height:1; font-weight:400; }
.cs-header-quote { min-height:44px; padding:11px 18px; white-space:nowrap; font-size:13px; gap:13px; }
.cs-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.cs-text-link { display:inline-flex; align-items:center; justify-content:flex-start; gap:15px; color:#075fa9; font-size:14px; font-weight:600; text-align:left; line-height:1.5; padding:8px 0; }
.cs-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.cs-text-link>span { font-size:20px; line-height:1; }
.cs-kicker { display:flex; align-items:center; gap:9px; color:#446576; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; line-height:1.6; margin-bottom:21px; }
.cs-dot { height:7px; width:7px; flex-shrink:0; border-radius:100%; background:#ed3786; }
.cs-title { font-size:clamp(42px,4.8vw,66px); font-weight:600; letter-spacing:-.055em; line-height:1.11; color:#142f43; }
.cs-title em,.cs-heading em { color:#086bc0; font-style:normal; }
.cs-heading { font-size:clamp(31px,3.1vw,43px); letter-spacing:-.045em; font-weight:600; line-height:1.18; color:#142f43; }
.cs-lead { font-size:17px; line-height:1.85; color:#526879; margin-top:25px; max-width:48ch; }
.cs-body-copy { font-size:16px; color:#526879; line-height:1.9; margin-block:24px; max-width:54ch; }
.cs-fine { font-size:12px; color:#627583; margin-top:16px; line-height:1.7; }
.cs-hero { padding:67px 0 70px; }
.cs-hero-grid { display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:54px; }
.cs-hero-copy .cs-lead { max-width:43ch; }
.cs-hero-art { border:1px solid #dce7ee; background:#fff; border-radius:13px; overflow:hidden; }
.cs-art-caption { display:flex; align-items:center; justify-content:space-between; padding:15px 22px; border-bottom:1px solid #e5edf3; color:#516b7e; font-size:10px; font-weight:600; letter-spacing:.15em; }
.cs-art-caption>span:last-child { color:#ed3786; font-size:23px; line-height:1; }
.cs-brand-image { width:100%; aspect-ratio:1660/948; object-fit:contain; }
.cs-art-footer { display:flex; gap:14px; justify-content:space-between; padding:16px 22px; font-size:11px; color:#526879; border-top:1px solid #e5edf3; }
.cs-art-footer a { color:#075fa9; font-weight:600; }
.cs-values { border-block:1px solid #e5edf3; background:#fbfcfd; }
.cs-values-inner { display:flex; align-items:center; justify-content:space-between; gap:22px; padding-block:23px; font-size:12px; color:#526879; }
.cs-values-inner>span,.cs-values-inner>button { display:flex; align-items:center; gap:13px; }
.cs-values-inner span[aria-hidden] { color:#ed3786; font-size:17px; }
.cs-values-inner>button:hover { text-decoration:underline; }
.cs-section { padding-block:90px; }
.cs-soft { background:#f5f8fb; }
.cs-line-top { border-top:1px solid #e2eaf0; }
.cs-section-head { display:flex; justify-content:space-between; align-items:end; gap:55px; margin-bottom:40px; }
.cs-section-head>p { max-width:34ch; color:#526879; font-size:15px; line-height:1.85; }
.cs-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.cs-image-frame { position:relative; overflow:hidden; border-radius:10px; background:#f0f4f7; }
.cs-image-frame img { width:100%; aspect-ratio:1.72; object-fit:cover; transition:transform .3s; }
.cs-service-card:hover .cs-image-frame img { transform:scale(1.025); }
.cs-image-tag { position:absolute; bottom:20px; left:20px; background:#fff; padding:7px 13px; font-size:11px; border-radius:4px; }
.cs-service-copy { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-block:23px; }
.cs-service-copy h3 { font-size:24px; font-weight:600; letter-spacing:-.035em; }
.cs-service-copy p { font-size:14px; color:#627583; margin-top:10px; }
.cs-circle-arrow { width:44px; height:44px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid #ccdbe7; border-radius:100%; color:#075fa9; font-size:23px; }
.cs-process-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.cs-steps { display:grid; gap:0; }
.cs-steps li { display:flex; gap:26px; padding:25px 0; border-bottom:1px solid #dbe6ee; }
.cs-steps li:first-child { padding-top:3px; }
.cs-steps li>span { font-size:15px; color:#bf2466; font-weight:600; padding-top:3px; }
.cs-steps h3 { font-size:20px; font-weight:600; letter-spacing:-.025em; }
.cs-steps p { margin-top:10px; color:#526879; font-size:14px; line-height:1.85; }
.cs-local-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.cs-local-mark { background:#eaf4fc; padding:50px; border-radius:10px; border:1px solid #d5e7f4; }
.cs-local-mark>p { font-size:52px; line-height:1.2; letter-spacing:-.05em; font-family:'Plus Jakarta Sans',sans-serif; color:#075fa9; }
.cs-local-mark strong { font-weight:600; color:#075fa9; }
.cs-local-mark>span:last-child { display:block; max-width:30ch; margin-top:28px; padding-top:25px; border-top:1px solid #c9dfeF; font-size:13px; color:#526879; }
.cs-closing { background:#fff3f8; border-block:1px solid #f6dce8; padding:64px 0; }
.cs-closing-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.cs-closing .cs-kicker { color:#a63463; }
.cs-closing-actions { display:flex; flex-direction:column; align-items:start; gap:12px; }
.cs-closing .cs-text-link { font-size:13px; }
.cs-footer { padding:60px 0 24px; background:#fff; font-size:13px; color:#526879; }
.cs-footer-grid { display:grid; grid-template-columns:1.3fr .7fr 1fr; gap:80px; }
.cs-footer-brand img { width:240px; margin-left:-6px; margin-top:-10px; }
.cs-footer-brand p { margin-top:18px; max-width:36ch; line-height:1.9; }
.cs-footer-tagline { color:#075fa9; font-weight:600; }
.cs-footer-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; margin-bottom:20px; color:#142f43; }
.cs-footer-grid>div>a,.cs-footer-nav a { display:block; margin:11px 0; overflow-wrap:anywhere; }
.cs-footer a:hover { color:#075fa9; text-decoration:underline; }
.cs-footer small { margin-left:6px; font-size:10px; color:#627583; }
.cs-footer-bottom { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #e5edf3; margin-top:45px; padding-top:20px; font-size:11px; }
.cs-cookie-note { font-size:10px; margin-top:15px; color:#687d8c; line-height:1.8; }
.cs-breadcrumb { display:flex; gap:13px; align-items:center; padding-top:27px; font-size:11px; color:#627583; }
.cs-breadcrumb a { color:#075fa9; }
.cs-inner-hero { padding:40px 0 70px; }
.cs-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.cs-inner-hero .cs-title { font-size:clamp(40px,4.4vw,60px); }
.cs-photo { position:relative; overflow:hidden; border-radius:10px; }
.cs-photo img { width:100%; aspect-ratio:1.17; object-fit:cover; }
.cs-photo figcaption { position:absolute; bottom:18px; left:18px; right:18px; width:fit-content; max-width:calc(100% - 36px); padding:10px 16px; background:#fff; color:#142f43; font-size:11px; border-radius:4px; }
.cs-options { display:grid; grid-template-columns:1fr 1fr; gap:0 55px; }
.cs-option { padding:32px 0; border-top:1px solid #d6e2eb; }
.cs-option-number { display:block; font-size:10px; letter-spacing:.12em; color:#a63463; font-weight:600; }
.cs-option h3 { font-size:26px; letter-spacing:-.035em; margin-top:20px; font-weight:600; }
.cs-option p { color:#526879; font-size:15px; line-height:1.85; max-width:47ch; margin:15px 0; }
.cs-option .cs-text-link { margin-top:8px; }
.cs-comparison { min-width:0; }
.cs-comparison .ba-stage { aspect-ratio:1.2; border-radius:10px; min-height:0; }
.cs-comparison .ba-panel img { width:100%; height:100%; object-fit:cover; }
.cs-faq-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; }
.cs-faq details { border-bottom:1px solid #dce6ed; }
.cs-faq details:first-child { border-top:1px solid #dce6ed; }
.cs-faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:23px 0; font-weight:600; font-size:15px; line-height:1.6; cursor:pointer; }
.cs-faq summary>span { font-size:24px; font-weight:400; color:#075fa9; }
.cs-faq details[open] summary>span { transform:rotate(45deg); }
.cs-faq details>p { padding-bottom:24px; font-size:14px; line-height:1.9; color:#526879; }
.cs-faq details>p a { color:#075fa9; text-decoration:underline; }
.cs-faq details>.cs-text-link { margin-bottom:22px; }
.cs-three-up { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.cs-editorial-card { padding-top:27px; border-top:1px solid #ccdbe7; }
.cs-editorial-card h3 { font-size:24px; font-weight:600; line-height:1.35; margin-top:30px; max-width:18ch; }
.cs-editorial-card p { font-size:15px; line-height:1.9; color:#526879; margin-top:19px; }
.cs-areas-hero { padding-bottom:80px; }
.cs-area-panel { background:#086bc0; border-radius:10px; padding:40px; color:#fff; }
.cs-area-panel .cs-kicker { color:#d7ebfb; margin-bottom:35px; }
.cs-area-line { display:flex; gap:22px; padding-block:25px; border-top:1px solid #ffffff40; }
.cs-area-line>span { font-size:25px; line-height:1.2; }
.cs-area-line h2 { color:#fff; font-size:28px; font-weight:500; line-height:1.2; letter-spacing:-.03em; }
.cs-area-line p { font-size:13px; line-height:1.9; color:#e5f2fc; margin-top:12px; }
.cs-area-foot { font-size:11px; color:#d7ebfb; padding-top:14px; }
.cs-city-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:35px 32px; }
.cs-city-grid article { border-top:1px solid #ccdbe7; padding-top:25px; }
.cs-city-grid h3 { font-size:21px; font-weight:600; }
.cs-city-grid p { font-size:13px; line-height:1.9; color:#526879; margin-top:12px; }
.cs-city-note h3 { color:#075fa9; }
.cs-about-art { border:1px solid #dce7ee; border-radius:10px; overflow:hidden; }
.cs-about-art img { width:100%; }
.cs-about-art-caption { padding:18px 20px; border-top:1px solid #e5edf3; color:#075fa9; font-size:13px; font-weight:600; }
.cs-contact-card { border-top:1px solid #ccdbe7; padding-top:28px; }
.cs-contact-card h3 { margin-top:22px; font-size:25px; font-weight:600; }
.cs-contact-card p { margin-top:15px; font-size:13px; color:#526879; line-height:1.85; overflow-wrap:anywhere; }
.cs-contact-card .cs-circle-arrow { margin-top:25px; }
.cs-contact-card:hover h3 { color:#075fa9; }
.cs-social-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:85px; }
.cs-social-photo { border-radius:10px; overflow:hidden; }
.cs-social-photo img { width:100%; aspect-ratio:1.3; object-fit:cover; }
@media(min-width:1500px) { .cs-hero { padding-block:85px; } }
@media(max-width:1190px) {
  .cs-header-inner { gap:22px; }
  .cs-logo { width:200px; }
  .cs-nav { gap:18px; }
  .cs-nav a { font-size:12px; }
  .cs-wrap { width:calc(100% - 60px); }
  .cs-hero-grid,.cs-split { gap:40px; }
  .cs-title { font-size:51px; }
  .cs-process-layout,.cs-local-grid,.cs-faq-layout,.cs-social-section { gap:55px; }
  .cs-footer-grid { gap:45px; }
}
@media(max-width:1059px) {
  .cs-header-inner { min-height:78px; flex-wrap:wrap; justify-content:space-between; }
  .cs-nav { order:4; width:100%; margin:0; justify-content:center; padding-bottom:15px; }
  .cs-header.cs-menu-ready .cs-nav { display:none; position:absolute; left:0; top:100%; padding:20px 30px; background:#fff; border-bottom:1px solid #dce7ee; box-shadow:0 15px 25px #16324a0d; }
  .cs-header.cs-menu-ready .cs-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:3px; }
  .cs-header.cs-menu-ready .cs-menu-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; order:3; }
  .cs-header-quote { margin-left:auto; order:2; }
  .cs-hero-grid { gap:30px; }
  .cs-title { font-size:46px; }
  .cs-hero .cs-kicker { font-size:10px; }
  .cs-hero .cs-actions { gap:13px; }
  .cs-lead { font-size:16px; }
  .cs-values-inner { gap:20px; flex-wrap:wrap; justify-content:center; }
  .cs-values-inner>span,.cs-values-inner>button { font-size:11px; }
  .cs-city-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:760px) {
  .cs-wrap { width:calc(100% - 40px); }
  .cs-topbar { font-size:10px; }
  .cs-topbar-inner { min-height:32px; }
  .cs-topbar-inner>div { gap:8px; }
  .cs-topbar-inner>div>a:first-child,.cs-topbar-inner>div>span { display:none; }
  .cs-header-inner { gap:10px; min-height:72px; }
  .cs-logo { width:180px; max-width:45%; }
  .cs-header-quote { min-height:40px; padding:10px 12px; font-size:11px; gap:6px; }
  .cs-header-quote>span { font-size:18px; }
  .cs-header.cs-menu-ready .cs-menu-toggle { width:34px; }
  .cs-hero { padding:42px 0 40px; }
  .cs-hero-grid,.cs-split,.cs-process-layout,.cs-local-grid,.cs-faq-layout,.cs-social-section { grid-template-columns:1fr; gap:35px; }
  .cs-title,.cs-inner-hero .cs-title { font-size:clamp(38px,9.4vw,58px); }
  .cs-kicker { font-size:10px; margin-bottom:18px; }
  .cs-hero .cs-kicker { font-size:9px; letter-spacing:.1em; }
  .cs-lead { font-size:16px; line-height:1.8; margin-top:20px; }
  .cs-hero-copy .cs-lead { max-width:none; }
  .cs-actions { margin-top:24px; gap:16px; }
  .cs-button { min-height:50px; padding:14px 19px; font-size:13px; }
  .cs-text-link { font-size:13px; gap:12px; }
  .cs-art-caption { padding:12px 16px; font-size:9px; }
  .cs-art-footer { padding:14px 16px; font-size:10px; }
  .cs-values-inner { display:grid; grid-template-columns:1fr 1fr; gap:17px 15px; padding-block:22px; }
  .cs-values-inner>span,.cs-values-inner>button { gap:8px; font-size:10px; }
  .cs-values-inner span[aria-hidden] { font-size:13px; }
  .cs-section { padding-block:52px; }
  .cs-section-head { flex-direction:column; align-items:start; gap:18px; margin-bottom:28px; }
  .cs-section-head>p { font-size:14px; max-width:45ch; }
  .cs-heading { font-size:33px; }
  .cs-service-grid { grid-template-columns:1fr; gap:20px; }
  .cs-service-copy { padding-block:20px; }
  .cs-service-copy h3 { font-size:23px; }
  .cs-service-copy p { font-size:13px; }
  .cs-image-frame img { aspect-ratio:1.5; }
  .cs-body-copy { font-size:15px; margin-block:20px; }
  .cs-steps li { padding-block:23px; gap:24px; }
  .cs-steps h3 { font-size:19px; }
  .cs-local-mark { padding:30px; }
  .cs-local-mark>p { font-size:43px; }
  .cs-local-grid>div:last-child { padding-top:3px; }
  .cs-closing { padding-block:45px; }
  .cs-closing-inner { flex-direction:column; align-items:start; gap:28px; }
  .cs-closing-actions { width:100%; }
  .cs-footer { padding-top:40px; }
  .cs-footer-grid { grid-template-columns:1fr 1fr; gap:32px 25px; }
  .cs-footer-brand { grid-column:1/-1; }
  .cs-footer-brand img { width:225px; }
  .cs-footer-brand p { max-width:48ch; font-size:13px; }
  .cs-footer-grid>div:last-child { min-width:0; }
  .cs-footer-grid>div>a,.cs-footer-nav a { font-size:12px; }
  .cs-footer-bottom { margin-top:30px; }
  .cs-breadcrumb { padding-top:20px; font-size:10px; }
  .cs-inner-hero { padding-top:30px; padding-bottom:45px; }
  .cs-photo img { aspect-ratio:1.25; }
  .cs-photo figcaption { font-size:10px; padding:8px 12px; }
  .cs-options { grid-template-columns:1fr; }
  .cs-option { padding-block:28px; }
  .cs-option h3 { font-size:25px; }
  .cs-option p { font-size:14px; max-width:none; }
  .cs-faq summary { font-size:14px; gap:15px; padding-block:22px; }
  .cs-three-up { grid-template-columns:1fr; gap:25px; }
  .cs-editorial-card h3 { margin-top:18px; font-size:23px; max-width:none; }
  .cs-editorial-card p { margin-top:13px; font-size:14px; }
  .cs-area-panel { padding:29px; }
  .cs-area-line { gap:18px; padding-block:23px; }
  .cs-area-line h2 { font-size:26px; }
  .cs-city-grid { gap:28px 22px; }
  .cs-city-grid h3 { font-size:19px; }
  .cs-city-grid p { font-size:12px; line-height:1.8; }
  .cs-contact-card { display:grid; grid-template-columns:1fr auto; }
  .cs-contact-card .cs-option-number,.cs-contact-card h3,.cs-contact-card p { grid-column:1; }
  .cs-contact-card h3 { margin-top:15px; font-size:25px; }
  .cs-contact-card p { margin-top:9px; }
  .cs-contact-card .cs-circle-arrow { grid-column:2; grid-row:2/4; align-self:center; margin-top:0; }
}
@media(max-width:370px) {
  .cs-wrap { width:calc(100% - 32px); }
  .cs-logo { width:150px; }
  .cs-header-inner { gap:6px; }
  .cs-header-quote { padding:10px; }
  .cs-values-inner { grid-template-columns:1fr; }
  .cs-footer-grid { grid-template-columns:1fr; }
  .cs-city-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .cs-button,.cs-image-frame img { transition:none; }
  .cs-button:hover,.cs-service-card:hover .cs-image-frame img { transform:none; }
}

/* Original illustration and flowing sections, inspired by the brand palette. */
.cs-main { overflow:clip; }
.cs-button { border-radius:100px; }
.cs-title { font-weight:700; }
.cs-title em { color:#d72679; }
.cs-hero { position:relative; isolation:isolate; background:#edf8ff; padding:65px 0 100px; }
.cs-hero::after { content:''; position:absolute; z-index:-1; bottom:-1px; left:-5%; width:110%; height:78px; background:#fff; border-radius:55% 50% 0 0 / 100% 90% 0 0; }
.cs-hero::before { content:''; position:absolute; z-index:-1; right:-5%; top:12%; width:36%; height:65%; background:#ffe0ef; border-radius:60% 25% 55% 30%; transform:rotate(-12deg); }
.cs-hero-grid { gap:36px; grid-template-columns:.95fr 1.05fr; }
.cs-original-art { position:relative; border:0; overflow:visible; background:transparent; border-radius:0; padding:0; }
.cs-original-art img { width:112%; max-width:112%; margin-left:-6%; }
.cs-original-art figcaption { display:flex; align-items:center; justify-content:center; gap:12px; font-size:12px; color:#476b83; margin-top:7px; }
.cs-original-art figcaption>span { color:#d72679; font-size:21px; }
.cs-values { border:0; background:#fff; padding-bottom:8px; }
.cs-values-inner { border-bottom:1px solid #e5edf3; }
.cs-image-frame { border-radius:38px 38px 8px 8px; }
.cs-service-copy { padding-inline:6px; }
.cs-soft { position:relative; background:#edf7fd; border-radius:0 75px 0 75px; }
.cs-local-mark { border:0; border-radius:65px 15px 65px 15px; padding:55px; background:#e8f5ff; position:relative; }
.cs-local-mark::after { content:'✦'; position:absolute; color:#ed3786; top:45px; right:38px; font-size:42px; }
.cs-inner-hero { position:relative; isolation:isolate; padding-bottom:90px; }
.cs-inner-hero::after { content:''; position:absolute; z-index:-1; background:#fff0f7; width:31%; height:70%; top:7%; right:-3%; border-radius:45% 0 0 55%; transform:rotate(-6deg); }
.cs-photo { border-radius:90px 20px 90px 20px; }
.cs-photo figcaption { left:30px; bottom:26px; border-radius:100px; }
.cs-area-panel { border-radius:70px 20px 70px 20px; padding:45px; box-shadow:13px 13px 0 #ffdbea; }
.cs-about-art { border:0; background:transparent; border-radius:0; overflow:visible; }
.cs-about-art img { width:110%; max-width:110%; margin-left:-5%; }
.cs-about-art-caption { border:0; text-align:center; font-size:14px; color:#be246b; }
.cs-social-photo { border-radius:60px 15px 60px 15px; }
.cs-closing { position:relative; isolation:isolate; background:#086bc0; color:#fff; border:0; padding-top:110px; padding-bottom:65px; }
.cs-closing::before { content:''; position:absolute; z-index:-1; top:-1px; left:-5%; width:110%; height:55px; background:#fff; border-radius:0 0 50% 55% / 0 0 100% 85%; }
.cs-closing::after { content:'✦'; position:absolute; z-index:-1; right:44%; bottom:45px; color:#82c4f3; font-size:80px; line-height:1; }
.cs-closing .cs-heading { color:#fff; }
.cs-closing .cs-kicker { color:#d0eaff; }
.cs-closing .cs-button { background:#fff; color:#075fa9; border-color:#fff; }
.cs-closing .cs-button:hover { background:#fff0f7; }
.cs-closing .cs-text-link { color:#fff; }
@media(max-width:760px) {
  .cs-hero { padding:40px 0 60px; }
  .cs-hero-grid { grid-template-columns:1fr; gap:30px; }
  .cs-hero::before { width:65%; height:35%; top:auto; bottom:10%; }
  .cs-hero::after { height:45px; }
  .cs-original-art img { width:100%; max-width:100%; margin:0; }
  .cs-original-art figcaption { font-size:11px; margin-top:0; }
  .cs-soft { border-radius:0 45px 0 45px; }
  .cs-local-mark { padding:35px; border-radius:45px 12px 45px 12px; }
  .cs-local-mark::after { right:25px; top:35px; font-size:27px; }
  .cs-photo { border-radius:55px 12px 55px 12px; }
  .cs-photo figcaption { left:20px; bottom:20px; }
  .cs-inner-hero { padding-bottom:55px; }
  .cs-inner-hero::after { width:60%; height:35%; top:auto; bottom:8%; }
  .cs-about-art img { width:100%; max-width:100%; margin:0; }
  .cs-area-panel { border-radius:45px 14px 45px 14px; padding:30px; box-shadow:8px 8px 0 #ffdbea; }
  .cs-closing { padding-top:85px; padding-bottom:50px; }
  .cs-closing::before { height:35px; }
  .cs-closing::after { right:20px; bottom:40px; font-size:55px; }
}
.cs-language { display:flex; gap:2px; align-items:center; margin-block:5px; padding:2px; border:1px solid #d6e4ef; border-radius:100px; background:#fff; }
.cs-language-link { font-size:10px; font-weight:700; padding:3px 9px; border-radius:100px; min-width:32px; text-align:center; }
.cs-language-link[aria-current] { background:#086bc0; color:#fff; }
.cs-language a:hover { text-decoration:none; }
.cs-language a[aria-current]:hover { color:#fff; }
html[lang="es"] .cs-nav { gap:17px; }
html[lang="es"] .cs-nav a { font-size:12px; }
html[lang="es"] .cs-logo { width:205px; }
html[lang="es"] .cs-header-inner { gap:23px; }
html[lang="es"] .cs-title { font-size:clamp(40px,4.25vw,59px); }
@media(max-width:1190px) { html[lang="es"] .cs-header-inner { gap:18px; } html[lang="es"] .cs-logo { width:180px; } }
@media(max-width:760px) {
  html[lang="es"] .cs-title { font-size:clamp(37px,8.8vw,55px); }
  html[lang="es"] .cs-header-inner { gap:8px; }
  html[lang="es"] .cs-logo { width:160px; max-width:43%; }
  html[lang="es"] .cs-header-quote { font-size:10px; padding:10px 12px; }
}
.cs-stories-heading { text-align:center; margin-bottom:35px; }
.cs-stories-heading .cs-kicker { justify-content:center; }
.cs-stories-heading .cs-heading { font-size:clamp(38px,4vw,55px); }
.cs-service-stories { padding-top:65px; padding-bottom:85px; }
.cs-story { position:relative; isolation:isolate; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:55px; min-height:410px; margin-top:25px; }
.cs-story::before { content:''; position:absolute; z-index:-1; top:18%; bottom:10%; left:1%; width:49%; background:#eaf6ff; border-radius:55% 35% 45% 20% / 45% 45% 35% 60%; transform:rotate(-7deg); }
.cs-story-art img { width:100%; transition:transform .4s ease; }
.cs-story:hover .cs-story-art img { transform:translateY(-5px); }
.cs-story-copy { max-width:440px; padding-block:30px; }
.cs-story-copy h3 { font-size:clamp(29px,3vw,40px); line-height:1.2; font-weight:600; letter-spacing:-.04em; }
.cs-story-copy>p:not(.cs-kicker) { font-size:16px; line-height:1.9; color:#526879; margin:24px 0; }
.cs-story-link { display:inline-flex; align-items:center; gap:23px; color:#075fa9; font-size:14px; font-weight:600; }
.cs-story-link>span { display:flex; width:47px; height:47px; justify-content:center; align-items:center; font-size:25px; color:#fff; background:#086bc0; border-radius:100%; transition:transform .2s; }
.cs-story-link:hover>span { transform:rotate(45deg); }
.cs-story-work { grid-template-columns:.88fr 1.12fr; margin-top:35px; }
.cs-story-work .cs-story-art { grid-column:2; grid-row:1; }
.cs-story-work .cs-story-copy { grid-column:1; grid-row:1; padding-left:35px; }
.cs-story-work::before { left:auto; right:0; background:#fff0f7; transform:rotate(7deg); border-radius:35% 50% 20% 45% / 55% 35% 60% 25%; }
.cs-story-work .cs-kicker { color:#b02968; }
.cs-header-inner { justify-content:space-between; }
.cs-nav { gap:32px; }
@media(max-width:1059px) { .cs-story { gap:25px; } .cs-story-work .cs-story-copy { padding-left:0; } }
@media(max-width:760px) {
  .cs-service-stories { padding-top:45px; padding-bottom:50px; }
  .cs-stories-heading { text-align:left; margin-bottom:25px; }
  .cs-stories-heading .cs-kicker { justify-content:start; font-size:9px; }
  .cs-stories-heading .cs-heading { font-size:36px; }
  .cs-story,.cs-story-work { grid-template-columns:1fr; gap:0; margin-top:15px; }
  .cs-story-work .cs-story-art,.cs-story-work .cs-story-copy { grid-column:auto; grid-row:auto; }
  .cs-story-copy { padding:15px 8px 30px; }
  .cs-story-copy h3 { font-size:31px; }
  .cs-story-copy>p:not(.cs-kicker) { font-size:15px; margin:20px 0; }
  .cs-story::before { top:6%; bottom:auto; height:43%; width:95%; left:2%; }
  .cs-story-work::before { left:2%; right:auto; }
  .cs-story-work .cs-story-copy { padding-left:8px; }
  .cs-story-link { font-size:13px; gap:15px; }
  .cs-story-link>span { width:40px; height:40px; }
  .cs-header-inner { justify-content:space-between; }
  .cs-header .cs-logo,html[lang="es"] .cs-header .cs-logo { width:200px; max-width:70%; }
}
@media(prefers-reduced-motion:reduce) { .cs-story-art img,.cs-story-link>span { transition:none; } .cs-story:hover .cs-story-art img,.cs-story-link:hover>span { transform:none; } }
/* Pink leads the public brand; quote-funnel colors remain untouched. */
.cs-topbar { background:#fff0f7; border-bottom-color:#f5d8e6; color:#7c4a61; }
.cs-hero { background:#fff0f7; }
.cs-hero::before { background:#dcefff; }
.cs-kicker { color:#a13b69; }
.cs-button { background:#c7216c; border-color:#c7216c; }
.cs-button:hover { background:#a91959; border-color:#a91959; }
.cs-language-link[aria-current] { background:#c7216c; }
.cs-story-home::before { background:#ffe4f0; }
.cs-story-work::before { background:#e7f3ff; }
.cs-story-link>span { background:#c7216c; }
.cs-soft { background:#fff2f8; }
.cs-local-mark { background:#ffe8f2; }
.cs-local-mark>p,.cs-local-mark strong { color:#a71e60; }
.cs-local-mark>span:last-child { border-color:#efbfd4; }
.cs-closing { background:#c7216c; }
.cs-closing .cs-kicker { color:#ffe2ef; }
.cs-closing::after { color:#ffbad8; }
.cs-closing .cs-button { color:#ad1c5d; background:#fff; border-color:#fff; }
.cs-closing .cs-button:hover { background:#fff0f7; border-color:#fff0f7; }

/* A continuous brand canvas from the wordmark through the opening artwork. */
.cs-topbar,.cs-header,.cs-breadcrumb-band,.cs-inner-hero { background:#fff0f7; }
.cs-topbar,.cs-header { border:0; }
.cs-topbar-inner { min-height:34px; }
.cs-header-inner { min-height:82px; }
.cs-logo img { mix-blend-mode:multiply; }
.cs-nav a { color:#4e4052; }
.cs-nav a:hover,.cs-nav a[aria-current="page"] { color:#ad1c5d; }
.cs-hero { padding-top:32px; }
.cs-inner-hero::after { background:#dcefff; }
@media(min-width:961px) {
  .cs-header-inner,html[lang="es"] .cs-header-inner { flex-wrap:nowrap; gap:26px; }
  .cs-header .cs-nav,.cs-header.cs-menu-ready .cs-nav { display:flex; position:static; width:auto; margin-left:auto; padding:0; order:initial; flex-direction:row; align-items:center; justify-content:flex-end; gap:26px; background:transparent; border:0; box-shadow:none; }
  html[lang="es"] .cs-header .cs-nav { gap:18px; }
  .cs-header .cs-menu-toggle,.cs-header.cs-menu-ready .cs-menu-toggle { display:none; }
}
@media(max-width:960px) {
  .cs-header-inner,html[lang="es"] .cs-header-inner { min-height:74px; gap:12px; }
  .cs-header.cs-menu-ready .cs-nav { background:#fff0f7; border-bottom:1px solid #f0cddd; max-height:calc(100vh - 114px); max-height:calc(100dvh - 114px); overflow-y:auto; }
  .cs-header.cs-menu-ready .cs-menu-toggle { width:44px; height:44px; color:#ad1c5d; }
}
@media(max-width:760px) {
  .cs-hero { padding-top:25px; }
  .cs-topbar-inner { min-height:32px; }
}

/* Open white navigation and artwork-led color, without a floating frame. */
.cs-topbar,.cs-breadcrumb-band,.cs-hero,.cs-inner-hero { background:#fff; }
.cs-header { position:relative; background:#fff; padding:0; }
.cs-header-inner { position:relative; min-height:76px; padding:12px 0; background:#fff; border:0; border-radius:0; box-shadow:none; }
.cs-header .cs-logo { width:214px; }
.cs-header .cs-nav a { padding:10px 4px; border:0; border-bottom:2px solid transparent; border-radius:0; font-size:12px; color:#485461; transition:color .2s,border-color .2s; }
.cs-header .cs-nav a:hover { background:transparent; color:#a72160; }
.cs-header .cs-nav a[aria-current="page"] { background:transparent; border-bottom-color:#d94d8a; color:#a72160; }
.cs-hero::before { background:#ffedf5; }
.cs-inner-hero::after { background:#fff0f7; }
.cs-soft { background:#faf8fa; }
.cs-local-mark { background:#fcf0f5; }
.cs-closing { background:#fdf0f6; }
.cs-closing .cs-heading { color:#142f43; }
.cs-closing .cs-kicker { color:#a13b69; }
.cs-closing::after { color:#edb5ce; }
.cs-closing .cs-button { background:#c7216c; border-color:#c7216c; color:#fff; }
.cs-closing .cs-button:hover { background:#a91959; border-color:#a91959; }
.cs-closing .cs-text-link { color:#075fa9; }
.cs-illustrated-hero .cs-split { gap:40px; }
.cs-feature-art { position:relative; isolation:isolate; }
.cs-feature-art::before { content:''; position:absolute; z-index:-1; inset:15% 0 10% 7%; border-radius:42% 58% 64% 36% / 52% 35% 65% 48%; background:#ffedf5; transform:rotate(-8deg); }
.cs-feature-art img { width:110%; max-width:110%; margin-left:-5%; transition:transform .65s cubic-bezier(.2,.65,.3,1); }
.cs-feature-art:hover img { transform:translateY(-7px) rotate(-.7deg); }
.cs-feature-art figcaption { margin-top:4px; text-align:center; color:#627583; font-size:12px; }
.cs-art-spark { position:absolute; right:8%; top:12%; color:#d72679; font-size:34px; animation:cs-spark-float 6s ease-in-out infinite; }
.cs-art-spark-small { left:5%; top:60%; right:auto; font-size:23px; color:#409ac8; animation-delay:-3s; }
@keyframes cs-spark-float { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-7px) rotate(5deg); } }
.cs-service-studio { padding-top:85px; padding-bottom:95px; background:#fff; }
.cs-studio-layout { display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:start; }
.cs-studio-intro { position:sticky; top:132px; padding-top:30px; }
.cs-studio-intro .cs-heading { font-size:clamp(35px,3.6vw,48px); }
.cs-studio-intro>p:last-of-type { color:#526879; font-size:15px; line-height:1.85; max-width:38ch; margin-top:20px; }
.cs-studio-art { margin-top:28px; }
.cs-studio-art::before { inset:9% 5% 7%; background:#f0f8fd; }
.cs-studio-services { display:grid; gap:0; }
.cs-service-item { position:relative; padding:27px 30px 28px; border-bottom:1px solid #eadfe6; border-radius:0 26px 0 0; transition:background .25s,transform .25s; }
.cs-service-item:first-child { border-top:1px solid #eadfe6; }
.cs-service-item:hover,.cs-service-item:focus-within { background:#fff7fb; transform:translateX(5px); }
.cs-service-item .cs-option-number { display:flex; align-items:center; gap:14px; color:#99516f; }
.cs-service-item .cs-option-number::before { content:''; width:22px; height:2px; background:#e8a9c6; }
.cs-service-item h3 { font-size:27px; line-height:1.3; letter-spacing:-.035em; font-weight:600; margin:13px 0 12px; }
.cs-service-item p { font-size:14px; line-height:1.85; color:#526879; max-width:48ch; }
.cs-service-item .cs-text-link { width:100%; justify-content:space-between; gap:18px; margin-top:13px; font-size:12px; color:#a72160; }
.cs-service-item .cs-text-link>span { display:flex; flex-shrink:0; width:35px; height:35px; border:1px solid #e8bbce; border-radius:100%; align-items:center; justify-content:center; transition:background .2s,transform .2s; }
.cs-service-item .cs-text-link:hover { text-decoration:none; }
.cs-service-item .cs-text-link:hover>span { background:#c7216c; border-color:#c7216c; color:#fff; transform:rotate(45deg); }
.cs-community-art::before { background:#fff0f7; }
@media(min-width:961px) {
  .cs-header .cs-nav,.cs-header.cs-menu-ready .cs-nav { gap:25px; }
  html[lang="es"] .cs-header .cs-nav { gap:20px; }
  html[lang="es"] .cs-header-inner { gap:20px; }
  html[lang="es"] .cs-header .cs-logo { width:200px; }
}
@media(min-width:961px) and (max-width:1100px) {
  .cs-header .cs-logo,html[lang="es"] .cs-header .cs-logo { width:180px; }
  .cs-header-inner,html[lang="es"] .cs-header-inner { gap:12px; padding-inline:0; }
  .cs-header .cs-nav a { padding-inline:3px; }
}
@media(max-width:960px) {
  .cs-header { padding-block:0; }
  .cs-header-inner,html[lang="es"] .cs-header-inner { min-height:68px; padding:10px 0; border-radius:0; }
  .cs-header.cs-menu-ready .cs-nav { top:100%; background:#fff; border:0; border-bottom:1px solid #eee7ec; border-radius:0; padding:12px 0 20px; max-height:calc(100dvh - 114px); box-shadow:none; }
  .cs-header.cs-menu-ready .cs-menu-toggle { width:42px; height:42px; background:transparent; border-radius:0; }
  .cs-header .cs-nav a { border-radius:0; padding:12px 4px; font-size:13px; }
  .cs-studio-layout { gap:30px; grid-template-columns:.9fr 1.1fr; }
  .cs-service-item { padding-inline:18px; }
  .cs-studio-intro { top:115px; }
}
@media(max-width:760px) {
  .cs-header-inner { width:calc(100% - 40px); }
  .cs-header .cs-logo,html[lang="es"] .cs-header .cs-logo { width:200px; }
  .cs-illustrated-hero .cs-split { gap:30px; }
  .cs-feature-art img { width:100%; max-width:100%; margin:0; }
  .cs-art-spark { font-size:25px; }
  .cs-art-spark-small { font-size:18px; }
  .cs-feature-art figcaption { font-size:11px; }
  .cs-service-studio { padding-block:50px; }
  .cs-studio-layout { grid-template-columns:1fr; gap:20px; }
  .cs-studio-intro { position:static; padding-top:0; }
  .cs-studio-intro .cs-heading { font-size:36px; }
  .cs-studio-art { max-width:400px; margin:15px auto 0; }
  .cs-service-item { padding:25px 12px; }
  .cs-service-item h3 { font-size:26px; }
  .cs-service-item:hover,.cs-service-item:focus-within { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  .cs-art-spark { animation:none; }
  .cs-feature-art img,.cs-service-item,.cs-service-item .cs-text-link>span { transition:none; }
  .cs-feature-art:hover img,.cs-service-item:hover,.cs-service-item:focus-within,.cs-service-item .cs-text-link:hover>span { transform:none; }
}

/* The mobile navigation is a complete, quiet canvas, not a dropdown. */
.cs-menu-open { overflow:hidden; }
.cs-mobile-menu { position:fixed; inset:0; width:100%; max-width:none; height:100%; height:100dvh; max-height:none; margin:0; padding:0; border:0; border-radius:0; background:#fff; color:#142f43; overflow-y:auto; overscroll-behavior:contain; }
.cs-mobile-menu::backdrop { background:#fff; }
.cs-mobile-menu:not([open]) { display:none; }
.cs-mobile-menu[open] { animation:cs-menu-arrive .22s ease-out; }
.cs-mobile-menu-inner { position:relative; isolation:isolate; display:flex; flex-direction:column; min-height:100%; max-width:680px; margin-inline:auto; padding:25px 28px 36px; overflow:hidden; }
.cs-mobile-menu-inner::before { content:''; position:absolute; z-index:-1; width:150%; height:230px; left:-20%; bottom:-150px; border-radius:50%; background:#fff0f6; transform:rotate(-8deg); }
.cs-mobile-menu-inner::after { content:''; position:absolute; z-index:-1; width:140%; height:180px; left:-18%; bottom:-140px; border-radius:50%; border-top:2px solid #cde8f4; transform:rotate(6deg); }
.cs-mobile-menu-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.cs-mobile-menu-top .cs-logo { width:210px; max-width:75%; }
.cs-menu-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; color:#a72160; }
.cs-mobile-menu-body { padding:45px 0 38px; }
.cs-mobile-menu-label { color:#9b6b80; font-size:10px; text-transform:uppercase; letter-spacing:.18em; margin-bottom:20px; }
.cs-mobile-nav { display:flex; flex-direction:column; gap:4px; counter-reset:cs-page; }
.cs-mobile-nav a { position:relative; display:flex; align-items:center; gap:19px; font-size:clamp(26px,7.8vw,39px); font-weight:500; letter-spacing:-.04em; line-height:1.2; padding:13px 0; color:#203744; }
.cs-mobile-nav a::before { counter-increment:cs-page; content:'0' counter(cs-page); font-size:10px; font-weight:500; letter-spacing:0; color:#a78c99; width:18px; flex-shrink:0; }
.cs-mobile-nav a[aria-current="page"] { color:#b52c6b; }
.cs-mobile-nav a[aria-current="page"]::after { content:'↗'; font-size:25px; font-weight:400; margin-left:auto; color:#b52c6b; padding-left:10px; }
.cs-mobile-nav a:hover { color:#b52c6b; }
.cs-mobile-menu-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-top:auto; padding-top:20px; }
.cs-mobile-menu-bottom>div { display:grid; gap:8px; }
.cs-mobile-menu-bottom>div>span { color:#7e6b75; font-size:11px; }
.cs-mobile-menu-bottom>div>a { font-size:16px; color:#285b7b; }
.cs-mobile-menu .cs-language { margin:0; border:0; background:#f8f5f7; padding:4px; }
.cs-mobile-menu .cs-language-link { min-width:42px; padding:7px 9px; font-size:11px; }
@keyframes cs-menu-arrive { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:960px) {
  .cs-header.cs-menu-ready .cs-nav { display:none; }
  .cs-header.cs-menu-ready .cs-menu-toggle { width:auto; min-width:70px; height:44px; gap:8px; font-size:11px; font-weight:600; color:#765060; }
  .cs-menu-toggle svg { width:22px; }
}
@media(max-width:360px) {
  .cs-mobile-menu-inner { padding-inline:22px; }
  .cs-mobile-menu-top .cs-logo { width:185px; }
  .cs-mobile-nav a { font-size:26px; gap:13px; }
  .cs-mobile-menu-bottom { gap:12px; }
}
@media(max-height:600px) {
  .cs-mobile-menu-inner { padding-top:15px; padding-bottom:25px; }
  .cs-mobile-menu-body { padding-top:20px; padding-bottom:15px; }
  .cs-mobile-menu-label { margin-bottom:10px; }
  .cs-mobile-nav a { font-size:25px; padding-block:10px; }
}
@media(prefers-reduced-motion:reduce) { .cs-mobile-menu[open] { animation:none; } }

/* Let the wordmark hold its own beside the larger page typography. */
@media(min-width:1101px) {
  .cs-header .cs-logo,html[lang="es"] .cs-header .cs-logo { width:clamp(285px,25vw,360px); }
  .cs-header-inner,html[lang="es"] .cs-header-inner { padding-block:8px; }
  .cs-header .cs-nav a,html[lang="es"] .cs-header .cs-nav a { font-size:13px; }
}
@media(min-width:961px) and (max-width:1100px) {
  .cs-header .cs-logo,html[lang="es"] .cs-header .cs-logo { width:250px; }
  .cs-header .cs-nav,html[lang="es"] .cs-header .cs-nav { gap:16px; }
}
@media(max-width:960px) {
  .cs-header .cs-logo,html[lang="es"] .cs-header .cs-logo { width:240px; max-width:70%; }
}
@media(max-width:760px) {
  .cs-header .cs-logo,html[lang="es"] .cs-header .cs-logo { width:220px; }
  .cs-mobile-menu-top .cs-logo { width:240px; }
}
