:root{--font-serif:'Gilda Display', Georgia, serif;--font-sans:'Source Sans 3', system-ui, sans-serif;--font-mono:'Source Code Pro', 'Courier New', monospace;--color-primary-50:#fdf2f8;--color-primary-100:#fce7f2;--color-primary-200:#fad0e6;--color-primary-300:#f7aad1;--color-primary-400:#f175b2;--color-primary-500:#e94b93;--color-primary-600:#d72b71;--color-primary-700:#ba1c58;--color-primary-800:#a71c4f;--color-primary-900:#811a3f;--color-primary-950:#4e0922;--color-primary:var(--color-primary-600);--color-nav-bg:#28032f;--color-nav-light:#7c2f8b;--color-gray-50:#f4f7f7;--color-gray-100:#e3e8ea;--color-gray-200:#cbd4d6;--color-gray-300:#a7b5b9;--color-gray-400:#7d9197;--color-gray-500:#6a7a80;--color-gray-600:#526268;--color-gray-700:#3f4f54;--color-gray-800:#3f474b;--color-gray-950:#22272a;--color-background:light-dark(#f2efff, #101828);--color-surface:light-dark(#ffffff, #1a2332);--color-text-muted:light-dark(var(--color-gray-700), var(--color-gray-400));--color-heading:light-dark(var(--color-gray-950), var(--color-gray-50));--color-border:light-dark(var(--color-gray-200), #2a3a44);--gradient-brand:linear-gradient(150deg,
      hsl(337deg 100% 19%) 0%,
      hsl(312deg 100% 18%) 40%,
      hsl(284deg 100% 14%) 100%);--container-max:1200px;--container-padding:clamp(1rem, 5vw, 6rem);--section-gap:clamp(4rem, 8vw, 9rem);--nav-height:64px;--radius-card:16px;--radius-btn:8px;--shadow-card:0 2px 12px rgb(0 0 0 / 0.08), 0 1px 3px rgb(0 0 0 / 0.05);--shadow-card-hover:0 8px 32px rgb(0 0 0 / 0.14), 0 2px 8px rgb(0 0 0 / 0.08);--bg-grunge:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='3' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.4'/%3E%3C/svg%3E");--transition-base:200ms ease;--transition-slow:350ms ease}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{color-scheme:light dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;tab-size:4}body{min-height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased}img,video,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none}@font-face{font-family:gilda display;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/gilda-display/gilda-display-latin-400-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'source sans 3';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/source-sans-3/source-sans-3-latin-400-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'source sans 3';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/source-sans-3/source-sans-3-latin-600-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:source code pro;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/source-code-pro/source-code-pro-latin-400-normal.woff2)format('woff2')}html{font-family:var(--font-sans);font-size:18px;color:var(--color-text);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;color:var(--color-heading);line-height:1.15}h1{font-size:clamp(2.2rem,5vw,3.8rem);text-wrap:balance}h2{font-size:clamp(1.7rem,3.5vw,2.6rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:1.2rem}p{line-height:1.7}code,pre,kbd{font-family:var(--font-mono);font-size:.9em}strong{font-weight:600}a:not([class]){color:var(--color-primary-600);text-decoration:underline;text-underline-offset:3px;&:hover{color:var(--color-primary-700)}}.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}@view-transition{navigation: auto;
}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;animation-timing-function:ease}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.section{padding-block:var(--section-gap)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:var(--radius-btn);font-weight:600;font-size:1rem;line-height:1;transition:background-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer;border:none;text-decoration:none;&:active{transform:scale(.98)}}.btn-primary{background-color:var(--color-primary-600);color:#fff;&:hover{background-color:var(--color-primary-700);box-shadow:0 4px 16px rgb(215 43 113/.35)}}.btn-outline{background-color:initial;color:var(--color-primary-600);border:2px solid var(--color-primary-600);&:hover{background-color:var(--color-primary-50);color:var(--color-primary-700);border-color:var(--color-primary-700)}}.btn-ghost{background-color:initial;color:#fff;border:2px solid rgba(255,255,255,.5);&:hover{background-color:rgba(255,255,255,.1);border-color:#fff}}.tag{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;background-color:light-dark(var(--color-primary-50),rgba(215,43,113,.15));color:var(--color-primary-700);border:1px solid light-dark(var(--color-primary-200),rgba(215,43,113,.3))}[hidden]{display:none!important}.hidden{display:none!important}.site-nav{position:sticky;top:0;z-index:100;height:var(--nav-height);background-color:var(--color-nav-bg);view-transition-name:site-nav;isolation:isolate;&::after{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--bg-grunge);background-size:400px;opacity:.5;pointer-events:none}& .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}}.nav-logo{display:flex;align-items:center;flex-shrink:0;& img{height:24px;width:auto}}.nav-links{display:flex;align-items:center;gap:.25rem;margin-left:auto}.nav-link{padding:.5rem .85rem;border-radius:var(--radius-btn);font-size:.95rem;color:rgba(255,255,255,.85);font-weight:400;transition:color var(--transition-base),background-color var(--transition-base);&:hover{color:#fff;background-color:rgba(255,255,255,.1)}}.nav-cta{padding:.5rem .85rem;border-radius:var(--radius-btn);background-color:initial;color:rgba(255,255,255,.85);font-size:.95rem;font-weight:400;transition:color var(--transition-base),background-color var(--transition-base);border:none;cursor:pointer;&:hover{color:#fff;background-color:rgba(255,255,255,.1)}}.nav-lang{display:flex;align-items:center;padding-left:1rem;border-left:1px solid rgba(255,255,255,.2);margin-left:.5rem}.lang-trigger{anchor-name:--lang-anchor;display:flex;align-items:center;padding:.5rem .6rem;border-radius:var(--radius-btn);color:rgba(255,255,255,.85);cursor:pointer;background:0 0;border:none;transition:color var(--transition-base),background-color var(--transition-base);&:hover{color:#fff;background-color:rgba(255,255,255,.1)}}.lang-menu{position-anchor:--lang-anchor;margin:0;border-radius:var(--radius-card);&:popover-open{display:flex;position:absolute;inset:unset;flex-direction:column;top:calc(anchor(bottom) + .375rem);right:calc(anchor(right));gap:.1rem;padding:.35rem;border:1px solid rgba(255,255,255,.12);background-color:#28032f;color-scheme:dark;width:max-content}& li{list-style:none}& a, & .lang-current{display:block;padding:.5rem .75rem;border-radius:var(--radius-btn);font-size:.9rem;color:rgba(255,255,255,.85);text-decoration:none;transition:color var(--transition-base),background-color var(--transition-base)}& a:hover{color:#fff;background-color:rgba(255,255,255,.1)}& .lang-current{color:rgba(255,255,255,.35);cursor:default;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}}.nav-toggle-input{position:absolute;opacity:0;pointer-events:none}.nav-toggle-label{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;& span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform var(--transition-base),opacity var(--transition-base)}}@media(max-width:640px){.site-nav{height:auto;min-height:var(--nav-height);& .container{flex-wrap:wrap;height:auto;padding-block:.75rem}}.nav-toggle-label{display:flex}.nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:.25rem;padding-bottom:.75rem;margin-left:0}.nav-toggle-input:checked~.nav-links{display:flex}.nav-toggle-input:checked~.nav-toggle-label span:nth-child(1){transform:translateY(7px)rotate(45deg)}.nav-toggle-input:checked~.nav-toggle-label span:nth-child(2){opacity:0}.nav-toggle-input:checked~.nav-toggle-label span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-lang{border-left:none;padding-left:0;margin-left:0;margin-top:.5rem;align-self:flex-end}}.hero{background:var(--gradient-brand);padding-block:clamp(5rem,12vw,10rem);position:relative;overflow:hidden;&::after{content:'';position:absolute;inset:0;z-index:0;background-image:var(--bg-grunge);background-size:400px;opacity:.5;pointer-events:none}& > *{position:relative;z-index:1}}.hero-inner{position:relative;z-index:1;max-width:720px}.hero-eyebrow{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary-300);margin-bottom:1.25rem}.hero h1{color:#fff;margin-bottom:1.25rem;line-height:1.1}.hero-sub{font-size:clamp(1.05rem,2vw,1.25rem);color:rgba(255,255,255,.8);margin-bottom:2.5rem;max-width:560px;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.services-section{padding-block-start:clamp(3rem,5vw,5.5rem);padding-block-end:var(--section-gap);background-color:var(--color-background);&>.container>h2{margin-bottom:.6rem}&>.container>.section-sub{color:var(--color-text-muted);margin-bottom:2.5rem;font-size:1.05rem}}.services-network-note{font-size:.9rem;color:var(--color-text-muted);margin-top:-1.25rem;margin-bottom:2.5rem;& a{color:var(--color-primary-800);text-decoration:underline;text-underline-offset:2px;&:hover{color:var(--color-primary-600)}}}.services-filter{margin-bottom:2.5rem;container-type:inline-size;container-name:filter;& label{display:block;font-weight:600;font-size:.9rem;color:var(--color-text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.08em}& .search-input-wrap{position:relative;max-width:540px}& input[type=search]{width:100%;padding:7px 2.5rem 7px 3rem;border-radius:999px;border:2px solid transparent;color:var(--color-text);font-size:1rem;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236a7a80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"),linear-gradient(var(--color-surface),var(--color-surface)),linear-gradient(165deg,#e94b93,#28032f);background-clip:padding-box,padding-box,border-box;background-origin:padding-box,padding-box,border-box;background-repeat:no-repeat,repeat,repeat;background-position:1rem,0 0,0 0;transition:box-shadow var(--transition-base);&:focus, &:focus-visible{outline:none;box-shadow:0 0 0 4px rgb(233 75 147/.12)}&::placeholder{color:var(--color-text-muted)}&::-webkit-search-cancel-button{display:none}}& .search-clear{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);background:0 0;border:none;cursor:pointer;padding:.2rem;color:var(--color-text-muted);display:flex;align-items:center;line-height:1;transition:color var(--transition-base);&:hover{color:var(--color-text)}}}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem;view-transition-name:services-grid}.service-card{container-type:inline-size;container-name:card;display:flex;background-color:var(--color-surface);border-radius:var(--radius-card);border:1px solid var(--color-border);box-shadow:none;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base);&:hover{box-shadow:var(--shadow-card);transform:translateY(-3px);border-color:var(--color-primary-300)}&:has(a:focus-visible){outline:none;border-color:var(--color-primary-500)}}.service-card-link{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;width:100%;text-decoration:none;color:inherit;@container card (min-width:280px){padding: 1.75rem 2rem;
  }}.service-card-icon{font-size:1.5rem;line-height:1}.service-card-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.1rem,3cqi,1.3rem);color:var(--color-heading);line-height:1.2;transition:color var(--transition-base);.service-card:hover &{color:var(--color-primary-600)}}.service-card-desc{font-size:.9rem;color:var(--color-text-muted);line-height:1.55;flex:1}.service-card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;& .tag{cursor:pointer;transition:opacity var(--transition-base);&:hover{opacity:.75}}}.services-show-more{display:block;margin:1.5rem auto 0;padding:.6em 1.5em;background:0 0;border:2px solid var(--color-primary-700);border-radius:6px;color:var(--color-primary-700);font:600 .9rem/1 var(--font-body);cursor:pointer;transition:background .15s,color .15s;&:hover{background:var(--color-primary-600);color:#fff}}.service-card--contact{border-style:dotted;border-color:light-dark(var(--color-primary-400),var(--color-primary-600));border-width:4px;background:light-dark(rgb(255 255 255/.2),rgb(22 22 22/.2));& .service-card-cta{margin-top:auto;align-self:flex-start}&:hover{border-color:var(--color-primary-600);border-style:dotted;box-shadow:none;transform:none}}.service-body{padding-block:clamp(3rem,6vw,6rem)}.service-tags-hero .tag{background-color:rgba(255,255,255,.12);color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.2)}.service-header h1{view-transition-name:service-heading}.service-header{max-width:760px;margin-bottom:3.5rem;border-bottom:1px solid var(--color-border);padding-bottom:2.5rem}.network-page,.service-page{--section-pad:clamp(3rem, 6vw, 6rem)}.network-hero{padding-block:var(--section-pad);background-color:var(--color-nav-bg);position:relative;overflow:hidden;& .service-breadcrumb{margin-bottom:2rem;& a{color:rgba(255,255,255,.55)}& a:hover{color:#fff}& span{color:rgba(255,255,255,.35)}}}.network-hero-inner{max-width:720px;position:relative;z-index:1}.network-hero-text{& h1{color:#fff;margin-bottom:1.25rem}}.network-intro{font-size:clamp(1.1rem,2.5vw,1.35rem);color:rgba(255,255,255,.75);line-height:1.6;max-width:520px}.network-hero-illustration{position:absolute;right:clamp(0px,calc(50vw - 36rem),6rem);bottom:-40px;width:clamp(260px,36vw,500px);pointer-events:none;z-index:0;opacity:.7;& img{width:100%;height:auto;display:block}}.network-vetting{padding-block:var(--section-pad);& .network-vetting-inner{max-width:720px}& h2{margin-bottom:1.25rem}& p{font-size:1.05rem;line-height:1.75;color:var(--color-text-muted)}}.network-standards{padding-block-start:0;padding-block-end:var(--section-pad);background-color:var(--color-background)}.network-standards-heading{margin-bottom:2.5rem;max-width:520px}.network-qualities{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.5rem}.network-quality{padding:2rem;border-radius:var(--radius-card);background-color:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem}.network-quality h3{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.1rem,2vw,1.3rem);color:var(--color-heading);line-height:1.2}.network-quality p{font-size:.95rem;line-height:1.65;color:var(--color-text-muted)}.network-closing{padding-block:var(--section-pad);background:var(--gradient-brand)}.network-closing-cta{margin-top:2rem}.network-closing-text{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.4rem,3vw,2rem);color:#fff;line-height:1.45;max-width:680px;text-wrap:balance}.network-final{padding-block:var(--section-pad);border-top:1px solid var(--color-border)}.network-final-text{font-size:clamp(1rem,2vw,1.15rem);color:var(--color-text-muted);max-width:640px;line-height:1.7}@media(max-width:950px){.network-hero-illustration{display:none}}.service-breadcrumb{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;& a{color:var(--color-primary-600);&:hover{text-decoration:underline}}& span{color:var(--color-text-muted)}}.service-description{font-size:clamp(1.05rem,2vw,1.2rem);color:var(--color-text-muted);margin-top:1rem;line-height:1.65}.service-tags-header{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}.service-content{max-width:760px;margin-bottom:3rem;& p{margin-bottom:1.25rem}& h2{margin-top:2.5rem;margin-bottom:.75rem}& h3{margin-top:2rem;margin-bottom:.5rem}& ul, & ol{list-style:disc;padding-left:1.5rem;margin-bottom:1.25rem;color:var(--color-text);& li{margin-bottom:.4rem}}}.tech-stack{margin-bottom:3rem;& h2{margin-bottom:1.25rem}}.tech-list{display:flex;flex-wrap:wrap;gap:.4rem;& li{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:400;background-color:light-dark(var(--color-gray-100),rgba(255,255,255,6%));color:var(--color-text-muted);border:1px solid var(--color-border)}}.common-skills{margin-bottom:3rem;max-width:760px;& summary{list-style:none;cursor:pointer;user-select:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;color:var(--color-text-muted);font-size:.9rem;&::-webkit-details-marker{display:none}&:hover{color:var(--color-text)}}}.common-skills-show{color:var(--color-primary-600);font-weight:600;white-space:nowrap;&::after{content:" ▾"}}.common-skills-hide{display:none;color:var(--color-primary-600);font-weight:600;white-space:nowrap;&::after{content:" ▴"}}details.common-skills[open]{& .common-skills-show{display:none}& .common-skills-hide{display:inline}}.common-skills-list{display:flex;flex-wrap:wrap;gap:.4rem;padding:1rem 0 0;list-style:none;& li{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:400;background-color:light-dark(var(--color-gray-100),rgba(255,255,255,6%));color:var(--color-text-muted);border:1px solid var(--color-border)}}.related-services{margin-bottom:3rem;& h2{margin-bottom:1.25rem}}.related-list{display:flex;flex-wrap:wrap;gap:.75rem;& li a{display:inline-block;padding:.6rem 1.25rem;border-radius:var(--radius-btn);border:2px solid var(--color-border);color:var(--color-primary-600);font-weight:600;font-size:.9rem;transition:border-color var(--transition-base),background-color var(--transition-base);&:hover{border-color:var(--color-primary-400);background-color:var(--color-primary-50)}}}.service-cta{padding:2.5rem;border-radius:var(--radius-card);background:var(--gradient-brand);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;max-width:760px;& p{color:rgba(255,255,255,.85);font-size:1.05rem;max-width:420px}}.service-cta-heading{font-family:var(--font-serif);font-weight:400;font-size:1.5rem;color:#fff;margin-bottom:.5rem}.purpledata-section{background:var(--gradient-brand);padding-block:var(--section-gap);position:relative;overflow:hidden;isolation:isolate;&::after{content:'';position:absolute;inset:0;z-index:0;background-image:var(--bg-grunge);background-size:400px;opacity:.5;pointer-events:none}}.purpledata-inner{position:relative;z-index:2;display:grid;gap:3rem 5rem;align-items:center;@media(min-width:768px){grid-template-columns: 1fr 1fr;}}.purpledata-logo-link{display:inline-block;margin-bottom:1rem;line-height:0;&:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:4px;border-radius:2px}}.purpledata-logo{height:22px;width:auto;display:block}.purpledata-text{& .eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary-300);margin-bottom:1rem}& h2{color:#fff;margin-bottom:.5rem}& .sub{font-size:1.05rem;color:rgba(255,255,255,.65);margin-bottom:1.75rem;font-style:italic}& p{color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:1.25rem;font-size:.975rem}}.purpledata-features{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0;& li{display:flex;align-items:flex-start;gap:.75rem;color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.5;&::before{content:'';flex-shrink:0;width:18px;height:18px;margin-top:2px;border-radius:50%;background-color:var(--color-primary-500);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%}}}.purpledata-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.purpledata-visual{display:flex;justify-content:center;align-items:center}.purpledata-logo-large{width:100%;max-width:340px;height:auto;display:block;filter:drop-shadow(0 4px 24px rgba(0,0,0,.35))}.site-footer{background-color:var(--color-nav-bg);color:rgba(255,255,255,.7);padding-block:3.5rem 2rem}.footer-grid{display:grid;gap:2.5rem;margin-bottom:3rem;@media(min-width:640px){grid-template-columns: 1fr 1fr;}@media(min-width:960px){grid-template-columns: 2fr 1fr 1fr;}}.footer-brand{& img{height:32px;width:auto;margin-bottom:1rem;opacity:.9}& p{font-size:.875rem;line-height:1.65;max-width:280px}}.footer-col{& .footer-col-heading{font-family:var(--font-serif);font-weight:400;font-size:1rem;color:#fff;margin-bottom:1rem}& ul{display:flex;flex-direction:column;gap:.5rem}}.footer-link{font-size:.875rem;color:rgba(255,255,255,.65);background:0 0;border:none;padding:0;cursor:pointer;text-align:left;transition:color var(--transition-base);text-decoration:none;&:hover{color:#fff}}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:rgba(255,255,255,.6)}.footer-bottom-links{display:flex;gap:1.5rem}[popover]{border:none;padding:0;margin:auto;inset:0;position:fixed;overflow:hidden;width:min(720px,96vw);max-height:90dvh;border-radius:var(--radius-card);background:light-dark(rgba(255,255,255,.97),rgba(22,32,48,.97));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 24px 64px rgb(0 0 0/.3);opacity:0;transform:scale(.96)translateY(12px);transition:display .3s allow-discrete,overlay .3s allow-discrete,opacity .25s ease,transform .25s ease;&:popover-open{opacity:1;transform:scale(1)translateY(0)}@starting-style{&:popover-open {
      opacity: 0;
      transform: scale(0.96) translateY(12px);
    }
  }&::backdrop{background:rgb(0 0 0/.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:display .3s allow-discrete,overlay .3s allow-discrete,opacity .3s}&:popover-open::backdrop{opacity:1}@starting-style{&:popover-open::backdrop { opacity: 0; }
  }}.popover-legal{width:min(860px,96vw);max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;padding:2.5rem clamp(1.5rem,5vw,4rem)3rem;color:var(--color-text);& h1{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.5rem}& h3{font-size:1.1rem;margin-top:1.75rem;margin-bottom:.5rem;color:var(--color-heading)}& p{margin-bottom:1rem;line-height:1.7;font-size:.95rem}& address{font-style:normal;margin-bottom:1rem;line-height:1.7;font-size:.95rem}& a{color:var(--color-primary-600);text-decoration:underline;text-underline-offset:3px}& strong{font-weight:600}}.popover-contact{overflow-y:auto;overscroll-behavior:contain;padding:2.5rem clamp(1.5rem,5vw,3rem)3rem;& h2{color:var(--color-heading);margin-bottom:.4rem}& .contact-sub{font-size:.95rem;color:var(--color-text-muted);margin-bottom:2rem}}#zammad-feedback-form{& form{display:flex;flex-direction:column;gap:1rem}& label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.35rem;color:var(--color-text)}& input, & textarea, & select{width:100%;padding:.7rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-btn);background-color:var(--color-surface);color:var(--color-text);font-size:.95rem;transition:border-color var(--transition-base);&:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 3px rgb(233 75 147/.12)}}& textarea{min-height:120px;resize:vertical}& button[type=submit]{align-self:flex-end;padding:.7rem 2rem;background-color:var(--color-primary-600);color:#fff;font-weight:600;border-radius:var(--radius-btn);border:none;cursor:pointer;transition:background-color var(--transition-base);&:hover{background-color:var(--color-primary-700)}}& .success-message{color:#16a34a;font-weight:600}& .error-message{color:#dc2626;font-size:.875rem}}.popover-close{position:sticky;top:0;float:right;z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:light-dark(var(--color-gray-100),rgba(255,255,255,.1));color:var(--color-text-muted);border:none;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);margin-bottom:.5rem;&:hover{background-color:light-dark(var(--color-gray-200),rgba(255,255,255,.18));color:var(--color-heading)}& svg{width:16px;height:16px}}