.atelier-dialog{--background:#f7f5f1;--foreground:#171715;--primary:#171715;--primary-foreground:#fff;--muted:#e8e5df;--muted-foreground:#5c5a55;--accent:#e8e5df;--accent-foreground:#171715;--border:#d8d3c9;--input:#c6c0b5;--ring:#777269;position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(680px,calc(100% - 32px));max-width:680px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #d8d3c9;border-radius:6px;background:#f7f5f1;color:#171715;box-shadow:0 24px 80px #0004;overflow:clip;color-scheme:light;font-family:var(--vi-typeface,"Inter Atelier",sans-serif)}
.atelier-dialog[open],.atelier-dialog[data-slot=dialog-content]{display:flex;flex-direction:column;gap:0}.atelier-dialog:not([open]):not([data-slot]){display:none}.atelier-dialog[data-slot=dialog-content]{inset:auto;top:50%;left:50%;translate:-50% -50%;transform:none;margin:0;z-index:10021}[data-slot=dialog-overlay]{z-index:10020;background:#0a0a0abd;backdrop-filter:blur(8px)}.atelier-dialog::backdrop{background:#0a0a0abd;backdrop-filter:blur(8px)}
.atelier-dialog *{box-sizing:border-box;min-width:0}.atelier-dialog [hidden]{display:none!important}.atelier-dialog__header{flex:none;position:relative;padding:28px 28px 20px;border-bottom:1px solid #d8d3c9}.atelier-eyebrow{margin:0 36px 12px 0;font-size:.75rem;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}.atelier-dialog h2{margin:0 32px 8px 0;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:300;line-height:1.2;letter-spacing:-.025em}.atelier-dialog__header>p:last-of-type{font-size:.875rem;line-height:1.55;color:#5c5a55;margin:0}.atelier-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:none;color:#171715;cursor:pointer}.atelier-close svg{width:20px;height:20px;stroke-width:1.3}.atelier-close:hover{background:#e8e5df}
.atelier-dialog__body{min-height:0;padding:24px 28px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.atelier-dialog__footer{flex:none;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 28px max(18px,env(safe-area-inset-bottom));border-top:1px solid #d8d3c9;background:#f7f5f1}.atelier-dialog__footer>.atelier-button{flex:1}.atelier-dialog__footer>.booking-help{flex:0 0 100%;font-size:.75rem;margin:0}.atelier-dialog .atelier-button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 18px;border:1px solid #171715;border-radius:28px;color:#fff;background:#171715;font:inherit;font-size:.875rem;line-height:1.4;text-align:left;cursor:pointer}.atelier-button svg{width:18px;height:18px;flex:none}.atelier-button:disabled{opacity:.55;cursor:wait}.atelier-text-button{font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;background:none;border:0;cursor:pointer}
.booking-form,.review-tabs{display:flex;flex-direction:column;min-height:0;overflow:clip}.booking-form label,.review-form label{display:grid;gap:8px;font-size:.875rem;line-height:1.5;color:#363530}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form input:not([type=radio]):not([type=hidden]),.booking-form select,.booking-form textarea,.review-form input:not([type=checkbox]):not([type=hidden]),.review-form select,.review-form textarea{display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #c6c0b5;border-radius:3px;background:#fff9;color:#171715;font:inherit;font-size:1rem;line-height:1.45;box-shadow:none}.booking-form [data-slot=native-select-wrapper],.review-form [data-slot=native-select-wrapper]{width:100%}.booking-form select,.review-form select{padding-right:28px;text-overflow:ellipsis}.booking-form textarea,.review-form textarea{resize:vertical;max-height:200px}.booking-contact>label{margin:16px 0}.booking-steps{display:flex;list-style:none;padding:0;margin:22px 0 0;gap:20px;font-size:.875rem;color:#75736e}.booking-steps [aria-current=step]{color:#171715;text-decoration:underline;text-underline-offset:7px}.booking-schedule{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin:24px 0}.booking-times{padding:0;margin:0;border:0}.booking-times legend,.field-caption{font-size:.875rem;font-weight:400;margin:0 0 8px}.booking-calendar{width:100%;--cell-size:36px;padding:8px 0;font-size:.875rem}.booking-calendar table{width:100%}.booking-calendar button{min-height:36px;font-size:.875rem}.booking-calendar [data-selected-single=true]{background:#171715!important;color:white!important}.booking-calendar .rdp-disabled{opacity:.3}.time-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-option{position:relative;display:block!important}.time-option input{position:absolute;width:1px;height:1px;opacity:0}.time-option span{display:grid;place-items:center;min-height:44px;padding:7px 3px;border:1px solid #bcb7ac;border-radius:3px;font-size:.875rem;cursor:pointer}.time-option input:checked+span{background:#171715;border-color:#171715;color:#fff}.time-option input:disabled+span{opacity:.3;cursor:not-allowed}.time-option input:focus-visible+span{outline:2px solid #171715;outline-offset:3px}.booking-help{font-size:.875rem;line-height:1.6;color:#5c5a55;margin:14px 0 0}.booking-help a{text-decoration:underline;text-underline-offset:3px}.booking-summary{padding:16px;background:#eae7e0;margin-bottom:22px}.booking-summary p{margin:0 0 8px;font-size:.875rem;line-height:1.5}.booking-back{display:grid;place-items:center;flex:0 0 46px;height:46px;border:1px solid #bcb7ac;border-radius:50%;background:none;cursor:pointer}.booking-error{font-size:.875rem;color:#873b2c;background:#fff5ef;padding:12px;border:1px solid #bb7c6f;margin:16px 0 0}.booking-success h3{font-size:1.6rem;line-height:1.25;font-weight:300}.booking-success p{font-size:1rem;line-height:1.6}.demo-notice{padding:12px 14px;background:#ece8df;border-left:2px solid #777064;font-size:.875rem!important;line-height:1.55;margin:0 0 20px}
.reviews-tab{position:fixed;z-index:65;top:44%;left:0;display:flex;gap:10px;align-items:center;min-width:44px;padding:16px 12px;writing-mode:vertical-rl;border:1px solid #ffffff38;border-left:0;border-radius:0 5px 5px 0;background:#171715ed;color:white;font-size:.875rem;font-weight:350;letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(12px)}.reviews-tab[hidden]{display:none}.reviews-tab svg{width:17px;height:17px;stroke-width:1.3}.reviews-dialog{max-width:580px;max-height:min(740px,calc(100dvh - 32px))}.review-tabs__nav{flex:none;display:flex;width:100%;gap:0;margin:0;padding:8px 28px 0;background:none}.review-tabs__nav button{flex:1;min-height:48px;font-size:.875rem;line-height:1.35;font-weight:400;white-space:normal;background:none;border:0;border-radius:0;box-shadow:none;color:#69665f;opacity:1;cursor:pointer}.review-tabs__nav [aria-selected=true]{color:#171715;border-bottom:1px solid #171715}.review-tabs__nav [data-slot=tabs-trigger]::after{display:none}.review-tabs .atelier-dialog__body{flex:1}.review-card{padding:22px 0;border-bottom:1px solid #d8d3c9}.review-card:first-child{padding-top:0}.review-card__top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-example-label,.review-meta{font-size:.75rem;line-height:1.5;color:#68645d}.review-stars{display:flex;gap:3px}.review-stars svg{width:13px;height:13px;stroke-width:1}.review-quote{font-size:1rem;font-weight:350;line-height:1.75;margin:16px 0}.review-author{font-size:.875rem;font-weight:500;margin:0 0 5px}.review-meta{margin:0}.review-form{display:grid;gap:18px}.review-form>p{font-size:1rem;line-height:1.65;margin:0}.review-consent{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:10px!important;align-items:start}.review-consent input{width:18px;height:18px;margin-top:4px;accent-color:#171715}.review-consent span{font-size:.875rem;line-height:1.6}
.project-open{display:block;width:100%;position:relative;border:0;padding:0;background:none;color:inherit;text-align:left;cursor:pointer}.project-open__label{position:absolute;bottom:16px;left:16px;right:16px;display:flex;justify-content:space-between;padding:12px 16px;background:#171715c9;color:#fff;backdrop-filter:blur(8px);font-size:.875rem;font-weight:350}.project-open__label svg{width:18px;height:18px}.project-dialog{max-width:1100px;width:min(1100px,calc(100% - 40px))}.project-detail-body{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:start}.project-gallery__main{display:block;width:100%;height:auto;max-height:62dvh;object-fit:contain;background:#e6e3dd}.project-gallery__caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.75rem;line-height:1.5;margin:12px 0}.project-gallery__caption a{text-decoration:underline;text-underline-offset:3px}.project-gallery__thumbs{display:flex;gap:8px;overflow:auto;margin-top:12px}.project-gallery__thumbs button{flex:0 0 70px;height:70px;background:none;padding:0;border:1px solid transparent;cursor:pointer}.project-gallery__thumbs button[aria-pressed=true]{border-color:#171715}.project-gallery__thumbs img{width:100%;height:100%;object-fit:cover}.project-detail-copy>p{font-size:1rem;line-height:1.8;margin:0 0 24px}.project-detail-copy dl{margin:0 0 28px}.project-detail-copy dl>div{padding:16px 0;border-top:1px solid #d8d3c9}.project-detail-copy dt{font-size:.75rem;color:#69665f;margin-bottom:8px}.project-detail-copy dd{font-size:1rem;line-height:1.5;margin:0}.project-detail-placeholder{display:grid;place-items:center;min-height:240px;background:#eae7e0;color:#68645d;font-size:.875rem}.journey-skip{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;border:1px solid #ffffff4d;border-radius:24px;background:#10101075;color:white;backdrop-filter:blur(8px);font-size:.875rem;white-space:nowrap}.journey-skip svg{width:15px;height:15px}.video-scroll-cue{display:none}.atelier-dialog :focus-visible{outline:2px solid #8b8170;outline-offset:3px}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.calendar-nav button{width:44px;height:44px;background:none;border:1px solid #d8d3c9;border-radius:50%;cursor:pointer}.calendar-nav button:disabled{opacity:.3}.calendar-nav span{font-size:.875rem}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.calendar-weekdays span{font-size:.75rem;padding:6px 0;color:#69665f}.calendar-days button{border:0;background:none;border-radius:3px;min-height:40px;font-size:.875rem;cursor:pointer}.calendar-days button:disabled{opacity:.25;cursor:not-allowed}.calendar-days button[aria-pressed=true]{background:#171715;color:#fff}
@media(max-width:640px){.atelier-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.atelier-dialog__header{padding:24px 20px 16px}.atelier-dialog__body{padding:20px}.atelier-dialog__footer{padding:14px 20px max(16px,env(safe-area-inset-bottom))}.booking-fields,.booking-schedule,.project-detail-body{grid-template-columns:minmax(0,1fr)}.booking-schedule{gap:18px;margin:18px 0}.booking-calendar{max-width:350px;margin:auto;--cell-size:36px}.time-options{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-steps{gap:16px;font-size:.8125rem}.review-tabs__nav{padding-inline:20px}.project-gallery__main{max-height:48dvh}.reviews-tab{padding:12px 10px;min-width:40px;top:42%;font-size:.8125rem}.journey-skip{bottom:max(76px,calc(env(safe-area-inset-bottom) + 66px))}.inquiry-form .form-footer>p{font-size:.875rem;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.atelier-dialog{animation:none!important;transition:none!important}}

/* Compact portrait and honest review empty state. */
.founder-image.founder-image--portrait{width:86%;max-width:460px;justify-self:center}
.review-empty{padding:12px 0 8px}.review-empty p{font-size:1rem;line-height:1.65;color:#5c5a55;margin:0 0 18px}.review-empty p:first-child{color:#171715}
@media(max-width:900px){.founder-image.founder-image--portrait{width:88%;max-width:330px}}
