@font-face{font-family:Ubuntu;src:url('assets/ubuntu.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--purple:#781fb4;--bg:#1a1a1a;--surface:#2d2d2d;--white:#fff;--muted:rgba(255,255,255,.66);--line:rgba(255,255,255,.15);font-family:Ubuntu,Arial,sans-serif;color:var(--white);background:var(--bg);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}.container{width:calc(100% - 96px);max-width:1384px;margin-inline:auto}p{font-size:18px;line-height:1.55;margin:0}h1,h2,h3{margin:0;font-weight:300}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.13em;line-height:1.5}.header{border-top:3px solid var(--surface)}.nav{height:77px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center}.brand{display:flex;align-items:center;width:max-content;font-size:25px;gap:9px;font-weight:400;letter-spacing:-.7px}.brand:hover{text-decoration:none}.nav-links{display:flex;gap:38px;font-size:16px}.nav-links a{display:flex;align-items:center;gap:15px}.chevron{border-bottom:1.5px solid white;border-right:1.5px solid white;width:8px;height:8px;transform:rotate(45deg);margin-top:-4px}.github-nav{justify-self:end;font-size:16px;display:flex;gap:16px}.hero{position:relative;padding-top:76px;padding-bottom:159px}.hero-copy{margin-left:25.6%;position:relative;z-index:1}.hero .eyebrow{color:var(--muted);margin-bottom:27px}h1{font-size:clamp(58px,6.35vw,96px);letter-spacing:-.035em;line-height:1.06;font-weight:300}.hero-description{margin-top:31px;line-height:1.55}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:35px}.button{display:inline-flex;gap:25px;align-items:center;background:var(--purple);padding:13px 20px;font-size:16px;transition:background .2s}.button:hover{background:var(--surface);text-decoration:none}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:17px;line-height:1.6}.text-link:after{content:'';width:5px;height:5px;background:var(--purple);order:-1;margin-right:3px}.open-strip{border:1px solid var(--line);background:rgba(255,255,255,.015);display:grid;grid-template-columns:1fr 1fr;padding:37px 38px;gap:36px;align-items:center}.open-strip .eyebrow{color:var(--muted);margin-bottom:10px}.open-strip h2{font-size:27px;font-weight:400;letter-spacing:-.02em}.open-strip p:not(.eyebrow){font-size:17px;color:var(--muted)}.open-strip .text-link{margin-top:13px}.products{padding-top:115px;padding-bottom:106px;scroll-margin-top:35px}.section-heading{display:grid;grid-template-columns:25.6% 1fr;margin-bottom:45px}.section-heading>.eyebrow{padding-top:10px;color:var(--muted)}.section-heading h2{font-size:43px;line-height:1.17;letter-spacing:-.026em}.section-heading p:not(.eyebrow){margin-top:24px}.product-layout{display:grid;grid-template-columns:23% 1fr;gap:2.6%}.product-tab{display:block;position:relative;background:transparent;width:100%;text-align:left;border:0;border-top:1px solid var(--line);padding:18px 0 20px;cursor:pointer;color:var(--muted)}.tab-line{display:flex;align-items:center;justify-content:space-between;font-size:20px}.tab-arrow{opacity:0;transition:opacity .3s}.tab-description{display:block;font-size:14px;line-height:1.5;margin-top:8px;color:var(--muted)}.product-tab.active,.product-tab:hover{color:#fff}.active .tab-arrow{opacity:1}.product-tab:last-child{border-bottom:1px solid var(--line)}.progress-track{position:absolute;left:0;right:0;height:3px;bottom:-1px;z-index:1}.progress-fill{display:block;background:var(--purple);height:100%;width:100%;transform:scaleX(0);transform-origin:left}.playback{margin-top:31px;display:flex;align-items:center;gap:17px;color:var(--muted)}.playback-button{width:29px;height:29px;background:none;border:1px solid var(--muted);border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:14px}.playback-button:hover{background:var(--surface)}#slide-count{font-size:12px;letter-spacing:.1em}.slides{display:grid;min-width:0}.slide{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .7s ease,transform .7s ease,visibility .7s;pointer-events:none;min-width:0}.slide.active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.product-image{display:block;width:100%;height:auto;aspect-ratio:12/5;object-fit:cover;background:#fff}.slide-copy{padding-top:28px;max-width:810px}.product-kind{font-size:12px;letter-spacing:.12em;color:var(--muted);margin-bottom:9px}.slide h3{font-size:27px;font-weight:400;letter-spacing:-.015em;margin-bottom:15px}.slide-copy>p:not(.product-kind){font-size:18px;color:var(--muted);line-height:1.6}.slide .text-link{margin-top:22px}footer{overflow:hidden;padding-top:0;background:var(--bg)}.footer-meta{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:30px;color:var(--muted)}.footer-meta p,.footer-meta a,.footer-meta button{font-size:12px;line-height:1.6}.footer-meta>div{display:flex;gap:23px}.footer-meta button{background:none;border:0;padding:0;cursor:pointer}.footer-meta button:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:fixed;left:10px;top:-70px;padding:15px;background:var(--purple);z-index:10}.skip:focus{top:10px}dialog{max-width:550px;width:calc(100% - 40px);background:var(--surface);color:white;border:1px solid var(--line);padding:28px}dialog::backdrop{background:rgba(0,0,0,.7)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.dialog-heading h2{font-size:27px}.dialog-heading button{background:none;border:0;font-size:28px;cursor:pointer}
@media(min-width:1700px){.hero{padding-top:95px;padding-bottom:180px}.hero-copy{margin-left:25.6%}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.nav{grid-template-columns:1fr auto}.nav-links{gap:22px}.github-nav{display:none}.hero-copy{margin-left:16%}.hero{padding-top:65px;padding-bottom:135px}.hero .eyebrow{font-size:11px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading h2{font-size:37px}.product-layout{grid-template-columns:25% 1fr;gap:4%}.products{padding-top:75px}.open-strip{padding:27px}.open-strip h2{font-size:24px}.footer-meta{align-items:flex-start;flex-direction:column;gap:17px}.tab-description{font-size:13px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.nav{height:70px}.brand{font-size:22px}.nav-links{font-size:14px;gap:22px}.nav-links>a{display:none}.hero{padding-top:49px;padding-bottom:108px}.hero-copy{margin-left:0}.hero .eyebrow{font-size:10px;letter-spacing:.095em;margin-bottom:23px}h1{font-size:58px;letter-spacing:-.045em}.hero-description{font-size:17px;margin-top:26px}.hero-actions{gap:19px;margin-top:29px}.button{font-size:14px;padding:12px 14px;gap:13px}.hero-actions .text-link{font-size:14px;gap:6px}.text-link:after{display:none}.open-strip{grid-template-columns:1fr;padding:25px 23px;gap:19px}.open-strip h2{font-size:24px}.open-strip p:not(.eyebrow){font-size:16px}.products{padding-top:65px;padding-bottom:63px}.section-heading{gap:16px;margin-bottom:29px}.section-heading>.eyebrow{font-size:11px}.section-heading h2{font-size:35px;max-width:330px}.section-heading p:not(.eyebrow){font-size:17px;margin-top:20px}.product-layout{display:flex;flex-direction:column;gap:25px}.product-controls{display:flex;flex-direction:column}.product-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.product-tab{padding:15px 7px;border-bottom:1px solid var(--line)}.tab-line{font-size:17px}.tab-arrow,.tab-description{display:none!important}.playback{margin-top:17px;align-self:flex-end;gap:12px}.playback-button{width:27px;height:27px}.slides{min-height:365px}.slide-copy{padding-top:22px}.slide h3{font-size:25px}.slide-copy>p:not(.product-kind){font-size:16px}.slide .text-link{font-size:16px;margin-top:18px}.footer-meta{padding-top:23px}.footer-meta p,.footer-meta a,.footer-meta button{font-size:12px}.footer-meta>div{gap:20px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.slide{transform:none}}

.security-links{display:flex;gap:25px;margin-top:22px;flex-wrap:wrap}

/* Centered hero and neutral light, matching the supplied reference. */
.header{background:var(--surface);position:relative;z-index:5}
.nav{grid-template-columns:1fr 2.2fr .6fr}
.nav-links{align-items:center;gap:32px}
.hero{width:100%;max-width:none;text-align:center;padding:58px 0 100px;background:radial-gradient(ellipse 52% 83% at 50% 115%,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 100%),#2d2d2d}
.hero-copy{margin-inline:auto;position:relative}
.hero h1{font-size:clamp(58px,5.2vw,96px);line-height:1.08;letter-spacing:-.028em;font-weight:300}
.hero h1 strong{font-weight:500}
.hero-description{max-width:560px;margin:32px auto 0;font-size:18px;line-height:1.65;color:rgba(255,255,255,.78)}
.hero-actions{justify-content:center;flex-wrap:wrap;gap:16px;margin-top:43px}
.button{background:#fff;color:#1a1a1a;border:1px solid #fff;border-radius:2px;padding:14px 25px;font-weight:500}
.button:hover{background:#e9e9e9;color:#1a1a1a}
.button-outline{color:#fff;background:transparent;border-color:rgba(255,255,255,.24);font-weight:400}
.button-outline:hover{background:rgba(255,255,255,.07);color:white}
#opensource{padding-top:60px;scroll-margin-top:20px}
.products-menu{position:relative}
.products-menu summary{list-style:none;display:flex;gap:15px;align-items:center;cursor:pointer;padding:12px 0}
.products-menu summary::-webkit-details-marker{display:none}
.products-menu summary:focus-visible{outline:2px solid white;outline-offset:5px}
.products-menu[open] summary .chevron{transform:rotate(225deg);margin-top:4px}
.products-dropdown{position:absolute;left:-22px;top:calc(100% + 9px);width:320px;padding:9px;background:var(--surface);border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 35px rgba(0,0,0,.24);z-index:10}
.nav-links .products-dropdown a{display:flex;align-items:flex-start;flex-direction:column;gap:5px;padding:15px 14px}
.products-dropdown a:hover{background:rgba(255,255,255,.07);text-decoration:none}
.products-dropdown a span{font-size:17px}
.products-dropdown small{color:var(--muted);font-size:14px;line-height:1.5}
.nav-links .products-dropdown .all-products{flex-direction:row;justify-content:space-between;border-top:1px solid var(--line);margin-top:6px;padding-top:17px}
.footer-top{border-top:1px solid var(--line);padding-block:55px 65px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-top .eyebrow{color:var(--muted);margin-bottom:19px}
.footer-top h2{font-size:36px;letter-spacing:-.025em;line-height:1.2;margin-bottom:25px}
.contact-email{display:inline-flex;align-items:center;gap:23px;font-size:19px;line-height:1.5}
.footer-top nav{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.footer-top nav h3{font-size:17px;font-weight:500;margin-bottom:7px}
.footer-top nav a{font-size:16px;color:var(--muted);line-height:1.5}
#contact{scroll-margin-top:40px}
@media(max-width:900px){.nav{grid-template-columns:1fr auto}.nav-links{gap:24px}.hero{padding:60px 0 80px}.hero h1{font-size:clamp(47px,7vw,68px)}.footer-top{grid-template-columns:1.7fr 1fr 1fr;gap:25px}.footer-top h2{font-size:30px}.contact-email{font-size:17px;gap:12px}}
@media(max-width:600px){.hero{padding:48px 0 66px}.hero h1{font-size:clamp(38px,9.7vw,58px);line-height:1.12;letter-spacing:-.035em}.hero-description{font-size:16px;line-height:1.65;margin-top:27px;max-width:370px}.hero-actions{gap:12px;margin-top:32px}.hero-actions .button{padding:13px 15px;gap:9px;font-size:14px}.nav-links{gap:0}.products-dropdown{left:auto;right:0;width:min(320px,calc(100vw - 40px))}.nav-links .products-dropdown a{display:flex}#opensource{padding-top:35px}.footer-top{grid-template-columns:1fr 1fr;padding-block:37px 42px;gap:35px}.footer-top section{grid-column:1/-1}.footer-top h2{font-size:32px}.contact-email{font-size:19px}.footer-top .eyebrow{margin-bottom:13px}}

.brand-image{display:block;width:76px;height:76px;object-fit:contain;flex-shrink:0}@media(max-width:600px){.brand-image{width:66px;height:66px}}

.footer-wordmark{font-size:clamp(80px,22.6vw,500px);font-weight:600;letter-spacing:-.075em;line-height:.9;margin:83px auto -0.11em;width:max-content;padding-right:.06em;background:linear-gradient(#fff,rgba(255,255,255,.23));background-clip:text;-webkit-background-clip:text;color:transparent;opacity:.82;user-select:none}
@media(max-width:900px){.footer-wordmark{margin-top:60px}}
@media(max-width:600px){.footer-wordmark{margin-top:50px;font-size:22.3vw}}

.product-image[data-product="Spindle"]{object-fit:contain}

/* About: an editorial page using the shared Petacomm design. */
.nav-links [aria-current="page"]{text-decoration:underline;text-decoration-color:var(--purple);text-decoration-thickness:3px;text-underline-offset:9px}
.about-grid{display:grid;grid-template-columns:25.6% 1fr;gap:0}.about-grid>.eyebrow{color:var(--muted);max-width:220px;padding-top:12px;line-height:1.7}.about-hero{background:radial-gradient(ellipse at 70% 110%,rgba(255,255,255,.08),transparent 65%),#2d2d2d;padding:80px 0 90px}.about-hero h1{font-size:clamp(48px,5.2vw,80px);line-height:1.08;letter-spacing:-.035em}.about-intro{font-size:27px;font-weight:300;line-height:1.4;margin-top:32px}.about-lead{color:var(--muted);max-width:640px;margin-top:22px}.about-facts{display:grid;grid-template-columns:repeat(3,1fr);padding-block:30px;border-bottom:1px solid var(--line)}.about-facts>div{padding-left:30px;border-left:1px solid var(--line)}.about-facts>div:first-child{padding-left:0;border:0}.about-facts span{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.about-facts strong{font-weight:400;font-size:21px}.about-section{padding-block:70px;border-bottom:1px solid var(--line)}.about-page main h2{font-size:clamp(32px,3vw,46px);letter-spacing:-.025em;line-height:1.18;margin-bottom:27px}.about-prose{max-width:770px}.about-prose>p{color:var(--muted);line-height:1.7;margin-top:20px}.about-prose .text-link{margin-top:26px}.principles{margin-top:35px}.principles article{display:grid;grid-template-columns:55px 1fr;gap:14px;padding-block:29px;border-top:1px solid var(--line);max-width:790px}.principle-number{font-size:14px;color:var(--muted);padding-top:6px}.principles h3{font-size:24px;font-weight:400;margin-bottom:12px}.principles p{color:var(--muted);line-height:1.7}.infrastructure{padding-block:72px;background:var(--surface)}.founder-section{padding-block:85px 100px}.founder-copy{border-left:3px solid var(--purple);padding-left:32px;max-width:790px}.founder-role{font-size:14px;color:var(--muted);margin-bottom:15px}.about-page main .founder-copy h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:23px}.founder-copy>p:not(.founder-role){color:var(--muted);line-height:1.7;margin-top:18px}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:24px}.about-grid>.eyebrow{max-width:none}.about-hero{padding-block:50px 60px}.about-section{padding-block:52px}.founder-section{padding-block:60px}.about-prose{max-width:none}}
@media(max-width:600px){.nav-links{gap:20px}.nav-links>a[href="/about.html"]{display:flex}.about-hero h1{font-size:43px}.about-intro{font-size:23px}.about-facts{gap:12px;padding-block:24px}.about-facts>div{padding-left:12px}.about-facts strong{font-size:16px;line-height:1.4}.about-facts span{font-size:12px}.about-page main h2{font-size:32px}.about-page main p:not(.eyebrow):not(.about-intro):not(.founder-role){font-size:17px}.principles article{grid-template-columns:28px 1fr;gap:12px}.principles h3{font-size:22px}.infrastructure{padding-block:48px}.founder-copy{padding-left:20px}.about-page main .founder-copy h2{font-size:38px}}

.contact-hero{padding:64px 0 78px;background:radial-gradient(ellipse at 70% 115%,rgba(255,255,255,.09),transparent 65%),#2d2d2d}.contact-hero h1{font-size:clamp(58px,6.5vw,90px);line-height:1.05;letter-spacing:-.035em}.contact-intro{font-size:21px;line-height:1.55;margin-top:25px;color:var(--muted)}.contact-address{display:flex;align-items:center;gap:28px;width:fit-content;font-size:clamp(25px,3.1vw,44px);letter-spacing:-.025em;margin-top:36px;border-bottom:2px solid var(--purple);padding-bottom:13px;max-width:100%;overflow-wrap:anywhere}.contact-address:hover{text-decoration:none;border-color:#fff}.contact-address span{font-size:28px;flex-shrink:0}.contact-caption{font-size:13px;color:var(--muted);margin-top:18px}.contact-support{padding-block:72px}.contact-support .eyebrow,.contact-security>.eyebrow{color:var(--muted)}.support-aside{font-size:16px;color:var(--muted);line-height:1.6;margin-top:20px}.contact-page main h2{font-size:36px;line-height:1.2;letter-spacing:-.025em;margin-bottom:23px}.support-intro{max-width:750px;color:var(--muted);line-height:1.7}.support-products{margin-top:35px}.support-products article{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-block:27px}.support-products article:last-child{border-bottom:1px solid var(--line)}.support-products h3{font-size:25px;font-weight:400;margin-bottom:8px}.support-products p{font-size:16px;color:var(--muted)}.support-links{display:flex;gap:24px;flex-wrap:wrap}.support-links a{font-size:15px;line-height:1.6}.contact-security{padding-block:45px 60px;border-top:1px solid var(--line)}.contact-security p:not(.eyebrow){max-width:700px;color:var(--muted);line-height:1.7}.contact-security .text-link{margin-top:20px}.contact-location{display:flex;justify-content:space-between;gap:25px;align-items:center;background:var(--surface);padding:26px 32px;margin-bottom:65px}.contact-location p{font-size:17px}.contact-location a{font-size:16px}
@media(max-width:900px){.contact-support{padding-block:48px}.support-aside{display:none}.contact-hero{padding-block:45px 60px}.support-products article{align-items:flex-start}.support-links{flex-direction:column;gap:10px}}
@media(max-width:600px){.nav-links{gap:14px}.nav-links>a[href="/contact.html"]{display:flex}.contact-hero h1{font-size:58px}.contact-intro{font-size:18px}.contact-address{font-size:clamp(23px,6.7vw,33px);gap:12px;margin-top:28px}.contact-address span{font-size:22px}.contact-caption{font-size:12px;line-height:1.7}.contact-page main h2{font-size:30px}.support-products article{flex-direction:column;gap:18px;padding-block:25px}.support-links{flex-direction:row;gap:24px}.contact-location{align-items:flex-start;flex-direction:column;padding:24px;gap:14px;margin-bottom:45px}.contact-location p{font-size:16px}.contact-security{padding-block:35px 45px}}

/* Keep the shared navigation visible and anchor targets below it. */
:root{--nav-height:80px;scroll-padding-top:calc(var(--nav-height) + 16px)}
.header{position:sticky;top:0;z-index:20}
.products-dropdown{max-height:calc(100dvh - var(--nav-height) - 24px);overflow-y:auto}
.skip{z-index:30}
@media(max-width:600px){:root{--nav-height:73px}}
