/* Offer typography, responsive layout and shared visual refinements. */
:root { --preview-ease:cubic-bezier(.22,.68,.16,1); }
html { scroll-padding-top:100px; overflow-x:clip; }
/* Clip sideways decoration without creating a scroll container that breaks the sticky case studies. */
body { overflow-x:clip; overflow-y:visible; }
body::before { opacity:.2; }
main > section:not(.sec-forwhom) { overflow-x:clip; }
.nav { gap:20px; background:color-mix(in srgb,var(--color-bg) 86%,transparent); backdrop-filter:blur(18px); border-bottom-color:var(--color-border); }
.nav.scrolled { background:color-mix(in srgb,var(--color-bg) 94%,transparent); border-bottom-color:var(--color-border-strong); }
.nav-links { gap:clamp(15px,1.8vw,28px); font-size:13px; }
.nav-logo { flex-shrink:0; }
.nav-logo-img { height:30px; }
.nav-logo-sub { font-size:10px; }
.lang-toggle { flex-shrink:0; }
.lang-toggle a { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:4px 8px; }
.palette-toggle { flex-shrink:0; min-width:44px; min-height:44px; }
.nav-cta { flex-shrink:0; box-shadow:none; }
.nav-menu-btn { flex-shrink:0; }
.btn,.nav-cta { transition:transform .22s var(--preview-ease),background .22s,box-shadow .22s; }
.btn-primary::after { animation:none; }
.btn-primary:hover,.btn-secondary:hover { transform:translateY(-2px); }
.reveal { transform:translateY(20px); transition:opacity .55s var(--preview-ease),transform .55s var(--preview-ease); }
.reveal.stagger>* { transform:translateY(16px); transition-duration:.5s; transition-delay:calc(var(--i,0)*.07s); }
.reveal.in,.reveal.stagger.in>* { transform:none; }
.section-lede { line-height:1.7; }
.section-title { text-wrap:balance; }
.pricing-card,.value-card { transition:transform .25s var(--preview-ease),border-color .25s,box-shadow .25s; }
.mobile-menu { background:color-mix(in srgb,var(--color-bg) 98%,transparent); overflow-y:auto; overscroll-behavior:contain; }
.mobile-menu a,.mobile-menu button.menu-link { transition-duration:.3s; }
.mobile-menu .mobile-lang { flex-wrap:wrap; }
.mobile-lang a { min-width:44px; min-height:44px; font-size:12px; }
.mobile-menu .footer-note { padding:20px 0 max(24px,env(safe-area-inset-bottom)); }
.booking-modal .booking-dialog { transition-duration:.3s; }
.booking-modal .booking-main { min-width:0; }
.lang-toggle a:focus-visible,.palette-toggle:focus-visible,.nav-menu-btn:focus-visible { outline:2px solid var(--color-brand-2); outline-offset:4px; }
/* Original product typography. */
.sec-hero { min-height:auto; padding-top:var(--sec-y); padding-bottom:var(--sec-y); border-top:1px solid var(--color-border); }
.sec-hero .hero-inner { align-items:center; }
.sec-hero .hero-title { font-size:clamp(35px,4.3vw,62px); }
.sec-hero .hero-bg { opacity:.55; }
.sec-hero .hero-title .hero-line>span { animation:none; opacity:1; transform:none; }
/* New offer inherits all four palettes and the original locally hosted fonts. */
#cf-savings { --cs-copy-size:15px; --cs-copy-leading:1.6; font-family:var(--font-sans); }
#cf-savings .cs-page { max-width:none; }
#cf-savings .cs-hero { padding:145px var(--gutter) 64px; background:radial-gradient(ellipse at 85% 22%,var(--color-brand-soft),transparent 62%); }
#cf-savings .cs-hero::before { display:none; }
#cf-savings .cs-hero-grid,#cf-savings .cs-assessment { max-width:1240px; margin-inline:auto; }
#cf-savings .cs-hero-grid { gap:clamp(30px,4vw,70px); grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
#cf-savings .cs-savings-title { font-family:var(--font-tight); font-size:clamp(42px,5.2vw,74px); letter-spacing:-.04em; line-height:1.04; }
#cf-savings .cs-calc { padding:60px 0 12px clamp(12px,2.4vw,36px); align-self:start; background:none; border:0; border-radius:0; box-shadow:none; }
#cf-savings .cs-spend-heading { font-family:var(--font-sans); font-size:16px; line-height:1.5; font-weight:500; color:var(--cs-dim); margin-bottom:12px; }
#cf-savings .cs-hero-reassurance { margin-top:16px; color:var(--cs-dim); font-size:13px; line-height:1.6; }
#cf-savings .cs-offer-conditions { max-width:1240px; margin:38px auto 0; color:var(--cs-dim); font-size:12px; line-height:1.65; }
#cf-savings .cs-calc-details { margin-top:18px; }
#cf-savings .cs-calc-details summary { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:var(--cs-dim); font-size:13px; list-style:none; cursor:pointer; }
#cf-savings .cs-calc-details summary::-webkit-details-marker { display:none; }
#cf-savings .cs-calc-details summary:hover { color:var(--cs-text); }
#cf-savings .cs-calc-details summary:focus-visible { outline:2px solid var(--color-brand-2); outline-offset:5px; }
#cf-savings .cs-calc-details[open] .cs-details-plus { transform:rotate(45deg); }
#cf-savings .cs-breakdown { display:grid; gap:16px; margin-top:18px; }
#cf-savings .cs-breakdown>div { display:flex; justify-content:space-between; align-items:baseline; gap:20px; }
#cf-savings .cs-breakdown dt { color:var(--cs-dim); font-size:13px; line-height:1.6; }
#cf-savings .cs-breakdown dd { flex-shrink:0; text-align:right; font-variant-numeric:tabular-nums; }
#cf-savings .cs-breakdown output { display:block; font-family:var(--font-tight); font-size:21px; line-height:1.2; font-weight:500; }
#cf-savings .cs-breakdown dd>span { color:var(--cs-dim); font-size:11px; }
#cf-savings .cs-calc-top { margin-bottom:30px; }
#cf-savings .cs-calc-top h2 { font-size:26px; font-weight:500; }
#cf-savings .cs-badge { padding:0; background:none; border-radius:0; }
#cf-savings .cs-assessment { padding:25px var(--gutter) 65px; background:none; border-top:0; }
#cf-savings .cs-assessment-head { padding-top:35px; border-top:0; }
#cf-savings .cs-intro { font-size:clamp(14px,1.3vw,17px); max-width:460px; }
#cf-savings .cs-eyebrow { font-size:12px; line-height:1.6; font-weight:600; letter-spacing:.3px; }
#cf-savings .cs-hero-actions { display:flex; margin-top:24px; }
#cf-savings .cs-hero-actions .cs-primary { min-width:240px; max-width:100%; }
#cf-savings .cs-free { margin-top:20px; }
#cf-savings .cs-free-icon { width:22px; height:30px; background:none; border-radius:0; font-size:22px; }
#cf-savings .cs-free strong { font-size:13px; }
#cf-savings .cs-free span { font-size:12px; line-height:1.6; }
#cf-savings .cs-terms { max-width:460px; }
#cf-savings .cs-primary { background:var(--color-brand-2); color:var(--color-bg); cursor:pointer; border-radius:999px; box-shadow:none; }
#cf-savings .cs-primary:hover { background:var(--color-text); box-shadow:none; }
#cf-savings button:focus-visible,#cf-savings input:focus-visible { outline:2px solid var(--color-brand-2); outline-offset:5px; }
#cf-savings .cs-preset,#cf-savings .cs-range { cursor:pointer; }
#cf-savings .cs-currency { font-family:var(--font-tight); font-size:34px; }
#cf-savings .cs-amount { font-family:var(--font-tight); font-size:48px; letter-spacing:-.04em; padding-block:0; }
#cf-savings .cs-input-shell { flex:0 1 210px; border:0; padding-bottom:0; }
#cf-savings .cs-spend-entry .cs-amount { font-size:36px; }
#cf-savings .cs-spend-entry .cs-currency { font-size:26px; }
#cf-savings .cs-per-month { font-size:13px; }
/* The fish is decorative; the transparent native thumb handles every interaction. */
#cf-savings .cs-slider { --cs-thumb-width:90px; position:relative; margin-top:16px; }
#cf-savings .cs-range { position:relative; z-index:1; height:58px; margin:0; cursor:grab; }
#cf-savings .cs-range:active { cursor:grabbing; }
#cf-savings .cs-range::-webkit-slider-runnable-track { height:3px; }
#cf-savings .cs-range::-webkit-slider-thumb { width:var(--cs-thumb-width); height:58px; margin-top:-27.5px; background:transparent; border:0; border-radius:0; box-shadow:none; }
#cf-savings .cs-range::-moz-range-track,#cf-savings .cs-range::-moz-range-progress { height:3px; }
#cf-savings .cs-range::-moz-range-thumb { width:var(--cs-thumb-width); height:58px; background:transparent; border:0; border-radius:0; box-shadow:none; }
#cf-savings .cs-range:focus-visible { outline:2px solid var(--color-brand-2); outline-offset:4px; border-radius:10px; }
#cf-savings .cs-fish-travel { position:absolute; z-index:2; inset:0 calc(var(--cs-thumb-width)/2); pointer-events:none; }
#cf-savings .cs-fish { position:absolute; top:50%; left:var(--cs-percent,0%); width:var(--cs-thumb-width); height:58px; transform:translate(-50%,-50%); filter:drop-shadow(0 3px 2px #0003); transition:filter .25s; }
#cf-savings .cs-fish svg { display:block; width:100%; height:100%; overflow:visible; }
#cf-savings .cs-fish-swim { transform-origin:50px 32px; animation:cs-fish-swim 3.6s ease-in-out infinite; animation-play-state:paused; }
#cf-savings .cs-fish-tail { transform-origin:27px 32px; animation:cs-tail-wave 1.8s ease-in-out infinite; animation-play-state:paused; }
#cf-savings .cs-slider.is-visible :is(.cs-fish-swim,.cs-fish-tail) { animation-play-state:running; }
#cf-savings .cs-slider:hover .cs-fish { filter:drop-shadow(0 3px 5px var(--color-brand-soft)) brightness(1.08); }
@keyframes cs-fish-swim { 0%,100% { transform:translateY(1px) rotate(1deg); } 50% { transform:translateY(-1.5px) rotate(-2deg); } }
@keyframes cs-tail-wave { 0%,100% { transform:scaleX(.93) rotate(-4deg); } 50% { transform:scaleX(1.02) rotate(4deg); } }
@media(max-width:740px) { #cf-savings .cs-slider { --cs-thumb-width:80px; } }
@media(prefers-reduced-motion:reduce) { #cf-savings :is(.cs-fish-swim,.cs-fish-tail) { animation:none; } }
#cf-savings .cs-presets { justify-content:flex-start; gap:24px; margin:8px 0 25px; }
#cf-savings .cs-preset { position:relative; flex:0 1 auto; min-height:44px; padding:7px 0; border:0; border-radius:0; background:none; color:var(--cs-dim); font-size:12px; }
#cf-savings .cs-preset::after { content:''; position:absolute; left:0; right:0; bottom:4px; height:2px; background:var(--color-brand-2); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
#cf-savings .cs-preset[aria-pressed="true"] { color:var(--color-text); border:0; background:none; }
#cf-savings .cs-preset[aria-pressed="true"]::after { transform:scaleX(1); }
#cf-savings .cs-preset:hover { color:var(--color-text); }
#cf-savings .cs-comparison { padding-top:0; border:0; }
#cf-savings .cs-bill { height:5px; gap:6px; }
#cf-savings .cs-bill-cost { background:var(--color-brand); border-radius:0; }
#cf-savings .cs-bill-saving { border-radius:0; }
#cf-savings .cs-legend>div:first-child,#cf-savings .cs-legend>div:first-child .cs-legend-value { text-align:left; }
#cf-savings .cs-legend>div:first-child .cs-legend-label { justify-content:flex-start; }
#cf-savings .cs-legend-value { font-size:clamp(18px,2vw,23px); }
#cf-savings .cs-annual { margin-top:36px; padding:0; background:none; border:0; border-radius:0; }
#cf-savings .cs-annual-amount strong { font-size:clamp(40px,5.6vw,80px); font-weight:500; letter-spacing:-.045em; }
#cf-savings .cs-annual-label { font-size:14px; line-height:1.5; }
#cf-savings .cs-annual-amount span { font-size:14px; }
#cf-savings .cs-annual-note { margin-top:7px; }
#cf-savings .cs-calc .cs-primary { margin-top:27px; }
#cf-savings .cs-calc-note { font-size:11px; line-height:1.7; }
#cf-savings .cs-input-shell:focus-within { border-color:var(--color-brand-2); }
#cf-savings .cs-amount { appearance:textfield; -moz-appearance:textfield; }
#cf-savings .cs-amount::-webkit-inner-spin-button { -webkit-appearance:none; }
/* A numbered sequence, with space instead of repeated outlined cards. */
#cf-savings .cs-steps { gap:clamp(24px,4vw,64px); margin-top:38px; }
#cf-savings .cs-step { position:relative; padding:0; background:none; border:0; border-radius:0; }
#cf-savings .cs-step-number { font-family:var(--font-tight); font-size:44px; font-weight:400; line-height:1; letter-spacing:-.04em; color:var(--color-brand-2); opacity:.65; margin-bottom:22px; }
#cf-savings .cs-step:not(:last-child)::after { content:'↗'; position:absolute; top:4px; right:4px; color:var(--color-text-dim); font-size:22px; }
#cf-savings .cs-step h3 { font-size:22px; font-weight:500; }
#cf-savings .cs-step p { font-size:13px; }
#cf-savings .cs-bottom { margin-top:38px; }
/* Put existing theme control on the mobile header as well. */
@media(max-width:1260px) {
 .nav .nav-links,.nav .nav-cta { display:none; }
 .nav .lang-toggle.desktop-lang { display:flex; margin-left:auto; }
 .nav .palette-toggle { display:flex; margin-left:auto; }
 .nav .nav-menu-btn { display:flex; }
 .mobile-menu { display:flex; }
}
@media(min-width:741px) and (max-width:1260px) { .nav .palette-toggle { margin-left:0; } .nav-logo-sub { display:none; } }
@media(min-width:1261px) { .mobile-menu { display:none; } }
@media(max-width:740px) {
 html { scroll-padding-top:90px; }
 .nav { padding-inline:var(--gutter); gap:12px; }
 .nav-logo-sub { display:none; }
 .nav-logo-img { height:28px; }
 .nav .lang-toggle.desktop-lang { display:none; }
 #cf-savings .cs-hero { padding:114px var(--gutter) 35px; }
 #cf-savings .cs-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 #cf-savings .cs-savings-title { font-size:clamp(36px,10.2vw,62px); line-height:1.04; }
 #cf-savings .cs-lastline { display:block; }
 #cf-savings .cs-calc { padding:24px 0 0; }
 #cf-savings .cs-input-shell { flex-basis:185px; }
 #cf-savings .cs-spend-entry .cs-amount { font-size:32px; }
 #cf-savings .cs-annual { margin-top:26px; }
 #cf-savings .cs-offer-conditions { margin-top:25px; font-size:11px; }
 #cf-savings .cs-hero-grid { gap:20px; }
 #cf-savings .cs-calc-top { margin-bottom:24px; }
 #cf-savings .cs-calc-top h2 { font-size:24px; }
 #cf-savings .cs-amount { font-size:42px; }
 #cf-savings .cs-hero-actions .cs-primary { width:100%; }
 #cf-savings .cs-annual-amount strong { font-size:clamp(42px,13.3vw,72px); }
 #cf-savings .cs-assessment { padding:10px var(--gutter) 40px; }
 #cf-savings .cs-assessment h2 { font-size:32px; }
 #cf-savings .cs-steps { gap:28px; }
 #cf-savings .cs-step { grid-template-columns:42px minmax(0,1fr); column-gap:18px; }
 #cf-savings .cs-step-number { font-size:36px; padding-top:0; margin-bottom:0; }
 #cf-savings .cs-step:not(:last-child)::after { display:none; }
 .sec-hero .hero-title { font-size:clamp(31px,8.5vw,51px); }
 .sec-hero .hero-sub { font-size:15px; }
 .sec-hero .hero-ctas { gap:10px; }
 .btn { min-height:50px; }
 .mobile-menu { padding-top:95px; }
 .mobile-menu>a,.mobile-menu>button.menu-link { padding-block:12px; font-size:28px; }
 .mobile-lang { margin-top:12px; }
}
@media(max-width:370px) {
 #cf-savings .cs-calc { padding:20px 0 0; }
 #cf-savings .cs-calc-top { flex-wrap:wrap; }
 #cf-savings .cs-legend { gap:8px; }
 #cf-savings .cs-legend-value span { display:block; margin-top:5px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .reveal,.reveal.stagger>* { opacity:1; transform:none; transition:none; }
 .btn,.nav-cta,#cf-savings .cs-primary { transition:none; }
}

/* The assessment is an invitation, with a single large, tactile booking target. */
#cf-savings .cs-assessment { padding-top:64px; padding-bottom:72px; }
#cf-savings .cs-invitation { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(32px,6vw,90px); align-items:center; }
#cf-savings .cs-invitation-copy { min-width:0; }
#cf-savings .cs-invitation .cs-section-eyebrow { font-size:12px; font-style:normal; font-weight:600; margin-bottom:22px; }
#cf-savings .cs-invitation h2 { max-width:none; font-size:clamp(38px,4.7vw,66px); line-height:1.04; font-weight:600; letter-spacing:-.045em; text-wrap:balance; }
#cf-savings .cs-invitation-intro { max-width:430px; margin-top:23px; color:var(--cs-dim); font-size:15px; line-height:1.7; }
#cf-savings .cs-assessment-hosts { display:flex; align-items:center; gap:15px; margin-top:28px; }
#cf-savings .cs-host-portraits { display:flex; padding-left:0; flex-shrink:0; }
#cf-savings .cs-host-portraits img { width:46px; height:46px; object-fit:cover; object-position:50% 24%; border-radius:50%; border:3px solid var(--color-bg); background:var(--color-surface); }
#cf-savings .cs-host-portraits img+img { margin-left:-12px; }
#cf-savings .cs-assessment-hosts strong { display:block; font-size:12px; font-weight:500; }
#cf-savings .cs-assessment-hosts span { display:block; margin-top:3px; color:var(--cs-dim); font-size:12px; }
#cf-savings .cs-assessment-assurance { display:flex; align-items:baseline; gap:9px; margin-top:23px; color:var(--cs-dim); font-size:12px; line-height:1.6; }
#cf-savings .cs-assessment-assurance>span:first-child { color:var(--color-brand-2); }
#cf-savings .cs-assessment-visual { display:grid; place-items:center; padding:20px; }
#cf-savings .cs-assessment-disc { --disc-ink:#0a2a38; --disc-paper:#f2f5f2; position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; max-width:370px; aspect-ratio:1; padding:24px; border:0; border-radius:50%; background:none; color:var(--disc-ink); font-family:var(--font-tight); text-align:center; cursor:pointer; transition:transform .25s var(--preview-ease); }
#cf-savings .cs-assessment-disc::before {
 content:''; position:absolute; inset:3%; z-index:-2; border-radius:50%;
 background:
  radial-gradient(ellipse at 28% 18%,#fffdf7 0%,#fffdf700 55%),
  radial-gradient(ellipse at 82% 76%,#d8d0f1a6 0%,#d8d0f100 55%),
  linear-gradient(140deg,#e6f6f2 4%,#f5f3ed 48%,#d4ebe9 100%);
 box-shadow:inset 0 1px 2px #fff9,inset 0 -20px 36px #6d93a01c;
}
#cf-savings .cs-ribbon-wrap { position:absolute; inset:-5%; z-index:-1; overflow:hidden; border-radius:50%; pointer-events:none; transition:transform .6s var(--preview-ease); }
#cf-savings .cs-ribbon { display:block; width:100%; height:100%; max-width:none; overflow:visible; animation:cs-ribbon-turn 28s linear infinite; transform-origin:center; }
@keyframes cs-ribbon-turn { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
#cf-savings .cs-disc-copy { display:flex; flex-direction:column; align-items:center; width:80%; gap:6px; transform:rotate(-13deg); }
#cf-savings .cs-disc-free,#cf-savings .cs-disc-type { display:block; width:max-content; font-family:inherit; font-size:clamp(34px,3.5vw,44px); font-weight:700; font-style:normal; letter-spacing:-.025em; line-height:.96; margin:0; text-transform:uppercase; color:inherit; white-space:nowrap; }
#cf-savings .cs-disc-action { position:absolute; left:50%; bottom:-14px; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:14px; width:calc(100% + 24px); max-width:390px; min-height:72px; padding:18px 24px; border:2px solid var(--disc-paper); border-radius:999px; background:var(--disc-ink); color:var(--disc-paper); font-size:20px; line-height:1.3; font-weight:600; box-shadow:0 8px 20px -12px #0008; transition:background .2s,color .2s,border-color .2s; }
#cf-savings .cs-disc-action svg { width:28px; height:28px; flex-shrink:0; transition:transform .25s var(--preview-ease); }
#cf-savings .cs-assessment-disc:focus-visible { outline:none; }
#cf-savings .cs-assessment-disc:focus-visible .cs-disc-action { outline:2px solid var(--color-text); outline-offset:6px; }
#cf-savings .cs-assessment-disc:active { transform:scale(.98); }
#cf-savings .cs-assessment-details { margin-top:42px; }
#cf-savings .cs-assessment-details summary { display:inline-flex; align-items:center; gap:22px; min-height:44px; list-style:none; cursor:pointer; font-size:13px; color:var(--cs-text); }
#cf-savings .cs-assessment-details summary::-webkit-details-marker { display:none; }
#cf-savings .cs-assessment-details summary:focus-visible { outline:2px solid var(--color-brand-2); outline-offset:5px; }
#cf-savings .cs-details-plus { color:var(--color-brand-2); font-size:24px; font-weight:300; transition:transform .25s; }
#cf-savings .cs-assessment-details[open] .cs-details-plus { transform:rotate(45deg); }
#cf-savings .cs-assessment-details .cs-steps { margin-top:20px; }
#cf-savings .cs-assessment-decision { margin-top:28px; color:var(--cs-dim); font-size:12px; line-height:1.6; }
@media(hover:hover) and (pointer:fine) {
 #cf-savings .cs-assessment-disc:hover { transform:translateY(-3px); }
 #cf-savings .cs-assessment-disc:hover .cs-ribbon-wrap { transform:scale(1.04) rotate(8deg); }
 #cf-savings .cs-assessment-disc:hover .cs-disc-action { background:var(--disc-paper); color:var(--disc-ink); border-color:var(--disc-ink); }
 #cf-savings .cs-assessment-disc:hover .cs-disc-action svg { transform:translate(3px,-3px); }
}
@media(max-width:740px) {
 #cf-savings .cs-assessment { padding-top:42px; padding-bottom:44px; }
 #cf-savings .cs-invitation { grid-template-columns:1fr; gap:22px; }
 #cf-savings .cs-invitation h2 { font-size:clamp(36px,9.5vw,52px); }
 #cf-savings .cs-invitation-intro { font-size:14px; margin-top:18px; }
 #cf-savings .cs-invitation .cs-section-eyebrow { margin-bottom:17px; }
 #cf-savings .cs-assessment-hosts { margin-top:21px; }
 #cf-savings .cs-assessment-visual { padding:14px 20px 42px; }
 #cf-savings .cs-assessment-disc { max-width:300px; padding:20px; }
 #cf-savings .cs-disc-free,#cf-savings .cs-disc-type { font-size:clamp(26px,8vw,34px); }
 #cf-savings .cs-disc-action { bottom:-32px; max-width:340px; min-height:64px; padding:16px 18px; font-size:18px; gap:10px; }
 #cf-savings .cs-disc-action svg { width:26px; height:26px; }
 #cf-savings .cs-assessment-details { margin-top:14px; }
}
@media(prefers-reduced-motion:reduce) {
 #cf-savings .cs-assessment-disc,#cf-savings .cs-assessment-disc:hover,#cf-savings .cs-assessment-disc:active { transform:none; }
 #cf-savings .cs-disc-action svg { transform:none!important; }
 #cf-savings .cs-ribbon { animation:none!important; transform:rotate(-18deg); }
 #cf-savings .cs-assessment-disc:hover .cs-ribbon-wrap { transform:none; }
}

/* One supporting-text style throughout the new offer, on every screen size. */
#cf-savings :is(
 .cs-eyebrow,.cs-intro,.cs-hero-reassurance,.cs-offer-conditions,
 .cs-spend-heading,.cs-per-month,.cs-annual-label,.cs-annual-amount > span,
 .cs-calc-details summary,.cs-breakdown dt,.cs-breakdown dd > span,
 .cs-invitation .cs-section-eyebrow,.cs-invitation-intro,
 .cs-assessment-hosts strong,.cs-assessment-hosts span,
 .cs-assessment-assurance,.cs-assessment-details summary,.cs-step p,.cs-assessment-decision
) {
 font:400 var(--cs-copy-size)/var(--cs-copy-leading) var(--font-sans);
 letter-spacing:0;
 color:var(--cs-dim);
}
#cf-savings .cs-hero-actions .cs-primary {
 font:600 var(--cs-copy-size)/var(--cs-copy-leading) var(--font-sans);
 letter-spacing:0;
}

/* Satin colour, fine grain and a single travelling highlight on the two main CTAs. */
#cf-savings .cs-primary,#cf-savings .cs-disc-action {
 isolation:isolate; overflow:hidden;
 background-image:linear-gradient(125deg,#fff3,transparent 46%,#0000000d);
 box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #00000018,0 5px 16px -12px #0008;
 transition:transform .32s var(--preview-ease),box-shadow .32s var(--preview-ease);
}
#cf-savings .cs-primary { position:relative; }
#cf-savings .cs-primary::before,#cf-savings .cs-disc-action::before {
 content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; border-radius:inherit;
 opacity:.075; mix-blend-mode:soft-light;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h160v160H0z'/%3E%3C/svg%3E");
}
#cf-savings .cs-primary::after,#cf-savings .cs-disc-action::after {
 content:''; position:absolute; inset:-70% -30%; z-index:-1; pointer-events:none;
 background:linear-gradient(110deg,transparent 34%,#ffffff08 42%,#ffffff60 50%,#ffffff08 58%,transparent 66%);
 transform:translateX(-85%); transition:transform .8s var(--preview-ease);
}
#cf-savings .cs-primary > [aria-hidden] { transition:transform .32s var(--preview-ease); }
#cf-savings .cs-assessment-disc .cs-disc-action { border-color:color-mix(in srgb,var(--disc-paper) 78%,transparent); }
@media(hover:hover) and (pointer:fine) {
 #cf-savings .cs-primary:hover { background-color:var(--color-brand-2); background-image:linear-gradient(125deg,#fff3,transparent 46%,#0000000d); box-shadow:inset 0 1px 0 #fff9,0 8px 24px -14px var(--color-brand-2); transform:translateY(-2px); }
 #cf-savings .cs-assessment-disc:hover .cs-disc-action { background-color:var(--disc-ink); background-image:linear-gradient(125deg,#fff3,transparent 46%,#0000000d); color:var(--disc-paper); border-color:var(--disc-paper); box-shadow:inset 0 1px 0 #fff6,0 8px 24px -14px #000a; }
 #cf-savings .cs-primary:hover::after,#cf-savings .cs-assessment-disc:hover .cs-disc-action::after { transform:translateX(85%); }
 #cf-savings .cs-primary:hover > [aria-hidden] { transform:translateX(3px); }
}
#cf-savings .cs-primary:focus-visible::after,#cf-savings .cs-assessment-disc:focus-visible .cs-disc-action::after { transform:translateX(85%); }
#cf-savings .cs-primary:active { transform:translateY(0) scale(.985); }
.pricing-context { max-width:850px; margin:20px 0 0; color:var(--color-text-dim); font-size:15px; line-height:1.7; }
.pricing-tier-cta { text-wrap:balance; }
@media(prefers-reduced-motion:reduce) {
 #cf-savings .cs-primary,#cf-savings .cs-disc-action,#cf-savings .cs-primary > [aria-hidden] { transition:none; }
 #cf-savings .cs-primary::after,#cf-savings .cs-disc-action::after { display:none; }
 #cf-savings .cs-primary:hover,#cf-savings .cs-primary:active,#cf-savings .cs-primary:hover > [aria-hidden] { transform:none; }
}

/* Local opening draft: product, savings, then the assessment process. */
#cf-savings .cs-product-hero { position:relative; padding:140px var(--gutter) 72px; border:0; min-height:0; }
#cf-savings .cs-product-hero .hero-bg { opacity:1; }
#cf-savings .cs-product-hero .hero-bg::before {
 content:''; position:absolute; inset:0;
 background:url('assets/img/infrastructure-background.jpg') center / cover no-repeat;
 filter:grayscale(1); opacity:.46;
}
#cf-savings .cs-product-hero .hero-bg::after {
 content:''; position:absolute; inset:0;
 background:
  linear-gradient(0deg,var(--color-bg),transparent 36%),
  linear-gradient(90deg,color-mix(in srgb,var(--color-bg) 82%,transparent),color-mix(in srgb,var(--color-bg) 52%,transparent) 52%,color-mix(in srgb,var(--color-bg) 24%,transparent));
}
#cf-savings .cs-product-hero .hero-mesh { opacity:.28; }
#cf-savings .cs-product-hero .hero-inner { max-width:1240px; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(40px,6vw,90px); }
#cf-savings .cs-product-copy { min-width:0; }
#cf-savings .cs-product-hero .hero-eyebrow { margin-bottom:24px; font:400 var(--cs-copy-size)/var(--cs-copy-leading) var(--font-sans); opacity:1; animation:none; transform:none; }
#cf-savings .cs-product-hero .hero-title { margin:0 0 28px; font-size:clamp(48px,5.8vw,80px); line-height:.98; }
#cf-savings .hero-rotator-track > span { display:inline-flex; align-items:center; gap:.18em; }
#cf-savings .hero-channel-icon { display:block; flex:0 0 .62em; width:.62em; height:.62em; background:currentColor; -webkit-mask:var(--channel-icon) center / contain no-repeat; mask:var(--channel-icon) center / contain no-repeat; }
#cf-savings [data-channel="slack"] { --channel-icon:url('assets/img/channels/slack.svg'); }
#cf-savings [data-channel="microsoftteams"] { --channel-icon:url('assets/img/channels/microsoftteams.svg'); }
#cf-savings [data-channel="whatsapp"] { --channel-icon:url('assets/img/channels/whatsapp.svg'); }
#cf-savings [data-channel="email"] { --channel-icon:url('assets/img/channels/email.svg'); }
html[lang="ja"] #cf-savings .cs-product-hero .hero-title { font-size:clamp(28px,5.2vw,64px); line-height:1.1; }
#cf-savings .cs-product-summary { max-width:530px; font:400 17px/1.65 var(--font-sans); color:var(--cs-dim); text-wrap:pretty; }
#cf-savings .cs-product-hero .hero-trust { margin-top:24px; gap:10px 22px; font-size:var(--cs-copy-size); font-weight:400; opacity:1; animation:none; }
#cf-savings .cs-explore { display:inline-flex; align-items:center; gap:16px; min-height:44px; margin-top:23px; color:var(--cs-text); font-size:var(--cs-copy-size); text-decoration:none; }
#cf-savings .cs-explore [aria-hidden] { color:var(--cs-blue2); transition:transform .25s var(--preview-ease); }
#cf-savings .cs-explore:hover [aria-hidden] { transform:translateY(4px); }
#cf-savings .cs-explore:focus-visible { outline:2px solid var(--cs-blue2); outline-offset:5px; }
#cf-savings .cs-product-invitation { min-width:0; }
#cf-savings .cs-product-invitation .cs-assessment-visual { padding:24px 24px 40px; }
#cf-savings .cs-product-reassurance { max-width:350px; margin:10px auto 0; text-align:center; font:400 var(--cs-copy-size)/var(--cs-copy-leading) var(--font-sans); color:var(--cs-dim); text-wrap:balance; }
#cf-savings .cs-hero { padding:72px var(--gutter); background:linear-gradient(160deg,var(--color-brand-soft),transparent 75%); }
#cf-savings :is(#savings,#free-assessment) { scroll-margin-top:0; }
#cf-savings .cs-hero-grid { align-items:center; }
#cf-savings .cs-section-eyebrow { color:var(--cs-dim); font:400 var(--cs-copy-size)/var(--cs-copy-leading) var(--font-sans); font-style:normal; }
#cf-savings .cs-savings-title { margin:22px 0 24px; font-size:clamp(38px,4.8vw,64px); }
#cf-savings .cs-calc { padding-top:10px; }
#cf-savings .cs-assessment { max-width:calc(1240px + 2 * var(--gutter)); padding:80px var(--gutter); }
#cf-savings .cs-invitation { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
#cf-savings .cs-invitation h2 { font-size:clamp(38px,4.5vw,60px); }
#cf-savings .cs-assessment-process { min-width:0; }
#cf-savings .cs-assessment-process .cs-steps { grid-template-columns:1fr; margin-top:0; gap:28px; }
#cf-savings .cs-assessment-process .cs-step { display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:18px; row-gap:8px; }
#cf-savings .cs-assessment-process .cs-step-number { grid-row:1 / 3; font:500 18px/1.4 var(--font-tight); padding-top:3px; margin:0; opacity:1; }
#cf-savings .cs-assessment-process .cs-step h3 { font:600 21px/1.3 var(--font-tight); letter-spacing:-.02em; }
#cf-savings .cs-assessment-process .cs-step p { grid-column:2; }
#cf-savings .cs-assessment-process .cs-step::after { display:none; }
#cf-savings .cs-process-action { margin:32px 0 14px 48px; }
#cf-savings .cs-process-action .cs-primary { font:600 var(--cs-copy-size)/var(--cs-copy-leading) var(--font-sans); }
#cf-savings .cs-assessment-decision { margin-left:48px; }
.cs-example-scenarios { margin-top:40px; border-top:1px solid var(--color-border); padding-top:16px; }
.cs-example-scenarios > summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:56px; list-style:none; cursor:pointer; color:var(--color-text); font-size:16px; }
.cs-example-scenarios > summary::-webkit-details-marker { display:none; }
.cs-example-scenarios > summary:focus-visible { outline:2px solid var(--color-brand-2); outline-offset:5px; }
.cs-example-plus { color:var(--color-brand-2); font-size:28px; transition:transform .2s; }
.cs-example-scenarios[open] .cs-example-plus { transform:rotate(45deg); }
.cs-example-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,72px); align-items:center; padding-top:28px; }
.cs-example-layout p { font:400 16px/1.65 var(--font-sans); color:var(--color-text-dim); }
.cs-example-layout .bill-chart { min-width:0; width:100%; }
@media(max-width:900px) {
 #cf-savings .cs-product-hero .hero-inner { gap:32px; }
 #cf-savings .cs-product-hero .hero-title { font-size:clamp(44px,6.6vw,62px); }
 #cf-savings .cs-product-summary { font-size:var(--cs-copy-size); }
}
@media(max-width:740px) {
 #cf-savings .cs-product-hero { padding:112px var(--gutter) 44px; }
 #cf-savings .cs-product-hero .hero-bg::before { background-size:auto 680px; background-position:58% 40px; opacity:.36; }
 #cf-savings .cs-product-hero .hero-bg::after { background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 48%,transparent),color-mix(in srgb,var(--color-bg) 60%,transparent) 35%,var(--color-bg) 68%); }
 #cf-savings .cs-product-hero .hero-inner { grid-template-columns:1fr; gap:0; }
 #cf-savings .cs-product-copy { display:contents; }
 #cf-savings .cs-product-hero .hero-eyebrow { order:0; }
 #cf-savings .cs-product-hero .hero-title { order:1; }
 #cf-savings .cs-product-summary { order:2; }
 #cf-savings .cs-product-invitation { order:3; margin-top:24px; }
 #cf-savings .cs-product-hero .hero-trust { order:4; }
 #cf-savings .cs-explore { order:5; }
 #cf-savings .cs-product-hero .hero-title { font-size:clamp(44px,11.6vw,72px); margin-bottom:24px; }
 html[lang="ja"] #cf-savings .cs-product-hero .hero-title { font-size:clamp(28px,8.7vw,42px); }
 #cf-savings .cs-product-hero .hero-eyebrow { margin-bottom:20px; }
 #cf-savings .cs-product-hero .hero-trust { margin-top:20px; }
 #cf-savings .cs-explore { margin-top:12px; }
 #cf-savings .cs-product-invitation .cs-assessment-visual { padding:16px 20px 44px; }
 #cf-savings .cs-product-reassurance { margin-top:10px; }
 #cf-savings .cs-hero { padding:44px var(--gutter); }
 #cf-savings .cs-savings-title { font-size:clamp(36px,9.8vw,56px); }
 #cf-savings .cs-calc { padding:18px 0 0; }
 #cf-savings .cs-assessment { padding:44px var(--gutter); }
 #cf-savings .cs-invitation { grid-template-columns:1fr; gap:32px; }
 #cf-savings .cs-invitation h2 { font-size:clamp(36px,9.5vw,52px); }
 #cf-savings .cs-process-action { margin-left:0; }
 #cf-savings .cs-process-action .cs-primary { width:100%; }
 #cf-savings .cs-assessment-decision { margin-left:0; }
 .cs-example-layout { grid-template-columns:1fr; gap:28px; }
}
@media(prefers-reduced-motion:reduce) {
 #cf-savings .cs-explore [aria-hidden],.cs-example-plus { transition:none; }
 #cf-savings .cs-explore:hover [aria-hidden] { transform:none; }
}
