@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#344e3b;--text:#48584d;--cream:#fcfaf4;--mustard:#d9a829;--sage:#e2e9de;--blue:#dbeaf0;--peach:#fbe4d4;--yellow:#f8eebd;--rose:#f8dddc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffefa;color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #a56c11;outline-offset:4px}.wrap{max-width:1200px;margin:auto;padding:0 28px}.site-header{margin:18px auto 0;max-width:1260px;min-height:205px;border-radius:12px;position:relative;overflow:hidden;background:linear-gradient(110deg,#fcfaf4,#f9f7f0 65%,#eaf1ec);border:1px solid #f1efe7}.site-header:before{content:'';position:absolute;width:52%;height:160px;left:-8%;bottom:-95px;border-radius:50%;background:#e3e9df}.site-header:after{content:'';position:absolute;width:43%;height:180px;right:-9%;bottom:-115px;border-radius:50%;background:#dbe9ed}.header-inner{position:relative;z-index:1;display:flex;align-items:center;gap:38px;justify-content:space-between;padding:30px 48px}.brand{min-width:255px;border-right:1px solid #e0ded4;padding-right:35px}.brand-name{font-family:'Playfair Display',serif;letter-spacing:.16em;font-size:42px;line-height:1.1;color:var(--ink)}.brand-sub{letter-spacing:.35em;font-size:12px;color:var(--ink);margin-top:7px}.brand-line{width:60px;height:2px;background:var(--mustard);margin:15px 0 10px}.tagline{font-family:'Playfair Display',serif;font-style:italic;font-size:15px}.navigation{display:flex;gap:22px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.navigation a{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}.navigation a:hover{color:#b78916}.btn{display:inline-block;border-radius:30px;background:var(--mustard);color:#fff;padding:12px 23px;font-size:12px;font-weight:700;letter-spacing:.05em;box-shadow:0 4px 16px #c9a44325}.btn:hover{background:#b98b20}.hero{padding:90px 0 65px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:#a17b24}.hero h1,.page-intro h1{font-family:'Playfair Display',serif;color:var(--ink);font-weight:400;font-size:clamp(42px,5.2vw,70px);line-height:1.15;margin:15px 0 22px}.hero p,.page-intro p{font-size:17px;max-width:540px}.watercolor{min-height:355px;border-radius:48% 52% 47% 53% / 55% 43% 57% 45%;position:relative;overflow:hidden;background:radial-gradient(ellipse at 30% 32%,#f9e4b9 0 15%,transparent 52%),radial-gradient(ellipse at 70% 68%,#b9d8cf 0 19%,transparent 58%),radial-gradient(ellipse at 80% 25%,#f5d2c6 0 10%,transparent 42%),#f6f7ec;filter:saturate(.83)}.watercolor:before{content:'';position:absolute;width:54%;height:55%;left:16%;top:18%;border:2px solid #c7a04b;border-radius:54% 46% 65% 35%;transform:rotate(-24deg)}.watercolor:after{content:'✳';position:absolute;left:42%;top:28%;font-family:serif;font-size:130px;font-weight:400;color:#789e88;opacity:.35}.watercolor.child{background:radial-gradient(ellipse at 30% 30%,#ffe5b4,transparent 55%),radial-gradient(ellipse at 70% 70%,#c9e5ef,transparent 55%),radial-gradient(ellipse at 75% 20%,#f7d6d6,transparent 45%),#f7f9ef}.watercolor.adult{background:radial-gradient(ellipse at 25% 50%,#d4e7d8,transparent 55%),radial-gradient(ellipse at 75% 35%,#e4e5f0,transparent 55%),radial-gradient(ellipse at 60% 80%,#f5dfbe,transparent 55%),#faf7ef}.watercolor.group{background:radial-gradient(ellipse at 30% 35%,#f7cfc6,transparent 55%),radial-gradient(ellipse at 75% 70%,#f4e2a6,transparent 55%),radial-gradient(ellipse at 75% 15%,#c9e1df,transparent 50%),#fbf8ee}.watercolor.outdoor{background:radial-gradient(ellipse at 30% 30%,#d0e5cf,transparent 55%),radial-gradient(ellipse at 70% 65%,#bcdbe6,transparent 55%),radial-gradient(ellipse at 75% 20%,#f5e7ad,transparent 48%),#f7f9f1}.watercolor.team{background:radial-gradient(ellipse at 20% 30%,#f6e0c7,transparent 50%),radial-gradient(ellipse at 70% 70%,#d8e4da,transparent 60%),radial-gradient(ellipse at 80% 20%,#e4e7f3,transparent 45%),#faf8f3}.watercolor.education{background:radial-gradient(ellipse at 30% 30%,#f9e4a9,transparent 55%),radial-gradient(ellipse at 70% 65%,#d7e5ee,transparent 55%),radial-gradient(ellipse at 75% 20%,#f8d6c9,transparent 48%),#fbfaf0}.section{padding:55px 0}.section h2{font:400 42px 'Playfair Display',serif;color:var(--ink);margin:0 0 12px}.section-lead{max-width:650px;margin:0 0 28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #ecebe4;border-radius:18px;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card .watercolor{min-height:165px;border-radius:0}.card .watercolor:after{font-size:75px;top:14%;left:43%}.card-body{padding:20px 23px 25px}.card h3{font:400 25px 'Playfair Display',serif;color:var(--ink);margin:0 0 6px}.card p{font-size:14px;margin:0 0 12px}.link{color:#9c781b;font-weight:700;font-size:13px}.panel{background:#f4f6ee;border-radius:22px;padding:35px 40px;margin:30px 0}.panel h2{font-size:33px}.page-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:55px;padding:80px 0 50px}.page-intro .watercolor{min-height:320px}.subcards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.subcard{border-radius:18px;padding:27px;background:#f7f7f0;border:1px solid #e8e8df}.subcard:nth-child(2){background:#f2f7f8}.subcard:nth-child(3){background:#fff4e9}.subcard:nth-child(4){background:#faf2ef}.subcard h3{font:400 24px 'Playfair Display',serif;color:var(--ink);margin:0 0 8px}.footer{margin-top:60px;background:#eaf0e8;padding:40px 0;color:var(--ink)}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.small{font-size:12px}.notice{font-size:13px;color:#69736b}.nav-toggle{display:none} @media(max-width:900px){.header-inner{display:block;padding:25px}.brand{border:0;padding:0;margin-bottom:25px}.navigation{justify-content:flex-start;gap:13px}.hero,.page-intro{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.wrap{padding:0 20px}.site-header{margin:8px}.brand-name{font-size:34px}.navigation{gap:12px}.navigation a{font-size:10px}.hero,.page-intro{padding:50px 0 30px;gap:25px}.watercolor{min-height:260px}.cards,.subcards{grid-template-columns:1fr}.section{padding:38px 0}.section h2{font-size:34px}.panel{padding:25px}.header-inner{padding:22px}}
