:root{--navy:oklch(0.20 0.045 247);--navy-deep:oklch(0.13 0.035 247);--navy-soft:oklch(0.29 0.052 247);--blue:oklch(0.66 0.14 247.4);--blue-text:oklch(0.53 0.14 247.4);--coral:oklch(0.67 0.17 35);--coral-dark:oklch(0.545 0.17 35);--coral-deeper:oklch(0.47 0.155 35);--white:oklch(1 0 0);--off:oklch(0.975 0 0);--surface:oklch(0.945 0.006 247);--ink:oklch(0.22 0.032 247);--muted:oklch(0.47 0.025 247);--line:oklch(0.87 0.012 247);--footer-text:oklch(0.72 0.018 247);--footer-link:oklch(0.82 0.018 247);--ease:cubic-bezier(.16,1,.3,1);--shell:min(1180px,calc(100% - 40px));--radius:14px;--shadow:0 18px 32px -20px oklch(0.20 0.045 247/.45);--z-sticky:20;--z-menu:30}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--off);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-brand);text-wrap:balance;letter-spacing:-.035em;line-height:1.02}h1{font-size:clamp(3.2rem,7.2vw,5.9rem);margin-bottom:28px}h2{font-size:clamp(2.35rem,4.8vw,4.5rem);margin-bottom:22px}h3{font-size:1.55rem}p{max-width:68ch;text-wrap:pretty}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;z-index:100;background:var(--white);padding:10px 16px;transform:translateY(-150%);border-radius:999px}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:oklch(0.13 0.035 247/.9);color:var(--white);backdrop-filter:blur(12px);border-bottom:1px solid oklch(1 0 0/.1)}.nav-shell{width:var(--shell);margin:auto;height:76px;display:flex;align-items:center;justify-content:space-between}.site-nav{display:flex;align-items:center;gap:27px}.site-nav>a:not(.button){font-size:.86rem;text-decoration:none;color:oklch(0.88 0.012 247);transition:color .2s}.site-nav>a:hover{color:var(--white)}.menu-toggle{display:none;background:none;border:0;color:var(--white);width:44px;height:44px;padding:11px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:currentColor;margin:6px 0;transition:.25s var(--ease)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;border:0;border-radius:999px;text-decoration:none;font-weight:750;line-height:1;white-space:nowrap;transition:transform .25s var(--ease),background .25s,color .25s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px) scale(.99)}.button-accent{background:var(--coral-dark);color:var(--white)}.button-accent:hover{background:var(--coral-deeper)}.button-small{min-height:42px;padding:10px 17px;font-size:.84rem}.button-ghost{color:var(--white);outline:1px solid oklch(1 0 0/.38)}.button-light{background:var(--white);color:var(--navy-deep)}.button-outline-light{color:var(--white);outline:1px solid oklch(1 0 0/.45)}:focus-visible{outline:3px solid var(--blue-text);outline-offset:4px}.hero{min-height:calc(100dvh - 76px);position:relative;display:grid;align-items:center;background:var(--navy-deep);color:var(--white);padding:clamp(70px,10vw,130px) 0;overflow:hidden}.hero:after{content:"";position:absolute;width:46vw;height:46vw;min-width:480px;min-height:480px;border-radius:50%;right:-21vw;top:-25vw;border:1px solid oklch(0.66 0.14 247/.26);box-shadow:0 0 0 80px oklch(0.66 0.14 247/.035),0 0 0 160px oklch(0.66 0.14 247/.025)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(50px,8vw,110px);align-items:end;position:relative;z-index:1}.hero h1 em{font-style:normal;color:var(--coral)}.hero-lede{font-size:clamp(1.08rem,1.5vw,1.28rem);color:oklch(0.86 0.016 247);max-width:59ch}.button-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:36px}.trust-line{font-size:.82rem;color:oklch(0.74 0.018 247);margin:25px 0 0}.trust-line span{color:var(--coral)}.section{padding:clamp(85px,11vw,150px) 0}.section-heading{max-width:760px;margin-bottom:55px}.section-heading>p:last-child,.split-heading>p{color:var(--muted);font-size:1.06rem}.split-heading{max-width:none;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end}.split-heading h2{margin-bottom:0}.packages-section{background:var(--off)}.package-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:start}.package-card{grid-column:span 3;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative}.package-card.popular{background:var(--navy);color:var(--white);border:0;box-shadow:var(--shadow);transform:translateY(-14px)}.popular-tag{position:absolute;right:20px;top:20px;background:var(--coral-dark);color:var(--white);padding:6px 11px;border-radius:999px;font-size:.68rem;font-weight:850}.package-card h3{font-size:1.55rem;margin-bottom:8px}.package-outcome{font-weight:750;color:var(--coral-dark);margin-bottom:20px}.popular .package-outcome{color:var(--coral)}.package-price{font-size:1.25rem;font-weight:850;margin-bottom:28px}.package-best{min-height:92px;padding-bottom:23px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.91rem}.popular .package-best{color:oklch(0.84 0.018 247);border-color:oklch(1 0 0/.15)}.package-card ul,.care-card ul{list-style:none;padding:0;margin:25px 0}.package-card li,.care-card li{position:relative;padding:7px 0 7px 25px;font-size:.9rem}.package-card li:before,.care-card li:before{content:"✓";position:absolute;left:0;color:var(--coral);font-weight:900}.package-card .button{width:100%;margin-top:10px}.package-card:not(.popular) .button{background:var(--navy);color:var(--white)}.pricing-note{text-align:center;color:var(--muted);font-size:.82rem;margin:35px auto 0}.custom-section{background:var(--blue);color:var(--navy-deep);padding:clamp(75px,9vw,120px) 0}.custom-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.custom-grid p{font-size:1.08rem}.custom-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:0;border-top:1px solid oklch(0.13 0.035 247/.28)}.custom-list li{padding:17px 5px;border-bottom:1px solid oklch(0.13 0.035 247/.28);font-weight:750}.comparison-section{background:var(--white)}.comparison-desktop{overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;min-width:860px}.comparison-table th,.comparison-table td{text-align:center;padding:17px 14px;border-bottom:1px solid var(--line)}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;width:26%}.comparison-table thead th{background:var(--navy);color:var(--white);font-size:.9rem}.comparison-table thead th:first-child{border-radius:var(--radius) 0 0 0}.comparison-table thead th:last-child{border-radius:0 var(--radius) 0 0}.comparison-table tbody tr:hover{background:var(--surface)}.cell-yes{color:var(--coral-dark);font-weight:900}.cell-muted{color:var(--muted);font-size:.85rem}.comparison-mobile{display:none}.addons-section{background:var(--surface)}.addons-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.addons-intro{position:sticky;top:120px;align-self:start}.addons-intro p{color:var(--muted)}.text-link{font-weight:800;color:var(--coral-dark);text-decoration:none}.addon-list{border-top:1px solid var(--navy)}.addon-item{display:grid;grid-template-columns:1fr auto;gap:17px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.addon-item h3{font-size:1.08rem;margin:0;letter-spacing:-.015em}.addon-item p{margin:3px 0 0;color:var(--muted);font-size:.86rem}.addon-item span:last-child{font-size:.72rem;font-weight:800;color:var(--coral-dark);white-space:nowrap}.care-section{background:var(--off)}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.care-card{padding:28px;border-radius:var(--radius);background:var(--white);border:1px solid var(--line)}.care-card.featured{background:var(--blue);color:var(--navy-deep);border:0;margin-top:32px}.care-card>p{color:var(--muted)}.care-card.featured>p{color:var(--navy-soft)}.care-tag{font-weight:800;color:var(--coral-dark);font-size:.76rem}.care-card h3{font-size:1.7rem;margin:25px 0 10px}.care-note{display:flex;gap:20px;margin-top:24px;padding:20px 25px;border:1px solid var(--line);border-radius:var(--radius)}.care-note span{color:var(--muted)}.process-section{background:var(--navy-deep);color:var(--white);padding:clamp(90px,11vw,150px) 0}.before-section{background:var(--white)}.before-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}.before-intro h2{font-size:clamp(2.2rem,4vw,3.5rem)}.before-intro p{color:var(--muted)}.before-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--navy)}.before-list li{display:grid;grid-template-columns:1fr;padding:18px 0;border-bottom:1px solid var(--line)}.final-cta{padding:clamp(85px,10vw,130px) 0;background:var(--navy);color:var(--white)}.cta-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:end}.cta-grid h2{font-size:clamp(2.7rem,5vw,4.9rem)}.cta-grid p{color:oklch(0.79 0.018 247)}.cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.contact-details{display:flex;flex-direction:column;text-align:center;color:oklch(0.70 0.02 247);font-size:.8rem;margin-top:8px}.site-footer{background:var(--navy-deep);color:var(--footer-text);padding:64px 0 0}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.1fr;gap:44px;padding-bottom:44px}
.footer-tagline{margin:0;font-size:.83rem}
.footer-meta{list-style:none;padding:0;margin:15px 0 0;font-size:.79rem;display:grid;gap:5px}
.footer-heading{margin:0 0 8px;font-size:.72rem;font-weight:800;color:var(--white);letter-spacing:.05em;text-transform:uppercase}
.footer-nav ul,.footer-contact ul{list-style:none;padding:0;margin:0}
.footer-nav a,.footer-contact a,.footer-social a{display:flex;align-items:center;min-height:44px;font-size:.85rem;text-decoration:none;color:var(--footer-link)}
.footer-nav a:hover,.footer-contact a:hover,.footer-social a:hover{color:var(--white);text-decoration:underline}
.footer-social{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:6px 0 22px;border-top:1px solid oklch(1 0 0/.12);font-size:.79rem}
.footer-bottom p{margin:0}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--footer-link)}
.footer-bottom a:hover{color:var(--white);text-decoration:underline}
.error-page{background:var(--navy-deep);color:var(--white);min-height:100dvh;display:grid}
.error-shell{display:grid;place-items:center;text-align:center;padding:60px 0}
.error-code{font-weight:900;font-size:.9rem;letter-spacing:.22em;color:var(--blue);margin:0 0 18px}
.error-page h1{font-size:clamp(2.6rem,7vw,4.6rem);margin-bottom:18px}
.error-lede{color:oklch(0.79 0.018 247);margin:0 auto 34px;max-width:46ch}
.error-page .button-row{justify-content:center}
.error-links{list-style:none;padding:26px 0 0;margin:38px auto 0;border-top:1px solid oklch(1 0 0/.12);display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;max-width:520px}
.error-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;color:var(--footer-link);text-decoration:none}
.error-links a:hover{color:var(--white);text-decoration:underline}.reveal{animation:rise .7s var(--ease) both;animation-delay:var(--delay,0ms)}@keyframes rise{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:900px){:root{--shell:min(100% - 32px,760px)}.site-nav{position:fixed;inset:76px 0 auto;background:var(--navy-deep);padding:28px 20px 38px;display:flex;flex-direction:column;align-items:stretch;transform:translateY(-120%);opacity:0;visibility:hidden;pointer-events:none;transition:.35s var(--ease);z-index:var(--z-menu)}.site-nav.open{transform:none;opacity:1;visibility:visible;pointer-events:auto}.site-nav a{text-align:center;padding:10px}.menu-toggle{display:block}.menu-toggle[aria-expanded=true] span:nth-of-type(2){transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-of-type(3){transform:translateY(-4px) rotate(-45deg)}.hero-grid,.custom-grid,.addons-layout,.before-grid,.cta-grid{grid-template-columns:1fr}.hero{min-height:auto}.split-heading{grid-template-columns:1fr;gap:24px}.package-card{grid-column:span 6}.package-card.popular{transform:none}.custom-grid{gap:45px}.addons-layout{gap:55px}.addons-intro{position:static}.before-grid{gap:50px}.cta-grid{gap:40px}.cta-actions{max-width:420px}}
@media(max-width:650px){:root{--shell:calc(100% - 28px)}h1{font-size:clamp(2.75rem,13.5vw,4rem)}h2{font-size:clamp(2.15rem,10vw,3.25rem)}.section{padding:78px 0}.hero{padding:75px 0}.hero-grid{gap:60px}.button-row{flex-direction:column;align-items:stretch}.button{width:100%}.trust-line{line-height:1.8}.package-grid{display:block}.package-card,.package-card:last-child{margin-bottom:16px}.package-card.popular{box-shadow:none}.custom-list{grid-template-columns:1fr}.addon-item{grid-template-columns:1fr}.addon-item span:last-child{grid-column:1;grid-row:auto}.care-grid{grid-template-columns:1fr}.care-card.featured{margin-top:0}.care-note{flex-direction:column;gap:5px}.before-grid{gap:40px}.site-footer{padding-top:48px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:0}.contact-details{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Hero and motion refinement */
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:50;pointer-events:none;background:transparent}.scroll-progress span{display:block;width:100%;height:100%;background:var(--coral);transform:scaleX(0);transform-origin:left center;will-change:transform}.site-header{transition:background .25s var(--ease),box-shadow .25s var(--ease)}.site-header.scrolled{background:oklch(0.13 0.035 247/.97);box-shadow:0 4px 8px oklch(0.08 0.02 247/.22)}
.hero-intro-line{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.hero-copy>*{animation:hero-enter .58s var(--ease) both}.hero-copy>.hero-intro-line{animation-delay:.02s}.hero-copy>h1{animation-delay:.07s}.hero-copy>.hero-lede{animation-delay:.12s}.hero-copy>.button-row{animation-delay:.17s}.hero-copy>.trust-line{animation-delay:.22s}@keyframes hero-enter{from{opacity:.46;transform:translateY(15px);filter:blur(2.5px)}to{opacity:1;transform:none;filter:none}}@keyframes guide-enter{from{opacity:.35;transform:translateX(18px);clip-path:inset(0 0 0 22%)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes orbit-enter{from{opacity:0;transform:translate(28px,-22px) scale(.65)}to{opacity:1;transform:none}}
.principles-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:-15px 0 46px;padding:27px 30px;background:var(--white);border-radius:var(--radius);box-shadow:0 14px 28px -18px oklch(0.20 0.045 247/.3)}.principle{padding-left:30px;border-left:1px solid var(--line)}.principle:first-child{padding-left:0;border-left:0}.principle strong{display:block;font-size:1.04rem;letter-spacing:-.015em;line-height:1.3;margin-bottom:6px}.principle p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.55}
.package-card{overflow:hidden;transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}.package-card.popular:before{background:var(--coral)}.package-price-block{margin:25px -10px 26px;padding:18px 10px 19px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.popular .package-price-block{border-color:oklch(1 0 0/.16)}.from-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.from-price small{font-weight:850;color:var(--coral-dark)}.popular .from-price small{color:var(--coral)}.from-price strong{font:900 clamp(1.7rem,2.3vw,2.15rem)/1 var(--font-brand);letter-spacing:-.035em}.price-basis{margin:10px 0 0;color:var(--muted);font-size:.72rem}.popular .price-basis{color:oklch(0.72 0.025 247)}.package-best{min-height:108px}.package-cta span{transition:transform .2s var(--ease)}.package-cta:hover span{transform:translateX(4px)}
@media(hover:hover) and (pointer:fine){.package-card:not(.popular):hover{transform:translateY(-7px);box-shadow:0 10px 12px -8px oklch(0.20 0.045 247/.16)}.package-card.popular:hover{transform:translateY(-20px);box-shadow:0 24px 40px -22px oklch(0.20 0.045 247/.55)}}
.comparison-table thead th span,.comparison-table thead th small{display:block}.comparison-table thead th small{margin-top:4px;color:var(--coral);font-size:.72rem}.cta-assurance{display:flex;flex-direction:column;gap:2px;padding:15px 18px;margin-bottom:5px;border:1px solid oklch(1 0 0/.2);border-radius:var(--radius);background:oklch(1 0 0/.05)}.cta-assurance span{font-size:.72rem;color:oklch(0.74 0.025 247)}.cta-assurance strong{font-size:.88rem}.selection-note{margin:0;padding:10px 14px;border-radius:10px;background:oklch(0.66 0.14 247/.15);color:oklch(0.88 0.035 247)!important;text-align:center;font-size:.82rem;font-weight:750}.selection-note[hidden]{display:none}.reveal{animation:polish-reveal .65s var(--ease) both;animation-delay:var(--delay,0ms)}@keyframes polish-reveal{from{opacity:.42;transform:translateY(20px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}

@media(max-width:900px){.hero-intro-line{align-items:flex-start}.principles-panel{grid-template-columns:1fr;gap:0;padding:9px 26px}.principle{padding:19px 0;border-left:0;border-bottom:1px solid var(--line)}.principle:last-child{border-bottom:0}.package-card.popular:hover{transform:none}.package-best{min-height:0}}
@media(max-width:650px){.hero-intro-line{flex-direction:column;gap:18px}.site-nav .button-small{min-height:44px}.principles-panel{margin-top:-8px;padding:5px 22px}.package-price-block{margin-top:21px}.from-price strong{font-size:2.1rem}.comparison-mobile summary{display:grid;grid-template-columns:1fr auto 24px;column-gap:12px}.comparison-mobile summary small{color:var(--coral-dark);font-size:.75rem}.comparison-mobile summary:after{text-align:right}.package-card:not(.popular):hover,.package-card.popular:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.scroll-progress span{will-change:auto}.hero-copy>*{opacity:1;transform:none;filter:none;clip-path:none}}

/* Visual-system refinement */
:root{--font-brand:"Avenir Next","Segoe UI Variable","Segoe UI",sans-serif;--navy-raised:oklch(0.245 0.052 247);--navy-line:oklch(0.38 0.052 247)}
body,button{font-family:var(--font-brand);font-kerning:normal;font-optical-sizing:auto}h1,h2,h3,.from-price strong{font-family:var(--font-brand)}h1{font-weight:800;line-height:1.02}h2{font-weight:800;line-height:1.05;letter-spacing:-.032em}h3{font-weight:750;line-height:1.15;letter-spacing:-.02em}.from-price strong,.price-basis,.comparison-table{font-variant-numeric:tabular-nums}

/* Expandable package features */
.feature-help{margin:23px 0 7px;color:var(--muted);font-size:.78rem;font-weight:750}.popular .feature-help{color:oklch(0.72 0.025 247)}.package-features{list-style:none!important;margin:0 0 25px!important;padding:0!important;border-top:1px solid var(--line)}.popular .package-features{border-color:oklch(1 0 0/.16)}.package-features li{padding:0!important;font-size:.875rem!important}.package-features li:before{display:none!important}.feature-detail{border-bottom:1px solid var(--line)}.popular .feature-detail{border-color:oklch(1 0 0/.16)}.feature-detail summary{min-height:50px;display:grid;grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:9px;cursor:pointer;list-style:none;font-weight:700;line-height:1.35;transition:color .2s var(--ease)}.feature-detail summary::-webkit-details-marker{display:none}.feature-detail summary:before{content:"✓";color:var(--coral-dark);font-weight:900}.popular .feature-detail summary:before{color:var(--coral)}.feature-detail summary:after{content:"+";color:var(--blue-text);font-size:1.15rem;font-weight:650;text-align:right;transition:transform .25s var(--ease),color .2s}
.popular .feature-detail summary:after{color:var(--blue)}.feature-detail[open] summary{color:var(--coral-dark)}.popular .feature-detail[open] summary{color:var(--coral)}.feature-detail[open] summary:after{content:"−";transform:rotate(180deg);color:var(--coral-dark)}.popular .feature-detail[open] summary:after{color:var(--coral)}.feature-copy{padding:0 23px 15px 27px;animation:feature-open .28s var(--ease) both}.feature-copy p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.55}.popular .feature-copy p{color:oklch(0.78 0.02 247)}@keyframes feature-open{from{opacity:.25;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Custom solutions: workflow-led composition */
.custom-section{position:relative;overflow:hidden;background:var(--navy-deep);color:var(--white);padding:clamp(95px,11vw,155px) 0}.custom-section:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-280px;top:-310px;background:var(--blue);opacity:.18}.custom-heading-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(55px,8vw,105px);align-items:start}.custom-intro h2{max-width:11ch;margin-bottom:28px}.custom-intro>p{color:oklch(0.82 0.025 247);font-size:1.08rem;line-height:1.75;max-width:54ch}.custom-intro .button{width:auto;margin-top:22px}.custom-blueprint{position:relative;padding:30px;background:var(--blue);color:var(--navy-deep);border-radius:var(--radius)}.blueprint-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:19px;border-bottom:1px solid oklch(0.20 0.045 247/.28)}.blueprint-heading span{max-width:12ch;color:var(--navy-soft);font-size:.75rem;font-weight:750}.blueprint-heading strong{max-width:16ch;text-align:right;font-size:1.1rem;line-height:1.2}.custom-route{list-style:none;margin:0;padding:0}.custom-route li{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:21px 0;border-bottom:1px solid oklch(0.20 0.045 247/.24)}.custom-route li:last-child{border-bottom:0;padding-bottom:0}.custom-route li>span{color:var(--coral-dark);font-weight:850;font-variant-numeric:tabular-nums}.custom-route strong,.custom-route small{display:block}.custom-route strong{font-size:1rem}.custom-route small{margin-top:4px;color:var(--navy-soft);font-size:.875rem;line-height:1.5}.custom-capabilities{position:relative;margin-top:90px;padding-top:30px;border-top:1px solid var(--navy-line)}.custom-capabilities-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:25px}.custom-capabilities-heading h3{margin:0;font-size:clamp(1.65rem,2.7vw,2.5rem)}.custom-capabilities-heading p{margin:0;color:oklch(0.76 0.025 247);justify-self:end}.custom-list{display:grid;grid-template-columns:1fr 1fr;gap:0 42px;list-style:none;margin:0;padding:0;border-top:1px solid var(--navy-line)}.custom-list li{display:grid;grid-template-columns:1fr;padding:21px 10px;border-bottom:1px solid var(--navy-line);font-weight:400;transition:transform .25s var(--ease),background .25s var(--ease)}.custom-list strong,.custom-list small{display:block}.custom-list strong{font-size:1rem}.custom-list small{margin-top:4px;color:oklch(0.72 0.028 247);font-size:.875rem;line-height:1.45}@media(hover:hover) and (pointer:fine){.custom-list li:hover{transform:translateX(5px);background:var(--navy-raised)}.custom-list li:hover small{color:oklch(0.86 0.02 247)}}

@media(max-width:900px){.custom-heading-grid{grid-template-columns:1fr;gap:55px}.custom-intro h2{max-width:14ch}.custom-blueprint{max-width:620px}.custom-capabilities{margin-top:72px}}
@media(max-width:650px){.feature-help{font-size:.875rem}.feature-detail summary{min-height:54px}.custom-section{padding:82px 0}.custom-intro .button{width:100%}.custom-blueprint{padding:23px}.blueprint-heading{align-items:start;flex-direction:column}.blueprint-heading strong{max-width:none;text-align:left}.custom-capabilities{margin-top:65px}.custom-capabilities-heading{grid-template-columns:1fr;gap:13px}.custom-capabilities-heading p{justify-self:start}.custom-list{grid-template-columns:1fr;gap:0}.custom-list li{padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.feature-copy{animation:none}.feature-detail summary:after,.custom-list li{transition:none}}

/* Pricing transparency,guidance and FAQ */
.custom-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin:30px 0 0;padding-top:24px;border-top:1px solid var(--navy-line)}.custom-price strong{font-size:clamp(1.55rem,2.3vw,2rem);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.custom-price span{color:oklch(0.72 0.028 247);font-size:.84rem}
.choose-guide{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(35px,5vw,80px);margin-top:70px;padding-top:40px;border-top:1px solid var(--line)}.choose-guide h3{font-size:clamp(1.5rem,2.4vw,2.1rem);margin-bottom:12px}.choose-guide>div>p{color:var(--muted);font-size:.95rem;margin:0}.choose-guide ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 42px;border-top:1px solid var(--navy);align-self:start}.choose-guide li{padding:15px 4px;border-bottom:1px solid var(--line)}.choose-guide li strong{display:block;color:var(--coral-dark);font-size:.93rem}.choose-guide li small{display:block;margin-top:3px;color:var(--muted);font-size:.86rem;line-height:1.5}
.coverage-section{background:var(--white)}.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.coverage-card{position:relative;overflow:hidden;background:var(--off);border:1px solid var(--line);border-radius:var(--radius);padding:29px}.coverage-card.dark{background:var(--navy);color:var(--white);border:0;box-shadow:var(--shadow)}.coverage-card.dark:before{background:var(--coral)}.coverage-tag{font-weight:800;color:var(--coral-dark);font-size:.76rem}.coverage-card.dark .coverage-tag{color:var(--coral)}.coverage-card h3{font-size:1.38rem;margin:16px 0 10px}.coverage-card>p{color:var(--muted);font-size:.88rem}.coverage-card.dark>p{color:oklch(0.8 0.02 247)}.coverage-card ul{list-style:none;padding:0;margin:22px 0 0}.coverage-card li{position:relative;padding:7px 0 7px 25px;font-size:.89rem}.coverage-card li:before{content:"✓";position:absolute;left:0;color:var(--coral);font-weight:900}
.care-price{margin:0 0 18px;padding-top:16px;border-top:1px solid var(--line);color:var(--coral-dark);font-size:.78rem;font-weight:800}.care-card.featured .care-price{border-color:oklch(0.20 0.045 247/.28)}
.faq-section{background:var(--surface)}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro{position:sticky;top:120px;align-self:start}.faq-intro p{color:var(--muted)}.faq-list{border-top:1px solid var(--navy)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:16px;padding:20px 4px;font-weight:800;letter-spacing:-.012em;line-height:1.4;transition:color .2s var(--ease)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";justify-self:end;font-size:1.4rem;font-weight:650;color:var(--coral-dark);transition:transform .25s var(--ease)}.faq-item[open] summary{color:var(--coral-dark)}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 40px 22px 4px;animation:feature-open .28s var(--ease) both}.faq-answer p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.65}
@media(max-width:900px){.choose-guide{grid-template-columns:1fr;gap:28px}.coverage-grid{grid-template-columns:1fr}.care-grid{grid-template-columns:1fr}.care-card.featured{margin-top:0}.faq-layout{grid-template-columns:1fr;gap:50px}.faq-intro{position:static}}
@media(max-width:650px){.choose-guide{margin-top:55px;padding-top:30px}.choose-guide ul{grid-template-columns:1fr;gap:0}.faq-answer{padding-right:20px}.custom-price strong{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.faq-answer{animation:none}}
.package-cta{font-size:.92rem;padding-inline:12px}
@media(min-width:901px) and (max-width:1200px){.package-card{grid-column:span 6}.package-card.popular{transform:none}.package-card.popular:hover{transform:translateY(-7px)}}

/* Footer: 4 columns is too tight below ~900px; 650px block collapses to a single column. */
@media(min-width:651px) and (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:34px}}

/* ── Legal draft scaffolds (privacy.html, terms.html) ──────────────────────
   These pages are unreviewed drafts. The DRAFT banner and the owner-input
   markers are meant to be conspicuous — they are a release gate,not decoration. */
.legal-page{background:var(--off);color:var(--ink)}
.legal-header{background:var(--navy-deep);color:var(--white);padding:18px 0}
.legal-main{padding:60px 0 90px}
.legal-shell{max-width:76ch}
.legal-page h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:10px}
.legal-page h2{font-size:1.45rem;margin:0 0 12px}
.legal-updated{color:var(--muted);font-size:.85rem;margin-bottom:28px}
.legal-intro{font-size:1.05rem;color:var(--muted);margin-bottom:8px}
.legal-section{padding:26px 0;border-top:1px solid var(--line)}
.legal-section p{margin:0 0 12px}
.legal-section p:last-child{margin-bottom:0}
.legal-draft{background:oklch(0.96 0.055 85);border:2px solid var(--coral-dark);border-radius:var(--radius);padding:20px 24px;margin:0 0 34px}
.legal-draft p{margin:0 0 8px;font-size:.92rem;color:var(--ink)}
.legal-draft p:last-child{margin-bottom:0}
.owner-input{background:oklch(0.93 0.10 95);color:oklch(0.32 0.09 60);font-weight:700;font-size:.86rem;padding:2px 7px;border-radius:5px;border:1px dashed oklch(0.55 0.12 60)}
.legal-back{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.legal-back a{display:inline-flex;align-items:center;min-height:44px;color:var(--coral-dark);font-weight:750;text-decoration:none}
.legal-back a:hover{text-decoration:underline}

/* ── Tap targets (WCAG 2.2 SC 2.5.8) ───────────────────────────────────────
   Several inline links were ~21-22px high. Give the interactive box a real
   height without inflating the type: the text stays its original size,only
   the hit area grows. */
.site-nav>a:not(.button){display:inline-flex;align-items:center;min-height:44px}
.text-link{display:inline-flex;align-items:center;gap:.4em;min-height:44px}
.contact-details{gap:0}
.contact-details a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none}
.contact-details a:hover{color:var(--white);text-decoration:underline}
.cta-hints-label{margin:26px 0 8px;font-size:.85rem;font-weight:750;color:oklch(0.79 0.018 247)}
.cta-hints{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.cta-hints li{position:relative;padding-left:22px;font-size:.87rem;color:oklch(0.79 0.018 247)}
.cta-hints li:before{content:"→";position:absolute;left:0;color:var(--coral)}

/* ── Featured care card sits on --blue,not white ──────────────────────────
   The coral accents inherited from .care-tag/.care-price/.text-link and the ✓
   bullet were 1.74:1 and 1.04:1 against that blue. Navy-deep is the card's own
   text colour and reaches 6.51:1. */
.care-card.featured .care-tag,.care-card.featured .care-price,.care-card.featured .text-link{color:var(--navy-deep)}
.care-card.featured li:before{color:var(--navy-deep)}

/* ── Mobile / narrow-tablet package comparison ─────────────────────────────
   Replaces the old per-package accordion,which stacked packages instead of
   letting equivalent features sit side by side.

   Breakpoint is 900px (an existing project breakpoint) rather than the old 650px:
   the desktop table is min-width:860px inside overflow-x:auto,so 651-900px was
   sideways-scrolling a table — exactly the narrow-tablet case this replaces.

   Every package's value is in the DOM; .is-a/.is-b select which two show,so the
   default pair renders with JavaScript disabled. */
@media(max-width:900px){
  .comparison-desktop{display:none}
  .comparison-mobile{display:block}

  /* Two visible columns out of four. */
  .cmp-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
  .cmp-col{display:none;min-width:0}
  .cmp-col.is-a,.cmp-col.is-b{display:block}
  .cmp-col.cmp-value.is-a,.cmp-col.cmp-value.is-b{display:flex}

  /* Controls do nothing without JS, so they appear only once enhanced. */
  .cmp-controls{display:none}
  .cmp[data-enhanced] .cmp-controls{display:grid;gap:12px;margin-bottom:16px}
  .cmp-pickers{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end}
  .cmp-picker{position:relative;display:grid;gap:5px;min-width:0}
  .cmp-picker label{font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
  .cmp-picker select{width:100%;min-height:44px;padding:0 32px 0 12px;border:1px solid var(--muted);border-radius:10px;background:var(--white);color:var(--ink);font:inherit;font-size:.82rem;font-weight:750;line-height:1.2;appearance:none;-webkit-appearance:none;text-overflow:ellipsis}
  .cmp-picker:after{content:"";position:absolute;right:13px;bottom:17px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);pointer-events:none}
  .cmp-swap{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:46px;min-height:44px;padding:4px;border:1px solid var(--muted);border-radius:10px;background:var(--white);color:var(--coral-dark);font-size:.6rem;font-weight:850;letter-spacing:.03em;cursor:pointer}
  .cmp-swap-icon{font-size:.95rem;line-height:1}
  .cmp-swap:hover{background:var(--surface)}

  /* Differences switch. Track border carries the boundary, not colour alone. */
  .cmp-diff{position:relative;justify-self:start;min-height:44px;padding:0 2px 0 50px;border:0;background:none;color:var(--ink);font-size:.82rem;font-weight:750;cursor:pointer}
  .cmp-diff:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:40px;height:23px;border:2px solid var(--muted);border-radius:999px;background:var(--white);transition:background .2s var(--ease),border-color .2s var(--ease)}
  .cmp-diff:after{content:"";position:absolute;left:5px;top:50%;transform:translateY(-50%);width:13px;height:13px;border-radius:50%;background:var(--muted);transition:transform .2s var(--ease),background .2s var(--ease)}
  .cmp-diff[aria-pressed=true]:before{background:var(--coral-dark);border-color:var(--coral-dark)}
  .cmp-diff[aria-pressed=true]:after{background:var(--white);transform:translate(17px,-50%)}

  /* Sticky summary. Sits below the 76px site header and under it in z-order. */
  .cmp-head{position:sticky;top:76px;z-index:10;background:var(--white);padding:14px 0 12px;border-bottom:2px solid var(--navy)}
  .cmp-head-name{margin:0 0 3px;font-family:var(--font-brand);font-size:1.08rem;font-weight:900;letter-spacing:-.025em;line-height:1.12;color:var(--navy-deep);overflow-wrap:anywhere}
  .cmp-head-price{margin:0 0 10px;font-size:.76rem;font-weight:800;color:var(--coral-dark);font-variant-numeric:tabular-nums}
  .cmp-cta{width:100%;min-height:44px;padding:10px 6px;font-size:.75rem;gap:0}

  .cmp-group{margin-top:28px}
  .cmp-group-title{margin:0 0 6px;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--coral-dark)}
  .cmp-rows{border-top:1px solid var(--navy)}
  .cmp-row{padding:14px 0;border-bottom:1px solid var(--line)}
  .cmp-feature{margin:0 0 9px;font-size:.87rem;font-weight:750;color:var(--ink);line-height:1.35;overflow-wrap:anywhere}
  .cmp-value{align-items:flex-start;gap:7px;font-size:.83rem;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
  .cmp-mark{flex:none;font-weight:900;line-height:1.3}
  .cmp-value.is-yes .cmp-mark{color:var(--coral-dark)}
  .cmp-value.is-no{color:var(--muted)}
  .cmp-value.is-optional .cmp-mark,.cmp-value.is-no .cmp-mark{color:var(--muted)}
  .cmp-value.is-value .cmp-text{font-weight:750}
  .cmp-text{min-width:0}

  .cmp-empty{margin:28px 0 0;padding:26px 20px;border:1px dashed var(--muted);border-radius:var(--radius);text-align:center;color:var(--muted);font-size:.88rem;max-width:none}
}

/* At 320px the two columns get very narrow — buy back horizontal room. */
@media(max-width:360px){
  .cmp-cols{gap:8px}
  .cmp-pickers{grid-template-columns:1fr auto 1fr;gap:6px}
  .cmp-picker select{padding:0 26px 0 9px;font-size:.78rem}
  .cmp-head-name{font-size:.98rem}
  .cmp-cta{font-size:.7rem;padding:10px 4px}
}

/* ── beyondcloud logo ──────────────────────────────────────────────────────
   Supplied artwork in /brand/,shown as <img> and never recoloured (no filters).
   Every surface that carries it is navy,so the markup uses the light artwork.
   The lockup is 262:42; height:auto keeps that ratio at every width. It starts
   at 230px and shrinks with the viewport,never below 180px (the size at which
   the lettering stays readable),which still leaves room for the menu button at
   320px. Clear space: at least a quarter of the symbol's height on every side. */
.brand{display:inline-flex;flex-shrink:0;align-items:center;padding:10px 0;text-decoration:none;border-radius:2px}
.brand-logo{display:block;width:clamp(188px,48vw,240px);height:auto}
.brand:focus-visible,.error-brand:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.footer-logo{display:block;width:209px;max-width:100%;height:auto;margin:0 0 14px}
/* Expansion: tokens for status labels and the demo palettes */
:root{--live:oklch(0.45 0.105 152);--live-bg:oklch(0.95 0.04 152);--demo-bg:oklch(0.95 0.028 35);--status-bg:oklch(0.9 0.016 247);--phone-w:272px}
/* Expansion: navigation menu,current page,footer legal row */
.nav-menu{position:relative}
.nav-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.86rem;color:oklch(0.88 0.012 247);transition:color .2s}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--ease)}
.nav-menu[open] summary:after{transform:translateY(2px) rotate(-135deg)}
.nav-menu summary:hover,.nav-menu.is-current summary,.nav-menu[open] summary{color:var(--white)}
.nav-menu-panel{position:absolute;top:calc(100% + 14px);left:-28px;z-index:var(--z-menu);width:392px;padding:8px;border:1px solid oklch(1 0 0/.1);border-radius:18px;background:var(--navy);color:var(--white);box-shadow:0 28px 56px -20px oklch(0.02 0.02 247/.85);animation:menu-open .16s var(--ease) both}
.nav-menu-panel:before{content:"";position:absolute;top:-7px;left:50px;width:12px;height:12px;border-top:1px solid oklch(1 0 0/.1);border-left:1px solid oklch(1 0 0/.1);background:var(--navy);transform:rotate(45deg)}
.nav-menu-panel:after{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-menu-list{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.nav-menu-list a{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 14px;align-items:center;gap:14px;padding:11px 12px;border-radius:12px;text-decoration:none;transition:background .2s}
.nav-menu-tile{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:oklch(1 0 0/.06);color:var(--coral);transition:background .2s,color .2s}
.nav-menu-icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-menu-text strong{display:block;font-size:.92rem;line-height:1.3}
.nav-menu-text small{display:block;margin-top:2px;font-size:.8rem;line-height:1.4;color:oklch(0.78 0.02 247)}
.nav-menu-arrow{color:var(--coral);font-weight:800;opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .25s var(--ease)}
.nav-menu-list a:hover,.nav-menu-list a:focus-visible,.nav-menu-list a[aria-current]{background:var(--navy-raised)}
.nav-menu-list a:hover .nav-menu-arrow,.nav-menu-list a:focus-visible .nav-menu-arrow{opacity:1;transform:none}
.nav-menu-list a:hover .nav-menu-tile,.nav-menu-list a:focus-visible .nav-menu-tile{background:var(--coral);color:var(--navy-deep)}
.nav-menu-list a[aria-current]:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--coral)}
.nav-menu-foot{display:flex;justify-content:space-between;gap:12px;margin:6px 0 0;padding:12px 12px 6px;border-top:1px solid oklch(1 0 0/.08)}
.nav-menu-foot a{font-size:.82rem;font-weight:750;color:oklch(0.88 0.012 247);text-decoration:none}
.nav-menu-foot a:hover{color:var(--white)}
.nav-menu-foot a span{color:var(--coral)}
.nav-menu-list a:focus-visible,.nav-menu-foot a:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
@keyframes menu-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.site-nav>a[aria-current]:not(.button){color:var(--white);text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:7px}
.footer-legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 22px}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--footer-link)}
.footer-legal a:hover{color:var(--white);text-decoration:underline}
/* Expansion: status labels. The word is always present; colour only reinforces it. */
.status{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border-radius:999px;background:var(--status-bg);color:var(--navy-soft);font-size:.74rem;font-weight:800;line-height:1.35;white-space:nowrap}
.status-dot{flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.status-live{background:var(--live-bg);color:var(--live)}
.status-live .status-dot{animation:live-pulse 2.6s var(--ease) infinite}
.status-demo{background:var(--demo-bg);color:var(--coral-deeper)}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 oklch(0.45 0.105 152/.45)}70%{box-shadow:0 0 0 7px oklch(0.45 0.105 152/0)}100%{box-shadow:0 0 0 0 oklch(0.45 0.105 152/0)}}
.proof-tag{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:18px 0 0;font-size:.84rem;font-weight:650;color:var(--footer-link)}
.proof-tag a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.proof-tag a:hover{color:var(--white);text-decoration:underline}
.window-chrome{overflow:hidden;border-radius:12px;background:var(--white);border:1px solid var(--line)}
.window-bar{display:flex;align-items:center;gap:6px;height:28px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--line)}
.window-bar span{width:9px;height:9px;border-radius:50%;background:oklch(0.82 0.015 247)}
/* Expansion: the scripted example conversation */
.chat{margin:0;overflow:hidden;background:var(--white);color:var(--ink);border-radius:var(--radius);box-shadow:0 20px 40px -22px oklch(0.08 0.02 247/.55)}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.chat-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--white);font-size:.7rem;font-weight:850;letter-spacing:.02em}
.chat-who{flex:1;min-width:0}
.chat-name{margin:0;font-size:.92rem;font-weight:800;line-height:1.2}
.chat-sub{margin:2px 0 0;font-size:.74rem;line-height:1.3;color:var(--muted)}
.chat-log{list-style:none;margin:0;padding:16px;display:grid;gap:10px;background:var(--off)}
.msg{display:grid;gap:4px;max-width:86%}
.msg>p{margin:0;padding:9px 13px;border-radius:16px;font-size:.88rem;line-height:1.45}
.msg-customer{justify-self:end;justify-items:end}
.msg-customer>p{background:var(--navy);color:var(--white);border-bottom-right-radius:5px}
.msg-assistant{justify-self:start}
.msg-assistant>p{background:var(--white);border:1px solid var(--line);border-bottom-left-radius:5px}
.msg-tag{padding-left:4px;font-size:.7rem;font-weight:750;line-height:1.3;color:var(--muted)}
.msg-handoff>p{border-color:var(--coral-dark)}
.msg-handoff .msg-tag{color:var(--coral-dark)}
.msg-card{justify-self:stretch;max-width:none}
.booking-card{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.booking-title{margin:0 0 6px;font-size:.76rem;font-weight:800;color:var(--muted)}
.booking-card ul{list-style:none;margin:0;padding:0;display:grid;gap:1px;font-size:.9rem;font-weight:700}
.booking-action{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:.8rem;font-weight:800;color:var(--live)}
.chat-note{margin:0;padding:12px 16px;border-top:1px solid var(--line);font-size:.74rem;line-height:1.45;color:var(--muted)}
.chat-compact .chat-log{padding:12px;gap:8px}
.chat-compact .msg>p{font-size:.8rem;padding:8px 11px}
.chat-compact .booking-card ul{font-size:.82rem}
/* Expansion: home hero */
.hero-home h1{font-size:clamp(2.6rem,4.9vw,4.25rem);max-width:15ch}
.hero-home .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}
/* Expansion: inner-page hero and breadcrumbs */
.page-hero{position:relative;overflow:hidden;background:var(--navy-deep);color:var(--white);padding:clamp(40px,6vw,76px) 0 clamp(64px,9vw,118px)}
.page-hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-280px;top:-330px;border:1px solid oklch(0.66 0.14 247/.26);box-shadow:0 0 0 80px oklch(0.66 0.14 247/.035),0 0 0 160px oklch(0.66 0.14 247/.025)}
.page-hero-grid{position:relative;display:grid;gap:clamp(40px,7vw,96px);align-items:center}
.page-hero-grid.has-aside{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.page-hero h1{max-width:17ch;margin:20px 0 22px;font-size:clamp(2.5rem,5vw,4.4rem)}
.page-hero h1 em{font-style:normal;color:var(--coral)}
.page-hero .hero-lede{max-width:58ch;margin-bottom:0}
.page-hero .button-row{margin-top:32px}
.page-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:20px;font-size:.86rem;font-weight:650;color:var(--footer-link)}
.page-hero-meta+h1{margin-top:14px}
.page-hero-aside{display:flex;justify-content:center}
.page-hero-aside .chat{width:min(100%,390px)}
.page-hero-copy>*{animation:hero-enter .58s var(--ease) both}
.page-hero-aside{animation:guide-enter .68s .14s var(--ease) both}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;font-size:.82rem;font-weight:650}
.crumbs li{display:flex;align-items:center;color:var(--white)}
.crumbs li+li:before{content:"/";margin:0 10px;color:oklch(0.55 0.03 247)}
.crumbs a{display:inline-flex;align-items:center;min-height:32px;color:var(--footer-link);text-decoration:none}
.crumbs a:hover{color:var(--white);text-decoration:underline}
.hero-intro-line .crumbs{margin:0}
.exhibit{width:100%;max-width:580px}
/* Expansion: services on the home page */
.services-section{background:var(--off)}
.service-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--navy)}
.service-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,.6fr);gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(30px,4vw,46px) 0;border-bottom:1px solid var(--line)}
.service-row h3{margin:0 0 12px;font-size:clamp(1.65rem,2.7vw,2.35rem)}
.service-row h3 a{text-decoration:none;transition:color .2s}
.service-arrow{display:inline-block;margin-left:.3em;color:var(--coral-dark);transition:transform .3s var(--ease)}
.service-row h3 a:hover{color:var(--coral-dark)}
.service-row h3 a:hover .service-arrow{transform:translateX(6px)}
.service-row-main p{margin:0;max-width:46ch;color:var(--muted)}
.service-examples{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:9px}
.service-examples li{position:relative;padding-left:22px;font-size:.92rem;font-weight:650;line-height:1.4}
.service-examples li:before{content:"";position:absolute;left:0;top:.65em;width:11px;height:2px;background:var(--coral)}
.service-proof{margin:8px 0 0;font-size:.88rem;line-height:1.6;color:var(--muted)}
.service-proof span{display:block;margin-bottom:4px;font-size:.74rem;font-weight:800;color:var(--coral-dark)}
.service-proof a{color:var(--ink);font-weight:750;text-decoration-color:var(--coral);text-underline-offset:3px}
.service-proof a:hover{color:var(--coral-dark)}
/* Expansion: work */
.work-section{background:var(--white)}
.work-section .split-heading>div>p{color:var(--muted);font-size:1.06rem;margin-bottom:6px}
.work-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;font-size:.84rem;font-weight:650;color:var(--muted)}
.demo-entry-copy h2,.demo-entry-copy h3{margin:0 0 6px;font-size:clamp(1.9rem,3.2vw,2.8rem)}
.work-headline{margin:0 0 14px;font-weight:750;color:var(--coral-dark)}
.demo-entry-copy>p:not(.work-meta):not(.work-headline){color:var(--muted);max-width:52ch}
/* Expansion: the assistant section */
.ai-section{position:relative;overflow:hidden;background:var(--navy-deep);color:var(--white);padding:clamp(85px,11vw,150px) 0}
.ai-section:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;left:-260px;bottom:-320px;background:oklch(0.66 0.14 247/.07)}
.ai-section .shell{position:relative}
.ai-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.ai-heading h2{max-width:15ch}
.ai-heading p{max-width:58ch;margin:0;font-size:1.06rem;color:var(--footer-link)}
.ai-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 22px}
.ai-section .text-link{color:var(--coral)}
.flow{margin:0 0 clamp(44px,6vw,72px)}
.flow-svg{display:block;width:100%;height:auto}
.flow-box{fill:var(--navy);stroke:oklch(1 0 0/.22);stroke-width:1.5}
.flow-key{fill:oklch(0.25 0.06 35/.55);stroke:var(--coral);stroke-width:2.5}
.flow-approved{fill:none;stroke:oklch(1 0 0/.34);stroke-dasharray:7 6}
.flow-name{font:800 22px var(--font-brand);fill:var(--white);text-anchor:middle;letter-spacing:-.01em}
.flow-note{font:500 16px var(--font-brand);fill:var(--footer-link);text-anchor:middle}
.flow-wires path{fill:none;stroke:oklch(0.66 0.14 247/.8);stroke-width:2}
.flow-arrowhead{fill:oklch(0.66 0.14 247)}
.flow-nodes circle{fill:var(--coral)}
.flow-pulse path{fill:none;stroke:var(--coral);stroke-width:3;stroke-linecap:round;stroke-dasharray:16 420;stroke-dashoffset:16;animation:flow-pulse 3.6s linear infinite}
.flow-pulse path:nth-child(2){animation-delay:1.1s}
.flow-pulse path:nth-child(3){animation-delay:2.2s}
@keyframes flow-pulse{from{stroke-dashoffset:16}to{stroke-dashoffset:-420}}
.flow-steps{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;list-style:none}
.ai-demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(32px,6vw,84px);align-items:start}
.ai-limits h3,.ai-today h3{margin:4px 0 18px;font-size:1.45rem}
.ai-limits ul{list-style:none;margin:0;padding:0;border-top:1px solid oklch(1 0 0/.2)}
.ai-limits li{position:relative;padding:15px 0 15px 34px;border-bottom:1px solid oklch(1 0 0/.12);color:var(--footer-link)}
.ai-limits li:before{content:"✕";position:absolute;left:4px;top:15px;color:var(--coral);font-weight:900}
.ai-today ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ai-today li{padding:18px 20px;border:1px solid oklch(1 0 0/.18);border-radius:12px}
.ai-today-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 8px}
.ai-today li>p:last-child{margin:0;font-size:.92rem;color:var(--footer-link)}
/* Expansion: process,commitments,capability lists */
.how-section,.approach-section{background:var(--off)}
.upfront-section{background:var(--white)}
.upfront-section h2{max-width:14ch;margin-bottom:clamp(36px,5vw,56px)}
.upfront-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 clamp(28px,4vw,56px);margin:0;border-top:1px solid var(--navy)}
.upfront-list div{padding:24px 0 28px;border-bottom:1px solid var(--line)}
.upfront-list dt{margin-bottom:8px;font-size:1.2rem;font-weight:800;letter-spacing:-.015em}
.upfront-list dd{margin:0;font-size:.95rem;color:var(--muted)}
.capability-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0 clamp(24px,3vw,44px)}
.capability-grid li{padding:26px 0 28px;border-top:1px solid var(--line)}
.capability-grid li:before{content:"";display:block;width:22px;height:3px;margin-bottom:18px;background:var(--coral)}
.capability-grid h3{margin:0 0 8px;font-size:1.16rem;letter-spacing:-.015em}
.capability-grid p{margin:0;font-size:.93rem;color:var(--muted)}
.capability-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.capability-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.faq-white{background:var(--white)}
.boundary-note{max-width:none;margin:clamp(40px,5vw,64px) 0 0;padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--muted)}
.boundary-note strong{color:var(--ink)}
.problems-section,.guardrails-section,.care-practices-section,.proof-section{background:var(--white)}
.build-section,.does-section,.fits-section,.principles-section,.tools-section{background:var(--off)}
.tick-list,.not-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tick-list li,.not-list li{position:relative;padding-left:28px}
.tick-list li:before,.not-list li:before{position:absolute;left:0;font-weight:900;color:var(--coral-dark)}
.tick-list li:before{content:"✓"}
.not-list li:before{content:"✕"}
/* Expansion: about,contact,websites proof band,404 brand */
.tools-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,90px);align-items:start}
.tools-layout p{color:var(--muted)}
.tool-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tool-list li{padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:.9rem;font-weight:700}
.contact-card{width:100%;max-width:440px;margin:0;padding:6px 24px;border:1px solid oklch(1 0 0/.2);border-radius:var(--radius)}
.contact-card div{padding:16px 0;border-bottom:1px solid oklch(1 0 0/.12)}
.contact-card div:last-child{border-bottom:0}
.contact-card dt{margin-bottom:2px;font-size:.76rem;font-weight:800;color:var(--blue)}
.contact-card dd{margin:0;font-size:1.12rem;font-weight:750;overflow-wrap:anywhere}
.contact-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--white);text-decoration:none}
.contact-card a:hover{text-decoration:underline}
.contact-section{background:var(--off)}
.contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,7vw,100px);align-items:start}
.contact-layout h2{margin-bottom:24px;font-size:clamp(1.9rem,3vw,2.6rem)}
.contact-note{margin:30px 0 0;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);font-size:.9rem;color:var(--muted)}
.proof-band{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin:34px 0 0;padding:12px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.proof-band-label{margin:0;font-size:.78rem;font-weight:800;color:var(--coral-dark)}
.proof-band ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 28px}
.proof-band li{display:flex;align-items:center;gap:10px}
.proof-band a{display:inline-flex;align-items:baseline;gap:8px;min-height:44px;padding-top:12px;text-decoration:none}
.proof-band a span{font-size:.86rem;color:var(--muted)}
.proof-band a:hover strong{text-decoration:underline}
.error-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:34px;color:var(--white);font-weight:800;text-decoration:none}
@media(max-width:900px){
.site-nav>a:not(.button){justify-content:center}
.site-nav .nav-menu{width:100%}
.site-nav .nav-menu summary{width:100%;justify-content:center;padding:10px;font-size:1rem}
.site-nav .nav-menu-panel{position:static;width:auto;margin:4px 0 8px;padding:4px;border:0;border-radius:14px;background:oklch(1 0 0/.06);box-shadow:none;animation:none}
.site-nav .nav-menu-panel:before,.site-nav .nav-menu-panel:after,.site-nav .nav-menu-text small,.site-nav .nav-menu-arrow,.site-nav .nav-menu-foot{display:none}
.site-nav .nav-menu-list a{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:8px 10px;text-align:left}
.site-nav .nav-menu-list a:hover,.site-nav .nav-menu-list a[aria-current]{background:oklch(1 0 0/.08)}
.site-nav .nav-menu-tile{width:32px;height:32px;border-radius:9px}
.site-nav .nav-menu-text strong{font-weight:600}
.hero-home .hero-grid,.page-hero-grid.has-aside,.demo-entry,.demo-entry.is-flipped,.ai-heading,.ai-demo-grid,.tools-layout,.contact-layout{grid-template-columns:minmax(0,1fr)}
.demo-entry.is-flipped .demo-entry-media{order:0}
.page-hero-aside{justify-content:flex-start}
.service-row{grid-template-columns:minmax(0,1fr);gap:18px}
.service-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px}
.ai-links{justify-content:flex-start}
.capability-grid-4,.capability-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.flow-svg{display:none}
.flow-steps{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;display:grid}
.flow-steps li{position:relative;display:grid;gap:4px;padding:16px 18px;border:1px solid oklch(1 0 0/.2);border-radius:12px;background:var(--navy)}
.flow-steps li+li{margin-top:30px}
.flow-steps li+li:before{content:"";position:absolute;left:28px;top:-31px;width:2px;height:30px;background:oklch(0.66 0.14 247/.8)}
.flow-steps li.is-key{border:2px solid var(--coral)}
.flow-steps strong{font-size:1.02rem}
.flow-steps span{font-size:.88rem;color:var(--footer-link)}
}
@media(max-width:650px){
.service-examples{grid-template-columns:minmax(0,1fr)}
.capability-grid-4,.capability-grid-3{grid-template-columns:minmax(0,1fr)}
.contact-card{padding:2px 18px}
.proof-band{padding:10px 18px}
}
@media(prefers-reduced-motion:reduce){
.status-live .status-dot,.flow-pulse path{animation:none}
.flow-pulse{display:none}
}
/* Demos: palettes for the three fictional businesses (contrast-checked like every token) */
:root{--tf-bg:oklch(0.975 0.012 75);--tf-ink:oklch(0.27 0.04 50);--tf-muted:oklch(0.47 0.035 55);--tf-accent:oklch(0.47 0.1 45);--tf-line:oklch(0.89 0.02 70);--tf-tint:oklch(0.93 0.03 70);--sm-accent:oklch(0.45 0.13 340);--sm-tint:oklch(0.95 0.025 340);--bb-ink:oklch(0.25 0.012 250);--bb-accent:oklch(0.85 0.16 92)}
/* Demos: shell,label,views */
.demo{position:relative;padding:clamp(16px,2.5vw,28px);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
.ai-section .demo{background:oklch(0.96 0.008 247)}
.demo-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:clamp(16px,2.5vw,24px)}
.demo-label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;font-size:.86rem;font-weight:650;color:var(--muted)}
.demo-views{display:none;gap:4px;padding:4px;border-radius:999px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.demo-views button{min-height:40px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--muted);font-size:.84rem;font-weight:750;cursor:pointer}
.demo-views button[aria-pressed=true]{background:var(--navy);color:var(--white)}
.demo-reset{min-height:40px;padding:0 16px;border:1px solid var(--muted);border-radius:999px;background:var(--white);color:var(--ink);font-size:.84rem;font-weight:750;cursor:pointer}
.demo-reset:hover{background:var(--surface)}
.demo:not([data-ready]) [data-demo-only]{display:none!important}
.demo-nojs{margin:16px 0 0;font-size:.84rem;color:var(--muted)}
.demo[data-ready] .demo-nojs{display:none}
.demo-stage{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(20px,3vw,40px);align-items:start}
.demo-stage-single{grid-template-columns:minmax(0,1fr)}
.demo-pane{min-width:0}
.demo-pane-title{margin:0 0 12px;font-size:.78rem;font-weight:800;color:var(--coral-dark)}
.demo-chat-only{padding:0;background:none}
.demo-chat-only .demo-bar{margin-bottom:14px}
.ai-section .demo-chat-only .demo-label{color:var(--footer-link)}
.ai-section .demo-chat-only .demo-reset{border-color:oklch(1 0 0/.4);background:none;color:var(--white)}
.ai-section .demo-chat-only .demo-reset:hover{background:oklch(1 0 0/.08)}
.ai-section>.shell>.demo{margin-bottom:clamp(36px,5vw,56px)}
.ai-after-demo{grid-template-columns:minmax(0,1fr)}
.ai-after-demo .ai-today ul{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Demos: a phone frame around live HTML */
.phone{width:min(100%,var(--phone-w,340px));margin-inline:auto;padding:8px;border-radius:38px;background:var(--navy-deep);box-shadow:inset 0 0 0 1px oklch(1 0 0/.14)}
.phone-screen{position:relative;display:flex;flex-direction:column;aspect-ratio:9/16;overflow:hidden;border-radius:30px;background:var(--tf-bg)}
.window-title{margin:0 0 0 8px;font-size:.74rem;font-weight:750;color:var(--muted)}
.window-chrome{color:var(--ink)}
/* Ti Four: customer app */
.tf-app{color:var(--tf-ink);font-size:14px;line-height:1.45}
.tf-top{padding:18px 18px 12px;border-bottom:1px solid var(--tf-line)}
.tf-brand{margin:0;font:700 1.4rem/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.01em}
.tf-sub{margin:3px 0 0;font-size:.76rem;color:var(--tf-muted)}
.tf-body{flex:1;overflow:auto;padding:2px 18px 18px;overscroll-behavior:contain}
.tf-cat-name{margin:16px 0 4px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tf-accent)}
.tf-items{list-style:none;margin:0;padding:0}
.tf-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--tf-line)}
.tf-item-text{min-width:0}
.tf-item-name{margin:0;font-size:.92rem;font-weight:700;line-height:1.3}
.tf-item-note{margin:1px 0 3px;font-size:.76rem;line-height:1.35;color:var(--tf-muted)}
.tf-item-price{margin:0;font-size:.82rem;font-weight:750}
.tf-item-act{flex:none}
.tf-add{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:36px;padding:0 14px;border:1.5px solid var(--tf-accent);border-radius:999px;background:transparent;color:var(--tf-accent);font-size:.8rem;font-weight:800;cursor:pointer}
.tf-add:hover,.tf-add.is-on{background:var(--tf-accent);color:var(--white)}
.tf-step{display:flex;align-items:center;border-radius:999px;background:var(--tf-accent);color:var(--white)}
.tf-step button{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer}
.tf-step span{min-width:16px;text-align:center;font-size:.85rem;font-weight:800}
.tf-footer{padding:12px 14px 14px;border-top:1px solid var(--tf-line);background:var(--tf-bg)}
.tf-footer:empty{display:none}
.tf-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:0 14px;border:0;border-radius:14px;background:var(--tf-ink);color:var(--white);font-size:.86rem;font-weight:800;cursor:pointer}
.tf-cta[disabled]{background:var(--tf-tint);color:var(--tf-muted);cursor:not-allowed}
.tf-cta-quiet{background:var(--tf-tint);color:var(--tf-ink)}
.tf-done-actions{display:grid;gap:8px}
.tf-screen{padding-bottom:4px}
.tf-back{margin:12px 0 2px;padding:6px 0;border:0;background:none;color:var(--tf-accent);font-size:.8rem;font-weight:800;cursor:pointer}
.tf-h{margin:16px 0 8px;font-size:.92rem;font-weight:800}
.tf-lines{list-style:none;margin:0;padding:0}
.tf-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:8px 0;border-bottom:1px solid var(--tf-line)}
.tf-lines .tf-step{grid-column:1/-1;justify-self:start}
.tf-line-name{font-size:.86rem;font-weight:700}
.tf-line-price{font-size:.84rem;font-weight:750}
.tf-empty{color:var(--tf-muted);font-size:.86rem}
.tf-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--tf-tint)}
.tf-seg button,.tf-slots button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--tf-ink);font-size:.84rem;font-weight:750;cursor:pointer}
.tf-seg button[aria-pressed=true]{background:var(--white);box-shadow:0 1px 0 var(--tf-line)}
.tf-field{display:grid;gap:4px;margin-top:10px;font-size:.78rem;font-weight:750;color:var(--tf-muted)}
.tf-field select{min-height:42px;padding:0 10px;border:1px solid var(--tf-muted);border-radius:10px;background:var(--white);color:var(--tf-ink);font:inherit;font-size:.86rem}
.tf-rule{margin:8px 0 0;font-size:.76rem;color:var(--tf-muted)}
.tf-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tf-slots button{display:grid;gap:0;min-height:48px;padding:4px;border:1px solid var(--tf-line);background:var(--white)}
.tf-slots small{font-size:.68rem;font-weight:650;color:var(--tf-muted)}
.tf-slots button[aria-pressed=true]{border-color:var(--tf-accent);background:var(--tf-accent);color:var(--white)}
.tf-slots button[aria-pressed=true] small{color:var(--white)}
.tf-slots button[disabled]{background:var(--tf-tint);color:var(--tf-muted);text-decoration:line-through;cursor:not-allowed}
.tf-slots button[disabled] small{text-decoration:none}
.tf-sum{margin:14px 0 0;padding-top:8px;border-top:1px solid var(--tf-line);font-size:.86rem}
.tf-sum div{display:flex;justify-content:space-between;padding:3px 0}
.tf-sum dd{margin:0;font-weight:750}
.tf-sum .is-total{font-size:.95rem;font-weight:800}
.tf-pay{margin:10px 0 0;font-size:.74rem;color:var(--tf-muted)}
.tf-problem{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:var(--tf-tint);font-size:.78rem;font-weight:700}
.tf-done{text-align:center;padding-top:24px}
.tf-check{display:grid;place-items:center;width:54px;height:54px;margin:0 auto;border-radius:50%;background:var(--live-bg);color:var(--live);font-size:1.5rem;font-weight:900}
.tf-done-meta{margin:0;font-size:.84rem;color:var(--tf-muted)}
.tf-progress{list-style:none;display:grid;gap:6px;margin:18px auto 0;padding:0;max-width:220px;text-align:left}
.tf-progress li{position:relative;padding:8px 12px 8px 34px;border-radius:10px;background:var(--white);font-size:.84rem;font-weight:650;color:var(--tf-muted)}
.tf-progress li:before{content:"";position:absolute;left:12px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;border:2px solid var(--tf-line)}
.tf-progress li.is-done{color:var(--tf-ink)}
.tf-progress li.is-done:before{border-color:var(--live);background:var(--live)}
.tf-progress li.is-now{color:var(--tf-ink);font-weight:800;box-shadow:inset 0 0 0 2px var(--tf-accent)}
.tf-progress li.is-now:before{border-color:var(--tf-accent);background:var(--tf-accent)}
.tf-done-note{margin:12px 0 0;font-size:.8rem;color:var(--tf-muted)}
.tf-cta{text-decoration:none}
/* Ti Four: kitchen screen */
.tf-kitchen{padding:16px;background:var(--white)}
.tf-k-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin-bottom:14px}
.tf-k-title{margin:0;font-size:1rem;font-weight:800}
.tf-k-slot{margin:0;font-size:.78rem;font-weight:700;color:var(--muted)}
.tf-k-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tf-k-col{min-width:0;padding:10px;border-radius:10px;background:var(--off)}
.tf-k-col-name{display:flex;justify-content:space-between;margin:0 0 8px;font-size:.76rem;font-weight:800;color:var(--muted)}
.tf-k-col ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.tf-order{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:.78rem}
.tf-order.is-mine{border-color:var(--tf-accent);box-shadow:0 0 0 2px var(--tf-accent);animation:order-in .5s var(--ease) both}
.tf-order.is-ready{opacity:.8}
.tf-order-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 4px}
.tf-order-top strong{font-size:.84rem}
.tf-order-top span:last-child{color:var(--muted);font-weight:650}
.tf-yours{padding:1px 7px;border-radius:999px;background:var(--tf-accent);color:var(--white);font-size:.66rem;font-weight:800}
.tf-order-items{margin:0 0 8px;line-height:1.4}
.tf-order-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin:0;color:var(--muted);font-weight:650}
.tf-order-foot button{min-height:32px;padding:0 10px;border:0;border-radius:8px;background:var(--navy);color:var(--white);font-size:.74rem;font-weight:800;cursor:pointer}
.tf-k-empty{padding:8px;font-size:.76rem;color:var(--muted)}
@keyframes order-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* Studio Mira: chat and staff calendar */
.sm-chat .chat-log{height:380px;overflow:auto;overscroll-behavior:contain;align-content:start}
.sm-chat .msg-customer>p{background:var(--sm-accent)}
.sm-chat .msg{animation:msg-in .32s var(--ease) both}
.chat-choices{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--line);background:var(--white)}
.chat-choices:empty{display:none}
.chip{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:1.5px solid var(--sm-accent);border-radius:999px;background:var(--white);color:var(--sm-accent);font-size:.84rem;font-weight:700;line-height:1.25;text-align:left;cursor:pointer}
button.chip:hover{background:var(--sm-tint)}
.msg-review .booking-card{margin-top:2px}
.msg-review .booking-card ul{display:grid;gap:2px;font-size:.88rem;font-weight:700}
.msg-typing p{display:flex;gap:4px;padding:12px 14px}
.msg-typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typing 1s infinite}
.msg-typing span:nth-child(2){animation-delay:.15s}
.msg-typing span:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.sm-cal{padding:16px;background:var(--white)}
.sm-cal-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.sm-cal-title{margin:0;font-size:1rem;font-weight:800}
.sm-days{display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--off)}
.sm-days button{min-height:36px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--muted);font-size:.8rem;font-weight:800;cursor:pointer}
.sm-days button[aria-pressed=true]{background:var(--sm-accent);color:var(--white)}
.sm-day-name{margin:12px 0 10px;font-size:.78rem;font-weight:800;color:var(--muted)}
.sm-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sm-col-name{margin:0 0 8px;font-size:.84rem;font-weight:800}
.sm-col ul{list-style:none;display:grid;gap:6px;margin:0;padding:0}
.sm-booking{display:grid;gap:1px;padding:8px 10px;border-radius:8px;background:var(--off);font-size:.78rem}
.sm-booking.is-new{background:var(--sm-tint);box-shadow:inset 0 0 0 2px var(--sm-accent);animation:order-in .5s var(--ease) both}
.sm-time{font-weight:800;color:var(--muted)}
.sm-booking.is-new .sm-time{color:var(--sm-accent)}
.sm-what{font-weight:650;line-height:1.35}
.sm-handovers{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.sm-handovers-title{margin:0 0 8px;font-size:.78rem;font-weight:800;color:var(--muted)}
.sm-handovers ul{list-style:none;display:grid;gap:6px;margin:0;padding:0}
.sm-handover{padding:8px 10px;border-radius:8px;background:var(--demo-bg);font-size:.8rem;line-height:1.4}
.sm-handover span{font-weight:800}
.sm-handover.is-new{animation:order-in .5s var(--ease) both}
.sm-none{font-size:.8rem;color:var(--muted)}
/* Brik & Boulon: back office */
.bb-app{background:var(--white)}
.bb-tabs{display:flex;gap:2px;padding:6px 12px 0;border-bottom:1px solid var(--line)}
.bb-tabs [role=tab]{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font-size:.86rem;font-weight:750;cursor:pointer}
.bb-tabs [role=tab][aria-selected=true]{border-bottom-color:var(--bb-ink);color:var(--bb-ink)}
.bb-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--bb-accent);color:var(--bb-ink);font-size:.72rem;font-weight:800}
.bb-panel{padding:16px}
.bb-panel[hidden]{display:none}
.demo[data-ready] .bb-panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.bb-panel-title{margin:0 0 10px;font-size:.78rem;font-weight:800;color:var(--muted)}
.bb-invoice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}
.bb-invoice-name{margin:0;font-size:.92rem;font-weight:800}
.bb-invoice-meta{margin:2px 0 0;font-size:.8rem;color:var(--muted)}
.bb-flag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--live-bg);color:var(--live);font-size:.72rem;font-weight:800;white-space:nowrap}
.bb-flag.is-low{background:var(--demo-bg);color:var(--coral-deeper)}
.bb-flag.is-new{background:var(--bb-accent);color:var(--bb-ink)}
.bb-lines-preview,.bb-preview-lines{list-style:none;margin:12px 0 0;padding:0;font-size:.78rem}
.bb-lines-preview[hidden]{display:none}
.bb-lines-preview li{display:flex;justify-content:space-between;gap:12px;padding:6px 2px;border-bottom:1px dashed var(--line);font:600 .76rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}
.bb-preview-lines li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line)}
.bb-src{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;font-weight:600;overflow-wrap:anywhere}
.bb-primary{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;padding:0 18px;border:0;border-radius:999px;background:var(--bb-ink);color:var(--white);font-size:.86rem;font-weight:800;cursor:pointer}
.bb-primary[disabled]{background:var(--line);color:var(--muted);cursor:not-allowed}
.bb-primary[hidden]{display:none}
.bb-reading{margin:14px 0 0;font-size:.88rem;font-weight:700;color:var(--muted)}
.bb-reading span{animation:typing 1s infinite}
.bb-table{width:100%;margin-top:12px;border-collapse:collapse;font-size:.82rem}
.bb-table th,.bb-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.bb-table thead th{font-size:.72rem;font-weight:800;color:var(--muted)}
.bb-table tbody th{font-weight:700}
.bb-table tr.is-check{background:oklch(0.97 0.04 92)}
.bb-table tr.is-updated{background:var(--live-bg)}
.bb-change{display:block;font-size:.72rem;font-weight:750;color:var(--coral-deeper)}
.bb-same{display:block;font-size:.72rem;color:var(--muted)}
.bb-plus{font-weight:800;color:var(--live)}
.bb-pick{display:grid;gap:6px;margin:0;padding:0;border:0}
.bb-pick legend{margin-bottom:4px;padding:0;font-size:.74rem;font-weight:800}
.bb-pick button{display:grid;gap:1px;padding:7px 10px;border:1.5px solid var(--bb-ink);border-radius:8px;background:var(--white);color:var(--bb-ink);font-size:.78rem;font-weight:750;text-align:left;cursor:pointer}
.bb-pick button small{font-size:.68rem;font-weight:650;color:var(--muted)}
.bb-pick button[aria-pressed=true]{background:var(--bb-ink);color:var(--white)}
.bb-pick button[aria-pressed=true] small{color:var(--line)}
.bb-note{margin:10px 0 0;font-size:.78rem;color:var(--muted)}
.bb-done{margin-top:14px;padding:14px 16px;border-radius:10px;background:var(--live-bg)}
.bb-done p{margin:6px 0 0;font-size:.86rem}
.bb-done-title{margin:0!important;font-weight:800;color:var(--live)}
.bb-done ul{margin:8px 0 0;padding-left:18px;font-size:.84rem}
.bb-reorder{list-style:none;display:grid;gap:6px;margin:0;padding:0}
.bb-reorder li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:8px;background:var(--off);font-size:.86rem;font-weight:650}
.bb-suggest{padding:2px 9px;border-radius:999px;background:var(--bb-accent);color:var(--bb-ink);font-size:.74rem;font-weight:800}
.bb-none{color:var(--muted);font-weight:500!important}
.bb-preview .bb-panel{padding:16px}
.demo-entry{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:center}
.demo-entry.is-flipped{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.demo-entry.is-flipped .demo-entry-media{order:2}
.demo-entry-media{display:flex;justify-content:center;align-items:flex-start;height:clamp(380px,40vw,500px);padding:clamp(24px,4vw,44px) clamp(16px,3vw,36px) 0;overflow:hidden;border-radius:var(--radius);background:var(--surface)}
.demo-entry-media .phone{--phone-w:290px;flex:none}
.demo-entry-media .window-chrome{width:100%;max-width:560px}
.demo-entry-media .chat{width:min(100%,400px)}
.demo-entry-media-business{align-items:center;padding-bottom:clamp(24px,4vw,44px);height:auto;min-height:clamp(320px,34vw,440px)}
.demo-entry-copy .button{margin-top:6px}
.demos-section{background:var(--white)}
.services-section .service-proof a{display:inline-flex;min-height:32px;align-items:center}
.page-hero-aside .chat,.page-hero-aside .window-chrome{width:min(100%,460px)}

.demo-section{background:var(--off);padding-top:clamp(48px,6vw,80px)}
.shows-section{background:var(--white)}
.real-section{background:var(--off)}
.proof-band-demo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0}
.proof-band a{padding-top:0;align-items:center}
@media(max-width:999px){
.demo-stage{grid-template-columns:minmax(0,1fr)}
.demo[data-ready] .demo-views{display:flex}
.demo[data-ready][data-view=customer] [data-pane=owner],.demo[data-ready][data-view=owner] [data-pane=customer]{display:none}
.demo[data-ready] .demo-pane-title{display:none}
}
@media(max-width:650px){
.demo{padding:12px}
.demo-chat-only{padding:0}
.demo-bar{flex-direction:column;align-items:stretch}
.demo-views{justify-content:stretch}
.demo-views button{flex:1}
.tf-k-cols{grid-template-columns:minmax(0,1fr)}
.sm-cols{grid-template-columns:minmax(0,1fr)}
.ai-after-demo .ai-today ul{grid-template-columns:minmax(0,1fr)}
.demo-entry-media{height:420px}
.demo-entry-media-business{height:auto}
.bb-table thead{display:none}
.bb-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--line)}
.bb-table tbody th{grid-column:1/-1}
.bb-table th,.bb-table td{padding:2px 0;border:0}
.bb-table td[data-label]:before{content:attr(data-label);display:block;font-size:.68rem;font-weight:800;color:var(--muted)}
.bb-table td:has(.bb-pick){grid-column:1/-1}
.bb-preview-lines li{grid-template-columns:minmax(0,1fr) auto}
.bb-preview-lines li span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){
.tf-order.is-mine,.sm-booking.is-new,.sm-handover.is-new,.sm-chat .msg,.msg-typing span,.bb-reading span{animation:none}
}
@media(min-width:1000px){.tf-done-actions [data-go=kitchen]{display:none}}
/* Pricing: setup is quoted separately */
.price-setup{margin:6px 0 0;font-size:.74rem;font-weight:750;color:var(--coral-dark)}
.popular .price-setup{color:var(--coral)}
@media(min-width:901px){.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Legal pages share the existing brand and navigation. Text remains readable without JS. */
.policy-heading{background:var(--navy-deep);color:var(--white);padding:48px 0 56px}
.policy-heading h1{font-size:clamp(2.5rem,6vw,4.75rem);max-width:20ch;margin:18px 0 22px}
.policy-intro{max-width:65ch;font-size:1.1rem;color:var(--footer-text)}
.policy-date{font-size:.85rem;color:var(--footer-text);margin-top:26px}
.policy-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:start;padding-top:52px;padding-bottom:90px}
.policy-toc{font-size:.88rem;line-height:1.5}
.policy-toc summary{font-size:1rem;font-weight:800;letter-spacing:0;padding:12px 0;cursor:pointer;min-height:44px}
.policy-toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.policy-toc li{border-bottom:1px solid var(--line)}
.policy-toc a{display:block;padding:11px 0;color:var(--navy);text-decoration:none}
.policy-toc a:hover{text-decoration:underline}
.policy-body{max-width:72ch;min-width:0;font-size:1rem;line-height:1.8;overflow-wrap:anywhere}
.policy-body section{margin:0 0 40px;scroll-margin-top:105px}
.policy-body h2{font-size:clamp(1.35rem,2.5vw,1.7rem);line-height:1.3;letter-spacing:-.015em;margin:0 0 14px}
.policy-body p{margin:0 0 16px}
.policy-body li{margin-bottom:12px}
.policy-body a,.policy-contact a{color:var(--coral-dark);text-decoration:underline;text-underline-offset:.2em}
.policy-draft{padding:22px 26px;border:1px solid var(--coral-dark);border-radius:var(--radius);background:var(--surface);margin-bottom:40px}
.policy-draft p{margin:8px 0 0}
.policy-contact{max-width:var(--shell)}
.policy-contact>p{max-width:72ch}
.admin-actions .button:disabled{cursor:not-allowed;opacity:.55}
.footer-legal{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:4px 20px}
@media(max-width:760px){.policy-layout{grid-template-columns:1fr;gap:36px;padding-top:32px}.policy-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.policy-toc a{min-height:44px}.policy-heading{padding:32px 0 40px}.policy-draft{padding:18px}.policy-body section{margin-bottom:32px}}
@media(max-width:390px){.policy-toc ol{grid-template-columns:1fr}}

/* ── Beyond Cloud assistant: website chat ─────────────────────────────────── */
:root{--z-chat:25}
.bc-chat{position:fixed;right:20px;bottom:20px;z-index:var(--z-chat);display:flex;flex-direction:column-reverse;align-items:flex-end;gap:12px;font-size:.95rem}
.bc-chat-launcher{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:12px 20px;border:0;border-radius:999px;background:var(--navy-deep);color:var(--white);font-weight:750;box-shadow:0 6px 0 oklch(0.13 0.035 247/.18);cursor:pointer;transition:transform .25s var(--ease),background .25s}
.bc-chat-launcher:hover{transform:translateY(-2px);background:var(--navy)}
.bc-chat-launcher-dot{width:10px;height:10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px oklch(0.67 0.17 35/.25)}
.bc-chat.is-open .bc-chat-launcher{background:var(--navy)}
.bc-chat-panel{width:min(380px,calc(100vw - 40px));height:min(560px,calc(100dvh - 120px));display:flex;flex-direction:column;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 0 oklch(0.20 0.045 247/.09)}
.bc-chat-panel[hidden]{display:none}
.bc-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--navy-deep);color:var(--white)}
.bc-chat-head h2{font-size:1.05rem;margin:0 0 2px;letter-spacing:-.01em;line-height:1.3}
.bc-chat-head p{margin:0;font-size:.78rem;color:oklch(0.82 0.018 247)}
.bc-chat-close{flex-shrink:0;width:44px;height:44px;margin:-8px -10px 0 0;border:0;border-radius:50%;background:none;color:var(--white);font-size:1.5rem;line-height:1;cursor:pointer}
.bc-chat-close:hover{background:oklch(1 0 0/.1)}
.bc-chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--off);overscroll-behavior:contain}
.bc-chat-msg{max-width:85%}
.bc-chat-msg p{margin:0;padding:10px 13px;border-radius:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.bc-chat-msg-assistant{align-self:flex-start}
.bc-chat-msg-assistant p{background:var(--white);border:1px solid var(--line);border-bottom-left-radius:4px}
.bc-chat-msg-you{align-self:flex-end}
.bc-chat-msg-you p{background:var(--navy);color:var(--white);border-bottom-right-radius:4px}
.bc-chat-status{min-height:0;padding:0 16px;font-size:.8rem;color:var(--muted);background:var(--off)}
.bc-chat-status:not(:empty){padding:6px 16px 10px}
.bc-chat.is-busy .bc-chat-status::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--coral);animation:bc-chat-pulse 1s ease-in-out infinite}
@keyframes bc-chat-pulse{50%{opacity:.25}}
.bc-chat-handoff{padding:14px 16px;border-top:1px solid var(--line);background:var(--surface)}
.bc-chat-handoff p{margin:0 0 10px;font-size:.88rem}
.bc-chat-handoff-links{display:flex;flex-wrap:wrap;gap:8px}
.bc-chat-secondary{background:var(--white);color:var(--ink);outline:1px solid var(--line)}
.bc-chat-compose{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--line)}
.bc-chat-compose[hidden]{display:none}
.bc-chat-compose textarea{flex:1;min-height:44px;max-height:140px;resize:vertical;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;color:var(--ink);background:var(--white)}
.bc-chat-compose textarea:focus-visible{outline:3px solid var(--blue-text);outline-offset:1px}
.bc-chat-send{min-height:44px;padding:0 16px;border:0;border-radius:10px;background:var(--coral-dark);color:var(--white);font-weight:750;cursor:pointer}
.bc-chat-send:hover{background:var(--coral-deeper)}
.bc-chat-send:disabled,.bc-chat-compose textarea:disabled{opacity:.55;cursor:progress}
.bc-chat-note{margin:0;padding:8px 14px 12px;font-size:.74rem;line-height:1.45;color:var(--muted)}
.bc-chat-note a{color:var(--blue-text)}
@media(max-width:600px){
  .bc-chat{right:12px;bottom:12px}
  .bc-chat.is-open{inset:0;align-items:stretch;gap:0}
  .bc-chat.is-open .bc-chat-launcher{display:none}
  .bc-chat-panel{width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){.bc-chat-launcher{transition:none}.bc-chat.is-busy .bc-chat-status::before{animation:none}}
@media print{.bc-chat{display:none}}

/* ── Owner control page ───────────────────────────────────────────────────── */
.admin-page{background:var(--surface)}
.admin-page [hidden]{display:none!important}
.admin-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(20px,calc((100% - 1180px)/2));background:var(--navy-deep);color:var(--white)}
.admin-top p{margin:0;font-weight:750;font-size:.9rem;color:oklch(0.82 0.018 247)}
.admin-main{width:var(--shell);margin:32px auto 80px;display:grid;gap:20px}
.admin-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.admin-panel h1{font-size:clamp(1.8rem,4vw,2.4rem);margin-bottom:16px}
.admin-panel h2{font-size:1.25rem;margin:0}
.admin-form{display:grid;gap:14px;max-width:420px}
.admin-form label{display:grid;gap:6px;font-weight:650;font-size:.9rem}
.admin-form input{min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px}
.admin-form button{justify-self:start}
.admin-qr{width:200px;height:200px;background:var(--white)}
.admin-secret code{font-size:.85rem;overflow-wrap:anywhere}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}
.admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.admin-switches{display:grid;gap:4px;margin:12px 0}
.admin-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.admin-switch strong,.admin-switch small{display:block}
.admin-switch small{color:var(--muted);font-size:.8rem}
.admin-toggle{min-width:72px;min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:750;cursor:pointer}
.admin-toggle.is-on{background:var(--navy);border-color:var(--navy);color:var(--white)}
.admin-hint{font-size:.82rem;color:var(--muted);margin:0}
.admin-alerts,.admin-conversations,.admin-thread{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.admin-alerts li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:oklch(0.95 0.04 60)}
.admin-alerts li.admin-empty{background:none;padding:6px 0;color:var(--muted)}
.admin-alerts strong,.admin-alerts small{display:block}
.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-actions .button,.admin-row .button,.admin-signout .button{background:var(--surface);color:var(--ink);outline:1px solid var(--line)}
.admin-actions .button-accent{background:var(--coral-dark);color:var(--white);outline:0}
.admin-danger{color:oklch(0.45 0.16 27)!important}
.admin-conversation{width:100%;display:grid;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit;cursor:pointer}
.admin-conversation:hover{border-color:var(--blue-text)}
.admin-conversation-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-channel{font-size:.78rem;color:var(--muted)}
.admin-preview{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-conversation small{color:var(--muted);font-size:.76rem}
.admin-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:750}
.admin-badge-ok{background:oklch(0.93 0.06 150);color:oklch(0.35 0.09 150)}
.admin-badge-warn{background:oklch(0.93 0.07 70);color:oklch(0.4 0.1 60)}
.admin-badge-muted{background:var(--surface);color:var(--ink)}
.admin-msg{max-width:min(640px,90%);padding:10px 12px;border-radius:12px;background:var(--surface)}
.admin-msg p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-msg small{color:var(--muted);font-size:.74rem}
.admin-msg-customer{justify-self:start}
.admin-msg-ai,.admin-msg-human{justify-self:end;background:oklch(0.93 0.03 247)}
.admin-msg-human{background:oklch(0.93 0.05 150)}
.admin-error{margin:0;padding:12px 14px;border-radius:10px;background:oklch(0.95 0.04 27);color:oklch(0.4 0.14 27)}
.admin-empty{color:var(--muted)}
.admin-coexistence{margin-bottom:20px}
.admin-coexistence>p{max-width:78ch}
.admin-coexistence-status{padding:12px 14px;background:var(--surface);border-radius:10px;overflow-wrap:anywhere}
.admin-coexistence-progress{display:grid;gap:8px;margin:16px 0;padding-left:20px;font-size:.88rem}
.admin-coexistence-choice{display:grid;gap:8px;max-width:620px;margin:16px 0}
.admin-coexistence-choice label{font-size:.9rem;font-weight:650}
.admin-coexistence-choice select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit;font-size:16px}
.admin-coexistence .admin-actions{margin-top:16px}
.admin-coexistence .button:disabled{cursor:not-allowed;opacity:.65}
.admin-coexistence-expiry{margin:12px 0 0;overflow-wrap:anywhere}

/* ── Redesign 2026-10: the wire,the switchboard,the route ────────────────────
   docs/design/redesign-plan.md. One device ties the site together: a thin wire with a
   coral node joins a choice to its result,and a single signal dot travels it once.
   Content is visible by default; motion only adds arrival,never gates it. */
:root{--wire:oklch(0.66 0.14 247/.45);--wire-light:var(--line);--sw-gap:clamp(36px,4.2vw,64px)}
.wire{position:absolute;display:block;pointer-events:none}
.wire-signal{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--white);box-shadow:0 0 0 4px oklch(0.67 0.17 35/.3);opacity:0}

/* Home hero: headline,then the switchboard. No decorative rings. */
.hero-home{min-height:0;display:block;padding:clamp(40px,5vw,72px) 0 clamp(72px,8vw,112px)}
.hero-home:after{display:none}
.hero-home h1{font-size:clamp(2.4rem,4vw,3.75rem);max-width:16ch;margin:0}

.sw{margin-top:clamp(36px,4.4vw,60px)}
.sw-ask{font-size:clamp(1.35rem,2vw,1.7rem);letter-spacing:-.02em;line-height:1.15;margin:0 0 18px;color:var(--white)}
.sw-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.sw-row{margin:0;font-size:inherit;letter-spacing:normal;line-height:inherit}
.sw-btn{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center;text-align:left;padding:17px 22px;border:0;border-top:1px solid oklch(0.29 0.052 247);border-radius:0;background:transparent;color:oklch(0.86 0.016 247);cursor:pointer;transition:background .25s var(--ease),color .25s,box-shadow .25s}
.sw-problem{font-size:clamp(1.2rem,1.75vw,1.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.sw-fix{grid-column:1;font-family:var(--font-brand);font-size:.92rem;font-weight:500;letter-spacing:0;color:oklch(0.78 0.02 247);margin-top:6px;line-height:1.45}
.sw-arrow{grid-column:2;grid-row:1/3;color:var(--coral);font-size:1.3rem;transition:transform .3s var(--ease)}
.sw-btn:hover{background:oklch(1 0 0/.04);color:var(--white)}
.sw-btn:hover .sw-arrow{transform:translateX(4px)}
.sw-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:12px}
.sw-row.is-active .sw-btn{background:var(--navy);color:var(--white);border-top-color:transparent;border-radius:12px;box-shadow:inset 0 0 0 1px oklch(0.67 0.17 35/.6)}
.sw-row.is-active+.sw-panel+.sw-row .sw-btn{border-top-color:transparent}
.sw-row.is-active .sw-arrow{transform:translateX(4px)}

.sw-panel[hidden]{display:none}
.sw-panel{background:var(--off);color:var(--ink);border-radius:var(--radius);padding:clamp(18px,2vw,26px);margin:10px 0 18px;display:flex;flex-direction:column}
.sw-tag{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:.8rem;font-weight:650;color:var(--muted)}
.sw-title{margin:8px 0 14px;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--navy-deep)}
.sw-preview{flex:1;display:grid;place-items:center;min-height:0;padding:clamp(12px,1.6vw,18px);border-radius:12px;background:var(--surface);overflow:hidden}
.sw-preview .window-chrome{width:100%;max-width:none;box-shadow:none}
.sw-preview .chat{width:min(100%,400px);box-shadow:none;border:1px solid var(--line)}
.sw-preview .sm-chat .chat-log{height:auto;overflow:visible}
.sw-preview .chat-log>li:nth-child(n+3){display:grid}
.sw-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:0 0 16px}
.sw-price{margin:0;max-width:40ch;font-size:.92rem;line-height:1.5;color:var(--muted)}
.sw-price strong{color:var(--navy-deep);font-weight:800}
.sw-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px}
.sw-actions .text-link{color:var(--coral-dark)}

/* Desktop: problems on the left,one panel on the right,joined by the wire.
   Only once script.js has enhanced it; without JavaScript every panel shows in turn. */
@media(min-width:901px){
  .sw.is-enhanced .sw-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:repeat(4,auto) 1fr;column-gap:var(--sw-gap);align-items:start}
  .sw.is-enhanced .sw-row{grid-column:1}
  .sw.is-enhanced .sw-row-1{grid-row:1}.sw.is-enhanced .sw-row-2{grid-row:2}.sw.is-enhanced .sw-row-3{grid-row:3}.sw.is-enhanced .sw-row-4{grid-row:4}
  .sw.is-enhanced .sw-panel{grid-column:2;grid-row:1/-1;margin:0;min-height:100%}
  .sw-preview{max-height:340px;place-items:start center;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
  .sw.is-enhanced .sw-row .sw-wire{left:100%;top:50%;width:var(--sw-gap);height:2px;background:var(--wire);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
  .sw.is-enhanced .sw-row .sw-wire:after{content:"";position:absolute;right:-6px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px var(--navy-deep)}
  .sw.is-enhanced .sw-row.is-active .sw-wire{transform:scaleX(1)}
  .sw.is-enhanced .sw-row.is-active .wire-signal{top:-4px;animation:sw-signal .75s .12s var(--ease) both}
}
@keyframes sw-signal{from{opacity:1;transform:translateX(0)}80%{opacity:1}to{opacity:0;transform:translateX(calc(var(--sw-gap) - 9px))}}
.sw-panel.is-entering{animation:sw-in .34s var(--ease) both}
@keyframes sw-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* One real demo moment per panel,played once when it first opens. */
.sw-panel.is-live .tf-k-col:first-child .tf-order,.sw-panel.is-live .sm-booking.is-new,.sw-panel.is-live .bb-preview-lines li:last-child,.sw-panel.is-live .chat-log>li:last-child{animation:sw-moment .7s .28s var(--ease) both}
@keyframes sw-moment{from{opacity:0;transform:translateY(-8px)}55%{opacity:1;box-shadow:0 0 0 3px oklch(0.67 0.17 35/.35)}to{opacity:1;transform:none;box-shadow:none}}

/* Services: the page,the system and the assistant,joined by one wire. */
.service-rows.is-wired{position:relative;border-top:0}
.service-rows.is-wired:before{content:"";position:absolute;left:5px;top:clamp(44px,5.6vw,62px);bottom:clamp(60px,7vw,90px);width:2px;background:var(--wire-light)}
.service-rows.is-wired .service-row{position:relative;padding-left:clamp(34px,4vw,48px)}
.service-node{position:absolute;left:0;top:calc(clamp(30px,4vw,46px) + .55em);width:12px;height:12px;border-radius:50%;background:var(--coral-dark);box-shadow:0 0 0 5px var(--off)}
.service-price{margin-top:12px!important;font-size:.88rem;font-weight:800;color:var(--navy)!important}
.services-section .service-proof a{display:inline;padding:11px 0;line-height:1.5;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.service-proof .service-proof-arrow{display:inline-block;margin:0 0 0 .3em;font-size:inherit;font-weight:inherit;color:var(--coral-dark);transition:transform .25s var(--ease)}
.service-proof a:hover .service-proof-arrow{transform:translateX(3px)}

/* How a project runs: five steps on one wire,filled once as it arrives. */
.route-section{background:var(--white)}
.route{position:relative;--route-gap:clamp(18px,2.4vw,32px);--route-n:5}
.route-n3{--route-n:3}.route-n4{--route-n:4}.route-n6{--route-n:6}
.route-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--route-gap)}
.route-steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}.route-steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}.route-steps-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.route-wire{left:22px;right:calc((100% - (var(--route-n) - 1) * var(--route-gap)) / var(--route-n) - 22px);top:21px;height:2px;background:var(--wire-light);overflow:hidden}
.route-wire:after{content:"";position:absolute;inset:0;background:var(--coral-dark);transform-origin:left}
.route-node{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--white);border:2px solid var(--coral-dark);color:var(--coral-dark);font-weight:850;font-size:.95rem}
.route-step h3{margin:18px 0 8px;font-size:1.15rem;letter-spacing:-.015em}
.route-step p{margin:0;font-size:.92rem;color:var(--muted)}
.motion-ok .route-wire:after{transform:scaleX(0)}
.motion-ok .route.reveal .route-wire:after{animation:route-fill 1.3s .15s var(--ease) forwards}
@keyframes route-fill{to{transform:scaleX(1)}}
@keyframes route-fill-y{to{transform:scaleY(1)}}

/* Straight answers: the sixth cell is the price,not an empty slot. */
.upfront-list .upfront-price{align-self:stretch;margin:18px 0;padding:24px;border:0;border-radius:var(--radius);background:var(--navy);color:var(--white)}
.upfront-price dt{font-size:1.35rem}
.upfront-price dd{color:oklch(0.84 0.016 247)}
.upfront-price a{display:flex;width:max-content;align-items:center;gap:.4em;min-height:44px;margin-top:8px;font-weight:800;color:var(--white);text-decoration:none}
.upfront-price a:hover{color:var(--coral)}

@media(max-width:900px){
  .hero-home h1{max-width:18ch}
  .sw-panel{margin:8px 0 16px}
  .route-steps{grid-template-columns:minmax(0,1fr);gap:26px}
  .route-wire{display:none}
  .route-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px}
  .route-step:not(:last-child):before,.route-step:not(:last-child):after{content:"";position:absolute;left:21px;top:22px;width:2px;height:calc(100% + 26px);background:var(--wire-light)}
  .route-step:not(:last-child):after{background:var(--coral-dark);transform-origin:top}
  .route-dark .route-step:not(:last-child):before{background:oklch(1 0 0/.16)}
  .route-dark .route-step:not(:last-child):after{background:var(--coral)}
  .motion-ok .route-step:not(:last-child):after{transform:scaleY(0)}
  .motion-ok .route.reveal .route-step:not(:last-child):after{animation:route-fill-y .35s linear forwards}
  .motion-ok .route.reveal .route-step:nth-child(2):after{animation-delay:.35s}.motion-ok .route.reveal .route-step:nth-child(3):after{animation-delay:.7s}.motion-ok .route.reveal .route-step:nth-child(4):after{animation-delay:1.05s}.motion-ok .route.reveal .route-step:nth-child(5):after{animation-delay:1.4s}
  .route-step .route-node{grid-row:1/3}
  .route-step h3{grid-column:2;margin:10px 0 6px}
  .route-step p{grid-column:2}
}
@media(max-width:650px){
  .hero-home h1{font-size:clamp(2.2rem,10.4vw,2.75rem)}
  .sw-btn{padding:18px 16px}
  .sw-foot{flex-direction:column;align-items:stretch}
  .sw-actions{flex-direction:column;align-items:stretch}
  .sw-actions .text-link{justify-content:center}
  .sw-preview{padding:12px}
  .sw-preview-kitchen .tf-k-col:last-child,.sw-preview-kitchen .tf-k-slot{display:none}
}
@media(prefers-reduced-motion:reduce){
  .sw-panel.is-entering,.sw-panel.is-live *,.sw-row.is-active .wire-signal{animation:none!important}
  .sw-row .sw-wire{transition:none}
  .motion-ok .route-wire:after,.motion-ok .route-step:after{transform:none!important;animation:none!important}
}

/* Inner-page heroes: the decorative rings are gone; each page's own visual leads. */
.hero:after,.page-hero:before{display:none}
.page-hero-aside .window-chrome{box-shadow:0 24px 48px -20px oklch(0.02 0.02 247/.7)}


/* Pricing: the package ladder (hero),tags under headings,no stripes,process on a route. */
.ladder{position:relative;padding-top:22px;border-top:1px solid oklch(1 0 0/.28)}
.ladder-title{margin:0 0 14px;font-size:1.05rem;letter-spacing:-.01em;line-height:1.3;color:var(--white)}
.ladder-rail{position:relative}
.ladder-steps{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ladder-step{position:relative}
.ladder-step:before,.ladder-step:after{content:"";position:absolute;left:7px;width:2px;top:0;bottom:-4px;background:oklch(1 0 0/.16)}
.ladder-step:after{background:oklch(0.66 0.14 247/.75);transform-origin:top}
.ladder-step:first-child:before,.ladder-step:first-child:after{top:50%}
.ladder-step:last-child:before,.ladder-step:last-child:after{bottom:50%}
.ladder-step a{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:12px 12px 12px 0;border-radius:10px;color:inherit;text-decoration:none;transition:background .2s var(--ease)}
.ladder-node{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:var(--navy-deep);border:2px solid oklch(0.66 0.14 247/.85);transition:border-color .2s,background .2s}
.ladder-text strong{display:block;font-size:1rem;line-height:1.3}
.ladder-text small{display:block;margin-top:2px;font-size:.82rem;line-height:1.4;color:oklch(0.76 0.02 247)}
.ladder-price{font-weight:850;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ladder-price small{display:block;margin-top:2px;font-size:.72rem;font-weight:750;color:var(--coral)}
.ladder-step.is-popular .ladder-node{background:var(--coral);border-color:var(--coral)}
.ladder-step a:hover{background:oklch(1 0 0/.05)}
.ladder-step a:hover .ladder-node{border-color:var(--coral)}
.ladder-compare{display:inline-flex;align-items:center;gap:.4em;min-height:44px;margin-top:10px;font-weight:750;color:var(--coral);text-decoration:none}
.motion-ok .ladder-step a{animation:ladder-in .5s var(--ease) both}
.motion-ok .ladder-step:after{animation:ladder-fill .4s linear both}
.motion-ok .ladder-step:nth-child(1) a{animation-delay:.2s}.motion-ok .ladder-step:nth-child(2) a{animation-delay:.35s}.motion-ok .ladder-step:nth-child(3) a{animation-delay:.5s}.motion-ok .ladder-step:nth-child(4) a{animation-delay:.65s}
.motion-ok .ladder-step:nth-child(1):after{animation-delay:.3s}.motion-ok .ladder-step:nth-child(2):after{animation-delay:.45s}.motion-ok .ladder-step:nth-child(3):after{animation-delay:.6s}.motion-ok .ladder-step:nth-child(4):after{animation-delay:.75s}
@keyframes ladder-fill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes ladder-in{from{opacity:.25;transform:translateX(10px)}to{opacity:1;transform:none}}
.care-card h3,.coverage-card h3{margin-top:0}
.care-card>p.care-tag,.coverage-card>p.coverage-tag{margin:0 0 12px;font-size:.84rem;font-weight:800;line-height:1.4;color:var(--coral-dark)}
.coverage-card.dark>p.coverage-tag{color:var(--coral)}
.care-card.featured>p.care-tag{color:var(--navy-deep)}
.package-card.popular{overflow:visible}
.package-card.popular .popular-tag{top:-13px;right:auto;left:26px;box-shadow:0 0 0 3px var(--off)}
.route-dark .route-wire{background:oklch(1 0 0/.16)}
.route-dark .route-wire:after{background:var(--coral)}
.route-dark .route-node{background:var(--navy-deep);border-color:var(--coral);color:var(--coral)}
.route-dark .route-step h3{color:var(--white)}
.route-dark .route-step p{color:oklch(0.8 0.02 247)}
.process-section .section-heading{margin-bottom:clamp(36px,5vw,56px)}
.hero-websites{min-height:0;padding:clamp(48px,6vw,88px) 0 clamp(64px,7vw,104px)}
.hero-websites .hero-grid{align-items:center}
.hero-websites h1{font-size:clamp(2.6rem,5.4vw,4.75rem)}
@media(prefers-reduced-motion:reduce){.motion-ok .ladder-step a,.motion-ok .ladder-step:after{animation:none}}
.custom-section:before{display:none}
@media(max-width:650px){.package-card.popular{margin-top:30px}}

/* Business systems & AI pages: problem → fix pairs,nodes on the capability grids,the dark proof band,and each hero's one moment (invoice lines matching, a conversation). */
.problems-section,.guardrails-section,.proof-section,.care-practices-section{--section-bg:var(--white)}
.build-section,.does-section,.fits-section,.principles-section,.tools-section{--section-bg:var(--off)}
.pairs{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.pair{display:flex;align-items:center;padding:24px 0;border-top:1px solid var(--line)}
.pair-problem{flex:0 1 auto;margin:0;max-width:52ch;font-size:clamp(1.02rem,1.3vw,1.16rem);line-height:1.5;color:var(--ink)}
.pair-wire{position:relative;flex:1 1 48px;height:2px;margin:0 0 0 20px;background:var(--wire-light)}
.pair-fix{flex:0 0 clamp(200px,22vw,280px)}
.pair-wire:after{content:"";position:absolute;inset:0;background:var(--coral-dark);transform-origin:left}
.pair-fix{display:flex;align-items:center;gap:12px;margin:0;font-weight:800;font-size:1.02rem;line-height:1.35;color:var(--navy)}
.pair-fix:before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--coral-dark)}
.motion-ok .pair-wire:after{transform:scaleX(0)}
.motion-ok .pair.reveal .pair-wire:after{animation:route-fill .6s calc(var(--delay,0ms) + 120ms) var(--ease) forwards}
.capability-grid li{position:relative}
.capability-grid li:before{position:absolute;left:0;top:-6px;width:11px;height:11px;margin:0;border-radius:50%;background:var(--coral-dark);box-shadow:0 0 0 4px var(--section-bg,var(--off))}
.capability-checks li{padding-left:44px}
.capability-checks li:before{top:26px;width:26px;height:26px;background:var(--navy);box-shadow:none}
.capability-checks li:after{content:"";position:absolute;left:9px;top:30px;width:8px;height:13px;border:solid var(--white);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.proof-dark{background:var(--navy-deep);color:var(--white);--section-bg:var(--navy-deep)}
.proof-dark .section-heading>p:last-child{color:oklch(0.8 0.02 247)}
.proof-dark .demo-entry-media{background:oklch(0.2 0.045 247)}
.proof-dark .work-meta,.proof-dark .demo-entry-copy>p:not(.work-meta):not(.work-headline){color:oklch(0.8 0.02 247)}
.proof-dark .work-headline{color:var(--coral)}
.approach-section .route{margin-bottom:8px}
.motion-ok .page-hero .bb-preview-lines li{animation:bb-line .45s var(--ease) both}
.motion-ok .page-hero .bb-preview-lines .bb-flag,.motion-ok .page-hero .bb-invoice .bb-flag{animation:bb-flag .3s var(--ease) both}
.motion-ok .page-hero .bb-preview-lines li:nth-child(1){animation-delay:.45s}.motion-ok .page-hero .bb-preview-lines li:nth-child(1) .bb-flag{animation-delay:.85s}
.motion-ok .page-hero .bb-preview-lines li:nth-child(2){animation-delay:.75s}.motion-ok .page-hero .bb-preview-lines li:nth-child(2) .bb-flag{animation-delay:1.15s}
.motion-ok .page-hero .bb-preview-lines li:nth-child(3){animation-delay:1.05s}.motion-ok .page-hero .bb-preview-lines li:nth-child(3) .bb-flag{animation-delay:1.45s}
.motion-ok .page-hero .bb-invoice .bb-flag{animation-delay:1.75s}
@keyframes bb-line{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes bb-flag{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.page-hero-aside .sm-hero{width:min(100%,420px)}
.sm-hero .chat-log{height:auto;overflow:visible}
.sm-hero .msg{animation:none}
.motion-ok .sm-hero .msg{animation:msg-in .4s var(--ease) both}
.motion-ok .sm-hero .msg:nth-child(1){animation-delay:.25s}.motion-ok .sm-hero .msg:nth-child(2){animation-delay:.9s}.motion-ok .sm-hero .msg:nth-child(3){animation-delay:1.5s}.motion-ok .sm-hero .msg:nth-child(4){animation-delay:2.3s}.motion-ok .sm-hero .msg:nth-child(5){animation-delay:2.9s}
@media(max-width:650px){
  .pair{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 0}
  .pair-fix{flex:none}
  .pair-wire{display:none}
  .capability-checks li{padding-left:40px}
}
@media(prefers-reduced-motion:reduce){
  .motion-ok .pair-wire:after{transform:none;animation:none}
  .motion-ok .page-hero .bb-preview-lines li,.motion-ok .page-hero .bb-flag,.motion-ok .sm-hero .msg{animation:none}
}
.bb-stock-lines{list-style:none;margin:12px 0 0;padding:0;font-size:.8rem}
.bb-stock-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:12px;padding:8px 6px;border-bottom:1px solid var(--line)}
.bb-stock-lines li>.bb-flag{justify-self:end}
.bb-stock-lines li.is-updated{background:var(--live-bg)}
.bb-stock-lines li.is-check{background:oklch(0.97 0.04 92)}
.bb-qty{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted)}
.bb-now{font-weight:800;color:var(--ink)}
.bb-was{text-decoration:line-through}
.motion-ok .demo-entry.reveal .bb-stock-lines li.is-updated{animation:bb-row 1s var(--ease) both}
.motion-ok .demo-entry.reveal .bb-stock-lines li.is-updated .bb-now{animation:bb-flag .35s var(--ease) both}
.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(1),.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(1) .bb-now{animation-delay:.4s}
.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(2),.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(2) .bb-now{animation-delay:.6s}
.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(3),.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(3) .bb-now{animation-delay:.8s}
.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(6),.motion-ok .demo-entry.reveal .bb-stock-lines li:nth-child(6) .bb-now{animation-delay:1s}
@keyframes bb-row{from{background:transparent}to{background:var(--live-bg)}}
.proof-dark .demo-entry-media{height:auto;min-height:0;padding:clamp(24px,4vw,44px) clamp(16px,3vw,36px);align-items:center}
@media(max-width:650px){.bb-stock-lines li{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}.bb-stock-lines li>.bb-flag{grid-column:2;grid-row:1}.bb-stock-lines .bb-qty{grid-column:1}}
@media(prefers-reduced-motion:reduce){.motion-ok .demo-entry.reveal .bb-stock-lines li,.motion-ok .demo-entry.reveal .bb-now{animation:none}}
@media(max-width:900px){.demo-entry,.demo-entry.is-flipped{grid-template-columns:minmax(0,1fr)}.demo-entry.is-flipped .demo-entry-media{order:0}}
.ai-section:before{display:none}
.fits-section .before-list li{grid-template-columns:12px minmax(0,1fr);column-gap:18px;align-items:center}
.fits-section .before-list li:before{content:"";width:12px;height:12px;box-sizing:border-box;border-radius:50%;border:2px solid var(--coral-dark)}
.custom-route li>span{color:var(--navy-deep)!important}
.popular-tag{font-size:.72rem}
.ladder-price small{font-size:.75rem}

/* About,Contact and Demos (phase 4): facts at a glance,habits on a wire,checklists,the first message,and the demo tiles. */
.glance{width:min(100%,440px);padding-top:22px;border-top:1px solid oklch(1 0 0/.28)}
.glance-title{margin:0 0 6px;font-size:1.05rem;letter-spacing:-.01em;line-height:1.3;color:var(--white)}
.glance-list{margin:0}
.glance-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid oklch(1 0 0/.12)}
.glance-list>div:last-child{border-bottom:0}
.glance-list dt{font-size:.82rem;font-weight:750;line-height:1.6;color:oklch(0.76 0.02 247)}
.glance-list dd{margin:0;font-weight:700;line-height:1.45}
.glance-list a{color:var(--coral);text-underline-offset:.2em}
.motion-ok .glance-list>div{animation:ladder-in .5s var(--ease) both}
.motion-ok .glance-list>div:nth-child(1){animation-delay:.2s}.motion-ok .glance-list>div:nth-child(2){animation-delay:.3s}.motion-ok .glance-list>div:nth-child(3){animation-delay:.4s}.motion-ok .glance-list>div:nth-child(4){animation-delay:.5s}.motion-ok .glance-list>div:nth-child(5){animation-delay:.6s}
.route-plain .route-node{width:14px;height:14px;margin:15px;border:0;background:var(--coral-dark);box-shadow:0 0 0 5px var(--section-bg,var(--off))}
.check-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,44px);border-bottom:1px solid var(--line)}
.check-list li{position:relative;padding:20px 0 20px 42px;border-top:1px solid var(--line);line-height:1.55;color:var(--ink)}
.check-list li:before{content:"";position:absolute;left:0;top:19px;width:26px;height:26px;border-radius:50%;background:var(--navy)}
.check-list li:after{content:"";position:absolute;left:9px;top:24px;width:8px;height:13px;border:solid var(--white);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.care-practices-section{background:var(--navy-deep);color:var(--white);--section-bg:var(--navy-deep)}
.care-practices-section .section-heading>p,.care-practices-section .split-heading>p{color:oklch(0.8 0.02 247)}
.care-practices-section .check-list,.care-practices-section .check-list li{border-color:oklch(1 0 0/.14)}
.care-practices-section .check-list li{color:var(--white)}
.care-practices-section .check-list li:before{background:var(--coral)}
.care-practices-section .check-list li:after{border-color:var(--navy-deep)}
.contact-hero .page-hero-aside{flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:460px;justify-self:end}
.first-message{margin:0;overflow:hidden;border-radius:var(--radius);background:var(--off);color:var(--ink)}
.first-message-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--white);font-size:.82rem;font-weight:700;color:var(--muted)}
.first-message-to{font-weight:800;color:var(--ink)}
.first-message-log{display:grid;justify-items:end;gap:8px;padding:22px 18px 18px}
.first-message-bubble{max-width:30ch;margin:0;padding:11px 14px;border-radius:16px 16px 5px 16px;background:var(--navy);color:var(--white);font-size:.95rem;line-height:1.45}
.first-message-note{margin:0;font-size:.78rem;font-weight:650;color:var(--muted)}
.motion-ok .first-message-bubble{animation:msg-in .45s .5s var(--ease) both}
.motion-ok .first-message-note{animation:msg-in .45s .9s var(--ease) both}
.contact-hero .contact-card{max-width:none}
.contact-card p{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px;margin:0;padding:4px 0;border-bottom:1px solid oklch(1 0 0/.12)}
.contact-card p:last-child{border-bottom:0}
.contact-card-label{font-size:.78rem;font-weight:800;color:var(--blue)}
.contact-card p a{font-weight:750;overflow-wrap:anywhere}
.contact-section .split-heading .contact-note{margin:0;padding:0;border:0;background:none;font-size:.95rem}
.next-section{background:var(--navy-deep);color:var(--white)}
.demo-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.2vw,32px);align-items:stretch}
.demo-tile{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.demo-tile-media{position:relative;display:flex;justify-content:center;align-items:flex-start;height:330px;padding:28px 20px 0;overflow:hidden;background:var(--surface)}
.demo-tile-media:after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(oklch(0.94 0.008 247/0),var(--surface))}
.demo-tile-media .phone{--phone-w:250px;flex:none}
.demo-tile-media .window-chrome{width:100%}
.demo-tile-media .chat{width:min(100%,360px)}
.demo-tile-copy{display:flex;flex:1;flex-direction:column;padding:clamp(20px,2vw,28px)}
.demo-tile-copy h2{margin:0 0 6px;font-size:clamp(1.7rem,2.4vw,2.2rem)}
.demo-tile-copy>p:not(.work-meta):not(.work-headline){color:var(--muted);font-size:.95rem}
.demo-tile-shows{list-style:none;margin:4px 0 24px;padding:0;display:grid;gap:8px;font-size:.9rem;font-weight:700}
.demo-tile-shows li{position:relative;padding-left:22px}
.demo-tile-shows li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--coral-dark)}
.demo-tile-copy .button{align-self:flex-start;margin-top:auto}
.motion-ok .demo-tile.reveal .chat-log>li:nth-child(2),.motion-ok .demo-tile.reveal .bb-preview-lines li:first-child .bb-flag,.motion-ok .demo-tile.reveal .tf-add.is-on{animation:sw-moment .7s .35s var(--ease) both}
@media(max-width:1100px){
  .demo-tiles{grid-template-columns:minmax(0,1fr)}
  .demo-tile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .demo-tile-media{height:auto;min-height:380px}
}
@media(max-width:900px){.contact-hero .page-hero-aside{justify-self:start}}
@media(max-width:700px){
  .demo-tile{display:flex}
  .demo-tile-media{height:300px;min-height:0}
  .check-list{grid-template-columns:minmax(0,1fr)}
  .glance-list>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .demo-tile-copy .button{align-self:stretch}
}
.demos-section{padding-top:clamp(48px,6vw,88px)}
.demo-tile .work-meta{flex-direction:column;align-items:flex-start;gap:8px}
.cmp-picker label{font-size:.8rem;letter-spacing:0;text-transform:none}
.cmp-swap{font-size:.72rem}
.ai-proof{margin:clamp(40px,5vw,64px) 0}
.ai-section .demo-entry-media{height:auto;min-height:0;padding:clamp(24px,4vw,44px) clamp(16px,3vw,36px);align-items:center;background:oklch(0.2 0.045 247)}
.ai-section .work-meta,.ai-section .demo-entry-copy>p:not(.work-meta):not(.work-headline){color:oklch(0.8 0.02 247)}
.ai-section .work-headline{color:var(--coral)}

/* Home v2 (docs/design/home-v2-plan.md): the introduction, the demo orbit (below),
   service moments, the problem picker as a dark band, and the route that keeps walking.
   Loops run only under .motion-ok and only while their [data-loop] is on screen. */
.motion-ok [data-loop]:not(.is-playing) *,.motion-ok [data-loop]:not(.is-playing) *::before,.motion-ok [data-loop]:not(.is-playing) *::after,
.is-hidden [data-loop] *,.is-hidden [data-loop] *::before,.is-hidden [data-loop] *::after{animation-play-state:paused!important}
.hero-home{padding:clamp(40px,5vw,64px) 0 clamp(36px,4vw,52px)}
.hero-facts{margin:18px 0 0;font-size:.86rem;font-weight:600;line-height:1.5;color:oklch(0.78 0.02 247)}
.hero-facts strong{font-weight:800;color:var(--white)}
.hero-facts span{margin:0 .3em}


/* What we build: each service with three moments from its demo, joined by the line. */
.services-section .service-row{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}
.service-tags{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.service-tags li{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:.82rem;font-weight:700;line-height:1.3}
.moments{display:flex;flex-direction:column;gap:16px;padding:clamp(20px,2.4vw,28px);border-radius:var(--radius);background:var(--navy)}
.moments-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.moment{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:14px}
.moment-node{position:relative;z-index:1;width:14px;height:14px;margin-left:4px;border:2px solid var(--coral);border-radius:50%;background:var(--navy)}
.moment:not(:last-child):before,.moment:not(:last-child):after{content:"";position:absolute;left:10px;top:50%;width:2px;height:calc(100% + 12px);background:oklch(0.34 0.055 247)}
.moment:not(:last-child):after{background:var(--coral);transform-origin:top}
.moment-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 12px 10px 16px;border:1px solid oklch(0.32 0.05 247);border-radius:12px;background:oklch(0.2 0.045 247)}
.moment-card p{margin:0;font-size:.92rem;font-weight:700;line-height:1.4;color:var(--white)}
.moments-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px}
.moments-foot>span{font-size:.76rem;color:oklch(0.72 0.03 247)}
.services-section .moments .service-proof{margin:0}
.services-section .moments .service-proof a{color:var(--coral);font-weight:800;text-decoration:none}
.services-section .moments .service-proof a:hover{text-decoration:underline}
.moments .service-proof .service-proof-arrow{color:var(--coral)}
.motion-ok .moment-card{animation:9s var(--ease) infinite both}
.motion-ok .moment-1 .moment-card{animation-name:mo-1}.motion-ok .moment-2 .moment-card{animation-name:mo-2}.motion-ok .moment-3 .moment-card{animation-name:mo-3}
.motion-ok .moment-1:after{animation:ml-1 9s linear infinite}.motion-ok .moment-2:after{animation:ml-2 9s linear infinite}
.motion-ok .moment-node{animation:9s linear infinite both}
.motion-ok .moment-1 .moment-node{animation-name:mn-1}.motion-ok .moment-2 .moment-node{animation-name:mn-2}.motion-ok .moment-3 .moment-node{animation-name:mn-3}
@keyframes mo-1{0%,4%{opacity:0;transform:translateX(-8px)}9%,84%{opacity:1;transform:none}93%,100%{opacity:0;transform:none}}
@keyframes mo-2{0%,22%{opacity:0;transform:translateX(-8px)}27%,84%{opacity:1;transform:none}93%,100%{opacity:0;transform:none}}
@keyframes mo-3{0%,40%{opacity:0;transform:translateX(-8px)}45%,84%{opacity:1;transform:none}93%,100%{opacity:0;transform:none}}
@keyframes ml-1{0%,9%{transform:scaleY(0)}22%,88%{transform:scaleY(1)}93%,100%{transform:scaleY(0)}}
@keyframes ml-2{0%,27%{transform:scaleY(0)}40%,88%{transform:scaleY(1)}93%,100%{transform:scaleY(0)}}
@keyframes mn-1{0%,4%{background:var(--navy)}6%,88%{background:var(--coral)}93%,100%{background:var(--navy)}}
@keyframes mn-2{0%,22%{background:var(--navy)}24%,88%{background:var(--coral)}93%,100%{background:var(--navy)}}
@keyframes mn-3{0%,40%{background:var(--navy)}42%,88%{background:var(--coral)}93%,100%{background:var(--navy)}}

/* What is slowing you down? The problem picker as its own dark band. */
.sw-section{background:var(--navy-deep);color:var(--white)}
.sw-section .split-heading>p{color:oklch(0.8 0.02 247)}
.sw-section .sw-ask{margin:0;font-size:clamp(2.35rem,4.8vw,4.5rem);line-height:1.02;letter-spacing:-.035em}
.sw-section .sw{margin-top:0}
.upfront-section{background:var(--off)}

/* How a project runs: after the line fills, a light keeps walking it and each step answers. */
@media(min-width:901px){
  .route-loop .route-wire:before{content:"";position:absolute;top:0;bottom:0;left:-90px;z-index:1;width:90px;background:linear-gradient(90deg,oklch(0.97 0.03 35/0),oklch(0.97 0.03 35/.95),oklch(0.97 0.03 35/0))}
  .motion-ok .route-loop.reveal .route-wire:before{animation:route-pulse 10s linear 1.6s infinite}
  .motion-ok .route-loop.reveal .route-node{animation:route-node 10s linear infinite}
  .motion-ok .route-loop.reveal .route-step:nth-child(1) .route-node{animation-delay:1.85s}
  .motion-ok .route-loop.reveal .route-step:nth-child(2) .route-node{animation-delay:3.2s}
  .motion-ok .route-loop.reveal .route-step:nth-child(3) .route-node{animation-delay:4.6s}
  .motion-ok .route-loop.reveal .route-step:nth-child(4) .route-node{animation-delay:6s}
  .motion-ok .route-loop.reveal .route-step:nth-child(5) .route-node{animation-delay:7.4s}
}
@keyframes route-pulse{0%{left:-90px}60%,100%{left:100%}}
@keyframes route-node{0%{background:var(--coral-dark);color:var(--white)}12%,100%{background:var(--white);color:var(--coral-dark)}}

@media(max-width:900px){
  .services-section .service-row{grid-template-columns:minmax(0,1fr);gap:22px}
}
@media(max-width:650px){
  .moment-card{flex-direction:column;align-items:flex-start;gap:6px}
  .service-rows.is-wired:before,.service-rows.is-wired .service-node{display:none}
  .service-rows.is-wired .service-row{padding-left:0}
  .moments{padding:18px 16px}
}

/* Demo orbit (docs/design/demo-orbit-and-menu-plan.md): the three working demos in the
   first screen. The base is a row you swipe (phones, and without JavaScript); on wider
   screens script.js adds .is-ring and places each card with --x, --y, --s, --dim and --z.
   Only the card in front works; script.js makes the others inert. */
@media(min-width:901px){
  .hero-home .hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:center}
}
.hero-home .hero-lede{margin:22px 0 0;font-size:clamp(1.02rem,1.3vw,1.15rem)}
.hero-home .button-row{margin-top:26px}
.hero-copy>.hero-facts{animation-delay:.22s}
.orbit{position:relative;min-width:0}
.orbit-stage{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;scrollbar-width:none;overscroll-behavior-x:contain}
.orbit-stage::-webkit-scrollbar{display:none}
.orbit-track{display:none}
.orbit-card{flex:0 0 min(300px,86vw);height:568px;scroll-snap-align:center}
.orbit-float{position:relative;height:100%}
.orbit-face{display:flex;flex-direction:column;height:100%;overflow:hidden;overflow:clip;padding:12px;border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px oklch(1 0 0/.08),0 28px 56px -28px oklch(0.02 0.02 247/.85)}
.orbit-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:2px 4px 10px}
.orbit-name{margin:0;font-size:1rem;font-weight:850;line-height:1.2}
.orbit-full{font-size:.78rem;font-weight:800;color:var(--coral-dark);text-decoration:none;white-space:nowrap}
.orbit-full:hover{text-decoration:underline}
.orbit-pick{display:none}
/* The demos in their card: one pane at a time, as on a phone. */
.orbit-face .demo{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;background:none}
.orbit-face .demo-bar{flex-direction:row;align-items:center;gap:8px;margin-bottom:10px}
.orbit-face .demo-label{font-size:.72rem;line-height:1.35;gap:4px 8px}
.orbit-face .demo-views button,.orbit-face .demo-reset{min-height:34px;padding:0 12px;font-size:.76rem}
.orbit-face .demo[data-ready] .demo-views{display:flex}
.orbit-face .demo-stage{flex:1;min-height:0;grid-template-columns:minmax(0,1fr);overflow:auto;overscroll-behavior:contain}
.orbit-face .demo[data-ready][data-view=customer] [data-pane=owner],.orbit-face .demo[data-ready][data-view=owner] [data-pane=customer]{display:none}
.orbit-face .demo-pane-title{display:none}
.orbit-face .demo-nojs{margin-top:10px;font-size:.74rem}
.orbit-face .phone{--phone-w:224px}
.orbit-face .tf-done-actions [data-go=kitchen]{display:flex}
.orbit-face .tf-k-cols,.orbit-face .sm-cols{grid-template-columns:minmax(0,1fr)}
.orbit-face .sm-chat{box-shadow:none}
.orbit-face .sm-chat .chat-log{height:250px}
.orbit-face .bb-table thead{display:none}
.orbit-face .bb-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--line)}
.orbit-face .bb-table tbody th{grid-column:1/-1}
.orbit-face .bb-table th,.orbit-face .bb-table td{padding:2px 0;border:0}
.orbit-face .bb-table td[data-label]:before{content:attr(data-label);display:block;font-size:.68rem;font-weight:800;color:var(--muted)}
.orbit-face .bb-table td:has(.bb-pick){grid-column:1/-1}
/* Choosing: the buttons, and Pause / Play while the ring turns. */
.orbit:not([data-ready]) [data-orbit-only]{display:none}
.orbit-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;margin-top:4px}
.orbit-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:oklch(1 0 0/.06);box-shadow:inset 0 0 0 1px oklch(1 0 0/.12)}
.orbit-tab{min-height:40px;padding:0 16px;border:0;white-space:nowrap;border-radius:999px;background:none;color:oklch(0.82 0.02 247);font-size:.84rem;font-weight:750;cursor:pointer;transition:background .2s,color .2s}
.orbit-tab:hover{color:var(--white)}
.orbit-tab[aria-selected=true]{background:var(--coral);color:var(--navy-deep)}
.orbit-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid oklch(1 0 0/.22);border-radius:999px;background:none;color:oklch(0.88 0.012 247);font-size:.8rem;font-weight:750;cursor:pointer}
.orbit-toggle:hover{background:oklch(1 0 0/.06)}
.orbit-toggle:before{content:"";width:9px;height:10px;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65%)}
.orbit-toggle.is-paused:before{background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.orbit-toggle[hidden]{display:none}
.orbit-tab:focus-visible,.orbit-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
.orbit-hint{margin:10px 0 0;font-size:.78rem;text-align:center;color:oklch(0.72 0.03 247)}
.orbit[data-ready] .orbit-card:not(.is-front) .orbit-pick{display:block;position:absolute;inset:0;z-index:2;border-radius:22px;cursor:pointer}
/* The ring. Cards behind are smaller, raised and dimmed; the one in front is at scale 1. */
.orbit.is-ring .orbit-stage{display:block;height:640px;overflow:visible;padding:0}
.orbit.is-ring .orbit-track{display:block;position:absolute;left:0;right:0;top:470px;height:170px;border:1px solid oklch(1 0 0/.14);border-radius:50%;background:radial-gradient(closest-side,oklch(0.67 0.17 35/.12),oklch(0.67 0.17 35/0))}
.orbit.is-ring .orbit-card{position:absolute;left:50%;top:64px;width:300px;margin-left:-150px;transform:translate3d(var(--x,0px),var(--y,0px),0) scale(var(--s,1));z-index:var(--z,1)}
.orbit.is-ring .orbit-float:after{content:"";position:absolute;inset:0;z-index:3;border-radius:22px;background:var(--navy-deep);opacity:var(--dim,0);pointer-events:none}
.orbit.is-ring .orbit-card.is-front .orbit-face{box-shadow:0 0 0 1px oklch(1 0 0/.1),0 40px 80px -30px oklch(0.02 0.02 247/.95),0 0 0 6px oklch(0.67 0.17 35/.12)}
.motion-ok .orbit.is-ring .orbit-float{animation:orbit-bob 6s ease-in-out infinite}
.motion-ok .orbit.is-ring .orbit-card:nth-of-type(2) .orbit-float{animation-delay:-2s}
.motion-ok .orbit.is-ring .orbit-card:nth-of-type(3) .orbit-float{animation-delay:-4s}
.orbit.is-still .orbit-float{animation-play-state:paused}
.orbit.is-held .orbit-card.is-front .orbit-float{animation:none}
@keyframes orbit-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:900px){
  .orbit.is-ring{margin-top:8px}
}
@media(max-width:699px){
  .orbit-controls{display:block}
  .orbit-tabs{width:100%}
  .orbit-tab{flex:1 1 auto;padding:0 8px;font-size:.8rem}
}
@media(max-width:359px){
  .orbit-tab{padding:0 6px;font-size:.72rem}
}
