@font-face{font-family:Manrope;src:url('/assets/manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-latin-ext.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* The display panel is the reference: cool light, graphite, fine divisions. */
@layer tokens, base, layout, components, responsive, preferences;
@layer tokens {
  :root{--paper:#f5f7f8;--ice:#e5eef2;--ink:#20292e;--muted:#53636c;--line:#c4ced3;--dark:#1d272d;--sans:Manrope,Arial,sans-serif;--space:clamp(24px,4cqi,72px);--page-max:1680px;--timing:180ms ease}
}
@layer base {
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset,104px)}
  body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
  h1,h2,h3,p,figure,dl,dd{margin:0}
  h1,h2,h3{font-weight:400;line-height:1.14;letter-spacing:-.035em}
  h1{font-size:clamp(2.5rem,4.35cqi,4.6rem);font-weight:350;line-height:1.08}
  h2{font-size:clamp(2rem,3.5cqi,3.5rem);font-weight:350}
  h3{font-size:1.6rem}
  h1,h2,h3,p,dd,li{overflow-wrap:break-word}
  h1,h2,h3{hyphens:auto}
  a{color:inherit;text-decoration:none}
  button,input,textarea,select{font:inherit}
  button{cursor:pointer;color:inherit;background:none;border:0;padding:0}
  button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  img{display:block;width:100%;height:auto}
  [hidden]{display:none!important}
  :focus-visible{outline:2px solid #315f7a;outline-offset:5px}
  .skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px 18px;background:var(--ink);color:white;transform:translateY(-180%)}
  .skip-link:focus{transform:none}
}
@layer layout {
  .site-shell{container:page / inline-size;max-width:var(--page-max);margin-inline:auto;background:var(--paper)}
  .wrap{padding-inline:var(--space)}
  .header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
  .nav-bar{display:flex;align-items:center;gap:26px;min-height:90px;padding-block:14px}
  .hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-template-rows:auto 1fr;grid-template-areas:'heading image' 'info image';border-bottom:1px solid var(--line)}
  .hero-heading{grid-area:heading;padding:56px var(--space) 0}
  .hero-info{grid-area:info;padding:26px var(--space) 35px}
  .hero-figure{grid-area:image;display:flex;flex-direction:column;border-left:1px solid var(--line);min-width:0}
  .service-strip{padding-block:28px 32px;display:grid;grid-template-columns:1fr 3fr;gap:40px;border-bottom:1px solid var(--line)}
  .service-strip dl{display:grid;grid-template-columns:1fr 1.15fr;gap:40px}
  .assortment,.locations{padding-block:88px}
  .section-heading{display:grid;grid-template-columns:1fr 3fr;gap:40px;align-items:start}
  .collection{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:7cqi;margin-top:44px;align-items:start}
  .experience{background:var(--dark);color:var(--paper);padding-block:72px 64px}
  .experience-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:20px 6cqi}
  .experience-heading .section-index{grid-column:1/-1}
  .experience-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:6cqi;margin-top:40px;align-items:start}
  .location-gallery{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:5cqi;margin-top:46px}
  .partnership{background:var(--ice);padding-block:62px 72px;border-top:1px solid var(--line)}
  .partnership-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:7cqi;margin-top:28px}
  .faq{padding-block:70px 58px;border-bottom:1px solid var(--line)}
  .faq-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8cqi;align-items:start}
  .footer{padding-block:38px 22px}
}
@layer components {
  .brand{display:inline-flex;flex-direction:column;align-items:flex-start;flex-shrink:0;max-width:100%}
  .wordmark{font-size:1.55rem;font-weight:300;letter-spacing:.105em;line-height:1.3}
  .brand-descriptor{font-size:.65rem;letter-spacing:.08em;color:var(--muted);margin-top:8px}
  .desktop-nav{display:flex;gap:24px;margin-left:auto;font-size:.8125rem}
  .desktop-nav a{position:relative;padding-block:14px}
  .desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--timing)}
  .desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform:scaleX(1)}
  .nav-contact{font-size:.8125rem;border-bottom:1px solid var(--ink);min-height:44px;padding-inline:2px;white-space:nowrap}
  .language-switch{display:flex;flex-shrink:0;align-self:center;gap:0}
  .language-switch button{min-width:44px;min-height:44px;font-size:.75rem;line-height:1;color:var(--muted);border:1px solid transparent}
  .language-switch button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}
  .language-switch button:hover{background:var(--ice)}
  .menu-toggle{display:none;min-width:44px;min-height:44px}
  .menu-symbol{display:grid;gap:6px;width:20px}
  .menu-symbol i{display:block;width:20px;height:1px;background:currentColor;transition:transform var(--timing)}
  .menu-toggle[aria-expanded=true] .menu-symbol i:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-symbol i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-nav{padding-block:15px 24px;border-top:1px solid var(--line)}
  .mobile-nav a,.mobile-nav button{display:block;text-align:left;width:100%;font-size:1.125rem;padding:12px 0;border-bottom:1px solid var(--line)}
  .eyebrow,.section-index,.label{font-size:.6875rem;line-height:1.55;text-transform:uppercase;letter-spacing:.12em;font-weight:500}
  .section-index{display:flex;gap:22px;padding-top:9px}
  .section-index>span:first-child{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}
  .hero h1{margin-top:28px}
  .hero h1>span{display:inline-block;max-width:100%;vertical-align:top}
  .hero-last{color:#486371}
  .hero-description{font-size:.9375rem;line-height:1.8;max-width:380px;color:var(--muted)}
  .hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:24px}
  .button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:15px 20px;min-height:54px;border:1px solid var(--ink);font-size:.875rem;line-height:1.5;text-align:left;transition:background var(--timing),color var(--timing);max-width:100%}
  .button-dark{background:var(--ink);color:var(--paper)}
  .button-dark:hover{background:#385160;border-color:#385160}
  .button>span[aria-hidden]{font-size:1.15rem;line-height:1;flex-shrink:0;transition:transform var(--timing)}
  .button:hover>span[aria-hidden]{transform:translate(2px,-2px)}
  .text-link{display:inline-flex;align-items:center;gap:16px;font-size:.8125rem;line-height:1.6;min-height:44px;border-bottom:1px solid var(--line);text-align:left}
  .text-link:hover{border-color:currentColor}
  .hero-audiences{font-size:.6875rem;letter-spacing:.025em;color:var(--muted);margin-top:26px}
  .photo-trigger{display:block;position:relative;width:100%;cursor:zoom-in;text-align:left}
  .hero-image-frame{flex:1;min-height:500px;overflow:hidden}
  .hero-image-frame img{height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 52%}
  .photo-corner{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:38px;height:38px;background:var(--paper);color:var(--ink);font-size:1.25rem;transition:background var(--timing)}
  .photo-trigger:hover .photo-corner{background:var(--ice)}
  figcaption{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.6875rem;line-height:1.65;color:var(--muted);margin-top:12px}
  .hero-figure figcaption{min-height:52px;margin:0;padding:4px 22px;border-top:1px solid var(--line)}
  .hero-figure .label{font-size:.625rem;letter-spacing:.06em}
  .photo-link{font-size:.6875rem;min-height:44px;display:inline-flex;align-items:center;gap:15px}
  .photo-link:hover{text-decoration:underline;text-underline-offset:5px}
  .service-strip h2{padding-top:4px;color:var(--muted)}
  .service-strip dt{font-size:.75rem;color:var(--muted);margin-bottom:8px}
  .service-strip dd{font-size:1rem;line-height:1.65;max-width:400px}
  .section-heading h2{max-width:800px}
  .section-heading>div>p{max-width:620px;margin-top:20px;color:var(--muted)}
  .collection-photo img{aspect-ratio:1.85;object-fit:cover;object-position:center top}
  .selection-entry{padding-block:20px 23px;border-top:1px solid var(--line)}
  .entry-heading{display:flex;align-items:baseline;gap:20px}
  .entry-number{font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--muted);width:20px;flex-shrink:0}
  .entry-heading h3{font-size:1.75rem;font-weight:350;min-width:0}
  .selection-entry .entry-tastes{font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin-top:11px}
  .selection-entry>p{margin-top:10px;margin-left:40px;font-size:.875rem;line-height:1.75;max-width:460px;color:var(--muted)}
  .category-context{font-size:.75rem;color:var(--muted);line-height:1.7;padding-top:19px;border-top:1px solid var(--line)}
  .selection-endnote{display:grid;grid-template-columns:1fr 3fr;gap:40px;border-top:1px solid var(--line);margin-top:40px;padding-top:25px}
  .selection-endnote>.eyebrow{padding-top:4px}
  .selection-endnote>p:last-child{max-width:650px;font-size:.875rem;color:var(--muted)}
  .experience .section-index{color:#cbd6dc}
  .experience .section-index>span:first-child{color:#aebfc9}
  .experience-description{max-width:520px;font-size:.9375rem;line-height:1.8;color:#b9c9d2;padding-top:6px}
  .experience h2{font-size:clamp(2rem,3.15cqi,3.2rem);max-width:540px}
  .steps{border-top:1px solid #627581}
  .step{border-bottom:1px solid #627581;transition:background var(--timing),color var(--timing)}
  .step summary{display:grid;grid-template-columns:30px minmax(0,1fr) 16px;gap:16px;align-items:center;list-style:none;cursor:pointer;padding:24px 20px;font-size:1.125rem;line-height:1.5}
  .step summary::-webkit-details-marker{display:none}
  .step summary:hover{background:#ffffff08}
  .step-number{font-size:.75rem;font-variant-numeric:tabular-nums;color:#bdcbd3}
  .step[open]{background:var(--ice);color:var(--ink)}
  .step[open] .step-number{color:var(--muted)}
  .step>p{padding:0 35px 24px 66px;font-size:.9375rem;line-height:1.75;max-width:450px;color:var(--muted)}
  .step :focus-visible{outline-color:#92bccf;outline-offset:-5px}
  .step[open] summary:focus-visible{outline-color:#315f7a}
  .experience .photo-trigger:focus-visible{outline-color:#a8c5d6;outline-offset:4px}
  .disclosure-mark{position:relative;width:14px;height:14px}
  .disclosure-mark::before,.disclosure-mark::after{content:'';position:absolute;background:currentColor;left:0;top:6px;width:14px;height:1px}
  .disclosure-mark::after{transform:rotate(90deg);transition:transform var(--timing)}
  .step[open] .disclosure-mark::after{transform:rotate(0)}
  .hardware-note{color:#b9c9d2;font-size:.6875rem;padding:23px 0}
  .experience-photo{background:#11191e;padding:14px;border:1px solid #516471}
  .experience-photo .photo-trigger{overflow:hidden}
  .experience-photo img{aspect-ratio:1.4;object-fit:cover;object-position:center 40%}
  .experience-photo[data-detail="0"] img{transform:scale(2.2);transform-origin:30% 35%;object-position:50% 45%}
  .experience-photo[data-detail="1"] img{transform:scale(1.5);transform-origin:50% 65%;object-position:50% 55%}
  .experience-photo img.full-vitrine{object-fit:contain;background:#11191e}
  .experience-photo figcaption{margin:12px 3px 0;color:#c5d5df;min-height:24px}
  .experience-photo .label{font-size:.625rem;letter-spacing:.08em}
  .step-count{font-size:.6875rem;font-variant-numeric:tabular-nums}
  .location-club{padding-top:90px}
  .location-card img{aspect-ratio:1.22;object-fit:cover}
  .location-practice img{object-position:44% center}
  .location-club img{aspect-ratio:1.07;object-position:65% center}
  .location-card figcaption{padding-bottom:18px;border-bottom:1px solid var(--line)}
  .location-card h3{margin-top:22px;font-size:1.7rem;font-weight:350}
  .location-card>p{font-size:.9375rem;color:var(--muted);margin-top:12px;max-width:420px}
  .location-note{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:44px;padding-top:20px;border-top:1px solid var(--line)}
  .location-note>p{font-size:.75rem;max-width:690px;color:var(--muted)}
  .location-note .text-link{flex-shrink:0}
  .partnership-copy>p{max-width:470px;color:var(--muted);margin-top:24px;font-size:.9375rem}
  .partnership-copy .button{margin-top:28px;min-width:265px}
  .partnership-questions{display:flex;width:fit-content;margin-top:14px}
  .practical{min-width:0}
  .practical>.eyebrow{margin-bottom:16px}
  .practical-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .practical-facts>div{padding:17px 0 22px;border-top:1px solid #a6bac5}
  .practical-facts dt{font-size:.6875rem;line-height:1.6;color:var(--muted);margin-bottom:9px}
  .practical-facts dd{font-size:clamp(1.125rem,1.55cqi,1.5rem);font-weight:400;letter-spacing:-.025em;line-height:1.4}
  .practical-facts small{display:block;font-size:.75rem;font-weight:400;letter-spacing:0;line-height:1.7;color:var(--muted);margin-top:8px;max-width:240px}
  .partnership-service{font-size:.8125rem;line-height:1.8;color:var(--muted);padding-top:17px;border-top:1px solid #a6bac5}
  .selection-faq{margin-top:11px}
  .experience-faq{color:#c5d5df;border-color:#627581}
  .experience-faq:focus-visible{outline-color:#a8c5d6}
  .faq-intro{position:sticky;top:var(--header-offset,104px);min-width:0}
  .faq-intro .section-index{margin-bottom:22px;padding-top:0}
  .faq-intro h2{font-size:clamp(1.9rem,2.65cqi,2.6rem);line-height:1.2;max-width:360px}
  .faq-description{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:20px;max-width:310px}
  .faq-topics{margin-top:28px;display:grid;border-top:1px solid var(--line)}
  .faq-topics a{display:flex;align-items:baseline;gap:16px;padding-block:12px;font-size:.75rem;line-height:1.7;min-height:46px;border-bottom:1px solid var(--line)}
  .faq-topics a>span:first-child{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.625rem}
  .faq-topics a:hover{color:#315f7a}
  .faq-content{min-width:0}
  .faq-group+.faq-group{margin-top:42px}
  .faq-group h3{display:flex;align-items:baseline;gap:18px;font-size:.75rem;font-weight:500;line-height:1.6;letter-spacing:.035em;padding-bottom:16px;border-bottom:1px solid var(--ink)}
  .faq-group h3>span:first-child{font-size:.625rem;font-variant-numeric:tabular-nums;color:var(--muted)}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-item summary{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:20px 2px;min-height:64px;list-style:none;cursor:pointer;font-size:1.0625rem;line-height:1.6;letter-spacing:-.015em}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary>span:first-child{min-width:0;overflow-wrap:break-word}
  .faq-item summary:hover{color:#315f7a}
  .faq-item summary:focus-visible{outline-offset:3px}
  .faq-chevron{width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-3px) rotate(45deg);flex:0 0 8px;margin-right:5px}
  .faq-item[open] .faq-chevron{transform:translateY(1px) rotate(225deg)}
  .faq-answer{padding:0 36px 23px 2px;max-width:680px;font-size:.9375rem;line-height:1.85;color:var(--muted)}
  .faq-answer p+p{margin-top:14px}
  .faq-closing{margin-top:52px;padding-top:30px;border-top:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:32px}
  .faq-closing h3{font-size:1.6rem;line-height:1.3;font-weight:350}
  .faq-closing p{font-size:.8125rem;color:var(--muted);margin-top:10px}
  .faq-closing .button{flex-shrink:0}
  .footer-top{display:flex;align-items:start;gap:40px}
  .footer nav{display:flex;gap:24px;font-size:.75rem;margin-left:auto;padding-top:6px}
  .footer nav a,.back-top{min-height:44px}
  .back-top{font-size:.75rem;padding-top:6px}
  .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);margin-top:32px;padding-top:14px;font-size:.6875rem;color:var(--muted)}
  .footer-bottom>div{display:flex;gap:26px}
  .footer-bottom button{font-size:.75rem;min-height:44px}
  dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:600px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:30px;overflow-y:auto;overscroll-behavior:contain}
  dialog::backdrop{background:#142129de}
  body:has(dialog[open]){overflow:hidden}
  .dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
  .dialog-heading .language-switch{margin-left:auto}
  .dialog-close{font-size:1.875rem;font-weight:300;min-width:44px;min-height:44px;line-height:1;margin-right:-8px}
  dialog h2{font-size:2.5rem;font-weight:350}
  .dialog-intro{margin-top:16px;color:var(--muted);font-size:.9375rem}
  .preview-notice{font-size:.8125rem;background:var(--ice);border-left:2px solid #526e7e;padding:14px 16px;margin-block:20px 24px;line-height:1.75}
  form{display:grid;gap:17px}
  form label{font-size:.8125rem}
  form label>span{color:var(--muted)}
  input,textarea{display:block;width:100%;border:1px solid #7b8c97;background:transparent;border-radius:0;padding:11px 12px;margin-top:7px;font-size:1rem;color:var(--ink)}
  input::placeholder{font-size:.8125rem;color:var(--muted)}
  textarea{resize:vertical}
  form>.button{margin-top:5px;justify-self:start}
  .result-heading{font-size:1.4rem;margin-block:20px 12px}
  #enquiry-result>p{font-size:.875rem;color:var(--muted)}
  pre{font:.8125rem/1.75 var(--sans);padding:18px;background:var(--ice);white-space:pre-wrap;overflow-wrap:anywhere}
  .result-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
  .legal-dialog>p{margin-block:22px 8px;line-height:1.8;white-space:pre-line}
  .photo-dialog{width:1040px}
  .photo-dialog h2{font-size:1rem;font-weight:500;letter-spacing:0;line-height:1.5}
  .photo-dialog>img{width:100%;height:auto;max-height:calc(100dvh - 240px);object-fit:contain}
  .photo-note{font-size:.75rem;color:var(--muted);margin-top:18px;line-height:1.7}
  .nojs-notice{padding-block:25px;font-size:.875rem;border-top:1px solid var(--line)}
  .nojs-notice h2{font-size:1.5rem;margin-block:25px 15px}
  .nojs-imprint{white-space:pre-line;margin-bottom:22px}
}
@layer responsive {
  @container page (max-width:1200px){
    .nav-bar{gap:16px}.wordmark{font-size:1.3rem}.desktop-nav{gap:18px}.nav-contact{font-size:.75rem}
    .hero-heading{padding-top:42px}.hero-info{padding-top:24px}.hero-image-frame{min-height:480px}
    .faq-layout{gap:6cqi}
  }
  @container page (max-width:1000px){
    .desktop-nav{display:none}.nav-contact{margin-left:auto}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:12px}
    .menu-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero h1{font-size:clamp(2.5rem,5.2cqi,3.2rem)}
    .hero-heading{padding-top:36px}.hero-info{padding-top:20px}.hero-description{font-size:.875rem}.hero-audiences{margin-top:22px}
    .hero-figure figcaption{padding-inline:15px;gap:6px;flex-wrap:wrap}.hero-figure .label{font-size:.5625rem}.photo-link{font-size:.625rem}
    .service-strip,.section-heading,.selection-endnote{grid-template-columns:1fr 2.7fr;gap:28px}.service-strip dl{gap:25px}.service-strip dd{font-size:.875rem}
    .assortment,.locations{padding-block:62px}.collection{gap:5cqi}.entry-heading h3{font-size:1.5rem}.entry-heading{gap:12px}.selection-entry>p{margin-left:32px}
    .experience-heading,.experience-grid{gap:24px 4cqi}.step summary{font-size:1rem;padding-inline:15px;gap:10px}.step>p{padding-left:55px;padding-right:20px;font-size:.875rem}
    .experience-photo img{aspect-ratio:1}.location-club{padding-top:60px}.location-card h3{font-size:1.5rem}.location-note{gap:25px}.footer-top{flex-wrap:wrap;gap:28px}.footer nav{gap:20px}
    .practical-facts{column-gap:20px}.partnership-grid{gap:5cqi}.faq{padding-block:52px}.faq-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:5cqi}.faq-item summary{font-size:1rem}.faq-answer{padding-right:22px;font-size:.875rem}.faq-intro h2{font-size:1.85rem}.faq-topics a{gap:10px}
  }
  @container page (max-width:700px){
    .wrap{--space:24px}.nav-bar{min-height:74px;padding-block:12px;gap:6px;flex-wrap:wrap}
    .nav-bar>.brand{min-width:0;flex-shrink:1;margin-right:auto}.nav-bar .wordmark{font-size:1.05rem;letter-spacing:.065em}
    .brand-descriptor{font-size:.5625rem;margin-top:5px;letter-spacing:.045em}.nav-contact{display:none}.language-switch button{font-size:.6875rem}
    .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'image' 'info';grid-template-rows:auto;}
    .hero-heading{padding:28px 24px 26px}.hero h1{font-size:clamp(2.15rem,9.5cqi,3.75rem);line-height:1.08;margin-top:18px}
    .hero h1 br:first-of-type{display:none}
    .hero-figure{border:0;margin:0 24px}.hero-image-frame{min-height:0;flex:none;aspect-ratio:1.2}.hero-image-frame img{position:static;aspect-ratio:1.2;height:auto;object-fit:cover}
    .hero-figure figcaption{min-height:43px;padding:3px 0;flex-wrap:nowrap}.hero-figure .label{font-size:.5625rem;letter-spacing:.03em}.photo-link{font-size:.625rem;gap:8px;min-height:40px}
    .photo-corner{width:32px;height:32px;bottom:12px;right:12px;font-size:1.125rem}
    .hero-info{padding:18px 24px 28px}.hero-description{max-width:530px;font-size:.9375rem;line-height:1.75}.hero-actions{margin-top:21px;gap:9px;flex-direction:row;align-items:center;flex-wrap:wrap;column-gap:24px}
    .hero-audiences{font-size:.625rem;line-height:1.7;margin-top:20px}.button{font-size:.8125rem;gap:28px;padding:14px 17px;min-height:52px}.text-link{font-size:.8125rem}
    .service-strip{display:block;padding-block:25px 28px}.service-strip dl{display:block;margin-top:18px}.service-strip dl>div{display:grid;grid-template-columns:83px minmax(0,1fr);gap:20px}.service-strip dl>div+div{margin-top:17px}.service-strip dt{font-size:.6875rem;margin:3px 0 0}.service-strip dd{font-size:.875rem;max-width:none}
    .section-heading{display:block}.section-index{font-size:.625rem;padding:0;margin-bottom:22px;gap:18px}.section-heading>div>p{font-size:.9375rem;margin-top:18px}.assortment,.locations{padding-block:42px 46px}h2{font-size:2.1rem;line-height:1.16}
    .collection{display:flex;flex-direction:column;gap:28px;margin-top:28px}.collection-photo{width:100%}.collection-photo img{aspect-ratio:1.85}.collection-photo figcaption{margin-top:10px;font-size:.625rem}.selection-catalogue{width:100%}.selection-entry{padding-block:18px 22px}.entry-heading h3{font-size:1.55rem}.entry-heading{gap:16px}.selection-entry>p{margin-left:36px;max-width:none}.selection-entry .entry-tastes{font-size:.625rem;margin-top:12px}.category-context{font-size:.75rem}.selection-endnote{display:block;margin-top:27px;padding-top:20px}.selection-endnote>p:last-child{margin-top:12px}
    .experience{padding-block:39px 38px}.experience-heading{display:block}.experience h2{font-size:2.1rem}.experience-description{font-size:.9375rem;padding:0;margin-top:20px}.experience-grid{display:flex;flex-direction:column;gap:22px;margin-top:26px}.steps,.experience-photo{width:100%;min-width:0}.step summary{padding:20px 16px;font-size:1rem;gap:12px;grid-template-columns:24px minmax(0,1fr) 14px}.step>p{padding:0 25px 22px 52px;font-size:.875rem}.hardware-note{padding:17px 0 0;font-size:.625rem}.experience-photo{padding:10px}.experience-photo img{aspect-ratio:1.2}.experience-photo figcaption{margin-top:11px;gap:8px}.experience-photo .label{font-size:.5625rem}.step-count{font-size:.625rem}
    .location-gallery{display:block;margin-top:28px}.location-club{padding-top:36px}.location-card img{aspect-ratio:1.35}.location-card h3{font-size:1.55rem;margin-top:18px}.location-card>p{font-size:.875rem;max-width:none}.location-card figcaption{font-size:.625rem;padding-bottom:15px}.location-note{display:block;margin-top:27px;padding-top:17px}.location-note>p{font-size:.75rem}.location-note .text-link{margin-top:12px}
    .partnership{padding-block:37px 38px}.partnership-grid{display:block;margin-top:0}.partnership-copy>p{font-size:.9375rem;margin-top:20px}.partnership-copy .button{min-width:250px;margin-top:24px}.practical{margin-top:30px}.practical-facts{column-gap:24px}.practical-facts dd{font-size:1.125rem}.practical-facts small{font-size:.6875rem}.practical-facts>div{padding-bottom:19px}.partnership-service{font-size:.8125rem}
    .faq{padding-block:39px 38px}.faq-layout{display:block}.faq-intro{position:static}.faq-intro h2{font-size:2.1rem;max-width:100%}.faq-intro .section-index{margin-bottom:22px}.faq-description{max-width:440px;margin-top:17px}.faq-topics{margin-top:23px}.faq-topics a{font-size:.8125rem;min-height:46px;gap:18px;padding-block:11px}.faq-content{margin-top:34px}.faq-group+.faq-group{margin-top:32px}.faq-group h3{font-size:.6875rem;padding-bottom:14px}.faq-item summary{font-size:1rem;padding-block:18px;gap:20px;line-height:1.6;min-height:62px}.faq-answer{font-size:.875rem;line-height:1.85;padding:0 18px 21px 2px}.faq-closing{display:block;margin-top:35px;padding-top:25px}.faq-closing h3{font-size:1.5rem}.faq-closing p{font-size:.8125rem;max-width:400px}.faq-closing .button{margin-top:20px}.experience-faq{margin-top:12px}
    .footer{padding-block:29px 18px}.footer-top{display:block}.footer .wordmark{font-size:1.3rem}.footer .brand-descriptor{font-size:.625rem}.footer nav{margin:20px 0 0;flex-wrap:wrap;gap:8px 23px}.footer nav a{display:inline-flex;align-items:center}.back-top{display:inline-flex;align-items:center;font-size:.6875rem;padding:0;margin-top:5px}.footer-bottom{gap:12px;margin-top:18px;padding-top:16px}.footer-bottom>div{gap:28px}.footer-bottom button{font-size:.6875rem}
  }
  @container page (max-width:360px){
    .wrap{--space:20px}.nav-bar{gap:2px}.nav-bar .wordmark{font-size:.94rem;letter-spacing:.03em}.nav-bar .brand-descriptor{font-size:.5rem;letter-spacing:0}.hero-heading{padding:26px 20px 24px}.hero-figure{margin-inline:20px}.hero-info{padding-inline:20px}.hero h1{font-size:2.05rem}.hero-figure figcaption{flex-wrap:wrap;gap:0}.hero-figure .label{font-size:.55rem}.hero-description{font-size:.875rem}.hero-actions{gap:6px}.hero-actions .button{width:100%}.service-strip dl>div{grid-template-columns:68px minmax(0,1fr);gap:16px}.practical-facts{column-gap:16px}.practical-facts dd{font-size:1rem}.partnership-copy .button{min-width:0;width:100%}.photo-link{margin-left:auto}
  }
  @media(min-width:701px){body.mobile-preview{background:#d9e0e4}.mobile-preview .site-shell{width:430px;max-width:100%;margin:28px auto;box-shadow:0 8px 50px #172f421a}}
  @media(min-width:851px){body.tablet-preview{background:#d9e0e4}.tablet-preview .site-shell{width:820px;max-width:100%;margin:28px auto;box-shadow:0 8px 50px #172f421a}}
  @media(max-width:700px){dialog{padding:22px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}dialog h2{font-size:2rem}.dialog-heading{gap:6px}.dialog-heading>.eyebrow{font-size:.6rem}.preview-notice{font-size:.75rem;padding:12px}.photo-dialog>img{max-height:calc(100dvh - 240px)}}
}
/* V06: four readable applications, connected by ordinary sales fragments. */
@layer components {
  .hero-audiences{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:18px;font-size:.75rem;letter-spacing:0}
  .hero-audiences a{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}
  .hero-audiences a>span[aria-hidden]{display:none}
  .hero-audiences a:hover{border-color:var(--ink);color:var(--ink)}
  .service-funding{grid-column:2;font-size:.8125rem;color:var(--muted);max-width:700px}
  .service-strip{row-gap:14px}.service-strip h2{grid-row:1/3}
  .selection-price{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}
  .selection-price>p:first-child{font-size:1.65rem;letter-spacing:-.035em;line-height:1.3}
  .selection-price>p+p{font-size:.8125rem;color:var(--muted);margin-top:10px;max-width:380px}
  .selection-endnote>div{max-width:710px;font-size:.875rem;color:var(--muted)}
  .selection-endnote .text-link{margin-top:12px;color:var(--ink)}
  .locations-model{font-size:.8125rem!important;max-width:680px!important}
  .locations-model a{display:inline-block;min-height:34px;text-decoration:underline;text-underline-offset:4px}
  .audience-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;border-block:1px solid var(--ink);margin-top:36px}
  .audience-index a{display:flex;align-items:center;gap:18px;padding-block:16px;font-size:.9375rem;min-width:0}
  .audience-index a>span:first-child{font-size:.625rem;color:var(--muted)}
  .audience-index a>span:last-child{margin-left:auto;font-size:.875rem}
  .audience-index a:hover,.audience-index a[aria-current]{color:#315f7a}
  .audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:66px 5cqi;margin-top:40px}
  .audience-article{min-width:0;scroll-margin-top:16px}
  .audience-heading{min-height:178px;padding-bottom:24px}
  .audience-heading .eyebrow{color:var(--muted);margin-bottom:14px}
  .audience-heading h3{font-size:clamp(1.55rem,2.4cqi,2.4rem);font-weight:350;line-height:1.18}
  .audience-use{font-size:.9375rem;line-height:1.8;max-width:570px;margin-top:16px;color:var(--muted)}
  .audience-photo img{aspect-ratio:1.5;object-fit:cover}
  .audience-photo figcaption{padding-bottom:15px;border-bottom:1px solid var(--line)}
  .audience-detail{padding-top:20px;font-size:.875rem;line-height:1.85;color:var(--muted)}
  .audience-selection{margin-top:18px;max-width:560px}
  .audience-selection strong{display:block;font-size:.6875rem;letter-spacing:.035em;font-weight:500;color:var(--ink);margin-bottom:6px}
  .audience-actions{display:flex;align-items:flex-start;flex-direction:column;gap:6px;margin-top:16px;color:var(--ink)}
  .audience-actions .text-link{font-size:.875rem;border-color:var(--ink)}
  .audience-faq{display:inline-flex;align-items:center;gap:16px;font-size:.75rem;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}
  .audience-faq:hover{text-decoration-color:currentColor}
  .room-preview{display:grid;grid-template-columns:1.2fr 1fr;gap:5cqi;border-block:1px solid var(--line);margin-top:32px;padding-block:30px;align-items:center}
  .room-preview h3{font-size:1.8rem;line-height:1.25}
  .room-preview p{font-size:.875rem;line-height:1.8;color:var(--muted);max-width:600px;margin-top:14px}
  .room-preview>div:last-child{justify-self:end}.room-preview>div:last-child>p{font-size:.75rem}
  .other-location{font-size:.8125rem;color:var(--muted);margin-top:20px}.other-location .text-link{margin-left:16px;color:var(--ink)}
  .partnership-copy .footfall-guide{font-size:.8125rem;line-height:1.85;padding-top:18px;border-top:1px solid #a6bac5}
  .contact-dialog{width:690px}
  .contact-dialog .dialog-heading{position:sticky;top:-30px;background:var(--paper);z-index:2;padding-block:8px;border-bottom:1px solid var(--line)}
  .contact-dialog:has(#enquiry-result:not([hidden])) :is(.dialog-intro,.preview-notice,.direct-contact){display:none}
  #enquiry-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
  #enquiry-form>label:nth-child(n+3),#enquiry-form>.form-pair,#enquiry-form>fieldset,#enquiry-form>p,#enquiry-form>.button{grid-column:1/-1}
  .form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .form-pair label{min-width:0}
  select{display:block;width:100%;max-width:100%;border:1px solid #7b8c97;background:var(--paper);border-radius:0;padding:12px 8px;margin-top:7px;font-size:.875rem;min-height:48px;color:var(--ink)}
  form small{display:block;font-size:.6875rem;color:var(--muted);margin-top:5px}
  .enquiry-intents{border:0;border-top:1px solid var(--line);padding:14px 0 0;margin:4px 0 0;min-width:0;display:flex;flex-wrap:wrap;gap:0 22px}
  .enquiry-intents legend{font-size:.8125rem;padding:0 8px 0 0;color:var(--muted)}
  .enquiry-intents label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
  .enquiry-intents label>span{color:var(--ink)}
  input[type=checkbox]{width:18px;height:18px;padding:0;margin:0;flex:0 0 18px;accent-color:var(--ink)}
  .photo-instructions{font-size:.8125rem;line-height:1.8;color:var(--muted);border-left:2px solid #526e7e;padding-left:14px}
  #result-photo-note{margin-top:18px}
}
@layer responsive {
  @container page (max-width:1000px){.audience-grid{gap:45px 4cqi}.audience-heading{min-height:215px}.audience-use,.audience-detail{font-size:.875rem}.audience-index{gap:22px}.audience-index a{font-size:.8125rem;gap:10px}}
  @container page (max-width:700px){
    .hero-audiences{font-size:.75rem;gap:0 19px;margin-top:13px}.service-funding{font-size:.8125rem;margin-top:20px}.selection-price{margin-top:22px;padding-top:18px}.selection-price>p:first-child{font-size:1.5rem}.selection-endnote>div{margin-top:12px}
    .audience-index{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:0;margin-top:25px}.audience-index a{min-height:53px;font-size:.875rem}.audience-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}
    .audience-grid{display:block;margin-top:30px}.audience-article+.audience-article{margin-top:38px;padding-top:30px;border-top:1px solid var(--ink)}.audience-heading{min-height:0;padding-bottom:22px}.audience-heading h3{font-size:1.85rem}.audience-heading .eyebrow{font-size:.625rem}.audience-use{font-size:.875rem;margin-top:14px}.audience-photo img{aspect-ratio:1.5}.audience-photo figcaption{font-size:.625rem}.audience-detail{padding-top:17px}.audience-actions{margin-top:12px}.audience-actions .text-link{font-size:.8125rem}
    .room-preview{display:block;margin-top:22px;padding-block:25px}.room-preview h3{font-size:1.6rem}.room-preview .button{margin-top:20px}.room-preview>div:last-child>p{margin-top:10px}.other-location .text-link{margin-left:0;margin-top:8px}.other-location{display:flex;flex-direction:column;align-items:flex-start}
  }
  @media(max-width:700px){#enquiry-form{grid-template-columns:minmax(0,1fr)}.form-pair{grid-template-columns:minmax(0,1fr);gap:18px}.enquiry-intents{display:block}.enquiry-intents label{min-height:46px}select{font-size:1rem}.contact-dialog .dialog-heading{top:-22px}}
}
/* Compact application directory, selected after comparing the open gallery. */
@layer components {
  .audience-grid{display:block;margin-top:30px;border-top:1px solid var(--ink)}
  .audience-article{border-bottom:1px solid var(--line);scroll-margin-top:0}
  .audience-summary{min-height:104px;padding:25px 0;list-style:none;cursor:pointer}
  .audience-summary::-webkit-details-marker{display:none}
  .audience-summary .eyebrow{font-size:.6875rem;color:var(--muted);line-height:1.6;letter-spacing:.12em;font-weight:500}
  .audience-summary h3{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1fr) 16px;gap:35px;align-items:center;font-size:clamp(1.45rem,2.3cqi,2.3rem);font-weight:350;line-height:1.22}
  .audience-summary:hover .audience-title{color:#315f7a}
  .audience-summary:focus-visible{outline-offset:-3px}
  .audience-chevron{width:9px;height:9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-right:5px}
  .audience-article[open]>.audience-summary .audience-chevron{transform:rotate(225deg)}
  .audience-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:5cqi;padding-bottom:36px;align-items:start}
  .audience-panel .audience-detail{padding-top:0}.audience-panel .audience-use{margin:0 0 20px;color:var(--ink);font-size:1rem}
  .audience-panel .audience-actions{margin-top:16px}
  .audience-article .audience-photo img{aspect-ratio:1.5}
  .audience-article[open] .audience-title{color:#315f7a}
  .audience-offer{font-size:.75rem;color:var(--muted);padding-top:14px;border-top:1px solid var(--line);margin-top:18px}
  .audience-offer a{display:block;min-height:38px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
}
@layer responsive {
  @container page (max-width:1000px){.audience-summary h3{gap:24px;grid-template-columns:minmax(0,.55fr) minmax(0,1fr) 14px}.audience-panel{gap:4cqi;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.audience-panel .audience-use{font-size:.9375rem}}
  @container page (max-width:700px){
    .audience-grid{margin-top:25px}.audience-article+.audience-article{margin:0;padding:0;border-top:0}.audience-summary{padding-block:22px;min-height:100px}.audience-summary .eyebrow{grid-column:1;font-size:.625rem}.audience-summary h3{grid-template-columns:minmax(0,1fr) 16px;gap:10px 18px;font-size:1.65rem}.audience-title{grid-column:1}.audience-chevron{grid-column:2;grid-row:1/3;align-self:center}.audience-panel{display:flex;flex-direction:column;gap:20px;padding-bottom:26px}.audience-panel>.audience-photo{width:100%;order:1}.audience-panel>.audience-detail{display:contents}.audience-panel .audience-use{order:0;margin:0;font-size:.9375rem}.audience-panel .audience-detail>p:not(.audience-use){order:2;margin:0;font-size:.875rem}.audience-panel .audience-actions{order:3;margin:0}.audience-panel .audience-selection strong{margin-bottom:6px}.audience-panel .audience-detail>.audience-offer{font-size:.75rem}
  }
}
@layer preferences {
  /* Let text expansion change the layout; never mask overflow. */
  .nav-bar{flex-wrap:wrap}.wordmark{max-width:100%;overflow-wrap:anywhere}.brand{min-width:0}.dialog-heading{flex-wrap:wrap}.hero-heading,.hero-info,.service-strip dl>div,.section-heading>div{min-width:0}
  :root:not(.js) .menu-toggle,:root:not(.js) button[data-contact],:root:not(.js) .photo-link,:root:not(.js) [data-original-photo],:root:not(.js) [data-legal],:root:not(.js) .photo-corner{display:none}
  .photo-trigger:disabled{cursor:default}
  :root:not(.js) .mobile-nav{display:flex!important;gap:20px;flex-wrap:wrap}
  :root:not(.js) .mobile-nav a{width:auto;border:0}
  :root:not(.js) .header{position:static}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
  @media(forced-colors:active){.button,.step,.photo-trigger{border:1px solid ButtonText}.step[open]{outline:1px solid Highlight}.disclosure-mark::before,.disclosure-mark::after{background:ButtonText}.language-switch button[aria-pressed=true]{border:2px solid Highlight}}
  @media print{.header,.hero-actions,.partnership .button,.faq-closing .button,.faq-topics,dialog,.footer-bottom button{display:none!important}.site-shell{max-width:none;container-type:normal}.wrap{padding-inline:20px}.experience,.partnership{print-color-adjust:exact;-webkit-print-color-adjust:exact}.step>p{display:block!important}.hero{break-inside:avoid}.faq-layout{display:block}.faq-intro{position:static}.faq-content{margin-top:24px}.faq-item::details-content{content-visibility:visible}.faq-answer{display:block!important}.faq-item{break-inside:avoid}.faq-chevron{display:none}}
}

/* V07 hero/pitch, with responsive text reflow safeguards below. */
@layer components {
  .hero-v07 h1>span{display:block}
  .hero-v07 .hero-description{max-width:none}
  .hero-facts{list-style:none;padding:0;margin:25px 0 0;font-size:.875rem;line-height:1.7}
  .hero-facts li{padding-block:12px;border-top:1px solid var(--line)}
  .hero-facts li:last-child{border-bottom:1px solid var(--line)}
  .hero-facts strong{font-weight:650}
  .offer-actions{display:grid;gap:23px}
  .offer-action{min-width:0}
  .offer-action .button,.offer-action .text-link{max-width:100%;width:fit-content}
  .offer-note{font-size:.8125rem;line-height:1.65;color:var(--muted);margin-top:8px;max-width:37ch}
  .hero-v07 .hero-actions{display:grid;align-items:start;gap:23px;margin-top:26px}
  .hero-v07 .hero-figure{align-self:start;position:sticky;top:calc(var(--header-offset,104px) - 18px)}
  .hero-v07 .hero-image-frame{flex:none;height:clamp(500px,42cqi,710px)}
  .pitch{position:relative;isolation:isolate;overflow:clip;width:var(--pitch-width,100%);margin-inline:calc((100% - var(--pitch-width,100%))/2);background:#E4F2E6;border-bottom:1px solid var(--line)}
  .pitch-background{position:absolute;inset:-28px 0;z-index:0;pointer-events:none;transform:translate3d(0,var(--pitch-drift,0px),0)}
  .pitch-flow{position:absolute;inset:0 auto 0 0;width:calc(var(--pitch-width,100vw) * 3);background:repeating-linear-gradient(96deg,#E4F2E6 0px,#F7F2DC calc(var(--pitch-width,100vw) * .497260947684),#DCEFF7 calc(var(--pitch-width,100vw) * .994521895368),#F3DDE3 calc(var(--pitch-width,100vw) * 1.491782843052),#E4F2E6 calc(var(--pitch-width,100vw) * 1.989043790736));animation:v07-pitch-flow 38s linear infinite}
  .pitch[data-motion="paused"] .pitch-flow{animation-play-state:paused}
  .pitch-inner{position:relative;z-index:1;max-width:var(--page-max);margin-inline:auto;padding-block:72px 68px}
  .pitch-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:40px;margin-top:43px}
  .pitch-row:first-child{margin-top:0}
  .pitch-label{padding-top:7px;color:var(--muted)}
  .pitch-intro .pitch-label{font-weight:650;color:var(--ink)}
  .pitch-copy{min-width:0}
  .pitch-copy h2{max-width:100%}
  .pitch-copy h3:not(.eyebrow){font-size:clamp(1.2rem,1.75cqi,1.7rem);font-weight:500;line-height:1.35;letter-spacing:-.025em}
  .pitch-copy>p,.pitch-lines p,.pitch-principle p{max-width:72ch;font-size:.9375rem;line-height:1.8;color:#38484f;margin-top:13px}
  .pitch-copy>.pitch-subtitle{font-size:clamp(1rem,1.5cqi,1.25rem);line-height:1.65;margin-top:18px}
  .pitch-principle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:38px;padding-block:25px 27px;border-block:1px solid #20292e33}
  .pitch-principle .eyebrow{font-size:.6875rem;letter-spacing:.12em;line-height:1.55;color:var(--muted)}
  .pitch-principle .pitch-service{margin-top:23px}
  .pitch-lines{margin-top:16px}
  .pitch-lines p{margin-top:5px}
  .pitch strong{font-weight:650;color:var(--ink)}
  .pitch-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px}
  .pitch-benefit{padding:20px 0 22px;border-top:1px solid #20292e33;min-width:0}
  .pitch-benefit-wide{grid-column:1/-1}
  .pitch-benefit p{font-size:.9375rem;line-height:1.8;color:#38484f}
  .pitch-benefit p+p{margin-top:3px}
  .pitch-benefit:last-child{border-bottom:1px solid #20292e33}
  .pitch-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;align-items:start}
  .pitch-actions .offer-note{color:#38484f}
  .pitch .text-link{border-bottom-color:#20292e55}
  @keyframes v07-pitch-flow{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(var(--pitch-width,100vw) * -2),0,0)}}
}
@layer responsive {
  .hero-v07 h1{font-size:clamp(2rem,3.4cqi,3.55rem);line-height:1.1;hyphens:none;text-wrap:balance}
  @container page (max-width:1000px){
    .pitch-row{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:34px}
    .pitch-label{padding-top:0}
    .pitch-inner{padding-block:58px}
    .pitch-principle{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:28px}
    .pitch-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  }
  @container page (max-width:700px){
    .hero-v07 h1{font-size:clamp(1.9rem,8cqi,3rem);line-height:1.13}
    .hero-v07 .hero-figure{position:static;align-self:stretch;top:auto}
    .hero-v07 .hero-image-frame{height:auto;flex:none;min-height:0}
    .hero-v07 .hero-description{font-size:.9375rem}
    .hero-facts{margin-top:23px;font-size:.875rem}
    .hero-facts li{padding-block:13px}
    .hero-v07 .hero-actions{gap:22px;margin-top:25px}
    .hero-v07 .hero-actions .button,.pitch-actions .button{width:100%}
    .offer-note{font-size:.8125rem;max-width:100%}
    .pitch-inner{padding-block:43px 45px}
    .pitch-row{display:block;margin-top:34px}
    .pitch-label{padding-top:0;margin-bottom:13px}
    .pitch-copy h2{font-size:clamp(2rem,8.5cqi,2.6rem)}
    .pitch-copy h3:not(.eyebrow){font-size:1.25rem}
    .pitch-copy>p,.pitch-lines p,.pitch-principle p,.pitch-benefit p{font-size:.875rem;line-height:1.85}
    .pitch-copy>.pitch-subtitle{font-size:1rem;line-height:1.75;margin-top:16px}
    .pitch-principle{grid-template-columns:1fr;gap:25px;padding-block:22px 23px}
    .pitch-principle .pitch-service{margin-top:20px}
    .pitch-benefits{grid-template-columns:1fr}
    .pitch-benefit-wide{grid-column:auto}
    .pitch-benefit{padding-block:18px 20px}
    .pitch-actions{grid-template-columns:1fr;gap:24px}
  }
  @container page (min-width:550px) and (max-width:700px){
    .hero-v07 .hero-image-frame,.hero-v07 .hero-image-frame img{aspect-ratio:1.5}
  }
  @container page (max-width:360px){.hero-v07 h1{font-size:1.9rem}.hero-v07 .hero-actions .button{width:100%}}
}
@layer preferences {
  /* Keep the native audience directory readable when text grows on a phone. */
  .audience-index a>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
  .audience-index a>span:first-child,.audience-index a>span:last-child{flex-shrink:0}
  .practical-facts dt{overflow-wrap:anywhere}
  .footer-bottom>div{min-width:0;flex-wrap:wrap}
  @container page (max-width:700px){
    .audience-index{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));border-bottom:0}
    .audience-index a{border-bottom:1px solid var(--line)}
    .audience-photo figcaption{flex-wrap:wrap}
  }
  @media(prefers-reduced-motion:reduce){.pitch-flow{animation:none;transform:none}.pitch-background{transform:none}}
  @media print{.pitch-background{display:none}.pitch{width:100%;margin-inline:0;background:white}.pitch-row{break-inside:avoid}.pitch-actions{display:none}.hero-v07 .hero-figure{position:static}}
}

/* V08: the supplied cabinet mark and location-led editorial chapters. */
@layer components {
  .measure{white-space:nowrap}
  .site-v08 h1,.site-v08 h2{hyphens:none;text-wrap:balance}
  .hero-v08 .hero-heading>.eyebrow{font-size:.75rem;letter-spacing:.14em}
  .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .brand-v08{display:inline-flex;flex-direction:row;align-items:center;gap:20px;min-width:0}
  .brand-mark{width:auto;height:88px;flex-shrink:0;color:var(--ink)}
  .brand-divider{height:30px;width:1px;background:#c9c8be;flex-shrink:0;margin-inline:-5px}
  .brand-slogan{font-size:13px;font-weight:400;line-height:1.65;color:var(--muted);max-width:32ch;min-width:0}
  .header-v08 .nav-bar{gap:20px;padding-block:12px}
  .nav-v08{align-items:center;flex-wrap:wrap;gap:18px;margin-left:auto}
  .nav-v08 a{white-space:nowrap}
  .nav-v08 .nav-check{border:1px solid var(--ink);padding:10px 14px;min-height:44px;display:inline-flex;align-items:center}
  .nav-v08 .nav-check::after{display:none}
  .hero-v08 .hero-lead{font-size:.9375rem;line-height:1.8;color:var(--ink)}
  .hero-v08 .hero-lead strong{font-weight:650}
  .hero-v08 .hero-description{margin-top:13px}
  .hero-fact-note{display:block}
  .hero-v08 .hero-figure{position:static;top:auto}
  .location-choice{padding-block:66px 60px;border-bottom:1px solid var(--line)}
  .location-choice h2{max-width:900px;margin-top:20px}
  .location-choice-copy{max-width:660px;margin-top:20px;color:var(--muted)}
  .audience-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}
  .audience-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:11px;min-width:0;min-height:128px;padding:21px 19px;text-align:left;border:1px solid var(--line);background:transparent;font-size:1.125rem;line-height:1.35;transition:background var(--timing),border-color var(--timing)}
  .audience-choice-note{font-size:.75rem;line-height:1.7;color:var(--muted)}
  .audience-choice>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .audience-choice[aria-pressed=true]{border-color:var(--ink);background:var(--ice);box-shadow:inset 0 -2px 0 var(--ink)}
  .audience-choice:not(:disabled):hover{background:#eaf0f3;border-color:#53636c}
  .audience-choice:disabled{cursor:default}
  .selection-catalogue{list-style:none;margin:0;padding:0}
  .selection-catalogue .entry-tastes{text-transform:uppercase;letter-spacing:.065em;font-size:.6875rem;line-height:1.7}
  .selection-for{margin-bottom:22px;color:var(--muted)}
  .selection-caption>p:first-child{font-size:1.4rem;line-height:1.35;letter-spacing:-.025em;margin-top:21px}
  .selection-caption>p+p{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:11px}
  .study-label{justify-content:flex-end;font-size:.625rem;margin-top:8px;letter-spacing:.035em}
  .selection-detail{min-width:0;width:100%}
  .selection-detail .entry-heading h3{min-width:0;overflow-wrap:anywhere}
  .selection-panel[data-selection-panel]:not([data-selection-panel=""]) .collection-photo img{aspect-ratio:auto;object-fit:contain;height:auto}
  .display-section{background:#eaf0f3;padding-block:72px 66px;border-block:1px solid var(--line)}
  .display-steps{list-style:none;padding:0;margin:46px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
  .display-step{min-width:0}
  .display-step-number{display:block;font-size:clamp(3rem,6cqi,5rem);font-weight:250;line-height:1.1;letter-spacing:-.045em;color:#60747f;padding-bottom:18px;border-bottom:1px solid #b8c7d0}
  .display-step h3{font-size:1.4rem;line-height:1.35;letter-spacing:-.025em;font-weight:450;margin-top:23px}
  .display-step p{font-size:.875rem;line-height:1.85;color:var(--muted);margin-top:15px}
  .display-step p+p{margin-top:8px}
  .display-facts{margin-top:56px;padding-top:26px;border-top:1px solid #b8c7d0}
  .vitrine-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:22px}
  .vitrine-facts>div{min-width:0}
  .vitrine-facts dt{font-size:.75rem;color:var(--muted);margin-bottom:11px;overflow-wrap:anywhere}
  .vitrine-facts dd{font-size:1.15rem;line-height:1.4;letter-spacing:-.015em}
  .vitrine-facts small{display:block;font-size:.8125rem;line-height:1.8;letter-spacing:0;margin-top:11px;color:var(--muted)}
  .display-service{font-size:.8125rem;line-height:1.8;color:var(--muted);margin-top:31px;padding-top:22px;border-top:1px solid #b8c7d0}
  .faq-audience{margin-top:36px}
  .audience-choices-compact{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
  .audience-choices-compact .audience-choice{min-height:46px;padding:12px 17px;font-size:.8125rem;justify-content:center}
  .faq-v08-content{max-width:920px;margin:40px 0 0 auto}
  .faq-v08 .faq-group h3{line-height:1.7;flex-wrap:wrap;gap:12px}
  .closing-section{padding-block:68px 65px;background:var(--ice);border-bottom:1px solid var(--line)}
  .closing-section h2{max-width:920px}
  .closing-copy{max-width:670px;margin-top:20px;color:var(--muted)}
  .closing-actions{margin-top:30px}
  .closing-section .room-preview{margin-top:40px;border-bottom:0;padding-bottom:0}
  .site-v08 .footer-top{align-items:center;flex-wrap:wrap}
  .site-v08 .footer nav a{white-space:nowrap;display:inline-flex;align-items:center}
}
@layer responsive {
  .brand-v08 .wordmark{font-size:17px;font-weight:500;letter-spacing:.16em;line-height:1.35;white-space:nowrap}
  .site-v08 .selection-panel:not([data-selection-panel=""]) .collection-photo img{aspect-ratio:auto;height:auto}
  .site-v08 .offer-actions{--offer-width:clamp(175px,14cqi,225px);display:block;container:offers / inline-size;width:100%;max-width:calc(var(--offer-width)*2 + 16px)}
  .site-v08 .offer-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
  .site-v08 .offer-button{width:100%;max-width:none;min-height:54px;justify-content:center;text-align:center;gap:0;padding:15px 12px;font-size:.8125rem;line-height:1.65;white-space:nowrap;font-weight:500}
  .site-v08 .offer-secondary{background:transparent;border-color:#6b7b85;color:var(--ink)}
  .site-v08 .offer-secondary:hover{background:#e8eff2}
  .site-v08 .offer-primary{background:#B3362F;border-color:#B3362F;color:#fff}
  .site-v08 .offer-primary:hover{background:#982e28;border-color:#982e28}
  .site-v08 .offer-note{max-width:none;margin-top:10px;font-size:.75rem;line-height:1.8}
  .site-v08 .hero-actions{margin-top:26px}
  @container offers (max-width:22rem){.site-v08 .offer-pair{grid-template-columns:1fr}}
  @container offers (max-width:18rem){.site-v08 .offer-button{font-size:clamp(.6875rem,4.5cqi,.75rem);padding-inline:3px}}
  @container page (max-width:1180px){.brand-slogan,.brand-divider{display:none}}
  @container page (min-width:1001px){.hero-v08 .hero-heading>.eyebrow{white-space:nowrap}}
  @container page (min-width:701px){.pitch-give{display:grid;grid-template-rows:auto minmax(0,1fr)}.pitch-give>p{align-self:center;margin-top:0}}
  @container page (max-width:1180px) and (min-width:701px){
    .hero-v08{grid-template-areas:'heading image' 'info info';grid-template-rows:auto auto}
    .hero-v08 .hero-info{padding-top:32px}
    .hero-v08 .hero-image-frame{height:clamp(380px,46cqi,520px)}
    .hero-v08 .hero-facts{max-width:850px}
    .hero-v08 .hero-description,.hero-v08 .hero-lead{max-width:780px}
  }
  @container page (max-width:1000px){
    .header-v08 .nav-bar{gap:16px}.nav-v08{display:flex!important;gap:15px;font-size:.75rem}
    .header-v08 .language-switch{margin-left:auto}.nav-v08{width:100%;margin-left:0;justify-content:flex-start}
    .location-choice{padding-block:52px}.audience-choice{font-size:1rem;padding:19px 15px}
    .display-section{padding-block:58px}.display-steps{gap:28px}.vitrine-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.25rem),1fr));gap:22px}
  }
  @container page (max-width:700px){
    .header-v08{position:static}.header-v08 .nav-bar{gap:12px;padding-block:12px 15px;min-height:0}
    .brand-mark{height:72px}.brand-v08{gap:20px;flex-shrink:1}.header-v08 .language-switch{margin-left:auto}
    .nav-v08{font-size:.75rem;gap:8px 18px;align-items:center}.nav-v08 a{padding-block:10px}.nav-v08 .nav-check{padding:8px 12px}
    .hero-v08 .hero-figure{position:static;top:auto}.hero-v08 .hero-lead{font-size:.9375rem}.hero-v08 .hero-description{margin-top:12px}
    .site-v08 .offer-actions{max-width:none;width:100%}.site-v08 .offer-pair{grid-template-columns:1fr}
    .site-v08 .offer-note{font-size:.8125rem}.site-v08 .offer-button{min-height:54px}
    .location-choice{padding-block:43px 44px}.location-choice h2{font-size:2rem;line-height:1.16}.location-choice-copy{font-size:.9375rem;line-height:1.8}
    .audience-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px}.audience-choice{min-height:142px;padding:17px 13px;font-size:1rem;gap:11px}.audience-choice-note{font-size:.6875rem;line-height:1.75}
    .selection-panel.collection{margin-top:29px}.selection-caption>p:first-child{font-size:1.3rem;margin-top:19px}.selection-caption>p+p{font-size:.875rem}.selection-catalogue .entry-tastes{font-size:.625rem}
    .display-section{padding-block:43px 45px}.display-steps{grid-template-columns:1fr;gap:32px;margin-top:29px}.display-step-number{font-size:3.2rem;padding-bottom:15px}.display-step h3{font-size:1.3rem;margin-top:18px}.display-step p{font-size:.875rem;margin-top:13px}.display-facts{margin-top:35px;padding-top:23px}.vitrine-facts{gap:23px 17px}.vitrine-facts dd{font-size:1rem}.vitrine-facts small{font-size:.75rem}
    .faq-audience{margin-top:27px}.audience-choices-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:13px;gap:10px}.audience-choices-compact .audience-choice{min-height:48px;padding:10px;font-size:.75rem}
    .faq-v08-content{margin-top:31px}.faq-v08 .faq-answer{max-width:none}.closing-section{padding-block:43px 44px}.closing-copy{font-size:.9375rem;line-height:1.8}.closing-actions{margin-top:27px}
    .site-v08 .footer-top{gap:22px}.site-v08 .footer nav{margin-top:23px;gap:9px 20px}.site-v08 .footer .brand-v08{display:flex}
  }
  @container page (max-width:360px){.brand-v08 .wordmark{font-size:16px;letter-spacing:.12em}.header-v08 .nav-bar{gap:8px 12px}.nav-v08{font-size:.6875rem;gap:6px 14px}.audience-choice{padding:15px 11px}.audience-choice-note{font-size:.6875rem}}
}
@layer preferences {
  @media(forced-colors:active){.audience-choice[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-3px}.site-v08 .offer-primary{background:ButtonFace;color:ButtonText;border:2px solid Highlight}}
  @media print{.nav-v08,.audience-choices,.offer-actions,.brand-mark,.brand-slogan,.brand-divider{display:none!important}.header-v08{position:static}.display-step,.faq-item{break-inside:avoid}.display-steps{display:block}.display-step+.display-step{margin-top:22px}}
}
