:root{--ink:#171016;--paper:#fff9f5;--blush:#fceaf2;--pink:#f725a8;--orange:#ff6b35;--coral:#f8576f;--berry:#49152f;--muted:#6c6269;--line:rgba(23,16,22,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}
.nav-wrap{height:90px;max-width:1440px;margin:auto;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;background:var(--paper);z-index:10}.brand{display:flex;flex-direction:column;line-height:.85}.brand-mark{font-family:'League Spartan',sans-serif;font-size:31px;font-weight:800;letter-spacing:-2px}.brand-word{font-size:8px;letter-spacing:4px;margin-top:7px}.nav-wrap nav{display:flex;align-items:center;gap:30px;font-size:12px}.nav-cta{border:1px solid var(--ink);padding:13px 18px}.mobile-nav{display:none}
.hero{max-width:1440px;margin:auto;padding:72px 5vw 80px;min-height:720px;display:grid;grid-template-columns:1.18fr .82fr;gap:6vw;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:10px;font-weight:700;margin:0 0 24px}.light{color:#ff8acb}.hero h1,.page-hero h1,.about-hero h1{font-family:'League Spartan',sans-serif;font-size:clamp(58px,6.4vw,98px);font-weight:800;line-height:.86;letter-spacing:-4px;margin:0;text-transform:uppercase}.hero h1 em{display:block;color:var(--pink);font-family:'Instrument Serif',serif;font-weight:400;text-transform:none;letter-spacing:-1px}.hero-intro,.page-intro{font-size:17px;line-height:1.75;max-width:650px;margin:30px 0;color:var(--muted)}.button-row{display:flex;gap:30px;align-items:center}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:16px 22px;font-size:12px;font-weight:700;border:0;cursor:pointer}.button-dark{background:var(--ink);color:#fff}.button-light{background:var(--pink);color:#fff}.text-link{font-size:12px;border-bottom:1px solid;padding:8px 0;font-weight:700}.hero-proof{display:flex;gap:48px;margin-top:65px;padding-top:25px;border-top:1px solid var(--line)}.hero-proof div{display:flex;flex-direction:column;gap:5px}.hero-proof strong{font-family:'League Spartan',sans-serif;font-size:28px;font-weight:800}.hero-proof span{font-size:9px;text-transform:uppercase;letter-spacing:1px}.hero-visual{position:relative}.image-frame{height:560px;overflow:hidden;background:var(--blush)}.image-frame img{object-position:center top;filter:saturate(.82) contrast(1.03)}.image-note{position:absolute;bottom:-20px;left:-35px;background:var(--pink);color:#fff;width:235px;padding:20px;font-family:'Instrument Serif',serif;font-style:italic;font-size:21px}.problem-strip{background:linear-gradient(100deg,var(--pink),var(--orange));color:#fff;padding:34px 5vw;display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center}.problem-strip p{font-family:'League Spartan',sans-serif;font-size:24px;font-weight:800;text-transform:uppercase;margin:0}.problem-strip span{line-height:1.7;font-size:13px}
.section{padding:105px 5vw}.section-heading{max-width:780px;margin-bottom:58px}.section-heading h2,.visual-copy h2,.split-section h2,.contact-band h2,.home-about h2,.story-section h2,.library-preview h2,.security-note h2{font-family:'League Spartan',sans-serif;font-size:clamp(40px,5vw,67px);font-weight:800;line-height:.95;letter-spacing:-2px;text-transform:uppercase;margin:0 0 24px}.section-heading>p:last-child,.visual-copy>p,.split-section p,.story-section p{color:var(--muted);max-width:650px;line-height:1.75;font-size:14px}
.visual-intro{display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center}.visual-copy .text-link{display:inline-block;margin-top:18px}.image-collage{height:620px;display:grid;grid-template-columns:1.4fr .7fr;gap:14px;align-items:end}.image-collage img{height:72%;filter:saturate(.92)}.image-collage .collage-large{height:100%}.paths{background:var(--blush)}.path-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}.path-card{min-height:350px;padding:28px 24px 24px 0;margin-right:24px;border-right:1px solid var(--line);display:flex;flex-direction:column}.path-card:last-child{border:0;margin:0}.path-card>span{color:var(--pink);font-size:11px}.path-card h3,.service-card h2,.session-card h2{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:27px;line-height:1;margin:58px 0 18px}.path-card p{font-size:13px;line-height:1.7;color:var(--muted)}.path-card b{margin-top:auto;text-transform:uppercase;font-size:10px;letter-spacing:1px}.home-about{padding:110px 5vw;background:var(--berry);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.home-about p{color:#ded0d9;line-height:1.75;font-size:14px}.home-about .button{margin-top:20px}
.page-hero{max-width:1440px;margin:auto;padding:75px 5vw 90px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.page-hero h1{font-size:clamp(52px,5.7vw,86px)}.page-hero-image{height:500px;margin:0;position:relative}.page-hero-image figcaption{position:absolute;left:-24px;bottom:-20px;background:var(--pink);color:#fff;padding:18px 22px;font-family:'Instrument Serif',serif;font-style:italic;font-size:19px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.service-card{padding:30px 28px 8px 0;min-height:410px;display:flex;flex-direction:column;border-right:1px solid var(--line);margin-right:28px}.service-card:last-child{border:0;margin:0}.service-number{color:var(--pink);font-size:11px}.service-card h2{margin-top:50px}.service-card p{line-height:1.75;color:var(--muted);font-size:13px}.service-footer{margin-top:auto;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.service-footer a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-size:18px}.split-section{padding:105px 5vw;background:var(--blush);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.capability-list{border-top:1px solid var(--ink)}.capability-list div{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;gap:14px}.capability-list span{color:var(--pink);font-weight:700}.contact-band{padding:105px 5vw;background:var(--ink);color:#fff}.contact-band h2{max-width:900px}.contact-band>p:not(.eyebrow){color:#cfc4cb;line-height:1.7;max-width:650px;font-size:14px}.contact-band .button{margin-top:24px}
.sessions-page{background:var(--blush)}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.session-card{background:var(--paper);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;min-height:550px;position:relative}.session-card.session-featured{background:var(--ink);color:#fff;border-color:var(--ink)}.session-card.session-featured:before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:linear-gradient(90deg,var(--pink),var(--orange))}.session-top{display:flex;justify-content:space-between;gap:10px;min-height:30px;text-transform:uppercase;letter-spacing:1.3px;font-size:9px}.session-top b{color:var(--pink)}.session-price{font-family:'League Spartan',sans-serif;font-weight:800;font-size:62px;line-height:1;margin:35px 0 0}.session-card h2{margin-top:22px}.session-duration{text-transform:uppercase;letter-spacing:1.3px;font-size:9px;color:var(--coral)}.session-card p{font-size:13px;line-height:1.7;color:var(--muted);margin:24px 0}.session-featured p{color:#d8ccd4}.session-button{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid currentColor;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700}.booking-flow{padding:100px 5vw}.booking-flow>div{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.booking-flow article{border-top:2px solid var(--ink);padding-top:20px}.booking-flow article>span{color:var(--pink);font-size:11px}.booking-flow h3{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:25px}.booking-flow p{color:var(--muted);font-size:13px;line-height:1.7}
.operations-page{background:var(--paper)}.fit-section{display:grid;grid-template-columns:1fr 1fr}.fit-block{padding:90px 5vw;background:var(--pink);color:#fff}.fit-block.alt{background:var(--orange)}.fit-block>span{text-transform:uppercase;font-size:10px;letter-spacing:2px}.fit-block h3{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:38px;line-height:1;margin:40px 0 18px}.fit-block p{font-size:13px;line-height:1.75;max-width:540px}
.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:var(--ink)}.resource-card{min-height:500px;padding:28px;display:flex;flex-direction:column;color:#fff}.resource-card.pink{background:var(--pink)}.resource-card.orange{background:var(--orange)}.resource-card.berry{background:var(--berry);border:1px solid rgba(255,255,255,.22)}.resource-number{font-family:'League Spartan',sans-serif;font-size:60px;font-weight:800;opacity:.35}.resource-card>span{text-transform:uppercase;letter-spacing:1.5px;font-size:9px;margin-top:45px}.resource-card h2{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:38px;line-height:.95;margin:16px 0}.resource-card p{font-size:13px;line-height:1.7}.resource-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.5);padding-top:18px;display:flex;justify-content:space-between;align-items:center}.resource-footer b{font-size:10px;text-transform:uppercase}.resource-footer button{border:1px solid currentColor;background:transparent;color:inherit;padding:10px;font-size:9px;text-transform:uppercase}.library-preview{padding:105px 5vw;background:var(--blush);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.library-preview>div:first-child>p:not(.eyebrow){font-size:14px;line-height:1.75;color:var(--muted)}.portal-card{background:#fff;border:1px solid var(--line);box-shadow:0 24px 80px rgba(73,21,47,.12)}.portal-head{padding:16px 18px;background:var(--berry);color:#fff;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.portal-head i{color:#ff8acb}.portal-product{padding:18px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--line)}.portal-product:last-child{border:0}.portal-art{width:48px;height:48px;background:var(--pink);color:#fff;display:grid;place-items:center;font-family:'League Spartan',sans-serif;font-weight:800}.portal-product>div:nth-child(2){display:flex;flex-direction:column;gap:5px}.portal-product span{font-size:10px;color:var(--muted)}.portal-product button{background:var(--ink);color:#fff;border:0;padding:10px 13px;font-size:9px}.portal-product.locked{opacity:.55}.security-note{padding:95px 5vw;background:var(--paper)}.security-note>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.security-note p{font-size:13px;line-height:1.7;color:var(--muted)}.security-note b{color:var(--ink)}
.about-hero{padding:80px 5vw 95px;background:var(--berry);color:#fff;display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center}.about-photo{height:590px}.about-photo img{object-position:center top;filter:saturate(.8)}.about-hero h1{font-size:clamp(50px,5.5vw,84px)}.about-hero>div:last-child>p:last-child{font-family:'Instrument Serif',serif;font-style:italic;font-size:25px;line-height:1.45;color:#eadbe4;max-width:620px}.story-section{padding:105px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.experience-band{background:linear-gradient(100deg,var(--pink),var(--orange));color:#fff;padding:30px 5vw;display:flex;justify-content:space-between;gap:30px}.experience-band p{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-weight:800}.expertise-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.expertise-cards>div{border:1px solid var(--line);padding:24px;min-height:180px}.expertise-cards span{color:var(--pink);font-size:10px}.expertise-cards h3{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:23px}
footer{padding:60px 5vw 30px;background:#0e090d;color:#fff;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:start}.footer-brand{width:max-content}footer p{margin:0;color:#bdb1b9;font-size:12px}footer>div:last-of-type{display:flex;justify-content:flex-end;gap:24px;font-size:11px}footer small{grid-column:1/-1;margin-top:35px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);color:#766c72}
@media(max-width:1000px){.nav-wrap nav{gap:18px}.path-grid{grid-template-columns:1fr 1fr}.session-grid,.resources-grid{grid-template-columns:1fr}.session-card{min-height:450px}.page-hero,.visual-intro,.library-preview{grid-template-columns:1fr}.page-hero-image{height:450px}.image-collage{height:520px}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line);margin:0;min-height:320px}.booking-flow>div{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.nav-wrap nav{display:none}.mobile-nav{display:block}.mobile-nav summary{list-style:none;border:1px solid var(--ink);padding:10px 14px;font-size:11px;text-transform:uppercase;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav>div{position:absolute;right:5vw;top:70px;width:220px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 18px 40px rgba(23,16,22,.12);display:flex;flex-direction:column;padding:10px}.mobile-nav a{padding:11px;border-bottom:1px solid var(--line);font-size:12px}.hero{grid-template-columns:1fr;padding-top:55px}.hero h1{letter-spacing:-2px}.hero-visual{max-width:620px}.image-frame{height:500px}.problem-strip,.split-section,.story-section,.home-about{grid-template-columns:1fr}.fit-section{grid-template-columns:1fr}.security-note>div,.expertise-cards{grid-template-columns:1fr 1fr}.about-hero{grid-template-columns:1fr}.about-photo{height:520px}.experience-band{flex-direction:column;gap:5px}.page-hero-image figcaption{left:12px}}
@media(max-width:540px){.nav-wrap{height:74px;padding:0 6vw}.brand-mark{font-size:27px}.hero,.page-hero{padding:48px 6vw 70px;min-height:auto}.hero h1,.page-hero h1,.about-hero h1{font-size:47px}.hero-intro,.page-intro{font-size:15px}.button-row{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{gap:20px;justify-content:space-between}.hero-proof strong{font-size:22px}.hero-proof span{font-size:8px}.image-frame{height:410px}.image-note{left:12px;bottom:-28px}.section,.split-section,.booking-flow,.library-preview,.security-note,.story-section,.contact-band,.home-about{padding:75px 6vw}.section-heading h2,.visual-copy h2,.split-section h2,.contact-band h2,.home-about h2,.story-section h2,.library-preview h2,.security-note h2{font-size:38px}.image-collage{height:auto;grid-template-columns:1fr}.image-collage img,.image-collage .collage-large{height:320px}.path-grid{grid-template-columns:1fr}.path-card{min-height:260px;border-right:0;border-bottom:1px solid var(--line);margin:0;padding-right:0}.path-card h3{margin-top:32px}.page-hero-image{height:340px}.booking-flow>div,.security-note>div,.expertise-cards{grid-template-columns:1fr}.fit-block{padding:70px 6vw}.about-hero{padding:65px 6vw}.about-photo{height:430px}.portal-product{grid-template-columns:42px 1fr}.portal-product button{grid-column:2}.resource-card{min-height:420px}footer{grid-template-columns:1fr;padding:55px 6vw 28px}footer>div:last-of-type{justify-content:flex-start;flex-wrap:wrap}footer small{grid-column:1}}

/* Insights, enquiry and customer-facing resource content */
.insights-heading h2,.enquiry-copy h2,.resource-value h2,.resource-cta h2{font-family:'League Spartan',sans-serif;font-size:clamp(40px,5vw,67px);font-weight:800;line-height:.95;letter-spacing:-2px;text-transform:uppercase;margin:0 0 24px}
.insights-section{background:var(--berry);color:#fff}.insights-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end;margin-bottom:55px}.insights-heading h2{max-width:820px}.insights-heading>p{color:#d9cbd4;line-height:1.75;font-size:13px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.4)}.article-grid article{min-height:340px;padding:27px 28px 10px 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column}.article-grid article:last-child{border:0;margin:0}.article-grid span{color:#ff8acb;text-transform:uppercase;letter-spacing:1.5px;font-size:9px}.article-grid h3{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:28px;line-height:1;margin:45px 0 18px}.article-grid p{color:#d9cbd4;font-size:13px;line-height:1.7}.article-grid a{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.4);font-size:10px;text-transform:uppercase;font-weight:700}.insights-note{margin:28px 0 0;color:#cdbdc7;font-size:10px;font-style:italic}
.enquiry-section{padding:110px 5vw;background:var(--blush);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.enquiry-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75;font-size:14px;max-width:560px}.enquiry-copy>div{display:flex;flex-direction:column;gap:10px;margin-top:38px;font-size:12px}.enquiry-copy a{text-decoration:underline;font-weight:700}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.enquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.enquiry-form .full-field{grid-column:1/-1}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 2px;border-radius:0;outline:none;color:var(--ink);text-transform:none;letter-spacing:0;font-size:13px}.enquiry-form textarea{border:1px solid var(--line);padding:12px;resize:vertical}.enquiry-form button{grid-column:1/-1;justify-self:start}
.resource-value{padding:105px 5vw;background:var(--blush);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.resource-value>div:first-child>p:not(.eyebrow){color:var(--muted);line-height:1.75;font-size:14px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-grid article{border-top:2px solid var(--ink);padding-top:18px}.value-grid span{color:var(--pink);font-size:10px}.value-grid h3{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:25px}.value-grid p{color:var(--muted);font-size:12px;line-height:1.65}.resource-cta{padding:105px 5vw;background:var(--berry);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.resource-cta p{color:#d9cbd4;line-height:1.75;font-size:13px}.resource-cta .button{margin-top:20px}
@media(max-width:1100px){.nav-wrap nav{gap:16px;font-size:11px}.nav-cta{padding:12px}}
@media(max-width:1000px){.resource-value{grid-template-columns:1fr}.value-grid{margin-top:10px}}
@media(max-width:820px){.nav-wrap nav{display:none}.mobile-nav{display:block}.insights-heading,.enquiry-section,.resource-cta{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr}.article-grid article{min-height:250px;border-right:0;border-bottom:1px solid rgba(255,255,255,.25);margin:0;padding-right:0}.article-grid h3{margin-top:30px}}
@media(max-width:540px){.enquiry-section,.resource-value,.resource-cta{padding:75px 6vw}.insights-heading h2,.enquiry-copy h2,.resource-value h2,.resource-cta h2{font-size:38px}.value-grid,.enquiry-form{grid-template-columns:1fr}.enquiry-form label,.enquiry-form button{grid-column:1}}

/* Launch products and Alternative Fashion & Fabric Fair */
.event-ribbon{min-height:38px;padding:9px 5vw;background:var(--ink);color:#fff;display:flex;justify-content:center;gap:12px;align-items:center;font-size:10px;letter-spacing:.5px}.event-ribbon b{color:#ff8acb;text-transform:uppercase;letter-spacing:1px}
.offer-card{background:var(--paper);display:flex;flex-direction:column;min-width:0}.offer-card.featured{outline:5px solid var(--pink);outline-offset:-5px}.offer-copy{padding:26px;display:flex;flex:1;flex-direction:column}.offer-copy>span{text-transform:uppercase;letter-spacing:1.5px;font-size:9px;color:var(--pink)}.offer-copy h2{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:31px;line-height:.95;margin:18px 0}.offer-copy p{font-size:12px;line-height:1.7;color:var(--muted)}.price-line{display:flex;gap:32px;border-top:1px solid var(--line);margin-top:16px;padding-top:18px}.price-line div{display:flex;flex-direction:column}.price-line small{text-transform:uppercase;letter-spacing:1px;font-size:8px;color:var(--muted)}.price-line s{font-size:18px;color:var(--muted)}.price-line strong{font-family:'League Spartan',sans-serif;font-size:34px;color:var(--pink)}.saving{font-size:9px;text-transform:uppercase;letter-spacing:.5px;margin:10px 0 22px}.offer-copy .button{margin-top:auto}
.product-cover{aspect-ratio:4/4.7;padding:28px;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--pink),var(--coral))}.product-cover:after{content:"";position:absolute;inset:-30% -55% 45% 25%;transform:rotate(-25deg);background:rgba(255,255,255,.13)}.product-cover.cover-berry{background:linear-gradient(145deg,var(--berry),#7e204f)}.product-cover.cover-orange{background:linear-gradient(145deg,var(--orange),var(--coral))}.product-cover>span{font-size:8px;letter-spacing:3px;z-index:1}.product-cover strong{font-family:'League Spartan',sans-serif;font-size:clamp(31px,3vw,46px);line-height:.9;text-transform:uppercase;margin:auto 0 18px;z-index:1}.product-cover em{font-family:'Instrument Serif',serif;font-size:20px;z-index:1}.product-cover i{font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:1px;margin-top:32px;padding-top:14px;border-top:1px solid rgba(255,255,255,.6);z-index:1}
.individual-products{background:var(--paper)}.individual-list{border-top:1px solid var(--ink);margin-bottom:25px}.individual-list div{display:grid;grid-template-columns:50px 1fr auto;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.individual-list span{font-size:9px;color:var(--pink)}.individual-list b{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:19px}.individual-list strong{font-family:'League Spartan',sans-serif;font-size:24px}
.offer-copy .offer-lead{font-size:14px;color:var(--ink);font-weight:600}.offer-outcome{margin:12px 0;padding:16px;background:var(--blush);border-left:3px solid var(--pink)}.offer-outcome>b{text-transform:uppercase;letter-spacing:1px;font-size:10px}.offer-outcome p{margin:7px 0 0}.bundle-contents{margin:10px 0 18px;border-top:1px solid var(--line)}.bundle-contents>b{display:block;padding:15px 0 8px;text-transform:uppercase;letter-spacing:1px;font-size:10px}.bundle-contents>div{padding:11px 0;border-bottom:1px solid var(--line)}.bundle-contents strong{font-size:12px}.bundle-contents p{margin:4px 0 0;font-size:11px;line-height:1.55}
.individual-list details{border-bottom:1px solid var(--line)}.individual-list summary{list-style:none;display:grid;grid-template-columns:50px minmax(0,1fr) auto 30px;gap:20px;padding:22px 0;align-items:center;cursor:pointer}.individual-list summary::-webkit-details-marker{display:none}.individual-title{display:flex;flex-direction:column;gap:6px}.individual-list .individual-title small{color:var(--muted);font-size:13px;line-height:1.5}.individual-list summary>i{font-style:normal;font-size:24px;text-align:center;transition:transform .2s}.individual-list details[open] summary>i{transform:rotate(45deg)}.individual-list .individual-detail{display:grid;grid-template-columns:1fr auto;gap:35px;padding:0 50px 24px;border:0;align-items:center}.individual-detail p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.individual-detail .button{white-space:nowrap}.event-products{background:var(--blush)}
.event-hero{padding:80px 5vw 95px;display:grid;grid-template-columns:1.1fr .55fr;gap:9vw;align-items:center;background:var(--blush)}.event-hero h1{font-family:'League Spartan',sans-serif;font-size:clamp(53px,6.2vw,92px);font-weight:800;line-height:.87;letter-spacing:-3px;text-transform:uppercase;margin:0}.event-hero>div>p:not(.eyebrow){font-size:16px;line-height:1.75;color:var(--muted);max-width:690px}.event-problems{padding:28px 5vw;background:linear-gradient(100deg,var(--pink),var(--orange));color:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.event-problems p{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-weight:800;text-align:center}
.event-kicker{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 38px;color:var(--pink)!important;font-family:'League Spartan',sans-serif;font-size:clamp(38px,4.3vw,68px)!important;font-weight:800;line-height:.9!important;text-transform:uppercase;letter-spacing:-1.5px;max-width:900px}.event-kicker span{display:inline-block;background:var(--ink);color:#fff;padding:10px 14px;font-family:'Manrope',sans-serif;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:1.7px}
.event-offers{background:var(--paper)}.event-offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.event-offer-grid article{border:1px solid var(--line);padding:28px;min-height:620px;display:flex;flex-direction:column}.event-offer-grid article.featured{background:var(--berry);color:#fff;border:0}.event-offer-grid>article>span{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--pink)}.event-offer-grid h3{font-family:'League Spartan',sans-serif;text-transform:uppercase;font-size:29px;line-height:1;margin:35px 0 16px}.event-offer-grid p{font-size:12px;line-height:1.65;color:var(--muted)}.event-offer-grid .featured p{color:#ddd0d8}.event-offer-lead{font-weight:600;color:var(--ink)!important}.event-offer-grid .featured .event-offer-lead{color:#fff!important}.event-bundle-contents{margin:16px 0 22px;border-top:1px solid currentColor}.event-bundle-contents>b{display:block;padding:15px 0 7px;text-transform:uppercase;letter-spacing:1px;font-size:10px}.event-bundle-contents>div{padding:9px 0;border-bottom:1px solid rgba(108,98,105,.28)}.event-bundle-contents strong{font-size:12px}.event-bundle-contents p{margin:3px 0 0;font-size:11px;line-height:1.5}.event-price{display:flex;align-items:baseline;gap:12px;margin-top:auto}.event-price>strong{font-family:'League Spartan',sans-serif;font-size:48px}.event-price s{font-size:10px;color:var(--muted)}.event-offer-grid .featured .event-price s{color:#cfbec8}.event-offer-grid a{margin-top:18px;border-top:1px solid currentColor;padding-top:16px;text-transform:uppercase;font-size:9px;font-weight:700}.offer-note{font-size:10px;color:var(--muted);margin-top:25px}
.event-contact{padding:100px 5vw;background:var(--berry);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.event-contact h2{font-family:'League Spartan',sans-serif;font-size:clamp(40px,5vw,67px);font-weight:800;line-height:.95;letter-spacing:-2px;text-transform:uppercase;margin:0 0 24px}.event-contact>div>p:not(.eyebrow){font-size:13px;line-height:1.75;color:#d9cbd4}.event-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.event-form label{display:flex;flex-direction:column;gap:7px;font-size:8px;text-transform:uppercase;letter-spacing:1px}.event-form input,.event-form select,.event-form textarea{border:0;border-bottom:1px solid #fff;background:transparent;color:#fff;padding:11px 2px;outline:0;text-transform:none;letter-spacing:0;font-size:12px}.event-form select option{color:var(--ink)}.event-form textarea{border:1px solid rgba(255,255,255,.4);padding:10px}.event-form .full-field,.event-form button,.event-form small{grid-column:1/-1}.event-form button{justify-self:start}.event-form small{color:#cbbbc5;font-size:8px;line-height:1.6}
.event-sticky-cta{display:none;position:fixed;left:18px;right:18px;bottom:16px;z-index:40;background:var(--pink);color:#fff;padding:15px 18px;text-align:center;font-size:12px;font-weight:700;box-shadow:0 12px 35px rgba(23,16,22,.3)}.event-prompt-backdrop{position:fixed;inset:0;background:rgba(23,16,22,.58);z-index:49}.event-prompt{position:fixed;right:3vw;bottom:3vw;z-index:50;width:min(430px,94vw);padding:34px;background:var(--paper);box-shadow:0 24px 80px rgba(23,16,22,.35)}.event-prompt h2{font-family:'League Spartan',sans-serif;font-size:38px;line-height:.95;text-transform:uppercase;margin:0 0 16px}.event-prompt>p:not(.eyebrow){font-size:14px;line-height:1.65;color:var(--muted)}.event-prompt small{display:block;margin-top:14px;font-size:10px;line-height:1.5;color:var(--muted)}.event-prompt-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}
@media(max-width:900px){.event-hero,.event-contact{grid-template-columns:1fr}.event-hero .product-cover{max-width:420px}.event-offer-grid{grid-template-columns:1fr}.event-offer-grid article{min-height:360px}}
@media(max-width:540px){.event-ribbon{align-items:flex-start;flex-direction:column;gap:2px;padding:10px 6vw}.event-hero,.event-contact{padding:60px 6vw}.event-hero h1{font-size:46px;letter-spacing:-2px}.event-problems{grid-template-columns:1fr;gap:0;padding:22px 6vw}.event-problems p{text-align:left;margin:7px 0}.event-form{grid-template-columns:1fr}.event-form label,.event-form button,.event-form small{grid-column:1}.individual-list summary{grid-template-columns:28px minmax(0,1fr) auto 20px;gap:8px}.individual-list b{font-size:16px}.individual-list .individual-title small{font-size:12px}.individual-list .individual-detail{grid-template-columns:1fr;padding:0 28px 24px;gap:18px}.individual-detail .button{white-space:normal}.event-sticky-cta{display:block}.event-prompt{right:3vw;bottom:3vw;padding:28px}.event-prompt h2{font-size:32px}}

/* Aligned expandable product information */
body{overflow-x:hidden}.resources-grid,.event-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-card,.event-offer-grid article{overflow:hidden}.offer-copy h2,.event-offer-grid h3{overflow-wrap:anywhere}
.bundle-contents,.event-bundle-contents{margin:10px 0 18px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.bundle-contents summary,.event-bundle-contents summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;cursor:pointer}.bundle-contents summary::-webkit-details-marker,.event-bundle-contents summary::-webkit-details-marker{display:none}.bundle-contents summary b,.event-bundle-contents summary b{text-transform:uppercase;letter-spacing:1px;font-size:10px}.bundle-contents summary i,.event-bundle-contents summary i{font-style:normal;font-size:22px;line-height:1;transition:transform .2s}.bundle-contents[open] summary i,.event-bundle-contents[open] summary i{transform:rotate(45deg)}
.bundle-content-list,.event-content-list{padding-bottom:8px}.bundle-content-list>div,.event-content-list>div{padding:10px 0;border-top:1px solid rgba(108,98,105,.25)}.bundle-content-list strong,.event-content-list strong{font-size:12px}.bundle-content-list p,.event-content-list p{margin:4px 0 0;font-size:11px;line-height:1.55}.event-price{margin-top:0}
.individual-products>.section-heading,.event-products>.section-heading,.individual-products>.individual-list,.event-products>.individual-list{width:min(1120px,100%);margin-left:auto;margin-right:auto}.individual-list summary{grid-template-columns:48px minmax(0,1fr) 90px 28px}.individual-list summary>span:first-child{text-align:left}.individual-list summary>strong{text-align:right}.individual-list .individual-detail{grid-template-columns:minmax(0,1fr) auto;padding:0 0 24px 68px}.individual-detail .button{justify-self:end}
@media(max-width:1000px){.resources-grid,.event-offer-grid{grid-template-columns:1fr}.offer-card,.event-offer-grid article{max-width:720px;width:100%;margin:0 auto}}
@media(max-width:540px){.individual-list summary{grid-template-columns:28px minmax(0,1fr) 55px 20px}.individual-list .individual-detail{grid-template-columns:1fr;padding:0 0 24px 36px}.individual-detail .button{justify-self:start}}
@media(max-width:540px){.event-kicker{font-size:38px!important;line-height:.92!important;margin-bottom:30px;letter-spacing:-1px}.event-kicker span{font-size:10px}}

/* Resource-page editorial cards use the same approved structure in a light treatment. */
.resource-insights{background:var(--blush);color:var(--ink)}.resource-insights .insights-heading>p,.resource-insights .article-grid p{color:var(--muted)}.resource-insights .article-grid{border-top-color:var(--ink)}.resource-insights .article-grid article{border-right-color:var(--line)}.resource-insights .article-grid a{border-top-color:var(--line)}.resource-insights .article-grid h3{font-size:28px;text-transform:uppercase;line-height:1;letter-spacing:0}

/* WordPress rendering bridge: preserves the approved site proportions and forms. */
[hidden]{display:none!important}.wp-site-blocks{padding:0!important;overflow:visible}.wp-site-blocks>*{margin-block-start:0!important}.approved-site{margin:0}.approved-site img{display:block;width:100%;height:100%;object-fit:cover}
.enquiry-section>.wp-block-shortcode,.event-contact>.wp-block-shortcode{margin:0;width:100%}.enquiry-section .jok-enquiry-form,.event-contact .jok-enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0}.enquiry-section .jok-enquiry-form label,.event-contact .jok-enquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.enquiry-section .jok-enquiry-form .full-field,.event-contact .jok-enquiry-form .full-field,.enquiry-section .jok-enquiry-form button,.event-contact .jok-enquiry-form button{grid-column:1/-1}.enquiry-section .jok-enquiry-form input,.enquiry-section .jok-enquiry-form select,.enquiry-section .jok-enquiry-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 2px;border-radius:0;color:var(--ink);font-size:13px}.enquiry-section .jok-enquiry-form textarea{border:1px solid var(--line);padding:12px}.enquiry-section .jok-enquiry-form button{background:var(--ink);color:#fff;padding:16px 22px;border:0;justify-self:start}.event-contact .jok-enquiry-form input,.event-contact .jok-enquiry-form select,.event-contact .jok-enquiry-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.7);background:transparent;padding:12px 2px;border-radius:0;color:#fff;font-size:13px}.event-contact .jok-enquiry-form select option{color:var(--ink)}.event-contact .jok-enquiry-form textarea{border:1px solid rgba(255,255,255,.35);padding:12px}.event-contact .jok-enquiry-form button{background:var(--pink);color:#fff;padding:16px 22px;border:0;justify-self:start}
.jok-consent{grid-column:1/-1!important;display:grid!important;grid-template-columns:auto 1fr!important;align-items:start}.jok-consent input{width:auto!important;margin:3px 8px 0 0!important}.jok-honeypot{position:absolute!important;left:-9999px!important}.jok-form-notice{grid-column:1/-1}
.event-prompt{width:min(620px,94vw);max-height:90vh;overflow:auto}.event-prompt .wp-block-shortcode{margin-top:20px}.event-prompt .jok-enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.event-prompt .jok-enquiry-form label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;display:flex;flex-direction:column;gap:6px}.event-prompt .jok-enquiry-form .full-field,.event-prompt .jok-enquiry-form button,.event-prompt .jok-consent{grid-column:1/-1}.event-prompt .jok-enquiry-form input,.event-prompt .jok-enquiry-form select,.event-prompt .jok-enquiry-form textarea{width:100%;padding:10px;border:1px solid var(--line);background:#fff;color:var(--ink);box-sizing:border-box}.event-prompt .jok-enquiry-form textarea{min-height:80px}.event-prompt .jok-enquiry-form button{justify-self:start;background:var(--pink);color:#fff;border:0;padding:14px 18px;font-weight:700}.event-prompt-open.text-link{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);cursor:pointer}.event-sticky-cta{display:block;width:auto;border:0;left:auto;right:18px;bottom:18px}
.contact-page{min-height:650px;align-items:center}.approved-footer{box-sizing:border-box;padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}.approved-footer .footer-links{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}.jok-form-privacy{margin:0;font-size:10px;line-height:1.55;color:var(--muted);text-transform:none!important;letter-spacing:0!important}.event-contact .jok-form-privacy{color:rgba(255,255,255,.78)}.event-prompt .jok-form-privacy{color:var(--muted)}
@media(max-width:820px){.enquiry-section .jok-enquiry-form,.event-contact .jok-enquiry-form{grid-template-columns:1fr}.enquiry-section .jok-enquiry-form label,.event-contact .jok-enquiry-form label,.enquiry-section .jok-enquiry-form button,.event-contact .jok-enquiry-form button{grid-column:1}.event-sticky-cta{left:18px;right:18px;width:calc(100% - 36px)}}
@media(max-width:540px){.event-prompt .jok-enquiry-form{grid-template-columns:1fr}.event-prompt .jok-enquiry-form label,.event-prompt .jok-enquiry-form button{grid-column:1}.event-prompt{padding:24px}.contact-page{min-height:auto}.image-collage img{height:230px}.image-collage .collage-large{height:320px}.approved-footer .footer-links{justify-content:flex-start}}

/* Final approved-layout safeguards for WordPress rendering. */
body{font-size:16px}.nav-wrap,.hero,.page-hero{padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}
.section,.split-section,.booking-flow,.home-about,.story-section,.contact-band,.about-hero,.resource-value,.resource-cta,.enquiry-section,.event-hero,.event-contact,.event-offers,.event-products{padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}
.contact-page{min-height:auto;align-items:start;padding-top:105px;padding-bottom:105px}
.article-grid h3 a{color:inherit;text-decoration:none}.article-grid h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.approved-footer{grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) minmax(390px,1.4fr);align-items:start}.approved-footer p{font-size:14px;line-height:1.65}.approved-footer .footer-links{display:grid;grid-template-columns:repeat(2,max-content);justify-content:end;gap:16px 28px;font-size:14px}.approved-footer .footer-links a{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.approved-footer .footer-links a:hover span:last-child{text-decoration:underline;text-underline-offset:4px}.footer-icon{width:32px;height:32px;padding:6px;border:1px solid rgba(255,255,255,.5);border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.approved-footer small{font-size:12px}
@media(max-width:820px){.approved-footer{grid-template-columns:1fr 1fr}.approved-footer .footer-links{grid-column:1/-1;justify-content:start}.approved-footer small{grid-column:1/-1}}
@media(max-width:540px){.approved-footer{grid-template-columns:1fr}.approved-footer .footer-links{grid-template-columns:1fr 1fr}.contact-page{padding-top:75px;padding-bottom:75px}}

/* Final reviewed alignment and typography safeguards. */
.article-grid h3,.resource-insights .article-grid h3{font-size:clamp(34px,2.35vw,42px);line-height:.98;letter-spacing:-.7px}
.article-grid h3 a,.resource-insights .article-grid h3 a{font-size:inherit!important;line-height:inherit!important;text-transform:inherit!important;font-weight:inherit!important;border:0!important;padding:0!important;margin:0!important}
.article-grid article>a{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.4);font-size:10px;text-transform:uppercase;font-weight:700}

/* The approved contact treatment: split layout, transparent fields and rules. */
.enquiry-section>.wp-block-shortcode,.contact-page>.wp-block-shortcode,.enquiry-form-column{align-self:start;background:transparent!important;color:var(--ink)!important;padding:0!important;box-shadow:none!important}
.enquiry-section .jok-enquiry-form,.contact-page .jok-enquiry-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 30px!important;margin:0!important}
.enquiry-section .jok-enquiry-form label,.contact-page .jok-enquiry-form label{gap:9px!important;font-size:10px!important;letter-spacing:1.1px!important;color:var(--ink)!important}
.enquiry-section .jok-enquiry-form input,.enquiry-section .jok-enquiry-form select,.contact-page .jok-enquiry-form input,.contact-page .jok-enquiry-form select{padding:12px 2px!important;border:0!important;border-bottom:1px solid var(--ink)!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important}
.enquiry-section .jok-enquiry-form textarea,.contact-page .jok-enquiry-form textarea{padding:12px!important;border:1px solid var(--line)!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important}
.enquiry-section .jok-enquiry-form input:focus,.enquiry-section .jok-enquiry-form select:focus,.enquiry-section .jok-enquiry-form textarea:focus,.contact-page .jok-enquiry-form input:focus,.contact-page .jok-enquiry-form select:focus,.contact-page .jok-enquiry-form textarea:focus{outline:2px solid rgba(247,37,168,.24)!important;outline-offset:2px}

/* One-line desktop footer: statement followed by all contact/social links. */
.approved-footer{grid-template-columns:auto minmax(250px,1fr) auto;column-gap:72px;align-items:center}
.approved-footer>p{white-space:nowrap}.approved-footer .footer-links{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:22px}.approved-footer .footer-links a{white-space:nowrap}.approved-footer small{grid-column:1/-1;width:100%}

/* Lock equivalent content rows across all three session cards. */
@media(min-width:1001px){
  .service-card h2{min-height:81px;display:flex;align-items:flex-start}.service-card>p{min-height:112px;margin-top:0}.service-card .service-footer{min-height:62px}
  .session-card{min-height:640px}
  .session-card .session-top{height:34px;min-height:34px}
  .session-card .session-price{height:70px;min-height:70px;margin-top:30px}
  .session-card h2{height:82px;min-height:82px;margin:22px 0 0;display:flex;align-items:flex-start}
  .session-card .session-duration{height:22px;min-height:22px}
  .session-card>p{height:132px;min-height:132px;margin:24px 0 18px}
}
@media(max-width:1180px) and (min-width:1001px){.approved-footer{grid-template-columns:auto 1fr}.approved-footer .footer-links{grid-column:1/-1;justify-content:flex-start}.approved-footer>p{white-space:normal}}
@media(max-width:820px){.enquiry-section .jok-enquiry-form,.contact-page .jok-enquiry-form{grid-template-columns:1fr!important}.approved-footer{grid-template-columns:1fr}.approved-footer>p{white-space:normal}.approved-footer .footer-links{grid-column:1;flex-wrap:wrap;justify-content:flex-start}}
