/* Shared visual and interaction rules; original Botan logo is preserved. */
:root{
 --muted:#5e7067;
 --text-secondary:#52665b;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
 --space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
 --radius-control:8px;--radius-card:16px;
 --motion-feedback:160ms;--motion-panel:240ms;--motion-reveal:600ms;
 --ease-arrive:cubic-bezier(.16,1,.3,1);
}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
button,a,summary,label:has(input){touch-action:manipulation}
.button{border-radius:var(--radius-control);font-size:14px;gap:var(--space-6)}
.button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}
.button:active:not(:disabled){transform:translateY(1px)}
.header nav{font-size:14px}.header nav a{min-height:44px}
.section-head>p,.approach-intro>p,.principles p,.steps p,.faq details p{font-size:15px;color:var(--text-secondary);line-height:1.85}
.product{border-radius:var(--radius-card);min-height:400px}
.product p{font-size:14px;line-height:1.8;color:var(--text-secondary);max-width:30ch}
.product-number{font-size:10px;letter-spacing:1.3px}
.other-products>span{font-size:14px;color:var(--text-secondary)}
.other-products button{font-size:13px;min-height:44px}
.scope-note{font-size:12px;color:var(--text-secondary);max-width:90ch}
.faq summary{min-height:44px;font-size:16px;line-height:1.5}
.contact-bottom p{font-size:15px}.footer-top>span{font-size:14px}
.footer-top>a:last-child,.footer-bottom button{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
.footer-bottom{font-size:11px;color:var(--text-secondary);align-items:center}
.reveal{transition-duration:var(--motion-reveal);transition-timing-function:var(--ease-arrive)}
/* Continuous decoration is limited to one gentle element per area. */
.orbit>span:first-child{animation:none}.scroll-hint span{animation:none}.hero-note{animation:none}
.hero-content>p{font-size:17px}.hero h1{max-width:12ch}
dialog{max-height:calc(100dvh - 40px);overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--space-8);width:min(600px,calc(100% - 32px));border-radius:20px}
dialog p{font-size:14px;line-height:1.75;color:var(--text-secondary)}
#quote-title{font-size:32px;line-height:1.25;letter-spacing:-1.2px;margin-top:var(--space-6);padding-right:12px;outline:none}
#quote-title:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:3px}
#quote-description{margin-bottom:var(--space-6);max-width:47ch}
.close-dialog{position:sticky;float:right;top:0;right:auto;width:44px;height:44px;margin:-8px -6px 8px 12px;background:var(--paper);z-index:2}
.flow-progress{clear:both;display:flex;list-style:none;padding:0;margin:var(--space-6) 0 0;gap:var(--space-4)}
.flow-progress li{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.4;color:var(--text-secondary);flex:1}
.flow-progress li>span{width:25px;height:25px;flex-shrink:0;display:grid;place-items:center;border:1px solid #a3b39f;border-radius:50%;font-variant-numeric:tabular-nums}
.flow-progress [aria-current=step]{color:var(--ink);font-weight:700}
.flow-progress [aria-current=step]>span{color:white;background:var(--ink);border-color:var(--ink)}
.flow-progress li.complete>span{background:var(--lime);border-color:#8fa76c}
.choice-fieldset{border:0;padding:0;margin:0;min-width:0}
.quote-options{margin:0;gap:var(--space-3)}
.quote-options label,.intent-options label{display:flex;align-items:center;position:relative;gap:var(--space-3);border:1px solid #a9b8ab;background:white;border-radius:var(--radius-control);min-height:62px;padding:var(--space-4);cursor:pointer;font-size:14px;transition:background var(--motion-feedback),border-color var(--motion-feedback)}
.quote-options label>input,.intent-options label>input{position:absolute;width:1px;height:1px;opacity:0}
.quote-options label:has(:checked),.intent-options label:has(:checked){background:#e6f3ce;border-color:#4d703e;box-shadow:inset 0 0 0 1px #4d703e}
.quote-options label:has(:focus-visible),.intent-options label:has(:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
.quote-options label:hover,.intent-options label:hover{border-color:var(--green);background:#edf3e7}
.quote-options label>svg:first-of-type{width:22px;flex-shrink:0}
.quote-options .choice-check{width:16px;height:16px;margin-left:auto;visibility:hidden;flex-shrink:0}
.quote-options label:has(:checked) .choice-check{visibility:visible}
.selection-result{background:transparent;border-left:2px solid #8fa76c;border-radius:0;color:var(--text-secondary);font-size:13px;max-height:none;transition:none;display:none}
.selection-result.active{display:block;padding:0 0 0 var(--space-3);margin-top:var(--space-4)}
.intent-options{display:grid;gap:var(--space-3)}
.intent-options strong{font-size:14px;font-weight:600;display:block}
.intent-options small{font-size:12px;color:var(--text-secondary);display:block;margin-top:4px;line-height:1.5}
.intent-options svg{width:20px;height:20px;margin-left:auto;visibility:hidden;flex-shrink:0}
.intent-options label:has(:checked) svg{visibility:visible}
.flow-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-4);margin-top:var(--space-6);border-top:1px solid var(--line);padding-top:var(--space-6)}
.flow-actions>.button{font-size:13px}.flow-back{background:transparent;border:0;color:var(--ink);min-height:44px;padding:8px 12px 8px 0;margin-right:auto;font-size:14px}
.brief-card{background:#e8eee1;padding:var(--space-6);border-radius:var(--radius-card)}
.brief-card .eyebrow{font-size:9px}.brief-card h3{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-1px;margin:12px 0 0;font-weight:600}.brief-card p{margin:4px 0 0;font-size:14px}
.checklist-title{font-size:15px;font-weight:600;margin:var(--space-6) 0 var(--space-4)}
.brief-checklist{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-4)}
.brief-checklist li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:14px;line-height:1.65;color:var(--text-secondary)}
.brief-checklist svg{flex-shrink:0;width:19px;height:19px;margin-top:2px;color:var(--green)}
.brief-explainer{font-size:12px!important;margin-top:var(--space-6)}
.preview-note{font-size:11px!important;line-height:1.65;margin:var(--space-4) 0 0!important}
body:has(dialog[open]){overflow:hidden}
@media(max-width:950px){.header nav{font-size:12px}.product-feature{min-height:560px}.product:not(.product-feature){min-height:290px}.product:not(.product-feature) p{max-width:20ch;font-size:13px}.health-art{opacity:.6;bottom:35px}.home-art{opacity:.6;bottom:45px}.other-products>span{width:100%}.other-products{flex-wrap:wrap}.section-head>p{font-size:14px}}
@media(max-width:640px){
 .header nav{font-size:15px}.header nav a{padding:12px 0}.hero-content>p{font-size:14px}.hero h1{font-size:clamp(43px,12.6vw,60px);max-width:12ch}.hero .button{font-size:13px;gap:14px}.hero-bottom{margin-top:30px}
 .product-feature{min-height:365px}.product:not(.product-feature){min-height:310px}.product:not(.product-feature) p{max-width:24ch;font-size:14px}.product h3{font-size:28px}.product-copy{margin-top:120px}.health-art{right:20px;bottom:40px;font-size:125px}.home-art{right:25px;bottom:58px}
 .section-head>p,.principles p,.steps p,.faq details p,.approach-intro>p{font-size:14px}.faq summary{font-size:15px}.scope-note{font-size:11px}.footer-bottom{align-items:flex-start}.footer-bottom>span:nth-child(2){font-size:10px}
 dialog{padding:var(--space-6);max-height:calc(100dvh - 24px);width:calc(100% - 24px);border-radius:16px}#quote-title{font-size:28px}.flow-progress{gap:8px}.flow-progress li{font-size:10px;gap:5px}.flow-progress li>span{width:22px;height:22px}
 .quote-options label{padding:12px 10px;gap:8px;font-size:13px;min-height:60px}.quote-options .choice-check{width:13px}.quote-options label>svg:first-of-type{width:20px}.flow-actions{gap:8px}.flow-actions>.button{padding:14px;font-size:12px;gap:14px}.brief-card{padding:20px}.brief-checklist li{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.reveal{transition:none}.orbit>div{animation:none}}
/* Contact cards share one configuration and stay inert until real details exist. */
.contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}
.contact-channel{display:flex;gap:12px;align-items:center;min-width:0;min-height:84px;padding:16px;border:1px solid #a9b8ab;border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.contact-channel>span:nth-child(2){min-width:0}.contact-channel strong{display:block;font-size:13px;font-weight:600;line-height:1.5}.contact-channel small{display:block;font-size:12px;line-height:1.5;color:var(--text-secondary);margin-top:4px;overflow-wrap:anywhere}
.channel-icon{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:50%;background:#e8eee1}.channel-icon svg{width:19px;height:19px}.channel-arrow{margin-left:auto;font-size:19px;flex-shrink:0}
.contact-channel:not([aria-disabled=true]):hover{background:#eaf3dc;border-color:var(--green)}
.contact-channel[aria-disabled=true]{cursor:default}.contact-channel[aria-disabled=true] .channel-arrow{color:#6b7971}
.channel-title{font-size:15px;line-height:1.5;font-weight:600;margin:28px 0 14px}
.contact-status{position:relative;z-index:1;font-size:13px!important;line-height:1.7;min-height:0;margin:0!important}.contact-status:not(:empty){margin-top:16px!important;padding:12px 16px;background:#e8eee1;color:var(--ink);border-radius:8px}
.section-channels{margin-top:32px;grid-template-columns:repeat(5,minmax(0,1fr))}.section-channels .contact-channel{background:#ffffff0b;color:white;border-color:#ffffff45;align-items:flex-start;min-height:127px;flex-wrap:wrap}.section-channels .channel-icon{background:#d5f58b;color:var(--ink)}.section-channels .contact-channel>span:nth-child(2){order:3;width:100%}.section-channels small{color:#d5e3d6}.section-channels .channel-arrow{color:#d5e3d6!important}.section-channels .contact-channel:not([aria-disabled=true]):hover{background:#ffffff18;border-color:#d5f58b}.contact-placeholder-note{position:relative;z-index:1;color:#d5e3d6;font-size:11px;margin:16px 0 0}
@media(max-width:950px){.section-channels{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dialog-channels{grid-template-columns:1fr}.contact-channel{min-height:74px;padding:12px}.section-channels{gap:10px}.section-channels .contact-channel{padding:14px;min-height:130px}.section-channels .contact-channel strong{font-size:12px}.section-channels .contact-channel small{font-size:11px}.contact .contact-placeholder-note{font-size:10px}.channel-title{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.contact-channel{transition:none}}

@media(max-width:1000px){.section-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.section-channels>.contact-channel:last-child{grid-column:1/-1}}
