
:root{--ink:#17392a;--dark:#0d281c;--lime:#c9df1c;--cream:#f6f1e6;--paper:#fbfaf5;--muted:#68796f;--line:rgba(23,57,42,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.9}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(251,250,245,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;display:flex;align-items:center;gap:10px}.mark{width:40px;height:40px;background:var(--ink);border-radius:14px;position:relative}.mark:after{content:"";position:absolute;width:19px;height:10px;background:var(--lime);border-radius:100% 0 100% 0;left:10px;top:14px;transform:rotate(-28deg)}nav{display:flex;gap:18px;font-size:14px}.cta,.btn{display:inline-block;background:var(--ink);color:#fff;padding:11px 18px;border-radius:14px;border:0;cursor:pointer}.hero{padding:90px 0 70px;overflow:hidden}.heroGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.pill{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:12px}.hero h1{font-size:clamp(48px,7vw,82px);line-height:1.15;margin:18px 0}.hero p{color:var(--muted);font-size:17px}.photo{background:#dce6d8;border-radius:180px 180px 32px 32px;overflow:hidden;box-shadow:0 30px 80px rgba(16,49,33,.15);transform:rotate(2deg)}.photo img{width:100%;height:520px;object-fit:cover}.section{padding:90px 0}.title{font-size:clamp(32px,4vw,50px);margin:0 0 12px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.card{padding:28px;border:1px solid var(--line);border-radius:28px;background:#fff;transition:.3s}.card:hover{transform:translateY(-7px);box-shadow:0 18px 50px rgba(18,55,37,.09)}.dark{background:var(--ink);color:#fff}.dark .muted{color:#bfd0c6}.service-card{min-height:300px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:28px;position:relative}.service-card h3{font-size:27px}.service-card span{color:var(--lime)}.service-card .go{position:absolute;bottom:24px;left:24px;background:var(--lime);color:var(--dark);width:45px;height:45px;border-radius:50%;display:grid;place-items:center}.band{background:linear-gradient(135deg,#d6e862,var(--lime));padding:48px;border-radius:34px}.lowerGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.quote{font-size:22px;background:var(--cream);padding:34px;border-radius:28px}.formbox{max-width:760px;margin:0 auto;background:#fff;padding:34px;border-radius:30px;border:1px solid var(--line);box-shadow:0 20px 60px rgba(18,55,37,.08)}label{display:block;font-weight:700;margin:14px 0 6px}input,textarea,select{width:100%;padding:13px;border:1px solid #d8dfda;border-radius:13px;background:#fcfdfb;font:inherit}input:focus,textarea:focus{outline:3px solid rgba(201,223,28,.25);border-color:#a8bc17}.msg{background:#edf7d4;padding:12px 15px;border-radius:12px;margin-bottom:15px}.tabs{display:grid;gap:12px;margin-top:30px}.tab{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.tab button{width:100%;text-align:right;border:0;background:#fff;padding:20px;font:inherit;font-weight:800;color:var(--ink);cursor:pointer}.panel{display:none;padding:0 20px 20px;color:var(--muted)}.tab.open .panel{display:block}.theme-child{background:linear-gradient(180deg,#f6fadf,var(--paper))}.theme-teen{background:linear-gradient(180deg,#e9f3ef,var(--paper))}.theme-adult{background:linear-gradient(180deg,#f4ede5,var(--paper))}footer{background:var(--dark);color:#d8e3dc;padding:55px 0}.contactRow{display:flex;gap:12px;flex-wrap:wrap}.contactChip{padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:14px}.reveal{animation:up .65s ease both}@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:800px){nav{display:none}.heroGrid,.cards,.lowerGrid{grid-template-columns:1fr}.photo img{height:400px}.section{padding:65px 0}.hero{padding-top:55px}.band{padding:30px}}

/* Signature V4 premium layer */
body{background:
radial-gradient(circle at 10% 5%,rgba(201,223,28,.12),transparent 25rem),
radial-gradient(circle at 90% 35%,rgba(68,132,94,.08),transparent 28rem),
var(--paper)}
header{transition:box-shadow .25s ease}
.nav a:not(.cta){position:relative}
.nav nav a:not(.cta):after{content:"";position:absolute;right:0;bottom:-7px;width:0;height:2px;background:var(--lime);transition:.25s}
.nav nav a:not(.cta):hover:after{width:100%}
.hero h1{letter-spacing:-2px;text-wrap:balance}
.heroGrid>div:first-child{position:relative}
.heroGrid>div:first-child:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(201,223,28,.22);filter:blur(2px);right:-60px;top:-30px;z-index:-1;animation:pulse 5s ease-in-out infinite}
.photo{position:relative;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.photo:hover{transform:rotate(0) translateY(-8px)}
.photo:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.55);border-radius:168px 168px 24px 24px;pointer-events:none}
.card,.service-card,.quote,.band{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.service-card:hover{transform:translateY(-9px);border-color:rgba(201,223,28,.45);box-shadow:0 25px 70px rgba(0,0,0,.16)}
.service-card .go{transition:.3s}.service-card:hover .go{transform:rotate(-45deg) scale(1.08)}
.band{box-shadow:0 30px 80px rgba(78,101,11,.16)}
.contactChip{transition:.25s}.contactChip:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.formbox{position:relative;overflow:hidden}.formbox:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(201,223,28,.16);left:-80px;top:-80px}
.tab button{transition:.25s}.tab button:hover{background:#f8faed}.tab.open{box-shadow:0 16px 45px rgba(18,55,37,.08);border-color:rgba(168,188,23,.45)}
@keyframes pulse{50%{transform:scale(1.15);opacity:.55}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* V5 slider + motion */
.heroSlider{height:540px;position:relative;border-radius:180px 180px 32px 32px;overflow:hidden;background:#dce6d8;box-shadow:0 30px 80px rgba(16,49,33,.15);transform:rotate(1deg);transition:.45s}
.heroSlider:hover{transform:rotate(0) translateY(-6px)}
.slide{position:absolute;inset:0;opacity:0;transform:scale(1.035);transition:opacity .9s ease,transform 5s ease;pointer-events:none}
.slide.active{opacity:1;transform:scale(1);pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.sliderArrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(13,40,28,.58);backdrop-filter:blur(10px);color:#fff;font-size:28px;cursor:pointer;opacity:.7;transition:.25s}
.sliderArrow:hover{opacity:1;transform:translateY(-50%) scale(1.08)}.prev{right:16px}.next{left:16px}
.sliderDots{position:absolute;z-index:5;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.sliderDot{width:9px;height:9px;border:0;border-radius:99px;background:rgba(255,255,255,.55);padding:0;cursor:pointer;transition:.3s}.sliderDot.active{width:28px;background:#fff}
.motion{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.motion.inview{opacity:1;transform:none}
@media(max-width:800px){.heroSlider{height:420px;border-radius:120px 120px 26px 26px}.sliderArrow{width:40px;height:40px}}

/* V6 correction: exact rectangular hero gallery */
.heroSliderWide{height:430px!important;border-radius:30px!important;transform:none!important;background:#a4c978!important;padding:0}
.heroSliderWide:hover{transform:translateY(-5px)!important}
.heroSliderWide .slide img{object-fit:contain!important;background:#a4c978}
.heroSliderWide .sliderArrow{background:rgba(13,40,28,.72)}
@media(max-width:800px){.heroSliderWide{height:300px!important;border-radius:24px!important}}

/* V7 · editorial wellness refinements */
:root{--gold:var(--custom-accent,#d4ae75)}
html{scroll-behavior:smooth}body{font-family:var(--font-choice),Tahoma,sans-serif}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.58' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}
.hero{position:relative;overflow:hidden}.hero::before{content:"";position:absolute;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(156,191,162,.18),transparent 72%);left:-10vw;top:-12vw;pointer-events:none;animation:ambient 14s ease-in-out infinite alternate}.hero h1{letter-spacing:-.055em;line-height:1.25}.heroGrid{position:relative;z-index:1}.eyebrow{display:block;color:var(--gold);letter-spacing:.16em;font-size:12px;font-weight:700;margin-bottom:16px}.section{position:relative}.section .title{letter-spacing:-.035em}.service-card,.card,.btn{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,background-color .4s ease}.service-card:hover,.articleCard:hover{transform:translateY(-8px)}.btn:hover{transform:translateY(-3px)}.service-card{position:relative;overflow:hidden}.service-card::after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.11);border-radius:50%;left:-75px;bottom:-90px;transition:transform .6s ease}.service-card:hover::after{transform:scale(1.45)}
.portraitFrame{min-height:390px;display:grid;place-items:center;position:relative;isolation:isolate}.portraitHalo{position:absolute;width:min(100%,360px);aspect-ratio:1;border:1px solid rgba(70,125,91,.24);border-radius:50%;box-shadow:0 0 0 22px rgba(110,161,123,.055),0 0 0 58px rgba(110,161,123,.035);animation:portraitBreathe 8s ease-in-out infinite}.portrait{position:relative;z-index:1;width:min(76%,300px);aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 25px 80px rgba(20,59,43,.16);border:7px solid #fff}.portraitPlaceholder{background:linear-gradient(145deg,#e5eee5,#b9d2c3);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#295743}.portraitPlaceholder span{font-size:44px;font-weight:700}.portraitPlaceholder small{font-size:12px;letter-spacing:.02em}.portraitCaption{position:absolute;bottom:2px;color:#829d89;letter-spacing:.19em;font-size:11px;text-transform:uppercase}.readable{max-width:850px}.richText{font-size:17px;line-height:2.2;white-space:normal}.pageBlock{padding:28px 0;border-bottom:1px solid rgba(50,90,68,.14)}.pageBlock img,.articleCover{width:100%;max-height:470px;object-fit:cover;border-radius:24px}.articleCard{text-decoration:none;color:inherit}.articleCard img{width:100%;height:190px;object-fit:cover;border-radius:16px}.articleCard small{color:var(--gold)}.articleCard span{color:var(--custom-primary,#326e59);font-weight:700}
@keyframes portraitBreathe{50%{transform:scale(1.045);opacity:.7}}@keyframes ambient{to{transform:translate(45px,35px) scale(1.1)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portraitHalo,.hero::before{animation:none!important}.service-card,.card,.btn{transition:none!important}}

/* V9: subtle iOS-inspired micro-interactions; original V7 layout preserved */
:root{--ease-smooth:cubic-bezier(.22,1,.36,1)}
button,a,input,textarea{ -webkit-tap-highlight-color:transparent }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a7bb87;outline-offset:3px}
.btn,.contactChip,.sliderDot,.sliderArrow{transition-duration:.22s;transition-timing-function:var(--ease-smooth)}
.service-card,.card{transition-duration:.3s;transition-timing-function:var(--ease-smooth)}
.service-card:hover,.articleCard:hover{transform:translateY(-3px)}
.heroSliderWide:hover{transform:translateY(-2px)!important}
.motion{transform:translateY(12px);transition-duration:.55s;transition-timing-function:var(--ease-smooth)}
.mobileMenuButton{display:none;border:1px solid rgba(35,83,59,.18);background:#f4f6ed;color:#2d6148;border-radius:12px;min-width:44px;min-height:44px;font-size:23px;cursor:pointer}
.motion-minimal .motion{transition-duration:.2s;transform:translateY(3px)}
.motion-off .motion{opacity:1!important;transform:none!important}
.motion-off .hero::before,.motion-off .portraitHalo{animation:none!important}
.motion-off *{scroll-behavior:auto!important;animation-duration:0s!important;transition-duration:0s!important}
@media(max-width:900px){.mobileMenuButton{display:inline-grid;place-items:center;margin-inline-start:auto}.nav{position:relative}.nav nav{display:none!important;position:absolute;top:calc(100% + 8px);right:12px;left:12px;z-index:99;background:#fff;border:1px solid #e1e9df;box-shadow:0 18px 48px rgba(22,62,44,.14);padding:14px;border-radius:18px;max-height:75vh;overflow-y:auto}.nav nav.navOpen{display:flex!important;flex-direction:column;align-items:stretch;gap:4px}.nav nav a{display:block;padding:12px;border-radius:9px}}
@media(prefers-reduced-motion:reduce){.motion{opacity:1!important;transform:none!important}.hero::before,.portraitHalo{animation:none!important}}

/* V10 — intentional visual redesign: warm, composed, tactile, not animated clutter */
:root{--ink:#244a3a;--dark:#173b2d;--lime:#d8e5c8;--cream:#f3efe5;--paper:#faf8f3;--muted:#63776b;--line:rgba(38,81,59,.13)}
body{background:#faf8f3;color:var(--ink);font-size:15px;line-height:1.95}header{background:rgba(250,248,243,.93);border-color:#e7e8df}header .nav{height:84px}.brand{font-size:20px;letter-spacing:-.035em}.mark{background:#3d7256;border-radius:50%}.mark:after{background:#e7ead2}.nav nav{gap:20px}.nav nav a{font-weight:600;color:#456653}.nav .cta{background:#3e7358;color:#fff;border-radius:99px;padding:10px 20px}
.hero{padding:66px 0 24px;background:radial-gradient(ellipse at 6% 8%,#e8f0e2 0%,transparent 44%),linear-gradient(145deg,#faf8f3,#f3f5ed 65%,#f8f3e9);position:relative}.hero::before{animation:none;opacity:.65}.heroGrid{grid-template-columns:1fr .94fr;gap:clamp(24px,5vw,76px);min-height:520px}.heroCopy{padding:36px 0 20px}.heroBadge{background:#e8f0e6;border:1px solid #d5e2d4;color:#3e7557;padding:8px 16px;font-size:13px}.statusDot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#76a989;margin-left:7px}.hero h1{font-size:clamp(42px,5.3vw,74px);line-height:1.4;letter-spacing:-.045em;color:#214a37;margin:18px 0 20px;max-width:640px}.heroDescription{font-size:17px!important;line-height:2.15;max-width:510px;color:#62796a!important}.heroActions{display:flex;flex-wrap:wrap;gap:12px;margin:29px 0 26px}.btn{font-weight:700;border-radius:100px}.btnPrimary{background:#386e51;box-shadow:0 14px 32px rgba(39,89,61,.16);padding:13px 25px}.btnPrimary span,.btnQuiet span{margin-right:9px}.btnQuiet{background:transparent;color:#3d7155;border:1px solid #bdd1bf;padding:12px 22px}.heroTrust{display:flex;gap:20px;flex-wrap:wrap;color:#65816c;font-size:12px}.heroFooter{border-top:1px solid #dbe5da;padding:19px 0;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#77907c}.heroScroll{color:#46765a}
.heroSliderWide{height:465px!important;background:#d7e6d5!important;border:9px solid rgba(255,255,255,.75);border-radius:44% 44% 32px 32px!important;box-shadow:0 30px 75px rgba(44,85,59,.14),0 2px 10px rgba(44,85,59,.05)!important;transform:none!important}.heroSliderWide .slide img{background:#d7e6d5;object-fit:contain!important}.heroSliderWide:hover{transform:none!important}.sliderArrow{opacity:.8;background:rgba(40,81,55,.7)}.sliderDot.active{background:#fff}
.valueStrip{background:#fff;border-block:1px solid #e9eee7}.valueStripInner{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 0}.valueStripInner>div{display:flex;align-items:center;gap:13px;justify-content:center}.valueStripInner strong{font-size:14px}.valueStripInner small{color:#819486;font-size:12px}.valueIcon{width:46px;height:46px;flex:none;border-radius:16px;display:grid;place-items:center;background:#edf3e9;color:#4b8361;font-size:26px}
.section{padding:88px 0}.title{font-size:clamp(31px,3.6vw,46px);line-height:1.5;color:inherit;letter-spacing:-.035em}.eyebrow{letter-spacing:.08em;color:#88aa91}.servicesSection{background:#234c38;color:#fff;overflow:hidden}.servicesSection::before{content:"";position:absolute;width:400px;height:400px;left:-190px;top:-160px;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.servicesSection .cards{gap:22px}.service-card{min-height:310px;background:#f3f4e9;color:#2e5c45;border:1px solid #dfe7d7;border-radius:28px;padding:28px;box-shadow:0 14px 32px rgba(11,42,25,.07)}.service-card .muted,.dark .service-card .muted{color:#6e8575}.service-card h3{font-size:30px;margin:12px 0}.service-card .serviceIndex{font:600 11px Arial,sans-serif;color:#8ba694;letter-spacing:.1em;display:block}.serviceGlyph{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:#dcead7;color:#4d8964;font-size:39px;margin:0 0 22px}.serviceTeen{background:#e7f0e9}.serviceTeen .serviceGlyph{background:#d4e6dc}.serviceAdult{background:#f2ece0}.serviceAdult .serviceGlyph{background:#e7ddc9}.service-card .go{background:#3c7354;color:#fff;width:40px;height:40px;bottom:24px;left:24px}.service-card:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(9,37,24,.15);border-color:#c3d8c4}.service-card::after{display:none}
.aboutSection{background:linear-gradient(135deg,#faf8f3,#eff4ed)}.aboutSection .lowerGrid{align-items:center;gap:clamp(24px,6vw,90px)}.aboutSection .muted{font-size:17px;line-height:2.3}.portraitHalo{animation:none;border:1px solid #cadccd;box-shadow:0 0 0 18px rgba(107,152,117,.06),0 0 0 42px rgba(107,152,117,.035)}.portraitPlaceholder{background:linear-gradient(140deg,#dfe5e1,#aebbb4);color:#416653}.portrait{border:9px solid #fff}.quote{background:#eef3e9;border:1px solid #e1e9df;line-height:2.2}.band{background:linear-gradient(125deg,#dbe9d3,#eff2df);color:#2c5b40;box-shadow:0 20px 50px rgba(46,96,57,.09);padding:56px;border:1px solid #d7e3d2}.band .btn{background:#3e7356;color:#fff}.closingSection{background:#faf8f3}.card{border-color:#e2e9df;box-shadow:0 8px 28px rgba(31,69,45,.035)}.card:hover{transform:translateY(-3px)}footer{background:#193e2e}
@media(max-width:900px){header .nav{height:72px}.hero{padding-top:30px}.heroGrid{grid-template-columns:1fr;gap:18px}.heroCopy{padding:12px 0}.hero h1{font-size:clamp(39px,8vw,59px)}.heroSliderWide{height:340px!important;border-radius:110px 110px 28px 28px!important;max-width:580px;width:100%;margin:auto}.valueStripInner{gap:10px}.valueStripInner>div{flex-direction:column;text-align:center;gap:4px}.valueIcon{width:40px;height:40px}.valueStripInner small{font-size:11px}.heroFooter{font-size:11px}.section{padding:65px 0}}
@media(max-width:520px){.hero h1{font-size:39px}.heroDescription{font-size:15px!important}.heroActions{gap:8px}.btnPrimary,.btnQuiet{padding:11px 16px;font-size:13px}.heroTrust{gap:8px;flex-direction:column}.heroSliderWide{height:275px!important}.valueStripInner strong{font-size:12px}.valueStripInner small{font-size:10px}.service-card{min-height:270px}.band{padding:30px}}
@media(prefers-reduced-motion:reduce){.hero::before,.portraitHalo{animation:none!important}}

/* V21 — subtle footer designer credit */
.footerBottom{margin-top:32px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:#91a69a}
.designerCredit{color:#c1d1c6;white-space:nowrap}
.designerCredit strong{color:#f0f4ed;font-weight:700}
@media(max-width:600px){.footerBottom{align-items:flex-start;flex-direction:column;gap:5px;font-size:12px}}
