
:root{--plum:#4f0241;--ink:#38172d;--coral:#f25c2e;--pink:#fed0e8;--hot:#fc71ba;--yellow:#fbba46;--cream:#fff9f6;--line:#eddcdb;--rose:#fbe6e8;}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:17px/1.75 'Quicksand',sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(75px,9.4vw,146px);line-height:.99}h2{font-size:clamp(40px,5.1vw,76px);line-height:1.08}h3{font-size:clamp(26px,3vw,39px);line-height:1.14}.shell{width:min(1190px,calc(100% - 80px));margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 25px;min-height:48px;border-radius:999px;font-size:14px;font-weight:700;background:var(--plum);color:#fff;transition:background .2s,transform .2s;white-space:normal;text-align:center}.btn:hover{background:#78105a;transform:translateY(-2px)}.btn.outline{background:transparent;color:var(--plum);border:1px solid var(--plum)}.btn.light{background:#fff7f4;color:var(--plum)}.textlink{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.mini{font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.spark{font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1;color:var(--coral)}
.site-nav{position:sticky;z-index:100;top:0;background:rgba(255,249,246,.96);border-bottom:1px solid rgba(79,2,65,.1);backdrop-filter:blur(14px)}.nav-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand img{height:72px;width:115px;object-fit:contain}.links{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:700}.links a:not(.btn):hover{color:var(--coral)}.menu{display:none}
.hero{min-height:680px;position:relative;isolation:isolate;display:flex;align-items:center;color:#fff;background:#280d23;overflow:hidden}.hero-visual{position:absolute;inset:0;z-index:-2;background-image:url('../assets/media/71e279081410fd57-web.webp');background-position:61% 48%;background-size:cover;background-repeat:no-repeat}.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,7,26,.93) 0%,rgba(39,9,30,.78) 30%,rgba(40,9,25,.32) 63%,rgba(20,7,15,.14) 100%)}.hero-inner{width:min(1190px,calc(100% - 80px));padding:102px 0 95px}.hero-content{max-width:595px}.hero h1{color:white;margin:11px 0 10px;letter-spacing:-.052em}.hero-strap{font:italic 500 clamp(26px,3vw,38px)/1.25 'Playfair Display',serif;color:#ffd3c2;margin:0 0 22px}.hero-desc{font-size:19px;max-width:510px;line-height:1.72;margin:0 0 30px;color:#fff3f1}.hero-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.hero-ctas .btn{background:#fff5f1;color:var(--plum)}.hero-bottom{font-size:14px;margin:28px 0 0;color:#ffe9e1}
.intro{padding:114px 0 104px}.intro-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:8.5%;align-items:center}.intro h2{margin:12px 0 25px}.intro p{font-size:19px;line-height:1.9;margin-bottom:20px}.intro .closing{font:italic 500 30px/1.35 'Playfair Display',serif;color:#ae4474;margin-top:32px}.photo-portrait{position:relative;overflow:hidden;border-radius:160px 160px 0 0;background:#e49abf}.photo-portrait img{width:100%;height:580px;object-fit:cover;object-position:center 44%;}.caption{font-size:13px;color:#7e576c;margin:11px 0 0;letter-spacing:.02em}
.ribbon{padding:36px 0;background:#fcddd9;border-block:1px solid #f3c6c7}.ribbon-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.ribbon p{font:italic 500 29px/1.3 'Playfair Display',serif;color:var(--plum);margin:0}.ribbon .spark{font-size:44px}
.experience{padding:106px 0 112px;background:#fff}.experience-heading{display:grid;grid-template-columns:.96fr 1.04fr;gap:8%;align-items:end;margin-bottom:42px}.experience-heading h2{margin:10px 0 0}.experience-heading p{font-size:18px;max-width:480px;margin:0 0 6px}.experience-layout{display:grid;grid-template-columns:1.22fr .78fr;gap:30px;align-items:stretch}.main-image{background:#d472a0;overflow:hidden}.main-image img{width:100%;height:630px;object-fit:cover;object-position:center 40%}.expect-list{border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-evenly}.expect{padding:24px 0;border-bottom:1px solid var(--line)}.expect strong{font:500 29px/1.2 'Playfair Display',serif;color:var(--plum);display:block;margin-bottom:10px}.expect p{font-size:16px;line-height:1.75;max-width:380px;margin:0}
.photo-strip{display:grid;grid-template-columns:1fr .8fr 1.1fr 1fr;gap:8px;background:#fff;padding:0 8px}.photo-strip figure{padding:0;margin:0;height:300px;background:var(--pink);overflow:hidden}.photo-strip img{width:100%;height:100%;object-fit:cover}.photo-strip figure:nth-child(1) img{object-position:center 25%}.photo-strip figure:nth-child(2) img{object-position:center 38%}.photo-strip figure:nth-child(3) img{object-position:center 30%}.photo-strip figure:nth-child(4) img{object-position:center 30%}
.facilitators{padding:115px 0 130px;background:linear-gradient(180deg,#fff3ed 0%,#fce4e6 100%)}.facilitators header{max-width:720px;margin:0 auto 55px;text-align:center}.facilitators header h2{margin:10px 0 13px}.facilitators header p{font-size:19px}.people{display:grid;grid-template-columns:1fr 1fr;gap:42px}.person{display:grid;grid-template-columns:42% 58%;gap:20px;align-items:center}.person img{width:100%;height:360px;object-fit:cover;object-position:center 20%;border-radius:110px 110px 0 0;background:#ecd3c5}.person h3{margin:0 0 8px;font-size:43px}.person p{font-size:16px;line-height:1.8}.person .textlink{font-size:14px;color:var(--plum)}.person .extras{margin-top:18px}
.practical{padding:100px 0;background:#fff}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.practical h2{margin:12px 0 22px}.practical p{font-size:18px}.practical dl{margin:0}.practical dl div{border-bottom:1px solid var(--line);padding:19px 0;display:grid;grid-template-columns:140px 1fr;gap:15px}.practical dt{font-weight:700;color:var(--plum)}.practical dd{margin:0}.practical .action{margin-top:24px}
.faq{padding:100px 0 120px;background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:9%}.faq h2{margin:12px 0}.faq details{border-bottom:1px solid #e9ccd5;padding:19px 0}.faq details:first-child{border-top:1px solid #e9ccd5}.faq summary{font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:start;gap:20px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-family:'DM Sans',sans-serif;font-size:25px;line-height:1;color:#bd5b85}.faq details[open] summary::after{content:'−'}.faq details p{font-size:16px;color:#67485c;margin:10px 32px 0 0}
.last{position:relative;padding:94px 0;isolation:isolate;overflow:hidden;background:var(--plum);color:#fff}.last::before{content:'';position:absolute;inset:0;z-index:-2;background-image:url('../assets/media/db01f651ad0f9381-web.webp');background-position:center 42%;background-size:cover;filter:saturate(1.05)}.last::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(53,5,44,.93) 0%,rgba(79,2,65,.79) 54%,rgba(79,2,65,.45) 100%)}.last-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.last h2{color:#fff;margin:12px 0 16px}.last p{max-width:570px;font-size:18px}.last .btn{flex-shrink:0}
.footer{background:#f9efe9;border-top:1px solid var(--line);padding:26px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer img{width:90px;height:78px;object-fit:contain}.footer small{color:#76566c}.footer nav{display:flex;gap:23px;font-size:14px;font-weight:700}
@media(max-width:1050px){.links{gap:17px}.experience-layout{grid-template-columns:1fr}.main-image img{height:550px}.expect-list{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.people{grid-template-columns:1fr}.person{grid-template-columns:240px 1fr;gap:30px}.person img{height:320px}.intro-grid{gap:5%}}
@media(max-width:720px){.shell{width:min(100% - 36px,1190px)}.nav-inner{min-height:80px}.brand img{width:105px;height:70px}.links{display:none}.menu{display:block;position:relative}.menu summary{cursor:pointer;font-weight:700;color:var(--plum);list-style:none}.menu summary::-webkit-details-marker{display:none}.menu[open] .menu-content{position:absolute;top:47px;right:0;min-width:225px;display:flex;flex-direction:column;background:#fff9f6;border:1px solid var(--line);box-shadow:0 15px 35px #4f024128;padding:18px;border-radius:12px;gap:14px}.hero{min-height:670px}.hero-visual{background-size:cover;background-position:63% center}.hero::after{background:linear-gradient(90deg,rgba(25,7,26,.89),rgba(39,9,30,.52) 68%,rgba(39,9,30,.32))}.hero-inner{width:min(100% - 36px,1190px);padding:88px 0}.hero h1{font-size:clamp(66px,15.5vw,100px)}.hero-desc{font-size:17px}.hero-strap{font-size:26px}.hero-ctas{gap:17px}.intro{padding:78px 0}.intro-grid,.experience-heading,.practical-grid,.faq-grid{grid-template-columns:1fr;gap:25px}.intro p{font-size:17px}.intro h2,.experience h2,.facilitators h2,.practical h2,.faq h2,.last h2{font-size:clamp(39px,9vw,58px)}.intro .closing{font-size:26px}.photo-portrait img{height:390px}.ribbon{padding:24px 0}.ribbon p{font-size:21px}.ribbon .spark{display:none}.experience,.facilitators,.practical,.faq{padding:78px 0}.experience-heading p{font-size:17px}.main-image img{height:430px}.expect-list{grid-template-columns:1fr}.expect{padding:20px 0}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip figure{height:210px}.facilitators header{text-align:left}.person{grid-template-columns:1fr;gap:19px}.person img{height:390px;object-position:center 12%}.people{gap:60px}.person h3{font-size:36px}.practical dl div{grid-template-columns:95px 1fr;gap:10px}.last-inner{display:block}.last .btn{margin-top:18px}.footer-inner{flex-wrap:wrap}.footer nav{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* V3.2: Flowing-fabric artwork from Didi Journeys Colourful Split homepage. */
.ribbon{position:relative;isolation:isolate;overflow:hidden;background:#f9dde1;padding:43px 0;border-block:1px solid #f0c5cd}
.ribbon::before{content:"";position:absolute;inset:0;z-index:-2;background:url("../assets/media/db01f651ad0f9381-web.webp") center 54% / cover no-repeat;opacity:.94}
.ribbon::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,244,244,.77),rgba(255,233,237,.57) 44%,rgba(255,236,242,.47))}
.ribbon-inner{position:relative;z-index:2}.ribbon p{color:#4f0241;text-shadow:0 1px 14px rgba(255,255,255,.64)}
.last::before{background-image:url("../assets/media/db01f651ad0f9381-web.webp")!important;background-size:cover;background-position:center 57%;filter:saturate(1.15)}
.last::after{background:linear-gradient(90deg,rgba(45,4,39,.92),rgba(79,2,65,.84) 50%,rgba(79,2,65,.55))}
.hero-date{display:flex;gap:8px 22px;align-items:center;flex-wrap:wrap;font-weight:700;font-size:14px;letter-spacing:.01em;color:#fff4ec;margin:-9px 0 23px;text-shadow:0 1px 8px rgba(31,6,20,.4)}
.hero-date span::before{content:none}
.optional-note{border-left:3px solid #d99396;background:#fff6f4;padding:14px 18px;margin:23px 0 0;font-size:14px;line-height:1.65;color:#55404d}
.optional-note strong{color:#4f0241}
@media(max-width:720px){.ribbon{padding:32px 0}.ribbon::before{background-position:52% center}.ribbon::after{background:rgba(255,245,245,.62)}.last::before{background-position:63% center}.last::after{background:rgba(65,4,53,.79)}.hero-date{gap:6px 16px;font-size:13px;margin:-12px 0 19px}}

/* Lift the flower portrait crop to retain more space above the arrangement. */
.photo-portrait img{object-position:center top}

/* Fill the photo panel rather than exposing its pink background. */
.experience .main-image{position:relative;min-height:630px;background:transparent}
.experience .main-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.experience>.shell>.optional-note{max-width:900px;margin:32px 0 0;font-size:16px;line-height:1.75}
@media(max-width:1050px){.experience .main-image{min-height:550px}}
@media(max-width:720px){.experience .main-image{min-height:430px}}

.lover-testimonial{padding:85px 0;background:#f9e4ef;text-align:center}.lover-testimonial .shell{max-width:1000px}.lover-testimonial .eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#a34c78}.lover-testimonial figure{margin:24px 0 0}.lover-testimonial blockquote{margin:0}.lover-testimonial blockquote p{font:400 clamp(24px,2.6vw,34px)/1.6 'Playfair Display',Georgia,serif;color:#4f0241;margin:0}.lover-testimonial figcaption{margin-top:24px;font-size:16px;font-weight:700;color:#4f0241}@media(max-width:680px){.lover-testimonial{padding:60px 0}}
