@font-face{font-family:BridgeSans;src:url("bridge-sans-regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:BridgeSans;src:url("bridge-sans-medium.woff") format("woff");font-style:normal;font-weight:500;font-display:swap}
:root{--paper:#fff;--ink:#1d2119;--muted:#62675b;--line:#e1e4db;--lime:#ddfb4d;--accent:var(--lime);--accent-hover:#d2f23b;--accent-ink:#1d260c;--header-offset:80px;--section-x:clamp(20px,4.166vw,60px);--ease:cubic-bezier(.16,1,.3,1);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:BridgeSans,system-ui,-apple-system,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;letter-spacing:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}svg{display:block;width:20px;height:20px;flex-shrink:0}button svg{fill:none;stroke:currentColor;stroke-width:1.5}[hidden]{display:none!important}:is(button,a,select):focus-visible{outline:2px solid #191b2566;outline-offset:4px}.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}.skip-link{position:fixed;top:-100px;left:20px;z-index:150;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px}.skip-link:focus{top:12px}
.site-header{position:fixed;inset:0 0 auto;z-index:70;padding:14px var(--section-x);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header-inner{width:100%;max-width:1320px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.brand{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:150px;height:48px;transition:opacity .2s}.brand:hover{opacity:.8}.brand-mark{display:flex;align-items:center;width:150px;aspect-ratio:1004/215}.brand-mark img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.step-counter{display:inline-flex;align-items:center;justify-content:flex-end;white-space:nowrap;font-size:12px;font-weight:400;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}.step-counter small{font-size:inherit}.step-jump,.step-number-input{display:inline-block;color:inherit;font:inherit;line-height:inherit;text-align:center;vertical-align:baseline;border:0;border-radius:0;background:transparent;margin:0;padding:0}.step-jump{cursor:text;position:relative}.step-jump:before{content:"";position:absolute;inset:-14px}.step-number-input{appearance:textfield;min-width:1ch;width:1ch;caret-color:var(--accent);outline:0}.step-number-input::-webkit-inner-spin-button,.step-number-input::-webkit-outer-spin-button{appearance:none;margin:0}.step-jump:focus-visible{outline:2px solid #7b922c;outline-offset:5px}.header-progress{position:absolute;top:100%;inset-inline:0;height:2px;background:#eef1e8;pointer-events:none}.header-progress #progressFill{display:block;height:100%;background:var(--accent);width:calc(100% / 7);transition:width .65s var(--ease)}
.booking-main{width:100%;margin:0}.booking-main>form{display:flex;flex-direction:column;min-height:100svh;padding-top:var(--header-offset)}.question-area{display:flex;flex:1;padding-inline:20px;min-width:0}.question-viewport{width:100%;max-width:640px;margin-inline:auto;padding-block:32px;min-width:0;overflow:visible}.form-step{animation:enter .46s var(--ease)}.form-step[data-direction="back"]{--entry-shift:-8px}h1{margin:0;font-size:40px;font-weight:500;line-height:1.07;letter-spacing:-.04em;outline:none;text-wrap:wrap}.step-description{font-size:14px;font-weight:400;line-height:1.45;letter-spacing:0;color:var(--muted);margin:16px 0 32px}.booking-intro,.step-indicator,.form-reassurance,.site-footer{display:none!important}fieldset{border:0;padding:0;margin:0;min-width:0}
.service-grid{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.service-option{position:relative;display:block;flex-shrink:0;max-width:100%;cursor:pointer}.service-option input,.budget-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.service-option>span{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;height:50px;padding:0 30px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:14px;font-weight:400;line-height:1;letter-spacing:0;transition:background-color .24s cubic-bezier(.2,.8,.2,1),border-color .24s cubic-bezier(.2,.8,.2,1),color .24s cubic-bezier(.2,.8,.2,1)}.service-option>span>span{white-space:normal;text-align:center}.service-option svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.service-option:hover>span{border-color:#bcc5a4;background:#f7faef}.service-option input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.service-option:hover input:checked+span{background:var(--accent-hover);border-color:var(--accent-hover)}.service-option input:focus-visible+span,.budget-option input:focus-visible+span{outline:2px solid #191b2566;outline-offset:3px}.selection-mark{display:none!important}
.form-navigation{position:sticky;bottom:0;isolation:isolate;z-index:10;width:100%;padding:16px 20px max(24px,env(safe-area-inset-bottom));margin:0}.form-navigation:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:#fffffff2;backdrop-filter:blur(12px);mask-image:linear-gradient(to bottom,transparent,#000 16px)}.navigation-inner{width:100%;max-width:640px;margin-inline:auto;display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:999px;min-height:48px;padding:0 25px;font-size:14px;font-weight:500;line-height:1;letter-spacing:0;transition:background-color .24s cubic-bezier(.2,.8,.2,1),border-color .24s cubic-bezier(.2,.8,.2,1)}.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}#continue{display:inline-flex;flex:1;width:100%;min-width:0;height:48px;white-space:nowrap}.back-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:8px;width:44px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;padding:0;font-size:18px;line-height:1}.back-button:hover{background:#191b250d;border-color:#191b2559}.back-button [data-i18n]{display:none}
.budget-list{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.budget-option{position:relative;display:block;cursor:pointer;max-width:100%}.budget-option>span{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;min-height:50px;padding:0 30px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:14px;line-height:1;transition:background .24s,border-color .24s,color .24s}.budget-option i{display:none}.budget-option:hover>span{background:#191b250d;border-color:#191b2559}.budget-option input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.small-note{font-size:12px;line-height:1.5;color:var(--muted);margin:20px 0 0}.text-button{border:0;background:transparent;padding:10px 0;color:var(--ink);text-decoration:underline;text-underline-offset:4px;font-size:12px;line-height:1.4}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:14px;font-weight:500;line-height:1;color:var(--ink)}.field input,.field textarea,.field select{width:100%;min-height:40px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:8px 0;font-size:14px;font-weight:400;line-height:1.5;outline:none;transition:border-color .16s}.field input::placeholder,.field textarea::placeholder{color:#191b2580}.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:#191b2559}.field [aria-invalid=true]{border-bottom-color:#cf2331}.field textarea{resize:vertical;min-height:96px}.other-field{margin-top:32px}.project-field{margin:32px 0}.form-error{color:#cf2331;font-size:12px;line-height:1.4;margin:10px 0 0}.review-symbol{display:none}.project-summary{border-block:1px solid var(--line);padding:20px 0}.project-summary dl{margin:0;display:grid;gap:16px}.summary-row{display:grid;grid-template-columns:115px 1fr;gap:18px;font-size:14px;line-height:1.4}.summary-row dt{color:var(--muted)}.summary-row dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}.handoff-note{font-size:14px;line-height:1.5;color:var(--muted);margin:24px 0}.handoff-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.handoff-actions .primary-button{min-width:0}.instagram-button{display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid var(--line);border-radius:999px;font-size:14px;line-height:1}.instagram-button:hover{background:#191b250d;border-color:#191b2559}.copy-status{font-size:12px;color:var(--muted);line-height:1.5}.no-script{padding:20px;border:1px solid var(--line);line-height:1.5;max-width:640px;margin:20px auto}.no-script a{text-decoration:underline}
dialog{color:var(--ink);background:var(--paper);border:0;padding:0}dialog::backdrop{background:#191b254d;backdrop-filter:blur(7px)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:34px 36px;border-bottom:1px solid var(--line)}.dialog-top>span{font-size:15px;font-weight:500}.close-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:26px;font-weight:400;line-height:1;flex-shrink:0}.close-button:hover{background:#191b250d}.menu-dialog{width:min(580px,100%);height:100svh;max-height:100%;margin:0 0 0 auto;position:fixed;right:0;left:auto;max-width:100%;animation:drawer .3s var(--ease)}.menu-content{padding:45px 45px 35px}.eyebrow{font-size:9px;line-height:1.6;color:var(--muted);letter-spacing:.09em;margin:0 0 14px}.menu-statement{font-size:clamp(44px,6vw,66px);line-height:1.02;letter-spacing:-.04em;margin:22px 0 48px}.menu-content nav{display:grid}.menu-content nav>a,.menu-content nav>button{display:flex;justify-content:space-between;align-items:center;gap:20px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:20px 0;font-size:19px;letter-spacing:-.035em;text-align:left}.menu-content nav>a:hover,.menu-content nav>button:hover{opacity:.7}.menu-caption{color:var(--muted);font-size:12px;line-height:1.5;margin:45px 0 0;max-width:280px}.plans-dialog{width:min(1110px,calc(100% - 48px));max-height:90svh;border-radius:12px;animation:enter .3s var(--ease)}.plans-dialog .dialog-top{position:sticky;top:0;z-index:2;background:var(--paper)}.plans-dialog h2{font-size:35px;letter-spacing:-.04em;font-weight:500;line-height:1.1;margin:0}.plans-content{padding:28px 36px}.plan-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:25px}.plan-tabs button{background:transparent;border:1px solid var(--line);padding:11px 17px;min-height:44px;border-radius:999px;font-size:12px}.plan-tabs button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.plan-card{border:1px solid var(--line);border-radius:8px;padding:24px 22px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.plan-card>span{font-size:11px;color:var(--muted)}.plan-card h3{font-size:18px;font-weight:500;letter-spacing:-.03em;margin:10px 0 15px}.plan-price{font-size:40px;letter-spacing:-.04em;font-weight:500;line-height:1.2}.plan-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:17px 0}.plan-card ul{padding:18px 0 0;margin:0 0 25px;list-style:none;border-top:1px solid var(--line);width:100%;display:grid;gap:12px}.plan-card li{font-size:11px;line-height:1.5;color:var(--muted);padding-left:15px;position:relative}.plan-card li:before{content:"+";position:absolute;left:0}.plan-card button{background:var(--lime);border:0;border-radius:999px;padding:12px 14px;min-height:44px;font-size:11px;margin-top:auto;display:flex;justify-content:space-between;gap:14px;width:100%;text-align:left}.plan-card button:hover{background:#d0ed40}.plan-footnote{font-size:11px;color:var(--muted);line-height:1.5;margin:23px 0 0}.plan-original{font-size:11px;color:var(--muted);margin-bottom:8px}.plan-savings{color:#5f7723!important;margin-top:9px!important}.plan-combination{color:var(--ink)!important}.header-actions{display:flex;align-items:center;gap:16px}.menu-button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;background:transparent;min-height:36px;padding:0 14px;font-size:12px}.menu-glyph{display:grid;gap:4px;width:16px}.menu-glyph i{display:block;height:1px;background:currentColor;width:16px}.language-wrap{display:flex;align-items:center;gap:6px}.language-wrap svg{width:16px;height:16px}.language-wrap select{border:0;background:transparent;color:var(--ink);padding:8px 0;font-size:12px;cursor:pointer}
@keyframes enter{from{opacity:0;transform:translateY(var(--entry-shift,10px))}to{opacity:1;transform:translateY(0)}}@keyframes drawer{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:768px){:root{--header-offset:100px}.site-header{padding-block:22px}.question-area{padding-inline:40px}.question-viewport{padding-block:48px}.step-description{margin-bottom:44px}.service-grid.is-wrapped{flex-direction:row;flex-wrap:wrap}.form-navigation{position:static;padding-inline:40px;padding-bottom:48px}.form-navigation:before{display:none}}
@media(max-width:767px){.field input,.field textarea,.field select{font-size:16px}.field input::placeholder,.field textarea::placeholder{font-size:14px}.details-grid{gap:20px}.summary-row{grid-template-columns:89px 1fr;gap:12px}.handoff-actions{grid-template-columns:1fr}.handoff-actions .primary-button{width:100%}.menu-content{padding:32px 26px}.dialog-top{padding:24px}.menu-statement{margin-bottom:32px}.menu-content nav>a,.menu-content nav>button{font-size:18px}.plans-dialog{width:calc(100% - 20px);max-height:94svh;border-radius:10px}.plans-dialog .dialog-top{padding:22px 20px;flex-wrap:wrap}.plans-dialog h2{font-size:29px}.plans-content{padding:22px 20px}.plan-grid{grid-template-columns:1fr}.plan-card{padding:23px}.plan-price{font-size:38px}.plan-card ul{gap:8px}.plan-card li{font-size:12px}.plan-card button{font-size:12px}.plan-tabs{gap:6px}.plan-tabs button{font-size:11px;padding:10px 13px}.plan-footnote{font-size:11px}}
@media(max-width:350px){.details-grid{grid-template-columns:1fr}.service-option>span{padding-inline:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.dialog-tools{display:flex;align-items:center;gap:12px}h1{scroll-margin-top:calc(var(--header-offset) + 20px)}.step-counter>[aria-hidden]{white-space:pre}

/* Bridge brand polish: quiet motion, crisp identity, comfortable touch targets. */
.site-header{animation:header-arrive .6s var(--ease)}
.step-counter{color:var(--muted)}.step-jump,.step-number-input{color:var(--ink)}
.service-option>span,.budget-option>span{transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .28s var(--ease)}
.service-option:active>span,.budget-option:active>span{transform:scale(.985)}
.primary-button{transition:background-color .22s ease,border-color .22s ease,box-shadow .28s ease,transform .3s var(--ease)}
.primary-button:hover{box-shadow:0 4px 16px #96ae1c1a;transform:translateY(-1px)}.primary-button:active{transform:scale(.992);box-shadow:none}
.form-navigation{animation:footer-arrive .65s var(--ease)}
:is(button,a,select):focus-visible{outline-color:#7b922c}.service-option input:focus-visible+span,.budget-option input:focus-visible+span{outline-color:#7b922c}
.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:#899c46}.step-number-input{caret-color:#748c24}
.plan-card button{color:var(--accent-ink)}
@keyframes header-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes footer-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:767px){.brand,.brand-mark{width:132px}.question-viewport{padding-top:32px}.form-navigation{padding-bottom:max(22px,env(safe-area-inset-bottom))}.language-wrap select{font-size:16px}}
@media(max-width:767px) and (max-height:820px){:root{--header-offset:76px}.site-header{padding-block:12px}.question-viewport{padding-block:24px 16px}h1{font-size:36px}.step-description{margin-top:14px;margin-bottom:24px}.service-grid,.budget-list{gap:8px}.service-option>span,.budget-option>span{height:44px;min-height:44px}.form-navigation{padding-top:12px;padding-bottom:max(18px,env(safe-area-inset-bottom))}}
@media(max-width:767px) and (max-height:740px){:root{--header-offset:68px}.site-header{padding-block:8px}.brand,.brand-mark{width:124px}.question-viewport{padding-block:10px 6px}h1{font-size:32px}.step-description{font-size:12px;margin:8px 0 12px}.service-option>span,.budget-option>span{padding-inline:22px}.form-navigation{padding-top:10px;padding-bottom:max(14px,env(safe-area-inset-bottom))}}
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--header-pad:14px}
.site-header{padding-block:var(--header-pad);padding-top:calc(var(--header-pad) + var(--safe-top))}.booking-main>form{padding-top:calc(var(--header-offset) + var(--safe-top))}
@media(min-width:768px){:root{--header-pad:22px}}
@media(max-width:767px) and (max-height:820px){:root{--header-pad:12px}}
@media(max-width:767px) and (max-height:740px){:root{--header-pad:8px}}
@media(max-width:767px){:root[data-density=comfortable]{--header-offset:76px;--header-pad:12px}:root[data-density=comfortable] .question-viewport{padding-block:24px 16px}:root[data-density=comfortable] h1{font-size:36px}:root[data-density=comfortable] .step-description{margin-top:14px;margin-bottom:24px}:root[data-density=comfortable] .service-grid,:root[data-density=comfortable] .budget-list{gap:8px}:root[data-density=comfortable] .service-option>span,:root[data-density=comfortable] .budget-option>span{height:44px;min-height:44px}:root[data-density=comfortable] .form-navigation{padding-top:12px;padding-bottom:max(18px,var(--safe-bottom))}
:root[data-density=compact]{--header-offset:68px;--header-pad:8px}:root[data-density=compact] .brand,:root[data-density=compact] .brand-mark{width:124px}:root[data-density=compact] .question-viewport{padding-block:10px 6px}:root[data-density=compact] h1{font-size:32px}:root[data-density=compact] .step-description{font-size:12px;margin:8px 0 12px}:root[data-density=compact] .service-grid,:root[data-density=compact] .budget-list{gap:8px}:root[data-density=compact] .service-option>span,:root[data-density=compact] .budget-option>span{height:44px;min-height:44px;padding-inline:22px}:root[data-density=compact] .form-navigation{padding-top:10px;padding-bottom:max(14px,var(--safe-bottom))}}

/* Bridge entry: original symbol, layered diagonal sweep, then the page. */
html.bridge-intro-active body{overflow:hidden}
html.bridge-intro-active:not(.bridge-intro-leaving) body>.site-header,
html.bridge-intro-active:not(.bridge-intro-leaving) body>.booking-main{visibility:hidden;pointer-events:none}
html.bridge-intro-active:not(.bridge-intro-leaving) .site-header,
html.bridge-intro-active:not(.bridge-intro-leaving) .form-step,
html.bridge-intro-active:not(.bridge-intro-leaving) .form-navigation{animation:none}
.brand-intro{position:fixed;inset:0;z-index:9999;place-items:center;background:#fff;pointer-events:none;opacity:1;transition:opacity .38s cubic-bezier(.2,.7,.3,1)}
html.bridge-intro-active .brand-intro{display:grid}
.brand-intro-logo{display:block;width:clamp(140px,18vw,184px);height:auto;max-width:55vw;overflow:visible;opacity:0}
html.bridge-intro-running .brand-intro-logo{opacity:1}
.intro-sweep{transform-box:fill-box;transform-origin:center}
html.bridge-intro-running .intro-sweep{animation:intro-layer-mask 1.72s cubic-bezier(.5,.04,.38,1) both}
html.bridge-intro-running .intro-sweep-0{animation-delay:0s}
html.bridge-intro-running .intro-sweep-1{animation-delay:.05s}
html.bridge-intro-running .intro-sweep-2{animation-delay:.10s}
html.bridge-intro-running .intro-sweep-3{animation-delay:.15s}
html.bridge-intro-leaving .brand-intro{opacity:0}

@keyframes intro-layer-mask{0%{transform:translateX(100%)}35%,60%{transform:translateX(0)}100%{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){html.bridge-intro-active .brand-intro{display:none!important}html.bridge-intro-active body{overflow:auto}html.bridge-intro-active body>.site-header,html.bridge-intro-active body>.booking-main{visibility:visible;pointer-events:auto}}

/* Native controls remain accessible; their visible capsule owns all feedback. */
.service-option,.budget-option,.service-option *,.budget-option *{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.service-option,.budget-option{-webkit-user-select:none;user-select:none}
.service-option input,.budget-option input{appearance:none;-webkit-appearance:none;position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;background:transparent;opacity:0;overflow:hidden;clip-path:inset(50%)}
.service-option>span,.budget-option>span{position:relative;isolation:isolate;overflow:hidden;border-radius:999px;background:transparent;transition:border-color .26s ease,color .26s ease,transform .38s var(--ease),box-shadow .2s ease}
.service-option>span:before,.budget-option>span:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--accent);opacity:0;transform:scale(.985);transition:opacity .28s ease,transform .4s var(--ease),background-color .25s ease;pointer-events:none;z-index:0}
.service-option>span>*,.budget-option>span>*{position:relative;z-index:1}
.service-option input:checked+span,.budget-option input:checked+span,.service-option:hover input:checked+span{background:transparent;border-color:var(--accent);color:var(--accent-ink)}
.service-option input:checked+span:before,.budget-option input:checked+span:before{opacity:1;transform:scale(1)}
.service-option:hover input:checked+span:before,.budget-option:hover input:checked+span:before{background:var(--accent-hover)}
.service-option input:focus-visible+span,.budget-option input:focus-visible+span{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px #7b922c}

/* Contact fields follow the reference's single-column, fine-line composition. */
.contact-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.contact-fields>.field{position:relative;min-width:0}
.contact-fields label{font-weight:400;line-height:1.4}
.contact-fields input,.contact-fields select{min-height:44px;caret-color:#748c24}
.contact-fields input::selection{background:#ddfb4d80;color:var(--ink)}
.contact-fields>.field:not(.phone-field):after,.phone-frame:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:#899c46;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);pointer-events:none}
.contact-fields>.field:not(.phone-field):focus-within:after,.phone-frame:focus-within:after{transform:scaleX(1)}
.phone-frame{position:relative;display:flex;align-items:center;gap:12px;min-width:0;border-bottom:1px solid var(--line);transition:border-color .2s ease}
.phone-frame>input,.phone-frame>select{border:0;border-radius:0;outline:none;box-shadow:none;background-color:transparent}
.phone-frame>input{flex:1;width:0;min-width:0}
.phone-frame>select{appearance:none;-webkit-appearance:none;flex:0 0 76px;width:76px;padding:8px 22px 8px 0;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right 11px center,right 7px center;background-size:4px 4px;background-repeat:no-repeat}
.phone-frame:has([aria-invalid=true]){border-bottom-color:#cf2331}
.contact-fields>.field:has([aria-invalid=true]):after,.phone-frame:has([aria-invalid=true]):after{background:#cf2331}
.contact-fields input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:#748c24;box-shadow:0 0 0 1000px var(--paper) inset}

/* The final action continues into Bridge's full website. */
#finishBooking{flex:1;min-width:0;min-height:48px;padding-inline:18px;text-align:center;line-height:1.25}
#finishBooking>span:last-child{flex-shrink:0}
.booking-exit{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background:var(--paper);animation:booking-exit-arrive .3s ease both}
.booking-exit-content{display:grid;justify-items:center;gap:18px;padding:24px;text-align:center}
.booking-exit img{display:block;width:170px;max-width:55vw;height:auto}
.booking-exit p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
html.bridge-finishing{overflow:hidden}
html.bridge-finishing .booking-main,html.bridge-finishing .site-header{opacity:0;pointer-events:none;transition:opacity .24s ease}
@keyframes booking-exit-arrive{from{opacity:0}to{opacity:1}}

/* A single start-time choice, then two generous next-step cards. */
.continuation-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:40px}
.continuation-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:36px;width:100%;min-width:0;min-height:148px;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);text-align:left;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .25s var(--ease)}
.continuation-option:hover{border-color:#bcc5a4}
.continuation-option:active{transform:scale(.992)}
.continuation-option[data-continuation=call]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.continuation-option svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.continuation-option [data-continuation-label]{font-size:24px;font-weight:500;line-height:1.15;letter-spacing:-.035em}
.continuation-option:focus-visible{outline:2px solid #7b922c;outline-offset:4px}



@media(min-width:768px){.continuation-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}.continuation-option{min-height:190px;padding:24px}}
@media(max-width:767px) and (max-height:740px){.continuation-list{margin-top:24px}.continuation-option{min-height:128px;padding:18px;gap:26px}}

/* Request contact uses a dark Bridge surface, revealed from the activation point. */
:root{--reveal-ease:cubic-bezier(.22,1,.36,1)}
@supports(animation-timing-function:linear(0,1)){:root{--reveal-ease:linear(0,.2192,.4616,.6327,.7496,.8294,.8837,.9207,.946,.9632,.9749,.9829,.9883,.9921,.9946,.9963,.9975,.9983,.9988,1)}}
html[data-booking-theme=dark]{--paper:#10140e;--ink:#f4f6ef;--muted:#a6b09d;--line:#3b4533;color-scheme:dark}
html[data-booking-theme=dark] .site-header{background:rgba(16,20,14,.94)}
html[data-booking-theme=dark] .header-progress{background:#2c3426}
html[data-booking-theme=dark] .brand-mark img,html[data-booking-theme=dark] .booking-exit img{filter:brightness(0) invert(1)}
html[data-booking-theme=dark] .form-navigation:before{background:rgba(16,20,14,.96)}
html[data-booking-theme=dark] .field input::placeholder,html[data-booking-theme=dark] .field textarea::placeholder{color:#98a190}
html[data-booking-theme=dark] .contact-fields input::selection,html[data-booking-theme=dark] .field textarea::selection{background:var(--accent);color:var(--accent-ink)}
html[data-booking-theme=dark] .field input:focus,html[data-booking-theme=dark] .field textarea:focus,html[data-booking-theme=dark] .field select:focus{border-bottom-color:var(--accent)}
html[data-booking-theme=dark] .contact-fields>.field:not(.phone-field):after,html[data-booking-theme=dark] .phone-frame:after{background:var(--accent)}
html[data-booking-theme=dark] .form-error{color:#ff9aa1}
html[data-booking-theme=dark] .field [aria-invalid=true],html[data-booking-theme=dark] .phone-frame:has([aria-invalid=true]){border-bottom-color:#ff9aa1}
html[data-booking-theme=dark] .contact-fields>.field:has([aria-invalid=true]):after,html[data-booking-theme=dark] .phone-frame:has([aria-invalid=true]):after{background:#ff9aa1}
html[data-booking-theme=dark] .instagram-button:hover,html[data-booking-theme=dark] .back-button:hover{background:#ffffff0f;border-color:#66745a}
html[data-booking-theme=dark] .skip-link{background:var(--accent);color:var(--accent-ink)}
.booking-reveal{position:fixed;inset:0;z-index:9997;pointer-events:none;background:var(--reveal-surface);animation:booking-circle-in .6s var(--reveal-ease) both}
html.bridge-revealing .form-step{animation:none}
html.bridge-revealing #progressFill{transition:none}
html.bridge-revealing .continuation-list{pointer-events:none}
.form-step[data-entry=settled]{animation:none}
html[data-booking-reveal]::view-transition-group(root){animation:none}
html[data-booking-reveal]::view-transition-old(root),html[data-booking-reveal]::view-transition-new(root){animation:none;mix-blend-mode:normal}
html[data-booking-reveal=dark]::view-transition-old(root){z-index:1}
html[data-booking-reveal=dark]::view-transition-new(root){z-index:2;animation:booking-circle-in .6s var(--reveal-ease) both}
html[data-booking-reveal=light]::view-transition-new(root){z-index:1}
html[data-booking-reveal=light]::view-transition-old(root){z-index:2;animation:booking-circle-out .6s var(--reveal-ease) both}
@keyframes booking-circle-in{from{clip-path:circle(0px at var(--reveal-x) var(--reveal-y))}to{clip-path:circle(var(--reveal-radius) at var(--reveal-x) var(--reveal-y))}}
@keyframes booking-circle-out{from{clip-path:circle(var(--reveal-radius) at var(--reveal-x) var(--reveal-y))}to{clip-path:circle(0px at var(--reveal-x) var(--reveal-y))}}

/* Preferred call date: a local calendar, without simulated availability. */
.call-calendar .step-description{margin-bottom:0}
.calendar{margin-top:38px}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.calendar-header h2{margin:0;min-width:0;font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.035em}
.calendar-header h2:first-letter{text-transform:uppercase}
.calendar-navigation{display:flex;gap:8px;flex-shrink:0}
.calendar-navigation button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);transition:background-color .2s ease,border-color .2s ease}
.calendar-navigation button:not(:disabled):hover{background:#ffffff0f;border-color:#66745a}
.calendar-navigation button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
.calendar-weekdays{margin:26px 0 12px}
.calendar-weekday{font-size:11px;line-height:1.3;text-transform:uppercase;color:var(--ink);overflow:hidden}
.calendar-dates{row-gap:8px}
.calendar-day{display:grid;place-items:center;width:100%;min-width:0;height:44px;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:14px;line-height:1;transition:background-color .22s ease,color .22s ease,transform .25s var(--ease)}
.calendar-day.outside{color:var(--muted);opacity:.3}
.calendar-day:disabled{color:var(--muted);opacity:.45;cursor:default}
.calendar-day.today{box-shadow:inset 0 0 0 1px var(--line)}
button.calendar-day:not(:disabled):hover{background:#ffffff0f}
button.calendar-day:not(:disabled):active{transform:scale(.94)}
.calendar-day[aria-pressed=true],button.calendar-day[aria-pressed=true]:hover{background:var(--accent);color:var(--accent-ink);box-shadow:none}
.calendar-status{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:767px) and (max-height:740px){.calendar{margin-top:24px}.calendar-header h2{font-size:24px}.calendar-weekdays{margin-top:18px}.calendar-dates{row-gap:2px}.calendar-day{height:40px}}

/* Language control stays visible throughout both routes. */
.header-controls{display:flex;align-items:center;gap:22px}.language-control{position:relative;gap:8px;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:var(--ink);transition:border-color .25s,background .25s}.language-control>svg{width:16px;height:16px;flex-shrink:0;pointer-events:none}.language-control select{appearance:none;-webkit-appearance:none;min-height:40px;font:inherit;font-size:12px;padding:0 20px 0 0;max-width:108px;outline:none}.language-control .language-chevron{position:absolute;right:11px;width:12px;height:12px}.language-control:focus-within{outline:2px solid var(--ink);outline-offset:3px;border-color:var(--ink)}.language-control:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.language-control option{color:var(--ink);background:var(--paper)}@media(max-width:480px){.header-controls{gap:12px}.language-control{gap:6px;padding:0 10px}.language-control select{font-size:16px;max-width:114px;min-height:42px}.language-control>svg:first-of-type{display:none}.language-control .language-chevron{right:9px}}

/* Keep Back circular on every step, including touch hover and restored pages. */
#back{appearance:none;-webkit-appearance:none;width:44px;min-width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--line);border-radius:50%;overflow:hidden;background:transparent;isolation:isolate;-webkit-tap-highlight-color:transparent;transition:background .2s,border-color .2s,transform .2s}#back>[aria-hidden]{display:inline}#back>[data-i18n]{display:none}#back:active{transform:scale(.95)}#back:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@media(hover:none),(pointer:coarse){html #back:hover{background:transparent;border-color:var(--line)}}

/* Confirmed submission shares the quiet Bridge booking surface. */
#submitLead{display:inline-flex;flex:1;width:100%;min-width:0;height:48px;white-space:nowrap}#submitLead:disabled{cursor:wait;opacity:.7;transform:none}.submission-status{color:#ffb6ad;font-size:14px;line-height:1.6;margin:24px 0 0;outline:none}.submission-status:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:8px}.submission-success{padding:52px 0 32px;max-width:540px}.submission-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent);color:var(--accent-ink);margin-bottom:40px}.submission-check svg{width:32px;height:32px;stroke-width:1.8}.submission-success .eyebrow{color:var(--muted);margin:0 0 16px;letter-spacing:.12em;font-size:11px}.submission-success h1{margin-bottom:18px}.submission-success .step-description{max-width:440px;line-height:1.6}.submission-success.is-entering{animation:submission-arrive .55s var(--ease) both}@keyframes submission-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.submission-success{padding-top:40px}.submission-check{margin-bottom:32px}}@media(prefers-reduced-motion:reduce){.submission-success.is-entering{animation:none}}
