:root{--paper:#F6F4F1;--white:#FFFFFF;--blue:#5B7492;--blue-light:#8FA4BA;--beige:#C7C0B5;--ink:#1E2936;--muted:#7A8186;--stroke:#DDDCD7;--display:"Bodoni Moda","Bodoni MT",Didot,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:4px}h1,h2,h3,p{margin:0}::selection{background:var(--blue-light);color:#fff}.site-wrap{min-height:100svh;display:flex;flex-direction:column}.page-width{width:min(calc(100% - 100px),1260px);margin-inline:auto}
.site-header{height:124px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9dad6}.brand{display:inline-flex;align-items:center;gap:14px}.brand-symbol{height:62px;width:auto;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(34,51,72,.07))}.brand-wordmark{font-family:var(--display);font-size:26px;letter-spacing:-.065em;color:var(--ink)}.brand-inc{font-family:var(--display);font-size:18px;letter-spacing:-.04em}.header-link{text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:10px;transition:color .2s ease;display:inline-flex;align-items:center;gap:12px}.header-link:hover{color:var(--blue)}.small-arrow{font-size:17px;font-weight:400;line-height:1}
.home-main{flex:1;width:min(calc(100% - 100px),1000px);padding-top:clamp(70px,9.5vh,124px);padding-bottom:50px}.intro-block{margin-bottom:65px}.eyebrow{display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.185em;color:var(--blue);font-weight:700;line-height:1.6}.eyebrow-line{height:1px;width:33px;background:var(--blue)}.eyebrow-dot{height:3px;width:3px;border-radius:50%;background:var(--beige)}h1{font-family:var(--display);font-weight:400;letter-spacing:-.067em;font-size:clamp(61px,8.3vw,114px);line-height:1.16}.home-page h1{margin:15px 0 17px}h1 em{font-weight:400;color:var(--blue);font-style:italic}.hero-subline{color:#777f86;font-size:14px;letter-spacing:.003em}
.services{border-top:1px solid var(--beige)}.service-row{display:grid;grid-template-columns:80px 1fr 58px;gap:8px;align-items:center;min-height:139px;padding:18px 7px;border-bottom:1px solid var(--beige);transition:color .2s ease,background .2s ease}.service-row:hover,.service-row:focus-visible{background:rgba(255,255,255,.48);color:var(--blue)}.service-number{font-size:11px;font-weight:700;align-self:center;color:var(--blue);letter-spacing:.04em}.service-content{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.service-title{font-family:var(--display);font-size:clamp(25px,3.6vw,43px);font-weight:400;line-height:1.2;letter-spacing:-.06em}.service-descriptor{color:var(--muted);font-size:11px;letter-spacing:.015em;flex-shrink:0}.service-cta{width:47px;height:47px;border:1px solid #b6c0c8;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);justify-self:end;transition:background .23s ease,color .23s ease,transform .23s ease}.service-cta svg{width:20px;height:20px}.service-row:hover .service-cta{background:var(--blue);color:#fff;transform:translateX(4px)}.bottom-annotation{font-size:11px;color:#899096;margin-top:27px;letter-spacing:.025em;display:flex;align-items:center;gap:10px}.decorative-star{font-size:17px;color:var(--blue-light)}
.site-footer{min-height:74px;border-top:1px solid #d9dad6;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#92979b;font-size:10px;letter-spacing:.02em}.site-footer a:hover{color:var(--blue)}
/* Appointment page */
.booking-main{flex:1;padding-top:68px;padding-bottom:85px}.booking-heading h1{font-size:clamp(43px,5.6vw,73px);margin:18px 0 8px}.booking-heading p{color:#798089;font-size:13px;line-height:1.6}.booking-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:50px;margin-top:57px;align-items:start}.booking-details{border-left:1px solid var(--stroke);padding-left:51px}.section-head{display:flex;align-items:center;gap:18px;margin-bottom:23px}.step-count{color:var(--blue);letter-spacing:.14em;font-weight:700;font-size:10px;white-space:nowrap}.section-head h2{font-family:var(--display);font-size:29px;font-weight:400;letter-spacing:-.055em}.selected-service{min-height:84px;border:1px solid #ced4d6;background:#fdfbf9;padding:19px 19px;display:flex;justify-content:space-between;align-items:center;gap:14px}.selected-service strong{font-family:var(--display);font-weight:500;font-size:22px;display:block;line-height:1.2;margin-top:3px;letter-spacing:-.035em}.field-caption{color:var(--blue);font-size:9px;letter-spacing:.15em;font-weight:700}.change-service{font-size:10px;font-weight:700;color:var(--blue);flex-shrink:0}.change-service:hover{text-decoration:underline}.minor-heading{margin:30px 0 15px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-widget{border:1px solid var(--stroke);padding:20px;background:rgba(255,255,255,.52)}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px}.calendar-header strong{font-size:13px}.month-actions{display:flex;gap:7px}.calendar-nav{border:1px solid #d9dcd9;width:32px;height:32px;background:transparent;color:var(--ink);font-size:23px;line-height:1;border-radius:50%;display:flex;align-items:center;justify-content:center}.calendar-nav:not(:disabled):hover{border-color:var(--blue);color:var(--blue)}.calendar-nav:disabled{opacity:.24;cursor:not-allowed}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays{padding-bottom:10px;border-bottom:1px solid var(--stroke);text-align:center}.calendar-weekdays span{font-size:10px;color:#8a9193}.calendar-days{padding-top:9px}.calendar-day{appearance:none;border:0;background:none;aspect-ratio:1;width:100%;min-width:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink);border-radius:50%;transition:background .15s ease,color .15s ease}.calendar-day.blank{pointer-events:none}.calendar-day:disabled{color:#c0c3c3;cursor:not-allowed}.calendar-day.available{color:var(--blue);font-weight:700;background:#e6ecf0}.calendar-day.available:hover{background:#d5e0e9}.calendar-day.selected{background:var(--blue);color:white}.calendar-note{display:flex;align-items:baseline;gap:8px;color:#8a8e8d;font-size:10px;line-height:1.6;margin-top:12px}.note-dot{background:#e6ecf0;border:1px solid #c5d2df;width:8px;height:8px;border-radius:50%;flex-shrink:0}.time-heading{display:flex;justify-content:space-between;align-items:baseline}.time-zone{font-size:10px;font-weight:500;text-transform:none;color:var(--muted);letter-spacing:0}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-choice{min-height:40px;border:1px solid #d1d5d6;background:transparent;font-size:11px;color:var(--ink);border-radius:0;transition:all .16s ease}.time-choice:hover{border-color:var(--blue)}.time-choice.selected{background:var(--blue);border-color:var(--blue);color:white}.time-choice:disabled{opacity:.35;cursor:not-allowed}.availability-note{font-size:10px;color:#939899;line-height:1.5;margin-top:13px}
.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;margin-bottom:18px;gap:9px;font-size:11px;font-weight:700}.form-field>span{letter-spacing:.015em}.form-field small{font-size:10px;font-weight:400;color:#8f9697}.required{color:var(--blue)}.form-field input,.form-field textarea{width:100%;min-width:0;border:1px solid #d0d3d1;background:rgba(255,255,255,.62);padding:12px 14px;line-height:1.5;color:var(--ink);font-size:12px;border-radius:0}.form-field input{height:46px}.form-field textarea{resize:vertical;min-height:96px}.form-field input::placeholder,.form-field textarea::placeholder{color:#a3a7aa}.form-field input:focus,.form-field textarea:focus{border-color:var(--blue);outline:1px solid var(--blue);outline-offset:0}.booking-summary{border-top:1px solid var(--stroke);padding:19px 0;display:flex;flex-direction:column;gap:8px}.booking-summary span{color:var(--blue);font-size:9px;letter-spacing:.15em;font-weight:700}.booking-summary strong{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-.03em}.submit-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:var(--blue);color:white;border:1px solid var(--blue);font-size:11px;font-weight:600;letter-spacing:.07em;transition:background .2s ease}.submit-btn:hover{background:#445f7b}.submit-btn:disabled{opacity:.55;cursor:wait}.submit-btn span{font-size:18px;line-height:1}.privacy-text{margin-top:14px;font-size:10px;line-height:1.7;color:#959a9e}.form-notice{margin-top:18px;padding:14px 16px;border-left:2px solid var(--blue);background:#e8edf1;color:#3a526b;font-size:12px;line-height:1.7}.form-notice.error{border-color:#ad7364;background:#f4e8e5;color:#714438}.form-notice a{text-decoration:underline;font-weight:700}.hidden-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:950px){.page-width{width:min(calc(100% - 64px),1180px)}.home-main{width:min(calc(100% - 64px),950px)}.service-content{flex-direction:column;align-items:flex-start;gap:5px}.service-row{min-height:126px}.booking-layout{gap:28px}.booking-details{padding-left:28px}}
@media(max-width:730px){.site-header{height:93px}.brand-symbol{height:50px}.brand-wordmark{font-size:23px}.brand-inc{font-size:15px}.page-width,.home-main{width:calc(100% - 42px)}.home-main{padding-top:64px;padding-bottom:55px}.intro-block{margin-bottom:52px}.eyebrow{letter-spacing:.12em;gap:9px;font-size:9px}.eyebrow-line{width:19px}.home-page h1{font-size:clamp(56px,14vw,84px);line-height:1.12;margin-top:19px}.hero-subline{font-size:12px}.service-row{grid-template-columns:39px 1fr 38px;gap:3px;min-height:116px;padding:14px 0}.service-title{font-size:clamp(26px,7vw,37px)}.service-descriptor{font-size:10px}.service-number{font-size:10px}.service-cta{height:35px;width:35px}.service-cta svg{width:17px;height:17px}.bottom-annotation{margin-top:22px}.site-footer{flex-wrap:wrap;padding-top:19px;padding-bottom:19px;min-height:76px;row-gap:10px}.site-footer span:last-child{display:none}.booking-main{padding-top:48px;padding-bottom:65px}.booking-heading h1{font-size:clamp(49px,9vw,69px);line-height:1.12}.booking-layout{grid-template-columns:1fr;margin-top:37px;gap:40px}.booking-details{border-left:0;padding-left:0;border-top:1px solid var(--stroke);padding-top:33px}.calendar-widget{padding:15px}.time-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:380px){.header-link{font-size:9px}.brand{gap:8px}.brand-wordmark{font-size:20px}.brand-symbol{height:46px}.form-two-col{grid-template-columns:1fr;gap:0}.time-grid{grid-template-columns:repeat(2,1fr)}.booking-heading h1{font-size:45px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
