:root{--paper:#f3f2ed;--surface:#faf9f5;--ink:#191a17;--muted:#696b64;--rule:#d8d8d0;--accent:#cdf166;--accent-ink:#1a2011;--contact-bg:#191b18;--contact-fg:#f4f3ec;--contact-muted:#b9bbb2;--bg:var(--paper);--fg:var(--ink);--border:var(--rule);--theme-speed:.16s;--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, Monaco, monospace;--content-width:1320px;--gutter:clamp(22px, 5.5vw, 88px);--header-h:76px;color-scheme:light}:root[data-theme=dark]{--paper:#141612;--surface:#1c1e19;--ink:#eff0e8;--muted:#afb1a7;--rule:#34372f;--contact-bg:#0d0f0c;--contact-fg:#eff0e8;--contact-muted:#afb1a7;color-scheme:dark}*,:before,:after{box-sizing:border-box;transition:background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out, fill var(--theme-speed) ease-out, stroke var(--theme-speed) ease-out}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);overflow:clip scroll}body{background:var(--bg);min-width:320px;color:var(--fg);font-family:var(--sans);text-align:center;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;padding-bottom:var(--feedback-h,0px);transition:padding-bottom .24s ease, background-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;margin:0;font-size:16px;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline-offset:4px;outline:2px solid}.skip-link{z-index:100;background:var(--contact-bg);color:var(--contact-fg);font-family:var(--mono);transition:transform .16s ease, background-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;padding:11px 15px;font-size:12px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;height:var(--header-h);padding:0 var(--gutter);border-bottom:1px solid var(--rule);background:var(--bg);justify-content:center;align-items:center;gap:clamp(20px,3vw,40px);display:flex;position:sticky;top:0}.brand{white-space:nowrap;min-height:44px;font-family:var(--serif);letter-spacing:-.045em;align-items:center;font-size:17px;font-weight:650;display:inline-flex}.main-nav{justify-content:center;align-items:center;gap:clamp(20px,2.8vw,42px);display:flex}.nav-link{min-height:44px;color:var(--muted);white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;transition:color var(--theme-speed) ease-out;align-items:center;font-size:11px;font-weight:600;display:inline-flex;position:relative}.nav-link:after{transform-origin:0;background:var(--accent);content:"";height:2px;transition:transform .18s ease, background-color var(--theme-speed) ease-out;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--fg)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.header-actions{align-items:center;gap:10px;display:flex}.theme-toggle,.menu-toggle{border:1px solid var(--rule);width:44px;height:44px;color:var(--fg);cursor:pointer;transition:background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;background:0 0;border-radius:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.theme-toggle{transition:background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out, transform .16s ease;position:relative}.theme-toggle:hover{border-color:var(--fg);background:var(--surface)}.theme-toggle:active{transform:scale(.94)}.theme-toggle svg{width:17px;height:17px;transition:opacity var(--theme-speed) ease-out, transform var(--theme-speed) ease-out;display:block;position:absolute;top:50%;left:50%}.theme-toggle .icon-moon{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}.theme-toggle .icon-sun{opacity:0;transform:translate(-50%,-50%)rotate(-90deg)scale(.5)}[data-theme=dark] .theme-toggle .icon-moon{opacity:0;transform:translate(-50%,-50%)rotate(90deg)scale(.5)}[data-theme=dark] .theme-toggle .icon-sun{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}.pill-btn{border:1px solid var(--ink);background:var(--ink);min-height:44px;color:var(--paper);white-space:nowrap;letter-spacing:.04em;transition:background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;justify-content:center;align-items:center;padding:0 17px;font-size:11px;font-weight:600;display:inline-flex}.pill-btn:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.menu-toggle{border-color:#0000;padding:0;display:none;position:relative}.menu-toggle span{width:19px;height:1.5px;transition:transform .18s ease, background-color var(--theme-speed) ease-out;background:currentColor;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.menu-toggle span:first-child{margin-top:-3.5px}.menu-toggle span:last-child{margin-top:3.5px}.menu-toggle[aria-expanded=true] span:first-child{margin-top:0;transform:translate(-50%,-50%)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{margin-top:0;transform:translate(-50%,-50%)rotate(-45deg)}.section{width:100%;max-width:var(--content-width);padding:clamp(82px, 9.5vw, 140px) var(--gutter);border-top:1px solid var(--rule);text-align:center;scroll-margin-top:calc(var(--header-h) + 20px);margin:0 auto}main>.section:first-child{border-top:0}.section-label{color:var(--muted);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 auto 17px;font-size:10px;font-weight:500;line-height:1.5}h1,h2,h3{min-width:0;max-width:100%;color:var(--fg);font-family:var(--serif);letter-spacing:-.045em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-weight:600}p{max-width:62ch;margin:0}.muted{color:var(--muted)}.hero{text-align:center}.home-hero{min-height:clamp(600px, calc(88svh - var(--header-h)), 800px);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding-top:clamp(58px,8vh,105px);padding-bottom:clamp(58px,8vh,105px);display:flex}.hero-copy{width:100%;max-width:920px;margin:0 auto}.hero-title{letter-spacing:-.065em;max-width:13ch;margin-inline:auto;font-size:clamp(3.3rem,6.1vw,6.4rem);line-height:.98}.hero-line{display:block}.home-hero .hero-title{text-align:center;max-width:none;font-size:clamp(3.8rem,7.6vw,7.2rem)}.hero-lead{max-width:46ch;color:var(--muted);margin:25px auto 0;font-size:clamp(16px,1.35vw,18px);line-height:1.72}.home-hero .hero-lead{max-width:50ch;margin-left:auto;margin-right:auto}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;margin-top:34px;display:flex}.text-link{min-height:48px;color:var(--fg);letter-spacing:.02em;transition:color var(--theme-speed) ease-out, background-color var(--theme-speed) ease-out;justify-content:center;align-items:center;gap:12px;font-size:12px;font-weight:600;display:inline-flex}.text-link span{font-size:15px;transition:transform .16s}.text-link:hover span{transform:translate(3px)}.hero-actions .text-link:first-child{background:var(--ink);min-height:50px;color:var(--paper);padding:0 19px}.hero-actions .text-link:first-child:hover{background:var(--accent);color:var(--accent-ink)}.hero-actions .text-link:not(:first-child){text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:5px}.hero-actions .text-link:not(:first-child):hover{text-decoration-color:var(--accent)}.page-hero{padding-top:clamp(104px,14vw,190px);padding-bottom:clamp(88px,12vw,160px)}.page-hero .section-label{margin-bottom:24px}.page-hero .hero-title{max-width:13ch;margin-left:auto;margin-right:auto;font-size:clamp(3.4rem,7.5vw,7rem);line-height:.99}.page-hero .hero-lead{max-width:53ch;margin-top:26px}.about-section{text-align:center;flex-direction:column;align-items:center;gap:28px;display:flex}.section-intro{width:100%;max-width:720px;margin:0 auto}.section-intro .section-label{margin-bottom:20px}.section-intro h2{max-width:18ch;margin:0 auto;font-size:clamp(2.5rem,4.3vw,4.4rem);line-height:1.02}.section-body{text-align:center;width:100%;min-width:0;max-width:760px;margin:0 auto;padding-top:0}.section-body>p{max-width:64ch;margin-left:auto;margin-right:auto;font-size:15px;line-height:1.82}.section-body>p+p{margin-top:22px}.meta-list{border-top:1px solid var(--rule);flex-direction:column;width:100%;margin:42px auto 0;padding:0;display:flex}.meta-row{border-bottom:1px solid var(--rule);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:17px 0;display:flex}.meta-row dt{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:1px 0 0;font-size:10px;font-weight:500;line-height:1.55}.meta-row dd{max-width:68ch;margin:0 auto;font-size:13px;line-height:1.72}.email-link{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere;padding:2px 0}.email-link:hover{color:var(--muted)}.language-list,.dialect-list,.stack-list{padding:0;list-style:none}.language-list{border-top:1px solid var(--rule);width:100%;max-width:620px;margin:38px auto 0}.language-row{border-bottom:1px solid var(--rule);padding:21px 0 23px}.language-name{font-family:var(--serif);letter-spacing:-.035em;font-size:clamp(21px,2.2vw,26px);font-weight:550;line-height:1.2;display:block}.language-level{color:var(--muted);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:9px;margin-top:8px;font-size:10px;font-weight:500;display:inline-flex}.language-level:before{content:"";background:0 0;border:1px solid;width:6px;height:6px}.language-level[data-level=native]:before{border-color:var(--fg);background:var(--accent)}.dialect-list{border:1px solid var(--rule);background:var(--surface);text-align:left;max-width:440px;margin:18px auto 0;padding:8px 18px}.dialect-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 14px;padding:11px 0;font-size:13px;line-height:1.5;display:flex}.dialect-row+.dialect-row{border-top:1px solid var(--rule)}.dialect-name{align-items:center;gap:10px;min-width:0;display:inline-flex}.dialect-row .flag{width:18px;height:13px;box-shadow:0 0 0 1px color-mix(in srgb, var(--fg) 14%, transparent);flex:none}.dialect-level{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-align:right;text-transform:uppercase;margin-left:auto;font-size:10px}.stack-group+.stack-group{margin-top:34px}.stack-label{color:var(--muted);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 auto 15px;font-size:10px;font-weight:500}.stack-list{flex-wrap:wrap;justify-content:center;gap:8px;max-width:620px;margin:0 auto;display:flex}.stack-item{border:1px solid var(--rule);color:var(--fg);font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:8px;padding:9px 14px;font-size:11px;line-height:1.4;display:inline-flex}.stack-item .logo{flex:none;margin-top:-1px}.stack-group--comfortable .stack-item{color:var(--muted)}.about-section .stack-label{color:var(--muted);font-family:var(--sans);letter-spacing:.01em;text-transform:none;font-size:13px;font-weight:400}.about-section .stack-item{color:var(--muted)}.about-section .stack-group--daily .stack-item{color:var(--fg)}.about-contact h2{max-width:20ch;margin:0 auto;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.04}.about-contact .hero-actions{margin-top:28px}.services-section{text-align:center;padding-top:clamp(82px,9vw,128px)}.services-section .section-heading{width:100%;max-width:760px;margin:0 auto}.services-section .section-label{margin-bottom:18px}.services-section h2{max-width:16ch;margin:0 auto;font-size:clamp(2.8rem,5.2vw,5.3rem);line-height:1}.services-list{border-top:1px solid var(--rule);width:100%;max-width:820px;margin:48px auto 0;padding:0;list-style:none}.service-row{border-bottom:1px solid var(--rule);text-align:center;flex-direction:column;align-items:center;gap:5px;min-height:0;padding:23px 8px 25px;display:flex}.service-num{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;font-size:10px;font-weight:500}.service-title{font-family:var(--serif);letter-spacing:-.035em;font-size:clamp(20px,2vw,25px);font-weight:550;line-height:1.2}.service-desc{max-width:43ch;color:var(--muted);margin:0 auto;font-size:13px;line-height:1.65}.contact-section{max-width:none;padding-top:clamp(82px,10vw,142px);padding-right:max(var(--gutter), calc((100% - var(--content-width)) / 2 + var(--gutter)));padding-bottom:clamp(82px,10vw,142px);padding-left:max(var(--gutter), calc((100% - var(--content-width)) / 2 + var(--gutter)));background:var(--contact-bg);color:var(--contact-fg);text-align:center;border-top:0;flex-direction:column;align-items:center;display:flex}:root:not([data-theme=dark]) .contact-section{--contact-bg:var(--paper);--contact-fg:var(--ink);--contact-muted:var(--muted);border-top:1px solid var(--rule)}:root:not([data-theme=dark]) .contact-copy .section-label{color:var(--muted)}.contact-copy{width:100%;max-width:760px;margin:0 auto}.contact-copy .section-label{color:var(--accent);margin:0 auto 22px}.contact-copy h2{max-width:16ch;color:var(--contact-fg);margin:0 auto;font-size:clamp(2.7rem,5.4vw,5.4rem);line-height:.99}.contact-copy>p:last-child{max-width:46ch;color:var(--contact-muted);margin:24px auto 0;font-size:15px;line-height:1.75}.contact-action{border-top:1px solid color-mix(in srgb, var(--contact-fg) 24%, transparent);flex-direction:column;align-items:center;gap:18px;width:100%;min-width:0;max-width:500px;margin:42px auto 0;padding-top:24px;display:flex}.email-line{min-width:0;color:var(--contact-fg);font-family:var(--mono);overflow-wrap:anywhere;text-align:center;margin:0;font-size:clamp(11px,1.2vw,14px);line-height:1.6}.email-line a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--contact-fg) 32%, transparent);text-underline-offset:4px;padding:4px 2px;transition:text-decoration-color .16s;display:inline-block}.email-line a:hover{text-decoration-color:var(--accent)}.btn-block{background:var(--accent);width:min(100%,240px);min-height:52px;color:var(--accent-ink);transition:background-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;justify-content:center;align-items:center;gap:18px;padding:0 20px;font-size:12px;font-weight:700;display:inline-flex}.btn-block span{font-size:15px}.btn-block:hover{background:var(--contact-fg);color:var(--contact-bg)}.copy-link{color:var(--contact-muted);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-underline-offset:4px;transition:color var(--theme-speed) ease-out, text-decoration-color .16s ease;background:0 0;border:0;align-self:center;padding:8px 0;font-size:10px;text-decoration:underline #0000}.copy-link:hover{color:var(--contact-fg);text-decoration-color:var(--accent)}.legal-section{max-width:980px;padding-top:clamp(82px,10vw,136px);padding-bottom:clamp(92px,12vw,160px)}.legal-section>.section-label{text-align:center;margin-bottom:22px}.legal-section h1{text-align:center;max-width:16ch;margin:0 auto;font-size:clamp(3rem,6vw,5.6rem);line-height:1.02}.legal-intro{max-width:53ch;color:var(--muted);text-align:center;margin:24px auto 0;font-size:16px;line-height:1.75}.legal-copy{border-top:1px solid var(--rule);text-align:center;max-width:680px;margin:56px auto 0;padding-top:28px}.legal-copy h2{text-align:center;margin:0 0 10px;font-size:clamp(20px,2.2vw,25px);line-height:1.2}.legal-copy h2:not(:first-child){margin-top:34px}.legal-copy p{max-width:none;color:var(--muted);text-align:center;margin:0 auto;font-size:14px;line-height:1.8}.legal-copy a{overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.empty-page{min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));flex-direction:column;display:flex}.holding-section{width:100%;max-width:none;min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));padding:80px var(--gutter);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.holding-section .hero-title{max-width:12ch;margin:0 auto;font-size:clamp(3.5rem,8vw,7rem)}.holding-section .hero-lead{margin-left:auto;margin-right:auto}.holding-section .hero-actions{justify-content:center}.site-footer{padding:0 var(--gutter);border-top:1px solid var(--rule)}.footer-top,.footer-bottom{width:100%;max-width:var(--content-width);margin:0 auto}.footer-top{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:142px;padding:28px 0;display:flex}.footer-brand{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.footer-brand .footer-logo{min-height:44px;color:var(--fg);font-family:var(--serif);letter-spacing:-.045em;align-items:center;margin:0;font-size:17px;font-weight:650;display:inline-flex}.footer-logo:hover{color:var(--muted)}.footer-brand p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.footer-social{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:520px;margin:0 auto;display:flex}.social-icon{width:36px;height:36px;color:var(--muted);transition:border-color var(--theme-speed) ease-out, background-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.social-icon svg,.social-icon .logo{width:16px;height:16px}.built-with{transition:color var(--theme-speed) ease-out;align-items:center;gap:6px;display:inline-flex}.built-with .logo{opacity:.85;flex:none}.built-with:hover{color:var(--fg)}.built-with:hover .logo{opacity:1}.social-icon:hover{border-color:var(--rule);background:var(--surface);color:var(--fg)}.footer-bottom{border-top:1px solid var(--rule);min-height:58px;color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px 0;font-size:10px;display:flex}.footer-legal{flex-wrap:wrap;justify-content:center;gap:22px;display:flex}.footer-legal a{transition:color var(--theme-speed) ease-out}.footer-legal a:hover{color:var(--fg)}.clipboard-fallback{opacity:0;border:0;width:1px;height:1px;padding:0;position:fixed;top:0;left:0}.toast{z-index:60;bottom:calc(22px + env(safe-area-inset-bottom,0px));overflow-wrap:anywhere;border:1px solid color-mix(in srgb, var(--contact-fg) 20%, transparent);background:var(--contact-bg);max-width:calc(100vw - 24px);color:var(--contact-fg);font-family:var(--mono);letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .16s ease, transform .16s ease, background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;padding:12px 16px;font-size:11px;position:fixed;left:50%;transform:translate(-50%,8px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.is-error{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.hero .reveal{transition:opacity .42s ease, transform .42s ease, background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out}html.js-ready .hero .reveal{opacity:0;transform:translateY(10px)}html.js-ready .hero .reveal.is-visible{opacity:1;transform:translateY(0)}.feedback-panel{z-index:55;padding:0 var(--gutter) calc(16px + env(safe-area-inset-bottom,0px));visibility:hidden;transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility .28s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.feedback-panel.is-open{visibility:visible;transform:translateY(0)}.feedback-inner{border:1px solid var(--rule);background:var(--surface);width:100%;max-width:560px;max-height:min(70vh,440px);transition:background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out;margin:0 auto;padding:16px 20px 14px;position:relative;overflow-y:auto}.feedback-status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feedback-head{padding-left:34px;padding-right:34px}.feedback-label{margin-bottom:6px}.feedback-title{letter-spacing:-.035em;margin:0 auto;font-size:clamp(17px,1.7vw,20px);font-weight:550;line-height:1.25}.feedback-close{border:1px solid var(--rule);width:30px;height:30px;color:var(--muted);cursor:pointer;transition:background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;background:0 0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:10px;right:10px}.feedback-close:hover{border-color:var(--fg);background:var(--paper);color:var(--fg)}.feedback-close svg{width:12px;height:12px}.fb-rating{min-width:0;margin:12px 0 0}.fb-rating-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:34px;display:flex}.fb-stars{display:flex}.fb-star-wrap{display:inline-flex;position:relative}.fb-star-input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.fb-star{width:34px;height:34px;color:var(--muted);cursor:pointer;transition:color var(--theme-speed) ease-out;justify-content:center;align-items:center;display:inline-flex}.fb-star-icon{fill:#0000;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;width:19px;height:19px;transition:transform .16s ease, fill .16s ease, color var(--theme-speed) ease-out, stroke var(--theme-speed) ease-out}.fb-star-name{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fb-star:hover,.fb-star-wrap:has(~.fb-star-wrap:hover) .fb-star{color:var(--fg)}.fb-star:hover .fb-star-icon,.fb-star-wrap:has(~.fb-star-wrap:hover) .fb-star-icon{fill:color-mix(in srgb, var(--accent) 55%, transparent);transform:translateY(-1px)}.fb-star-input:focus-visible+.fb-star{outline-offset:1px;outline:2px solid}.fb-star-input:checked+.fb-star,.fb-star-wrap:has(~.fb-star-wrap .fb-star-input:checked) .fb-star{color:var(--fg)}.fb-star-input:checked+.fb-star .fb-star-icon,.fb-star-wrap:has(~.fb-star-wrap .fb-star-input:checked) .fb-star-icon{fill:var(--accent);stroke:var(--fg)}.fb-readout{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;white-space:nowrap;margin:0;font-size:10px}.fb-ask{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .26s,opacity .2s;display:grid}.feedback-panel.is-rated .fb-ask{opacity:1;grid-template-rows:1fr}.fb-ask-inner{min-height:0;overflow:hidden}.fb-ask-label{border-top:1px solid var(--rule);color:var(--muted);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:12px 0 0;padding-top:11px;font-size:10px;font-weight:500}.fb-ask-label:before{border:1px solid var(--fg);background:var(--accent);content:"";vertical-align:middle;width:6px;height:6px;margin-right:8px;display:inline-block}.fb-ask-text{max-width:46ch;color:var(--muted);margin:6px auto 0;font-size:14px;line-height:1.5}.fb-field{text-align:left;margin-top:11px}.fb-field-head{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:5px;display:flex}.fb-field-label{color:var(--muted);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.fb-field-label .muted{letter-spacing:.08em;text-transform:none}.fb-textarea{border:1px solid var(--rule);background:var(--paper);width:100%;min-height:42px;color:var(--fg);font-family:var(--sans);resize:vertical;transition:min-height .26s ease, border-color .16s ease, background-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;border-radius:0;padding:9px 11px;font-size:13px;line-height:1.55;display:block}.fb-textarea::placeholder{color:var(--muted);opacity:.8}.fb-textarea:focus{border-color:var(--fg)}.feedback-panel.is-rated .fb-textarea{min-height:72px}.fb-error,.fb-count{font-family:var(--mono);letter-spacing:.04em;margin:0;font-size:10px}.fb-count{color:var(--muted);white-space:nowrap;flex:none;margin-left:auto}.fb-error{max-height:0;color:var(--fg);transition:max-height .16s,margin-top .16s;overflow:hidden}.fb-field.has-error .fb-error{max-height:40px;margin-top:6px}.fb-field.has-error .fb-textarea{border-color:var(--fg)}.fb-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:11px;display:flex}.fb-submit{border:1px solid var(--accent);background:var(--accent);min-height:36px;color:var(--accent-ink);letter-spacing:.04em;cursor:pointer;transition:background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out, opacity .16s ease;justify-content:center;align-items:center;padding:0 18px;font-size:11px;font-weight:600;display:inline-flex}.fb-submit:hover{border-color:var(--fg);background:var(--fg);color:var(--bg)}.fb-submit:active{transform:scale(.98)}.fb-submit[disabled]{opacity:.45;cursor:not-allowed}.fb-submit[disabled]:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.fb-later,.fb-mail{color:var(--muted);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-underline-offset:4px;transition:color var(--theme-speed) ease-out, text-decoration-color .16s ease;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:10px;text-decoration:underline #0000;display:inline-flex}.fb-later:hover,.fb-mail:hover{color:var(--fg);text-decoration-color:var(--accent)}.feedback-form[hidden],.feedback-thanks[hidden],.fb-mail[hidden]{display:none}.feedback-thanks .feedback-title{outline:none}.feedback-note{max-width:46ch;color:var(--muted);margin:9px auto 0;font-size:13px;line-height:1.55}.feedback-thanks .fb-actions{margin-top:13px}@media (width<=760px){:root{--header-h:68px;--gutter:22px}.site-header{justify-content:center;gap:14px;display:flex}.footer-social{gap:4px}.social-icon{width:44px;height:44px}.social-icon svg{width:18px;height:18px}.footer-legal{gap:8px 26px}.footer-legal a,.built-with,.copy-link{align-items:center;min-height:44px;display:inline-flex}.email-line a{min-height:44px}.legal-copy a{padding:13px 0}.fb-textarea{min-height:46px;font-size:16px}.fb-submit{min-height:44px}.fb-later,.fb-mail{align-items:center;min-height:44px}html.js-ready .main-nav{padding:8px var(--gutter) 13px;max-height:calc(100svh - var(--header-h));overscroll-behavior:contain;border-bottom:1px solid var(--rule);background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease, transform .16s ease, visibility .16s ease, background-color var(--theme-speed) ease-out, border-color var(--theme-speed) ease-out, color var(--theme-speed) ease-out;flex-direction:column;align-items:center;gap:0;display:flex;position:absolute;top:calc(100% - 1px);left:0;right:0;overflow-y:auto;transform:translateY(-6px)}html.js-ready .main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}html:not(.js-ready) .site-header{flex-wrap:wrap;height:auto;padding-top:14px;padding-bottom:14px}html:not(.js-ready) .theme-toggle{display:none}html:not(.js-ready) .main-nav{flex-wrap:wrap;justify-content:center;width:100%}.site-header .nav-link{border-bottom:1px solid var(--rule);width:100%;min-height:50px;color:var(--fg);letter-spacing:.08em;justify-content:center;font-size:12px}.site-header .nav-link:last-child{border-bottom:0}.nav-link:after,.header-actions .pill-btn{display:none}html.js-ready .menu-toggle{display:inline-flex}.section{padding-top:clamp(72px,15vw,110px);padding-bottom:clamp(72px,15vw,110px)}.home-hero{flex-direction:column;align-items:center;min-height:0;padding-top:78px;padding-bottom:78px;display:flex}.home-hero .hero-title{max-width:none;font-size:clamp(3rem,11.2vw,4.6rem);line-height:.98}.hero-lead{max-width:50ch;margin-top:21px;font-size:16px}.hero-actions{gap:13px 20px;margin-top:27px}.page-hero{padding-top:92px;padding-bottom:86px}.page-hero .hero-title{font-size:clamp(3.25rem,10vw,5.4rem)}.about-section{gap:26px}.section-intro{max-width:600px}.section-intro h2{max-width:14ch;font-size:clamp(2.5rem,9vw,4rem)}.section-body{padding-top:0}.section-body>p{font-size:15px}.meta-list{margin-top:32px}.services-section h2{font-size:clamp(2.65rem,10vw,4.5rem)}.services-list{margin-top:36px}.service-row{gap:5px;padding:19px 3px 21px}.service-title{font-size:22px}.service-desc{max-width:48ch;font-size:13px}.contact-section{gap:38px;padding-top:78px;padding-bottom:82px}.contact-copy h2{max-width:13ch;font-size:clamp(2.8rem,10.5vw,4.6rem)}.contact-action{width:100%}.legal-section h1{font-size:clamp(2.9rem,9vw,4.8rem)}.legal-copy{margin-top:42px}.footer-top{gap:22px;padding:28px 0 25px}.footer-social{justify-content:center;margin:0 auto}.feedback-panel{padding:0}.feedback-inner{max-width:none;padding:14px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));border-bottom:0;border-left:0;border-right:0}.feedback-head{padding-left:32px;padding-right:32px}.feedback-close{width:44px;height:44px;top:8px;right:8px}.fb-star{width:44px;height:44px}.fb-ask-text{font-size:13px}}@media (width<=480px){.brand{font-size:16px}.header-actions{gap:6px}.home-hero .hero-title{font-size:clamp(2.85rem,11vw,3.4rem)}.hero-actions{align-items:center}.hero-actions .text-link:first-child{min-height:48px;padding:0 15px}.meta-row{gap:14px}.meta-row dt{letter-spacing:.08em;font-size:9px}.meta-row dd{font-size:12px}.contact-action{gap:14px}.email-line{padding-bottom:3px}.btn-block{width:100%}.copy-link{align-self:center}.footer-bottom{flex-direction:column;align-items:center;gap:4px;padding:14px 0 18px}.footer-legal{gap:0 22px}.fb-rating-row{gap:10px}.fb-star-icon{width:21px;height:21px}.fb-actions{flex-direction:column;gap:4px}.fb-submit{width:100%}}@media (width<=400px){.contact-copy h2{font-size:clamp(2.3rem,11.6vw,2.8rem)}.legal-section h1{font-size:clamp(2.6rem,12vw,2.9rem)}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:.15s ease-in both page-leave}::view-transition-new(root){animation:.3s cubic-bezier(.22,.61,.36,1) both page-enter}}@keyframes page-leave{to{opacity:0;transform:translateY(-8px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.js-ready .hero .reveal{opacity:1;transform:none}}
