/* Generated from Studio UI tokens and actual primitive rules. */
:root{--studio-ui-canvas:#181818;--studio-ui-canvas-phone:#000000;--studio-ui-surface:#292929;--studio-ui-sidebar-surface:#1e1e1e;--studio-ui-rail-surface:#282828;--studio-ui-card-surface:#1e1e1e;--studio-ui-floating-surface:#161616;--studio-ui-document-surface:#242424;--studio-ui-card-surface-phone:#292929;--studio-ui-card-surface-light:#303030;--studio-ui-card-surface-studio-phone:#191919;--studio-ui-floating-surface-light:#2b2b2b;--studio-ui-ink:#eeeeee;--studio-ui-muted:#a0a0a0;--studio-ui-line:#ffffff1a;--studio-ui-page-max:1424px;--studio-ui-page-gutter:48px;--studio-ui-text-max:760px;--studio-ui-title-size:clamp(34px,4.5vw,58px);--studio-ui-title-line:1.15;--studio-ui-title-size-desktop:clamp(34px,4.5vw,52px);--studio-ui-title-tracking:-.045em;--studio-ui-section-size:24px;--studio-ui-item-title-size:19px;--studio-ui-lead-size:17px;--studio-ui-lead-line:1.55;--studio-ui-body-size:14px;--studio-ui-label-size:12px;--studio-ui-meta-size:11px;--studio-ui-control-size:14px;--studio-ui-command-size:13px;--studio-ui-command-touch-size:15px;--studio-ui-control-height:36px;--studio-ui-touch-height:44px;--studio-ui-menu-size:14px;--studio-ui-menu-row-height:40px;--studio-ui-menu-meta-size:11px;--studio-ui-compound-inset:4px;--studio-ui-compound-control-height:36px;--studio-ui-field-feedback-gap:8px;--studio-ui-action-content-gap:24px;--studio-ui-control-radius:999px;--studio-ui-control-radius-touch:999px;--studio-ui-sheet-radius:24px;--studio-ui-sheet-content-top:52px;--studio-ui-control-primary:#eeeeee;--studio-ui-control-primary-ink:#151515;--studio-ui-control-secondary:#ffffff12;--studio-ui-selection:#ffffff12;--studio-ui-control-ghost:#303030;--studio-ui-control-ghost-hover:#3d3d3d;--studio-ui-control-ghost-card:#414141;--studio-ui-control-ghost-card-hover:#4c4c4c;--studio-ui-segmented-surface:#121212;--studio-ui-segmented-active:#303030;--studio-ui-date-selected:#444444;--studio-ui-date-selected-ink:#eeeeee;--studio-ui-segmented-height:40px;--studio-ui-segmented-option-height:32px;--studio-ui-segmented-inset:4px;--studio-ui-alert-radius:16px;--studio-ui-alert-gutter:16px;--studio-ui-alert-size:14px;--studio-ui-warning-surface:color-mix(in oklab,var(--studio-ui-warning) 16%,transparent);--studio-ui-danger-surface:color-mix(in oklab,var(--studio-ui-danger) 16%,transparent);--studio-ui-success-surface:color-mix(in oklab,var(--studio-ui-success) 15%,transparent);--studio-ui-info-surface:color-mix(in oklab,var(--studio-ui-info) 13%,transparent);--studio-ui-badge-height:22px;--studio-ui-badge-size:14px;--studio-ui-badge-radius:4px;--studio-ui-switch-width:32px;--studio-ui-switch-height:19px;--studio-ui-switch-thumb:13px;--studio-ui-switch-off:#8f8f8f;--studio-ui-switch-on:var(--studio-ui-info);--studio-ui-switch-thumb-ink:#0d0d0d;--studio-ui-warning:#e2ad5f;--studio-ui-danger:#ee9d97;--studio-ui-success:#55c991;--studio-ui-info:#94afe8;--studio-ui-status-draft:#bda8df;--studio-ui-scrim-blur:12px;--studio-ui-scrim-surface:rgba(0,0,0,.7);--studio-ui-navigation-scrim-surface:rgba(0,0,0,.85);--studio-ui-navigation-scrim-surface-phone:rgba(0,0,0,.7);--studio-ui-scrim-surface-desktop:rgba(0,0,0,.4);--studio-ui-date-picker-width:421px;--studio-ui-date-picker-month-width:371px;--studio-ui-motion-duration:240ms;--studio-ui-card-resize-duration:260ms;}
[data-studio-ui-button]:not(.studio-selection-list *){--studio-command-bg:var(--studio-ui-control-secondary);--studio-command-hover:#ffffff20;--studio-command-ink:inherit;box-sizing:border-box!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;flex-shrink:0;min-height:var(--studio-ui-control-height)!important;height:auto!important;margin:0;padding:6px 16px!important;border:1px solid transparent!important;border-radius:var(--studio-ui-control-radius)!important;background:var(--studio-command-bg)!important;color:var(--studio-command-ink)!important;font-family:var(--studio-font-family)!important;font-size:var(--studio-ui-control-size)!important;font-weight:500!important;line-height:1.4!important;letter-spacing:normal;text-align:center;text-decoration:none;white-space:nowrap!important;transform:none!important;box-shadow:none!important;cursor:pointer;transition:background-color .18s ease,color .18s ease,opacity .18s ease}
[data-studio-ui-button][data-studio-ui-variant=primary]{--studio-command-bg:var(--studio-ui-control-primary);--studio-command-hover:#dcdcdc;--studio-command-ink:var(--studio-ui-control-primary-ink)}
[data-studio-ui-button][data-studio-ui-variant=secondary]{--studio-command-bg:transparent;--studio-command-ink:var(--studio-ui-muted);border-color:var(--studio-ui-button-border,#ffffff40)!important}
[data-studio-ui-button][data-studio-ui-variant=soft]{--studio-command-bg:var(--studio-ui-control-secondary)}
[data-studio-ui-button][data-studio-ui-variant=ghost]{--studio-command-bg:var(--studio-ui-control-ghost);--studio-command-hover:var(--studio-ui-control-ghost-hover)}
/* Quiet commands must still read as buttons on the black phone canvas.
   The same role uses a slightly lighter gray on an already-gray card. */
html body :is(.studio-header-card,.studio-map-overlay,.studio-leave-dialog,.studio-billing-dialog,.date-composer-card:not(.calendar-composer-card),.location-composer-card,.studio-document-history-card){--studio-ui-control-ghost:var(--studio-ui-control-ghost-card);--studio-ui-control-ghost-hover:var(--studio-ui-control-ghost-card-hover)}
[data-studio-ui-button][data-studio-ui-variant=danger]{--studio-command-bg:color-mix(in srgb,var(--studio-ui-danger) 12%,transparent);--studio-command-hover:color-mix(in srgb,var(--studio-ui-danger) 20%,transparent);--studio-command-ink:var(--studio-ui-danger)}
/* Hover belongs to a mouse; touch feedback lasts only while pressed. */
@media(hover:hover) and (pointer:fine){html:not([data-studio-menu-input=touch]) [data-studio-ui-button]:not(.studio-selection-list *):hover:not(:disabled){background:var(--studio-command-hover)!important}}
[data-studio-ui-button]:not(.studio-selection-list *):active:not(:disabled){background:var(--studio-command-hover)!important}
[data-studio-ui-button]:not(.studio-selection-list *):disabled{opacity:.5!important;cursor:not-allowed}
/* A presentation role must never override native visibility/business state. */
html body [data-studio-ui-button][hidden]{display:none!important}
html body [data-studio-ui-segmented][data-studio-ui-segmented][data-studio-ui-segmented]{--studio-selection-slide-fill:var(--studio-ui-segmented-active)!important;--studio-selection-outer-radius:999px;--studio-selection-inner-radius:999px;box-sizing:border-box;min-height:var(--studio-ui-segmented-height)!important;height:auto!important;padding:var(--studio-ui-segmented-inset)!important;gap:2px!important;border:0!important;border-radius:999px!important;background:var(--studio-ui-segmented-surface)!important;box-shadow:none!important}
html body [data-studio-ui-segmented]>button{box-sizing:border-box;min-width:0;min-height:var(--studio-ui-segmented-option-height)!important;height:auto!important;margin:0!important;padding:6px 14px!important;border:0!important;border-radius:999px!important;color:var(--studio-ui-muted);font-family:var(--studio-font-family)!important;font-size:var(--studio-ui-control-size)!important;font-weight:500!important;line-height:1.25!important;box-shadow:none!important}
html body [data-studio-ui-segmented]>button :is(strong,span){font-size:inherit!important;font-weight:inherit}
html body [data-studio-ui-segmented]:not([data-studio-selection-slide])>button:is([aria-pressed=true],[aria-selected=true],.is-active){background:var(--studio-ui-segmented-active)!important;color:var(--studio-ui-ink)}
html body [data-studio-ui-segmented]>button:is([aria-pressed=true],[aria-selected=true],[data-active],.is-active){color:var(--studio-ui-ink)}
html body [data-studio-ui-segmented]>.studio-selection-indicator{border-radius:999px!important}
/* Preserve tile geometry and native keyboard focus; retire only the outline. */
html body :is(.client-resource-pdf-card,.client-resource-download-card):is(.client-resource-pdf-card,.client-resource-download-card){border-color:transparent!important;box-shadow:none!important}
html body .client-resource-pdf-card{--client-action-inset:calc(var(--studio-ui-segmented-inset) - 1px);--client-action-radius:calc(var(--ui-card-radius,16px) - var(--studio-ui-segmented-inset));gap:var(--studio-ui-segmented-inset)}
html body [data-studio-ui-alert]{--studio-alert-color:currentColor;box-sizing:border-box;position:relative;max-width:100%;padding:var(--studio-ui-alert-gutter)!important;border:1px solid color-mix(in srgb,var(--studio-alert-color) 24%,transparent);border-radius:var(--studio-ui-alert-radius)!important;background:color-mix(in srgb,var(--studio-alert-color) 12%,transparent);font-size:var(--studio-ui-alert-size)!important;line-height:1.45!important;overflow-wrap:anywhere}
html body [data-studio-ui-alert]:not([data-studio-ui-alert=neutral]){color:var(--studio-alert-color)!important;background:var(--studio-alert-surface)!important;border-color:var(--studio-alert-surface)!important}
/* Alert copy shares its semantic ink, including formerly muted paragraphs.
   Neutral notices and the native colors of interactive controls stay intact. */
html body [data-studio-ui-alert]:not([data-studio-ui-alert=neutral]) :where(p,span,strong,small,em,b,li){color:inherit!important}
html body [data-studio-ui-alert=warning]{--studio-alert-color:var(--studio-ui-warning);--studio-alert-surface:var(--studio-ui-warning-surface)}
html body [data-studio-ui-alert=danger]{--studio-alert-color:var(--studio-ui-danger);--studio-alert-surface:var(--studio-ui-danger-surface)}
html body [data-studio-ui-alert=success]{--studio-alert-color:var(--studio-ui-success);--studio-alert-surface:var(--studio-ui-success-surface)}
html body [data-studio-ui-alert=info]{--studio-alert-color:var(--studio-ui-info);--studio-alert-surface:var(--studio-ui-info-surface)}
html body [data-studio-ui-alert].is-danger,html body [data-studio-ui-alert][data-studio-state=danger]{--studio-alert-color:var(--studio-ui-danger);--studio-alert-surface:var(--studio-ui-danger-surface)}

:root{--studio-selection-slide-duration:420ms;--studio-selection-slide-ease:cubic-bezier(.2,.8,.2,1)}
/* Missing legacy groups adapt to one native CSS indicator. Checkbox lists and
   independent actions are deliberately not segmented single-choice groups. */
html body [data-studio-selection-slide][data-studio-selection-slide][data-studio-selection-slide]{position:relative!important;isolation:isolate}
html body [data-studio-selection-slide]>button{position:relative;z-index:1}
/* The moving pill is the only illuminated surface, including on hover/focus.
   Repeated :is raises specificity above the common menu-row adapters. */
html body :is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch):is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch):is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch):is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch)>button{background:transparent!important;transition:color var(--studio-selection-label-duration,280ms) ease,opacity var(--studio-selection-label-duration,280ms) ease!important}
html body :is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch):is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch)>button:focus-visible{color:#fff!important;opacity:1;outline:2px solid #aaa!important;outline-offset:-2px}
@media(hover:hover) and (pointer:fine){html:not([data-studio-menu-input=touch]) body :is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch):is([data-studio-selection-slide],.studio-tab-bar,.design-compact-switch,.audience-map-switch)>button:hover{color:#fff!important;opacity:1}}
html body .studio-filter-panel .studio-home-chart-mode{--studio-selection-slide-fill:var(--studio-hover,rgba(255,255,255,.11))}
html body [data-studio-selection-slide][data-studio-slide-single=true]>button:is([aria-pressed=true],[aria-selected=true],[data-active],[aria-expanded=true],.is-active){background:transparent!important}
html body [data-studio-selection-slide]>.studio-selection-indicator{position:absolute;z-index:0;display:block;box-sizing:border-box;left:0;top:0;width:var(--studio-selection-slide-width,0px);height:var(--studio-selection-slide-height,0px);margin:0;padding:0;border:0;border-radius:var(--studio-selection-slide-radius,11px);background:var(--studio-selection-slide-fill,var(--studio-menu-hover,rgba(255,255,255,.08)));box-shadow:none;transform:translate3d(var(--studio-selection-slide-x,0px),var(--studio-selection-slide-y,0px),0);opacity:var(--studio-selection-slide-opacity,0);pointer-events:none;transition:none}
html body [data-studio-selection-slide][data-studio-slide-ready=true]>.studio-selection-indicator{transition:transform var(--studio-selection-slide-duration) var(--studio-selection-slide-ease),width var(--studio-selection-slide-duration) var(--studio-selection-slide-ease),height var(--studio-selection-slide-duration) var(--studio-selection-slide-ease),opacity var(--studio-filter-fade-duration,240ms) var(--studio-menu-ease,cubic-bezier(.2,0,0,1))}
@media(prefers-reduced-motion:reduce){:root{--studio-selection-label-duration:0ms}html body [data-studio-selection-slide]>.studio-selection-indicator{transition:none!important}}
html body [data-studio-ui-choice-menu]{display:flex!important;flex-direction:column;gap:var(--studio-ui-segmented-inset)!important;box-sizing:border-box;width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body [data-studio-ui-choice-menu]::before{display:none!important}
html body [data-studio-ui-choice-menu]>button{position:relative;display:flex!important;align-items:center;justify-content:space-between!important;gap:12px!important;flex:none!important;box-sizing:border-box;width:100%!important;min-width:0;min-height:var(--studio-ui-menu-row-height)!important;height:auto!important;margin:0!important;padding:8px 12px!important;border:0!important;border-radius:var(--studio-menu-item-radius,10px)!important;background:transparent!important;color:var(--studio-ui-ink)!important;font-family:var(--studio-font-family)!important;font-size:var(--studio-ui-menu-size)!important;font-weight:400!important;line-height:1.4!important;text-align:left!important;white-space:normal!important;box-shadow:none!important;transform:none!important}
html body [data-studio-ui-choice-menu]>button::after{content:none!important}
html body [data-studio-ui-choice-menu]>button:is(:hover,:focus-visible){background:var(--studio-ui-control-secondary)!important}
html body [data-studio-ui-choice-menu]>button:focus-visible{outline:2px solid #aaa!important;outline-offset:-2px}
.studio-choice-check{--studio-icon-size:18px;flex:none;margin-left:auto;opacity:0;pointer-events:none}
[data-studio-ui-choice-menu]>button[aria-pressed=true]>.studio-choice-check{opacity:1}

/* Site-specific composition, never a second command/alert implementation.
   Shared Studio desktop gray/phone black, Suisse, 24/14/12px titles, photos and PDF actions remain
   owned by their published references. Header/menu/+ explicitly excluded. */
:root{--studio-font-family:"Suisse Int’l",PingFang SC,Noto Sans SC,sans-serif}
/* Strong shared navigation/gallery scrim; never filter the foreground photo. */
html body .client-photo-preview-overlay{background:var(--studio-ui-gallery-scrim-surface);-webkit-backdrop-filter:blur(var(--studio-ui-gallery-scrim-blur));backdrop-filter:blur(var(--studio-ui-gallery-scrim-blur))}
/* Device-based private canvas, including narrow/short desktop windows and
   iPadOS desktop-mode UA. Public home and its header are not restyled. */
html[data-studio-device=desktop]:has(.client-private-header),html[data-studio-device=desktop] body:has(.client-private-header){--client-private-background:var(--studio-ui-canvas);background:var(--client-private-background)!important}
html[data-studio-device=touch]:has(.client-private-header),html[data-studio-device=touch] body:has(.client-private-header){--client-private-background:var(--studio-ui-canvas-phone);background:var(--client-private-background)!important}
/* Desktop content follows Studio's shared 1424px cap and 48px gutters.
   Native phone/tablet widths, header, public page and full-screen viewer stay put. */
@media(min-width:1101px) and (min-height:501px){html body .client-resource-page{--client-width:min(var(--studio-ui-page-max),calc(100vw - 2 * var(--studio-ui-page-gutter)))}}
/* A compact introduction: smaller portrait, same image/proportions and action.
   Native phone composition remains unchanged. Documents follow the shorter hero. */
@media(min-width:761px){html body .client-resource-hero{grid-template-columns:minmax(0,1fr) 208px;gap:32px}html body .client-resource-portrait{max-width:208px}}
/* Keep a wrapped introduction title compact without changing its font size,
   native line breaks, body copy or portrait composition. */
html body .client-resource-hero h1{line-height:1.15!important}
/* Wide desktop gallery, including each native type group. Keep image ratios,
   gaps, captions, sorting and the phone/tablet column rules unchanged. */
@media(min-width:1440px) and (hover:hover) and (pointer:fine){html body .client-resource-page .client-photo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.client-access-dialog{box-sizing:border-box;background:var(--studio-ui-card-surface);border:1px solid var(--studio-ui-line);border-radius:var(--studio-ui-sheet-radius);padding:24px;color:var(--studio-ui-ink);-webkit-backdrop-filter:blur(var(--studio-ui-card-blur));backdrop-filter:blur(var(--studio-ui-card-blur))}
.client-access-dialog .client-access-error:empty{display:none}
.client-access-dialog .client-access-error{margin:0}
/* The server acknowledges a persisted application on the existing email step.
   Keep the shared notice geometry, but present this exact outcome as info. */
html body .client-access-dialog .client-access-error[data-client-access-request-confirmed]{--studio-alert-color:var(--studio-ui-info);--studio-alert-surface:var(--studio-ui-info-surface)}
.client-access-dialog .client-access-submit{justify-self:start}
.client-access-dialog .client-access-email-control{box-sizing:border-box;display:flex;align-items:stretch;gap:4px;padding:4px;min-width:0;border:1px solid var(--studio-ui-line);border-radius:16px;background:var(--studio-ui-control-secondary)}
.client-access-dialog .client-access-email-control>input{box-sizing:border-box;flex:1 1 140px;min-width:0;width:0;min-height:44px;height:auto;border:0;border-radius:12px;background:transparent;font-family:var(--studio-font-family);font-size:16px;color:var(--studio-ui-ink);padding:8px 12px}
html body .client-access-dialog .client-access-submit-inline[data-studio-ui-button]{flex:0 1 auto;min-width:0;border-radius:12px!important}
.client-access-dialog .client-photo-download-actions{gap:12px}
.client-resource-page .client-photo-actions{gap:12px;flex-wrap:wrap;align-items:center}
/* A quiet document surface above the dark canvas; native PDF action zones,
   permission dimming, focus and concentric 4px insets stay unchanged. */
.client-resource-page .client-resource-downloads{--client-resource-document-surface:var(--studio-ui-document-surface,#242424)}
html body .client-resource-page .client-resource-downloads :is(.client-resource-pdf-card,.client-resource-download-card){background:var(--client-resource-document-surface)!important}
html body .client-resource-page .client-resource-downloads a.client-resource-download-card:not([aria-disabled=true]):is(:hover,:focus-visible){background:color-mix(in srgb,var(--client-resource-document-surface) 92%,#fff)!important}
.client-resource-page .client-resource-texts header>div:not(.language-copy){display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.client-resource-page .client-resource-texts header>div>[data-studio-ui-button]{width:auto!important;flex:0 1 auto}
.client-resource-page .client-photo-sort{width:min(272px,100%);max-width:100%;margin-bottom:16px}
html body .client-resource-page .client-photo-sort[data-studio-ui-segmented][data-studio-ui-segmented][data-studio-ui-segmented]{gap:0!important}
.client-resource-page .client-photo-sort>span{left:var(--studio-ui-segmented-inset);top:var(--studio-ui-segmented-inset);bottom:var(--studio-ui-segmented-inset);width:calc((100% - 2 * var(--studio-ui-segmented-inset))/2);border-radius:999px;background:var(--studio-ui-segmented-active);box-shadow:none}
.client-resource-page .client-photo-sort>button{background:transparent}
/* A single in-page resource view; React nodes are hidden, never reparented. */
html body .client-resource-page>.client-resource-section-navigation{width:var(--client-width);max-width:100%;margin:24px auto 0}
.client-resource-page .client-resource-sections{display:flex;width:max-content;max-width:100%;margin:0;overflow:visible}
.client-resource-sections>button{flex:0 1 auto;white-space:nowrap;background:transparent;cursor:pointer}
.client-resource-sections .private-section-label-short{display:none}
html body .client-resource-page>[data-private-resource-panel]{box-sizing:border-box;margin-top:24px}
html body .client-resource-page>[data-private-resource-panel][hidden]{display:none!important}
.client-resource-page>[data-private-section-animating]{overflow:hidden;align-content:start}
/* Panels contain their own keyboard controls; never outline the whole block. */
.client-resource-page>[data-private-resource-panel]:focus{outline:none}
@media(max-width:600px){.client-resource-sections .private-section-label{display:none}.client-resource-sections .private-section-label-short{display:inline}}
/* Keep native keyboard focus. Do not suppress pointer focus globally. */
:is(.client-access-dialog,.client-resource-page) [data-studio-ui-button]:focus-visible{outline:2px solid #aaa;outline-offset:3px}
@media(pointer:coarse){:root{--studio-ui-control-size:16px;--studio-ui-segmented-height:52px;--studio-ui-segmented-option-height:44px}
 [data-studio-ui-button]:not(.studio-selection-list *){min-height:var(--studio-ui-touch-height)!important;border-radius:var(--studio-ui-control-radius-touch)!important}
 .client-access-dialog{background:var(--studio-ui-card-surface-phone)}
}
@media(max-width:420px){.client-access-dialog .client-access-email-control{flex-wrap:wrap}.client-access-dialog .client-access-email-control>input{flex-basis:100%;width:100%}html body .client-access-dialog .client-access-submit-inline[data-studio-ui-button]{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){[data-studio-ui-button]{transition:none!important}}

/* Public composition consumes Studio primitives; native overlays, title sizes,
   scrims, media, forms and navigation/+ remain unchanged. */
/* Public/private content and text dialogs share the title-leading token only.
   Keep calendar labels, editors and all native action/navigation text outside. */
html body :is(main#accueil,main.client-resource-page,.quote-dialog,.client-access-dialog,#cookie-preferences,.date-prototype-card) :is(h1,h2,h3):not(.site-header *,[contenteditable] *,[contenteditable],button *,a *,svg *,.date-prototype-month *){line-height:var(--studio-ui-title-line)!important}
:root{--studio-menu-padding:var(--studio-ui-segmented-inset);--studio-menu-gap:var(--studio-menu-padding)}
html body .hero-date-action[data-studio-ui-button]{--studio-ui-muted:var(--studio-ui-ink);margin-top:24px}
html body .hero-date-action[data-studio-ui-button]:focus-visible{outline:2px solid #aaa;outline-offset:3px}
html body .quote-choice-list[data-studio-ui-choice-menu]{flex:0 0 auto!important;padding:var(--studio-ui-segmented-inset)!important;border:1px solid var(--studio-menu-border,var(--menu-border,#363636))!important;border-radius:var(--studio-selection-outer-radius,17px)!important;background:var(--studio-ui-floating-surface)!important;margin-top:34px!important}
html body .quote-choice-list[data-studio-ui-choice-menu]>button{border-radius:calc(var(--studio-selection-outer-radius,17px) - 1px - var(--studio-ui-segmented-inset))!important}
html body .quote-choice-list[data-studio-ui-choice-menu]>button[aria-pressed=true]{background:var(--studio-ui-control-secondary)!important}
html body .quote-actions{gap:12px;flex-wrap:wrap}
html body .quote-actions>[data-studio-ui-button]{width:auto;min-width:100px}
html body .date-prototype-tabs[data-studio-ui-segmented][data-studio-ui-segmented][data-studio-ui-segmented]{gap:0!important}
html body .date-prototype-tabs[data-studio-ui-segmented]::before{left:var(--studio-ui-segmented-inset);top:var(--studio-ui-segmented-inset);bottom:var(--studio-ui-segmented-inset);width:calc((100% - 2 * var(--studio-ui-segmented-inset))/2);border-radius:999px;background:var(--studio-ui-segmented-active);box-shadow:none}
html body .date-prototype-tabs[data-studio-ui-segmented].is-multiple::before{transform:translateX(100%)}
html body .date-prototype-tabs[data-studio-ui-segmented]>button{opacity:1;color:var(--studio-ui-muted)}
html body .date-prototype-tabs[data-studio-ui-segmented]>button.is-active{color:var(--studio-ui-ink)}
html body :is(.quote-actions,.date-prototype-footer,#cookie-preferences) [data-studio-ui-button]:focus-visible{outline:2px solid #aaa;outline-offset:3px}
html body #cookie-preferences[data-surface=light]{--studio-ui-ink:#151515;--studio-ui-muted:#555;--studio-ui-control-primary:#151515;--studio-ui-control-primary-ink:#eee;--studio-ui-button-border:#0004}
html body #cookie-preferences[data-surface=light] [data-studio-ui-variant=primary]{--studio-command-hover:#303030}
@media(pointer:coarse){:root{--studio-ui-menu-row-height:44px;--studio-ui-menu-size:16px}}
@media(max-width:600px){html body .quote-choice-list[data-studio-ui-choice-menu]{margin-top:28px!important}}
/* The native dialog scrolls on short screens; do not compress choice rows
   underneath the validation text or the footer. Keep its transition track. */
@media(max-height:600px){html body .quote-dialog-inner{grid-template-rows:auto minmax(480px,1fr) auto}}

/* Active capsule contour: one inset paint on the native indicator, never on
   its outer track or again on the active button. Shared with the frozen sites. */
html body [data-studio-ui-segmented]:not([data-studio-ui-menu-segmented])>.studio-selection-indicator,
html body .client-photo-sort[data-studio-ui-segmented]:not([data-studio-ui-menu-segmented])>span,
html body :is(.design-compact-switch,.studio-tab-bar,.audience-map-switch,.date-prototype-tabs)[data-studio-ui-segmented]:not([data-studio-ui-menu-segmented])::before,
html body [data-studio-ui-segmented]:not([data-studio-ui-menu-segmented],[data-studio-selection-slide],.design-compact-switch,.studio-tab-bar,.audience-map-switch,.date-prototype-tabs,.client-photo-sort)>button:is([aria-pressed=true],[aria-selected=true],[data-active],[aria-expanded=true],.is-active){box-shadow:inset 0 0 0 1px var(--studio-ui-segmented-active-border,#444444)!important}
/* End active capsule contour. */

/* Intrinsic capsule labels: one shared horizontal gutter, never narrower on
   touch. Existing measured indicators follow each original option's width. */
html body [data-studio-ui-segmented]:not([data-studio-ui-menu-segmented])>button{padding-inline:16px!important}
html body .studio-tab-bar[data-studio-ui-segmented][data-studio-selection-slide]:not([data-studio-ui-menu-segmented]){--studio-selection-slide-duration:520ms;display:inline-flex!important;flex-wrap:nowrap;gap:0!important;width:max-content!important;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
html body .studio-tab-bar[data-studio-ui-segmented][data-studio-selection-slide]:not([data-studio-ui-menu-segmented])::before{content:none!important}
html body .studio-tab-bar[data-studio-ui-segmented][data-studio-selection-slide]:not([data-studio-ui-menu-segmented])>button{flex:0 0 auto!important;width:auto!important;min-width:0;white-space:nowrap!important;overflow-wrap:normal}
html body .design-control-sample:has(>.design-compact-switch-multiple[data-studio-ui-segmented]){grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%}
@media(max-width:350px){html body [data-studio-ui-segmented]:not([data-studio-ui-menu-segmented])>button{padding-inline:14px!important}}
/* End intrinsic capsule labels. */

/* Shared surface rims: one exterior edge, never a frame on an option or an
   inner transparent list. Export this block verbatim to the frozen site skin. */
:root{--studio-ui-surface-rim:var(--studio-ui-segmented-active-border,#444444);--studio-ui-surface-rim-light:rgba(0,0,0,.18);--studio-ui-document-rim:transparent}
/* Popup menus have no physical border. Keep their existing drop shadow and
   add only an inset hairline, without changing their dimensions or padding. */
html body :is([data-studio-dropdown=popup],[data-studio-dropdown=calendar])[data-studio-dropdown][data-studio-dropdown][data-studio-dropdown]{box-shadow:inset 0 0 0 1px var(--studio-dropdown-rim,#303030),var(--studio-dropdown-shadow)!important}
/* These real cards already own a border. Recolour that one border rather
   than adding another shadow, pseudo-element, inset or layout pixel. */
html body :is(.studio-header-card:not(:where(#studio-header-audience)),.studio-side-calendar-card,.studio-side-quick-card,
 .studio-record-sheet,.studio-document-history-card,.studio-leave-dialog,.studio-billing-dialog,
 .invoice-columns-dialog,.invoice-reminder-dialog,.date-composer-card:not(.calendar-composer-card),
 .location-composer-card,.date-composer-event-card,.studio-feedback-card:not([data-studio-ui-alert]),
 .studio-overview-card,.design-overlay-card,.design-quick-card,.created-card,.duplicate-card,.login-card,
 .studio-map-overlay,.studio-ui-framed,[data-studio-ui-table-card],.client-access-dialog){border-color:var(--studio-ui-surface-rim)!important}
html body :is(#access-confirm,#cookie-preferences){border-color:var(--studio-ui-surface-rim)!important}
/* The old private document-card skin deliberately hid its existing border.
   The new common rim replaces that exception on the outer container only. */
html body :is(.client-resource-pdf-card,.client-resource-download-card):is(.client-resource-pdf-card,.client-resource-download-card):is(.client-resource-pdf-card,.client-resource-download-card){border-color:var(--studio-ui-document-rim)!important}
html body :is(.studio-header-card,.studio-map-overlay){--studio-soft-rim:var(--studio-ui-surface-rim)}
html.studio-ipad-docked body dialog#studio-header-audience{border-color:var(--studio-ui-surface-rim)!important}
html body #cookie-preferences[data-surface=light]{--studio-ui-surface-rim:var(--studio-ui-surface-rim-light)}
html body #cookie-preferences[data-surface=dark]{--studio-ui-surface-rim:var(--studio-dropdown-rim,#303030)}
html body .client-access-dialog{--studio-ui-surface-rim:var(--studio-dropdown-rim,#303030)}
/* iPhone full-width sheets keep their native fading upper curve only.
   Audience's detached map card already owns a separate lower fading edge;
   its native expanded/attached state continues to hide that lower edge. */
@media(max-width:600px), (max-height:600px) and (hover:none) and (pointer:coarse){
 html:not(.studio-desktop-shell):not(.studio-ipad-docked) body dialog.studio-record-sheet::after{inset:0 0 auto;height:30px;box-sizing:border-box;border:1px solid var(--studio-ui-surface-rim);border-bottom:0;border-radius:inherit;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 2px,transparent 29px);mask-image:linear-gradient(to bottom,#000 0,#000 2px,transparent 29px)}
 html:not(.studio-desktop-shell):not(.studio-ipad-docked) body :is(#header-revenue .revenue-popover.studio-header-card,#header-flight .flight-popover.studio-header-card,dialog#studio-header-audience.studio-header-card,.studio-side-calendar-card.studio-header-card,.studio-side-quick-card.studio-header-card,.studio-page-sheet.studio-header-card)::after{border-color:var(--studio-ui-surface-rim)}
 html body #cookie-preferences::after{border-color:var(--studio-ui-surface-rim)}
}
/* Dates and Lieu use their own bottom-attached composer at this breakpoint.
   Its existing one-pixel top reserve stays in layout; only its paint moves
   to a non-interactive fading edge. Do not touch the inline page calendar. */
@media(max-width:600px){
 html body :is(.date-composer-card.date-selection-composer,.location-composer-card){position:relative;border-color:transparent!important}
 html body :is(.date-composer-card.date-selection-composer,.location-composer-card)::after{content:'';position:absolute;z-index:5;inset:0 0 auto;height:30px;box-sizing:border-box;border:1px solid var(--studio-ui-surface-rim);border-bottom:0;border-radius:28px 28px 0 0;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 2px,transparent 29px);mask-image:linear-gradient(to bottom,#000 0,#000 2px,transparent 29px)}
}
/* Retain system high-contrast edges without changing native focus outlines. */
@media(forced-colors:active){
 :root{--studio-ui-document-rim:CanvasText}
 html body :is([data-studio-dropdown=popup],[data-studio-dropdown=calendar])[data-studio-dropdown][data-studio-dropdown][data-studio-dropdown]{outline:1px solid CanvasText;outline-offset:-1px}
}
/* End shared surface rims. */

/* Private document card reveal: the native card is the only entrance layer.
   Reuse the published language-copy keyframes; no React nodes or events change. */
html body .client-resource-page .client-resource-downloads > :is(.client-resource-pdf-card,.client-resource-download-card){animation:language-copy-reveal .6s both}
html body .client-resource-page .client-resource-downloads > :is(.client-resource-pdf-card,.client-resource-download-card) .language-copy{animation:none!important;opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html body .client-resource-page .client-resource-downloads > :is(.client-resource-pdf-card,.client-resource-download-card){animation:none!important}}
/* End private document card reveal. */

/* BEGIN studio-pill-type-20261023
   A command-local size: text fields, menu rows and segmented labels keep their
   own typography. Fine-pointer compact commands retain their native 13px. */
html body [data-studio-ui-button][data-studio-ui-button]:not([data-studio-ui-embedded-action],[data-studio-ui-native],.studio-icon-button,.action-icon,.delete-icon,.studio-selection-list *,[data-studio-ui-menu] *,[data-studio-ui-segmented] *,.design-search-tools *,.studio-field-actions *,.client-access-submit-inline){--studio-ui-control-size:var(--studio-ui-command-size,13px)}
@media(pointer:coarse){html body [data-studio-ui-button][data-studio-ui-button]:not([data-studio-ui-embedded-action],[data-studio-ui-native],.studio-icon-button,.action-icon,.delete-icon,.studio-selection-list *,[data-studio-ui-menu] *,[data-studio-ui-segmented] *,.design-search-tools *,.studio-field-actions *,.client-access-submit-inline){--studio-ui-control-size:var(--studio-ui-command-touch-size,15px)}}
/* END studio-pill-type-20261023 */

/* BEGIN surface-profile-private-20261024
   Only the account card and the gallery backdrop consume these materials.
   Documentary tiles, PDF surfaces, photo pixels and foreground stay native. */
html:has(body>main#accueil),html:has(body>header.client-private-header){--studio-ui-gallery-scrim-surface:rgba(3,3,3,.888);--studio-ui-gallery-scrim-blur:23.5px}
html:has(body>main#accueil){--studio-ui-card-surface:rgba(16,16,16,.909);--studio-ui-card-surface-phone:rgba(16,16,16,.909);--studio-ui-card-blur:16.5px}
html:has(body>header.client-private-header){--studio-ui-card-surface:rgba(44,44,44,.923);--studio-ui-card-surface-phone:rgba(44,44,44,.923);--studio-ui-card-blur:11px}
html:is([data-studio-surface-device=phone],[data-studio-surface-device=tablet]):has(body>header.client-private-header){--studio-ui-card-surface:rgba(13,13,13,.923);--studio-ui-card-surface-phone:rgba(13,13,13,.923)}
@media(forced-colors:active){html body :is(.client-access-dialog,.client-photo-preview-overlay){background:Canvas!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
/* END surface-profile-private-20261024 */
/* BEGIN surface-profile-project-20261024
   This is the public form's native backdrop, never the questions or fields. */
html:has(body>main#accueil){--studio-public-project-surface:rgba(7,7,7,.868);--studio-public-project-blur:19px}
html body .quote-modal-root{background:var(--studio-public-project-surface);-webkit-backdrop-filter:blur(var(--studio-public-project-blur));backdrop-filter:blur(var(--studio-public-project-blur))}
@media(forced-colors:active){html body .quote-modal-root{background:Canvas!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
/* END surface-profile-project-20261024 */
