/* Restrained typography, immediate feedback and layered navigation inspired by apple-design. */
:root {
  --ink:#3c3c3b; --muted:#62625f; --accent:#ae192d; --accent-hover:#891324;
  --paper:#fff; --soft:#f6f5f3; --line:#e1ded9; --ice:#f8edf0;
  --radius:1.75rem; --width:78rem;
  font:100%/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink); background:var(--paper); font-synthesis:none;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a,button,summary{outline-offset:5px}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
button{color:inherit}
button:disabled{cursor:not-allowed}
[hidden]{display:none!important}
svg{display:block}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-optical-sizing:auto}
h1,h2{font-weight:620;letter-spacing:-.045em;line-height:1.08;text-wrap:balance}
h1{font-size:clamp(2.8rem,5.1vw,4.7rem)}
h2{font-size:clamp(2.2rem,3.7vw,3.35rem)}
h3{font-weight:600;font-size:1.35rem;line-height:1.3;letter-spacing:-.02em}
p{color:var(--muted)}
p+p{margin-top:1.1rem}
ul{padding-left:1.3rem}
.container{max-width:var(--width);margin-inline:auto;padding-inline:2.5rem}
.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.13em;line-height:1.6;color:#636260;margin-bottom:1.35rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.3rem;border:1px solid transparent;border-radius:100px;font-size:.94rem;font-weight:560;line-height:1.4;min-height:3rem;white-space:nowrap;transition:background 150ms,color 150ms,box-shadow 150ms,transform 160ms ease-out}
.button svg,.text-link svg{width:1.2rem;height:1.2rem;flex:none}
.button.primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px #ae192d18}
.button.primary:hover{background:var(--accent-hover)}
.button:active{transform:scale(.97);transition:transform 80ms ease-out}
.button.small{min-height:2.5rem;padding:.6rem 1rem;font-size:.86rem}
.button.light{color:#891324;background:#fff}
.button.light:hover{background:#f8edf0}
.button.ghost-light{background:transparent;border-color:#ffffff70;color:#fff}
.button.ghost-light:hover{background:#ffffff12}
.text-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--accent);font-size:1rem;font-weight:550;padding:.65rem 0;border:0;background:none;line-height:1.5;text-align:left}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.text-link:active{opacity:.7}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem;margin-top:2rem}
.skip-link{position:fixed;z-index:200;top:-5rem;left:1rem;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:.5rem}
.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:50;background:#fffffff0;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:0 8px 28px #31302e05}
.header-inner{max-width:var(--width);margin:auto;min-height:5.2rem;padding:.7rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;flex:none}
.brand-logo{display:block;width:10.6rem;height:auto}
.desktop-nav{display:flex;gap:1.8rem;align-items:center;font-size:.87rem}
.desktop-nav a{padding:.5rem 0;position:relative}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--accent)}
.desktop-nav a[aria-current]::after{content:"";width:.25rem;height:.25rem;border-radius:50%;background:var(--accent);position:absolute;bottom:0;left:50%}
.header-actions{display:flex;align-items:center;gap:1rem}
.menu-toggle{display:none;width:2.75rem;height:2.75rem;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:none;border:0;border-radius:50%}
.menu-toggle span{width:20px;height:1.5px;background:var(--ink);transition:transform 150ms}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.mobile-menu{padding:1rem 2rem 1.7rem;background:#fff;border-top:1px solid var(--line)}
.mobile-menu a{display:block;padding:.8rem 0;font-size:1.15rem}
.mobile-menu a[aria-current]{color:var(--accent)}
.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:0;align-items:center;min-height:42rem;padding-top:3rem;padding-bottom:3rem}
.hero-copy{position:relative;z-index:1;padding-bottom:1rem}
.hero h1 span{color:var(--accent)}
.hero-lead{font-size:1.16rem;line-height:1.65;margin-top:1.7rem;max-width:42rem}
.hero-location{display:flex;gap:.55rem;align-items:center;font-size:.8rem;margin-top:1.55rem;color:#706f6d}
.location-dot{width:.4rem;height:.4rem;background:var(--accent);border-radius:50%;flex:none}
.hero-art{position:relative;min-width:0;margin-left:-1rem;margin-right:-1.2rem}
.hero-art img{width:100%;filter:drop-shadow(0 15px 20px #2c2b2908)}
.hero-art figcaption{text-align:center;font-size:.83rem;font-weight:550;color:#545351;margin-top:-.8rem}
.hero-art figcaption span{display:block;font-size:.66rem;letter-spacing:.015em;font-weight:400;color:#62625f;margin-top:.2rem}
.audience-strip{padding-top:1.6rem;padding-bottom:2rem;display:flex;align-items:center;gap:3.6rem;border-top:1px solid var(--line)}
.audience-strip>span{font-size:.82rem;color:#706f6d;white-space:nowrap}
.audience-strip ul{padding:0;margin:0;list-style:none;display:flex;flex:1;flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.2rem;font-size:.96rem;color:#545351;font-weight:550}
.section{padding-top:6.5rem;padding-bottom:6.5rem}
.soft-section{background:var(--soft)}
.section-heading{max-width:47rem;margin-bottom:3.5rem}
.section-heading>p:last-child:not(.eyebrow){font-size:1.1rem;margin-top:1.35rem}
.section-heading.narrow{max-width:42rem}
.section-lead{font-size:1.2rem;line-height:1.55;color:#434240;margin-top:1.5rem}
.feature-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6rem}
.feature-copy>p:not(.eyebrow){margin-top:1.5rem}
.feature-copy .text-link{margin-top:1.4rem}
.device-list>div{display:flex;gap:1.5rem;align-items:center;padding:1.9rem 0;border-bottom:1px solid #e0dfdd}
.device-list>div:last-child{border-bottom:0}
.device-list h3{font-size:1.15rem}
.device-list p{font-size:.94rem;margin-top:.35rem}
.device-icon{position:relative;display:block;width:3.2rem;height:3.2rem;flex:none;color:#5f5e5c}
.monitor-icon::before{content:"";position:absolute;left:.2rem;top:.35rem;width:2.6rem;height:1.8rem;border:1.7px solid currentColor;border-radius:4px}
.monitor-icon::after{content:"";position:absolute;left:1.05rem;top:2.25rem;width:1.1rem;height:.45rem;border-bottom:1.7px solid currentColor;border-top:1.7px solid currentColor}
.kitchen-icon::before{content:"";position:absolute;left:.5rem;top:.6rem;width:1.9rem;height:2rem;border:1.7px solid currentColor;border-radius:5px 5px 12px 12px}
.kitchen-icon::after{content:"";position:absolute;left:2.4rem;top:.9rem;width:.65rem;height:1rem;border:1.7px solid currentColor;border-left:0;border-radius:0 7px 7px 0}
.tool-icon::before{content:"";position:absolute;left:.3rem;top:.65rem;width:2.6rem;height:1.05rem;border:1.7px solid currentColor;border-radius:7px}
.tool-icon::after{content:"";position:absolute;left:1.3rem;top:1.75rem;width:.65rem;height:1.1rem;border:1.7px solid currentColor;border-top:0;border-radius:0 0 4px 4px}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem}
.principles article{padding-top:1.7rem;border-top:1px solid var(--line)}
.principle-index{font-size:.8rem;color:var(--accent);font-weight:600}
.principles h3{margin:1.6rem 0 .85rem;font-size:1.3rem}
.principles p{font-size:1rem}
.workflow{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:stretch}
.step-tabs{display:flex;flex-direction:column;gap:.4rem;justify-content:space-between}
.step-tab{display:flex;align-items:center;gap:1.1rem;border:0;border-radius:1rem;background:none;padding:1.1rem 1.25rem;text-align:left;transition:background 160ms;color:var(--muted);font-size:1rem;min-height:3.6rem}
.step-tab svg{width:1.15rem;height:1.15rem;margin-left:auto;opacity:0}
.step-number{font-size:.85rem;font-weight:600;opacity:1}
.step-tab:hover{background:var(--soft)}
.step-tab.is-active{color:var(--accent);background:var(--ice)}
.step-tab.is-active svg{opacity:1}
.step-panels{min-width:0;background:var(--soft);border-radius:var(--radius)}
.step-panel{padding:2.5rem;min-height:29rem;height:100%;display:flex;flex-direction:column;justify-content:space-between}
.panel-number{font-size:5rem;line-height:1;font-weight:600;letter-spacing:-.065em;color:#9b5360}
.panel-copy{margin-top:2.4rem}
.panel-copy h3{font-size:1.6rem;margin-bottom:1rem}
.panel-copy>p{font-size:1rem}
.panel-note{border-top:1px solid #e3e2e0;margin-top:2rem;padding-top:1.1rem;display:flex;gap:.7rem;align-items:flex-start}
.panel-note svg{width:1.2rem;height:1.2rem;color:var(--accent);margin-top:.2rem}
.panel-note strong{font-size:.8rem;font-weight:600;color:#535250}
.panel-note p{font-size:.84rem;margin-top:.25rem}
.continuity-section{background:#faf2f3}
.continuity{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}
.continuity .section-lead{margin-top:0;margin-bottom:1.1rem}
.continuity .text-link{margin-top:1.2rem}
.service-list{border-top:1px solid var(--line)}
.service-row{display:flex;align-items:center;gap:2rem;padding:1.7rem .5rem;border-bottom:1px solid var(--line)}
.service-row svg{width:1.6rem;height:1.6rem;margin-left:auto;color:var(--accent);flex:none}
.service-row h3{font-size:1.4rem;color:var(--accent)}
.service-row p{font-size:.94rem;margin-top:.5rem}
.service-row:hover{background:var(--soft)}
.service-nr{font-size:.8rem;font-weight:500;color:#62625f;min-width:2.2rem}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
.service-detail{border-bottom:1px solid var(--line)}
.service-detail summary{display:flex;align-items:center;gap:2rem;padding:1.65rem .5rem;font-size:1.35rem;font-weight:550;letter-spacing:-.02em}
.service-detail summary:hover{color:var(--accent)}
.plus{width:1.2rem;height:1.2rem;position:relative;display:block;margin-left:auto;flex:none;color:#62625f}
.plus::before,.plus::after{content:"";position:absolute;background:currentColor;border-radius:1px}
.plus::before{width:14px;height:1.5px;left:3px;top:9px}
.plus::after{width:1.5px;height:14px;top:3px;left:9px;transition:transform 150ms}
details[open] .plus::after{transform:rotate(90deg)}
.service-detail-body{padding:0 3.2rem 1.8rem 4.7rem;max-width:57rem}
.service-detail-body .text-link{margin-top:.5rem}
.contact-section{background:#30302f;color:#fff;padding:6.5rem 0;position:relative;overflow:hidden}
.contact-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 100%,#ae192d30,transparent 65%);pointer-events:none}
.contact-inner{position:relative;text-align:center;max-width:60rem}
.contact-section .eyebrow{color:#e1c3c7}
.contact-section h2{font-size:clamp(2.2rem,4vw,3.8rem);letter-spacing:-.04em}
.contact-section p:not(.eyebrow){color:#e1dedc;max-width:39rem;margin:1.6rem auto 0;font-size:1.1rem}
.contact-section .actions{justify-content:center;gap:1rem}
.contact-footnote{display:block;font-size:.78rem;color:#d0cdca;margin-top:1.8rem}
.site-footer{background:#f6f5f3}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;padding-top:3.5rem;padding-bottom:3.2rem}
.footer-brand{display:inline-block;max-width:100%}
.footer-logo{display:block;width:12.5rem;max-width:100%;height:auto}
.footer-top p{font-size:.8rem;line-height:1.8;margin-top:.75rem}
.footer-links{display:flex;flex-direction:column;gap:.7rem;font-size:.85rem;padding-top:.1rem}
.footer-links a:hover{text-decoration:underline}
.footer-region{justify-self:end;text-align:right}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:1.2rem;padding-bottom:1.5rem;border-top:1px solid var(--line);color:#62625f;font-size:.73rem}
.quiet-button{border:0;background:none;padding:0;color:#62615f;font-size:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}
.back-link{display:inline-block;color:#6b6a68;font-size:.85rem;margin-bottom:2.5rem;padding:.3rem 0}
.back-link:hover{color:var(--accent)}
.service-hero{padding-top:2.5rem;padding-bottom:4rem}
.service-hero h1{font-size:clamp(2.4rem,4.4vw,4rem);max-width:67rem;line-height:1.1}
.service-hero h1 span{color:#777773}
.service-hero .hero-lead{max-width:45rem}
.service-visual{background:var(--soft);border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-left:3.5rem;padding-right:1rem;overflow:hidden;min-height:23rem}
.service-visual h2{font-size:2.5rem}
.service-visual p:not(.eyebrow){font-size:.95rem;margin-top:1.1rem}
.service-visual img{max-height:27rem;object-fit:contain;width:100%;margin-block:-1.5rem}
.object-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.object-grid article{padding:1.8rem;background:var(--soft);border-radius:1.3rem;display:flex;flex-direction:column;min-height:20rem}
.object-label{font-size:.65rem;font-weight:600;letter-spacing:.09em;color:#62625f}
.object-grid h3{font-size:1.35rem;margin-top:1.6rem;margin-bottom:.9rem}
.object-grid h3,.object-grid p{hyphens:auto;overflow-wrap:break-word}
.object-grid p{font-size:.95rem}
.object-grid .device-icon{margin-top:auto;padding-top:1rem;transform:scale(.95);transform-origin:bottom left}
.audience-layout,.documentation{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.audience-layout .section-lead{margin:0 0 1.5rem}
.check-list{list-style:none;padding:0;margin:1.8rem 0 0;display:flex;flex-direction:column;gap:.8rem;font-size:.94rem}
.check-list li{display:flex;gap:.65rem;align-items:flex-start}
.check-list svg{width:1.1rem;height:1.1rem;flex:none;color:var(--accent);margin-top:.25rem}
.document-visual{background:#eeece9;border-radius:var(--radius);padding:2.5rem 3rem;perspective:1000px}
.documentation>div>p:not(.eyebrow){margin-top:1.4rem}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:start}
.faq-layout>div>p:not(.eyebrow){margin-top:1.3rem}
.faq-layout>div>.text-link{margin-top:1.3rem}
.faq-list{border-top:1px solid #dedddb}
.faq-list details{border-bottom:1px solid #dedddb}
.faq-list summary{display:flex;align-items:center;gap:2rem;padding:1.35rem 0;font-size:1.03rem;font-weight:560;line-height:1.5}
.faq-list summary:hover{color:var(--accent)}
.faq-answer{padding:0 2rem 1.5rem 0;font-size:.95rem}
.faq-answer a,.contact-panel a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.source-list{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;border-top:1px solid var(--line)}
.source-list>a{padding:1.5rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1.4rem}
.source-list>a:hover h3{color:var(--accent)}
.source-list h3{font-size:1.08rem}
.source-list p{font-size:.85rem;margin-top:.4rem}
.source-list>a>span{color:var(--accent);font-size:1.5rem}
.source-note{font-size:.85rem;max-width:48rem;margin-top:1.75rem}
.contact-dialog{padding:0;border:1px solid #fff;border-radius:1.7rem;max-width:34rem;width:calc(100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);box-shadow:0 35px 100px #24222240;overflow:auto}
.contact-dialog::backdrop{background:#24222266;backdrop-filter:blur(6px)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.7rem .7rem}
.dialog-head .eyebrow{margin:0}
.close-dialog{width:2.3rem;height:2.3rem;border:0;border-radius:50%;background:#f2f1ef;display:grid;place-items:center}
.close-dialog svg{width:1rem;height:1rem}
.close-dialog:active{transform:scale(.95)}
.dialog-content{padding:.7rem 2rem 2rem}
.dialog-content h2{font-size:2rem}
.dialog-intro{font-size:.95rem;margin-top:.8rem}
.contact-tabs{padding:4px;background:#f1f0ee;border-radius:.8rem;display:flex;gap:4px;margin:1.7rem 0}
.contact-tabs button{flex:1;border:0;border-radius:.6rem;background:none;min-height:2.5rem;font-size:.9rem;color:#62615f}
.contact-tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 7px #25242215}
.phone-preview{padding:.75rem 0 1.5rem}
.phone-preview>svg{height:2rem;width:2rem;color:var(--accent);margin-bottom:1.2rem}
.phone-preview h3{font-size:1.25rem}
.phone-preview p{font-size:.94rem;margin-top:.8rem}
.missing-contact{font-size:.82rem;color:#636260;background:var(--soft);border-radius:.65rem;padding:.75rem;margin-top:1.2rem}
.full{width:100%}
.demo-note{font-size:.8rem;color:#686765;background:#f8edf0;padding:.7rem .8rem;border-radius:.6rem;margin-bottom:1.1rem}
form label{display:block;font-size:.87rem;font-weight:550;margin-top:.9rem;margin-bottom:.35rem}
form label span{font-weight:400;color:#737270}
input,textarea{display:block;width:100%;padding:.65rem .8rem;border:1px solid #c3c2c0;border-radius:.65rem;font-size:1rem;line-height:1.5;color:var(--ink);background:#fff}
textarea{resize:vertical;min-height:6rem}
input::placeholder,textarea::placeholder{color:#62625f;font-size:.87rem}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b33a32;outline-color:#b33a32}
form small{font-size:.73rem;color:#706f6d;display:block;margin-top:.25rem}
form button[type=submit]{margin-top:1.3rem}
.form-status{font-size:.85rem;color:#4f4e4c;margin-top:1rem}
.form-status:empty{display:none}
.dialog-footer{background:var(--soft);padding:.8rem 1.5rem;text-align:center;font-size:.72rem;color:#62625f}
.contact-panel>p{font-size:.94rem;margin-top:1rem}
.noscript-note{padding:1rem 2rem;background:#fff2d6;font-size:.9rem}
@media(min-width:90rem){.hero{min-height:44rem}}
@media(max-width:70rem){.desktop-nav{gap:1.1rem;font-size:.8rem}.feature-layout,.workflow{gap:3rem}.hero-art{margin-right:0}.object-grid{grid-template-columns:1fr 1fr}.object-grid article{min-height:17rem}.object-grid .device-icon{margin-top:1.5rem}.hero .actions{gap:.8rem}.hero .text-link{font-size:.9rem}.brand-main{font-size:1rem}.header-inner{gap:1rem}}
@media(max-width:63.99rem){
 .container{padding-inline:2rem}.header-inner{padding-inline:2rem;min-height:4.5rem}.desktop-nav{display:none}.menu-toggle{display:flex}
 .hero{grid-template-columns:1fr;min-height:0;padding-top:4rem;padding-bottom:2.5rem}.hero-copy{max-width:43rem}.hero h1{font-size:clamp(3rem,7.5vw,4.5rem)}
 .hero-art{max-width:38rem;margin:-1.5rem 0 0 auto;width:72%}.hero-art figcaption{margin-top:-1rem}.hero-lead{max-width:40rem}
 .audience-strip{gap:1.5rem;align-items:flex-start}.audience-strip ul{flex-wrap:wrap;justify-content:flex-start;gap:.65rem 2rem}
 .section{padding-block:4.5rem}.feature-layout{gap:3rem}.principles{gap:2rem}.workflow{gap:2rem}.step-panel{padding:2rem}.continuity{gap:3rem}.continuity h2{font-size:2.4rem}
 .service-visual{margin-inline:2rem;padding-left:2.5rem;padding-right:0}.service-visual h2{font-size:2rem}.service-visual img{min-height:20rem;object-fit:cover;object-position:20% center}
 .audience-layout,.documentation{gap:2.5rem}.document-visual{padding:2rem 1.5rem}.document-sheet{padding:1.6rem}.doc-wordmark{font-size:.72rem}.doc-wordmark span{display:none}.faq-layout{gap:2.5rem}
}
@media(max-width:47.99rem){
 .container{padding-inline:1.4rem}.header-inner{padding-inline:1.4rem}.brand-main{font-size:.96rem}.brand-sub{font-size:.55rem}.header-actions{gap:.35rem}.header-actions .button{font-size:.8rem;padding:.55rem .8rem;min-height:2.4rem}.header-actions .button svg{display:none}
 .eyebrow{font-size:.67rem;letter-spacing:.1em;margin-bottom:1.1rem}.hero{padding-top:3.5rem}.hero h1{font-size:clamp(2.1rem,9.5vw,4.1rem);letter-spacing:-.05em}.hero-lead{font-size:1.06rem;margin-top:1.5rem}.desktop-only{display:none}.actions{gap:.9rem;margin-top:1.5rem}.hero .actions{align-items:flex-start;flex-direction:column;gap:.6rem}.hero-location{font-size:.72rem;margin-top:1.3rem}.hero-art{width:100%;max-width:31rem;margin:0 auto}.hero-art figcaption{font-size:.75rem;margin-top:-1.4rem}.hero-art figcaption span{font-size:.6rem}
 .audience-strip{display:block;padding-top:1.4rem;padding-bottom:1.7rem}.audience-strip>span{font-size:.75rem}.audience-strip ul{margin-top:.8rem;font-size:.8rem;gap:.5rem 1.4rem}
 .section{padding-block:3.7rem}h2{font-size:clamp(2rem,7.3vw,2.7rem)}.section-heading{margin-bottom:2.3rem}.section-heading>p:last-child:not(.eyebrow){font-size:1rem}.section-lead{font-size:1.1rem}
 .feature-layout,.continuity,.audience-layout,.documentation,.faq-layout{grid-template-columns:1fr;gap:2rem}.feature-layout{gap:1.8rem}.device-list>div{padding:1.3rem 0;gap:1.2rem}.device-list h3{font-size:1.05rem}.device-list p{font-size:.87rem}.feature-copy .text-link{margin-top:1rem}
 .principles{grid-template-columns:1fr;gap:1.9rem}.principles article{padding-top:1.2rem;display:grid;grid-template-columns:2rem 1fr;gap:.5rem 1rem}.principles h3{margin:0;font-size:1.15rem}.principles p{grid-column:2;font-size:.94rem}.principle-index{padding-top:.15rem}
 .workflow{grid-template-columns:1fr;gap:1.2rem}.step-tabs{gap:.2rem}.step-tab{padding:.8rem 1rem;min-height:3.2rem;font-size:.93rem}.step-panel{min-height:24rem;padding:1.8rem}.panel-number{font-size:4rem}.panel-copy{margin-top:1.8rem}.panel-copy h3{font-size:1.5rem}.panel-copy>p{font-size:.94rem}
 .continuity h2{font-size:2.2rem}.service-row{gap:.7rem;padding:1.4rem .2rem}.service-row h3{font-size:1.13rem}.service-row p{font-size:.85rem}.service-nr{min-width:1.8rem;font-size:.72rem}.service-detail summary{font-size:1.1rem;gap:.7rem;padding:1.45rem .2rem}.service-detail-body{padding:0 .4rem 1.5rem 2.7rem;font-size:.94rem}
 .contact-section{padding:4rem 0}.contact-section h2{font-size:2.3rem}.contact-section p:not(.eyebrow){font-size:1rem}.contact-section .actions{flex-direction:column;gap:.8rem}.contact-section .button{width:100%;max-width:21rem}.contact-footnote{font-size:.72rem}
 .footer-top{grid-template-columns:1fr 1fr;padding-top:2.5rem;padding-bottom:2rem;gap:1.5rem}.footer-brand{font-size:.85rem}.footer-top p{font-size:.72rem}.footer-links{font-size:.78rem}.footer-region{grid-column:1/-1;justify-self:start;text-align:left;margin-top:0!important}.footer-region br{display:none}.footer-region br::after{content:" "}.footer-bottom{flex-direction:column;gap:.5rem;font-size:.68rem}
 .service-hero{padding-top:1.5rem;padding-bottom:2.5rem}.back-link{margin-bottom:2rem}.service-hero h1{font-size:clamp(1.85rem,6.8vw,3.1rem);overflow-wrap:normal;letter-spacing:-.045em}.service-hero .eyebrow{font-size:.62rem}.service-hero .hero-lead{font-size:1rem}.service-hero .actions{align-items:flex-start;flex-direction:column;gap:.5rem}.service-hero .hero-location{line-height:1.6}
 .service-visual{margin-inline:1.4rem;padding:2rem 1.6rem 0;grid-template-columns:1fr;min-height:0;border-radius:1.3rem}.service-visual h2{font-size:1.9rem}.service-visual p:not(.eyebrow){font-size:.85rem}.service-visual img{width:100%;min-height:0;max-height:20rem;object-fit:contain;margin:-1rem 0 -1rem}
 .object-grid{gap:.8rem}.object-grid article{padding:1.2rem;min-height:18rem;border-radius:1rem}.object-label{font-size:.53rem;letter-spacing:.05em}.object-grid h3{font-size:1.12rem;margin-top:1.4rem}.object-grid p{font-size:.86rem}.object-grid .device-icon{transform:scale(.8);margin-top:auto}
 .check-list{font-size:.9rem}.document-visual{padding:2rem 2.3rem}.document-sheet{max-width:23rem;margin:auto;min-height:23rem;padding:1.8rem}.doc-wordmark span{display:inline}.doc-title{font-size:1.8rem}.documentation{gap:2.5rem}.documentation h2{font-size:2.2rem}.faq-layout{gap:2.3rem}.faq-list summary{font-size:.95rem;gap:1rem}.faq-answer{font-size:.9rem}.source-list{grid-template-columns:1fr}.source-list>a{padding:1.3rem 0}.source-list h3{font-size:1rem}.source-list p{font-size:.8rem}.source-note{font-size:.78rem}
 .contact-dialog{width:calc(100% - 1.2rem);border-radius:1.4rem;max-height:calc(100dvh - 1.2rem)}.dialog-head{padding:1.2rem 1.3rem .5rem}.dialog-content{padding:.7rem 1.4rem 1.6rem}.dialog-content h2{font-size:1.8rem}.contact-tabs{margin:1.3rem 0}.contact-tabs button{font-size:.85rem}.dialog-intro{font-size:.9rem}
}
@media(max-width:47.99rem){.documentation>div{min-width:0}.documentation{grid-template-columns:minmax(0,1fr)}.footer-region br{display:revert}.brand-logo{width:8.2rem}}
@media(max-width:359px){.container{padding-inline:1.1rem}.hero h1{font-size:2.05rem}.service-hero h1{font-size:1.75rem}.header-inner{padding-inline:1.1rem}.object-grid{grid-template-columns:1fr}.object-grid article{min-height:15rem}.document-visual{padding:1.6rem 1rem}.document-sheet{padding:1.2rem;min-height:20rem}.doc-title{font-size:1.4rem}.doc-wordmark{flex-wrap:wrap;gap:.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:active,.close-dialog:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.site-header{background:#fff;backdrop-filter:none}.contact-dialog::backdrop{background:#333332c9;backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#3e3d3b;--line:#7f7e7c}.site-header{background:#fff;backdrop-filter:none;border-bottom:1px solid #7f7e7c}.eyebrow,.source-note,.hero-location{color:#4a4947}.button{border-color:currentColor}.contact-dialog::backdrop{background:#292928bf;backdrop-filter:none}}
.audience-strip li{white-space:nowrap}
.coverage-note{font-size:.94rem;margin-top:1.5rem}
.report-preview{height:30rem;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--muted)}
.report-preview img{height:calc(100% - 1.8rem);width:100%;min-height:0;object-fit:contain;transform:rotate(-4deg);filter:drop-shadow(0 12px 14px #29282720);transition:transform 180ms ease-out}
.report-preview:hover img{transform:rotate(-2deg)}
.report-preview span{font-size:.72rem;line-height:1.4;text-align:center;flex:none}
.report-page{background:var(--soft)}
.report-full{max-width:55rem;margin:auto;padding:2rem 1.5rem 3rem}
.report-full .back-link{margin-bottom:1.5rem}
.report-full h1{font-size:clamp(1.7rem,4vw,2.5rem)}
.report-full>p{margin-top:1rem;font-size:.94rem}
.report-full>img{width:100%;max-width:47rem;height:auto;margin:2rem auto 0;box-shadow:0 12px 35px #29282716;background:#fff}
@media(max-width:47.99rem){.report-preview{height:27rem}.report-preview span{font-size:.68rem}}
@media(max-width:359px){.report-preview{height:23.2rem}.report-preview span{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.report-preview:hover img{transform:rotate(-4deg)}}
@media print{.site-header,.contact-section,.site-footer,.actions,.contact-dialog{display:none!important}.section{padding-block:2rem}.container{padding-inline:0}.step-tabs{display:none}.step-panel[hidden]{display:block!important}.step-panel{break-inside:avoid;min-height:0}.hero{min-height:0}.hero-art{max-width:22rem}.service-visual{margin:0}details>div{display:block!important}}

/* Contact details and legal pages share the established typography and brand colors. */
.contact-number{display:inline-block;font-size:1.8rem;font-weight:620;letter-spacing:-.03em;color:var(--accent);margin-top:1.2rem;line-height:1.3}
.contact-number:hover,.contact-email:hover,.direct-email a:hover,.contact-direct a:hover{text-decoration:underline}
.phone-preview .contact-hours{font-size:.82rem;margin-top:.4rem}
.contact-email{display:inline-block;font-size:.94rem;color:var(--accent);margin-top:.6rem}
.direct-email{font-size:.88rem;margin:0 0 1.2rem}.direct-email a{text-decoration:underline;text-underline-offset:3px}
.contact-direct{display:flex;justify-content:center;align-items:center;gap:.8rem 1.4rem;flex-wrap:wrap;margin:1.8rem 0 0;color:#fff;font-size:.9rem}.contact-direct span{font-size:.8rem}.contact-direct a{overflow-wrap:anywhere}
.legal-hero{padding-top:3.5rem;padding-bottom:3rem}.legal-hero .back-link{margin-bottom:2.5rem}.legal-hero h1{font-size:clamp(2.4rem,5vw,4.5rem);overflow-wrap:anywhere}.legal-lead{font-size:1.2rem;margin-top:1.5rem;max-width:44rem}.legal-date{font-size:.82rem;margin-top:1rem}
.legal-draft-note{max-width:52rem;background:var(--soft);border-left:3px solid var(--accent);border-radius:0 1rem 1rem 0;padding:1.3rem 1.5rem;margin-top:2rem;font-size:.92rem}.legal-draft-note p{margin-top:.5rem}
.legal-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:5rem;padding-bottom:6rem;align-items:start}.legal-toc{position:sticky;top:7rem;display:flex;flex-direction:column;gap:.7rem;font-size:.88rem}.legal-toc .eyebrow{margin-bottom:.3rem}.legal-toc a{color:var(--muted);padding:.1rem 0}.legal-toc a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.legal-content{max-width:48rem;min-width:0}.legal-content section+section{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}.legal-content h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.025em;margin-bottom:1.1rem;overflow-wrap:anywhere}.legal-content p,.legal-content li{font-size:1rem;line-height:1.75}.legal-content li{color:var(--muted);margin:.35rem 0}.legal-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-content section{scroll-margin-top:7rem}.legal-facts{margin:0}.legal-facts div{margin:1.2rem 0}.legal-facts dt{font-size:.85rem;color:var(--muted)}.legal-facts dd{margin:.2rem 0 0;font-size:1rem;overflow-wrap:anywhere}
@media(max-width:63.99rem){.legal-layout{grid-template-columns:12rem minmax(0,1fr);gap:2.5rem}}
@media(max-width:47.99rem){.legal-hero{padding-top:2rem;padding-bottom:2rem}.legal-hero .back-link{margin-bottom:2rem}.legal-lead{font-size:1.06rem}.legal-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-bottom:3.5rem}.legal-toc{position:static;background:var(--soft);border-radius:1rem;padding:1.4rem;font-size:.9rem}.legal-content section+section{margin-top:2rem;padding-top:2rem}.legal-content p,.legal-content li{font-size:.94rem}.legal-draft-note{padding:1.1rem;font-size:.88rem}.contact-direct{flex-direction:column;gap:.5rem}.contact-number{font-size:1.7rem}}
@media print{.legal-toc,.legal-draft-note{display:none}.legal-layout{display:block}.legal-hero{padding-top:0}.legal-content{max-width:none}.legal-content section{break-inside:avoid}}

/* Apple-design: one quiet surface, balanced marks, clear typography; no false affordances. */
.credentials{padding-top:3.4rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}.credentials h2{font-size:clamp(1.45rem,2.1vw,1.9rem);font-weight:600;line-height:1.2;letter-spacing:-.03em;margin-bottom:1.8rem;max-width:42rem;text-wrap:balance}.credential-grid{list-style:none;padding:1.35rem 0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff;border:1px solid #e7e4df;border-radius:1.6rem;box-shadow:0 3px 14px #3c3c3b04}.credential-grid li{min-width:0;padding:.9rem 1.6rem}.credential-grid li+li{border-left:1px solid var(--line)}.credential-logo{height:6.4rem;display:flex;align-items:center;justify-content:center}.credential-logo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.credential-grid li:nth-child(1) img{width:9.5rem}.credential-grid li:nth-child(3) img{width:8rem}.credential-grid figcaption{margin-top:1.2rem;line-height:1.4;text-align:center}.credential-grid strong{font-size:.96rem;font-weight:600;letter-spacing:-.01em;display:block}.credential-grid figcaption span{font-size:.78rem;letter-spacing:.01em;color:var(--muted);display:block;margin-top:.3rem}
/* The process switches from tabs and a panel to native disclosures at one column. */
.workflow-accordion{display:none}
@media(max-width:47.99rem){.workflow{display:none}.workflow-accordion{display:block}.workflow-accordion>details{border:1px solid var(--line);border-radius:1rem;background:#fff}.workflow-accordion>details+details{margin-top:.7rem}.workflow-accordion>details[open]{background:var(--soft)}.workflow-accordion summary{list-style:none;cursor:pointer;padding:1.15rem 1.2rem}.workflow-accordion summary::-webkit-details-marker{display:none}.workflow-accordion summary::marker{content:""}.workflow-accordion summary h3{display:flex;align-items:center;gap:.85rem;font-size:1rem;line-height:1.45;margin:0;letter-spacing:-.01em}.workflow-accordion .step-number{font-size:.8rem;color:var(--accent);font-weight:600;flex:none}.workflow-accordion summary h3>span:nth-child(2){flex:1}.workflow-accordion summary .plus{margin-left:0}.workflow-accordion-body{padding:0 1.2rem 1.4rem}.workflow-accordion-body h4{font-size:1.2rem;font-weight:600;line-height:1.35;letter-spacing:-.02em;margin:0 0 .8rem}.workflow-accordion-body>p{font-size:.94rem;line-height:1.7}.workflow-accordion .panel-note{margin-top:1.2rem;padding-top:1rem}.workflow-accordion .panel-note p{font-size:.88rem}.workflow-accordion .panel-note strong{font-size:.8rem}.credentials{padding-top:2.7rem;padding-bottom:2.4rem}.credentials h2{font-size:1.45rem;margin-bottom:1.4rem;max-width:24rem}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border-radius:1.3rem}.credential-grid li{padding:1.4rem .9rem}.credential-grid li:nth-child(odd){border-left:0}.credential-grid li:nth-child(n+3){border-top:1px solid var(--line)}.credential-logo{height:5rem}.credential-grid li:nth-child(1) img{width:7.5rem}.credential-grid li:nth-child(3) img{width:6.5rem}.credential-grid figcaption{margin-top:1rem}.credential-grid strong{font-size:.88rem}.credential-grid figcaption span{font-size:.73rem}}
@media print{.workflow-accordion{display:none}.credentials{break-inside:avoid}}

@media(prefers-contrast:more){.credential-grid{border-color:var(--line);box-shadow:none}}

@media(max-width:359px){.faq-layout{grid-template-columns:minmax(0,1fr)}.faq-layout>div{min-width:0}}

/* Contact delivery feedback stays inside the existing dialog. */
.button:disabled{opacity:.65;cursor:wait}.form-status[data-state="error"]{color:#a52b1d}.form-status[data-state="success"]{color:#235b35}.dialog-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
