@font-face{font-family:Manrope;src:url('/assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-semibold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{color-scheme:light;--ink:#192326;--paper:#f4f6f5;--accent:#536d68;--bar-h:44px;scroll-behavior:smooth;scroll-padding-top:70px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}img,svg{max-width:100%}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #71968b;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}button[hidden],[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.prototype-bar{height:var(--bar-h);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;background:#1b2528;color:#f9fbfa;font-size:11px;letter-spacing:.02em}.prototype-bar a{text-decoration:none}.prototype-bar .prototype-note{opacity:.65}.embed .prototype-bar{display:none}.embed{--bar-h:0px}.prototype-bar strong{font-weight:600}.prototype-bar a:last-child{border-bottom:1px solid #82958d;padding-bottom:2px}
.proposal-hero{position:relative;isolation:isolate;min-height:590px;height:calc(100svh - var(--bar-h));overflow:hidden;background:linear-gradient(180deg,#fafbfc,#f7f9fb 54%,#f3f5f8 72%,#f7f8fa)}
.proposal-art{position:absolute;inset:0;pointer-events:none}.proposal-art:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 110% 10% at 58% 76%,#ffffffb3,transparent 74%),linear-gradient(168deg,transparent 64%,#ffffff66 71%,transparent 77%),linear-gradient(190deg,transparent 70%,#e9edf244 84%,transparent 94%)}
.proposal-art picture{position:absolute;right:0;top:0;width:min(100%,215svh);height:100%}.proposal-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:100% 38%;filter:saturate(.38) brightness(1.012) contrast(.99)}
.proposal-header{position:absolute;top:28px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;gap:25px;z-index:2}.brand{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1}.brand small{font-size:9px;letter-spacing:.22em;margin-bottom:7px}.brand strong{font-size:37px;letter-spacing:-.08em}.brand em{color:#6c8b7b;font-style:normal}.proposal-header nav{display:flex;gap:28px;align-items:center;font-size:12px}.proposal-header nav a{text-decoration:none}.proposal-header nav button{border:1px solid #fff;background:#ffffff7a;padding:14px 22px;border-radius:30px}
.hero-note{position:absolute;top:56%;left:6vw;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px;border:1px solid #ffffffdb;background:#ffffff70;border-radius:14px;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);font-size:12px;line-height:1.5;text-align:left}.hero-note b{font-size:22px;font-weight:400;background:#ffffff90;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}
.hero-next{position:absolute;left:6vw;bottom:32px;text-decoration:none;font-size:12px;display:flex;align-items:center;gap:20px;padding:12px 20px;background:#ffffff90;border:1px solid #fff;border-radius:30px}.hero-next span{font-size:22px}.hero-proof{position:absolute;right:5vw;bottom:34px;max-width:150px;font-size:9px;line-height:1.6;color:#65706e;text-align:right;letter-spacing:.08em;text-transform:uppercase}
main{scroll-margin-top:var(--bar-h)}.reveal-ready [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}
.site-end{padding:40px 6vw 140px;border-top:1px solid #83968c35;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;font-size:11px}.site-end p{margin:0;color:#718079}.site-end a{text-decoration:none;border-bottom:1px solid #7b8a822f;padding-bottom:7px}.theme-gallery .site-end{background:#111a20;color:#e7eeeb}
/* Same accessible appointment mechanism in every direction. */
.booking-dock{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(390px,calc(100% - 32px));z-index:40;padding:6px;background:linear-gradient(120deg,#fffffff2,#eef3f1de);border:1px solid #fff;border-radius:50px;box-shadow:0 12px 44px #243b4921;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#172328}
.booking-track{position:relative;display:flex;align-items:center;height:58px;--slide:0;border-radius:40px;overflow:hidden;background:#fafcfb80}.booking-fill{position:absolute;inset:0 auto 0 0;width:calc(60px + var(--slide) * (100% - 60px));background:#d5e8e0;border-radius:40px}.booking-label{position:absolute;left:65px;right:28px;top:0;height:58px;border:0;padding:0 20px;background:none;font-size:12px;font-weight:600;z-index:5;text-align:center}.booking-arrows{position:absolute;right:10px;top:17px;font-size:20px;letter-spacing:-4px;pointer-events:none;color:#718079}.booking-range{position:absolute;inset:0;width:100%;height:58px;margin:0;opacity:0;cursor:grab;z-index:3;touch-action:pan-y}.booking-range::-webkit-slider-thumb{width:58px;height:58px}.booking-range::-moz-range-thumb{width:58px;height:58px}.booking-knob{position:absolute;top:2px;left:calc(2px + var(--slide) * (100% - 58px));width:54px;height:54px;background:#fff;border:1px solid #e0e8e4;border-radius:50%;box-shadow:0 3px 10px #3f53571a;display:grid;place-items:center;pointer-events:none;z-index:4;overflow:hidden}.booking-knob img{width:70px;max-width:none;height:54px;object-fit:contain}.booking-range:focus-visible~.booking-knob{outline:3px solid #567f70;outline-offset:-3px}.booking-track.reset .booking-fill,.booking-track.reset .booking-knob{transition:all .25s ease}
.booking-modal{position:fixed;inset:0;margin:auto;padding:0;border:1px solid #dfe8e1;border-radius:26px;background:#f8faf8;color:#1a2829;width:min(780px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 30px 100px #12272c35;overscroll-behavior:contain}.booking-modal::backdrop{background:#17293182;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}body.modal-open{overflow:hidden}.booking-top{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;background:#f8faf8f5;border-bottom:1px solid #e0e7e1;padding:20px 30px}.booking-top .mini-brand{font-size:18px;letter-spacing:-.07em;font-weight:600}.booking-top .demo-note{font-size:10px;color:#66766d;margin-left:16px}.booking-close{width:42px;height:42px;border:1px solid #d9e2db;background:white;border-radius:50%;font-size:23px}.booking-content{padding:30px 42px 34px}.step-caption{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6b7c72;display:flex;justify-content:space-between}.step-progress{height:3px;background:#e2e9e3;border-radius:4px;margin:13px 0 28px;overflow:hidden}.step-progress i{display:block;height:100%;background:#658372;transition:width .3s ease}.booking-content h2{font-size:clamp(26px,4vw,39px);letter-spacing:-.055em;line-height:1.13;margin-bottom:10px;outline:none}.step-help{font-size:13px;line-height:1.65;color:#607068;margin-bottom:25px}.booking-content fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}.booking-content legend{font-size:12px;margin-bottom:12px;font-weight:600}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative;display:flex;align-items:center;gap:12px;border:1px solid #dce4de;padding:16px 15px;border-radius:12px;background:#fff;font-size:12px;line-height:1.5;cursor:pointer;min-height:58px}.choice:hover{border-color:#8ba798}.choice:has(input:checked){background:#e7f0e9;border-color:#789984}.choice input{accent-color:#56735f;flex:0 0 auto;width:17px;height:17px;margin:0}.choice:has(input:focus-visible){outline:2px solid #6e917f;outline-offset:2px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin-bottom:18px}.form-label em{font-style:normal;color:#7c8b80;font-size:10px}.form-label input,.form-label textarea{width:100%;border:1px solid #ccd9cf;border-radius:10px;background:white;color:#17262a;padding:14px;font-size:16px}.form-label textarea{min-height:110px;resize:vertical}.form-label input[aria-invalid=true]{border-color:#b25042}.channel-choice{display:flex;gap:9px;margin-bottom:18px}.channel-choice .choice{min-width:140px}.form-error{color:#973e32;font-size:12px;line-height:1.5;min-height:18px;margin:10px 0}.booking-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e1e7e1;padding-top:22px}.booking-actions button,.summary-actions button{min-height:46px;border:0;border-radius:30px;padding:12px 24px;background:#1b302b;color:white;font-size:12px}.booking-actions button:first-child:not(:last-child),.summary-actions .secondary{background:transparent;color:#41594c;border:1px solid #cdd9d0}.booking-actions .first-step-back{visibility:hidden}.privacy-note{font-size:10px;line-height:1.7;color:#728176;margin:18px 0 0}.booking-summary dl{margin:25px 0}.booking-summary dl>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #dce5dd;font-size:12px;line-height:1.7}.booking-summary dt{color:#748478}.booking-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.summary-actions{display:flex;gap:10px;flex-wrap:wrap}.summary-status{font-size:12px;min-height:20px;margin-top:16px;color:#536f5d}
@media(max-width:700px){.prototype-bar{padding:0 14px;font-size:10px}.prototype-note{display:none}.proposal-hero{min-height:560px}.proposal-header{top:24px;left:24px;right:24px}.brand strong{font-size:30px}.proposal-header nav{gap:16px}.proposal-header nav>a{display:none}.proposal-header nav button{font-size:11px;padding:12px 16px}.hero-proof{display:none}.hero-next{left:24px;bottom:105px;font-size:10px;max-width:calc(100% - 48px)}.hero-note{top:auto;left:auto;right:20px;bottom:185px;font-size:10px;padding:16px;gap:25px}.booking-dock{bottom:max(12px,env(safe-area-inset-bottom))}.booking-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.booking-top{padding:10px 18px}.booking-top .demo-note{font-size:9px;margin-left:10px}.booking-content{padding:24px 22px}.choices{grid-template-columns:1fr}.choice{padding:13px;min-height:48px}.contact-grid{grid-template-columns:1fr 1fr}.booking-content h2{font-size:30px}.booking-summary dl>div{grid-template-columns:1fr;gap:2px}.site-end{align-items:flex-start;flex-direction:column;padding-bottom:140px}}
@media(max-aspect-ratio:1/1){.proposal-art picture{inset:0;width:100%;height:100%}.proposal-art img{position:absolute;top:calc(50% - 90vw);width:100%;height:auto;object-fit:contain;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 80%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 80%,transparent)}}
@media(max-height:500px){.booking-content{padding-top:20px}.booking-top{position:relative}.booking-modal{max-height:calc(100dvh - 12px)}.proposal-hero{min-height:450px}}
.booking-modal:not([open]){display:none}.booking-modal{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);z-index:100}.dialog-fallback-backdrop{position:fixed;inset:0;background:#172931a6;z-index:90}
@media(max-width:700px){.booking-modal{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready [data-reveal]{opacity:1;transform:none}}
