@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/noto-sans-latin-wght-normal.BYSzYMf3.woff2)format("woff2-variations")}@font-face{font-family:Noto Serif Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/noto-serif-latin-wght-normal.DKWgU5qY.woff2)format("woff2-variations")}@font-face{font-family:Noto Sans Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/noto-sans-mono-latin-400-normal.CZYNCU4f.woff2)format("woff2")}:root{--wave:#003152;--sand:#e8e5dc;--sea:#70cccd;--sun:orange;--red:#ea4832;--blue:#1e98da;--white:#fff;--sea-25:#c9ded8;--sea-50:#aad7d3;--sea-75:#8dd1d0;--sun-25:#eed5a5;--sun-50:#f4c56e;--sun-75:#f9b537;--wave-25:#53a5ae;--wave-50:#377e8f;--wave-75:#1c5770;--red-ink:#a43223;--blue-ink:#0f6496;--bg:var(--sand);--surface:#f2f0ea;--text:var(--wave);--text-muted:var(--wave-75);--line:#0031522e;--line-strong:var(--wave);--link:var(--wave);--link-underline:var(--sea);--link-hover-underline:var(--sun);--action-bg:var(--sun);--action-text:var(--wave);--action2-border:var(--wave);--action2-text:var(--wave);--focus:var(--blue-ink);--note-bg:var(--sea-25);--warn-bg:var(--sun-25);--danger-bg:#f6d3cc;--demo-water:#d6e6e1;--demo-metal:#dde0e2;--demo-brain:#174a73;--demo-servo:#1a1a1a;--font-serif:"Noto Serif Variable", "Noto Serif", Georgia, serif;--font-sans:"Noto Sans Variable", "Noto Sans", system-ui, sans-serif;--font-mono:"Noto Sans Mono", ui-monospace, monospace;--step-display:clamp(2.75rem, 1.6rem + 4.2vw, 5rem);--step-h1:clamp(2rem, 1.6rem + 1.4vw, 2.5rem);--step-h2:clamp(1.5rem, 1.3rem + .8vw, 2.25rem);--step-h3:1.25rem;--step-lead:clamp(1.125rem, 1.05rem + .3vw, 1.25rem);--step-body:1.0625rem;--step-small:.875rem;--eyebrow-tracking:.14em;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--container:80rem;--gutter:clamp(1rem, 4vw, 2rem);--prose:72ch;--r-sm:.25rem;--r-md:.375rem;--r-lg:.5rem;--r-xl:.625rem;--shadow-card:0 1px 2px #0031520f, 0 2px .375rem #0031520f}:root[data-theme=dark]{--bg:var(--wave);--surface:#0e3c5a;--image-bg:#f2f0ea;--text:var(--sand);--text-muted:var(--sea-25);--line:#e8e5dc29;--line-strong:var(--sand);--link:var(--sea);--link-underline:var(--sea);--link-hover-underline:var(--sun);--focus:var(--sun);--note-bg:#70cccd24;--warn-bg:#ffa5001f;--demo-water:#1c5770;--demo-metal:#dde0e2;--demo-brain:#174a73;--demo-servo:#1a1a1a;--shadow-card:0 1px 2px #00000038, 0 2px .375rem #0000002e}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth;font-size:max(100%,.833333vw)}html[data-theme=dark]{color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-body);margin:0;line-height:1.6}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{color:inherit}img,video{max-width:100%;height:auto}figure{margin:0}a{color:var(--link);text-decoration-color:var(--link-underline);text-underline-offset:.2em;text-decoration-thickness:2px}a:hover{text-decoration-color:var(--link-hover-underline)}:focus-visible{outline:3px solid var(--focus);outline-offset:.25rem}h1,h2,h3,h4{margin:0 0 var(--s-5);text-wrap:balance;line-height:1.2}h1{font-size:var(--step-h1);font-weight:700}h2{font:500 var(--step-h2)/1.2 var(--font-serif)}h3{font-size:var(--step-h3);font-weight:600}p{margin:0 0 var(--s-4);text-wrap:pretty}small,figcaption{font-size:var(--step-small);color:var(--text-muted)}code,pre,kbd{font-family:var(--font-mono)}pre{max-width:100%;padding:var(--s-5);background:var(--surface);border-radius:var(--r-lg);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:var(--s-3);text-align:left;border-bottom:1px solid var(--line)}.container{width:min(100%, var(--container));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--s-7)}.display{font:700 var(--step-display)/1.05 var(--font-serif)}.lead{font-size:var(--step-lead);font-weight:500;line-height:1.55}.prose{max-width:var(--prose)}.muted{color:var(--text-muted)}.grid{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));display:grid}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--s-3);left:var(--s-3);z-index:100;padding:var(--s-3) var(--s-5);background:var(--action-bg);color:var(--action-text);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}[data-theme=dark] .light-only,:root:not([data-theme=dark]) .dark-only{display:none!important}.media-btn{color:#fff;backdrop-filter:blur(.25rem);cursor:pointer;background:#0a141e8c;border:0;border-radius:999px;place-items:center;width:2.25rem;height:2.25rem;display:grid}.media-btn:hover{background:#0a141ebf}.media-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.media-btn[hidden],.media-btn:not(.paused) .i-play,.media-btn.paused .i-pause{display:none}[data-edge]{isolation:isolate;position:relative}[data-edge]:before{content:"";background:var(--trim-edge-l) left -1.5rem top / 10rem auto no-repeat;pointer-events:none;z-index:-1;width:min(6rem,max(0px,50vw - 40rem));position:absolute;top:0;bottom:0}[data-edge=l]:before{left:0}[data-edge=r]:before{background-image:var(--trim-edge-r);background-position:right -1.5rem top;right:0}@media (width<=767px){.section{padding-block:var(--s-6)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.announcement:where(.astro-w2wd4gjv){background:var(--note-bg);color:var(--text);padding-block:.4375rem;font-size:.75rem}.announcement:where(.astro-w2wd4gjv) .container:where(.astro-w2wd4gjv){flex-wrap:wrap;justify-content:center;align-items:center;gap:.375rem .875rem;display:flex}.announcement:where(.astro-w2wd4gjv) a:where(.astro-w2wd4gjv){font-weight:700}@media (width<=767px){.announcement:where(.astro-w2wd4gjv) .container:where(.astro-w2wd4gjv){justify-content:space-between}.announcement:where(.astro-w2wd4gjv){font-size:.7rem}}.pcb-divider:where(.astro-xxccf53l){pointer-events:none;align-items:center;height:6rem;margin-block:-1.875rem;display:flex}.r:where(.astro-xxccf53l){justify-content:end}.pcb-divider:where(.astro-xxccf53l) img{width:min(40vw,36rem);height:auto;display:block}.sig:where(.astro-xxccf53l) img{width:min(40vw,23.75rem)}.trace:where(.astro-xxccf53l){line-height:0;position:relative}.sig:where(.astro-xxccf53l) .trace:where(.astro-xxccf53l){width:min(40vw,23.75rem)}.sig:where(.astro-xxccf53l) .trace:where(.astro-xxccf53l) img{width:100%}.pulse:where(.astro-xxccf53l){pointer-events:none;background:linear-gradient(90deg, transparent 0%, var(--sea) 50%, transparent 100%);mask:var(--mask-light) center / 100% 100% no-repeat;-webkit-mask:var(--mask-light) center / 100% 100% no-repeat;opacity:0;background-position:-40% 0;background-repeat:no-repeat;background-size:30% 100%;position:absolute;inset:0}[data-theme=dark] .pulse:where(.astro-xxccf53l){mask-image:var(--mask-dark);-webkit-mask-image:var(--mask-dark)}.r:where(.astro-xxccf53l) .pulse:where(.astro-xxccf53l){background-position:140% 0}:where(.astro-xxccf53l)[data-armed] .trace:where(.astro-xxccf53l){clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.2,.7,.2,1)}:where(.astro-xxccf53l)[data-armed].r .trace:where(.astro-xxccf53l){clip-path:inset(0 0 0 100%)}:where(.astro-xxccf53l)[data-armed].in .trace:where(.astro-xxccf53l){clip-path:inset(0)}.in:where(.astro-xxccf53l) .pulse:where(.astro-xxccf53l){opacity:1;animation:3.6s ease-in-out 1.6s infinite trace-pulse}.r:where(.astro-xxccf53l).in .pulse:where(.astro-xxccf53l){animation-name:trace-pulse-r}@keyframes trace-pulse-r{0%{background-position:140% 0}55%,to{background-position:-40% 0}}@keyframes trace-pulse{0%{background-position:-40% 0}55%,to{background-position:140% 0}}.top:where(.astro-xxccf53l){align-items:flex-start;height:0;margin-block:0;position:relative;overflow:visible}.top:where(.astro-xxccf53l) .trace:where(.astro-xxccf53l){position:absolute;top:-3.25rem}.top:where(.astro-xxccf53l).r .trace:where(.astro-xxccf53l){right:0}.bottom:where(.astro-xxccf53l){height:auto;margin-block:var(--s-5) 0;align-items:end}.marker:where(.astro-xxccf53l){align-items:center;gap:.75rem;display:flex}.chip:where(.astro-xxccf53l){background:var(--sea);flex-shrink:0;width:1rem;height:1rem;mask:url(/_astro/chip-diamond.hjK3z9Xc.svg) 50%/contain no-repeat}.rule:where(.astro-xxccf53l){background:var(--text);opacity:.4;width:10rem;height:1px}@media (width<=767px){.pcb-divider:where(.astro-xxccf53l){height:3.625rem}.bottom:where(.astro-xxccf53l){height:auto}.top:where(.astro-xxccf53l){height:0}.pcb-divider:where(.astro-xxccf53l) img{width:60vw}.sig:where(.astro-xxccf53l) img,.sig:where(.astro-xxccf53l) .trace:where(.astro-xxccf53l){width:min(60vw,14.25rem)}.sig:where(.astro-xxccf53l) .trace:where(.astro-xxccf53l) img{width:100%}}.site-footer:where(.astro-bddg4lij){margin-top:var(--s-8)}.footer-grid:where(.astro-bddg4lij){gap:var(--s-6);padding-top:var(--s-7);padding-bottom:var(--s-7);grid-template-columns:1.2fr repeat(4,1fr);display:grid}.footer-brand:where(.astro-bddg4lij) p:where(.astro-bddg4lij){max-width:24ch;margin-top:var(--s-4);color:var(--text-muted);font-size:.8125rem}.footer-grid:where(.astro-bddg4lij) h2:where(.astro-bddg4lij){font:600 .75rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--s-4);color:var(--text-muted)}.footer-grid:where(.astro-bddg4lij) ul:where(.astro-bddg4lij){margin:0;padding:0;list-style:none}.footer-grid:where(.astro-bddg4lij) li:where(.astro-bddg4lij){margin-bottom:var(--s-2)}.footer-grid:where(.astro-bddg4lij) a:where(.astro-bddg4lij){font-size:.8125rem}.legal:where(.astro-bddg4lij){justify-content:space-between;gap:var(--s-4);padding-block:var(--s-5);border-top:1px solid var(--line);color:var(--text-muted);flex-wrap:wrap;font-size:.6875rem;display:flex}.uen:where(.astro-bddg4lij){margin-left:var(--s-5);white-space:nowrap}@media (width<=767px){.site-footer:where(.astro-bddg4lij){margin-top:var(--s-6)}.footer-grid:where(.astro-bddg4lij){gap:var(--s-5) var(--s-4);padding-top:var(--s-6);padding-bottom:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand:where(.astro-bddg4lij){align-items:center;gap:var(--s-5);grid-column:1/-1;display:flex}.footer-brand:where(.astro-bddg4lij) .badge img{width:7rem}.footer-brand:where(.astro-bddg4lij) p:where(.astro-bddg4lij){margin-top:0}.footer-grid:where(.astro-bddg4lij) h2:where(.astro-bddg4lij){margin-bottom:var(--s-2)}.footer-grid:where(.astro-bddg4lij) li:where(.astro-bddg4lij){margin-bottom:0;line-height:1.4}.footer-grid:where(.astro-bddg4lij) li:where(.astro-bddg4lij) a:where(.astro-bddg4lij){padding-block:3px;display:inline-block}.legal:where(.astro-bddg4lij){padding-block:var(--s-4)}.uen:where(.astro-bddg4lij){margin-left:.5em}}.bubble:where(.astro-todenfvt){right:max(var(--s-4), env(safe-area-inset-right));bottom:max(var(--s-4), env(safe-area-inset-bottom));z-index:40;background:var(--action-bg);width:3.75rem;height:3.75rem;color:var(--action-text);box-shadow:0 .375rem 1.25rem color-mix(in srgb, var(--wave) 30%, transparent);border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.bubble:where(.astro-todenfvt)[hidden]{display:none}.bubble:where(.astro-todenfvt) .bubble-icon{width:1.625rem;height:1.625rem}.count:where(.astro-todenfvt){background:var(--wave);min-width:1.5rem;height:1.5rem;color:var(--sand);text-align:center;border-radius:.75rem;padding-inline:.375rem;font-size:.8125rem;font-weight:700;line-height:1.5rem;position:absolute;top:-.25rem;right:-.25rem}html[data-theme=dark] .count:where(.astro-todenfvt){background:var(--sand);color:var(--wave)}.pulse:where(.astro-todenfvt){animation:.4s ease-out pulse}@keyframes pulse{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.pulse:where(.astro-todenfvt){animation:none}}html.has-estimate body{padding-bottom:calc(3.75rem + var(--s-4) * 2)}.panel:where(.astro-todenfvt){inset:auto max(var(--s-4), env(safe-area-inset-right)) max(var(--s-4), env(safe-area-inset-bottom)) auto;width:min(27.5rem, calc(100vw - 2 * var(--s-4)));max-height:calc(100dvh - 2 * var(--s-4));padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:0 .75rem 2.5rem color-mix(in srgb, var(--wave) 35%, transparent);border:0;margin:0;position:fixed;overflow:auto}.panel:where(.astro-todenfvt)::backdrop{background:color-mix(in srgb, var(--wave) 35%, transparent)}.head:where(.astro-todenfvt){justify-content:space-between;align-items:center;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.head:where(.astro-todenfvt) h2:where(.astro-todenfvt){font-size:var(--step-h3);margin:0}.close:where(.astro-todenfvt){border-radius:var(--r-sm);background:0 0;border:0;place-items:center;width:2.75rem;height:2.75rem;display:grid}.lines:where(.astro-todenfvt){margin:0;padding:0;list-style:none}.line:where(.astro-todenfvt){gap:var(--s-2) var(--s-4);padding-block:var(--s-4);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.name:where(.astro-todenfvt){grid-column:1/-1;margin:0;font-weight:600}.stepper:where(.astro-todenfvt){align-items:center;gap:var(--s-1);display:inline-flex}.step:where(.astro-todenfvt){border:2px solid var(--text);border-radius:var(--r-sm);background:0 0;width:2.5rem;height:2.5rem;font-weight:700}.stepper:where(.astro-todenfvt) input:where(.astro-todenfvt){border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);width:4.5ch;height:2.5rem;color:var(--text);text-align:center;-moz-appearance:textfield}.stepper:where(.astro-todenfvt) input:where(.astro-todenfvt)::-webkit-inner-spin-button,.stepper:where(.astro-todenfvt) input:where(.astro-todenfvt)::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.prices:where(.astro-todenfvt){font-size:var(--step-small);justify-items:end;margin:0;display:grid}.prices:where(.astro-todenfvt) strong:where(.astro-todenfvt){font-size:var(--step-body)}.remove:where(.astro-todenfvt){justify-self:start}.total:where(.astro-todenfvt){padding-top:var(--s-4);border-top:1px solid var(--line-strong);margin:0 0 var(--s-3);justify-content:space-between;font-weight:700;display:flex}.note:where(.astro-todenfvt),.fallback:where(.astro-todenfvt),.copy-hint:where(.astro-todenfvt){font-size:var(--step-small);color:var(--text-muted)}.actions:where(.astro-todenfvt),.confirm:where(.astro-todenfvt){align-items:center;gap:var(--s-3);margin-block:var(--s-4);flex-wrap:wrap;display:flex}.confirm:where(.astro-todenfvt) p:where(.astro-todenfvt){flex-basis:100%;margin:0;font-weight:600}.confirm:where(.astro-todenfvt)[hidden],.actions:where(.astro-todenfvt) :where(.astro-todenfvt)[hidden]{display:none}.primary:where(.astro-todenfvt),.secondary:where(.astro-todenfvt){border-radius:var(--r-sm);min-height:2.75rem;padding:.5rem 1.125rem;font-weight:600}.primary:where(.astro-todenfvt){background:var(--action-bg);color:var(--action-text);border:2px solid #0000}.secondary:where(.astro-todenfvt){border:2px solid var(--text);color:var(--text);background:0 0}.link:where(.astro-todenfvt){color:var(--link);text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:.2em;font-size:var(--step-small);background:0 0;border:0;padding:.25rem 0;text-decoration-thickness:2px}.copy-text:where(.astro-todenfvt){width:100%;font:.8125rem/1.5 var(--font-mono);background:var(--bg);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:var(--s-2)}.fallback:where(.astro-todenfvt).alert{color:var(--text);font-weight:600}.address:where(.astro-todenfvt){user-select:all;color:var(--text);font-weight:600}
