@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/bodoni-moda-normal-20.woff2)format("woff2")}@font-face{font-family:Bodoni Moda;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/bodoni-moda-italic-18.woff2)format("woff2")}@font-face{font-family:Karla;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/karla-normal-22.woff2)format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/spectral-normal-06.woff2)format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/spectral-normal-08.woff2)format("woff2")}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/spectral-italic-04.woff2)format("woff2")}:root{color-scheme:light;--paper-shell:#f2ede2;--paper:#faf7f0;--paper-soft:#f5f1e7;--paper-tint:#ede5d3;--paper-contact:#f0eada;--ink:#2b2417;--ink-soft:#6e6353;--brass:#916d20;--brass-deep:#745719;--orange:#a4551e;--rule:#d8cdb7;--rule-strong:#ad8d4a;--white:#fff;--font-display:"Spectral", "Iowan Old Style", Georgia, serif;--font-accent:"Bodoni Moda", Didot, Georgia, serif;--font-ui:"Karla", system-ui, sans-serif;--container:74rem;--frame:81rem;--gutter:clamp(1.25rem, 4vw, 2rem);--section-space:clamp(4.75rem, 9vw, 8rem);--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:var(--paper-shell);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.09375rem;line-height:1.66;overflow-x:hidden}::selection{color:var(--ink);background:#efe0c0}img,svg{max-width:100%;display:block}button,input,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--brass-deep);text-decoration-color:var(--brass);text-underline-offset:.24em;text-decoration-thickness:1px}a:hover{color:#4d3a10;text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-ui);transition:transform .18s var(--ease-out);padding:.7rem 1rem;font-size:.8rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{color:var(--paper);transform:translateY(0)}.page-shell{background:var(--paper-shell);min-height:100vh}.container,.header-inner,.footer-inner{width:min(calc(100% - (2 * var(--gutter))), var(--container));margin-inline:auto}.site-header{z-index:20;padding-block:1.15rem 1.05rem;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.header-actions{align-items:center;gap:clamp(.7rem,2vw,1.25rem);min-width:0;margin-left:auto;display:flex}.brand{color:var(--brass-deep);align-items:center;gap:.8rem;line-height:1;text-decoration:none;display:inline-flex}.brand:hover{color:var(--brass-deep)}.brand-logo{width:clamp(2.75rem,4vw,3.25rem);height:auto;display:block}.brand-name{font-family:var(--font-accent);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:500}.primary-nav,.confidential-note,.field-label{font-family:var(--font-ui);text-transform:uppercase;font-weight:700}.primary-nav{letter-spacing:.17em;align-items:center;gap:clamp(1.3rem,3vw,2.15rem);font-size:.7rem;display:flex}.nav-link,.nav-cta{min-height:2.75rem;color:var(--ink-soft);align-items:center;text-decoration:none;display:inline-flex;position:relative}.nav-link:after,.nav-cta:after{content:"";opacity:0;height:1px;transition:opacity .18s ease, transform .24s var(--ease-out);background:currentColor;position:absolute;bottom:.35rem;left:0;right:0;transform:scaleX(.4)}.nav-link:hover,.nav-cta:hover{color:var(--ink)}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-cta:hover:after,.nav-cta:focus-visible:after{opacity:1;transform:scaleX(1)}.nav-cta{color:var(--brass-deep)}.language-switcher{font-family:var(--font-ui);flex:none;position:relative}.language-switcher summary{border:1px solid var(--rule-strong);background:var(--paper);cursor:pointer;width:2.75rem;height:2.75rem;transition:border-color .18s ease, background .18s ease, transform .18s var(--ease-out);border-radius:.45rem;place-items:center;padding:0;list-style:none;display:grid}.language-switcher summary::-webkit-details-marker{display:none}.language-switcher summary:hover,.language-switcher[open] summary{border-color:var(--brass-deep);background:var(--paper-tint);transform:translateY(-1px)}.language-flag,.language-code{text-align:center;flex:0 0 1.5rem;place-items:center;width:1.5rem;height:1rem;line-height:1;display:inline-grid}.language-flag{letter-spacing:0;font-size:0;font-weight:400}.language-flag:before{content:"";border:1px solid #38281138;width:1.125rem;height:.75rem}.language-flag--de:before{background:linear-gradient(#1a1a1a 0 33.333%,#d5232f 33.333% 66.666%,#f6ca29 66.666% 100%)}.language-code{font-family:var(--font-ui);letter-spacing:.08em;font-size:.72rem;font-weight:700}.language-menu{z-index:40;border:1px solid var(--rule-strong);background:var(--paper);min-width:10rem;padding:.4rem;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 14px 30px #38281124}.language-option{min-height:2.75rem;color:var(--ink-soft);align-items:center;gap:.7rem;padding:.55rem .7rem;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.language-option:hover,.language-option:focus-visible,.language-option[aria-current=page]{background:var(--paper-tint);color:var(--ink)}.nav-toggle{border:1px solid var(--rule-strong);min-width:3rem;min-height:3rem;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:3px;font-size:.72rem;font-weight:700;display:none}.framed-page{width:min(calc(100% - 2rem), var(--frame));background:var(--paper);border:1px solid #916d20b8;margin:0 auto 1.5rem;overflow:clip}.hero{z-index:0;isolation:isolate;background:linear-gradient(108deg,#faf7f0fc 0%,#faf7f0ed 48%,#ede5d38a 100%);align-items:center;min-height:min(49rem,100svh - 7.5rem);padding-block:clamp(5.75rem,9vw,7.25rem);display:grid;position:relative;overflow:hidden}.hero-contours,.hero-route{z-index:-1;pointer-events:none;position:absolute}.hero-contours{color:#dcd2bc;opacity:.78;width:100%;height:100%;inset:0}.hero-route{width:min(40%,32rem);height:68%;color:var(--orange);top:8%;right:3%}.hero-route path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-dasharray:7 10;animation:plot-route 1.9s var(--ease-out) both}.hero-route circle{fill:currentColor;stroke:var(--paper);stroke-width:6px}.hero-route .hero-destination{fill:var(--brass)}.hero-inner{width:min(calc(100% - (2 * var(--gutter))), var(--container));margin-inline:auto}.hero-copy{max-width:48rem}.hero-meta{color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.9rem;font-size:.7rem;font-weight:700}.hero h1{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(2.8rem,5vw,4.75rem);font-weight:400;line-height:.98}.hero-premise,.hero-decision{text-wrap:balance;display:block}.hero-premise{max-inline-size:35rem;color:var(--ink-soft);letter-spacing:-.012em;font-size:.68em;font-weight:300;line-height:1.08}.hero-decision{border-top:1px solid var(--brass);max-inline-size:45rem;color:var(--ink);margin-top:.38em;padding-top:.45em;font-weight:400}.hero-summary{max-width:40rem;color:var(--ink-soft);margin:1.8rem 0 0;font-size:1.125rem}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:2.2rem;display:flex}.button{border:1px solid var(--brass);min-height:3.25rem;font-family:var(--font-ui);letter-spacing:.1em;text-align:center;text-transform:uppercase;cursor:pointer;transition:color .18s ease, background .18s ease, border-color .18s ease, transform .22s var(--ease-out);border-radius:3px;justify-content:center;align-items:center;padding:.85rem 1.55rem;font-size:.75rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button-primary{background:var(--brass);color:var(--white)}.button-primary:hover{border-color:var(--brass-deep);background:var(--brass-deep);color:var(--white);transform:translateY(-2px)}.button-secondary{color:var(--brass-deep);background:#faf7f0b8}.button-secondary:hover{background:var(--white)}.section{padding-block:var(--section-space);background:var(--paper)}.section-tinted{background:var(--paper-tint)}.section-soft{background:var(--paper-soft)}.section-contact{background:var(--paper-contact)}.two-column,.booking-grid,.principal-grid,.fit-grid{grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(3.25rem,7vw,7rem);display:grid}.section-heading{max-inline-size:16ch;font-family:var(--font-display);letter-spacing:-.022em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,3.5vw,3.25rem);font-weight:300;line-height:1.04}.section-heading-wide{max-inline-size:24ch}.section-intro,.muted,.body-copy{color:var(--ink-soft)}.section-intro{max-width:23rem;margin:0}.section-intro h2,.booking-title{max-inline-size:16ch;font-family:var(--font-display);letter-spacing:-.022em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,3.5vw,3.25rem);font-weight:300;line-height:1.04}.section-intro p{margin:1.35rem 0 0}.body-copy{max-width:44rem}.body-copy>:first-child{margin-top:0}.body-copy>:last-child{margin-bottom:0}.situation-list,.engagement-list,.decision-list,.fit-list,.steps,.foundations-list{margin:0;padding:0;list-style:none}.situation-list{max-width:42rem}.situation-list p{max-width:65ch;margin:0;padding:1.35rem 0 1.45rem;font-size:1.125rem;line-height:1.58}.situation-list p:first-child{padding-top:0}.situation-list p+p{border-top:1px solid var(--rule)}.situation-list em{color:var(--brass-deep);font-style:normal}.engagement-list{flex-direction:column;display:flex}.engagement-item{padding-block:1.8rem}.engagement-item:first-child{padding-top:0}.engagement-item+.engagement-item{border-top:1px solid var(--rule)}.engagement-item h3,.foundations h3,.principal-copy h3,.fit-grid h3{font-family:var(--font-accent);letter-spacing:-.012em;margin:0 0 .85rem;font-size:clamp(1.65rem,2.5vw,2.25rem);font-weight:400;line-height:1.13}.engagement-item p{max-width:43rem;color:var(--ink-soft);margin:0}.confidential-note,.field-label{color:var(--ink-soft);letter-spacing:.13em;font-size:.7rem}.confidential-note{margin-top:1rem}.skyline-figure{background:linear-gradient(180deg, var(--paper), var(--paper-soft));min-height:clamp(21rem,40vw,34rem);margin:0;position:relative;overflow:hidden}.skyline-image{object-fit:cover;object-position:center 58%;filter:grayscale()contrast(.88)brightness(1.08);opacity:.7;width:100%;height:100%;position:absolute;inset:0;mask-image:linear-gradient(#0000,#0009 18%,#000 43% 65%,#0000 100%)}.skyline-wash{background:linear-gradient(90deg,#faf7f0ad,#0000 50%,#f5f1e773);position:absolute;inset:0}.steps{flex-direction:column;gap:2.25rem;display:flex}.step{grid-template-columns:2.75rem 1fr;align-items:start;gap:1.35rem;display:grid}.step-number{border:1px solid var(--brass);background:var(--paper);width:2.65rem;height:2.65rem;color:var(--brass-deep);font-family:var(--font-ui);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.step-copy strong{font-family:var(--font-ui);margin-bottom:.4rem;font-size:1.05rem;display:block}.step-copy span,.step-copy p{color:var(--ink-soft);margin:0}.foundations{border:1px solid var(--brass);background:var(--paper);border-radius:4px;margin-top:clamp(3.5rem,6vw,5.5rem);padding:clamp(1.7rem,3.5vw,2.8rem)}.foundations-list{color:var(--ink-soft);grid-template-columns:1fr 1fr;gap:1rem 3rem;display:grid}.principal-heading,.fit-heading{margin-bottom:clamp(2.75rem,5vw,4rem)}.principal-grid{grid-template-columns:minmax(15rem,.62fr) minmax(0,1.38fr)}.principal{grid-template-columns:minmax(15rem,.62fr) minmax(0,1.38fr);margin-top:clamp(2.75rem,5vw,4rem)}.portrait-frame{aspect-ratio:1;border:1px solid var(--brass);background:var(--paper-tint);margin:0;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:center;filter:none;width:100%;height:100%}.portrait-placeholder,.portrait-frame>span{color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.15em;text-align:center;text-transform:uppercase;place-items:center;padding:2rem;font-size:.72rem;font-weight:700;display:grid;position:absolute;inset:0}.principal-copy>p{max-width:44rem;color:var(--ink-soft);margin:0}.principal-copy>p+p{margin-top:1.1rem}.principal-copy>div{margin-top:2.75rem}.decision-list{display:block}.decision-list ul{grid-template-columns:1fr 1fr;column-gap:3rem;margin:0;padding:0;list-style:none;display:grid}.decision-list ul li,.fit-list li{color:var(--ink-soft);padding-block:.72rem}.decision-list ul li,.fit-list li+li{border-top:1px solid var(--rule)}.fit-grid{grid-template-columns:1fr 1fr;margin-top:clamp(2.75rem,5vw,4rem)}.fit-grid h3{font-size:clamp(1.55rem,2.25vw,2rem)}.closing-line{max-width:52rem;font-family:var(--font-accent);margin:clamp(3.5rem,6vw,6rem) 0 0;font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.3}.booking-grid{grid-template-columns:minmax(0,1fr) minmax(22rem,.9fr)}.booking-section{padding-block:var(--section-space);background:var(--paper-contact)}.booking-layout{width:min(calc(100% - (2 * var(--gutter))), var(--container));grid-template-columns:minmax(0,1fr) minmax(22rem,.9fr);align-items:start;gap:clamp(3.25rem,7vw,7rem);margin-inline:auto;display:grid}.booking-introduction>p{max-width:35rem;color:var(--ink-soft);margin:1.3rem 0 0}.booking-introduction{grid-column:1/-1;max-width:52rem}.booking-introduction .booking-direct-contact{color:var(--ink)}.booking-introduction .booking-assurance{font-family:var(--font-ui);letter-spacing:.13em;text-transform:uppercase;margin-top:2rem;font-size:.7rem;font-weight:700}.booking-copy>p{max-width:35rem;color:var(--ink-soft);margin:1.3rem 0 0}.booking-copy>p:last-child{margin-top:2rem}.booking-panel{border:1px solid var(--brass);background:#faf7f0f5;border-radius:4px;padding:clamp(1.4rem,3vw,2.25rem)}.booking-form{border:1px solid var(--brass);background:#faf7f0f5;border-radius:4px;min-width:0;padding:clamp(1.4rem,3vw,2.25rem)}.booking-fieldset{border:0;min-width:0;margin:0;padding:0}.booking-fieldset+.booking-fieldset{margin-top:1.35rem}.booking-legend,.booking-label{color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700;line-height:1.4;display:block}.booking-required{color:var(--brass-deep);letter-spacing:.08em;margin-left:.45rem;font-size:.62rem}.booking-day-options,.booking-time-options{gap:.5rem;margin-top:.7rem;display:grid}.booking-day-options{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-time-options[hidden]{display:none}.booking-option{border:1px dashed var(--rule-strong);background:var(--white);min-width:0;min-height:2.85rem;color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:3px;padding:.65rem .35rem;font-size:.75rem;font-weight:700;transition:color .18s,background .18s,border-color .18s;overflow:hidden}.booking-option:hover{border-style:solid;border-color:var(--brass);color:var(--ink)}.booking-option[aria-pressed=true]{border-style:solid;border-color:var(--ink);background:var(--ink);color:var(--paper)}.booking-fields{flex-direction:column;gap:.9rem;margin-top:1.35rem;display:flex}.booking-field{display:block}.booking-label{margin-bottom:.38rem}.booking-input{border:1px solid var(--rule);background:var(--white);width:100%;min-height:3rem;color:var(--ink);border-radius:3px;padding:.7rem .8rem;transition:border-color .18s,box-shadow .18s}.booking-textarea{resize:vertical;min-height:7rem}.booking-input:hover{border-color:var(--rule-strong)}.booking-input:focus{border-color:var(--orange);box-shadow:0 5px 18px #53371814}.booking-submit{border:1px solid var(--brass);background:var(--brass);width:100%;min-height:3.25rem;color:var(--white);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .18s ease, border-color .18s ease, transform .22s var(--ease-out);border-radius:3px;margin-top:1.35rem;padding:.85rem 1rem;font-size:.75rem;font-weight:700;line-height:1.2}.booking-submit:hover{border-color:var(--brass-deep);background:var(--brass-deep);transform:translateY(-2px)}.booking-status,.booking-noscript{min-height:1.4em;color:var(--brass-deep);margin:.8rem 0 0;font-size:.875rem;line-height:1.5}.booking-status[data-state=error]{color:#8c351e}.booking-calendar-heading h3{font-family:var(--font-accent);margin:0;font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:400;line-height:1.15}.booking-calendar-frame{border:1px solid var(--brass);background:var(--paper);border-radius:4px;grid-column:1/-1;min-width:0;padding:clamp(.8rem,1.6vw,1.25rem);box-shadow:0 20px 42px #53371814}.booking-calendar-heading{justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.35rem .35rem 1rem;display:flex}.booking-calendar-heading>a{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.booking-calendar{background:var(--white);border:0;border-radius:3px;width:100%;min-height:46rem;display:block}.booking-scheduler-frame{border:1px solid var(--brass);background:#faf7f0f5;border-radius:4px;grid-column:1/-1;min-width:0;padding:clamp(1.2rem,3vw,2.25rem);box-shadow:0 20px 42px #53371814}.booking-scheduler-heading{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1.5rem;padding-bottom:1rem;display:flex}.booking-scheduler-heading h3,.scheduler-widget h4{font-family:var(--font-accent);margin:0;font-weight:400}.booking-scheduler-heading h3{font-size:clamp(1.55rem,2.4vw,2.05rem);line-height:1.15}.booking-scheduler-heading .calendar-external-link{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.scheduler-widget{min-width:0;padding-top:1.25rem}.scheduler-widget[data-enhanced=false]>.scheduler-time-zone,.scheduler-widget[data-enhanced=false]>.scheduler-status,.scheduler-widget[data-enhanced=false]>.scheduler-error,.scheduler-widget[data-enhanced=false]>.scheduler-slot-area,.scheduler-widget[data-enhanced=false]>.scheduler-form,.scheduler-widget[data-enhanced=false]>.scheduler-manage,.scheduler-widget[data-enhanced=false]>.scheduler-fallback,.scheduler-widget[data-enhanced=false]>.scheduler-progress{display:none}.scheduler-widget [hidden]{display:none!important}.scheduler-time-zone{font-family:var(--font-ui);grid-template-columns:max-content minmax(12rem,1fr);align-items:center;gap:.4rem 1rem;display:grid}.scheduler-time-zone label,.scheduler-field>span:first-child{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.scheduler-time-zone select,.scheduler-field input,.scheduler-field textarea{border:1px solid var(--rule);background:var(--white);width:100%;color:var(--ink);font:inherit;border-radius:3px;transition:border-color .18s,box-shadow .18s}.scheduler-time-zone select{min-height:2.8rem;font-family:var(--font-ui);padding:.55rem .7rem;font-size:.9rem}.scheduler-time-zone p{color:var(--ink-soft);grid-column:2;margin:0;font-size:.82rem}.scheduler-time-zone .scheduler-field-error{grid-column:2}.scheduler-status,.scheduler-error{font-family:var(--font-ui);margin:1.15rem 0 0;font-size:.9rem}.scheduler-status{border-block:1px solid var(--rule);color:var(--brass-deep);padding:.75rem 0}.scheduler-status[data-state=conflict],.scheduler-status[data-state=rate_limited],.scheduler-status[data-state=unavailable],.scheduler-error{color:#8c351e}.scheduler-status[data-state=available],.scheduler-status[data-state=selected]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scheduler-status:focus{outline:0}.scheduler-error:empty{display:none}.scheduler-slot-area{margin-top:1.45rem}.scheduler-slot-area>h4,.scheduler-manage>h4,.scheduler-fallback>h4{font-size:1.3rem}.scheduler-slots{gap:1rem;margin-top:1rem;display:grid}.scheduler-day{border:0;min-width:0;margin:0;padding:0}.scheduler-day legend{color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;padding:0;font-size:.7rem;font-weight:700}.scheduler-slot-list{grid-template-columns:repeat(auto-fit,minmax(7.25rem,1fr));gap:.55rem;margin-top:.55rem;display:grid}.scheduler-slot,.scheduler-submit,.scheduler-actions button,.scheduler-fallback button{border:1px solid var(--brass);min-height:2.85rem;font-family:var(--font-ui);letter-spacing:.04em;cursor:pointer;border-radius:3px;font-size:.75rem;font-weight:700}.scheduler-slot{background:var(--white);color:var(--ink-soft);padding:.65rem .45rem}.scheduler-slot:hover,.scheduler-slot[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.scheduler-form,.scheduler-manage,.scheduler-fallback{border:1px solid var(--rule);background:var(--white);border-radius:3px;margin-top:1.5rem;padding:clamp(1rem,2vw,1.5rem)}.scheduler-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.scheduler-field{align-content:start;gap:.35rem;display:grid}.scheduler-field-wide{grid-column:1/-1}.scheduler-field small{color:var(--ink-soft);letter-spacing:0;text-transform:none;font-size:.7rem;font-weight:400}.scheduler-field input,.scheduler-field textarea{min-height:3rem;padding:.7rem .8rem}.scheduler-field textarea{resize:vertical;min-height:8rem}.scheduler-time-zone select:focus,.scheduler-field input:focus,.scheduler-field textarea:focus,.scheduler-slot:focus-visible,.scheduler-submit:focus-visible,.scheduler-actions button:focus-visible,.scheduler-fallback button:focus-visible{outline:3px solid color-mix(in srgb, var(--orange) 38%, transparent);outline-offset:2px;border-color:var(--orange);box-shadow:0 5px 18px #53371814}.scheduler-field [aria-invalid=true]{border-color:#8c351e}.scheduler-field-error{color:#8c351e;min-height:1.2em;font-family:var(--font-ui);font-size:.78rem}.scheduler-submit{background:var(--brass);width:100%;color:var(--white);letter-spacing:.1em;text-transform:uppercase;margin-top:1rem;padding:.8rem 1rem}.scheduler-submit:hover:not(:disabled),.scheduler-actions button:hover,.scheduler-fallback button:hover{border-color:var(--brass-deep);background:var(--brass-deep);color:var(--white)}.scheduler-submit:disabled{cursor:wait;opacity:.65}.scheduler-actions,.scheduler-fallback-actions,.scheduler-noscript{flex-wrap:wrap;gap:.7rem;display:flex}.scheduler-actions{margin-top:1rem}.scheduler-actions button,.scheduler-fallback button{color:var(--brass-deep);background:0 0;padding:.65rem .9rem}.scheduler-confirm{border-top:1px solid var(--rule);margin-top:1rem;padding-top:1rem}.scheduler-confirm p,.scheduler-fallback p,.scheduler-manage p{margin:.65rem 0 0}.scheduler-fallback{background:var(--paper-soft)}.scheduler-fallback-actions{font-family:var(--font-ui);margin-top:.85rem;font-weight:700}.scheduler-fallback>button{margin-top:1rem}.scheduler-privacy{color:var(--ink-soft);margin-top:1.25rem;font-size:.86rem}.scheduler-privacy summary{color:var(--brass-deep);font-family:var(--font-ui);cursor:pointer;font-weight:700}.scheduler-privacy p{margin:.65rem 0 0}.scheduler-noscript{border:1px solid var(--brass);border-radius:3px;margin-top:1rem;padding:1rem}.scheduler-noscript p{flex-basis:100%;margin:0}.scheduler-honeypot{clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.scheduler-progress{border-bottom:1px solid var(--rule);color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 1.5rem;padding:0 0 1.15rem;font-size:.7rem;font-weight:700;list-style:none;display:grid}.scheduler-progress li{opacity:1;align-items:center;gap:.65rem;min-width:0;display:flex;position:relative}.scheduler-progress-number{z-index:1;border:1px solid var(--rule);background:var(--paper);width:2rem;height:2rem;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.scheduler-widget[data-flow-step=date] [data-scheduler-progress-step=date],.scheduler-widget[data-flow-step=time] [data-scheduler-progress-step=time],.scheduler-widget[data-flow-step=details] [data-scheduler-progress-step=details],.scheduler-progress [aria-current=step]{color:var(--ink);opacity:1}.scheduler-widget[data-flow-step=date] [data-scheduler-progress-step=date] .scheduler-progress-number,.scheduler-widget[data-flow-step=time] [data-scheduler-progress-step=time] .scheduler-progress-number,.scheduler-widget[data-flow-step=details] [data-scheduler-progress-step=details] .scheduler-progress-number,.scheduler-progress [aria-current=step] .scheduler-progress-number{border-color:var(--ink);background:var(--ink);color:var(--paper)}.scheduler-widget[data-flow-step=time] [data-scheduler-progress-step=date],.scheduler-widget[data-flow-step=details] [data-scheduler-progress-step=date],.scheduler-widget[data-flow-step=details] [data-scheduler-progress-step=time]{color:var(--brass-deep);opacity:1}.scheduler-widget[data-flow-step=time] [data-scheduler-progress-step=date] .scheduler-progress-number,.scheduler-widget[data-flow-step=details] [data-scheduler-progress-step=date] .scheduler-progress-number,.scheduler-widget[data-flow-step=details] [data-scheduler-progress-step=time] .scheduler-progress-number{border-color:var(--brass);background:var(--paper-tint);color:var(--brass-deep)}.scheduler-slot-area>h4{color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.85rem;font-size:.7rem;font-weight:700}.scheduler-widget[data-enhanced=true] .scheduler-slot-area>h4{display:none}.scheduler-calendar,.scheduler-time-panel{border:1px solid var(--rule);background:var(--white);border-radius:3px;width:min(100%,42rem);margin-inline:auto;padding:clamp(1rem,2.5vw,1.5rem);box-shadow:0 12px 28px #5337180f}.scheduler-calendar-header,.scheduler-calendar-toolbar,.scheduler-time-panel-header,.scheduler-selection-summary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.scheduler-flow-heading{color:var(--ink);font-family:var(--font-accent);margin:0 0 .9rem;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:400;line-height:1.25}.scheduler-calendar-toolbar{border-bottom:1px solid var(--rule);padding-bottom:.85rem}.scheduler-calendar-nav{gap:.4rem;display:flex}.scheduler-calendar-month,[data-testid=scheduler-calendar-month],[data-testid=scheduler-selected-date]{color:var(--ink);font-family:var(--font-accent);margin:0;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:400;line-height:1.25}.scheduler-calendar [data-testid=scheduler-calendar-prev],.scheduler-calendar [data-testid=scheduler-calendar-next],[data-testid=scheduler-change-date],[data-testid=scheduler-change-time]{border:1px solid var(--rule-strong);min-width:2.75rem;min-height:2.75rem;color:var(--brass-deep);font-family:var(--font-ui);cursor:pointer;background:0 0;border-radius:3px;font-size:.75rem;font-weight:700}.scheduler-calendar [data-testid=scheduler-calendar-prev],.scheduler-calendar [data-testid=scheduler-calendar-next]{padding:.45rem .75rem;font-size:1.1rem}.scheduler-calendar [data-testid=scheduler-calendar-prev]:disabled,.scheduler-calendar [data-testid=scheduler-calendar-next]:disabled{cursor:default;opacity:.3}[data-testid=scheduler-change-date],[data-testid=scheduler-change-time]{width:auto;padding:.55rem .8rem}.scheduler-calendar [data-testid=scheduler-calendar-prev]:hover:not(:disabled),.scheduler-calendar [data-testid=scheduler-calendar-next]:hover:not(:disabled),[data-testid=scheduler-change-date]:hover,[data-testid=scheduler-change-time]:hover{border-color:var(--brass);background:var(--paper-tint)}.scheduler-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.2rem,.7vw,.45rem);margin-top:1rem;display:grid}.scheduler-calendar-weekday{color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding-block:.25rem;font-size:.65rem;font-weight:700}.scheduler-calendar-day{aspect-ratio:1;min-width:0;min-height:3.15rem;color:var(--ink-soft);font-family:var(--font-ui);background:0 0;border:1px solid #0000;border-radius:3px;padding:.25rem;font-size:.86rem;font-weight:400;position:relative}.scheduler-calendar-day[data-available=true]{border-color:var(--brass);background:color-mix(in srgb, var(--paper-tint) 62%, var(--white));color:var(--ink);cursor:pointer;transition:background .16s ease, color .16s ease, transform .16s var(--ease-out);font-weight:700}.scheduler-calendar-day[data-available=true]:after{background:var(--brass);content:"";border-radius:50%;width:.28rem;height:.28rem;position:absolute;bottom:.3rem;right:.35rem}.scheduler-calendar-day[data-available=true]:hover{border-color:var(--ink);background:var(--ink);color:var(--paper);transform:translateY(-1px)}.scheduler-calendar-day[data-available=true]:hover:after,.scheduler-calendar-day[aria-pressed=true]:after{background:var(--paper)}.scheduler-calendar-day[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.scheduler-calendar-day:disabled,.scheduler-calendar-day[data-available=false]{color:color-mix(in srgb, var(--ink-soft) 40%, var(--white));cursor:default;opacity:.72}.scheduler-calendar-day[data-outside-month=true]{visibility:hidden}.scheduler-calendar-day[aria-current=date]:not([data-available=true]){color:var(--ink-soft);font-weight:700}.scheduler-time-panel>.scheduler-flow-back{margin-bottom:1.3rem}.scheduler-flow-eyebrow,.scheduler-time-count{font-family:var(--font-ui)}.scheduler-flow-eyebrow{color:var(--brass-deep);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .2rem;font-size:.68rem;font-weight:700}.scheduler-time-count{color:var(--ink-soft);margin:.45rem 0 0;font-size:.86rem}.scheduler-time-panel .scheduler-slot-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.25rem}.scheduler-time-panel .scheduler-slot{min-height:3.2rem;font-size:.86rem}.scheduler-selection-summary{border-bottom:1px solid var(--rule);color:var(--brass-deep);font-family:var(--font-ui);margin-bottom:1.25rem;padding:0 0 1rem;font-size:.88rem}.scheduler-selection-summary p{flex:1;margin:0;font-weight:700}.scheduler-selection-summary .scheduler-flow-heading{color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:700}.scheduler-form{width:min(100%,52rem);margin-inline:auto}.scheduler-form-heading{border-bottom:1px solid var(--rule);grid-template-columns:2.5rem minmax(0,1fr);gap:.85rem;margin-bottom:1.4rem;padding-bottom:1rem;display:grid}.scheduler-form-step{background:var(--ink);width:2.3rem;height:2.3rem;color:var(--paper);font-family:var(--font-ui);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.scheduler-form-heading h4{font-size:1.4rem;line-height:1.2}.scheduler-form-heading p{color:var(--ink-soft);margin:.25rem 0 0;font-size:.9rem}.scheduler-calendar [data-testid=scheduler-calendar-prev]:focus-visible,.scheduler-calendar [data-testid=scheduler-calendar-next]:focus-visible,.scheduler-calendar-day:focus-visible,[data-testid=scheduler-change-date]:focus-visible,[data-testid=scheduler-change-time]:focus-visible{outline:3px solid color-mix(in srgb, var(--orange) 38%, transparent);outline-offset:2px;border-color:var(--orange);box-shadow:0 5px 18px #53371814}.day-grid,.slot-grid{gap:.5rem;margin-top:.7rem;display:grid}.day-grid{grid-template-columns:repeat(4,1fr)}.slot-grid{grid-template-columns:repeat(3,1fr)}.booking-panel .field-label+.slot-grid{margin-bottom:1.35rem}.slot-button{border:1px dashed var(--rule-strong);background:var(--white);min-height:2.85rem;color:var(--ink-soft);font-family:var(--font-ui);letter-spacing:.05em;cursor:pointer;border-radius:3px;padding:.65rem .45rem;font-size:.75rem;font-weight:700;transition:color .18s,background .18s,border-color .18s}.slot-button:hover{border-style:solid;border-color:var(--brass);color:var(--ink)}.slot-button.is-active,.slot-button[aria-pressed=true]{border-style:solid;border-color:var(--ink);background:var(--ink);color:var(--paper)}.form-stack{flex-direction:column;gap:.9rem;margin-top:1.35rem;display:flex}.field-label{margin-bottom:.38rem;display:block}.field-control{border:1px solid var(--rule);background:var(--white);width:100%;min-height:3rem;color:var(--ink);border-radius:3px;padding:.7rem .8rem;transition:border-color .18s,box-shadow .18s}textarea.field-control{resize:vertical;min-height:7rem}.field-control:hover{border-color:var(--rule-strong)}.field-control:focus{border-color:var(--orange);box-shadow:0 5px 18px #53371814}.booking-submit{width:100%;margin-top:1.35rem}.form-status{min-height:1.4em;color:var(--brass-deep);margin:.8rem 0 0;font-size:.875rem;line-height:1.5}.site-footer{padding-block:1.5rem 2.2rem}.footer-inner{grid-template-columns:1fr auto;align-items:end;gap:1rem;display:grid}.footer-name{font-family:var(--font-accent);margin:0;font-size:1.5rem;line-height:1.2}.footer-note,.footer-copy{color:var(--ink-soft);margin:.3rem 0 0;font-size:.875rem}.footer-inner>p:last-child{color:var(--ink-soft);margin:0;font-size:.875rem}@keyframes plot-route{0%{stroke-dashoffset:180px;opacity:.06}to{stroke-dashoffset:0;opacity:.55}}@keyframes rise-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){:root{--section-space:clamp(4.25rem, 11vw, 6rem)}.primary-nav{gap:clamp(.85rem,3vw,1.5rem)}.primary-nav.is-open,.mobile-nav{top:calc(100% + .25rem);right:var(--gutter);left:var(--gutter);border:1px solid var(--rule-strong);background:#faf7f0fa;gap:0;padding:.6rem 1.1rem;display:grid;position:absolute;box-shadow:0 16px 32px #3828111c}.primary-nav.is-open .nav-link,.mobile-nav .nav-link{border-bottom:1px solid var(--rule);min-height:3.25rem;display:flex}.primary-nav.is-open .nav-cta,.mobile-nav .nav-cta{min-height:3.25rem}.two-column,.booking-grid,.booking-layout,.principal-grid,.fit-grid{grid-template-columns:minmax(0,1fr);gap:2.6rem}.section-heading{max-inline-size:20ch}.principal,.fit-grid{margin-top:0}.hero{min-height:auto}.hero-route{opacity:.6;width:56%;top:11%;right:-10%}.booking-grid{max-width:45rem}.booking-layout{max-width:none}}@media (width<=560px){:root{--gutter:1.15rem}body{font-size:1.02rem}.site-header{padding-block:.8rem}.header-inner{gap:.75rem}.header-actions,.brand{gap:.55rem}.brand-logo{width:2.4rem}.brand-name{letter-spacing:.12em;font-size:.82rem}.primary-nav:not(.is-open) .nav-cta{color:var(--brass-deep)}.primary-nav{flex:1;min-width:0}.primary-nav .nav-link:not(.nav-cta){display:none}.primary-nav .nav-cta{letter-spacing:.1em;text-align:right;white-space:normal;justify-content:flex-end;min-width:0;min-height:2.75rem;font-size:.64rem;line-height:1.15}.language-switcher summary{width:2.5rem;height:2.5rem}.framed-page{width:calc(100% - .8rem);margin-bottom:.8rem}.hero{min-height:calc(100svh - 5.5rem);padding-block:4.5rem 4rem}.hero h1{font-size:clamp(2.45rem,12.5vw,3.5rem)}.hero-meta{letter-spacing:.15em;margin-bottom:1.45rem}.hero-summary{font-size:1.02rem}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-route{opacity:.42;width:84%;top:2%;right:-28%}.section-heading{font-size:clamp(2rem,10vw,2.65rem)}.foundations{margin-inline:-.3rem}.foundations-list,.decision-list ul{grid-template-columns:1fr}.decision-list ul li:first-child{border-top:1px solid var(--rule)}.steps{gap:1.9rem}.step{grid-template-columns:2.45rem 1fr;gap:1rem}.step-number{width:2.4rem;height:2.4rem}.portrait-frame{width:min(100%,23rem)}.booking-grid,.booking-layout{gap:2.75rem}.booking-email-card,.booking-calendar-frame{margin-inline:-.3rem}.booking-scheduler-frame{margin-inline:-.3rem;padding:1rem}.booking-scheduler-heading{flex-direction:column;align-items:flex-start;gap:.7rem}.scheduler-time-zone,.scheduler-fields{grid-template-columns:minmax(0,1fr)}.scheduler-time-zone p,.scheduler-time-zone .scheduler-field-error,.scheduler-field-wide{grid-column:1}.scheduler-slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.scheduler-progress{letter-spacing:.04em;gap:.4rem;font-size:.64rem}.scheduler-progress li{flex-direction:column;align-items:flex-start;gap:.35rem}.scheduler-calendar,.scheduler-time-panel{padding:.75rem}.scheduler-calendar-day{aspect-ratio:auto;min-height:2.75rem;font-size:.8rem}.scheduler-time-panel .scheduler-slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.scheduler-selection-summary,.scheduler-time-panel-header{flex-direction:column;align-items:flex-start}.booking-calendar-heading{flex-direction:column;align-items:flex-start;gap:.65rem}.booking-calendar{min-height:43rem}.booking-panel,.booking-form{margin-inline:-.3rem}.day-grid,.booking-day-options{grid-template-columns:repeat(2,1fr)}.booking-time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.slot-button{min-height:3rem}.footer-inner{grid-template-columns:1fr;align-items:start}}@media (width<=360px){.brand{gap:.4rem}.brand-logo{width:2rem}.brand-name{letter-spacing:.08em;font-size:.72rem}.primary-nav .nav-cta{font-size:.6rem}}@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}}
