/* EDU-07 小橡果 — gentle preschool. Fredoka + Nunito. */
.tpl-edu-07{
  --gut:clamp(16px,5vw,72px);--max:1200px;
  --pad-x:max(var(--gut),calc((100% - var(--max))/2 + var(--gut)));
  --disp:"Fredoka","Noto Sans SC",system-ui,sans-serif;
  --mint:color-mix(in srgb,var(--accent) 16%,var(--bg));
  --paper:color-mix(in srgb,var(--bg) 40%,#fff);
  --dock-bg:var(--fg);--dock-fg:var(--bg);
  font-family:"Nunito","Noto Sans SC",system-ui,sans-serif;font-size:17px;
}
.tpl-edu-07 main{overflow-x:clip}
.tpl-edu-07 main>section{padding:clamp(72px,9vw,128px) var(--pad-x)}
.tpl-edu-07 :is(h1,h2,h3){font-family:var(--disp);font-weight:600}
.tpl-edu-07 ::selection{background:var(--soft);color:var(--fg)}

/* header */
.e7-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px;padding:14px var(--pad-x);background:var(--soft)}
.e7-brandwrap{display:flex;align-items:center;gap:10px}
.e7-mark{position:relative;width:28px;height:30px;flex:none}
.e7-mark::before{content:"";position:absolute;left:2px;right:2px;bottom:0;height:22px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:var(--accent)}
.e7-mark::after{content:"";position:absolute;left:0;right:0;top:2px;height:11px;border-radius:12px 12px 4px 4px;background:var(--fg)}
.e7-brand{display:inline-flex;align-items:center;min-height:44px;font-family:var(--disp);font-weight:600;font-size:21px;text-decoration:none}
.e7-nav{display:flex;flex-wrap:wrap;gap:4px}
.e7-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;font-family:var(--disp);font-weight:500;font-size:16px;text-decoration:none;transition:background .2s}
.e7-nav a:hover{background:var(--paper)}

/* hero: yellow ground with a scalloped edge */
.tpl-edu-07 main>.e7-hero{position:relative;padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,5vw,72px);text-align:center;background:linear-gradient(var(--soft) 0 62%,transparent 62%)}
.e7-hero::after{content:"";position:absolute;left:0;right:0;top:62%;height:22px;background:radial-gradient(circle at 22px 0,var(--soft) 21px,transparent 22px) 0 0/44px 22px repeat-x}
.e7-hero-copy{position:relative;z-index:1;max-width:820px;margin:0 auto}
.e7-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:8px 18px;border-radius:999px;background:var(--paper);font-family:var(--disp);font-weight:500;font-size:15px;color:var(--fg)}
.e7-eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent)}
.e7-hero h1{font-size:clamp(40px,6vw,84px);line-height:1.15;letter-spacing:-.01em}
:lang(zh-Hans) .e7-hero h1{line-height:1.3;letter-spacing:.02em}
.e7-sub{margin:24px auto 0;max-width:36em;font-size:clamp(17px,1.4vw,19px);line-height:1.8;color:var(--muted)}
.e7-sub p:last-child{margin:0}
.e7-actions{margin-top:34px}
.e7-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:12px 34px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:var(--disp);font-weight:500;font-size:18px;text-decoration:none;box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 60%,var(--fg));transition:transform .15s,box-shadow .15s}
.e7-btn:hover{transform:translateY(2px);box-shadow:0 3px 0 color-mix(in srgb,var(--accent) 60%,var(--fg))}
.e7-hero-img{position:relative;z-index:1;max-width:1080px;margin:clamp(44px,5vw,72px) auto 0;padding:10px;border-radius:clamp(36px,5vw,64px);background:var(--paper);box-shadow:0 30px 60px -40px color-mix(in srgb,var(--fg) 60%,transparent)}
.e7-hero-img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:clamp(28px,4.4vw,56px)}
.e7-toy{position:absolute;z-index:0;pointer-events:none}
.e7-toy--1{left:max(16px,calc(50% - 560px));top:120px;width:64px;height:64px;border-radius:50%;background:var(--mint)}
.e7-toy--2{right:max(20px,calc(50% - 540px));top:70px;width:56px;height:56px;border-radius:16px;background:var(--paper);transform:rotate(14deg)}
.e7-toy--3{right:max(40px,calc(50% - 480px));top:240px;width:72px;height:36px;border-radius:72px 72px 0 0;background:var(--accent);opacity:.85}
@media (prefers-reduced-motion:no-preference){
  .e7-toy{animation:e7-bob 6s ease-in-out infinite}
  .e7-toy--2{animation-delay:-2s}.e7-toy--3{animation-delay:-4s}
}
@keyframes e7-bob{50%{translate:0 -10px}}

/* heads */
.e7-head{max-width:700px;margin:0 auto clamp(40px,5vw,64px);text-align:center}
.e7-kicker{display:inline-block;margin:0 0 14px;padding:6px 16px;border-radius:999px;background:var(--mint);font-family:var(--disp);font-weight:500;font-size:14px;letter-spacing:.06em;color:var(--fg)}
.tpl-edu-07 h2{font-size:clamp(32px,4vw,54px);line-height:1.22}
.e7-intro{margin:18px auto 0;max-width:32em;line-height:1.8;color:var(--muted)}
.e7-intro p:last-child{margin:0}

/* about: dotted path of circles */
.e7-about-top{display:flex;flex-direction:column;align-items:center}
.e7-about-img{width:clamp(180px,22vw,260px);margin-bottom:28px;padding:10px;border-radius:50%;background:var(--soft)}
.e7-about-img img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%}
.e7-path{position:relative;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:24px;max-width:1000px;margin:0 auto}
.e7-path--2{--n:2}.e7-path--4{--n:4}.e7-path--5{--n:5}
.e7-path::before{content:"";position:absolute;left:calc(100% / var(--n,3) / 2);right:calc(100% / var(--n,3) / 2);top:38px;border-top:3px dotted color-mix(in srgb,var(--accent) 55%,transparent)}
.e7-path li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.e7-step{display:grid;place-items:center;width:78px;height:78px;margin-bottom:18px;border-radius:50%;background:var(--paper);border:3px solid var(--accent);font-family:var(--disp);font-weight:600;font-size:30px;color:var(--accent)}
.e7-path li:nth-child(2) .e7-step{background:var(--soft)}
.e7-path li:nth-child(3) .e7-step{background:var(--mint)}
.e7-path p{margin:0;max-width:14em;font-family:var(--disp);font-weight:500;font-size:clamp(18px,1.5vw,21px);line-height:1.5}
.e7-about-body{max-width:36em;margin:0 auto;text-align:center;line-height:1.85;color:var(--muted)}

/* services: tiles with block icons */
.tpl-edu-07 main>.e7-services{background:var(--mint);border-radius:clamp(40px,6vw,80px)}
.e7-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(14px,1.8vw,22px)}
.e7-tile{display:flex;flex-direction:column;padding:clamp(26px,3vw,36px);border-radius:32px;background:var(--paper);transition:transform .25s}
.e7-tile:hover{transform:translateY(-4px) rotate(-.4deg)}
.e7-icon{display:block;width:52px;height:52px;margin-bottom:22px;background:var(--soft)}
.e7-icon--circle{border-radius:50%;background:var(--accent)}
.e7-icon--square{border-radius:14px;background:var(--soft);transform:rotate(-8deg)}
.e7-icon--arch{border-radius:52px 52px 6px 6px;background:color-mix(in srgb,var(--accent) 40%,var(--bg))}
.e7-icon--tri{background:var(--accent);clip-path:polygon(50% 4%,96% 92%,4% 92%);border-radius:6px}
.e7-icon--half{height:26px;margin-top:26px;border-radius:0 0 52px 52px;background:var(--soft)}
.e7-icon--drop{border-radius:50% 50% 50% 8px;background:color-mix(in srgb,var(--accent) 40%,var(--bg))}
.e7-tile h3{font-size:clamp(22px,1.9vw,26px);margin-bottom:10px}
.e7-desc{flex:1;color:var(--muted);line-height:1.75}
.e7-desc p:last-child{margin:0}
.e7-price{margin:14px 0 0;font-family:var(--disp);font-weight:600;font-size:19px}
.e7-ask{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin-top:18px;padding:0 20px;border-radius:999px;background:var(--mint);font-family:var(--disp);font-weight:500;font-size:15px;text-decoration:none;transition:background .2s,color .2s}
.e7-ask:hover{background:var(--accent);color:var(--on-accent)}

/* gallery: playful crops */
.e7-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);align-items:center}
.e7-crop{overflow:hidden;border-radius:36px}
.e7-crop img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.e7-gallery figure:nth-child(4n+1) .e7-crop{border-radius:50%}
.e7-gallery figure:nth-child(4n+1) img{aspect-ratio:1}
.e7-gallery figure:nth-child(4n+3) .e7-crop{border-radius:50% 50% 28px 28px/38% 38% 28px 28px}
.e7-gallery figure:nth-child(4n+4) img{aspect-ratio:1}
.e7-gallery figure:nth-child(4n+4) .e7-crop{border-radius:42% 58% 52% 48%/48% 44% 56% 52%}
.e7-gallery figure:hover img{transform:scale(1.05)}
.e7-gallery figcaption{margin-top:14px;text-align:center;font-family:var(--disp);font-weight:500;font-size:16px}

/* testimonials */
.e7-quote-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}
.e7-quote-list figure{padding:30px;border-radius:32px;background:var(--soft)}
.e7-quote-list blockquote{font-size:18px;line-height:1.8}
.e7-quote-list blockquote p:last-child{margin:0}
.e7-quote-list figcaption{margin-top:14px;font-family:var(--disp);font-weight:500}

/* faq */
.tpl-edu-07 main>.e7-faq{padding-top:0}
.e7-faq-list{display:grid;gap:12px;max-width:820px;margin:0 auto}
.e7-faq-list details{border-radius:28px;background:var(--paper);border:2px solid var(--line);transition:background .2s,border-color .2s}
.e7-faq-list details[open]{background:var(--mint);border-color:transparent}
.e7-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 26px;font-family:var(--disp);font-weight:500;font-size:clamp(18px,1.5vw,20px)}
.e7-faq-list summary::after{float:none;flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--soft);font-size:20px;font-weight:600}
.e7-faq-list details p{margin:0 26px 22px;color:var(--muted);line-height:1.8}

/* contact: sunny card */
.tpl-edu-07 main>.e7-contact{padding-top:0}
.e7-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1080px;margin:0 auto;padding:clamp(56px,7vw,100px) clamp(20px,5vw,80px);border-radius:clamp(40px,6vw,80px);background:var(--soft)}
.e7-card>*{position:relative}
.e7-sun{position:absolute!important;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:var(--paper);box-shadow:0 0 0 26px color-mix(in srgb,var(--paper) 45%,transparent),0 0 0 52px color-mix(in srgb,var(--paper) 22%,transparent)}
.e7-card .e7-kicker{background:var(--paper)}
.e7-card h2{max-width:14em}
.e7-cintro{margin:18px auto 34px;max-width:30em;line-height:1.8;color:var(--muted)}
.e7-cintro p:last-child{margin:0}
.e7-card h2+.e7-btn{margin-top:32px}
.e7-clist{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px}
.e7-clist li{padding:12px 22px;border-radius:24px;background:var(--paper);text-align:center}
.e7-clist .bc-k{opacity:1;color:var(--muted);font-weight:700;font-size:11px}
.e7-clist a{display:inline-flex;align-items:center;min-height:44px;margin:-8px 0;font-family:var(--disp);font-weight:500;font-size:18px;text-decoration:none}
.e7-social{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.e7-social a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--paper);font-family:var(--disp);font-weight:500;text-decoration:none}
.e7-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:28px var(--pad-x) 40px;font-family:var(--disp);font-weight:500;color:var(--muted)}

/* responsive */
@media (max-width:860px){
  .e7-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .e7-path,.e7-path--4,.e7-path--5{--n:1;grid-template-columns:minmax(0,1fr);gap:0;max-width:520px}
  .e7-path::before{left:37px;right:auto;top:40px;bottom:40px;border-top:0;border-left:3px dotted color-mix(in srgb,var(--accent) 55%,transparent)}
  .e7-path li{flex-direction:row;gap:18px;text-align:left;padding:10px 0}
  .e7-step{flex:none;margin:0}
  .e7-toy--1{top:auto;bottom:46%}
  .e7-toy--3{display:none}
}
@media (max-width:640px){
  .tpl-edu-07 main>section{padding-block:64px}
  .e7-top{padding-block:8px}
  .e7-nav{gap:0;margin-inline:-12px}
  .e7-nav a{padding:0 11px;font-size:15px}
  .e7-hero h1{font-size:clamp(30px,8.8vw,40px)}
  .e7-hero-img{padding:6px}
  .e7-hero-img img{aspect-ratio:4/3}
  .e7-toy--1{width:40px;height:40px;left:-10px;top:30px;bottom:auto}
  .e7-toy--2{width:36px;height:36px;top:16px;right:-6px}
  .e7-step{width:64px;height:64px;font-size:26px}
  .e7-path::before{left:31px}
  .tpl-edu-07 main>.e7-services{border-radius:36px;margin-inline:8px;padding-inline:14px}
  .e7-tile{padding:22px 22px 20px}
  .e7-icon{width:40px;height:40px;margin-bottom:14px}
  .e7-icon--half{height:20px;margin-top:20px}
  .e7-sun{width:140px;height:140px;right:-60px;top:-60px}
}
