@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@600;700&family=Lobster&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1d1431;--pink:#cd176e;--blue:#1776c4;--line:#e8e3eb;--soft:#fcf5f9;--muted:#635c6c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}header{max-width:1440px;margin:auto;min-height:104px;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;line-height:1.2}.brand img{object-fit:contain;border-radius:50%}.brand-small{display:block;font-size:12px;letter-spacing:2.5px;margin-top:7px}nav{display:flex;gap:30px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:17px 24px;border-radius:8px;background:var(--pink);color:white;font-weight:700;font-size:15px;border:1px solid var(--pink);transition:background .2s,transform .2s}.button:hover{background:#ac0e59;transform:translateY(-2px)}.button.small{padding:12px 18px;font-size:14px}.button span{font-size:22px;line-height:1}.hero{padding:65px 5% 0;max-width:1440px;margin:auto;text-align:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--pink);margin-bottom:24px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--pink);border-radius:50%;margin-right:7px}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;margin:0;line-height:1.1}h1{font-size:clamp(56px,7.6vw,104px);font-weight:800;letter-spacing:-5px}em{font-style:normal;color:var(--pink)}.hero p{font-size:19px;line-height:1.65;margin:27px 0;color:var(--muted)}.actions{display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap}.text-link{font-size:15px;font-weight:700}.text-link span{margin-left:14px}.hero-caption{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:1.4px;margin-top:64px;margin-bottom:12px;color:var(--muted)}figure{margin:0;border-radius:20px;overflow:hidden;background:var(--soft)}figure img{display:block;width:100%;height:auto}.ribbon{max-width:1296px;margin:0 auto;display:flex;justify-content:space-around;gap:16px;align-items:center;padding:29px 5%;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.ribbon i{color:var(--pink);font-style:normal}.section{max-width:1296px;margin:auto;padding:110px 5%}h2{font-size:clamp(38px,4.4vw,60px);letter-spacing:-2.6px;font-weight:800}.section p{color:var(--muted);max-width:480px}.experience{display:grid;grid-template-columns:1fr 1fr;gap:10%}.experience>div>p{margin-top:28px}.steps article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.number{color:var(--pink);font-family:'Manrope',sans-serif;font-size:28px;font-weight:500}.steps h3{font-size:21px;letter-spacing:-.5px}.steps p{margin:10px 0 0}.locations{background:var(--soft);border-radius:24px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.section-heading>p{max-width:310px}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.location-grid a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;transition:border-color .2s,transform .2s}.location-grid a:hover{border-color:var(--pink);transform:translateY(-3px)}.town{font-size:11px;letter-spacing:1.5px;font-weight:700;color:var(--pink)}.location-grid h3{font-size:22px;margin:13px 0 34px;letter-spacing:-.7px}.location-grid a>span:last-child{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.location-grid b{font-size:20px;color:var(--pink)}.note{font-size:13px;max-width:none!important;margin-bottom:0;margin-top:25px}.venues{display:grid;grid-template-columns:1fr 1fr;gap:10%}.venue-intro>p{margin:28px 0}.credentials article{padding:25px 0;border-bottom:1px solid var(--line)}.credentials article:first-child{padding-top:0}.credentials span{font-size:11px;letter-spacing:1.7px;color:var(--pink);font-weight:700}.credentials h3{margin-top:12px;font-size:23px;letter-spacing:-.6px}.credentials p{margin-bottom:0}.contact{text-align:center;background:#20112e;color:white;max-width:none;padding-top:70px;padding-bottom:80px}.contact img{border-radius:50%;margin-bottom:28px}.contact .eyebrow{color:#ffa2d2}.contact em{color:#ff90c7}.contact p{max-width:none;color:#d0c4d8;margin:28px 0}.outline{background:transparent;border-color:#887b91}.outline:hover{background:#3b274b}.contact .actions{gap:15px}footer{max-width:1440px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:30px 5%;font-size:12px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:900px){header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:15px}.hero{padding-top:45px}h1{letter-spacing:-3px}.section{padding:75px 6%}.experience,.venues{gap:7%}.location-grid{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.section-heading>p{max-width:480px}.ribbon{flex-wrap:wrap}.ribbon i{display:none}footer{flex-wrap:wrap}}@media(max-width:600px){header{padding:12px 5%;gap:15px}.brand{font-size:14px;gap:6px}.brand img{width:47px;height:47px}.brand-small{font-size:10px;letter-spacing:1.5px}.button.small{padding:9px 12px;font-size:12px}.button.small span{display:none}nav{gap:27px;font-size:13px}.hero{padding-top:35px}h1{font-size:57px;letter-spacing:-3.6px}.hero p{font-size:17px}.desktop{display:none}.actions{gap:20px}.hero-caption{margin-top:40px;font-size:9px;letter-spacing:.4px;gap:20px;text-align:left}.hero-caption span:last-child{text-align:right}figure{border-radius:10px}.ribbon{font-size:12px;padding:22px 5%;gap:10px 25px}.experience,.venues{grid-template-columns:1fr;gap:35px}.section{padding:60px 6%}h2{font-size:42px;letter-spacing:-2px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:20px}.location-grid{grid-template-columns:1fr;gap:12px;margin-top:30px}.location-grid a{padding:23px}.location-grid h3{margin-bottom:20px}.locations{border-radius:0}.contact p{font-size:16px}.contact .actions{flex-direction:column}.contact .button{min-width:245px}footer{flex-direction:column;gap:8px}.steps h3{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Clear candy-colour surfaces and stronger supporting typography. */
:root{--muted:#51465e;--line:#dac9dc;--soft:#fce3ef}
body{background:#fce8f2}
header,footer{background:#fff8fc}
.hero{background:linear-gradient(150deg,#fbd4e8 0%,#fce8f2 52%,#dceefb 100%);padding-bottom:28px}
.hero p,.section p{font-weight:500}
strong{font-weight:800;color:var(--ink)}
.ribbon{background:#f7cee3;font-weight:700;border-color:#e0aeca}
.experience{background:#eff7ff}
.locations{background:#f8d5e7;border-radius:0}
.venues{background:#eff7ff}
.location-grid a{border-color:#e7b8cf;box-shadow:0 4px 14px #7b345d08}
.steps article,.credentials article{border-color:#c8d9e9}
.brand-small,.eyebrow,.hero-caption,.town,.credentials span{font-size:14px;font-weight:800}
.hero-caption{letter-spacing:.7px;flex-wrap:wrap;gap:10px}
nav,.ribbon,.location-grid a>span:last-child{font-size:16px;font-weight:700}
.note,footer{font-size:14px}
.button{font-size:16px}
.whatsapp{background:#147c43;border-color:#147c43;gap:12px}
.whatsapp:hover{background:#0e6234;border-color:#0e6234}
.whatsapp svg{flex-shrink:0}
.contact p{color:#eee3f4}
@media(max-width:600px){.brand-small{font-size:12px}.button.small{font-size:14px}.eyebrow,.town,.credentials span{font-size:14px;letter-spacing:1px}.hero-caption{font-size:12px;letter-spacing:.3px}.ribbon{font-size:14px}nav{font-size:14px;gap:20px}.contact .button{width:100%;max-width:330px}.hero{padding-bottom:20px}}

/* Centre the original logo as the header's main brand element. */
header{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;min-height:180px;padding:10px 5%;background:#fff}
header .brand{grid-column:2;grid-row:1;justify-self:center;display:block;line-height:0}
header .brand img{width:160px;height:160px;object-fit:contain;border-radius:0}
header nav{grid-column:1;grid-row:1;justify-self:start;gap:22px;flex-wrap:wrap;width:auto;border:0;padding:0;order:initial}
header>.button{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:900px){header{grid-template-columns:1fr auto;gap:8px 20px;min-height:0;padding:8px 5% 18px}header .brand{grid-column:1;justify-self:start}header .brand img{width:124px;height:124px}header>.button{grid-column:2}header nav{grid-column:1 / -1;grid-row:2;justify-self:center;justify-content:center;gap:24px}}
@media(max-width:600px){header .brand img{width:112px;height:112px}header nav{gap:22px}header>.button{padding:12px 16px}}


/* Video presentation and direct contact links. */
.experience{background:#fff8fd;align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8%}
.experience-copy>p{margin:26px 0 32px}
.video-feature{width:100%;max-width:365px;justify-self:center;padding:8px;border-radius:24px;background:linear-gradient(140deg,#ed258e,#6938db,#1bafed);box-shadow:0 20px 45px #50127b25}
.video-feature video{display:block;width:100%;height:auto;aspect-ratio:512 / 910;object-fit:contain;border-radius:17px;background:#1d1031}
.video-feature figcaption{padding:16px 10px 10px;color:#fff;text-align:center;font-size:14px;font-weight:700;background:#281347;margin-top:8px;border-radius:10px}
.video-feature figcaption span{display:block;font-weight:500;margin-top:3px}
.contact .contact-email{margin:-4px 0 28px}
.contact-email a{color:#fff;font-weight:800;text-decoration:underline;text-decoration-color:#ff8dcc;text-underline-offset:6px;font-size:clamp(16px,2.5vw,22px);overflow-wrap:anywhere}
.contact-email a:hover{color:#ffbde3}
@media(max-width:600px){.experience{grid-template-columns:1fr;gap:35px}.video-feature{max-width:330px}.contact .contact-email{margin-bottom:30px}}
.button.facebook{background:#1877f2;border-color:#1877f2;color:#fff;gap:12px}
.button.facebook:hover{background:#0866d9;border-color:#0866d9}
.facebook svg{flex-shrink:0}

/* Pink header blends the logo into the candy palette. */
header{background:linear-gradient(110deg,#fbd0e6,#f7d9f2 55%,#d6eaff);border-bottom:2px solid #e9a5cb}
header .brand img{mix-blend-mode:multiply}

/* A centred brand masthead on desktop and mobile. */
header{grid-template-columns:1fr auto;gap:8px 24px;padding:12px 5% 22px;background:linear-gradient(110deg,#fbd0e6,#f7d9f2 50%,#d6eaff)}
header .brand{grid-column:1 / -1;grid-row:1;justify-self:center}
header .brand img{width:180px;height:180px;mix-blend-mode:multiply}
header nav{grid-column:1;grid-row:2;justify-self:start;justify-content:flex-start;gap:28px}
header>.button{grid-column:2;grid-row:2;justify-self:end}
@media(min-width:901px){header nav{justify-self:end;margin-right:28px}}
@media(max-width:600px){header{grid-template-columns:1fr;gap:16px;padding:12px 5% 22px}header .brand{grid-column:1;grid-row:1;justify-self:center}header .brand img{width:150px;height:150px}header nav{grid-column:1;grid-row:2;justify-self:center;justify-content:center;gap:24px}header>.button{grid-column:1;grid-row:3;justify-self:center}}


/* Blend the machine showcase into the hero instead of framing it as a separate card. */
.hero-caption{align-items:center;margin:58px auto 18px;padding:0 12px;color:#28143a;font-size:16px;font-weight:800;letter-spacing:.8px}
.hero-caption strong{font-family:'Manrope',Arial,sans-serif;font-weight:800;color:#28143a}
.hero-showcase{position:relative;overflow:visible;border-radius:0;background:transparent;isolation:isolate}
.hero-showcase::before{content:"";position:absolute;inset:-8% -3%;z-index:-1;background:radial-gradient(ellipse at center,rgba(221,30,128,.28),rgba(67,151,226,.18) 55%,transparent 76%);filter:blur(24px)}
.hero-showcase img{border-radius:22px;mix-blend-mode:multiply;filter:saturate(1.08) contrast(1.04);box-shadow:0 18px 45px rgba(84,25,103,.16);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 3%,#000 97%,transparent 100%)}
.ribbon span{font-family:'Manrope',Arial,sans-serif;font-weight:800;color:#21102f}
.contact img{width:168px;height:168px;object-fit:contain;border-radius:50%;mix-blend-mode:multiply;filter:saturate(1.3) brightness(1.2) drop-shadow(0 0 24px rgba(255,79,171,.45));opacity:.96}
footer strong{font-family:'Manrope',Arial,sans-serif;font-weight:800;color:#352440;text-align:center}
@media(max-width:600px){.hero-caption{font-size:13px;line-height:1.35;margin-top:42px;padding:0;gap:18px}.hero-showcase img{border-radius:14px}.ribbon span{font-size:15px}.contact img{width:150px;height:150px}footer strong{text-align:left}}

/* Dedicated external actions are easier to recognise and tap in embedded views. */
.location-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7b8cf;border-radius:12px;padding:28px;box-shadow:0 4px 14px #7b345d08}
.location-card h3{font-size:22px;margin:13px 0 28px;letter-spacing:-.7px}
.directions-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:auto;padding:12px 15px;border-radius:8px;background:#1a63c7;color:#fff;font-size:15px;font-weight:800;line-height:1.2;transition:background .2s,transform .2s}
.directions-button:hover{background:#104fa4;transform:translateY(-2px)}
.directions-button svg{flex:0 0 auto}
.contact-email a{display:inline-grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:1px 10px;padding:14px 20px;border:2px solid #ff8dcc;border-radius:10px;background:rgba(255,255,255,.08);text-decoration:none}
.contact-email a svg{grid-row:1 / 3;color:#ff9ed1}
.contact-email a span{font-size:13px;font-weight:700;text-align:left;color:#e9ddea;line-height:1}
.contact-email a strong{font-size:clamp(15px,2.2vw,20px);color:#fff;line-height:1.3;overflow-wrap:anywhere}
.contact-email a:hover{background:rgba(255,255,255,.15);color:#fff}
@media(max-width:600px){.location-card{padding:23px}.location-card h3{margin-bottom:22px}.directions-button{width:100%;min-height:48px}.contact-email a{grid-template-columns:auto minmax(0,1fr);max-width:100%;padding:13px 16px}.contact-email a strong{font-size:15px}}

/* Feather the photographic artwork into the hero gradient. */
.hero{overflow:hidden}
.hero-showcase{width:106%;margin-left:-3%;margin-right:-3%;margin-bottom:-12px}
.hero-showcase::before{inset:-12% -5%;background:radial-gradient(ellipse at center,rgba(225,31,132,.24),rgba(63,145,224,.18) 58%,transparent 82%);filter:blur(32px)}
.hero-showcase img{border-radius:0;box-shadow:none;mix-blend-mode:normal;filter:saturate(1.06) contrast(1.03);-webkit-mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 91%,transparent 100%);mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 91%,transparent 100%)}
[data-external-action].is-opening{opacity:.72;transform:scale(.98)}
@media(max-width:600px){.hero-showcase{width:112%;margin-left:-6%;margin-right:-6%;margin-bottom:-6px}.hero-showcase img{border-radius:0;-webkit-mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 88%,transparent 100%);mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 88%,transparent 100%)}}

/* Native links: no popup or script interception. */
.directions-button,.contact-email a,.contact .actions a{position:relative;z-index:3;pointer-events:auto;touch-action:manipulation;cursor:pointer}
.contact img{width:168px;height:168px;object-fit:contain;border-radius:50%;mix-blend-mode:normal;filter:none;opacity:1;background:#fff;padding:7px;border:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 7px rgba(255,255,255,.12),0 16px 38px rgba(0,0,0,.28)}
@media(max-width:600px){.contact img{width:150px;height:150px}}

/* Match the lower logo treatment to the blended header mark. */
.contact img{width:168px;height:168px;object-fit:contain;border-radius:0;mix-blend-mode:multiply;filter:saturate(1.3) brightness(1.55) contrast(1.08) drop-shadow(0 0 20px rgba(255,83,173,.35));opacity:1;background:transparent;padding:0;border:0;box-shadow:none}
@media(max-width:600px){.contact img{width:150px;height:150px}}

/* Clear lower logo with a feathered candy-colour backing. */
.contact-logo{display:grid;place-items:center;width:210px;height:210px;margin:0 auto 24px;background:radial-gradient(circle,rgba(255,229,245,.98) 0,rgba(250,183,224,.9) 48%,rgba(223,63,160,.28) 67%,transparent 74%)}
.contact-logo img{width:180px;height:180px;margin:0;object-fit:contain;border-radius:0;mix-blend-mode:multiply;filter:saturate(1.2) contrast(1.05);opacity:1;background:transparent;padding:0;border:0;box-shadow:none}
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;gap:14px}
.contact-actions .button{width:100%;min-height:58px;padding:13px 18px;gap:10px;border-radius:10px;font-size:15px;line-height:1.2}
.email-button{background:#050505;border-color:#050505;color:#fff}
.email-button:hover{background:#1b1b1b;border-color:#1b1b1b}
.email-button svg{flex:0 0 auto;color:#fff}
.email-button span{font-size:14px;overflow-wrap:anywhere}
@media(max-width:680px){.contact-logo{width:190px;height:190px}.contact-logo img{width:164px;height:164px}.contact-actions{grid-template-columns:minmax(0,330px);width:100%}.contact-actions .button{width:100%;min-width:0}.email-button span{font-size:13px}}

/* Consistent contact actions and a bright email accent. */
.contact-actions .email-button{background:#ffd431;border-color:#ffd431;color:#241600;font-size:15px;font-weight:800}
.contact-actions .email-button:hover{background:#f4c51a;border-color:#f4c51a}
.contact-actions .email-button svg{color:#241600}
.contact-actions .email-button span{font-size:15px;font-weight:800;overflow-wrap:normal}

/* Six coordinated candy-colour location cards. */
.location-card{border-width:2px;border-top-width:6px;box-shadow:0 10px 26px rgba(64,26,86,.10);transition:transform .2s,box-shadow .2s}
.location-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(64,26,86,.16)}
.location-card:nth-child(1){background:#fff0f7;border-color:#ed61a5}
.location-card:nth-child(2){background:#edf7ff;border-color:#54a8e8}
.location-card:nth-child(3){background:#f5efff;border-color:#9b72df}
.location-card:nth-child(4){background:#fff4df;border-color:#efa93e}
.location-card:nth-child(5){background:#ebfbf8;border-color:#35b9a7}
.location-card:nth-child(6){background:#ffeff9;border-color:#d85ca4}
.location-card .town{color:#8a1350;font-weight:800}
.location-card h3{color:#21112f;font-weight:800}
.location-card .directions-button{background:#2a1760;border:1px solid #2a1760;color:#fff}
.location-card .directions-button:hover{background:#432184}
.phone-button{gap:10px}
.phone-button svg{flex:0 0 auto}

/* Clear location actions without the purple fill. */
.location-card .directions-button{background:rgba(255,255,255,.82);border:2px solid #59236f;color:#31113f;box-shadow:0 4px 12px rgba(51,17,72,.08)}
.location-card .directions-button:hover{background:#fff;border-color:#c51f78;color:#8d104f}
.location-card .directions-button svg{color:#d21778}
.contact-actions .phone-button span{font-size:15px;font-weight:800;line-height:1.2}

/* The finished candy floss photo is feathered into the making section. */
.experience-photo{position:relative;width:108%;margin:26px -4% 34px;overflow:visible;border-radius:0;background:transparent;isolation:isolate}
.experience-photo::before{content:"";position:absolute;inset:-7%;z-index:-1;background:radial-gradient(ellipse at center,rgba(238,66,154,.22),rgba(55,166,224,.16) 58%,transparent 78%);filter:blur(24px)}
.experience-photo img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;object-position:center 48%;border-radius:0;filter:saturate(1.08) contrast(1.03);-webkit-mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 85%,transparent 100%);mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 85%,transparent 100%)}
@media(max-width:600px){.experience-photo{width:112%;margin:24px -6% 30px}.experience-photo img{max-height:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 82%,transparent 100%);mask-image:radial-gradient(ellipse 100% 100% at center,#000 0,#000 82%,transparent 100%)}}

/* A deeper oval feather removes the remaining rectangular photo edge. */
.experience-photo{width:112%;margin-left:-6%;margin-right:-6%}
.experience-photo::before{inset:-12%;background:radial-gradient(ellipse 70% 72% at center,rgba(255,118,189,.30),rgba(89,180,230,.15) 58%,transparent 80%);filter:blur(34px)}
.experience-photo img{max-height:none;aspect-ratio:4/3;object-fit:cover;object-position:center 48%;-webkit-mask-image:radial-gradient(ellipse 88% 86% at center,#000 0,#000 58%,rgba(0,0,0,.82) 70%,rgba(0,0,0,.35) 82%,transparent 96%);mask-image:radial-gradient(ellipse 88% 86% at center,#000 0,#000 58%,rgba(0,0,0,.82) 70%,rgba(0,0,0,.35) 82%,transparent 96%)}
@media(max-width:600px){.experience-photo{width:116%;margin-left:-8%;margin-right:-8%}.experience-photo img{-webkit-mask-image:radial-gradient(ellipse 90% 88% at center,#000 0,#000 55%,rgba(0,0,0,.78) 69%,rgba(0,0,0,.28) 82%,transparent 96%);mask-image:radial-gradient(ellipse 90% 88% at center,#000 0,#000 55%,rgba(0,0,0,.78) 69%,rgba(0,0,0,.28) 82%,transparent 96%)}}

/* Match the banner labels to the site's main heading typography. */
.hero-caption,.hero-caption strong{font-family:'Manrope',Arial,sans-serif;font-weight:800;letter-spacing:-.35px}
.hero-caption{font-size:18px;line-height:1.25}
@media(max-width:600px){.hero-caption{font-size:14px;letter-spacing:-.2px}}

/* Curved welcome message frames the header logo. */
.logo-lockup{position:relative;display:block;width:300px;height:220px}
.logo-lockup .logo-arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.logo-arc path{fill:none}
.logo-arc text{fill:#8f1456;font-family:'Manrope',Arial,sans-serif;font-size:15px;font-weight:800;letter-spacing:.15px}
header .logo-lockup img{position:absolute;left:50%;top:56%;width:170px;height:170px;transform:translate(-50%,-50%);object-fit:contain;mix-blend-mode:multiply}
@media(max-width:600px){.logo-lockup{width:270px;height:202px}.logo-arc text{font-size:14px}header .logo-lockup img{width:154px;height:154px}}

/* Prominent, modern first-view brand lockup. */
.logo-lockup{width:430px;height:280px}
.logo-arc text{fill:url(#welcome-gradient);font-size:20px;font-weight:800;letter-spacing:-.25px;paint-order:stroke fill;stroke:rgba(255,255,255,.88);stroke-width:3px;stroke-linejoin:round;filter:drop-shadow(0 3px 4px rgba(67,20,88,.18))}
header .logo-lockup img{top:59%;width:200px;height:200px;filter:saturate(1.08) contrast(1.03)}
header{padding-top:4px}
@media(max-width:600px){.logo-lockup{width:340px;max-width:94vw;height:238px}.logo-arc text{font-size:17px;letter-spacing:-.3px;stroke-width:2.5px}header .logo-lockup img{top:60%;width:168px;height:168px}}

/* Tight two-line circular masthead with larger uppercase lettering. */
.logo-lockup{width:520px;height:310px;max-width:96vw}
.logo-arc text{fill:url(#welcome-gradient);font-family:'Manrope',Arial,sans-serif;font-weight:800;letter-spacing:.35px;paint-order:stroke fill;stroke:rgba(255,255,255,.94);stroke-width:4px;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(65,15,85,.22))}
.logo-arc .arc-top{font-size:29px}
.logo-arc .arc-bottom{font-size:30px}
header .logo-lockup img{top:51%;width:220px;height:220px;filter:saturate(1.1) contrast(1.04)}
header{gap:0 24px;padding-top:0}
@media(max-width:600px){.logo-lockup{width:370px;height:228px}.logo-arc text{stroke-width:3.5px}.logo-arc .arc-top{font-size:29px}.logo-arc .arc-bottom{font-size:30px}header .logo-lockup img{top:51%;width:166px;height:166px}header{gap:8px;padding-top:0}}

/* Refined lockup inspired by the original banner typography. */
.logo-lockup{width:460px;height:260px;max-width:94vw}
.logo-arc .arc-top{fill:#d21478;font-family:'Lobster','Brush Script MT',cursive;font-size:32px;font-weight:400;letter-spacing:0;stroke:rgba(255,255,255,.96);stroke-width:3px;paint-order:stroke fill;filter:drop-shadow(0 3px 2px rgba(75,22,91,.18))}
.logo-arc .arc-bottom{fill:#28133f;font-family:'Fredoka','Manrope',Arial,sans-serif;font-size:28px;font-weight:700;letter-spacing:.45px;stroke:rgba(255,255,255,.82);stroke-width:2px;paint-order:stroke fill;filter:drop-shadow(2px 3px 0 rgba(30,139,201,.20))}
header .logo-lockup img{top:52%;width:190px;height:190px;filter:saturate(1.08) contrast(1.03)}
@media(max-width:600px){.logo-lockup{width:350px;height:204px}.logo-arc .arc-top{font-size:32px;stroke-width:3px}.logo-arc .arc-bottom{font-size:28px;stroke-width:2px}header .logo-lockup img{top:52%;width:148px;height:148px}}

/* Finished masthead: balanced lockup and one centred navigation cluster. */
header{grid-template-columns:auto auto;justify-content:center;column-gap:14px;row-gap:2px;padding:0 5% 22px;background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.76) 0,rgba(255,255,255,.18) 19%,transparent 38%),linear-gradient(110deg,#fac8e2,#f6d9ef 52%,#cfe8fa)}
header .brand{grid-column:1 / -1;justify-self:center}
header nav{grid-column:1;grid-row:2;justify-self:end;margin:0;padding:10px 18px;min-height:48px;align-items:center;gap:26px;background:rgba(255,255,255,.62);border:1px solid rgba(151,71,131,.18);border-radius:999px;box-shadow:0 8px 24px rgba(74,30,91,.08);backdrop-filter:blur(10px)}
header nav a{font-weight:700;transition:color .2s}
header>.button{grid-column:2;grid-row:2;justify-self:start;min-height:48px;border-radius:999px;box-shadow:0 8px 20px rgba(181,13,104,.18)}
.logo-arc .arc-bottom{fill:#fff;stroke:#c40b6b;stroke-width:3.5px;filter:drop-shadow(2px 3px 0 rgba(24,112,190,.58))}
.logo-lockup::before{content:"";position:absolute;left:50%;top:50%;width:238px;height:238px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),rgba(251,119,191,.12) 57%,transparent 72%);filter:blur(8px)}
@media(max-width:600px){header{grid-template-columns:1fr;row-gap:10px;padding:0 5% 20px}header nav{grid-column:1;grid-row:2;justify-self:center;padding:9px 15px;gap:20px}header>.button{grid-column:1;grid-row:3;justify-self:center}.logo-lockup::before{width:190px;height:190px}.logo-arc .arc-bottom{stroke-width:3.5px}}

/* Complete horizontal header redesign. */
header{max-width:none;min-height:0;display:grid;grid-template-columns:minmax(390px,1fr) auto minmax(170px,1fr);align-items:center;justify-content:stretch;gap:24px;padding:16px clamp(24px,5vw,76px);background:linear-gradient(105deg,#f9c9e2 0%,#f4d9ee 50%,#cee8fa 100%);border-bottom:2px solid rgba(208,49,134,.24)}
header .brand{grid-column:1;grid-row:1;justify-self:start;display:block;line-height:1}
.logo-lockup{position:relative;display:flex;align-items:center;gap:18px;width:auto;height:auto;max-width:none}
.logo-lockup::before{display:none}
.logo-medallion{display:block;flex:0 0 126px;width:126px;height:126px;overflow:hidden;border-radius:50%;background:transparent;filter:drop-shadow(0 9px 13px rgba(53,24,91,.20))}
header .logo-lockup .logo-medallion img{position:static;display:block;width:126px;height:126px;transform:scale(1.13);object-fit:cover;border-radius:50%;clip-path:circle(45% at 50% 50%);mix-blend-mode:multiply;filter:saturate(1.12) contrast(1.06)}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;white-space:nowrap}
.welcome-script{color:#c80e70;font-family:'Lobster','Brush Script MT',cursive;font-size:27px;font-weight:400;line-height:1;text-shadow:0 2px 0 rgba(255,255,255,.72)}
.world-title{color:#fff;font-family:'Fredoka','Manrope',Arial,sans-serif;font-size:25px;font-weight:700;line-height:1.05;letter-spacing:.1px;-webkit-text-stroke:1.7px #bd0d69;paint-order:stroke fill;text-shadow:2px 3px 0 rgba(25,112,188,.52)}
header nav{grid-column:2;grid-row:1;justify-self:center;margin:0;padding:11px 19px;min-height:48px;align-items:center;gap:25px;background:rgba(255,255,255,.64);border:1px solid rgba(151,71,131,.16);border-radius:999px;box-shadow:0 8px 24px rgba(74,30,91,.08);backdrop-filter:blur(10px)}
header>.button{grid-column:3;grid-row:1;justify-self:end;min-height:48px;border-radius:999px;box-shadow:0 8px 20px rgba(181,13,104,.18)}
@media(max-width:1080px){header{grid-template-columns:1fr auto;gap:12px 20px}.logo-lockup{justify-content:center}header .brand{grid-column:1 / -1;justify-self:center}header nav{grid-column:1;grid-row:2;justify-self:end}header>.button{grid-column:2;grid-row:2;justify-self:start}}
@media(max-width:600px){header{grid-template-columns:1fr;gap:13px;padding:12px 5% 18px}.logo-lockup{justify-content:center;gap:12px}.logo-medallion{flex-basis:100px;width:100px;height:100px}header .logo-lockup .logo-medallion img{width:100px;height:100px}.welcome-script{font-size:23px}.world-title{font-size:19px;-webkit-text-stroke:1.3px}.brand-copy{gap:4px}header nav{grid-column:1;grid-row:2;justify-self:center;gap:19px;padding:9px 14px}header>.button{grid-column:1;grid-row:3;justify-self:center}}
@media(max-width:390px){.logo-medallion{flex-basis:86px;width:86px;height:86px}header .logo-lockup .logo-medallion img{width:86px;height:86px}.welcome-script{font-size:20px}.world-title{font-size:16px}header nav{gap:14px;font-size:13px}}

/* Solid high-contrast wordmark for the pale header. */
.world-title{color:#2b153f;-webkit-text-stroke:0;text-shadow:0 2px 0 rgba(255,255,255,.72),2px 3px 0 rgba(210,20,119,.18)}

/* Very soft candy-floss watermark within the header background. */
header{position:relative;isolation:isolate;overflow:hidden}
header::before{content:"";position:absolute;z-index:0;top:-24%;right:5%;width:min(470px,42vw);height:148%;background:url('header-flower.jpeg') center/contain no-repeat;opacity:.13;filter:saturate(.78) contrast(.88) blur(.5px);mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(circle at center,#000 0,rgba(0,0,0,.9) 43%,rgba(0,0,0,.34) 63%,transparent 78%);mask-image:radial-gradient(circle at center,#000 0,rgba(0,0,0,.9) 43%,rgba(0,0,0,.34) 63%,transparent 78%);pointer-events:none}
header>*{position:relative;z-index:1}
@media(max-width:1080px){header::before{right:50%;transform:translateX(50%);width:460px;max-width:90vw;opacity:.1}}
@media(max-width:600px){header::before{top:-8%;height:118%;width:390px;opacity:.085}}

/* Slightly stronger watermark visibility. */
header::before{opacity:.25;filter:saturate(.96) contrast(.97) blur(.25px)}
@media(max-width:1080px){header::before{opacity:.2}}
@media(max-width:600px){header::before{opacity:.17}}

/* Stronger branded navigation, flower and logo scale. */
header nav{background:linear-gradient(105deg,rgba(247,166,210,.94),rgba(185,216,246,.94));border-color:rgba(160,54,124,.28);box-shadow:0 9px 24px rgba(74,30,91,.13)}
header nav a{color:#29153d;font-weight:800}
header nav a:hover{color:#a30d5d}
.logo-medallion{flex-basis:150px;width:150px;height:150px}
header .logo-lockup .logo-medallion img{width:150px;height:150px}
header::before{opacity:.32;filter:saturate(1) contrast(.99) blur(.2px)}
@media(max-width:1080px){header::before{opacity:.26}}
@media(max-width:600px){.logo-medallion{flex-basis:112px;width:112px;height:112px}header .logo-lockup .logo-medallion img{width:112px;height:112px}header::before{opacity:.22}}
@media(max-width:390px){.logo-medallion{flex-basis:96px;width:96px;height:96px}header .logo-lockup .logo-medallion img{width:96px;height:96px}}

/* Crop the source artwork tightly to its neon circle, removing the white rim. */
header .logo-lockup .logo-medallion img{transform:scale(1.26);clip-path:circle(49.5% at 50% 50%)}

/* Compact brand ribbon: all six highlights without extending the page. */
.hero-showcase{margin-top:52px}
.highlights{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:1296px;margin:-4px auto 0;padding:13px 4%;background:linear-gradient(105deg,#fde5f1 0%,#f9ddea 52%,#e8f4fd 100%);border-bottom:1px solid rgba(203,64,139,.2);box-shadow:0 12px 30px rgba(93,39,105,.08)}
.highlights article{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:58px;padding:8px 12px;border-right:1px solid rgba(126,68,117,.2);text-align:left}
.highlights article:last-child{border-right:0}
.highlight-mark{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.75);border:1px solid rgba(199,30,116,.28);color:#c51670;font-family:'Manrope',Arial,sans-serif;font-size:12px;font-weight:800;line-height:1;box-shadow:0 3px 9px rgba(103,34,102,.08)}
.highlights strong{min-width:0;color:#2c173e;font-family:'Manrope',Arial,sans-serif;font-size:14px;font-weight:800;line-height:1.2;letter-spacing:-.1px}
@media(max-width:1000px){.highlights{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 5%}.highlights article{border-right:0;border-bottom:1px solid rgba(126,68,117,.18)}.highlights .highlight-wide{grid-column:1 / -1}.highlights article:nth-child(2),.highlights article:nth-child(4){border-right:1px solid rgba(126,68,117,.18)}.highlights article:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:600px){.hero-showcase{margin-top:38px}.highlights{padding:8px 4%}.highlights article{justify-content:flex-start;min-height:54px;padding:7px 9px}.highlights .highlight-wide{justify-content:center}.highlight-mark{flex-basis:22px;width:22px;height:22px;font-size:10px}.highlights strong{font-size:14px}.highlights br{display:none}}

/* Two coordinated videos share one compact visual column. */
.experience{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6%}
.video-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:center;width:100%}
.video-gallery .video-feature{max-width:none;padding:6px;border-radius:20px}
.video-gallery .video-feature video{width:100%;aspect-ratio:9 / 16;object-fit:cover;border-radius:14px}
@media(max-width:900px){.experience{grid-template-columns:1fr}.video-gallery{max-width:650px;margin:0 auto}}
@media(max-width:600px){.video-gallery{gap:9px}.video-gallery .video-feature{padding:4px;border-radius:15px}.video-gallery .video-feature video{border-radius:11px}}

/* Editorial masthead: centred brand, balanced navigation and clear hierarchy. */
header{position:relative;display:grid;grid-template-columns:minmax(340px,1fr) auto minmax(340px,1fr);grid-template-rows:1fr;align-items:center;gap:42px;max-width:none;min-height:272px;padding:24px clamp(30px,5vw,84px) 28px;overflow:hidden;background:radial-gradient(circle at 14% 28%,rgba(255,255,255,.72),transparent 27%),linear-gradient(112deg,#facfe5 0%,#f7dced 50%,#d8edfb 100%);border:0;border-bottom:1px solid rgba(177,47,122,.2);box-shadow:0 8px 28px rgba(78,34,93,.08);isolation:isolate}
header::before{content:"";position:absolute;z-index:0;top:-29%;right:7%;width:min(520px,40vw);height:164%;transform:none;background:url('header-flower.jpeg') center/contain no-repeat;opacity:.32;filter:saturate(1.06) contrast(1.02);mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(circle at center,#000 0,rgba(0,0,0,.88) 44%,rgba(0,0,0,.32) 64%,transparent 79%);mask-image:radial-gradient(circle at center,#000 0,rgba(0,0,0,.88) 44%,rgba(0,0,0,.32) 64%,transparent 79%);pointer-events:none}
header::after{content:"";position:absolute;z-index:0;left:50%;bottom:0;width:min(520px,52vw);height:3px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#d7197b 28%,#4b8fd0 72%,transparent)}
header>*{position:relative;z-index:1}
header .brand{grid-column:2;grid-row:1;justify-self:center;display:block;margin:0;text-align:center}
.logo-lockup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:auto;height:auto;max-width:none}
.logo-lockup::before{display:none}
.logo-medallion{display:block;flex:0 0 174px;width:174px;height:174px;overflow:hidden;border-radius:50%;background:transparent;filter:drop-shadow(0 13px 18px rgba(57,28,83,.22))}
header .logo-lockup .logo-medallion img{position:static;display:block;width:174px;height:174px;transform:scale(1.26);object-fit:cover;border-radius:50%;clip-path:circle(49.5% at 50% 50%);mix-blend-mode:multiply;filter:saturate(1.13) contrast(1.07)}
.brand-copy{display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap}
.welcome-script{color:#c51670;font-family:'Lobster','Brush Script MT',cursive;font-size:32px;font-weight:400;line-height:1;text-shadow:0 2px 0 rgba(255,255,255,.72)}
.world-title{color:#2a153e;font-family:'Fredoka','Manrope',Arial,sans-serif;font-size:34px;font-weight:700;line-height:1;letter-spacing:.4px;-webkit-text-stroke:0;text-shadow:0 2px 0 rgba(255,255,255,.72)}
header nav{grid-column:1;grid-row:1;justify-self:end;display:flex;align-items:center;gap:32px;margin:0;padding:0;min-height:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
header nav a{position:relative;padding:11px 0;color:#2c173f;font-size:16px;font-weight:800}
header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:#cf1876;transition:right .2s}
header nav a:hover::after,header nav a:focus-visible::after{right:0}
header>.button{grid-column:3;grid-row:1;justify-self:start;min-height:54px;padding:15px 26px;border-radius:999px;background:#ca176f;border-color:#ca176f;box-shadow:0 9px 22px rgba(173,20,101,.22);font-size:16px}
header>.button:hover{background:#a90f5b}
@media(max-width:1100px){header{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:16px 20px;min-height:0;padding:20px 5% 24px}header .brand{grid-column:1 / -1;grid-row:1}.logo-lockup{flex-direction:row;gap:18px}.brand-copy{align-items:flex-start}.logo-medallion{flex-basis:142px;width:142px;height:142px}header .logo-lockup .logo-medallion img{width:142px;height:142px}.welcome-script{font-size:29px}.world-title{font-size:31px}header nav{grid-column:1;grid-row:2;justify-self:end}header>.button{grid-column:2;grid-row:2;justify-self:start}header::before{right:50%;width:450px;max-width:88vw;transform:translateX(50%);opacity:.24}}
@media(max-width:600px){header{grid-template-columns:1fr;gap:13px;padding:14px 5% 20px}.logo-lockup{flex-direction:column;gap:5px}.brand-copy{align-items:center}.logo-medallion{flex-basis:136px;width:136px;height:136px}header .logo-lockup .logo-medallion img{width:136px;height:136px}.welcome-script{font-size:28px}.world-title{font-size:25px;letter-spacing:.15px}header nav{grid-column:1;grid-row:2;justify-self:center;gap:23px}header nav a{font-size:14px;padding:8px 0}header>.button{grid-column:1;grid-row:3;justify-self:center;min-height:48px;padding:12px 22px;font-size:15px}header::before{top:-12%;height:130%;width:390px;opacity:.22}header::after{width:82vw}}
