.cali300{--bg:#f8f2e9;--paper:#fffcf6;--ink:#273e35;--forest:#27463c;--sage:#e6ece4;--clay:#a86e57;--line:#dfdfd2;color:var(--ink);background:var(--bg);font:400 16px/1.7 'Jost',Arial,sans-serif;overflow:hidden}
.cali300 *{box-sizing:border-box}
.cali300 h1,.cali300 h2,.cali300 h3{font-family:'Playfair Display',Georgia,serif!important;line-height:1.16!important;letter-spacing:-.025em!important;color:var(--forest)!important;margin:0!important}
.cali300 p{margin:0 0 1em}
.cali300 a{text-decoration:none}
.cali300 .shell{width:min(1160px,calc(100% - 44px));margin:auto}
.cali300 .eyebrow{display:block;color:var(--clay);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}
.cali300 .lead{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#52665a}
.cali300 .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:100px;background:var(--forest);color:#fff!important;border:1px solid var(--forest);font-size:13px;font-weight:700;letter-spacing:.03em;transition:transform .2s,background .2s}
.cali300 .button:hover{transform:translateY(-2px);background:#386253}
.cali300 .button.ghost{background:transparent;color:var(--forest)!important}
.cali300 .button.ghost:hover{background:var(--sage)}
.cali300 .button.light{background:#fff8ee;border-color:#fff8ee;color:var(--forest)!important}
.cali300 .button.light:hover{background:#fff}
.cali300 .hero{min-height:0;display:block;overflow:visible;padding:70px 0 75px;background:radial-gradient(circle at 7% 20%,#f3e2d4 0,transparent 36%),linear-gradient(120deg,#faf5ed,#e5ece3)}
.cali300 .hero:before,.cali300 .hero:after{display:none;content:none}
.cali300 .hero-image{margin:0}
.cali300 .hero h1{text-shadow:none}
.cali300 .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,75px);align-items:center}
.cali300 .hero h1{font-size:clamp(42px,5vw,67px)!important;margin:0 0 20px!important}
.cali300 .hero .lead{max-width:610px;margin-bottom:22px}
.cali300 .hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px}
.cali300 .hero-meta span{font-size:12px;font-weight:700;color:#476251;border:1px solid #c8d7c9;border-radius:100px;padding:7px 12px;background:#ffffff88}
.cali300 .hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.cali300 .hero-image{position:relative;padding:0 18px 18px 0}
.cali300 .hero-image:after{content:"";position:absolute;z-index:0;inset:20px 0 0 18px;background:#d5c7b6;border-radius:220px 220px 22px 22px}
.cali300 .hero-image img{position:relative;z-index:1;width:100%;height:clamp(400px,43vw,520px);object-fit:cover;border-radius:220px 220px 22px 22px;box-shadow:0 20px 45px #203d3124}
.cali300 .hero-image figcaption{position:absolute;z-index:2;bottom:2px;right:-8px;background:var(--paper);color:var(--forest);font:italic 17px/1.35 Georgia,serif;padding:14px 18px;border-radius:13px;max-width:215px;box-shadow:0 10px 30px #203d3122}
.cali300 .quick{background:var(--forest);color:#eef6ee}
.cali300 .quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.cali300 .quick-item{padding:22px 20px;border-right:1px solid #ffffff30}
.cali300 .quick-item:first-child{padding-left:0}.cali300 .quick-item:last-child{border:0}
.cali300 .quick-item strong{display:block;color:#fff;font:500 23px/1.3 'Playfair Display',Georgia,serif}
.cali300 .quick-item span{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#cbdacf}
.cali300 .section{padding:85px 0}
.cali300 .section.sage{background:var(--sage)}
.cali300 .section.paper{background:var(--paper)}
.cali300 .heading{max-width:760px;margin:0 auto 40px;text-align:center}
.cali300 .heading h2{font-size:clamp(32px,3.8vw,49px)!important;margin:0 0 15px!important}
.cali300 .heading p{color:#607268}
.cali300 .intro-grid{display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;gap:clamp(30px,6vw,75px)}
.cali300 .intro-grid h2,.cali300 .place-copy h2{font-size:clamp(32px,3.8vw,49px)!important;margin-bottom:20px!important}
.cali300 .intro-grid p{color:#53695b}
.cali300 .intro-grid img{width:100%;height:440px;object-fit:cover;border-radius:20px}
.cali300 .module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cali300 .practice-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.cali300 .practice-strip figure{margin:0;position:relative;border-radius:18px;overflow:hidden;min-height:320px;background:#d8dfd6}
.cali300 .practice-strip img{display:block;width:100%;height:320px;object-fit:cover;object-position:center 40%}
.cali300 .practice-strip figcaption{position:absolute;left:18px;bottom:18px;background:#fffcf6ec;color:var(--forest);padding:7px 14px;border-radius:100px;font-size:13px;font-weight:700}
@media(max-width:600px){.cali300 .practice-strip{grid-template-columns:1fr}.cali300 .practice-strip figure,.cali300 .practice-strip img{height:280px;min-height:280px}}
.cali300 .module{background:var(--paper);border:1px solid #dfe4d9;border-radius:18px;padding:29px 30px;box-shadow:0 12px 30px #2543350b}
.cali300 .module .num{display:inline-block;color:var(--clay);font:italic 25px Georgia,serif;margin-bottom:12px}
.cali300 .module h3{font-size:26px!important;margin-bottom:10px!important}
.cali300 .module p{color:#596d61;font-size:15px}
.cali300 .module ul,.cali300 .includes ul{padding-left:19px;margin:0;display:grid;gap:5px;color:#4d6155;font-size:14.5px}
.cali300 .place-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cali300 .place{background:var(--paper);border-radius:18px;overflow:hidden;border:1px solid #e3e4d8;box-shadow:0 10px 25px #223e310c}
.cali300 .place img{width:100%;height:310px;object-fit:cover}
.cali300 .coast-art{height:310px;display:flex;align-items:flex-end;padding:28px;background:radial-gradient(circle at 69% 22%,#f3d7b5 0 11%,transparent 12%),linear-gradient(165deg,#b6cab7 0 39%,#778e83 40% 49%,#9bb2ab 50% 62%,#567a76 63% 75%,#315d63 76%);color:#fff}
.cali300 .coast-art span{font-size:12px;letter-spacing:.16em;font-weight:700;text-shadow:0 1px 8px #183a3a}
.cali300 .place-copy{padding:26px 28px 30px}
.cali300 .place-copy h2{font-size:29px!important;margin-bottom:10px!important}
.cali300 .place-copy p{color:#596b60;font-size:15px}
.cali300 .rhythm-grid{display:grid;grid-template-columns:.74fr 1.26fr;gap:clamp(30px,6vw,70px);align-items:start}
.cali300 .rhythm-grid h2{font-size:clamp(32px,3.7vw,47px)!important;margin-bottom:16px!important}
.cali300 .rhythm-grid>div:first-child p{color:#627368}
.cali300 .schedule{border-top:1px solid #d8dfd4}
.cali300 .schedule-row{display:grid;grid-template-columns:110px 1fr;gap:17px;border-bottom:1px solid #d8dfd4;padding:15px 0}
.cali300 .schedule-row time{font:italic 18px Georgia,serif;color:var(--clay)}
.cali300 .schedule-row span{color:#415a4a}
.cali300 .fineprint{font-size:13px!important;color:#68766d;margin-top:15px!important}
.cali300 .includes-grid{display:grid;grid-template-columns:1fr .95fr;gap:clamp(30px,6vw,65px);align-items:center}
.cali300 .includes h2{font-size:clamp(32px,3.7vw,47px)!important;margin-bottom:16px!important}
.cali300 .includes p{color:#53685c}
.cali300 .includes ul{font-size:15px;gap:10px}
.cali300 .includes-grid img{width:100%;height:480px;object-fit:cover;border-radius:20px}
.cali300 .teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}
.cali300 .teacher{background:var(--paper);border:1px solid #e0e4d8;border-radius:18px;overflow:hidden}
.cali300 .teacher img{width:100%;height:300px;object-fit:cover;object-position:center 25%}
.cali300 .teacher-copy{padding:25px 27px 28px}
.cali300 .teacher h3{font-size:28px!important;margin-bottom:9px!important}
.cali300 .teacher p{font-size:15px;color:#586c60}
.cali300 .tuition{background:#efe4d6;border-radius:23px;padding:clamp(28px,5vw,55px);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.cali300 .tuition h2{font-size:clamp(32px,3.7vw,46px)!important;margin-bottom:12px!important}
.cali300 .tuition p{color:#5b695d;max-width:580px}
.cali300 .tuition strong{display:block;color:var(--forest);font:500 clamp(38px,4vw,52px)/1.1 Georgia,serif;white-space:nowrap}
.cali300 .tuition .price-note{display:block;font-size:13px;color:#6b7669;margin:5px 0 16px}
.cali300 .faq{max-width:880px;margin:auto}
.cali300 .faq details{background:var(--paper);border:1px solid #e0e3d7;border-radius:12px;padding:18px 22px;margin-bottom:11px}
.cali300 .faq summary{cursor:pointer;color:var(--forest);font-weight:700;list-style:none;padding-right:20px;position:relative}
.cali300 .faq summary::-webkit-details-marker{display:none}
.cali300 .faq summary:after{content:"+";position:absolute;right:0;font-size:22px;font-weight:400;top:-4px}
.cali300 .faq details[open] summary:after{content:"−"}
.cali300 .faq details p{margin:13px 0 0;color:#5a6c60;font-size:15px}
.cali300 .final{background:var(--forest);color:#e8f1e9;text-align:center;padding:67px 0}
.cali300 .final h2{font-size:clamp(34px,4vw,50px)!important;color:#fff!important;margin-bottom:14px!important}
.cali300 .final p{max-width:680px;margin:0 auto 22px}
.cali300 .final-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.cali300 .final .text-link{color:#fff;text-decoration:underline;text-underline-offset:5px;align-self:center;padding:10px}
@media(max-width:880px){.cali300 .hero-grid,.cali300 .intro-grid,.cali300 .rhythm-grid,.cali300 .includes-grid{grid-template-columns:1fr}.cali300 .hero-image{max-width:600px}.cali300 .hero-image img{height:440px}.cali300 .quick-grid{grid-template-columns:repeat(2,1fr)}.cali300 .quick-item:nth-child(2){border:0}.cali300 .quick-item:nth-child(-n+2){border-bottom:1px solid #ffffff30}.cali300 .tuition{grid-template-columns:1fr}}
@media(max-width:600px){.cali300 .shell{width:min(100% - 32px,1160px)}.cali300 .hero{padding:50px 0 58px}.cali300 .hero h1{font-size:clamp(37px,10vw,50px)!important}.cali300 .hero-image img{height:340px;border-radius:155px 155px 18px 18px}.cali300 .hero-image:after{border-radius:155px 155px 18px 18px}.cali300 .hero-image figcaption{font-size:14px;max-width:175px}.cali300 .quick-item{padding:17px 11px!important}.cali300 .quick-item strong{font-size:19px}.cali300 .section{padding:65px 0}.cali300 .module-grid,.cali300 .place-grid,.cali300 .teacher-grid{grid-template-columns:1fr}.cali300 .module{padding:25px}.cali300 .intro-grid img,.cali300 .includes-grid img{height:310px}.cali300 .place img{height:240px}.cali300 .teacher img{height:285px}.cali300 .schedule-row{grid-template-columns:85px 1fr}.cali300 .tuition strong{font-size:40px}}
@media(prefers-reduced-motion:reduce){.cali300 .button{transition:none}}

/* Visual learning sections: full practice photos and generous editorial spacing. */
.cali300 .practice-areas{display:grid;gap:76px}
.cali300 .practice-area{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.cali300 .practice-area.reverse figure{order:2}
.cali300 .practice-area figure,.cali300 .therapy-gallery figure,.cali300 .mentorship-gallery figure{margin:0}
.cali300 .practice-image{display:block;width:100%;height:auto}
.cali300 .practice-area .practice-image{max-height:640px;object-fit:contain;border-radius:20px;background:#eee7dc}
.cali300 .practice-area figcaption,.cali300 .mentorship-gallery figcaption{padding:14px 2px 0;color:#627368;font-size:13px;line-height:1.6}
.cali300 .practice-copy h3{font-size:clamp(29px,3.1vw,42px)!important;margin:0 0 20px!important}
.cali300 .practice-copy p{color:#52665a}
.cali300 .practice-copy .lead{font-size:19px;line-height:1.75}
.cali300 .practice-copy ul{padding-left:19px;margin:20px 0 28px;color:#52665a;display:grid;gap:8px}
.cali300 .practice-link{display:inline-block;border-bottom:1px solid #9eb1a3;padding-bottom:6px;color:var(--forest);font-size:14px;font-weight:600}
.cali300 .practice-link:hover{border-color:var(--clay)}
.cali300 .therapy-gallery,.cali300 .mentorship-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.cali300 .therapy-gallery figure{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.cali300 .therapy-gallery .practice-image{height:420px;object-fit:contain;background:#eee7dc}
.cali300 .therapy-gallery figcaption{padding:24px}
.cali300 .therapy-gallery h3{font-size:25px!important;margin-bottom:12px!important}
.cali300 .therapy-gallery p{font-size:15px;line-height:1.7;color:#52665a;margin:0}
.cali300 .mentorship-gallery .practice-image{aspect-ratio:3/4;object-fit:contain;border-radius:18px;background:#eee7dc}
.cali300 .hero-image img{height:auto;object-fit:contain;background:#e7dfd2;border-radius:22px}
.cali300 .hero .eyebrow{color:var(--clay)!important}
.cali300 .hero-image:after{display:none!important}
.cali300 .hero-image:after{border-radius:22px}
.cali300 .hero-image figcaption{position:relative;right:auto;bottom:auto;box-shadow:none;background:transparent;padding:14px 0 0;max-width:none;font:400 13px/1.6 Jost,sans-serif;text-align:center}
.cali300 .teacher img{height:440px;object-position:center 30%}
.cali300 .international-community{margin:0}
.cali300 .international-community img{width:100%;height:480px;object-fit:contain;background:#dce4d7;border-radius:20px}
.cali300 .international-community figcaption{padding-top:12px;font-size:13px;color:#627368}
.cali300 .button:focus-visible,.cali300 .practice-link:focus-visible,.cali300 summary:focus-visible{outline:3px solid var(--clay);outline-offset:5px}
@media(max-width:880px){.cali300 .practice-area{gap:35px}.cali300 .therapy-gallery,.cali300 .mentorship-gallery{gap:18px}.cali300 .therapy-gallery .practice-image{height:330px}.cali300 .therapy-gallery figcaption{padding:20px}.cali300 .therapy-gallery h3{font-size:22px!important}}
@media(max-width:600px){.cali300 .practice-area,.cali300 .therapy-gallery,.cali300 .mentorship-gallery{grid-template-columns:1fr}.cali300 .practice-area.reverse figure{order:0}.cali300 .practice-areas{gap:56px}.cali300 .practice-area{gap:25px}.cali300 .practice-area .practice-image{max-height:none;height:auto}.cali300 .practice-copy .lead{font-size:18px}.cali300 .therapy-gallery .practice-image{height:auto;max-height:580px}.cali300 .mentorship-gallery figure{max-width:430px;width:100%;margin:auto}.cali300 .hero-image img{height:auto;border-radius:18px}.cali300 .hero-image:after{border-radius:18px}.cali300 .teacher img{height:400px}.cali300 .international-community img{height:auto;max-height:500px}.cali300 .hero-image{padding:0}}

