.nav{position:fixed;top:0;left:0;z-index:50;width:100%;border-bottom:1px solid transparent;background-color:color-mix(in oklch,var(--background) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease}.nav.scrolled{border-bottom-color:var(--hairline);background-color:color-mix(in oklch,var(--background) 92%,transparent);box-shadow:0 8px 30px -18px oklch(0 0 0/.8)}.nav-inner{justify-content:space-between;height:4rem;max-width:80rem;margin:0 auto;padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right))}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:.9rem}.brand img{width:3rem;height:3rem;border-radius:.2rem;object-fit:contain}.brand span{font-size:1.125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.nav-links{display:none;align-items:center;gap:2rem}.nav-links a.link{font-size:.875rem;color:var(--muted-foreground);transition:color .15s ease}.nav-links a.link:hover{color:var(--foreground)}.btn{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 .75rem;border-radius:.125rem;background-color:var(--foreground);color:var(--background);font-size:.875rem;font-weight:500;border:1px solid var(--foreground);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover{background-color:var(--accent);border-color:var(--accent);color:oklch(18% .01 45)}.btn-lg{height:2.75rem;padding:0 1.25rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-right:-.5rem;background:transparent;border:1px solid var(--border);border-radius:.125rem;cursor:pointer;color:var(--foreground);transition:border-color .15s ease,background-color .15s ease}.nav-toggle:hover{border-color:var(--muted-foreground)}.nav-toggle svg{width:1.25rem;height:1.25rem}.nav-toggle .icon-close,.nav.open .nav-toggle .icon-open{display:none}.nav.open .nav-toggle .icon-close{display:block}@media (min-width:768px){.nav-links{display:flex}.nav-toggle{display:none}}@media (max-width:767.98px){.nav-links{display:none}}@media (max-width:480px){.section{padding:4rem 1.25rem}.section-hero{padding:6.5rem 1.25rem 4rem}.section-services{padding:4rem 1.25rem}h1{font-size:2.25rem}h2{font-size:1.5rem}.sec-head{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:2.5rem}.services-note{margin-top:2.5rem}.modal-dialog{padding:1.25rem;max-height:calc(100vh - 1.5rem)}footer{padding:2.25rem 1.25rem}.footer-links{flex-wrap:wrap;gap:1rem 1.5rem}}.nav-panel{display:none;flex-direction:column;gap:.25rem;padding:1rem 1.5rem 1.5rem;border-bottom:1px solid var(--hairline);background-color:color-mix(in oklch,var(--background) 96%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav.open .nav-panel{display:flex}.nav-panel a.link{font-size:1rem;color:var(--muted-foreground);padding:.875rem .25rem;border-bottom:1px solid var(--hairline);transition:color .15s ease}.nav-panel a.link:hover{color:var(--foreground)}.nav-panel .btn{margin-top:.875rem;height:3rem}@media (min-width:768px){.nav-panel{display:none!important}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-left:.25rem;background:transparent;border:1px solid var(--border);border-radius:.125rem;cursor:pointer;color:var(--muted-foreground);transition:border-color .15s ease,color .15s ease,background-color .15s ease}.theme-toggle:hover{border-color:var(--muted-foreground);color:var(--foreground)}.theme-toggle svg{width:1.1rem;height:1.1rem}.theme-toggle .icon-sun,[data-theme=light] .theme-toggle .icon-moon{display:none}[data-theme=light] .theme-toggle .icon-sun{display:block}@media (max-width:767.98px){.theme-toggle{display:none}}.section{padding:6rem 1.5rem}.section-hero{padding:8rem 1.5rem 6rem}.section-services{background-color:color-mix(in oklch,var(--surface) 40%,transparent);padding:6rem 1.5rem}.section-about{padding:8rem 1.5rem}.section-contact{border-top:1px solid var(--hairline);padding:6rem 1.5rem}.eyebrow{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.25em;color:var(--accent)}h1{font-size:2.25rem;font-weight:600;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}@media (min-width:768px){h1{font-size:3.75rem}}@media (min-width:1200px){h1{font-size:4.25rem}}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:2rem;margin-bottom:4rem;border-bottom:1px solid var(--hairline)}h2{font-size:1.875rem;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}.mono-count{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.875rem;color:var(--muted-foreground)}.services-grid{display:grid;grid-template-columns:1fr;grid-column-gap:2rem;column-gap:2rem;grid-row-gap:4rem;row-gap:4rem}@media (min-width:768px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service{display:flex;flex-direction:column;gap:1rem;padding:1.75rem 1.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);overflow:hidden;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.service:before{left:0;right:0;height:2px;background:var(--accent);transition:opacity .25s ease}.service:hover{border-color:color-mix(in oklch,var(--accent) 45%,var(--border));transform:translateY(-4px);box-shadow:0 12px 32px color-mix(in oklch,var(--accent) 12%,transparent)}.service-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.service-num{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.5rem;font-weight:700;line-height:1;color:color-mix(in oklch,var(--accent) 55%,transparent);transition:color .25s ease}.service:hover .service-num{color:var(--accent)}.service-tag{margin-bottom:.5rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground);transition:color .2s ease}.service:hover .service-tag{color:var(--accent)}.service h3{font-size:1.25rem;font-weight:600}.service p{text-wrap:pretty}.service p,.services-note{max-width:48ch;font-size:.875rem;line-height:1.625;color:var(--muted-foreground)}.services-note{margin-top:4rem}.about-grid{display:grid;grid-template-columns:1fr;grid-gap:4rem;gap:4rem;align-items:center}@media (min-width:1024px){.about-grid{grid-template-columns:repeat(12,1fr)}.about-media{grid-column:span 7}.about-copy{grid-column:span 5}}.about-media,.about-media-inner{border-radius:min(1vw,12px);position:relative}.about-media-inner{overflow:hidden;outline:1px solid var(--hairline);outline-offset:-1px;box-shadow:0 18px 48px color-mix(in oklch,var(--accent) 10%,transparent)}.about-media img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transform:translate3d(0,var(--py,0),0) scale(1.1);will-change:transform;transition:transform .5s ease}.about-media:hover img{transform:translate3d(0,var(--py,0),0) scale(1.14)}@media (prefers-reduced-motion:reduce){.about-media img,.about-media:hover img{transform:none}}.about-copy .eyebrow{margin-bottom:-.75rem}.about-copy{display:flex;flex-direction:column;gap:2rem}.about-copy p{max-width:40ch;font-size:1rem;line-height:1.625;color:var(--muted-foreground);text-wrap:pretty}.about-founded{display:flex;flex-direction:column;gap:.5rem;padding-top:2rem}.about-founded .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.about-founded .value{font-size:1.5rem;font-weight:500}.contact-head{margin-bottom:4rem}.contact-grid{display:grid;grid-template-columns:1fr;grid-gap:3rem;gap:3rem}@media (min-width:1024px){.contact-grid{grid-template-columns:repeat(12,1fr)}.contact-info{grid-column:span 5}.contact-map{grid-column:span 7}}.contact-info{gap:2.5rem}.contact-info,.field{display:flex;flex-direction:column}.field{gap:.5rem}.field .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.field .value{font-size:1.125rem;font-weight:500}.phones{display:flex;flex-direction:column;gap:.375rem}.phones a{font-size:1.125rem;font-weight:500;transition:color .15s ease;width:-moz-fit-content;width:fit-content}.phones a:hover{color:var(--accent)}.map-frame{overflow:hidden;border-radius:min(1vw,12px);outline:1px solid var(--hairline);outline-offset:-1px;background:oklch(19% .008 260);aspect-ratio:16/9;display:block;position:relative}.map-frame iframe{border:0}.map-frame iframe,.map-frame img{position:absolute;inset:0;width:100%;height:100%;display:block}.map-frame img{object-fit:cover}.map-card{position:absolute;left:1.25rem;bottom:1.25rem;z-index:3;max-width:calc(100% - 2.5rem);padding:.75rem 1rem;background:color-mix(in oklch,var(--background) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--hairline);border-radius:.75rem}.map-card .name{font-size:1rem;font-weight:600}.map-card .addr{font-size:.85rem;color:var(--muted-foreground);margin-top:.15rem}.map-card .link{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);text-decoration:none;display:inline-block;margin-top:.5rem}.map-card .link:hover{text-decoration:underline}.map-tap{display:none;position:absolute;inset:0;z-index:4;align-items:center;justify-content:center;padding:1rem;text-align:center;background:oklch(0 0 0/.38);border:0;cursor:pointer;color:#fff;font-family:inherit;font-size:.875rem;font-weight:500}.map-tap span{display:block}.map-tap .hint{margin-top:.25rem;font-size:.75rem;font-weight:400;opacity:.75}@media (hover:none) and (pointer:coarse){.map-frame:not(.active) iframe{pointer-events:none}.map-tap{display:flex}.map-frame.active .map-tap{display:none}}.map-open{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;margin-top:.75rem;padding:0 1rem;border:1px solid var(--border);border-radius:.125rem;font-size:.875rem;color:var(--foreground);transition:border-color .15s ease,color .15s ease}.map-open:hover{border-color:var(--accent);color:var(--accent)}.map-actions{display:flex;gap:.5rem;flex-wrap:wrap}.map-actions .map-open{flex:1 1;min-width:180px}.map-route{gap:.5rem}.map-route svg{width:16px;height:16px;color:var(--accent)}footer{border-top:1px solid var(--hairline);background-color:var(--background);padding:3rem 1.5rem}.footer-inner{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;max-width:80rem;margin:0 auto}@media (min-width:768px){.footer-inner{flex-direction:row}}.footer-brand{display:flex;align-items:center;gap:.5rem}.footer-brand .dot{width:.375rem;height:.375rem;border-radius:999px;background:var(--muted-foreground)}.footer-brand span{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.footer-links{display:flex;gap:2rem}.footer-links a{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground);transition:color .15s ease}.footer-links a:hover{color:var(--accent)}.modal{position:fixed;inset:0;z-index:1300;display:none;align-items:center;justify-content:center;padding:1.25rem calc(1.25rem + env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom)) calc(1.25rem + env(safe-area-inset-left));background:oklch(0 0 0/.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overscroll-behavior:contain}.modal.open{display:flex}.modal-dialog{width:100%;max-width:32rem;background-color:var(--surface);border:1px solid var(--hairline);border-radius:.75rem;padding:2rem;box-shadow:0 30px 60px -30px oklch(0 0 0/.7);max-height:calc(100vh - 2.5rem);max-height:calc(100dvh - 2.5rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.modal-head h3{font-size:1.375rem;font-weight:500;letter-spacing:-.01em}.modal-head p{font-size:.875rem;margin-top:.35rem;max-width:36ch}.modal-close,.modal-head p{color:var(--muted-foreground)}.modal-close{flex:none;width:2.25rem;height:2.25rem;background:transparent;border:1px solid var(--border);border-radius:.125rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s ease,color .15s ease}.modal-close:hover{border-color:var(--muted-foreground);color:var(--foreground)}.modal-close svg{width:1.1rem;height:1.1rem}.form-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-field label{font-size:.8125rem;color:var(--muted-foreground)}.form-control{height:2.75rem;padding:0 .875rem;background-color:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:.125rem;font-size:1rem;font-family:inherit;transition:border-color .15s ease}textarea.form-control{height:auto;padding:.75rem .875rem;resize:vertical;min-height:4.5rem;line-height:1.5}.form-control:focus{outline:none;border-color:var(--accent)}.form-control.invalid{border-color:oklch(62% .18 25)}.form-error{font-size:.75rem;color:oklch(64% .18 25);display:none}.form-field.has-error .form-error{display:block}.form-success{text-align:center;padding:1rem 0}.form-success .check{width:3rem;height:3rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.form-success .check svg{width:1.5rem;height:1.5rem}.form-success h3{font-size:1.25rem;font-weight:500;margin-bottom:.5rem}.form-success p{font-size:.9375rem;color:var(--muted-foreground)}.btn-ghost{background:transparent;color:var(--foreground);border:1px solid var(--border)}.btn-ghost:hover{background:var(--accent);border-color:var(--accent);color:oklch(18% .01 45)}.btn-sm{height:2.25rem;padding:0 .85rem;font-size:.8125rem}.user-chip{gap:.5rem;height:2.25rem;padding:0 .25rem 0 .75rem;border:1px solid var(--border);font-size:.8125rem}.user-chip,.user-chip .av{display:inline-flex;align-items:center;border-radius:999px}.user-chip .av{background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700}.user-chip .av,.user-chip .chip-x{width:1.75rem;height:1.75rem;justify-content:center}.user-chip .chip-x{border-radius:999px;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:1rem;line-height:1;display:inline-flex;align-items:center;transition:color .15s ease,background-color .15s ease}.user-chip .chip-x:hover{color:var(--foreground);background:var(--accent-soft)}.nav-user{display:flex;align-items:center;gap:.5rem}.auth-tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--hairline)}.auth-tabs button{flex:1 1;height:2.5rem;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted-foreground);font-family:inherit;font-size:.875rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.auth-tabs button[aria-selected=true]{color:var(--foreground);border-bottom-color:var(--accent)}.auth-alert{display:none;font-size:.8125rem;margin-bottom:1rem;padding:.6rem .75rem;border-radius:.125rem;border:1px solid oklch(62% .18 25/.4);background:oklch(62% .18 25/.12);color:oklch(70% .18 25)}.auth-alert.show{display:block}.auth-alt{font-size:.8125rem;color:var(--muted-foreground);text-align:center;margin-top:1rem}.auth-alt button{background:transparent;border:0;padding:0;margin-left:.35rem;color:var(--accent);font-family:inherit;font-size:.8125rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.auth-hint{font-size:.75rem;color:var(--muted-foreground);background:color-mix(in oklch,var(--surface) 60%,transparent);border:1px dashed var(--border);border-radius:.125rem;padding:.6rem .75rem;margin-bottom:1.25rem;line-height:1.45}.auth-ok{text-align:center;padding:.5rem 0}.auth-ok .role-pill{display:inline-block;margin-top:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.nav-panel .nav-user{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.5rem}.nav-panel .user-chip{justify-content:space-between}.authpage{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1.5rem + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) calc(1.5rem + env(safe-area-inset-left));background-color:var(--background)}.authpage .modal-dialog{max-width:100%}.authpage-brand{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.authpage-brand img{width:2.5rem;height:2.5rem;border-radius:.5rem}.authpage-brand b{display:block;font-size:1.0625rem;font-weight:500}.authpage-brand span{display:block;font-size:.8125rem;color:var(--muted-foreground)}.pw-wrap{position:relative}.pw-wrap .form-control{width:100%;padding-right:2.75rem}.pw-eye{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;color:var(--muted-foreground);transition:color .15s ease}.pw-eye:hover{color:var(--foreground)}.pw-eye svg{width:1.1rem;height:1.1rem}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].in{opacity:1;transform:none}[data-reveal][data-delay="1"]{transition-delay:.08s}[data-reveal][data-delay="2"]{transition-delay:.16s}[data-reveal][data-delay="3"]{transition-delay:.24s}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}.section-hero{position:relative;overflow:hidden}.hero-glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(38rem 38rem at 78% -8%,var(--glow),transparent 60%),radial-gradient(30rem 30rem at 8% 110%,color-mix(in oklch,var(--accent) 14%,transparent),transparent 62%);opacity:.9}.hero-center{position:relative;z-index:1}.btn-magnetic{position:relative;overflow:hidden;background:var(--foreground);color:var(--background);border:1px solid var(--foreground);transition:transform .18s var(--ease),background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .25s ease}.btn-magnetic:after{content:"";position:absolute;inset:0;background:radial-gradient(8rem 8rem at var(--bx,50%) var(--by,50%),color-mix(in oklch,var(--accent) 80%,transparent),transparent 70%);opacity:0;transition:opacity .25s ease}.btn-magnetic:hover{background:var(--accent);border-color:var(--accent);color:oklch(18% .01 45);box-shadow:0 12px 34px -14px var(--glow)}.btn-magnetic:hover:after{opacity:.35}.btn-magnetic>*{position:relative;z-index:1}.section-stats{border-top:1px solid var(--hairline);padding:4.5rem 1.5rem;background-color:color-mix(in oklch,var(--surface) 32%,transparent)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2.5rem 1rem;gap:2.5rem 1rem}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat{display:flex;flex-direction:column;gap:.5rem}.stat .num{font-size:2.75rem;font-weight:600;line-height:1;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background-image:linear-gradient(180deg,var(--foreground),color-mix(in oklch,var(--accent) 70%,var(--foreground)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--foreground)}.stat .cap{font-size:.8125rem;color:var(--muted-foreground);letter-spacing:.04em}@media (min-width:768px){.stat .num{font-size:3.5rem}}.service{cursor:default}.service:before{content:"";position:absolute;left:1.5rem;right:1.5rem;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transform:scaleX(.5);transition:opacity .3s ease,transform .3s var(--ease)}.service:hover:before{opacity:1;transform:scaleX(1)}.service{position:relative}.bot-fab{position:fixed;z-index:1200;right:calc(1.375rem + env(safe-area-inset-right));bottom:calc(1.375rem + env(safe-area-inset-bottom));width:3.625rem;height:3.625rem;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-fg);box-shadow:0 10px 30px oklch(0 0 0/.35);transition:transform .2s var(--ease)}.bot-fab:hover{transform:scale(1.07)}.bot-win{position:fixed;z-index:1201;right:calc(1.375rem + env(safe-area-inset-right));bottom:calc(5.75rem + env(safe-area-inset-bottom));width:23.125rem;max-width:calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right));height:min(35rem,calc(100vh - 8rem));height:min(35rem,calc(100dvh - 8rem));background:var(--surface);border:1px solid var(--border);border-radius:1.125rem;box-shadow:0 24px 60px oklch(0 0 0/.5);display:none;flex-direction:column;overflow:hidden}.bot-head,.bot-win.open{display:flex}.bot-head{align-items:center;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--border)}.bot-head b{font-size:.98rem}.bot-head .muted{font-size:.75rem;opacity:.7}.bot-head .x{margin-left:auto;margin-right:-.5rem;padding:.5rem;background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;opacity:.6;line-height:1;min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center}.bot-head .x:hover{opacity:1}.bot-body{flex:1 1;overflow-y:auto;padding:.875rem;display:flex;flex-direction:column;gap:.625rem;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.bot-msg{max-width:82%;padding:.5625rem .75rem;border-radius:.875rem;font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.bot-msg.bot{align-self:flex-start;background:var(--accent-soft);border-bottom-left-radius:.25rem}.bot-msg.me{align-self:flex-end;background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:.25rem}.bot-chips{display:flex;flex-wrap:wrap;gap:.375rem;align-self:flex-start}.bot-chip{border:1px solid var(--border);background:transparent;color:inherit;border-radius:999px;padding:.5rem .875rem;font-size:.875rem;cursor:pointer;min-height:2.5rem;transition:border-color .15s ease,color .15s ease}.bot-chip:hover{border-color:var(--accent);color:var(--accent)}.bot-cal{align-self:flex-start;width:100%;max-width:20rem;margin-top:.125rem;border:1px solid var(--border);border-radius:.875rem;padding:.625rem;background:var(--accent-soft)}.bot-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.bot-cal-nav{display:flex;gap:.375rem}.bot-cal-nav button{width:2.5rem;height:2.5rem;border-radius:.5rem;line-height:1;font-size:1rem;border:1px solid var(--border);background:transparent;color:inherit;cursor:pointer;transition:border-color .15s ease,color .15s ease}.bot-cal-nav button:hover{border-color:var(--accent);color:var(--accent)}.bot-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.1875rem;gap:.1875rem}.bot-dow{text-align:center;font-size:.66rem;opacity:.55;padding:.125rem 0}.bot-day{aspect-ratio:1/1;min-height:2.5rem;border-radius:.5rem;font-size:.875rem;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}.bot-day.out{opacity:.25}.bot-day.closed{opacity:.25;text-decoration:line-through;cursor:not-allowed}.bot-day.busy{background:oklch(60% .16 25/.18);border-color:oklch(60% .16 25/.35);cursor:not-allowed}.bot-day.few{background:oklch(78% .13 75/.2);border-color:oklch(78% .13 75/.4)}.bot-day.free{background:oklch(68% .14 150/.2);border-color:oklch(68% .14 150/.4)}.bot-day.sel{background:var(--accent);color:var(--accent-fg);font-weight:700}.bot-legend{display:flex;flex-wrap:wrap;gap:.5625rem;margin-top:.4375rem;font-size:.66rem;opacity:.75}.bot-legend i{display:inline-block;width:.5625rem;height:.5625rem;border-radius:.1875rem;margin-right:.25rem}.bot-input{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border)}.bot-input input{flex:1 1;min-width:0;border-radius:.75rem;padding:.5625rem .75rem;font-size:1rem;min-height:2.75rem;border:1px solid var(--border);background:transparent;color:inherit}.bot-input input::placeholder{color:var(--muted-foreground)}.bot-send{border:none;border-radius:.75rem;padding:.5625rem 1rem;min-height:2.75rem;background:var(--accent);color:var(--accent-fg);cursor:pointer;font-weight:600}body.has-modal .bot-fab{display:none!important}@media (max-width:600px){.bot-win{right:calc(.5rem + env(safe-area-inset-right));left:calc(.5rem + env(safe-area-inset-left));bottom:calc(5.25rem + env(safe-area-inset-bottom));width:auto;max-width:none;height:min(70vh,calc(100vh - 7rem));height:min(70dvh,calc(100dvh - 7rem))}.bot-fab{right:calc(.875rem + env(safe-area-inset-right));bottom:calc(.875rem + env(safe-area-inset-bottom))}}@media (max-width:767.98px){.hero-center h1 br{display:none}.modal-close{width:2.75rem;height:2.75rem}.chip-x{width:2.25rem;height:2.25rem}.nav-panel a.link{padding:1rem .25rem}.auth-tabs button,.btn-lg,.nav-panel .btn{height:3rem}.modal-dialog{padding:1.5rem 1.25rem}.modal-head h3{font-size:1.25rem}.map-open{width:100%}}.section-reviews{padding:4rem 0;overflow:hidden}.reviews-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.reviews-avg{color:var(--muted,#8b95a5);font-size:.95rem}.reviews-avg strong{color:var(--accent,#d4b483);font-size:1.25rem;margin-right:.25rem}.reviews-marquee{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.reviews-track{display:flex;width:max-content;animation:reviews-scroll 60s linear infinite}.reviews-marquee:focus-within .reviews-track,.reviews-marquee:hover .reviews-track{animation-play-state:paused}.reviews-row{display:flex;gap:1rem;padding-right:1rem}@keyframes reviews-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.reviews-track{animation:none}.reviews-marquee{overflow-x:auto}}@media (hover:none) and (pointer:coarse){.reviews-track{animation:none}.reviews-marquee{overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-mask-image:none;mask-image:none;scrollbar-width:none}.reviews-marquee::-webkit-scrollbar{display:none}.reviews-row{padding-bottom:.25rem}}.review-card{flex:0 0 auto;width:min(320px,82vw);background:var(--card,hsla(0,0%,100%,.04));border:1px solid var(--border,hsla(0,0%,100%,.08));border-radius:1rem;padding:1.25rem}.review-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.review-stars{color:var(--accent,#d4b483);letter-spacing:.1em;font-size:.95rem}.review-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:20px;color:var(--badge-color,var(--accent,#d4b483));background:color-mix(in oklab,var(--badge-color,var(--accent,#d4b483)) 14%,transparent);white-space:nowrap}.review-name{font-weight:600;font-size:.95rem}.review-text{margin:0 0 .5rem;color:var(--muted,#8b95a5);font-size:.92rem;line-height:1.5}.review-master{font-size:.8rem;color:var(--muted,#8b95a5);opacity:.8}.section-app{padding:4rem 0}.app-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}@media (max-width:900px){.app-grid{grid-template-columns:1fr}}.app-card{background:var(--card,hsla(0,0%,100%,.04));border:1px solid var(--border,hsla(0,0%,100%,.08));border-radius:1.25rem;padding:2rem;display:flex;flex-direction:column;gap:.75rem}.app-card h3{margin:0;font-size:1.35rem}.app-card p{margin:0;color:var(--muted,#8b95a5);line-height:1.6}.app-hint{font-size:.85rem;opacity:.8}.promo-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.promo-item{display:flex;align-items:center;gap:1rem;background:hsla(0,0%,100%,.03);border:1px solid var(--border,hsla(0,0%,100%,.08));border-radius:.875rem;padding:.875rem 1rem}.promo-badge{flex:0 0 auto;min-width:3.5rem;text-align:center;background:var(--accent,#d4b483);color:#111;font-weight:800;border-radius:.625rem;padding:.5rem .625rem;font-size:.95rem}.promo-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.promo-code{letter-spacing:.08em;font-size:1rem}.promo-note{color:var(--muted,#8b95a5);font-size:.82rem}.link-like{background:none;border:none;padding:0;color:var(--accent,#d4b483);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-like:hover{opacity:.85}.section-hero-bg{background-size:cover;background-position:50%;background-repeat:no-repeat;min-height:min(92vh,820px);display:flex;align-items:center;position:relative}.section-hero-bg .hero-glow{display:none}.hero-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;max-width:60rem;margin-inline:auto;padding-block:4rem}.hero-center h1{margin:0;text-wrap:balance}.hero-lead{font-size:clamp(1rem,1.6vw,1.185rem);line-height:1.6;color:color-mix(in oklch,var(--foreground) 88%,transparent);max-width:46rem;margin:0;text-wrap:pretty}.hero-actions{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center;margin-top:.5rem}.hero-actions .btn-ghost{background:color-mix(in oklch,var(--surface) 55%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-scroll{position:absolute;left:50%;bottom:1.75rem;translate:-50% 0;width:1.5rem;height:2.5rem;border:1px solid color-mix(in oklch,var(--foreground) 35%,transparent);border-radius:1rem;display:flex;justify-content:center;padding-top:.5rem}.hero-scroll span{width:3px;height:6px;border-radius:2px;background:var(--accent);animation:hub-scroll 1.8s ease-in-out infinite}@keyframes hub-scroll{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.hero-scroll span{animation:none;opacity:.7}}@media (max-width:640px){.section-hero-bg{min-height:auto}.hero-actions .btn{width:100%}}.section-process{padding:5rem 1.5rem;border-top:1px solid var(--hairline)}.process-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(5,1fr)}.process-step{display:flex;flex-direction:column;gap:.625rem;align-items:center;text-align:center;padding:1.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .25s ease,transform .25s ease}.process-step:hover{border-color:var(--accent);transform:translateY(-3px)}.process-num{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:color-mix(in oklch,var(--accent) 14%,transparent);color:var(--accent);font-weight:700;font-size:1rem;margin-bottom:.25rem}.process-step h3{font-size:1rem;font-weight:600;margin:0}.process-step p{font-size:.8125rem;line-height:1.55;color:var(--muted-foreground);margin:0;text-wrap:pretty}@media (max-width:1024px){.process-grid{grid-template-columns:repeat(2,1fr)}.process-step:last-child{grid-column:1/-1}}@media (max-width:560px){.process-grid{grid-template-columns:1fr}.process-step:last-child{grid-column:auto}}.section-advantages{padding:5rem 1.5rem;border-top:1px solid var(--hairline)}.advantages-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(4,1fr)}.advantage{display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .25s ease}.advantage:hover{border-color:var(--accent)}.advantage-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.625rem;background:color-mix(in oklch,var(--accent) 14%,transparent);margin-bottom:.25rem}.advantage-icon svg{width:1.375rem;height:1.375rem;color:var(--accent)}.advantage h3{font-size:1rem;font-weight:600;margin:0}.advantage p{font-size:.8125rem;line-height:1.55;color:var(--muted-foreground);margin:0;text-wrap:pretty}@media (max-width:900px){.advantages-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.advantages-grid{grid-template-columns:1fr}}.faq-sec .sec-head{margin-bottom:2.5rem}.faq-list{display:grid;grid-gap:.75rem;gap:.75rem;max-width:48rem}.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .25s ease}.faq-item:hover,.faq-item[open]{border-color:color-mix(in oklch,var(--accent) 40%,var(--border))}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.125rem 1.375rem;cursor:pointer;font-size:.9375rem;font-weight:600;list-style:none;-webkit-tap-highlight-color:transparent}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary svg{width:1.125rem;height:1.125rem;flex:none;color:var(--muted-foreground);transition:transform .25s ease,color .25s ease}.faq-item[open] summary svg{transform:rotate(180deg);color:var(--accent)}.faq-a{padding:0 1.375rem 1.25rem;font-size:.875rem;line-height:1.65;color:var(--muted-foreground);margin:0;text-wrap:pretty}