/* Homepage refinement. Shared styles and the rest of the site stay independent. */
.dynamic-home { --bg:#11140f; --panel:#1b2018; --cream:#f3f1e8; --muted:#b5baaa; --line:#343c2d; }
.dynamic-home .shell { width:min(1240px, calc(100% - 96px)); }
.dynamic-home .site-header { background:rgb(17 20 15 / 88%); border-bottom-color:#343c2d99; }
.dynamic-home .nav-row { height:88px; }
.dynamic-home .brand-logo { width:176px; }
.dynamic-home .site-header nav { gap:30px; }
.dynamic-home .site-header nav>a[aria-current="location"] { color:var(--gold); }
.dynamic-home .button { border-radius:100px; padding-inline:24px; }
.dynamic-home .button.small { padding-inline:20px; }
.dynamic-home h2 { font-size:clamp(36px,4.1vw,56px); }
.dynamic-home .hero { gap:56px; padding-block:80px 76px; grid-template-columns:1.05fr 1fr; }
.dynamic-home .hero h1 { font-size:clamp(50px,5.1vw,76px); font-weight:500; line-height:1.035; letter-spacing:-.055em; text-wrap:initial; }
.dynamic-home .hero h1 em { font-family:Georgia,"Times New Roman",serif; font-style:italic; font-weight:400; letter-spacing:-.055em; }
.dynamic-home .hero .eyebrow { font-size:10px; letter-spacing:.13em; margin-bottom:25px; }
.dynamic-home .hero .lede { font-size:16px; max-width:450px; line-height:1.8; margin-top:26px; }
.dynamic-home .actions { gap:24px; margin-top:30px; }
.dynamic-home .actions .button { gap:15px; }
.play-symbol { font-size:10px; }
.dynamic-home .trust-line { font-size:11px; margin-top:24px; }
.flow-scene { position:relative; border:1px solid #3c4533; border-radius:26px; background:radial-gradient(ellipse at 48% 42%,#424a2c55,transparent 65%),#171c14; box-shadow:0 35px 75px -45px #000c,inset 0 1px 0 #ffffff06; overflow:hidden; }
.scene-topline { padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:8px; letter-spacing:.1em; color:#b8c0ac; border-bottom:1px solid #353d2e; }
.scene-topline>span:first-child { display:flex; align-items:center; gap:9px; }
.scene-topline i { width:5px; height:5px; border-radius:50%; background:var(--gold); }
.scene-topline>span:last-child { color:var(--gold); font-size:8px; }
.scene-map { position:relative; height:410px; background-image:radial-gradient(#b5baaa22 1px,transparent 1px); background-size:19px 19px; }
.scene-lines { width:100%; height:100%; position:absolute; inset:0; }
.line-base { stroke:#717d5066; stroke-width:1.5; }
.line-travel { stroke:#d5b875; stroke-width:2; stroke-dasharray:25 430; stroke-dashoffset:455; animation:route-travel 3.2s ease-in-out 1s 1 both; }
.scene-card { position:absolute; display:flex; gap:14px; align-items:center; padding:20px; background:#272e21; border:1px solid #536143; border-radius:14px; box-shadow:0 14px 30px #0003; }
.scene-card small { display:block; color:#c6b57c; font-size:8px; letter-spacing:.09em; margin-bottom:6px; }
.scene-card strong { display:block; font-size:13px; font-weight:500; line-height:1.5; }
.scene-card div>span { display:block; font-size:10px; margin-top:5px; color:#aeb8a3; }
.scene-icon { color:#dfc98f; border:1px solid #566046; background:#353e2c; height:36px; width:36px; border-radius:10px; display:grid; place-items:center; flex-shrink:0; }
.scene-inbox { top:34px; left:25px; right:90px; transform:rotate(-3deg); animation:card-arrive .9s cubic-bezier(.22,1,.36,1) .25s both; }
.engine-node { position:absolute; top:176px; left:18%; right:16%; min-height:75px; padding:15px 18px; border-radius:16px; background:#dfc78c; color:#1c2416; display:flex; align-items:center; gap:14px; box-shadow:0 0 50px #d5b87516,0 12px 30px #0003; }
.engine-mark { font-size:25px; font-weight:700; letter-spacing:-.1em; position:relative; padding-right:10px; }
.engine-mark>span { position:absolute; font-size:12px; top:0; right:0; }
.engine-node strong { display:block; font-weight:600; font-size:15px; line-height:1.4; }
.engine-node div>span { display:block; font-size:10px; margin-top:3px; }
.engine-spark { font-size:24px; margin-left:auto; }
.scene-booking { bottom:22px; right:22px; left:104px; transform:rotate(2deg); background:#2d3825; animation:card-arrive .9s cubic-bezier(.22,1,.36,1) .6s both; }
.scene-annotation { position:absolute; top:283px; left:30px; font-size:9px; color:#b5bda8; line-height:1.8; width:150px; }
.scene-annotation>span:first-child { color:var(--gold); padding-right:6px; }
.annotation-indent { padding-left:17px; }
.scene-caption { position:absolute; right:26px; top:146px; color:#a5ad98; font-size:8px; letter-spacing:.08em; }
.scene-bottom { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 24px; border-top:1px solid #353d2e; font-size:11px; color:#c9cebd; transition:background .25s; }
.scene-bottom:hover { background:#272f21; }
.circle-arrow { display:grid; place-items:center; width:26px; height:26px; border:1px solid #596446; border-radius:50%; color:var(--gold); }
@keyframes route-travel { from { stroke-dashoffset:455; } to { stroke-dashoffset:-40; } }
@keyframes card-arrive { from { opacity:0; translate:0 16px; } to { opacity:1; translate:0 0; } }
.dynamic-home .audience-band { border-bottom:0; }
.dynamic-home .audience-band>.shell { padding-block:25px 34px; }
.dynamic-home .audience-band p { font-size:12px; max-width:250px; }
.dynamic-home .audience-band .shell>div { gap:28px; }
.dynamic-home .audience-band span { font-size:13px; }
.dynamic-home .audience-band span::before { content:"✧"; color:#9d9c72; margin-right:12px; }

/* The working example is the centrepiece, with an app-like conversation and lead record. */
.journey-section { color-scheme:light; background:#eceee4; color:#20291c; padding:90px 0 38px; border-radius:38px 38px 0 0; --gold:#80642d; --muted:#57624f; --line:#cfd5c6; }
.journey-section .eyebrow { color:#68724c; }
.journey-section .split-heading { margin-bottom:38px; }
.journey-section .split-heading>p { max-width:370px; font-size:14px; }
.journey-section h2 em { color:#6e7a50; }
.demo-disclaimer { display:block; font-size:11px; margin-top:10px; color:#626e59; }
.journey-app { background:#fafbf7; border:1px solid #c9cfbf; border-radius:20px; box-shadow:0 18px 48px -25px #26321d30; overflow:hidden; }
.journey-toolbar { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:23px 30px; border-bottom:1px solid #dce1d3; }
.journey-brand { display:flex; gap:12px; align-items:center; }
.mini-mark { width:37px; height:37px; display:grid; place-items:center; background:#25311e; color:#e0c68b; border-radius:10px; font-size:15px; font-weight:600; letter-spacing:-.09em; }
.journey-brand strong { display:block; font-size:14px; font-weight:600; }
.journey-brand div>span { display:block; font-size:8px; letter-spacing:.13em; color:#6a735e; margin-top:2px; }
.trade-picker { display:flex; gap:4px; padding:4px; border:1px solid #d6ddce; background:#eff2e9; border-radius:100px; }
.trade-picker button { border:0; background:transparent; color:#5c6652; border-radius:100px; padding:9px 17px; min-height:38px; font-size:12px; transition:background .25s,color .25s,box-shadow .25s; }
.trade-picker button[aria-pressed="true"] { background:#29351f; color:#fff; box-shadow:0 2px 5px #0001; }
.trade-picker button:hover:not([aria-pressed="true"]) { background:#e0e6d7; color:#26321d; }
.journey-steps { list-style:none; display:grid; grid-template-columns:repeat(6,1fr); margin:0; padding:0 30px; gap:20px; border-bottom:1px solid #dce1d3; }
.journey-steps li { display:flex; gap:8px; padding:19px 0 16px; font-size:11px; color:#69755d; border-bottom:2px solid transparent; transition:color .3s,border-color .3s; }
.journey-steps li>span { color:#7b856e; font-size:10px; }
.journey-steps li[aria-current] { color:#27351b; font-weight:600; border-color:#617845; }
.journey-steps li.complete>span { color:#47662c; }
.journey-steps li.complete { color:#4f6740; border-color:#bdc9af; }
.journey-columns { display:grid; grid-template-columns:1.05fr 1fr; min-height:450px; }
.mobile-view-switch { display:none; }
.conversation { border-right:1px solid #dce1d3; min-width:0; display:flex; flex-direction:column; }
.pane-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:9px; letter-spacing:.09em; font-weight:600; color:#606d53; min-height:54px; }
.conversation .pane-heading { padding:15px 30px; }
.channel-label { color:#6e7762; font-size:10px; letter-spacing:0; font-weight:400; }
.conversation-person { display:flex; align-items:center; gap:11px; padding:0 30px 17px; border-bottom:1px solid #e4e8dd; }
.person-avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#e5e4d5; color:#5b634a; font-size:10px; flex-shrink:0; }
.conversation-person strong { display:block; font-size:12px; }
.conversation-person div>span { display:block; font-size:10px; color:#6a755e; }
.sample-chip { background:#eff2e9; border:1px solid #d8dfce; color:#637254; padding:3px 7px; border-radius:5px; font-size:9px; letter-spacing:0; font-weight:400; white-space:nowrap; }
.conversation-person .sample-chip { margin-left:auto; }
.chat-messages { height:286px; padding:22px 30px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c5cfb8 transparent; display:flex; flex-direction:column; gap:15px; }
.chat-message { width:87%; flex-shrink:0; }
.chat-message>span { display:block; font-size:9px; margin:0 5px 5px; color:#6d775f; }
.chat-message p { font-size:12px; line-height:1.7; color:#34402a; padding:13px 16px; border-radius:2px 12px 12px 12px; background:#e9ede2; }
.chat-message.from-engine { align-self:flex-end; }
.chat-message.from-engine>span { text-align:right; }
.chat-message.from-engine p { background:#334529; color:#f3f6eb; border-radius:12px 2px 12px 12px; }
.chat-message.new-message { animation:message-in .45s cubic-bezier(.22,1,.36,1) both; }
.chat-hint { font-size:12px; color:#727e64; padding:22px 18px; text-align:center; line-height:1.8; max-width:270px; margin:auto; }
.chat-event { margin:0 auto; padding:5px 12px; border-radius:100px; font-size:10px; color:#526744; background:#eff2e8; flex-shrink:0; }
.conversation-footer { margin-top:auto; padding:13px 30px; background:#f2f5ed; font-size:10px; color:#68765a; border-top:1px solid #e2e7d9; }
.conversation-footer>span { margin-right:7px; }
.team-view { padding:0 30px 22px; min-width:0; }
.lead-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:8px 0 20px; }
.lead-heading .eyebrow { font-size:8px; margin-bottom:5px; }
.lead-heading h3 { font-size:24px; line-height:1.2; }
.lead-status { font-size:9px; padding:5px 9px; border-radius:100px; background:#eee9db; color:#73602f; text-align:center; white-space:nowrap; }
.lead-details { margin:0 0 22px; padding:0; }
.lead-details>div { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid #e1e6d8; font-size:11px; }
.lead-details dt { color:#6e7963; }
.lead-details dd { margin:0; color:#33442a; text-align:right; font-weight:500; }
.journey-insight { border:1px solid #dce3d1; border-radius:10px; padding:15px; display:flex; gap:12px; background:#f1f5eb; }
.insight-icon { flex-shrink:0; color:#6e804a; font-size:18px; }
.journey-insight strong { font-size:11px; display:block; }
.journey-insight p { font-size:11px; line-height:1.7; margin-top:4px; color:#637255; }
.approval-box { padding:16px; border:1px solid #c9b67d; background:#f9f3df; border-radius:10px; }
.approval-box>strong { font-size:12px; }
.approval-box p { font-size:11px; color:#746334; line-height:1.7; margin:5px 0 12px; }
.approval-box .button { min-height:42px; padding:10px 16px; width:100%; background:#3b4e2c; color:#fff; border-color:#3b4e2c; font-size:11px; }
.sample-appointment { padding:17px; display:flex; gap:14px; align-items:center; background:#e5eddc; border:1px solid #bacbaa; border-radius:10px; }
.calendar-symbol { color:#687e4e; text-align:center; font-size:8px; padding:8px 10px; background:#f8fbf4; border-radius:7px; line-height:1.4; flex-shrink:0; }
.calendar-symbol strong { display:block; font-size:14px; color:#3c542c; margin-top:5px; }
.sample-appointment div>strong { font-size:12px; }
.sample-appointment p { font-size:11px; margin-top:3px; color:#546c40; }
.sample-appointment div>span { display:block; font-size:9px; color:#657958; margin-top:5px; }
.journey-app[data-step="5"] .lead-status { background:#e4ecd8; color:#44642c; }
.journey-player { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 30px; background:#f1f4eb; border-top:1px solid #d7dfcb; }
.player-actions { display:flex; gap:10px; align-items:center; }
.journey-player .button { min-height:44px; padding:11px 18px; background:#26351d; color:#fff; border-color:#26351d; gap:12px; font-size:12px; min-width:154px; justify-content:center; }
.journey-player .button:hover { background:#435c31; }
.journey-player .button:disabled { cursor:default; }
.player-secondary,.player-reset { border:1px solid #cdd8c0; background:transparent; color:#45583a; border-radius:100px; min-height:44px; font-size:11px; padding:10px 15px; transition:background .2s; }
.player-secondary>span { margin-left:10px; }
.player-reset { width:44px; padding:0; font-size:20px; }
.player-secondary:hover,.player-reset:hover { background:#e4ebdb; }
.player-secondary:disabled { opacity:.5; cursor:default; }
#journey-announcement { color:#627353; font-size:11px; text-align:right; max-width:300px; }
.journey-footnote { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:25px; }
.journey-footnote p { font-size:11px; color:#647155; }
.journey-footnote p>span { margin-right:8px; color:#819165; }
.journey-footnote a { font-size:12px; color:#34462a; white-space:nowrap; padding:12px 0; }
.journey-footnote a>span { margin-left:12px; }
.journey-section :focus-visible { outline-color:#617b3f; }
@keyframes message-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

/* A clearer reading rhythm: practical process, opportunity, proof, invitation. */
.dynamic-home .process-section { background:#eceee4; padding-top:48px; padding-bottom:90px; border-top:1px solid #d6ddcd; --muted:#59654e; --gold:#716135; }
.dynamic-home .process-section .section-heading { display:grid; max-width:none; grid-template-columns:1fr 1fr; gap:0 70px; }
.dynamic-home .process-section .section-heading>.eyebrow { grid-column:1/-1; }
.dynamic-home .process-section .section-heading>p:last-child { align-self:center; margin-top:0; max-width:430px; }
.dynamic-home .process-section h2 { font-size:42px; }
.dynamic-home .steps { margin-top:42px; gap:24px; }
.dynamic-home .steps li { position:relative; border-top:0; background:#e1e7d8; padding:24px; border-radius:14px; }
.dynamic-home .steps h3 { font-size:19px; line-height:1.2; }
.dynamic-home .step-number { color:#738555; margin-bottom:25px; }
.dynamic-home .section { padding-block:90px; }
.dynamic-home .section:has(.problem-grid) { display:grid; grid-template-columns:.9fr 1.3fr; gap:70px; }
.dynamic-home .section:has(.problem-grid) h2 { font-size:43px; }
.dynamic-home .problem-grid { display:block; margin:0; }
.dynamic-home .problem-grid article { display:grid; grid-template-columns:38px 1fr; gap:6px 14px; padding:22px 0; }
.dynamic-home .problem-grid article:first-child { border:0; padding-top:0; }
.dynamic-home .problem-grid .number { grid-row:span 2; margin:4px 0 0; }
.dynamic-home .problem-grid h3 { font-size:19px; line-height:1.3; }
.dynamic-home .problem-grid p { margin:0; max-width:440px; font-size:12px; }
.dynamic-home .calculator-section { background:radial-gradient(ellipse at 10% 50%,#36432b55,transparent 65%),#1a2116; }
.dynamic-home .calculator { padding:30px; background:#242d1e; border:1px solid #404d34; border-radius:20px; }
.dynamic-home input,.dynamic-home select,.dynamic-home textarea { border-radius:8px; transition:border-color .2s,background .2s; }
.dynamic-home input:hover,.dynamic-home textarea:hover,.dynamic-home select:hover { border-color:#8b9b70; }
.dynamic-home .price-card { background:linear-gradient(135deg,#2c3822,#1d2518); padding:38px; border-radius:22px; }
.dynamic-home .price { font-size:60px; }
.dynamic-home .booking-card { border-radius:22px; padding:34px; }
.dynamic-home .about-section { background:#e3e8d7; }
.dynamic-home .faq-list summary { display:flex; justify-content:space-between; gap:20px; list-style:none; }
.dynamic-home .faq-list summary::-webkit-details-marker { display:none; }
.dynamic-home .faq-list summary::after { content:"+"; color:var(--gold); font-size:19px; flex-shrink:0; }
.dynamic-home .faq-list details[open] summary::after { content:"−"; }
.dynamic-home .scope-note { font-size:11px; line-height:1.8; }
.no-js-demo { font-size:13px; margin-top:24px; }

@media (min-width:1500px) { .dynamic-home .hero { padding-block:100px; } }
@media (max-width:1100px) {
 .dynamic-home .shell { width:calc(100% - 64px); }
 .dynamic-home .hero { gap:30px; }
 .dynamic-home .site-header nav { gap:18px; }
 .dynamic-home .hero h1 { font-size:60px; }
 .dynamic-home .hero .eyebrow { font-size:8px; }
 .dynamic-home .actions { gap:14px; }
 .dynamic-home .actions .button { padding-inline:18px; font-size:12px; }
 .flow-scene { border-radius:20px; }
 .scene-topline { padding:18px; font-size:7px; }
 .scene-inbox { left:18px; right:35px; }
 .scene-card { padding:15px; gap:10px; }
 .scene-card strong { font-size:12px; }
 .scene-booking { left:55px; }
 .scene-annotation { left:20px; top:270px; }
 .engine-node { left:12%; right:12%; }
 .scene-caption { right:18px; }
 .journey-columns { grid-template-columns:1fr 1fr; }
 .journey-toolbar,.journey-player { padding-inline:22px; }
 .conversation .pane-heading,.conversation-person,.chat-messages,.conversation-footer { padding-inline:22px; }
 .team-view { padding-inline:22px; }
 .journey-steps { padding-inline:22px; gap:10px; }
 .lead-heading { flex-wrap:wrap; }
 .lead-heading h3 { font-size:22px; }
 .journey-player { gap:12px; }
 #journey-announcement { max-width:230px; font-size:10px; }
 .dynamic-home .section:has(.problem-grid) { gap:40px; }
 .dynamic-home .steps li { padding:20px; }
 .dynamic-home .steps h3 { font-size:17px; }
 .dynamic-home .calculator-layout { gap:45px; }
}
@media (max-width:800px) and (min-width:761px) {
 .dynamic-home .site-header nav { gap:12px; }
 .dynamic-home .brand-logo { width:145px; }
 .dynamic-home .button.small { padding-inline:13px; }
}
@media (max-width:900px) {
 .dynamic-home .hero { grid-template-columns:1fr 1fr; gap:24px; }
 .dynamic-home .hero h1 { font-size:51px; }
 .dynamic-home .hero .lede { font-size:14px; }
 .dynamic-home .hero .eyebrow { letter-spacing:.06em; }
 .scene-card strong { font-size:11px; }
 .scene-card div>span { font-size:9px; }
 .scene-icon { width:28px; height:28px; }
 .scene-inbox { left:14px; right:24px; }
 .scene-booking { left:34px; right:14px; }
 .engine-node { padding:14px; left:10%; right:10%; }
 .scene-topline>span:first-child { max-width:160px; }
 .dynamic-home .audience-band .shell>div { gap:14px; }
 .dynamic-home .audience-band span { font-size:11px; }
 .dynamic-home .audience-band span::before { margin-right:7px; }
}
@media (max-width:760px) {
 .dynamic-home .shell { width:calc(100% - 40px); }
 .dynamic-home .nav-row { height:72px; }
 .dynamic-home .brand-logo { width:164px; }
 .dynamic-home .site-header nav { gap:0; }
 .dynamic-home .menu-toggle { border-radius:100px; }
 .dynamic-home .hero { grid-template-columns:1fr; padding-block:48px; gap:38px; }
 .dynamic-home .hero-copy { max-width:580px; }
 .dynamic-home .hero h1 { font-size:clamp(48px,9vw,68px); }
 .dynamic-home .hero .eyebrow { font-size:8px; letter-spacing:.08em; margin-bottom:22px; }
 .dynamic-home .hero .lede { font-size:14px; max-width:460px; margin-top:22px; }
 .dynamic-home .actions { gap:12px 19px; margin-top:24px; }
 .dynamic-home .actions .button { font-size:12px; padding-inline:19px; }
 .dynamic-home .actions .text-link { font-size:12px; gap:9px; }
 .dynamic-home .trust-line { font-size:10px; margin-top:18px; }
 .flow-scene { max-width:540px; width:100%; margin-inline:auto; }
 .scene-map { height:350px; }
 .scene-topline { font-size:8px; padding:17px 20px; }
 .scene-topline>span:first-child { max-width:none; }
 .scene-inbox { top:26px; left:22px; right:65px; }
 .scene-card { padding:17px; }
 .scene-card strong { font-size:12px; }
 .scene-card div>span { font-size:10px; }
 .scene-booking { left:75px; right:18px; bottom:18px; }
 .engine-node { top:144px; left:18%; right:14%; }
 .engine-node strong { font-size:14px; }
 .scene-annotation { left:24px; top:234px; font-size:8px; }
 .scene-caption { top:117px; font-size:7px; right:24px; }
 .scene-bottom { font-size:10px; padding:15px 20px; }
 .dynamic-home .audience-band>.shell { padding-block:22px 30px; gap:16px; }
 .dynamic-home .audience-band p { max-width:none; }
 .dynamic-home .audience-band .shell>div { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:10px 20px; }
 .dynamic-home .audience-band span { font-size:12px; }
 .journey-section { padding:58px 0 24px; border-radius:26px 26px 0 0; }
 .journey-section .split-heading { margin-bottom:27px; }
 .dynamic-home h2 { font-size:38px; }
 .journey-section .split-heading>p { font-size:13px; margin-top:18px; }
 .journey-toolbar { flex-direction:column; align-items:stretch; padding:20px; gap:18px; }
 .trade-picker { width:100%; justify-content:space-between; }
 .trade-picker button { flex:1; padding-inline:10px; min-height:40px; }
 .journey-steps { grid-template-columns:repeat(3,1fr); gap:0 14px; padding:8px 20px; }
 .journey-steps li { padding:9px 0 7px; font-size:10px; gap:6px; }
 .journey-columns { grid-template-columns:1fr; }
 .journey-app[data-view="conversation"] .team-view { display:none; }
 .journey-app[data-view="team"] .conversation { display:none; }
 .journey-columns { min-height:390px; }
 .mobile-view-switch { display:flex; gap:8px; padding:10px 20px; border-bottom:1px solid #dce1d3; background:#f5f7ef; }
 .mobile-view-switch button { flex:1; border:0; border-radius:7px; background:transparent; color:#66765a; min-height:38px; padding:8px; font-size:10px; }
 .mobile-view-switch button[aria-pressed="true"] { background:#e2e9d9; color:#354b25; font-weight:600; }
 .conversation { border-right:0; border-bottom:1px solid #d8dfce; }
 .conversation .pane-heading,.conversation-person,.chat-messages,.conversation-footer { padding-inline:20px; }
 .chat-messages { height:220px; }
 .chat-message { width:88%; }
 .chat-message p { font-size:12px; }
 .team-view { padding:0 20px 20px; }
 .lead-heading { margin:0 0 15px; }
 .lead-heading h3 { font-size:23px; }
 .lead-details { margin-bottom:17px; }
 .lead-details>div { padding:8px 0; }
 .journey-insight { padding:13px; }
 .journey-player { padding:18px 16px; flex-direction:column; gap:13px; align-items:stretch; }
 .player-actions { gap:8px; justify-content:space-between; }
 .journey-player .button { min-width:0; flex:1; padding:11px 12px; font-size:11px; gap:8px; }
 .player-secondary { padding-inline:12px; font-size:10px; }
 .player-secondary>span { margin-left:5px; }
 .player-reset { width:42px; flex-shrink:0; }
 #journey-announcement { text-align:center; max-width:none; font-size:10px; }
 .journey-footnote { align-items:start; flex-direction:column; gap:5px; padding-top:18px; }
 .journey-footnote p { font-size:11px; }
 .journey-footnote a { font-size:12px; }
 .dynamic-home .section { padding-block:58px; }
 .dynamic-home .process-section { padding-top:38px; }
 .dynamic-home .process-section .section-heading { display:block; }
 .dynamic-home .process-section .section-heading>p:last-child { margin-top:20px; }
 .dynamic-home .process-section h2 { font-size:36px; }
 .dynamic-home .steps { gap:14px; margin-top:30px; }
 .dynamic-home .steps li { padding:19px 16px; }
 .dynamic-home .steps h3 { font-size:18px; }
 .dynamic-home .steps p { font-size:11px; }
 .dynamic-home .step-number { margin-bottom:18px; }
 .dynamic-home .section:has(.problem-grid) { display:block; }
 .dynamic-home .section:has(.problem-grid) h2 { font-size:36px; }
 .dynamic-home .problem-grid { margin-top:30px; }
 .dynamic-home .problem-grid article { padding-block:18px; }
 .dynamic-home .calculator { padding:24px; border-radius:17px; }
 .dynamic-home .calculator-layout { gap:30px; }
 .dynamic-home .price-card,.dynamic-home .booking-card { padding:25px; border-radius:18px; }
 .dynamic-home .price { font-size:54px; }
 .dynamic-home .site-footer { padding-bottom:105px; }
 .dynamic-home .mobile-cta { bottom:max(14px,env(safe-area-inset-bottom)); }
 .dynamic-home .mobile-cta.at-demo { display:none; }
}
@media (max-width:374px) {
 .dynamic-home .shell { width:calc(100% - 32px); }
 .dynamic-home .hero h1 { font-size:45px; }
 .dynamic-home .hero .eyebrow { font-size:7px; }
 .dynamic-home .hero .actions { gap:4px 15px; }
 .scene-card { padding:13px; gap:8px; }
 .scene-inbox { left:14px; right:25px; }
 .scene-booking { left:32px; right:14px; }
 .scene-card strong { font-size:11px; }
 .scene-card div>span { font-size:9px; }
 .scene-topline { font-size:7px; padding-inline:14px; }
 .scene-annotation { left:17px; top:228px; }
 .scene-caption { right:18px; }
 .engine-node { left:10%; right:10%; }
 .trade-picker button { padding-inline:7px; font-size:11px; }
 .journey-toolbar,.team-view { padding-inline:16px; }
 .journey-player { padding-inline:12px; }
 .player-secondary { padding-inline:10px; }
 .player-secondary>span { display:none; }
 .dynamic-home .steps { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
 .dynamic-home *, .dynamic-home *::before, .dynamic-home *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .line-travel { stroke-dasharray:none; opacity:.55; }
}
