@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--lemon:#f3ff94;--purple:#76518d;--mint:#44b7b3;--ink:#28252c;--paper:#fafaf6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #178781;outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:5px;background:white;padding:15px;z-index:20}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #28252c25;background:var(--lemon);gap:20px}.brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:44px;font-weight:900;letter-spacing:-2px;display:inline-block;transform:skew(-5deg) rotate(-2deg);color:var(--purple);line-height:1;white-space:nowrap}.brand span{color:#159e9f}nav{display:flex;gap:28px;font-size:13px}header button,.audiences button{border:1px solid #28252c50;border-radius:30px;background:transparent;padding:11px 16px;font-size:12px}header>div{display:flex;gap:8px}header .dark{background:var(--ink);color:white}#count{background:var(--lemon);color:var(--ink);border-radius:50%;padding:3px 7px;margin-left:6px}.hero{background:var(--lemon);padding:70px 6% 75px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.5vw,72px);line-height:1.02;letter-spacing:-3.5px;font-weight:500;margin-bottom:28px}em{font-family:Georgia,serif;font-weight:400;color:var(--purple)}.intro{font-size:16px;line-height:1.8;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:0;border-radius:4px;padding:18px 22px;font-size:13px}.dark{color:white;background:var(--ink)}.small{font-size:11px;line-height:1.8}.hero .small{margin-top:18px}.window{background:#fcfff1;border:2px solid var(--ink);border-radius:130px 130px 7px 7px;overflow:hidden;box-shadow:8px 10px 0 #76518d25;padding-top:35px;transform:rotate(1deg)}.window-title{padding:18px 20px 25px;display:flex;gap:16px;align-items:center;font-size:8px;font-weight:700;letter-spacing:1px;justify-content:center}.window-title .brand{font-size:48px}.window-title>span{font-size:45px;color:var(--purple)}.display{padding:35px 15px 0;display:flex;gap:17px;align-items:flex-end;justify-content:center;height:285px;background:repeating-linear-gradient(90deg,transparent 0 43px,#76518d06 44px 45px)}.pack{position:relative;flex-shrink:0;width:125px;padding:20px 12px 15px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:9px 5px 0 #00000015;text-align:center;border:1px solid #28252c}.pack small{font-size:7px;font-weight:700;letter-spacing:.7px;line-height:1.6}.pack strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;line-height:.98}.pack i{font-size:44px;line-height:1;font-style:normal}.can{height:205px;border-radius:28px / 9px;border-top:8px solid #d5d5cc;border-bottom:8px solid #d5d5cc}.box{height:245px;transform:rotate(-5deg)}.carton{height:195px;clip-path:polygon(0 12%,25% 0,85% 0,100% 12%,100% 100%,0 100%);padding-top:32px;transform:rotate(5deg)}.purple{background:var(--purple);color:white}.mint{background:#9ddbd2}.pink{background:#f1c5d2}.yellow{background:var(--lemon)}.shelf-label{border-top:10px solid var(--purple);padding:12px 16px;display:flex;justify-content:space-between;gap:10px;font-size:7px;font-weight:700;letter-spacing:.6px}.window-note{text-align:center;font-size:10px;margin:8px 0 18px}.audiences{padding:25px 6%;border-bottom:1px solid #28252c25}.audiences .eyebrow{display:inline-block;margin-right:25px;margin-bottom:15px}.audiences>div{display:inline-flex;gap:8px;flex-wrap:wrap}.audiences button.active{background:var(--purple);color:white;border-color:var(--purple)}.audiences>p:last-child{font-size:11px;margin:8px 0 0;line-height:1.7}.catalog{padding:80px 6%}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}h2{font-size:clamp(32px,3.6vw,52px);font-weight:500;line-height:1.07;letter-spacing:-2px;margin-bottom:20px}.section-title>p{font-size:13px;line-height:1.9;margin-bottom:20px}.aisle{margin-bottom:48px}.aisle-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #28252c;padding:18px 0}.aisle-heading h3{font-size:20px;letter-spacing:-.5px;margin:0;font-weight:500}.aisle-heading small{font-size:9px;text-transform:uppercase;letter-spacing:1px}.aisle-heading b{display:inline-block;font-size:11px;border:1px solid;border-radius:50%;padding:7px;margin-right:14px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#efeee7;border-bottom:10px solid #b7b2a4}.product{min-width:0;border:0;background:#f4f3ed;padding:27px 22px 18px;text-align:left;color:var(--ink);transition:background .2s}.product:hover{background:#eae9df}.product .pack{margin:8px auto 32px;height:205px;width:135px;transition:transform .2s}.product:hover .pack{transform:rotate(-4deg) translateY(-7px)}.product .pack strong{font-size:32px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #28252c20;padding-top:15px;min-height:55px}.product-bottom strong{font-size:13px;display:block}.product-bottom small{font-size:10px;display:block;margin-top:5px}.product-bottom>span{font-size:25px}.approach{padding:85px 8%;background:var(--purple);color:white;display:grid;grid-template-columns:1fr 1fr;gap:12%}.approach em{color:var(--lemon)}.approach h2{font-size:64px}.approach p{font-size:14px;line-height:1.8}.approach .lead{font-size:23px;line-height:1.5}.approach .small{font-size:10px;opacity:.8}ol{padding:0;list-style:none;margin:35px 0}ol li{display:flex;gap:20px;border-top:1px solid #ffffff50;padding:17px 0;font-size:14px}ol b{font-size:10px;padding-top:5px;color:var(--lemon)}ol small{font-size:11px;display:block;margin-top:7px;opacity:.8}.demo{padding:90px 7%;display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center}.demo p{font-size:14px;line-height:1.8}.demo .small{font-size:11px}.demo-badge{font-size:9px!important;font-weight:700;letter-spacing:.5px;border:1px solid #28252c40;padding:9px;display:inline-block;margin:10px 0 20px}.demo-app{background:white;border:1px solid #ccc;border-radius:12px;overflow:hidden;box-shadow:10px 15px 0 #e8ece5;min-height:350px}.demo-bar{padding:22px;background:#202f40;color:white;display:flex;justify-content:space-between;align-items:center}.demo-bar strong{font-size:23px;letter-spacing:-1px}.demo-bar strong span{font-size:12px;color:#7ae0c8}.demo-bar small{font-size:9px;letter-spacing:1px}.demo-tabs{display:flex;gap:20px;padding:16px 20px;border-bottom:1px solid #eee}.demo-tabs button{border:0;background:none;font-size:11px;padding:7px}.demo-tabs .active{border-bottom:2px solid var(--mint)}#demo-view{padding:22px}#demo-view h3{font-size:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:16px 10px;background:#edf5f3;border-radius:6px}.stat strong{display:block;font-size:28px}.stat small{font-size:9px}.demo-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee;font-size:12px;gap:15px}.demo-line span{color:#167b64}.closing{padding:70px 6%;background:var(--lemon);text-align:center}.closing p{font-size:14px}.closing .small{font-size:11px;margin-top:20px}footer{padding:45px 6%;display:flex;justify-content:space-between;gap:30px}footer .brand{font-size:40px}footer p{font-size:12px;line-height:1.7;margin:12px 0}footer strong{font-size:13px}.text-button{border:0;background:none;padding:7px 0;text-decoration:underline;text-underline-offset:4px;font-size:12px}dialog{width:min(620px,calc(100% - 28px));max-height:90vh;border:1px solid var(--ink);border-radius:9px;padding:45px;box-shadow:12px 12px 0 #28252c30;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#28252c99;backdrop-filter:blur(4px)}dialog p{font-size:14px;line-height:1.7}dialog h2{font-size:40px}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px}.detail-tag{font-size:11px!important;letter-spacing:1px;color:var(--purple);font-weight:700}.detail-list{font-size:14px;line-height:1.8;padding-left:20px}.cart-row{padding:15px 0;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;gap:20px;align-items:center}.cart-row strong{font-size:13px}.cart-row button{background:none;border:0;font-size:11px;text-decoration:underline}label{display:block;font-size:12px;margin:20px 0}input,textarea,select{width:100%;padding:12px;margin-top:8px;border:1px solid #bbb;border-radius:3px;background:white;font-size:13px}#copy{display:block;margin-top:12px}#cart-status{color:#096b60;font-size:12px}.empty{padding:20px;background:var(--lemon)}
@media(max-width:1000px){nav{gap:14px}.hero{gap:4%;padding:50px 5%}h1{font-size:52px}.display .pack{width:100px}.display .pack strong{font-size:29px}.display{gap:10px}.window-title{padding:10px}.window-title .brand{font-size:38px}.window-title>span{font-size:30px}.shelf-label{font-size:6px}.approach{gap:6%}.approach h2{font-size:52px}}
@media(max-width:720px){header{height:78px;padding:0 5%;gap:10px}.brand{font-size:35px}nav{display:none}header button{padding:10px;font-size:10px}.hero{grid-template-columns:1fr;padding:40px 6% 45px;gap:35px}h1{font-size:53px;letter-spacing:-2.5px}.hero .eyebrow{font-size:9px}.intro{font-size:15px}.window{max-width:450px;width:100%;margin:auto}.display{gap:12px}.display .pack{width:29%;padding-left:8px;padding-right:8px}.section-title{display:block;margin-bottom:25px}.section-title>p{font-size:12px;margin-top:25px}.catalog{padding:50px 5%}.products{grid-template-columns:1fr 1fr;gap:2px}.product{padding:22px 10px 14px}.product .pack{width:110px;height:190px}.product .pack strong{font-size:28px}.product-bottom strong{font-size:12px}.product-bottom small{font-size:9px}.aisle-heading h3{font-size:17px}.aisle-heading small{display:none}.approach{grid-template-columns:1fr;padding:55px 7%;gap:25px}.approach h2{font-size:49px}.demo{grid-template-columns:1fr;padding:55px 7%;gap:30px}.closing{padding:50px 6%}footer{flex-direction:column;padding:35px 7%;gap:20px}dialog{padding:38px 25px}.audiences{padding:22px 6%}.audiences button{font-size:11px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.display .can{height:230px;padding-top:15px;padding-bottom:12px}.display .can strong{font-size:32px}.display .can i{font-size:34px}.product .pack{padding-top:14px;padding-bottom:12px}.product .pack strong{font-size:29px}.product .pack i{font-size:32px}.product .pack small{font-size:6px}.product .carton{padding-top:28px}
@media(max-width:720px){.product .pack strong{font-size:26px}.display .can strong{font-size:29px}.display .pack small{font-size:6px}.display .pack i{font-size:32px}.product .pack{height:205px}}
.window-title{gap:12px}.window-title>span{font-size:24px;align-self:flex-start;margin-top:8px;margin-left:-9px;line-height:1}.shelf-label span{text-align:right;line-height:1.6}.window .shelf-label{padding-bottom:20px}
@media(max-width:1000px){.window-title>span{font-size:20px;margin-top:1px;margin-left:-9px}}
.product[data-product="1-1"] .pack strong,.product[data-product="1-2"] .pack strong{font-size:24px;line-height:1}
@media(max-width:720px){.product[data-product="1-1"] .pack strong,.product[data-product="1-2"] .pack strong{font-size:22px}}
/* Keep the Faire ensemble label inside its package, including narrow screens. */
.display .box strong{font-size:27px;line-height:1.05;max-width:100%}
.product[data-product="1-0"] .pack strong{font-size:27px;line-height:1.05;max-width:100%}
@media(max-width:1000px){.display .box strong{font-size:23px}}
@media(max-width:720px){.display .box strong{font-size:22px}.product[data-product="1-0"] .pack strong{font-size:25px}}
.hero .aisle-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:30px;align-items:start}.aisle-map>a{display:block;position:relative;text-align:center;color:var(--ink);padding-bottom:12px}.aisle-sign{position:relative;display:flex;min-height:110px;flex-direction:column;align-items:center;justify-content:space-between;gap:9px;padding:12px 5px 8px;background:#fcfff1;border:1px solid var(--purple);border-radius:3px;box-shadow:3px 3px 0 #76518d22}.aisle-sign small{font-size:6px;letter-spacing:.5px;font-weight:700}.aisle-sign strong{font-size:12px;line-height:1.2;font-weight:600}.aisle-sign b{font-size:16px;color:var(--purple)}.mini-shelves{display:block;height:38px;margin:7px 4px 0;border-left:3px solid var(--purple);border-right:3px solid var(--purple);background:repeating-linear-gradient(0deg,transparent 0 10px,var(--purple) 10px 12px),repeating-linear-gradient(90deg,#9ddbd2 0 7px,transparent 7px 10px,#f1c5d2 10px 17px,transparent 17px 21px);transform:perspective(120px) rotateX(18deg)}.aisle-map a:hover .aisle-sign{background:#dfeb8c;transform:translateY(-2px)}.aisle{scroll-margin-top:25px}
@media(max-width:1000px) and (min-width:721px){.hero .aisle-map{grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px}.aisle-sign{min-height:95px}.mini-shelves{height:25px}}
@media(max-width:480px){.hero .aisle-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aisle-sign{min-height:100px}.aisle-sign small{font-size:7px}.aisle-sign strong{font-size:13px}.mini-shelves{height:28px}}
@media(max-width:720px){header #basket{max-width:150px;line-height:1.4;padding:8px 10px;font-size:10px}}

.ensemble-gallery{grid-column:1/-1;margin-top:20px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-grid figure{margin:0}.gallery-grid img{display:block;width:100%;height:auto;border:1px solid #d4dce5;border-radius:7px;box-shadow:4px 5px 0 #e8ece5}.gallery-grid figcaption{font-size:12px;margin-top:15px}.ensemble-gallery>.small{margin-top:20px}@media(max-width:720px){.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-grid img{max-width:450px}}
.aisle-scene{display:block;position:relative;grid-column:1/-1;width:100%;max-width:1200px;margin:30px auto 0;font-size:initial;isolation:isolate}.aisle-scene>img{display:block;width:100%;height:auto;border-radius:10px}.scene-sign{position:absolute;top:12.8%;width:18.4%;height:7.8%;display:flex;align-items:center;justify-content:center;padding:0 1%;text-align:center;font-size:clamp(10px,1.6vw,23px);font-weight:600;line-height:1.15;color:#493157}.scene-sign:hover{color:#087f7d;text-decoration:underline;text-underline-offset:4px}.sign-0{left:4.2%}.sign-1{left:28.9%}.sign-2{left:52.6%}.sign-3{left:77.3%}.display .carton{height:220px;padding-top:35px;padding-bottom:17px}.display .carton strong{font-size:29px;line-height:1}.display .carton small:last-child{font-size:7px;line-height:1.5}.display .carton i{font-size:30px}@media(max-width:720px){.hero .aisle-scene{margin-top:0}.scene-sign{font-size:clamp(7px,2.2vw,15px);padding:0 .5%;line-height:1.1}.display .carton strong{font-size:26px}.display .carton small:last-child{font-size:6px}}
.hero .aisle-scene{width:100%;max-width:520px;margin:20px 0 0;grid-column:auto}.hero .aisle-scene .scene-sign{font-size:clamp(8px,1.1vw,14px);line-height:1.1;padding:0 .4%}.hero .aisle-scene>img{border-radius:6px}@media(max-width:720px){.hero .aisle-scene{max-width:480px;margin:18px 0 0}.hero .aisle-scene .scene-sign{font-size:clamp(7px,2.15vw,12px)}}
.contact-email{color:var(--purple);text-decoration:underline;text-underline-offset:4px}
/* Keep aisle text inside the illustrated signs at every scene width. */
.hero .aisle-scene{container-type:inline-size}.hero .aisle-scene .scene-sign{font-size:clamp(6px,2.05cqw,10.5px);line-height:1.05;padding:1px 3px;box-sizing:border-box;min-width:0;text-decoration:none}.scene-sign span{display:block;max-width:100%;white-space:normal;overflow-wrap:normal}.scene-sign:focus-visible{outline:2px solid #087f7d;outline-offset:2px}

footer{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.15fr;gap:28px;align-items:start}footer>div{min-width:0}.social-links{display:flex;flex-direction:column;align-items:stretch;gap:12px}.social-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #dedbdf;border-radius:8px;text-decoration:none;min-height:62px}.social-link svg{width:26px;height:26px;flex:0 0 26px}.instagram-link svg{color:#8c3b77}.linkedin-link svg{color:#0a66c2}.social-link span{min-width:0}.social-link b{display:block;font-size:13px;line-height:1.4}.social-link small{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.social-link:hover{background:#f3ffbd;border-color:#76518d}.social-link:focus-visible{outline:2px solid #76518d;outline-offset:3px}@media(max-width:900px){footer{grid-template-columns:1fr 1fr;gap:28px}}@media(max-width:540px){footer{grid-template-columns:1fr;gap:26px}.social-links{max-width:320px;width:100%}}

/* Compact social links: icon first, actual address in smaller text. */
footer .social-links{gap:16px;padding-top:0;min-width:0}footer .social-link{border:0;border-radius:0;min-height:28px;padding:0;gap:9px;align-items:flex-start;background:transparent}footer .social-link svg{width:22px;height:22px;flex-basis:22px}footer .social-link small{font-size:10px;font-weight:400;line-height:1.6;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;padding-top:2px;max-width:100%}footer .social-link:hover{background:transparent;color:#76518d}

footer#contact{scroll-margin-top:30px}footer .social-links{gap:14px}footer .social-link svg{display:block;width:24px;height:24px;flex-basis:24px}footer .website-link svg{color:#76518d}footer .social-link small{font-size:11px;line-height:1.55;padding-top:3px}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.request-consent{display:flex!important;gap:12px;align-items:flex-start}.request-consent input{width:20px!important;flex:0 0 20px;margin-top:3px}#send-request:disabled{opacity:.6;cursor:wait}#cart-status{white-space:pre-line}

.cv-photos{display:flex;align-items:center;margin-top:34px;padding:8px 8px 18px;max-width:390px}.cv-photo{display:block;object-fit:cover;border-radius:50%;border:5px solid var(--lemon);box-shadow:0 8px 24px #35234140;flex-shrink:0}.cv-photo-one{width:58%;height:auto;aspect-ratio:1;object-position:50% 34%;transform:rotate(-5deg)}.cv-photo-two{width:46%;height:auto;aspect-ratio:1;object-position:50% 25%;margin-left:-10%;margin-top:85px;border-color:var(--mint);transform:rotate(6deg)}@media(max-width:720px){.cv-photos{max-width:330px;margin:8px 0 12px}.cv-photo-two{margin-top:58px}}

.service-formats{padding:75px 7%;background:#f4f1f6}.service-formats h2{font-size:clamp(36px,4vw,56px);line-height:1.08;font-weight:500;letter-spacing:-1.5px}.format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:32px 0}.format-grid article{border:1px solid #ddd1e5;background:white;padding:24px;border-radius:12px;display:flex;flex-direction:column}.format-grid article>span{color:var(--purple);font-size:12px}.format-grid h3{font-size:20px;margin:16px 0}.format-grid p{font-size:14px;line-height:1.7;flex:1}.format-grid strong{color:var(--purple)}.discovery-offer{background:var(--lemon);padding:28px;border-radius:12px;max-width:850px}.discovery-offer h3{font-size:27px}.discovery-offer p{line-height:1.8;font-size:14px}@media(max-width:1000px){.format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.format-grid{grid-template-columns:1fr}.service-formats{padding:48px 6%}.discovery-offer{padding:22px}}

.professional-portrait{margin:30px 0 0;width:min(100%,350px)}.professional-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 12px 30px #35234130}.pack strong{display:block;min-width:0;width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:normal;word-break:normal}.pack{min-width:0;container-type:inline-size}.display .pack strong{font-size:clamp(16px,24cqw,32px)}.display .box strong{font-size:clamp(16px,22cqw,27px)}.product .pack strong{font-size:clamp(16px,23cqw,29px)}@media(max-width:720px){.professional-portrait{width:min(100%,320px)}}

footer .music-credit{grid-column:1/-1;font-size:10px;line-height:1.7;opacity:.85;padding-top:20px;border-top:1px solid #ddd5e3}footer .music-credit a{text-decoration:underline}.music-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.ensemble-film{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;gap:clamp(24px,5vw,64px);align-items:center;border:2px solid #30213b;border-radius:20px;padding:clamp(20px,4vw,40px);background:#f3ff94;margin-top:32px}.ensemble-film h3{font-size:clamp(30px,4vw,52px);line-height:1.05;margin:12px 0 20px}.film-preview{position:relative;display:block;width:100%;height:300px;overflow:hidden;border:0;border-radius:12px;background:#281832;padding:0;cursor:pointer;color:white}.film-preview img{width:100%;height:100%;object-fit:cover;object-position:center 36%;opacity:.88}.film-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#f3ff94;color:#3f205d;font-size:27px;padding-left:4px;box-shadow:0 3px 20px #0004}.film-watch{position:absolute;bottom:0;left:0;right:0;padding:20px 12px;background:linear-gradient(transparent,#170e28);font-weight:bold;text-align:center}.film-preview:hover .film-play{transform:translate(-50%,-50%) scale(1.08)}.film-preview:focus-visible{outline:4px solid #7d48c6;outline-offset:5px}.film-dialog{width:min(820px,calc(100vw - 32px));max-width:820px;max-height:92dvh;padding:24px;background:#f8f5f0;border-radius:18px;overflow:auto}.film-dialog::backdrop{background:#170d25dd}.film-dialog h2{font-size:clamp(24px,4vw,36px);padding-right:34px;margin:0 0 8px}.film-dialog p{margin:8px 0 16px}.film-dialog video{display:block;width:100%;max-height:65dvh;background:#000;border-radius:8px}.film-dialog .close{position:absolute;right:12px;top:10px}.film-dialog .small{margin:12px 0 0}@media(max-width:650px){.ensemble-film{grid-template-columns:1fr;gap:20px}.film-preview{height:240px}.film-dialog{padding:18px}.film-dialog video{max-height:60dvh}}
/* Keep Ensemble rows evenly spaced: percentage gaps expanded with the section height. */
.demo{column-gap:9%;row-gap:40px;padding-bottom:80px}
.demo>.ensemble-film,.demo>.ensemble-gallery{margin-top:0}
.demo>.ensemble-gallery>.small:last-child{margin-bottom:0}
@media(max-width:720px){.demo{column-gap:0;row-gap:30px;padding-bottom:56px}}
/* Four offers share each of the first two shelves without an isolated card. */
#rayon-0 .products,#rayon-1 .products,#rayon-3 .products{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-bottom small{line-height:1.6}
@media(max-width:1100px){#rayon-0 .products,#rayon-1 .products,#rayon-3 .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
.product[data-product="1-2"] .pack strong{font-size:18px!important;line-height:1.05}.product[data-product="1-2"] .pack i{font-size:30px}

/* Five training offers: three cards, then two balanced cards. */
#rayon-3 .products{grid-template-columns:repeat(6,minmax(0,1fr))}
#rayon-3 .product{grid-column:span 2}
#rayon-3 .product:nth-last-child(-n+2){grid-column:span 3}
@media(max-width:620px){#rayon-3 .products{grid-template-columns:repeat(2,minmax(0,1fr))}#rayon-3 .product,#rayon-3 .product:nth-last-child(-n+2){grid-column:span 1}#rayon-3 .product:last-child{grid-column:1/-1}}

/* Price-label styling across the catalogue. */
.pack-label-display{position:relative;width:200px;max-width:100%;height:245px;margin:8px auto 24px}
.product .pack-label-display .pack{margin:0 auto}
.price-word-label{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:92px;padding:9px 10px 8px;background:#fffef6;border:1.5px solid #28252c;box-shadow:3px 3px 0 #28252c20;pointer-events:none}
.price-word-label strong{display:block;font:700 10px/1.1 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.3px;color:#65437d;white-space:nowrap}
.label-barcode{display:block;width:37px;height:5px;background:repeating-linear-gradient(90deg,#28252c 0 1px,transparent 1px 3px,#28252c 3px 5px,transparent 5px 6px)}
.tag-upper{top:-10px;right:-10px;transform:rotate(8deg)}
.tag-lower{bottom:-3px;left:-10px;transform:rotate(-7deg)}
@media(max-width:620px){.pack-label-display{height:auto;min-height:245px;display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:8px;margin-bottom:24px}.product .pack-label-display .pack{flex:0 0 110px;margin:0 calc((100% - 110px)/2) 6px}.price-word-label{position:static;transform:none;min-width:0;padding:7px 5px;align-items:center;gap:4px}.price-word-label strong{font-size:8px;letter-spacing:0}.label-barcode{height:4px;width:27px}}
/* Shelf labels beside the product: larger barcodes, no overlap with the can. */
.pack-label-display{width:230px;height:245px;display:grid;grid-template-columns:minmax(0,135px) minmax(0,85px);grid-template-rows:1fr 1fr;gap:10px;align-items:center;margin:8px auto 24px}
.product .pack-label-display .pack{grid-column:1;grid-row:1/3;margin:0 auto}
.price-word-label{position:static;min-width:0;width:100%;padding:8px 5px;background:#fff;border:1px solid #aaa;border-bottom:4px solid #c8c5ba;box-shadow:none;gap:8px;align-items:stretch;transform:none}
.price-word-label strong{font-size:8px;line-height:1.2;letter-spacing:0;text-align:center;color:#28252c}
.label-barcode{width:100%;height:18px;background:repeating-linear-gradient(90deg,#161616 0 2px,#fff 2px 3px,#161616 3px 4px,#fff 4px 7px,#161616 7px 10px,#fff 10px 12px,#161616 12px 13px,#fff 13px 16px)}
.tag-upper{grid-column:2;grid-row:1;align-self:end}.tag-lower{grid-column:2;grid-row:2;align-self:start}
@media(max-width:620px){.pack-label-display{height:auto;min-height:245px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.product .pack-label-display .pack{flex:0 0 110px;margin:0 calc((100% - 110px)/2) 6px}.price-word-label{width:auto;min-width:78px;padding:7px 5px;align-self:auto}.label-barcode{height:16px}}
@media(min-width:621px){.tag-upper{transform:translate(6px,-9px) rotate(8deg)}.tag-lower{transform:translate(0,10px) rotate(-7deg)}}

@media(min-width:621px){.pack-label-display{width:236px;column-gap:16px}}

/* Compact curved shelf labels, following Dia's selected reference. */
.price-word-label{width:76px;max-width:100%;height:39px;min-width:0;padding:7px 8px 6px;border:0;background:transparent url("assets/etiquette-incurvee.svg") center/100% 100% no-repeat;box-shadow:none;gap:4px;justify-content:center;align-items:center}
.price-word-label strong{font-size:6.5px;line-height:1;letter-spacing:0;color:#65437d}
.label-barcode{width:44px;max-width:100%;height:10px;flex-shrink:0;background-size:auto 100%}
@media(min-width:621px){.pack-label-display{width:230px;grid-template-columns:minmax(0,135px) minmax(0,75px);column-gap:20px}.tag-upper{transform:translate(3px,-7px) rotate(8deg)}.tag-lower{transform:translate(0,8px) rotate(-7deg)}}
@media(max-width:620px){.price-word-label{width:76px;min-width:0;height:39px;padding:7px 8px 6px}.price-word-label strong{font-size:6.5px}.label-barcode{width:44px;height:10px}}
/* Text-only shelf labels: keep the chosen shape and prioritise reading. */
.price-word-label{padding:6px 4px;gap:0;justify-content:center;align-items:center}
.price-word-label strong{font-size:10px;font-weight:700;line-height:1.12;letter-spacing:-.15px;text-transform:none;white-space:normal;text-align:center;max-width:100%;color:#65437d}
.label-barcode{display:none}
/* Recognisable grocery packages, with service copy on their front labels. */
.product .pack.grocery{width:135px;height:220px;border:0;border-radius:0;clip-path:none;background:transparent;box-shadow:none;transform:none;padding:43px 22px 28px;color:var(--ink);isolation:isolate;filter:drop-shadow(5px 6px 2px #28252c18)}
.grocery.yellow{--package-color:#f3ff94}.grocery.mint{--package-color:#9ddbd2}.grocery.pink{--package-color:#f1c5d2}.grocery.purple{--package-color:#76518d;color:#fff!important}
.grocery-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;stroke:#51415a;stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round}
.grocery-art .package-fill{fill:var(--package-color)}.grocery-art .package-shade{fill:#28252c26}.grocery-art .package-light{fill:#ffffff66}.grocery-art .metal{fill:#e1e2d8}.grocery-art .paper{fill:#fffef6}.grocery-art .bottles{fill:#d9f2ed;stroke:#7da8aa}.grocery-art .cap{fill:#76518d}
.product .grocery strong{font-size:26px;line-height:1.02}.product .grocery i{display:none}.product .grocery>small{position:relative;font-size:5.7px;letter-spacing:.4px}.product .grocery>small:last-child{margin-top:52px;font-size:5px}
.product .grocery-cereal{padding-right:29px;padding-left:22px;padding-top:35px}.product .grocery-cereal strong{font-size:27px}
.product .grocery-tin{padding-top:47px;padding-bottom:30px}.product .grocery-tin>small:last-child{margin-top:15px}
.product .grocery-magazine{padding-top:64px;padding-left:28px;padding-right:20px;transform:rotate(-3deg)}.product .grocery-magazine strong{font-size:24px}.product .grocery-magazine>small:last-child{margin-top:42px}
.product .grocery-bag{padding-top:46px}.product .grocery-bag strong{font-size:24px}.product .grocery-bag>small:last-child{margin-top:50px}
.product .grocery-water{padding-top:90px;padding-left:17px;padding-right:17px}.product .grocery-water strong{font-size:25px}.product .grocery-water>small:first-of-type{font-size:5px}.product .grocery-water>small:last-child{margin-top:39px}
@media(max-width:620px){.product .pack.grocery{height:205px;width:110px;padding-left:17px;padding-right:17px}.product .grocery strong{font-size:23px}.product .grocery-magazine{padding-top:60px}.product .grocery-water{padding-top:80px}.product .grocery-water strong{font-size:22px}.product .grocery>small{font-size:5px}.product .grocery>small:last-child{margin-top:38px}.product .grocery-tin>small:last-child{margin-top:15px}.product .grocery-water>small:last-child{margin-top:30px}}
.product .pack.grocery{justify-content:flex-start}.product .grocery>strong{margin-top:20px}.product .grocery-water>strong,.product .grocery-magazine>strong{margin-top:0}
/* Keep every title within the actual front panel, away from folds and artwork. */
.product .pack.grocery>strong{position:absolute;margin:0!important;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:normal;word-break:normal;left:16%;top:26%;width:66%;height:41%;font-size:25px;line-height:1.04}
.product .pack.grocery-milk>strong{left:13%;width:58%;top:26%;height:40%;font-size:24px}
.product .pack.grocery-cereal>strong{left:20%;width:60%;top:23%;height:43%;font-size:25px}
.product .pack.grocery-magazine>strong{left:22%;width:60%;top:29%;height:34%;font-size:22px}
.product .pack.grocery-bag>strong{left:19%;width:61%;top:22%;height:44%;font-size:23px}
.product .pack.grocery-water>strong{left:12%;width:76%;top:43%;height:25%;font-size:23px}
.product[data-product="1-2"] .pack.grocery>strong{left:20%;width:59%;font-size:17px!important}
.product[data-product="1-1"] .pack.grocery>strong{font-size:22px}
@media(max-width:620px){.product .pack.grocery>strong{font-size:21px}.product .pack.grocery-magazine>strong{font-size:19px}.product .pack.grocery-water>strong{font-size:20px}.product[data-product="1-2"] .pack.grocery>strong{font-size:15px!important}.product[data-product="1-1"] .pack.grocery>strong{font-size:19px}}
.product .pack.grocery-milk>strong{font-size:22px;height:42%}.product .pack.grocery-magazine>strong{font-size:20px;top:27%;height:40%}.product[data-product="3-3"] .pack.grocery-water>strong{font-size:20px;top:41%;height:29%}@media(max-width:620px){.product .pack.grocery-milk>strong{font-size:19px}.product .pack.grocery-magazine>strong{font-size:18px}.product[data-product="3-3"] .pack.grocery-water>strong{font-size:18px}}
.product[data-product="3-3"] .pack.grocery-water>strong{height:30%}
/* Lettering follows the illustrated front panel, including its sloped edges. */
.product .pack.grocery-cereal>strong{transform:skewY(-4deg);transform-origin:center}
.product .pack.grocery-magazine>strong{transform:skewY(-3.6deg) skewX(4.9deg);transform-origin:center}
.product .pack.grocery-water>strong{top:38%;height:27%;font-size:22px}.product[data-product="3-3"] .pack.grocery-water>strong{top:38%;height:27%;font-size:18px}.product[data-product="1-2"] .pack.grocery>strong{left:17%;width:59%}@media(max-width:620px){.product .pack.grocery-water>strong{font-size:19px}.product[data-product="3-3"] .pack.grocery-water>strong{font-size:16px}}
.collective-identity{margin:28px 0;padding:20px;border:1px solid #76518d55;border-radius:12px;background:#f3ff9426}.collective-identity h3{margin-top:0}.collective-identity h4{margin:20px 0 6px;color:#76518d}.collective-identity p{margin-top:6px}
@media(max-width:620px){#rayon-2 .products{grid-template-columns:minmax(0,1fr)}#rayon-2 .product{grid-column:1/-1;min-width:0}}

/* Individual support — compact apricot badge below the shop window */
.hero-showcase{align-self:start;display:flex;flex-direction:column;align-items:flex-end;gap:18px}.hero-showcase .window{width:100%}.individual-badge{width:226px;min-height:212px;flex-shrink:0;background:#eeb083;color:#382c35;clip-path:polygon(50% 0%,60% 10%,74% 4%,78% 19%,94% 20%,90% 35%,100% 46%,89% 56%,96% 71%,80% 76%,77% 93%,62% 88%,50% 100%,40% 89%,24% 96%,20% 80%,5% 77%,11% 61%,0% 50%,11% 39%,5% 24%,21% 20%,25% 5%,40% 11%);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px;transform:rotate(-5deg);margin-right:22px;transition:transform .2s}.individual-badge strong{font:700 24px/1.06 'Barlow Condensed',sans-serif}.individual-badge span{font-size:13px;margin-top:10px}.individual-badge b{font-size:23px;line-height:1;margin-top:8px}.individual-badge:hover{transform:rotate(0deg)}.individual-badge:focus-visible{filter:drop-shadow(0 0 3px #382c35)}.individual-salon{padding:75px 6%;background:#f1e7df;border-top:1px solid #dfcbc1}.individual-salon h2{color:#674d75}.salon-intro{max-width:620px;font-size:19px;line-height:1.6}.salon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:30px 0}.salon-grid article{background:#fcf8f3;padding:26px;border-radius:22px;line-height:1.65}.salon-grid h3{font-size:19px;color:#674d75;margin-top:0}.individual-salon>p{line-height:1.7}.individual-salon .button{display:inline-block;margin-top:14px}@media(max-width:700px){.hero-showcase{width:100%;gap:14px}.individual-badge{width:200px;min-height:190px;margin-right:8px}.individual-badge strong{font-size:22px}.salon-grid{grid-template-columns:1fr}.individual-salon{padding:45px 6%}}

.individual-badge em{font-style:normal;font-weight:600;font-size:13px;line-height:1.2;margin-top:9px}.individual-badge span{margin-top:8px}.individual-badge b{margin-top:5px}

/* Position and interaction refinements */
.hero-showcase{margin-top:30px;gap:25px}.individual-badge{width:200px;min-height:190px;margin-top:5px;padding:29px}.individual-badge strong{font-size:22px}.individual-badge span,.individual-badge em{font-size:12px}.individual-badge b{font-size:20px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){a,button{transition:transform .18s ease,filter .18s ease}a:not(.individual-badge):hover,button:hover{filter:brightness(.96)}.button:hover,button:hover,.scene-sign:hover,.social-link:hover{transform:translateY(-2px)}a:active,button:active{transform:translateY(1px)}.individual-badge:hover{transform:rotate(0deg) scale(1.025)}}@media(max-width:700px){.hero-showcase{margin-top:12px;gap:18px}.individual-badge{width:188px;min-height:180px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none!important}.individual-badge:hover{transform:rotate(-5deg)}}

/* Center the badge under the window and keep its question together. */
.hero-showcase .individual-badge{align-self:center;margin-right:0}.individual-badge em{white-space:nowrap;font-family:"DM Sans",Arial,sans-serif;font-size:11px;letter-spacing:-.15px}

/* Wide ticket silhouette, with small starburst edges. */
.hero-showcase .individual-badge{width:284px;min-height:154px;padding:24px 30px;clip-path:polygon(0 15%,9% 16%,8% 1%,23% 8%,32% 0,43% 8%,55% 0,66% 8%,80% 1%,86% 13%,100% 10%,95% 28%,100% 42%,95% 54%,100% 71%,89% 76%,92% 95%,76% 91%,66% 100%,53% 92%,40% 100%,29% 92%,14% 99%,12% 84%,0 88%,5% 68%,0 54%,5% 39%)}.individual-badge strong{font-size:23px}.individual-badge em{font-size:12px;white-space:nowrap}.individual-badge span{font-size:12px;margin-top:7px}.individual-badge b{font-size:18px;margin-top:5px}@media(max-width:700px){.hero-showcase .individual-badge{width:260px;min-height:148px;padding:24px 27px}}

/* Smaller, evenly serrated ticket with a centered typographic block. */
.hero-showcase .individual-badge{width:252px;min-height:154px;height:154px;padding:22px 24px;gap:0;transform:rotate(-8deg);clip-path:polygon(8% 0%,14% 8%,20% 0%,26% 8%,32% 0%,38% 8%,44% 0%,50% 8%,56% 0%,62% 8%,68% 0%,74% 8%,80% 0%,86% 8%,92% 0%,100% 12%,94% 25%,100% 38%,94% 50%,100% 63%,94% 76%,100% 89%,92% 100%,86% 92%,80% 100%,74% 92%,68% 100%,62% 92%,56% 100%,50% 92%,44% 100%,38% 92%,32% 100%,26% 92%,20% 100%,14% 92%,8% 100%,0% 88%,6% 75%,0% 62%,6% 50%,0% 37%,6% 24%,0% 11%)}.individual-badge strong{font-size:22px;line-height:1.05;text-align:center}.individual-badge span{font-size:11px;margin-top:8px}.individual-badge em{font-size:11px;line-height:1.2;margin-top:7px;letter-spacing:0;white-space:nowrap}.individual-badge b{font-size:17px;margin-top:6px;line-height:1}@media(hover:hover) and (prefers-reduced-motion:no-preference){.hero-showcase .individual-badge:hover{transform:rotate(-3deg) scale(1.025)}}@media(max-width:700px){.hero-showcase .individual-badge{width:242px;height:150px;min-height:150px}}@media(prefers-reduced-motion:reduce){.hero-showcase .individual-badge:hover{transform:rotate(-8deg)}}

.hero-showcase .individual-badge{margin-top:21px}


.hero-showcase .individual-badge em{font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap}


dialog.individual-salon{width:min(940px,94vw);max-width:940px;max-height:88vh;padding:45px 38px;border:1px solid #d9c9c0;border-radius:28px;position:fixed}dialog.individual-salon::backdrop{background:rgba(48,35,52,.58);backdrop-filter:blur(3px)}dialog.individual-salon .salon-grid{gap:14px}dialog.individual-salon .salon-grid article{padding:20px}@media(max-width:700px){dialog.individual-salon{padding:36px 22px}.individual-salon h2{font-size:34px}}

/* Four compact format cards plus one full-width individual format. */
.service-formats{padding-top:52px;padding-bottom:52px}.format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:25px 0}.format-grid article{padding:20px}.format-grid h3{margin:8px 0}.format-grid p{margin:5px 0 12px;line-height:1.55}.format-grid .individual-format{grid-column:1/-1;background:#f2d6bf;display:grid;grid-template-columns:28px 1fr auto;gap:16px;align-items:center}.individual-format h3{margin-top:0}.individual-format .text-button{font-size:13px;white-space:nowrap}.individual-format strong{font-size:13px}.discovery-offer{max-width:none;padding:22px}.discovery-offer h3{margin-top:0}.discovery-offer p{line-height:1.6}@media(max-width:620px){.format-grid{grid-template-columns:1fr}.format-grid .individual-format{grid-template-columns:22px 1fr;gap:10px}.individual-format .text-button{grid-column:2;justify-self:start;white-space:normal}}

.formats-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:100%}.formats-heading h2{margin:10px 0}.counter-register{width:162px;height:auto;color:var(--purple);flex:0 0 162px;transform:rotate(-3deg);margin-right:14px}@media(max-width:620px){.formats-heading{gap:10px;align-items:flex-end}.counter-register{width:95px;flex-basis:95px;margin-right:0;margin-bottom:12px}.formats-heading h2{font-size:34px}}

.format-grid .individual-format{background:#fff;border:1px solid #ddd1e5}


.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.booking-hero-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px}.booking-hero-link span{font-weight:400;white-space:nowrap}.booking-nav-link{font-weight:600}@media(max-width:620px){.booking-hero-link{flex-wrap:wrap;gap:5px;font-size:13px}header nav{flex-wrap:wrap;justify-content:center;gap:12px}}
/* Expanded regulation topic with native accessible disclosures. */
.regulatory-detail{margin:25px 0;padding-top:16px;border-top:1px solid #ddd1e5}.regulatory-detail details{border:1px solid #ddd1e5;border-radius:12px;padding:14px 16px;margin:12px 0;background:#fff}.regulatory-detail summary{cursor:pointer;font-weight:650;line-height:1.45}.regulatory-detail p{font-size:15px;line-height:1.65}.regulatory-detail a{text-decoration:underline;overflow-wrap:anywhere}.regulatory-detail .small{font-size:13px}@media(max-width:620px){.regulatory-detail details{padding:12px}.regulatory-detail summary{font-size:16px}}
