/* @Sandton Kids: logo colours, bento cards (Minds layout DNA), playful motion. Squared edges, no shadows. */
:root{
  --bg:#eef3f7;
  --card:#fff;
  --ink:#173b54;
  --ink-soft:#557086;
  --blue:#60b4d8;--blue-soft:#def0f8;--blue-ink:#2a7fa6;
  --yellow:#f2e3a6;--yellow-soft:#fbf5dd;--yellow-ink:#9a7614;
  --green:#a8d884;--green-soft:#e9f5df;--green-ink:#4c8a2a;
  --pink:#f0909c;--pink-soft:#fde9ec;--pink-ink:#cf4359;
  --lilac:#b484d8;--lilac-soft:#f1e8f9;--lilac-ink:#8a4fc0;
  --wrap:1320px;
  --gap:14px;
  --pad:clamp(22px,3vw,44px);
  --head:"Fredoka",system-ui,sans-serif;
  --body:"Nunito",system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--body);font-size:16.5px;line-height:1.6;color:var(--ink);background:var(--bg);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit}
[hidden]{display:none!important}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(12px,2vw,24px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.card{background:var(--card);padding:var(--pad);position:relative;overflow:hidden}
section{margin-bottom:clamp(60px,7vw,110px)}

/* type */
h1,h2,h3,h4{font-family:var(--head);font-weight:500;letter-spacing:-.015em;line-height:1.08}
.h1{font-size:clamp(36px,5.4vw,78px);line-height:1.04}
.h2{font-size:clamp(30px,3.6vw,52px)}
.h3{font-size:clamp(22px,2vw,30px)}
.c-blue{color:var(--blue-ink)}.c-green{color:var(--green-ink)}.c-pink{color:var(--pink-ink)}.c-lilac{color:var(--lilac-ink)}.c-yellow{color:var(--yellow-ink)}
.lead{font-size:clamp(17px,1.35vw,20px);color:var(--ink-soft);max-width:560px}
.word{display:inline-block;will-change:transform}
.secthead{display:grid;grid-template-columns:1fr minmax(0,380px);gap:30px;align-items:end;margin-bottom:clamp(26px,3vw,40px)}
.secthead p{color:var(--ink-soft)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--head);font-weight:500;font-size:16px;line-height:1;padding:0 6px 0 20px;height:52px;border:0;cursor:pointer;background:var(--ink);color:#fff;transition:background .3s,color .3s}
.btn i{display:grid;place-items:center;width:40px;height:40px;background:var(--yellow);color:var(--ink);transition:transform .45s var(--ease),background .3s}
.btn i svg{width:14px;height:14px}
.btn:hover i{transform:rotate(45deg)}
.btn:hover{background:var(--blue-ink)}
.btn--yellow{background:var(--yellow);color:var(--ink)}
.btn--yellow i{background:var(--ink);color:#fff}
.btn--yellow:hover{background:var(--green)}
.btn--white{background:#fff;color:var(--ink)}
.btn--white i{background:var(--pink)}
.btn--white:hover{background:var(--ink);color:#fff}
.btn--plain{padding:0 22px}
.arrowbtn{position:absolute;right:14px;top:14px;z-index:2;width:46px;height:46px;display:grid;place-items:center;background:var(--ink);color:#fff;transition:transform .45s var(--ease),background .3s}
.arrowbtn svg{width:15px;height:15px}
a:hover > .arrowbtn,.arrowbtn:hover{transform:rotate(45deg);background:var(--pink-ink)}
.textlink{font-family:var(--head);font-weight:500;color:var(--ink);background:linear-gradient(var(--pink),var(--pink)) left bottom/100% 3px no-repeat;padding-bottom:3px;transition:background-size .35s var(--ease)}
.textlink:hover{background-size:0 3px;background-position:right bottom}

/* flower doodle */
.flower{position:absolute;pointer-events:none;width:var(--s,90px);height:var(--s,90px);color:var(--fc,#fff);opacity:var(--o,1);z-index:1}
.flower svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round}

/* pills */
.pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:500;font-size:15px;padding:10px 16px;background:var(--pc,var(--yellow));color:var(--ink);white-space:nowrap}

/* HEADER */
.top{position:sticky;top:10px;z-index:60;max-width:var(--wrap);margin:10px auto 0;padding:0 clamp(12px,2vw,24px);transition:transform .45s var(--ease)}
.top.is-hidden{transform:translateY(calc(-100% - 20px))}
.top__bar{background:#fff;display:flex;align-items:center;gap:20px;padding:10px 12px 10px 18px}
.logo{display:block;flex-shrink:0}
.logo img{height:54px;width:auto}
.menu{display:flex;align-items:center;gap:4px;margin:0 auto;background:var(--bg);padding:5px}
.menu a{font-family:var(--head);font-weight:500;font-size:15px;padding:9px 16px;color:var(--ink);transition:background .25s}
.menu a:hover{background:#fff}
.menu a[aria-current="page"]{background:var(--blue);color:var(--ink)}
.top__right{display:flex;align-items:center;gap:8px}
.top__wa{display:grid;place-items:center;width:52px;height:52px;background:var(--green);color:var(--ink);transition:background .25s}
.top__wa:hover{background:var(--green-ink);color:#fff}
.top__wa svg{width:22px;height:22px}
.burger{display:none;width:52px;height:52px;border:0;background:var(--bg);position:relative;cursor:pointer}
.burger span{position:absolute;left:15px;right:15px;height:2px;background:var(--ink);transition:transform .3s}
.burger span:first-child{top:21px}.burger span:last-child{bottom:21px}

/* HOME HERO BENTO */
.hero{padding-top:var(--gap)}
.hero__title{text-align:center;padding:clamp(40px,5vw,72px) var(--pad)}
.hero__title .h1{max-width:1080px;margin:0 auto}
.hero__title .lead{margin:22px auto 0;text-align:center}
.hero__grid{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--gap);margin-top:var(--gap)}
.vid{position:relative;overflow:hidden;background:var(--blue);min-height:clamp(380px,40vw,560px)}
.vid video,.vid > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vid__btn{position:absolute;left:18px;bottom:18px;z-index:2}
.vid__btn i{background:var(--pink)}
.hero__side{display:grid;grid-template-rows:auto 1fr;gap:var(--gap)}
.love{background:var(--yellow);padding:26px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.love h2{font-size:clamp(20px,1.7vw,25px);max-width:340px}
.faces{display:flex}
.faces span{width:46px;height:46px;display:grid;place-items:center;font-family:var(--head);font-weight:600;font-size:15px;color:var(--ink);border:3px solid var(--yellow);margin-right:-10px}
.faces span:nth-child(1){background:var(--pink)}.faces span:nth-child(2){background:var(--blue)}.faces span:nth-child(3){background:var(--green)}.faces span:nth-child(4){background:#fff}
.pillfield{position:relative;min-height:300px;background:#fff}
.pillfield h2{position:relative;z-index:2;font-size:clamp(20px,1.7vw,25px);text-align:center;padding:24px 20px 0}
.pillfield .pill{position:absolute;z-index:2;left:var(--x);top:var(--y);transform:rotate(var(--r));cursor:grab;user-select:none;touch-action:none}
.pillfield .flower{--fc:var(--ink);--o:.85}

/* WHY CARDS */
.why__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--gap)}
.photocard{position:relative;display:block;overflow:hidden;background:var(--blue-soft);min-height:clamp(380px,36vw,500px)}
.photocard > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.photocard:hover > img{transform:scale(1.06)}
.photocard .flower{--s:120px;left:50%;top:44%;transform:translate(-50%,-50%);--o:.9}
.photocard__cap{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;background:#fff;padding:18px 20px}
.photocard__cap h3{font-size:clamp(19px,1.6vw,24px)}
.photocard__cap p{font-size:14.5px;color:var(--ink-soft);margin-top:4px}

/* CLASS STACK (Minds services) */
.classes__card{background:#fff;padding:clamp(40px,5vw,70px) 0 clamp(50px,6vw,80px);overflow:hidden;text-align:center}
.classes__card .h2{padding:0 var(--pad)}
.classes__card > p{color:var(--ink-soft);margin:12px auto 0;max-width:520px;padding:0 20px}
.stackzone{position:relative;height:clamp(460px,44vw,560px);margin-top:clamp(20px,3vw,40px);display:grid;place-items:center}
.bigmarq{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);white-space:nowrap;pointer-events:none}
.bigmarq__track{display:inline-flex;align-items:center;gap:.4em;font-family:var(--head);font-weight:600;font-size:clamp(64px,9vw,140px);line-height:1;will-change:transform}
.bigmarq__track span{color:var(--mc)}
.bigmarq__track svg{width:.55em;height:.55em;fill:none;stroke:var(--ink);stroke-width:2.6}
.stack{position:relative;z-index:2;width:clamp(260px,26vw,340px);height:clamp(380px,36vw,460px)}
.scard{position:absolute;inset:0;background:var(--c);padding:12px;display:flex;flex-direction:column;transform-origin:50% 90%;cursor:pointer}
.scard__img{flex:1;overflow:hidden;background:#fff;position:relative}
.scard__img img{width:100%;height:100%;object-fit:cover}
.scard__tag{position:absolute;left:10px;top:10px;font-family:var(--head);font-weight:500;font-size:14px;background:#fff;padding:7px 12px}
.scard__body{padding:14px 6px 4px;text-align:left}
.scard__body h3{font-size:24px}
.scard__body p{font-size:14px;line-height:1.45;margin-top:4px}
.stack__nav{position:relative;z-index:3;display:flex;justify-content:center;gap:8px;margin-top:22px}
.sqbtn{width:52px;height:52px;border:0;background:var(--ink);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .25s}
.sqbtn:hover{background:var(--pink-ink)}
.sqbtn svg{width:16px;height:16px}
.sqbtn--light{background:#fff;color:var(--ink)}
.sqbtn--light:hover{background:var(--yellow);color:var(--ink)}

/* PLANS (Minds subscriptions) */
.plans__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.plan{position:relative;overflow:hidden;background:var(--c);padding:28px 26px 26px;display:flex;flex-direction:column;gap:16px;min-height:430px}
.plan__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.plan__top h3{font-size:clamp(21px,1.8vw,26px)}
.plan__price{font-family:var(--head);font-weight:600;font-size:clamp(28px,2.6vw,38px);white-space:nowrap}
.plan__time{font-family:var(--head);font-weight:500;font-size:15px}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:10px;position:relative;z-index:2}
.plan li{display:grid;grid-template-columns:10px 1fr;gap:12px;font-size:15px;line-height:1.45}
.plan li::before{content:"";width:9px;height:9px;background:var(--ink);margin-top:7px}
.plan .btn{margin-top:auto;align-self:flex-start;position:relative;z-index:2}
.plan .flower{--s:150px;right:-26px;bottom:60px;--fc:#fff;--o:.75}

/* TEAM (Minds experts) */
.team__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--gap)}
.team__copy{background:#fff;padding:var(--pad);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}
.team__copy p{color:var(--ink-soft);max-width:480px}
.team__copy .flower{--fc:var(--pink);--s:96px;right:40px;top:36%;--o:1}
.pillgrid{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.team__media{position:relative;overflow:hidden;background:var(--lilac);min-height:clamp(380px,38vw,520px)}
.team__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.playbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:86px;height:86px;border:0;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .3s,transform .4s var(--ease)}
.playbtn svg{width:26px;height:26px;margin-left:4px}
.playbtn:hover{background:var(--yellow);transform:translate(-50%,-50%) scale(1.08)}

/* EXTRAS (Minds interactive pink panel) */
.extras__panel{background:var(--pink);padding:var(--pad);position:relative;overflow:hidden}
.extras__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px;position:relative;z-index:2}
.extras__head p{max-width:420px}
.extras__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);position:relative;z-index:2}
.xcard{background:#fff;padding:12px;display:flex;flex-direction:column;gap:12px}
.xcard__img{aspect-ratio:4/4.4;overflow:hidden;background:var(--pink-soft)}
.xcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.xcard:hover .xcard__img img{transform:scale(1.06)}
.xcard h3{font-size:22px;padding:0 6px}
.xcard p{font-size:14.5px;color:var(--ink-soft);padding:0 6px 8px}
.xcard .pill{align-self:flex-start;margin:0 6px;font-size:13px;padding:7px 12px}
.extras__note{margin-top:20px;position:relative;z-index:2;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.extras__panel > .flower{--fc:#fff}

/* MOMENTS slider (Minds trends) */
.moments__card{background:#fff;padding:var(--pad)}
.slider{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;padding-bottom:6px}
.slider::-webkit-scrollbar{display:none}
.slide{flex:0 0 clamp(240px,27vw,360px);scroll-snap-align:start;position:relative}
.slide__img{position:relative;overflow:hidden;background:var(--bg);aspect-ratio:var(--ar,3/4)}
.slide__img img{width:100%;height:100%;object-fit:cover}
.slide:nth-child(3n+2){margin-top:60px}
.slide:nth-child(3n){margin-top:24px}
.slide p{font-family:var(--head);font-weight:500;font-size:19px;margin-top:12px;display:flex;align-items:center;gap:10px}
.slide p::before{content:"";width:12px;height:12px;background:var(--c)}
.slider__nav{display:flex;justify-content:center;gap:8px;margin-top:26px}

/* VISIT (Minds app section) */
.visit__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--gap)}
.visit__copy{background:#fff;padding:var(--pad);display:flex;flex-direction:column;gap:18px}
.visit__copy p{color:var(--ink-soft);max-width:520px}
.visit__btns{display:flex;flex-wrap:wrap;gap:8px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.facts span{background:var(--bg);padding:12px 14px;font-family:var(--head);font-weight:500;font-size:15px;display:flex;align-items:center;gap:10px}
.facts span::before{content:"";width:10px;height:10px;flex-shrink:0;background:var(--c)}
.visit__art{background:var(--lilac);position:relative;overflow:hidden;min-height:clamp(420px,40vw,540px);display:grid;place-items:center}
.polaroid{position:relative;z-index:2;background:#fff;padding:12px 12px 16px;width:clamp(220px,22vw,300px);transform:rotate(-5deg)}
.polaroid img{aspect-ratio:4/5;width:100%;object-fit:cover}
.polaroid figcaption{font-family:var(--head);font-weight:500;font-size:17px;margin-top:10px;text-align:center}
.polaroid--2{position:absolute;z-index:1;transform:rotate(8deg) translate(48%,6%);width:clamp(180px,18vw,240px);background:var(--yellow)}
.visit__art .flower{--fc:#fff}

/* FAQ + FORM (Minds questions) */
.ask__head{margin-bottom:clamp(26px,3vw,40px)}
.ask__grid{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--gap);align-items:start}
.faqs{background:var(--pink);padding:clamp(16px,2vw,26px);display:flex;flex-direction:column;gap:8px}
.qa{background:rgba(255,255,255,.55);transition:background .3s}
.qa[open]{background:#fff}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;font-family:var(--head);font-weight:500;font-size:clamp(16px,1.3vw,19px);cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;background:var(--ink);color:#fff;transition:transform .4s var(--ease),background .3s}
.qa summary i svg{width:12px;height:12px}
.qa[open] summary i{transform:rotate(90deg);background:var(--pink-ink)}
.qa__a{padding:0 20px 20px;color:var(--ink-soft);max-width:680px}
.qa__a a{color:var(--pink-ink);text-decoration:underline}
.formcard{background:var(--yellow);padding:clamp(24px,2.6vw,36px);position:sticky;top:100px}
.formcard h3{font-size:clamp(22px,2vw,28px);margin-bottom:6px}
.formcard > p{color:var(--ink);opacity:.8;font-size:15px;margin-bottom:18px}
.form{display:flex;flex-direction:column;gap:10px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field{display:flex;flex-direction:column;gap:6px;border:0}
.field > span,.field legend{font-size:13.5px;font-weight:700}
.field input,.field select,.field textarea{width:100%;background:#fff;border:2px solid transparent;padding:14px 16px;font:15.5px var(--body);color:var(--ink);border-radius:0;appearance:none;-webkit-appearance:none}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23173b54' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center/12px;padding-right:44px;cursor:pointer}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.field.is-bad input,.field.is-bad select{border-color:var(--pink-ink)}
.choices{display:flex;flex-wrap:wrap;gap:6px;border:0}
.choices legend{width:100%;font-size:13.5px;font-weight:700;margin-bottom:6px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;left:0;top:0;width:1px;height:1px}
.choice span{display:block;padding:10px 14px;background:rgba(255,255,255,.6);font-family:var(--head);font-weight:500;font-size:14.5px;transition:background .2s}
.choice:hover span{background:#fff}
.choice input:checked+span{background:var(--ink);color:#fff}
.choice input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.consent{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:13.5px;cursor:pointer}
.consent input{position:absolute;opacity:0;left:0;top:0;width:1px;height:1px}
.box{width:22px;height:22px;background:#fff;display:grid;place-items:center;border:2px solid transparent}
.box::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.consent input:checked+.box{background:var(--ink)}
.consent input:checked+.box::after{opacity:1}
.consent input:focus-visible+.box{outline:2px solid var(--ink);outline-offset:2px}
.consent.is-bad .box{border-color:var(--pink-ink)}
.form__error{color:var(--pink-ink);font-weight:700;font-size:14px}
.form .btn{align-self:flex-start;margin-top:6px}
.done{background:#fff;padding:24px}
.done h3{font-size:26px}
.done p{color:var(--ink-soft);margin-top:6px}
.formcard--wide{position:static}

/* FOOTER (Minds dark card + giant wordmark) */
.foot{max-width:var(--wrap);margin:0 auto;padding:0 clamp(12px,2vw,24px) clamp(12px,2vw,24px)}
.foot__card{background:var(--ink);color:#fff;padding:clamp(36px,4vw,60px) var(--pad) 0;overflow:hidden;position:relative}
.foot__grid{display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:clamp(30px,5vw,80px)}
.foot h4{font-size:15px;font-weight:500;color:var(--yellow);margin-bottom:12px;letter-spacing:.01em}
.foot__grid a{display:block;color:rgba(255,255,255,.78);margin-bottom:6px;font-size:15px;transition:color .2s}
.foot__grid a:hover{color:#fff}
.foot__cta{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.foot__cta small{color:rgba(255,255,255,.6);font-size:13px;margin-top:6px}
.foot__cta small a{display:inline;color:#fff;text-decoration:underline}
.foot .flower{--fc:var(--yellow);--s:70px;right:30%;top:40px}
.giant{font-family:var(--head);font-weight:600;font-size:clamp(64px,15.4vw,224px);line-height:.82;letter-spacing:-.03em;white-space:nowrap;margin-top:clamp(40px,5vw,70px);padding-bottom:.06em;display:flex}
.giant span{display:inline-block}
.giant .g-at{color:var(--blue)}
.giant .g-w{color:#fff}
.giant .g-k{color:var(--green)}.giant .g-i{color:var(--pink)}.giant .g-d{color:var(--yellow)}.giant .g-s{color:var(--lilac)}
.giant .g-sp{width:.25em}
.foot__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 0 22px;font-size:13.5px;color:rgba(255,255,255,.6)}
.foot__base a{color:#fff;text-decoration:underline}

/* VIDEO MODAL */
.vmodal{position:fixed;inset:0;z-index:200;background:rgba(23,59,84,.92);display:grid;place-items:center;padding:clamp(14px,4vw,50px);opacity:0;pointer-events:none;transition:opacity .35s}
.vmodal.on{opacity:1;pointer-events:auto}
.vmodal video{width:min(1200px,100%);max-height:calc(100vh - 120px);background:#000}
.vmodal__close{position:absolute;right:16px;top:16px;width:52px;height:52px;border:0;background:#fff;font:500 26px var(--head);cursor:pointer}
.vmodal__close:hover{background:var(--yellow)}

/* toast */
.toast{position:fixed;left:50%;bottom:22px;z-index:210;transform:translate(-50%,160%);background:var(--ink);color:#fff;font-family:var(--head);font-weight:500;padding:14px 22px;transition:transform .45s var(--ease)}
.toast.show{transform:translate(-50%,0)}

/* ===== inner pages ===== */
.phero{padding-top:var(--gap)}
.phero__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--gap)}
.phero__copy{background:#fff;padding:clamp(40px,5vw,72px) var(--pad);display:flex;flex-direction:column;justify-content:flex-end;gap:20px;min-height:clamp(380px,36vw,500px);position:relative;overflow:hidden}
.phero__copy .flower{--fc:var(--c);--s:110px;right:8%;top:16%}
.phero__media{position:relative;overflow:hidden;background:var(--c)}
.phero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero__media .pill{position:absolute;z-index:2;left:14px;bottom:14px}

.statement{background:#fff;padding:clamp(40px,6vw,90px) var(--pad);text-align:center;position:relative;overflow:hidden}
.statement p{font-family:var(--head);font-weight:500;font-size:clamp(24px,3vw,42px);line-height:1.22;max-width:1000px;margin:0 auto}
.statement .flower{--s:80px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.tile{padding:var(--pad);background:var(--c,#fff);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px}
.tile p{max-width:560px}
.tile .flower{--fc:#fff;--s:120px;right:-20px;bottom:-20px;--o:.8}
.tile--photo{padding:0;min-height:360px}
.tile--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.values__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap)}
.value{background:var(--c);padding:26px 24px 28px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;min-height:260px}
.value:nth-child(1),.value:nth-child(2){grid-column:span 3}
.value:nth-child(n+3){grid-column:span 2}
.value h3{font-size:clamp(24px,2.2vw,32px);margin-top:auto}
.value p{font-size:15.5px;max-width:420px}
.value .flower{--fc:#fff;--s:80px;right:18px;top:18px}

.logos{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--gap)}
.logos__copy{background:var(--ink);color:#fff;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.logos__copy p{color:rgba(255,255,255,.75)}
.logos__item{background:#fff;display:grid;place-items:center;padding:30px;min-height:260px;border-top:10px solid var(--c)}
.logos__item img{max-width:min(260px,100%);mix-blend-mode:multiply}

.rooms__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap)}
.rooms__grid .photocard{min-height:clamp(320px,30vw,440px)}
.rooms__grid .photocard:nth-child(1){grid-column:span 7}
.rooms__grid .photocard:nth-child(2){grid-column:span 5}
.rooms__grid .photocard:nth-child(n+3){grid-column:span 4}
.photocard__cap h3{display:flex;align-items:center;gap:10px}
.photocard__cap h3::before{content:"";width:12px;height:12px;flex-shrink:0;background:var(--c,var(--blue))}

.learn__grid{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--gap);align-items:start}
.learn__intro{background:var(--green);padding:var(--pad);display:flex;flex-direction:column;gap:18px;position:sticky;top:100px;overflow:hidden}
.learn__intro img{aspect-ratio:4/3;object-fit:cover;width:100%}
.learn__list{display:flex;flex-direction:column;gap:8px}
.litem{background:#fff;padding:20px 22px;display:grid;grid-template-columns:14px 1fr;gap:4px 16px}
.litem::before{content:"";width:14px;height:14px;background:var(--c);grid-row:1/3;margin-top:6px}
.litem h3{font-size:21px}
.litem p{color:var(--ink-soft);font-size:15px}

.steps{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:var(--gap)}
.step{background:var(--c);padding:26px 24px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;position:relative;overflow:hidden}
.step h3{font-size:clamp(21px,1.8vw,26px)}
.step p,.step a{font-size:15px}
.step a{text-decoration:underline;text-underline-offset:3px}
.step .flower{--fc:#fff;--s:64px;right:16px;top:16px}

.docs__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--gap)}
.doc{position:relative;background:#fff;padding:28px 26px;display:flex;flex-direction:column;justify-content:space-between;gap:50px;min-height:240px;border-top:10px solid var(--c);transition:background .3s}
.doc:hover{background:var(--c)}
.doc h3{font-size:clamp(22px,2vw,30px);max-width:80%}
.doc p{color:var(--ink-soft);margin-top:8px}
.doc:hover p{color:var(--ink)}

.cta{background:var(--lilac);padding:clamp(40px,5vw,80px) var(--pad);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;position:relative;overflow:hidden}
.cta p{max-width:520px;margin-top:14px}
.cta .flower{--fc:#fff;--s:130px;right:30%;top:-30px}
.cta__btns{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:2}

.gal__bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--gap);background:#fff;padding:8px;width:max-content;max-width:100%}
.chipbtn{border:0;background:transparent;padding:11px 18px;font-family:var(--head);font-weight:500;font-size:15px;cursor:pointer;transition:background .25s}
.chipbtn:hover{background:var(--bg)}
.chipbtn.is-on{background:var(--c,var(--blue))}
.gal__grid{columns:4 250px;column-gap:var(--gap)}
.gal__item{display:block;width:100%;margin:0 0 var(--gap);padding:10px;border:0;background:#fff;cursor:zoom-in;break-inside:avoid;position:relative;transition:background .3s}
.gal__item:hover{background:var(--c)}
.gal__item img{width:100%;height:auto}
.lb{position:fixed;inset:0;z-index:200;background:rgba(23,59,84,.94);display:grid;grid-template-columns:70px 1fr 70px;align-items:center;padding:clamp(16px,4vw,50px) 10px;opacity:0;pointer-events:none;transition:opacity .35s}
.lb.on{opacity:1;pointer-events:auto}
.lb img{max-width:100%;max-height:calc(100vh - 100px);margin:0 auto;object-fit:contain;background:#fff;padding:10px}
.lb button{width:54px;height:54px;border:0;background:#fff;color:var(--ink);font:500 24px var(--head);cursor:pointer;justify-self:center}
.lb button:hover{background:var(--yellow)}
.lb__close{position:absolute;right:16px;top:16px}

.reach__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap)}
.reach{background:var(--c);padding:26px 24px;display:flex;flex-direction:column;gap:6px;min-height:200px;position:relative;transition:background .3s}
.reach:nth-child(-n+2){grid-column:span 3}
.reach:nth-child(n+3){grid-column:span 2}
.reach span{font-family:var(--head);font-weight:500;font-size:15px}
.reach b{font-family:var(--head);font-weight:500;font-size:clamp(22px,2.2vw,32px);margin-top:auto;line-height:1.15}
.reach small{font-size:14px}
a.reach:hover{background:#fff}
.find__grid{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--gap)}
.find__copy{background:#fff;padding:var(--pad);display:flex;flex-direction:column;gap:18px}
.find__copy ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.find__copy li{display:grid;grid-template-columns:14px 1fr;gap:14px;background:var(--bg);padding:14px 16px}
.find__copy li::before{content:"";width:12px;height:12px;background:var(--c);margin-top:6px}
.find__map{position:relative;min-height:460px;background:var(--blue-soft)}
.find__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.lost{background:#fff;padding:clamp(60px,8vw,120px) var(--pad);text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;position:relative;overflow:hidden}

/* RESPONSIVE */
@media (max-width:1100px){
  .menu{display:none}
  .burger{display:block}
  .top__bar{flex-wrap:wrap}
  .top__right{margin-left:auto}
  .top.open .menu{display:flex;flex-direction:column;align-items:stretch;width:100%;order:3;margin:6px 0 4px}
  .top.open .menu a{font-size:18px;padding:14px 16px}
  .top.open .burger span:first-child{transform:translateY(4px) rotate(45deg)}
  .top.open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .plans__grid{grid-template-columns:1fr 1fr}
  .plans__grid .plan:last-child{grid-column:1/-1;min-height:0}
  .foot__grid{grid-template-columns:1fr 1fr}
  .foot__cta{justify-self:start;align-items:flex-start}
}
@media (max-width:900px){
  .hero__grid,.team__grid,.visit__grid,.ask__grid,.phero__grid,.duo,.learn__grid,.find__grid,.logos{grid-template-columns:1fr}
  .why__grid,.extras__grid{grid-template-columns:1fr 1fr}
  .why__grid .photocard:first-child{grid-column:1/-1}
  .extras__grid .xcard:last-child{grid-column:1/-1}
  .secthead{grid-template-columns:1fr}
  .formcard,.learn__intro{position:static}
  .phero__media{min-height:320px}
  .values__grid,.reach__grid{grid-template-columns:1fr 1fr}
  .value:nth-child(n),.reach:nth-child(n){grid-column:auto}
  .steps,.docs__grid{grid-template-columns:1fr 1fr}
  .rooms__grid .photocard:nth-child(n){grid-column:span 6}
  .rooms__grid .photocard:nth-child(1){grid-column:span 12}
  .cta{grid-template-columns:1fr}
  .logos__copy{grid-column:auto}
}
@media (max-width:600px){
  .logo img{height:44px}
  .top__bar{gap:10px;padding:8px 8px 8px 12px}
  .top__right .btn{height:46px;padding:0 4px 0 14px;font-size:14px}
  .top__right .btn i{width:36px;height:36px}
  .top__wa{display:none}
  .burger{width:46px;height:46px}
  .burger span:first-child{top:18px}.burger span:last-child{bottom:18px}
  .why__grid,.extras__grid,.plans__grid,.values__grid,.reach__grid,.steps,.docs__grid,.form__row,.facts{grid-template-columns:1fr}
  .why__grid .photocard:first-child,.extras__grid .xcard:last-child,.plans__grid .plan:last-child{grid-column:auto}
  .rooms__grid .photocard:nth-child(n){grid-column:span 12}
  .pillfield{min-height:340px}
  .foot__grid{grid-template-columns:1fr}
  .lb{grid-template-columns:44px 1fr 44px;padding:60px 4px}
  .lb button{width:40px;height:40px}
  .slide:nth-child(n){margin-top:0}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* fixes */
section.wrap,main > section{margin-bottom:clamp(60px,7vw,110px)}
.hero.wrap{margin-bottom:clamp(60px,7vw,110px)}
.foot__cta .btn{color:var(--ink);margin:0}
.foot__cta .btn--white:hover{color:#fff}
.giant{font-size:clamp(52px,13.4vw,196px)}
.team__copy .flower{top:28px;right:28px;--s:76px}
