
:root{--surface:#F6F7FB;--surface-raised:#FFFFFF;--surface-sunken:#ECEEF5;--line:#D9DEEA;--line-strong:#7F88A8;--ink:#14213D;--ink-muted:#4A5374;--blue:#1F3BE0;--blue-soft:#E7EBFD;--on-blue:#FFFFFF;--orange:#FF5A2A;--on-orange:#14213D;--orange-ink:#B83A12;--orange-soft:#FFE9E0;--success:#1C7A4A;--danger:#C21F3A;--focus-ring:var(--blue);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-bowl:999px;--shadow-md:0 1px 2px rgba(20,33,61,.06),0 6px 16px rgba(20,33,61,.08);--font-sans:"Joe Site Seed","LINE Seed TW","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:26px;background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:var(--blue);text-decoration:none}button{cursor:pointer}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h2{font-size:28px;line-height:38px;font-weight:700}h3{font-size:22px;line-height:32px;font-weight:700}p{color:var(--ink-muted)}.wrap{max-width:1168px;margin-inline:auto;padding-inline:24px}.section{padding-block:64px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}.section-head p{max-width:420px}.eyebrow{font-size:12px;line-height:16px;letter-spacing:.06em;font-weight:700;color:var(--blue);margin-bottom:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 24px;border:1.5px solid transparent;border-radius:10px;background:var(--blue);color:var(--on-blue);font-weight:700;text-align:center;line-height:24px}.button:hover{filter:brightness(1.08)}.button.secondary{background:var(--surface-raised);color:var(--blue);border-color:var(--blue)}.button.accent{background:var(--orange);color:var(--on-orange)}.button.big{min-height:52px}.actions{display:flex;flex-wrap:wrap;gap:12px}.skip{position:absolute;left:16px;top:-100px;z-index:30;background:white;padding:8px}.skip:focus{top:8px}.header{position:sticky;top:0;background:var(--surface-raised);border-bottom:1px solid var(--line);z-index:10}.header-inner{min-height:84px;display:flex;align-items:center;gap:24px}.brand{padding:9px;flex-shrink:0}.brand img{height:34px;width:auto}.nav{margin-left:auto;display:flex;gap:24px}.nav a{font-weight:700;color:var(--ink)}.nav a:hover{color:var(--blue)}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center;padding-block:80px}.hero h1{font-size:48px;line-height:56px;font-weight:800;letter-spacing:-.01em;margin-bottom:24px}.hero .intro{font-size:17px;line-height:30px;max-width:520px;margin-bottom:32px}.hero .tagline{color:var(--ink);font-weight:700;margin-bottom:12px}.hero-visual{background:var(--blue-soft);border-radius:24px;padding:32px}.handoff{display:flex;flex-direction:column;gap:8px;max-width:420px;margin-inline:auto}.handoff-top{display:grid;grid-template-columns:minmax(84px,30%) 1fr;gap:8px;align-items:end}.handoff-tag{background:var(--blue);color:var(--on-blue);border-radius:6px;padding:8px 12px;font-size:13px;font-weight:700;line-height:20px}.handoff-problem{background:var(--blue);color:var(--on-blue);border-radius:6px;padding:16px;font-size:22px;font-weight:800;line-height:32px;min-height:112px}.handoff-bowl{background:var(--orange);color:var(--on-orange);border-radius:6px 6px 999px 999px;padding:16px 32px 48px;text-align:center}.handoff-bowl strong{font-size:17px;line-height:28px;display:block}.handoff-by{font-size:12px;font-weight:700;line-height:16px;letter-spacing:.06em;display:block;margin-bottom:8px}.hero-note{color:var(--ink-muted);text-align:center;font-size:13px;line-height:20px;margin-top:24px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.strip-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.strip strong{font-size:18px;line-height:28px}.strip p{font-size:15px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.problem-grid .handoff-problem{font-size:18px;line-height:28px;min-height:100px}.problem-grid .handoff-bowl{background:var(--blue-soft);color:var(--ink);padding:16px 24px 32px}.problem-grid .handoff-bowl strong{font-size:15px;line-height:26px}.card{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);min-width:0}.service-card{display:flex;flex-direction:column;gap:12px}.service-card:hover{box-shadow:var(--shadow-md)}.service-head{display:flex;align-items:flex-start;justify-content:space-between}.service-head img{width:48px;height:56px;object-fit:contain}.service-no{font-size:12px;line-height:16px;font-weight:700;color:var(--ink-muted);letter-spacing:.06em}.service-card h3{margin-top:4px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px;padding:0;list-style:none}.tags li{padding:4px 8px;border-radius:4px;background:var(--blue-soft);color:var(--blue);font-size:12px;line-height:16px;font-weight:700}.service-card button{margin-top:auto;align-self:flex-start;padding:4px 0;border:none;background:transparent;color:var(--blue);font-weight:700;min-height:44px;text-align:left}.service-note{background:var(--blue-soft);border-color:transparent;display:flex;flex-direction:column;justify-content:center;gap:16px}.service-note img{width:40px;height:auto}.audience{background:var(--surface-sunken)}.audience .card{border:0}.audience h3{margin-bottom:12px}.coop{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.modes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode strong{font-size:18px;line-height:28px;display:block;margin-bottom:8px}.steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:24px}.step{display:grid;grid-template-columns:36px 1fr;gap:12px}.step-no{width:36px;height:36px;border-radius:6px;background:var(--blue);color:white;font-weight:800;display:flex;align-items:center;justify-content:center}.step:last-child .step-no{background:var(--blue-soft);color:var(--blue);border-radius:6px 6px 999px 999px}.step strong{font-size:18px;line-height:28px;display:block;margin-bottom:4px}.case-label{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.06em;margin-bottom:16px}.case h3{margin-bottom:12px}.case p{margin-bottom:16px}.case small{font-size:13px;line-height:20px;color:var(--ink-muted)}details{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}summary{cursor:pointer;font-weight:700;line-height:26px}details p{padding-top:12px}.intake{background:var(--blue-soft);border-radius:24px;padding:48px;margin-block:32px}.intake-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:48px;align-items:start}.intake h2{margin-bottom:16px}.notice{border:1px solid var(--line-strong);border-radius:10px;padding:16px;margin-top:24px;background:var(--surface-raised);font-size:13px;line-height:20px;color:var(--ink-muted)}.line-pending{margin-top:24px}.line-pending .button{width:100%;border-radius:6px 6px 999px 999px;min-height:72px;padding-bottom:20px;opacity:1}.line-pending p{font-size:13px;line-height:20px;margin-top:12px}.form-shell{background:var(--surface-raised);border:1px solid var(--line);border-radius:16px;padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full,.form-actions{grid-column:1/-1}.field label{font-size:14px;line-height:24px;font-weight:700}.field label span{font-size:12px;line-height:16px;color:var(--orange-ink);margin-left:8px}.field input,.field select,.field textarea,.result textarea{font:inherit;font-size:15px;min-height:44px;padding:10px 12px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--surface-raised);color:var(--ink);width:100%;min-width:0}.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted)}.field textarea{min-height:120px;resize:vertical;line-height:26px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}.form-actions{margin-top:8px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.form-actions p{font-size:13px;line-height:20px}.result{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.result h3{font-size:18px;line-height:28px;margin-bottom:16px}.result textarea{min-height:300px;resize:vertical;line-height:26px;margin-bottom:16px}.result .status{font-size:13px;line-height:20px;margin-top:12px;color:var(--success)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}.faq details:first-child{margin-top:0}.footer{border-top:1px solid var(--line);padding-block:40px}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}.wordmark{height:28px;width:auto;margin-bottom:16px}.footer nav{display:flex;flex-direction:column;gap:8px}.footer p{font-size:13px;line-height:20px}.footer strong{display:block;margin-bottom:12px}.footer-bottom{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;line-height:20px;color:var(--ink-muted)}[hidden]{display:none!important}
@media(max-width:1023px){.hero{gap:32px}.hero h1{font-size:40px;line-height:48px}.nav{gap:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-grid .handoff:last-child{grid-column:1/-1;max-width:none;width:100%}.coop,.intake-layout{gap:32px}.intake{padding:32px}.header-inner{gap:12px}.nav a:nth-child(2){display:none}}
@media(max-width:767px){.wrap{padding-inline:16px}.section{padding-block:48px}.section-head{display:block;margin-bottom:24px}.section-head p{margin-top:16px}.header-inner{min-height:76px;gap:12px}.brand{padding:8px}.brand img{height:28px}.header .button{padding:8px 12px;font-size:13px;min-height:44px;margin-left:auto}.nav{display:none}.hero{grid-template-columns:1fr;gap:32px;padding-block:48px}.hero h1{font-size:36px;line-height:44px}.hero .intro{margin-bottom:24px}.hero-visual{padding:24px}.strip-inner{display:block}.strip p{margin-top:8px}.grid{grid-template-columns:1fr;gap:24px}.problem-grid .handoff:last-child{grid-column:auto;max-width:420px}.problem-grid .handoff{width:100%;max-width:none}.card{padding:16px}.coop,.intake-layout,.faq{grid-template-columns:1fr;gap:32px}.modes{gap:12px}.intake{padding:24px 16px;margin-block:16px;border-radius:24px}.form-shell{padding:16px}.form-grid{grid-template-columns:1fr}.field,.field.full,.form-actions{grid-column:1}.form-actions .button{width:100%}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer{padding-block:32px}.faq details{padding-block:16px;margin-top:0}.wordmark{height:28px}.result .actions{flex-direction:column}.handoff-problem{min-height:112px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* v3: calm fields, plus disclosures, reliable contact form */
.field input::placeholder,.field textarea::placeholder{color:#7F88A8;opacity:1}
summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
summary::-webkit-details-marker{display:none}summary::marker{content:""}
summary::after{content:"+";color:var(--blue);font:400 26px/1 var(--font-sans);flex-shrink:0}
details[open]>summary::after{content:"−"}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent input{width:18px;min-height:18px;height:18px;vertical-align:middle;margin:0 8px 0 0;accent-color:var(--blue)}
.consent label{font-size:15px;line-height:26px;font-weight:400}.consent a{white-space:nowrap}
.result.error,.status.error{color:var(--danger)}button:disabled{opacity:.65}.privacy p{padding-top:16px}
.mode strong{font-size:17px}.section{scroll-margin-top:84px}

/* v4: consistent disclosure controls and clearer case hierarchy */
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%234A5374' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:20px}
summary{position:relative;display:flex;list-style:none;padding-right:0;min-height:32px}
summary::before{content:none!important}summary::marker{content:""}summary::-webkit-details-marker{display:none}
summary::after{content:"+";width:28px;height:28px;display:grid;place-items:center;color:var(--blue);font:400 26px/1 var(--font-sans)}
details[open]>summary::after{content:"−"}
.case-list{display:grid;gap:24px}.case-top{display:grid;grid-template-columns:1.05fr 1.2fr 1.1fr;gap:40px;align-items:start}
.case-label{margin-bottom:8px}.case h3{margin-bottom:0}.case-caption{display:block;font-size:12px;line-height:16px;font-weight:700;color:var(--ink-muted);margin-bottom:12px}.case p{margin:0}.case details{margin-top:24px;padding-top:16px}.case details p{margin-top:16px;max-width:760px}.faq details{padding-block:20px}.faq details p{padding-top:12px;max-width:620px}
@media(max-width:800px){.case-top{grid-template-columns:1fr 1fr;gap:24px}.case-title{grid-column:1/-1}}
@media(max-width:520px){.case-top{grid-template-columns:1fr;gap:20px}.case-title{grid-column:auto}.case-caption{margin-bottom:8px}}
@media(forced-colors:active){.field select{appearance:auto;background-image:none}}

/* Measurement preferences use the existing surfaces, buttons and spacing. */
#line-gift .actions{margin-top:24px}#measurement-choice{position:fixed;z-index:20;bottom:16px;left:16px;right:16px;max-width:720px;margin-inline:auto;box-shadow:var(--shadow-md)}#measurement-choice p{margin-block:12px}#measurement-choice .actions{gap:12px}@media(max-width:767px){#measurement-choice h3{font-size:18px;line-height:28px}#measurement-choice p{font-size:13px;line-height:20px}}

/* Brand film: one source per viewport, with the original framing. */
.hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:40px}
.hero-video{min-width:0;scroll-margin-top:16px}
.hero-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#F3F8FC;border:1px solid var(--line);border-radius:16px}
.hero-video .hero-note{margin-top:12px}
@media(max-width:1023px){.hero{gap:24px}}
@media(max-width:767px){.hero{grid-template-columns:1fr;gap:32px}.hero-video{width:100%;max-width:360px;margin-inline:auto}.hero-video video{aspect-ratio:9/16}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v6: integrated film, concise consultation and footer disclosures. */
html{scroll-padding-top:var(--anchor-offset,104px)}
.section,.consultation,.hero-video,.steps,.card,.footer-disclosure{scroll-margin-top:0}
.hero{max-width:none;padding-inline:max(24px,calc((100% - 1120px)/2));background:#F3F5F9;isolation:isolate}
.hero-video{position:relative}
.hero-video video{border:0;border-radius:0;box-shadow:none;background:transparent;mix-blend-mode:darken}
.film-control{position:absolute;right:8px;bottom:8px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(243,245,249,.75);color:var(--ink-muted);opacity:.65}
.film-control:hover,.film-control:focus-visible{opacity:1}
.film-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-head img{height:64px;width:48px;object-fit:contain;flex-shrink:0}
.gift-next{margin-top:24px;border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.gift-next>span{font-weight:700;font-size:18px;line-height:28px}
.text-link{padding:8px 0;min-height:44px;display:inline-flex;align-items:center;gap:16px;font-weight:700;color:var(--blue);background:none;border:0;border-bottom:1px solid var(--blue)}
.consultation{padding-block:48px}
.intake{margin:0;padding:48px;background:var(--blue-soft)}
.intake-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}
.intake-heading h2{font-size:38px;line-height:48px;letter-spacing:-.02em;margin-bottom:20px}
.intake-intro{font-size:17px;line-height:30px;max-width:400px}
.contact-route{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised)}
.route-label{display:block;font-size:12px;line-height:18px;font-weight:700;color:var(--blue);margin-bottom:8px}
.contact-route h3{font-size:22px;line-height:30px;margin-bottom:12px}
.contact-route p{margin-bottom:20px;font-size:15px;line-height:26px}
.contact-route .button{width:100%;justify-content:space-between}
.form-shell{padding:28px;border:0;box-shadow:var(--shadow-md)}
.form-heading{margin-bottom:24px}.form-heading .eyebrow{margin-bottom:8px}.form-heading h3{margin-bottom:8px}.form-heading p:last-child{font-size:13px;line-height:22px}
.form-optional{grid-column:1/-1;margin-top:4px;padding-top:12px}.form-optional summary{font-size:14px;justify-content:flex-start;gap:8px}.form-optional summary::after{margin-left:auto}.optional-label{font-size:12px;color:var(--ink-muted);font-weight:400}.form-optional>.form-grid{margin-top:20px}
.form-grid>.consent{margin-top:8px}.consent label{font-size:13px;line-height:23px}.form-actions{margin-top:0}.form-actions .button{width:100%;justify-content:space-between}
.field input,.field select,.field textarea{font-size:16px}
.footer-utilities{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.footer-utilities a,.footer-utilities button{font:inherit;font-size:13px;font-weight:700;color:var(--ink-muted);padding:8px 0;min-height:44px;background:none;border:0}
.footer-details{max-width:800px}
.footer-disclosure{margin-top:0;padding-top:0;border-top:0}.footer-disclosure>summary{font-size:13px;line-height:22px;min-height:44px;font-weight:400;color:var(--ink-muted)}
.footer-disclosure p{max-width:760px;font-size:13px;line-height:24px;padding-block:12px}
#measurement-choice{position:static;max-width:none;margin:12px 0 0;border-radius:12px;box-shadow:none;padding:20px;background:var(--surface)}
#measurement-choice h3{font-size:16px;line-height:24px}#measurement-choice p{margin:0;padding-block:12px}
#measurement-choice .button{font-size:13px;padding:8px 16px}
#measurement-status:empty{display:none}.footer-bottom{margin-top:20px}
.reveal-item{transition:opacity .55s ease,transform .55s cubic-bezier(.2,.65,.3,1)}
.reveal-pending{opacity:0;transform:translateY(18px)}
.reveal-direct{opacity:1;transform:none;transition:none}
.anchor-arrival{animation:anchor-arrival 2.5s ease}
@keyframes anchor-arrival{0%,35%{color:var(--blue)}100%{color:inherit}}
@media(max-width:1023px){.intake{padding:32px}.intake-layout{gap:28px}}
@media(max-width:767px){.hero{padding-inline:16px}.gift-next{align-items:flex-start;flex-direction:column;gap:12px}.gift-next>span{font-size:17px}.consultation{padding-block:24px}.intake{padding:28px 20px;border-radius:20px}.intake-layout{grid-template-columns:1fr;gap:32px}.intake-heading h2{font-size:32px;line-height:42px}.contact-route{padding:20px;margin-top:24px}.form-shell{padding:20px}.form-grid{grid-template-columns:1fr}.form-heading h3{font-size:21px;line-height:30px}.footer-utilities{margin-top:24px}.film-control{right:4px;bottom:4px}}
@media(prefers-reduced-motion:reduce){.reveal-item,.reveal-pending{opacity:1;transform:none;transition:none}.anchor-arrival{animation:none}}

.film-sound{right:56px;width:auto;min-height:44px;padding:8px 12px;display:flex;gap:8px;border-radius:22px;font-size:12px;line-height:20px;font-weight:700;opacity:.85}
.film-sound svg{flex-shrink:0}
@media(max-width:767px){.film-sound{right:52px}}

.consent-note p{font-size:12px;line-height:22px;color:var(--ink-muted)}
.consent-note a{white-space:nowrap}

/* Inquiry handoff as a short conversation. */
.consent-note{margin-top:-6px}.consent-note p{font-size:11px;line-height:18px}
.footer-details{margin-top:32px;padding-top:16px;border-top:1px solid var(--line)}
.conversation{border:0;padding-top:0;margin-top:24px;scroll-margin-top:0;overflow-wrap:anywhere}
.chat-row{display:flex;align-items:flex-start;gap:10px;margin-top:20px}
.chat-row.outgoing{justify-content:flex-end;animation:message-send .42s cubic-bezier(.16,.8,.3,1) both}
.chat-message{min-width:0;max-width:calc(100% - 46px);border-radius:16px;padding:18px;background:var(--surface)}
.outgoing .chat-message{background:var(--blue);border-bottom-right-radius:4px;color:white}
.chat-label{display:block;font-size:11px;line-height:18px;font-weight:700;margin-bottom:8px;opacity:.8}
.outgoing p{color:inherit;white-space:pre-wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;font-size:14px;line-height:24px}
.send-status{text-align:right;font-size:11px;line-height:18px;margin-top:6px}
.chat-avatar{width:32px;height:44px;object-fit:contain;flex-shrink:0}
.incoming .chat-message{flex:1;border-top-left-radius:4px}
#joe-reply{animation:message-reply .35s ease both}
.conversation h3{font-size:18px;line-height:28px;margin-bottom:8px}
.conversation .chat-message>p{font-size:14px;line-height:24px}
#receipt{font-size:12px;line-height:20px;margin-top:12px;font-weight:700;color:var(--blue)}
.conversation .button{width:100%;margin-top:20px;padding-inline:14px;justify-content:space-between}
.conversation .status{font-size:11px;line-height:18px;color:var(--ink-muted)}
.conversation .status:empty{display:none}
.conversation textarea{min-height:140px;font-size:13px;line-height:22px;margin:12px 0 0}
.typing{padding:20px;background:var(--surface);border-radius:4px 16px 16px;display:flex;gap:5px}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-muted);animation:joe-typing 1s ease infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes message-send{from{opacity:0;transform:translate(20px,32px) scale(.94)}to{opacity:1;transform:none}}
@keyframes message-reply{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes joe-typing{0%,70%,100%{opacity:.35;transform:none}35%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.chat-row.outgoing,#joe-reply,.typing span{animation:none}}

/* AI services share the existing service-card interactions and reveal behavior. */
.ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-example{font-size:14px;line-height:24px}.ai-grid .service-card{padding:32px}
@media(max-width:767px){.ai-grid{grid-template-columns:1fr}.ai-grid .service-card{padding:20px}}

/* A steady two-line headline with a quiet service link. */
.hero-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero #hero-title{margin-bottom:12px}#hero-pain{display:block}.hero-pain-line{display:block;white-space:nowrap}
.hero-switcher{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:480px;margin-bottom:20px}.hero-switcher>a{display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:22px;font-weight:700;min-height:44px}.hero-switcher>a:hover{text-decoration:underline}.hero-switch-actions{display:flex;align-items:center;gap:6px}.hero-switch-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--blue)}.hero-switch-button:hover{background:var(--blue-soft);border-color:var(--line)}.hero-switch-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:767px){.hero-switcher{max-width:none;margin-bottom:16px}.hero .intro{font-size:16px;line-height:28px}.hero-switcher>a{font-size:13px}}

#hero-pain{min-height:2lh}.hero-pain-line{position:relative;width:fit-content;min-height:1lh}.hero-typing .hero-caret::after{content:"";position:absolute;left:100%;top:.15em;margin-left:4px;width:2px;height:.8em;border-radius:1px;background:var(--blue);animation:hero-cursor 1s step-end infinite}
@keyframes hero-cursor{0%,100%{opacity:1}50%{opacity:0}}
@media(max-width:767px){.hero h1{font-size:clamp(32px,8.8vw,36px)}}
@media(prefers-reduced-motion:reduce){.hero-typing .hero-caret::after{display:none;animation:none}}
