/* =============================================
   BUDDING SEEDS — Main stylesheet
   Tokens → base → components → sections → responsive
   ============================================= */
:root{
  --cream:#fbf5ea; --paper:#fffdf8; --ink:#22302b; --muted:#5d6b65;
  --teal:#3f8f7f; --teal-d:#2f7a6b; --teal-dd:#1f5247; --mint:#dcebe4;
  --coral:#ee8f62; --coral-d:#d9773f; --peach:#fbe3d3;
  --sun:#f6c94f; --sun-l:#fbeeb9;
  --sky:#5a9bb8; --sky-l:#e2eef4;
  --rose:#d87d93; --rose-l:#fbe4e9;
  --wa:#1fa855;
  --line:rgba(34,48,43,.14);
  --f-head:'Fraunces',Georgia,'Times New Roman',serif;
  --f-body:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --wrap:1200px; --pad:clamp(20px,5vw,48px);
  --hdr:76px;
  --sec-pad:clamp(60px,7.5vw,104px);
  --nav-gap:18px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--hdr);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-body);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--cream);overflow-x:hidden}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3{font-family:var(--f-head);font-weight:700;line-height:1.12;letter-spacing:-.01em}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--pad)*2);margin-inline:auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;z-index:2000;border-radius:6px}
.skip:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 1.6em;border-radius:999px;border:2px solid transparent;font:700 1rem/1 var(--f-body);cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease;white-space:nowrap}
.btn .ic{transition:transform .25s ease}
.btn:hover .ic:last-child{transform:translateX(4px)}
.btn:active{transform:scale(.97)}
.btn-coral{background:var(--coral);color:#3a1f10}
.btn-coral:hover{background:var(--coral-d);color:#fff}
.btn-line{border-color:var(--teal-d);color:var(--teal-d);background:transparent}
.btn-line:hover{background:var(--teal-d);color:#fff}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{filter:brightness(.92)}

/* ---------- Section basics ---------- */
.sec{padding:var(--sec-pad) 0;scroll-margin-top:calc(var(--nav-gap) - var(--sec-pad))}
.approach,.hero{scroll-margin-top:var(--nav-gap)}
.hero{scroll-margin-top:0}
.kicker{display:inline-block;font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-d);margin-bottom:14px;position:relative;padding-left:34px}
.kicker::before{content:"";position:absolute;left:0;top:50%;width:24px;height:2px;background:var(--coral)}
.kicker.light{color:var(--sun)}
.sec h2{font-size:clamp(1.9rem,4.2vw,3rem);margin-bottom:16px}
.sec-head{max-width:640px;margin:0 auto clamp(40px,5vw,64px);text-align:center}
.sec-head.left{margin-left:0;text-align:left}
.sec-head p{color:var(--muted)}
.sec-head .kicker{padding-left:0}
.sec-head:not(.left) .kicker::before{display:none}
.sec-head.left .kicker{padding-left:34px}

/* ---------- Header ---------- */
#scrollProgress{position:fixed;inset:0 0 auto 0;height:3px;z-index:1200;pointer-events:none}
#scrollProgress span{display:block;height:100%;width:100%;background:var(--coral);transform-origin:left;transform:scaleX(0)}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(251,245,234,.96);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.site-header.scrolled{border-color:var(--line);box-shadow:0 6px 20px -14px rgba(34,48,43,.35)}
.header-in{display:flex;align-items:center;gap:24px;height:var(--hdr)}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:46px;height:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text b{font-family:var(--f-head);font-size:1.28rem}
.brand-text small{font-size:.72rem;color:var(--muted);letter-spacing:.06em;margin-top:3px}
.brand.light .brand-text b{color:#fff}.brand.light .brand-text small{color:rgba(255,255,255,.65)}
.nav{display:flex;gap:6px;margin-left:auto}
.nav a{padding:10px 14px;font-weight:500;font-size:.98rem;border-radius:999px;position:relative;transition:color .2s}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a.active{color:var(--teal-d)}
.header-cta{min-height:46px;padding:0 1.4em}
.menu-btn{display:none;width:48px;height:48px;margin-left:auto;border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:12px}
.menu-btn .ic{width:28px;height:28px;margin:auto}
.menu-btn .ic-close{display:none}
.menu-btn[aria-expanded="true"] .ic-open{display:none}
.menu-btn[aria-expanded="true"] .ic-close{display:block}
.mobile-menu{position:fixed;inset:var(--hdr) 0 0 0;z-index:999;background:var(--cream);padding:24px var(--pad) 40px;overflow-y:auto;display:flex;flex-direction:column;gap:28px}
.mobile-menu[hidden]{display:none}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav a{font-family:var(--f-head);font-size:1.7rem;font-weight:700;padding:14px 0;border-bottom:1px solid var(--line)}
.mm-actions{display:grid;gap:12px}
body.menu-open{overflow:hidden}

/* ---------- Hero ---------- */
.hero{position:relative;padding:clamp(28px,5vw,64px) 0 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,72px);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;color:var(--teal-d);background:var(--mint);padding:8px 16px;border-radius:999px;margin-bottom:22px}
.hero h1{font-size:clamp(2.4rem,5vw,3.7rem);margin-bottom:22px}
.hero h1 .em{color:var(--teal-d)}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--muted);max-width:33em;margin-bottom:30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.rating-chip{display:inline-flex;align-items:center;gap:12px;font-size:.95rem;flex-wrap:wrap}
.stars{display:inline-flex;color:#e9a91c}
.stars .ic{width:1.05em;height:1.05em}
.hero-art{position:relative;max-width:470px;width:100%;margin-inline:auto}
.arch{border-radius:999px 999px 28px 28px;background:linear-gradient(180deg,var(--peach),var(--sun-l));overflow:hidden;aspect-ratio:4/5}
.arch img{width:100%;height:100%;object-fit:cover}
.arch img{scale:1.3;transform-origin:50% 74%}
.arch-mint{background:var(--mint)}
.deco{position:absolute;pointer-events:none}
.sun{width:96px;top:-26px;left:-22px;z-index:2}
.cloud{width:104px;top:-4%;right:26%;z-index:2}
.cloud path{fill:var(--mint)}
.block{width:54px;z-index:2}
.b1{left:-18px;bottom:12%}
.b2{right:2px;bottom:12%}
.tag-card{position:absolute;display:flex;align-items:center;gap:12px;background:var(--paper);padding:12px 18px 12px 12px;border-radius:14px;box-shadow:0 12px 26px -14px rgba(34,48,43,.4);z-index:3}
.tag-card small{display:block;font-size:.72rem;color:var(--muted);line-height:1.2}
.tag-card b{font-size:.98rem;line-height:1.2}
.tc-ic{width:40px;height:40px;border-radius:12px;background:var(--mint);color:var(--teal-d);display:grid;place-items:center;font-size:1.15rem}
.tc-ic.warm{background:var(--peach);color:var(--coral-d)}
.t1{left:-30px;top:58%}
.t2{right:-16px;top:6%}

/* Remove floating founder card from homepage */
.hero .founder-band {
    display: none !important;
}


/* ---------- Enquiry forms ---------- */
.enq{background:var(--paper);border:1px solid var(--line)}
.enq-bar{position:relative;z-index:5;margin-top:clamp(28px,4vw,48px);margin-bottom:-56px;padding:22px 24px;border-radius:20px;box-shadow:0 26px 50px -30px rgba(34,48,43,.5);display:grid;grid-template-columns:auto 1fr 1fr 1.3fr auto;gap:16px;align-items:start}
.enq-head h2{font-size:1.3rem;margin:0 0 4px}
.enq-head p{font-size:.85rem;color:var(--muted);line-height:1.4;max-width:14em}
.enq .fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.enq label{font-size:.82rem;font-weight:700}
.enq label i{color:var(--coral-d);font-style:normal}
.enq label span{font-weight:400;color:var(--muted)}
.enq input,.enq textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1.5px solid rgba(34,48,43,.22);border-radius:12px;padding:13px 14px;min-height:52px;transition:border-color .2s,box-shadow .2s}
.enq textarea{resize:vertical}
.enq input::placeholder,.enq textarea::placeholder{color:#8a958f}
.enq input:focus,.enq textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(63,143,127,.18)}
.enq .fld.err input{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.fld-err{min-height:0;color:#b03224;font-size:.78rem;line-height:1.3}
.enq-bar .fld-msg textarea{height:52px;min-height:52px;resize:none}
.enq-bar .btn{align-self:end;margin-top:22px}
.enq-bar .fld-err{position:absolute;margin-top:0;transform:translateY(56px)}
.form-status{grid-column:1/-1;font-weight:700;font-size:.95rem;color:var(--teal-d);display:none;align-items:center;gap:8px}
.form-status.show{display:flex}
.enq-bar .form-status{margin-top:-4px}
.enq-card{border-radius:24px;padding:clamp(24px,4vw,40px);display:grid;gap:18px;box-shadow:0 30px 60px -36px rgba(0,0,0,.5);border:0}
.enq-card h3{font-size:1.5rem}
.enq-card .form-status{margin-top:0}

/* ---------- Stat band ---------- */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(64px,7vw,88px);padding-top:20px}
.stat-band a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 14px;background:var(--paper);border:1px solid var(--line);border-radius:16px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;cursor:pointer}
.stat-band a:hover,.stat-band a:focus-visible{transform:translateY(-5px);box-shadow:0 18px 32px -20px rgba(34,48,43,.35);border-color:var(--teal)}
.st-ic{width:42px;height:42px;border-radius:50%;background:var(--mint);color:var(--teal-dd);display:grid;place-items:center;margin-bottom:4px}
.stat-band b{font-family:var(--f-head);font-size:1.7rem}
.stat-band small{font-size:.78rem;color:var(--muted);font-weight:700;letter-spacing:.02em}

/* ---------- Section decorative visuals ---------- */
.sec{position:relative}
.deco{position:absolute;pointer-events:none;z-index:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.deco.dots,.deco.squiggle{stroke:none}
.deco.squiggle{fill:none;stroke:#3f8f7f}
.deco.big-quote{fill:currentColor;stroke:none}
.about .dots{width:76px;top:18px;left:2%;opacity:.5}
.team .dots{width:70px;top:12px;right:3%;opacity:.4}
.about .orbit-ic{width:30px;color:var(--coral);right:6%;top:14%;animation:bob 5s ease-in-out infinite}
.programs .squiggle{width:220px;top:6px;right:4%;opacity:.35}
.why-star{width:22px;color:rgba(255,255,255,.35)}
.ws1{top:14%;left:6%;animation:bob 6s ease-in-out infinite}
.ws2{top:60%;right:8%;animation:bob 7s ease-in-out -2s infinite}
.ws3{bottom:8%;left:14%;animation:bob 5.5s ease-in-out -1s infinite}
.big-quote{width:120px;color:var(--teal-d);opacity:.12;right:6%;top:4%}
.compass-deco{width:70px;color:var(--teal);opacity:.16;right:4%;top:4%;animation:spin 22s linear infinite}
.gal-note{max-width:640px;margin:32px auto 0;text-align:center;color:var(--muted);font-size:.96rem}

/* ---------- Marquee ---------- */
.marquee{margin-top:56px;background:var(--teal-d);color:#fff;overflow:hidden;padding:88px 0 20px;margin-top:0;padding-top:88px}
.marquee-track{display:flex;width:max-content}
.marquee ul{display:flex;align-items:center;gap:26px;padding-right:26px;font-family:var(--f-head);font-size:1.4rem;font-weight:500;white-space:nowrap}
.marquee .sep{color:var(--sun);display:grid;place-items:center}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:center}
.about-media{position:relative;max-width:480px;width:100%;margin-inline:auto}
.badge-round{position:absolute;right:-18px;bottom:36px;width:104px;height:104px;border-radius:50%;background:var(--coral);color:#3a1f10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.05;box-shadow:0 14px 26px -14px rgba(0,0,0,.5)}
.badge-round b{font-family:var(--f-head);font-size:1.9rem}
.badge-round small{font-size:.66rem;font-weight:700;letter-spacing:.04em}
.grow-sprout{position:absolute;width:64px;left:-20px;bottom:-4px}
.about-copy p{color:var(--muted);margin-bottom:16px;max-width:36em}
.about-points{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:28px}
.about-points li{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.pt-ic{width:44px;height:44px;flex:none;border-radius:50%;background:var(--sun-l);color:var(--teal-dd);display:grid;place-items:center;font-size:1.25rem}
.about-points h3{font-family:var(--f-body);font-size:1.02rem;margin-bottom:2px}
.about-points p{font-size:.92rem;line-height:1.5;margin:0}


/* ---------- Programs ---------- */
.programs{background:var(--paper)}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prog{position:relative;display:flex;flex-direction:column;padding:36px 30px 30px;border-radius:6px 6px 6px 56px;transition:transform .35s ease,box-shadow .35s ease;overflow:hidden}
.prog:hover{transform:translateY(-8px);box-shadow:0 26px 40px -28px rgba(34,48,43,.6)}
.p-teal{background:var(--teal-d);color:#eaf6f2}
.p-coral{background:var(--peach)}
.p-sun{background:var(--sun-l)}
.p-sky{background:var(--sky-l)}
.p-rose{background:var(--rose-l)}
.prog-no{position:absolute;top:16px;right:22px;font-family:var(--f-head);font-size:3.6rem;font-weight:700;opacity:.14;line-height:1}
.prog-ic{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem;margin-bottom:22px;background:rgba(255,255,255,.75);color:var(--teal-dd)}
.p-teal .prog-ic{background:rgba(255,255,255,.16);color:#fff}
.p-coral .prog-ic{color:var(--coral-d)}
.p-sky .prog-ic{color:var(--sky)}
.p-rose .prog-ic{color:var(--rose)}
.prog h3{font-size:1.5rem;margin-bottom:12px}
.prog p{font-size:.98rem;margin-bottom:20px;opacity:.9}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.chips li{font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:999px;border:1.5px solid currentColor;opacity:.85}
.prog-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:700;border-bottom:2px solid currentColor;align-self:flex-start;padding-bottom:2px}
.prog-link .ic{transition:transform .25s}
.prog-link:hover .ic{transform:translateX(5px)}

/* ---------- Activities / focus ---------- */
.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.focus-grid li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center;padding:20px 22px;border-radius:14px;transition:transform .3s ease}
.focus-grid li:hover{transform:translateY(-4px) rotate(-.6deg)}
.focus-grid .ic{grid-row:1/3;width:2rem;height:2rem;padding:0}
.focus-grid b{font-size:1.05rem;line-height:1.25}
.focus-grid small{font-size:.78rem;opacity:.75}
.f-teal{background:var(--mint);color:var(--teal-dd)}
.f-coral{background:var(--peach);color:#8a4319}
.f-sun{background:var(--sun-l);color:#7a5a06}
.f-sky{background:var(--sky-l);color:#2b566a}
.f-rose{background:var(--rose-l);color:#8a3a4d}
.focus-grid li:nth-child(even){border-radius:14px 14px 14px 30px}
.approach{margin-top:clamp(72px,9vw,120px)}
.approach-head{max-width:560px;margin-bottom:44px}
.approach-head p{color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:0;right:0;top:27px;height:0;border-top:2px dashed var(--coral);opacity:.6;transform-origin:left;transform:scaleX(0);transition:transform 1.4s ease .2s}
.steps.in::before{transform:scaleX(1)}
.step-n{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--teal-d);color:#fff;font-family:var(--f-head);font-weight:700;font-size:1.1rem;margin-bottom:20px}
.steps h3{font-family:var(--f-body);font-size:1.08rem;margin-bottom:8px;line-height:1.3}
.steps p{font-size:.94rem;color:var(--muted);line-height:1.55}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.team-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:32px 26px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}
.team-card:hover{transform:translateY(-6px);box-shadow:0 22px 36px -26px rgba(34,48,43,.5)}
.tm-avatar{display:block;width:92px;height:92px;margin:0 auto 18px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--paper),0 0 0 6px var(--mint)}
.tm-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top}
.team-card h3{font-family:var(--f-body);font-size:1.1rem;margin-bottom:8px}
.tm-lead{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.04em;color:var(--teal-d);background:var(--mint);padding:5px 14px;border-radius:999px;margin-bottom:14px}
.team-card p{font-size:.92rem;color:var(--muted);line-height:1.55}

/* ---------- Why us ---------- */
.why{background:var(--teal-dd);color:#e8f3ef}
.why h2{color:#fff}
.why .sec-head p{color:rgba(232,243,239,.75)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 40px}
.why-item{padding-top:24px;position:relative}
.why-item::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:rgba(255,255,255,.2)}
.why-item::after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform 1s ease .3s}
.why-item.in::after{transform:scaleX(.28)}
.draw-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--sun);font-size:1.6rem;margin-bottom:18px}
.why-item h3{font-family:var(--f-body);font-size:1.15rem;color:#fff;margin-bottom:8px}
.why-item p{font-size:.96rem;color:rgba(232,243,239,.8)}

/* ---------- Gallery ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(150px,19vw,250px);gap:16px}
.gal{position:relative;overflow:hidden;background:var(--mint);cursor:default}
.gal img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform .7s ease}
.gal:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;color:#fff;font-weight:700;font-size:.92rem;background:linear-gradient(to top,rgba(20,40,34,.75),transparent);transform:translateY(100%);transition:transform .4s ease}
.gal:hover figcaption,.gal:focus-within figcaption{transform:none}
.gal.ph{background:var(--paper);border:1.5px dashed rgba(63,143,127,.35);display:flex;flex-direction:column}
.gal.ph .ph-in{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--teal-d);text-align:center;padding:12px;min-height:0}
.gal.ph .ic{width:30px;height:30px;opacity:.7}
.gal.ph b{font-size:.88rem;font-weight:700;opacity:.85}
.gal.ph figcaption{position:static;flex:none;transform:none;background:none;color:var(--muted);padding:0 14px 14px;font-size:.8rem;text-shadow:none}
.gal.ph:hover{border-color:rgba(63,143,127,.6)}

/* ---------- Video section ---------- */
/* Portrait (9:16) clips. Desktop: 4 across. Tablet: 2 across. Phone: swipeable row. */
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.vid figcaption{margin-top:12px;font-weight:700;font-size:.92rem;text-align:center;color:var(--teal-dd)}
.video-frame{position:relative;width:100%;aspect-ratio:9/16;border-radius:22px;background:#000;overflow:hidden;box-shadow:0 22px 40px -26px rgba(34,48,43,.55)}
.video-frame.ph{background:linear-gradient(160deg,var(--mint),var(--peach));border:1.5px dashed rgba(63,143,127,.35);display:flex;align-items:center;justify-content:center;box-shadow:none}
.vf-in{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--teal-dd);padding:16px}
.vf-play{width:60px;height:60px;border-radius:50%;background:var(--paper);display:grid;place-items:center;box-shadow:0 12px 22px -12px rgba(34,48,43,.4);color:var(--coral-d)}
.vf-play .ic{width:26px;height:26px}
.vf-in b{font-size:.95rem}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.g1 img{object-position:50% 33%}
.g2 img{object-position:50% 24%}
.g3 img{object-position:50% 30%}
.g7 img{object-position:50% 55%}
.g9 img{object-position:50% 38%}
.g10 img{object-position:50% 72%}
.g1{grid-column:span 6;grid-row:span 2;border-radius:6px 6px 6px 80px;background:var(--sun-l)}
.g2{grid-column:span 3;border-radius:120px 120px 6px 6px;background:var(--peach)}
.g3{grid-column:span 3;border-radius:6px}
.g4{grid-column:span 3;border-radius:6px}
.g5{grid-column:span 3;border-radius:6px 6px 80px 6px;background:var(--peach)}
.g6{grid-column:span 4;border-radius:6px}
.g7{grid-column:span 4;border-radius:80px 6px 6px 6px;background:var(--mint)}
.g8{grid-column:span 4;border-radius:6px}
.g9{grid-column:span 6;border-radius:6px 6px 6px 56px;background:var(--sun-l)}
.g10{grid-column:span 6;border-radius:6px 56px 6px 6px}

/* ---------- Reviews ---------- */
.reviews{background:var(--sun-l)}
.reviews-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,88px);align-items:center}
.rev-score{background:var(--teal-d);color:#fff;padding:clamp(28px,4vw,48px);border-radius:6px 90px 6px 6px}
.rev-score .kicker{color:var(--sun)}
.big{font-family:var(--f-head);font-size:clamp(4.5rem,9vw,6.5rem);line-height:1;font-weight:700}
.big small{font-size:1.3rem;font-weight:500;opacity:.7;margin-left:6px}
.stars.fill{margin:14px 0 8px;color:rgba(255,255,255,.28);font-size:1.5rem}
.stars.fill .ic{fill:currentColor;stroke:none;width:1em;height:1em;margin-right:4px}
.stars.fill.in .ic{animation:starOn .5s ease forwards;animation-delay:calc(var(--s)*.12s + .2s)}
.rev-copy p{color:var(--muted);margin-bottom:26px;max-width:32em}
.rev-actions{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Location ---------- */
.loc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:center}
.loc-info>p{color:var(--muted);margin-bottom:26px}
.contact-list li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.contact-list li:last-child{border-bottom:1px solid var(--line)}
.cl-ic{width:46px;height:46px;flex:none;border-radius:14px;background:var(--mint);color:var(--teal-dd);display:grid;place-items:center;font-size:1.2rem}
.contact-list small{display:block;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.contact-list address{font-style:normal}
.contact-list a{font-weight:700}
.loc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.loc-map{border-radius:6px 6px 90px 6px;overflow:hidden;aspect-ratio:4/3.4;background:var(--mint);box-shadow:0 26px 50px -34px rgba(34,48,43,.7)}
.loc-map iframe{width:100%;height:100%;border:0;display:block}

/* ---------- FAQ ---------- */
.faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:clamp(32px,6vw,80px);align-items:start}
.faq-head{position:sticky;top:calc(var(--hdr) + 24px)}
.faq-head p{color:var(--muted);margin-bottom:22px;max-width:26em}
.faq-plus{width:26px;color:var(--coral);opacity:.25}
.fp1{top:6%;left:42%;animation:bob 5s ease-in-out infinite}
.fp2{bottom:10%;left:34%;animation:bob 6s ease-in-out -2s infinite}
.faq-list li{border-top:1px solid var(--line)}
.faq-list li:last-child{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 4px;background:none;border:0;font:inherit;font-weight:700;font-size:1.05rem;text-align:left;cursor:pointer;color:var(--ink)}
.faq-q .ic{color:var(--coral-d);transition:transform .3s ease;flex:none}
.faq-q[aria-expanded="true"] .ic{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{padding:0 4px 22px;color:var(--muted);max-width:44em}

/* ---------- Contact (enquiry #2) ---------- */
.contact{position:relative;background:var(--coral);overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center;position:relative;z-index:2}
.contact h2{color:#2c1608}
.contact-copy p{color:#4a2a15;max-width:28em;margin-bottom:26px}
.contact .kicker.light{color:#2c1608}
.contact .kicker.light::before{background:#2c1608}
.contact-quick{display:flex;flex-wrap:wrap;gap:12px}
.contact-quick a{display:inline-flex;align-items:center;gap:10px;background:#2c1608;color:#fff;padding:14px 22px;border-radius:999px;font-weight:700;transition:transform .25s}
.contact-quick a:hover{transform:translateY(-3px)}
.paper-plane{position:absolute;width:88px;top:56px;right:8%;z-index:1;opacity:.85}

/* ---------- Footer ---------- */
.footer{background:#15332c;color:rgba(255,255,255,.72);padding-bottom:28px;position:relative}
.sprout-row{position:absolute;left:0;right:0;top:-89px;height:90px;pointer-events:none}
.sprout-row svg{width:100%;height:100%}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.4fr;gap:40px;padding-top:64px;padding-bottom:44px}
.f-brand p{margin-top:18px;font-size:.94rem;max-width:26em}
.footer h4{font-family:var(--f-body);color:#fff;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.footer li{margin-bottom:10px;font-size:.96rem}
.footer a:hover{color:var(--sun)}
.f-contact li{display:flex;gap:10px;align-items:flex-start}
.f-contact .ic{margin-top:.28em;color:var(--sun)}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;font-size:.88rem}
.fb-links{display:flex;gap:22px}

/* ---------- Floating contact ---------- */
/* Round, icon-only WhatsApp + Call buttons, bottom-right, on every screen size. */
.float-contact{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));top:auto;z-index:900;display:flex;flex-direction:column;gap:12px;align-items:center;transition:opacity .25s,transform .25s}
.fc{position:relative;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;color:#fff;box-shadow:0 12px 24px -10px rgba(0,0,0,.5);transition:transform .25s ease,filter .2s}
.fc .ic{width:28px;height:28px}
.fc span{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--ink);color:#fff;font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}
.fc:hover span{opacity:1}
.fc:hover{transform:translateY(-3px) scale(1.06);filter:brightness(.97)}
.fc-wa{background:var(--wa);animation:waBounce 3.2s ease-in-out infinite}
.fc-wa::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--wa);animation:ring 2.6s ease-out infinite;pointer-events:none}
.fc-wa:hover{animation-play-state:paused}
.fc-call{background:var(--teal-d)}
body.kbd-open .float-contact{opacity:0;pointer-events:none}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
  .nav a{padding:10px 10px;font-size:.94rem}
  .enq-bar{grid-template-columns:1fr 1fr;margin-bottom:-40px}
  .enq-head{grid-column:1/-1}
  .enq-head p{max-width:none}
  .enq-bar .fld-msg{grid-column:1/-1}
  .enq-bar .fld-msg textarea{height:80px}
  .enq-bar .btn{grid-column:1/-1;margin-top:4px}
  .enq-bar .fld-err{position:static;transform:none}
  .marquee{padding-top:72px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  :root{--hdr:68px}
  .nav,.header-cta{display:none}
  .menu-btn{display:grid}
  .hero-grid,.about-grid,.reviews-grid,.loc-grid,.contact-grid{grid-template-columns:1fr}
  .hero-art{max-width:400px;order:-1}
  .hero-art .arch{aspect-ratio:1/1}
  .prog-grid,.why-grid,.team-grid,.video-grid{grid-template-columns:1fr 1fr}
  .focus-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:36px 24px}
  .steps::before{display:none}
  .about-media{max-width:420px}
  .faq-grid{grid-template-columns:1fr}
  .faq-head{position:static}
  .stat-band{grid-template-columns:1fr 1fr}
  .deco{display:none}
  .float-contact{right:14px}
  .fc span{display:none}
  body.form-in-view .float-contact{opacity:0;pointer-events:none}
}

/* ---------- Mobile ---------- */
@media (max-width:640px){
  body{font-size:1rem;padding-bottom:0}
  :root{--sec-pad:52px;--nav-gap:14px}
  .video-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);scroll-padding-inline:var(--pad);-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .video-grid::-webkit-scrollbar{display:none}
  .vid{flex:0 0 72%;scroll-snap-align:start}
  .brand img{width:40px}
  .brand-text b{font-size:1.15rem}
  .brand-text small{font-size:.66rem}
  .hero{padding-top:12px}
  .hero-art{max-width:300px}
  .hero-art .arch{aspect-ratio:1/1;border-radius:999px 999px 24px 24px}
  .arch img{scale:1.18}
  .sun{width:70px;top:-14px;left:-6px}
  .cloud{width:82px;right:-8px}
  .b1{left:-6px;bottom:18%;width:44px}
  .b2{right:-4px;bottom:6%;width:44px}
  .t1{left:-6px;top:auto;bottom:-14px}
  .t2{display:none}
  .hero h1{font-size:clamp(2.3rem,11vw,3rem)}
  .hero-actions .btn{flex:1 1 100%}
  .enq-bar{grid-template-columns:1fr;padding:22px 18px;margin-bottom:-36px;border-radius:18px}
  .enq input,.enq textarea{font-size:16px}
  .marquee{padding-top:60px}
  .marquee ul{font-size:1.15rem}
  .about-points,.prog-grid,.why-grid,.focus-grid,.steps,.team-grid{grid-template-columns:1fr}
  .about-points{gap:0}
  .prog{padding:30px 24px 26px}
  .badge-round{width:88px;height:88px;right:-6px}
  .grow-sprout{left:-8px;width:52px}
  .gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
  .g1{grid-column:span 2;grid-row:span 2;border-radius:6px 6px 6px 56px}
  .g2,.g3,.g4,.g5,.g6,.g7,.g8,.g9{grid-column:span 1}
  .g10{grid-column:span 2}
  .g2{border-radius:70px 70px 6px 6px}
  .g5{border-radius:6px 6px 56px 6px}
  .g7{border-radius:56px 6px 6px 6px}
  .g9{border-radius:6px 6px 6px 56px}
  .g10{border-radius:6px 56px 6px 6px}
  .gal figcaption{transform:none;padding:22px 12px 10px;font-size:.78rem}
  .rev-score{border-radius:6px 60px 6px 6px}
  .loc-map{aspect-ratio:1/1;border-radius:6px 6px 60px 6px}
  .rev-actions .btn,.loc-actions .btn{flex:1 1 100%}
  .paper-plane{width:56px;top:22px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer{padding-bottom:110px}
  .footer-bottom{flex-direction:column}
}
@media (max-width:360px){
  .brand-text small{display:none}
}

.founder-band{display:flex;align-items:center;gap:18px;width:fit-content;max-width:100%;margin:0 auto clamp(18px,3vw,30px);padding:10px 26px 10px 10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:0 18px 34px -26px rgba(34,48,43,.5)}
.fb-photo{flex:none;width:84px;height:84px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--mint)}
.fb-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.fb-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.fb-role{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-d)}
.fb-name{font-size:1.2rem;color:var(--teal-dd)}
.fb-sub{font-size:.9rem;color:var(--muted)}
@media (max-width:560px){.founder-band{border-radius:28px;gap:14px;padding:10px 16px 10px 10px}.fb-photo{width:68px;height:68px}.fb-name{font-size:1.05rem}.fb-sub{font-size:.82rem}}


/* ========================================
   FOUNDER — FULL-WIDTH HOMEPAGE HERO
   ======================================== */

.founder-feature {
    background: var(--cream);
    padding: clamp(35px, 5vw, 75px) 0;
    scroll-margin-top: var(--hdr);
}

/* Remove the card appearance completely */
.founder-feature-card {
    display: grid;
    grid-template-columns: 46% 54%;
    align-items: center;
    gap: clamp(35px, 5vw, 75px);

    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 0;

    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

/* Remove orange decoration */
.founder-feature-card::before,
.founder-feature-card::after {
    content: none !important;
    display: none !important;
}

/* Founder photograph */
.founder-feature-photo {
    width: 100%;
    height: clamp(440px, 43vw, 600px);
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 0;

    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
}

.founder-feature-photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    object-fit: cover;
    object-position: center 30%;

    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* Text directly on the page background */
.founder-feature-details {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

/* Founder heading */
.founder-feature-details h2 {
    font-family: var(--f-head);
    font-size: clamp(2.7rem, 5vw, 4.5rem);
    line-height: 1.12;
    color: var(--ink);
    margin: 18px 0 12px;
}

/* Founder title */
.founder-feature-role {
    font-family: var(--f-head);
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    color: var(--teal-d);
    margin-bottom: 24px;
}

/* Description */
.founder-feature-description {
    font-size: 1.05rem;
    line-height: 1.85;
    color: var(--muted);
    max-width: 58ch;
    margin-bottom: 30px;
}

/* Qualification highlights */
.founder-feature-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

/* Tablet */
@media (max-width: 900px) {
    .founder-feature-card {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .founder-feature-photo {
        height: 480px;
    }

    .founder-feature-details {
        padding: 0;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .founder-feature {
        padding: 24px 0 48px;
    }

    .founder-feature-card {
        gap: 28px;
    }

    .founder-feature-photo {
        height: 380px;
    }

    .founder-feature-details h2 {
        font-size: clamp(2.2rem, 9vw, 3rem);
    }

    .founder-feature-facts {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* ============================================
   FOUNDER PROFILE — PREMIUM TYPOGRAPHY
   ============================================ */

/* Founder heading */
.founder-feature-details h2 {
    font-family: var(--f-head);
    font-size: clamp(3rem, 5vw, 4.6rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.8px;
    color: var(--ink);
    margin: 16px 0 12px;
}

/* Small eyebrow heading */
.founder-feature-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--f-body);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--teal-d);
    margin-bottom: 6px;
}

.founder-feature-dot {
    width: 9px;
    height: 9px;
    flex-shrink: 0;
    background: var(--coral);
    border-radius: 50%;
}

/* Founder designation */
.founder-feature-role {
    font-family: var(--f-head);
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    font-weight: 500;
    color: var(--teal-d);
    letter-spacing: -.5px;
    margin-bottom: 30px;
}

/* Founder introduction */
.founder-feature-description {
    font-family: var(--f-body);
    font-size: 1.08rem;
    line-height: 1.9;
    font-weight: 400;
    letter-spacing: .1px;
    color: #52645d;
    max-width: 55ch;
    margin-bottom: 32px;
}

/* Qualification section */
.founder-feature-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 28px;
    padding-top: 28px;
    border-top: 1px solid rgba(47, 122, 107, .2);
}

/* Individual qualification item */
.founder-feature-fact {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--f-body);
    font-size: .9rem;
    line-height: 1.55;
    color: var(--muted);
}

/* Qualification highlighted text */
.founder-feature-fact strong {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink);
    margin-top: 3px;
}

/* Professional icon containers */
.founder-feature-icon {
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    background: var(--mint);
    color: var(--teal-d);
    border-radius: 14px;
}

.founder-feature-fact:nth-child(even)
.founder-feature-icon {
    background: var(--peach);
    color: var(--coral-d);
}

.founder-feature-icon .ic {
    width: 22px;
    height: 22px;
}

/* Mobile typography */
@media (max-width: 640px) {
    .founder-feature-details h2 {
        font-size: clamp(2.4rem, 9vw, 3.3rem);
        letter-spacing: -1px;
    }

    .founder-feature-role {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }

    .founder-feature-description {
        font-size: 1rem;
        line-height: 1.8;
    }

    .founder-feature-facts {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* ============================================
   FOUNDER — POLISH (photo frame, titles, facts)
   ============================================ */
.founder-feature-card{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}
.founder-feature-photo{position:relative;height:auto;aspect-ratio:4/5;max-height:600px;border-radius:28px;overflow:visible}
.founder-feature-photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:28px;background:var(--mint);z-index:0}
.founder-feature-photo img{position:relative;z-index:1;border-radius:28px;box-shadow:0 28px 50px -28px rgba(34,48,43,.5);object-position:center 25%}
.founder-feature-details h2{font-size:clamp(2.4rem,4.4vw,3.8rem);letter-spacing:-1.2px}
.founder-feature-role{margin-bottom:18px}
.founder-titles{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.founder-titles li{padding:8px 16px;border-radius:999px;background:var(--mint);color:var(--teal-dd);font-size:.88rem;font-weight:700;line-height:1.2;border:1px solid rgba(47,122,107,.18)}
.founder-titles li:nth-child(even){background:var(--peach);color:var(--coral-d);border-color:rgba(238,143,98,.3)}
.founder-titles li.ft-main{background:var(--teal-d);color:#fff;border-color:var(--teal-d)}
.founder-feature-description{font-size:1.02rem;line-height:1.8;margin-bottom:28px}
.founder-feature-facts{gap:18px 24px;padding-top:24px}
.founder-feature-fact{align-items:center}
.founder-feature-fact strong{display:block;margin:0 0 2px;font-size:.98rem}
@media (max-width:900px){
  .founder-feature-card{grid-template-columns:1fr}
  .founder-feature-photo{height:auto;aspect-ratio:1/1;max-width:420px;margin:0 auto 18px;width:calc(100% - 18px)}
}
@media (max-width:640px){
  .founder-titles{gap:8px}
  .founder-titles li{font-size:.82rem;padding:7px 13px}
  .founder-feature-facts{grid-template-columns:1fr}
}
.founder-feature-fact br{display:none}
.founder-feature-fact strong{margin-bottom:3px}
.founder-feature-card .founder-feature-photo{overflow:visible}
