@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--ink:#071b35;--blue:#0d3b78;--yellow:#ffd447;--red:#d53b32;--paper:#fffaf0;--white:#fff;--line:rgba(7,27,53,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit}header{position:sticky;top:0;z-index:10;background:rgba(255,250,240,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.brand{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;text-decoration:none}.navlinks{display:flex;gap:20px;align-items:center}.navlinks a{text-decoration:none;font-size:.88rem;font-weight:600}.navlinks .nav-cta{background:var(--red);color:white;padding:9px 14px;border-radius:99px}.menu{display:none;border:0;background:none;font-size:1.5rem}.hero{min-height:82vh;display:grid;grid-template-columns:1.15fr .85fr;max-width:1180px;margin:auto;padding:72px 24px 55px;align-items:center;gap:56px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600;color:var(--red)}h1,h2,h3{font-family:'Cormorant Garamond',serif;line-height:1.04;margin:0 0 20px}h1{font-size:clamp(3.7rem,8vw,7.1rem);letter-spacing:-.045em}h2{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.025em}h3{font-size:1.8rem}.hero p{font-size:1.12rem;max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-block;padding:13px 20px;border:1px solid var(--ink);font-weight:600;text-decoration:none;border-radius:3px}.button.primary{background:var(--yellow);box-shadow:5px 5px 0 var(--ink)}.button.dark{background:var(--ink);color:white}.sigil{aspect-ratio:1;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;position:relative;background:var(--yellow);box-shadow:18px 18px 0 var(--red)}.sigil:before,.sigil:after{content:'';position:absolute;width:72%;height:72%;border:2px solid var(--blue);transform:rotate(45deg)}.sigil:after{transform:rotate(22.5deg)}.sigil span{font-family:'Cormorant Garamond',serif;font-size:clamp(6rem,15vw,11rem);z-index:1}.band{background:var(--blue);color:white;padding:22px;overflow:hidden;text-align:center;text-transform:uppercase;letter-spacing:.17em;font-weight:600}.section{max-width:1180px;margin:auto;padding:100px 24px}.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;margin-bottom:46px}.section-head p{margin:8px 0;max-width:650px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--ink);background:white;padding:30px;min-height:280px;display:flex;flex-direction:column;position:relative}.card:nth-child(3n+1){border-top:8px solid var(--yellow)}.card:nth-child(3n+2){border-top:8px solid var(--blue)}.card:nth-child(3n+3){border-top:8px solid var(--red)}.card .num{font-size:.78rem;letter-spacing:.12em;color:var(--red)}.card p{margin-top:0}.card a{margin-top:auto;font-weight:600;text-underline-offset:5px}.manifesto{background:var(--yellow);border-block:2px solid var(--ink)}.manifesto blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;margin:0;max-width:1000px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.list{list-style:none;padding:0}.list li{border-top:1px solid var(--line);padding:14px 0}.newsletter{background:var(--red);color:white}.newsletter form{display:flex;gap:10px;max-width:650px}.newsletter input{flex:1;padding:14px;border:1px solid white;background:transparent;color:white;font:inherit}.newsletter input::placeholder{color:#ffe0dc}.pagehero{max-width:1000px;margin:auto;padding:100px 24px 60px}.pagehero h1{font-size:clamp(3.6rem,8vw,6.5rem)}.content{max-width:850px;margin:auto;padding:0 24px 100px}.content h2{font-size:2.7rem;margin-top:65px}.content p{font-size:1.08rem}.booking{margin-top:60px;padding:32px;background:var(--yellow);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--blue)}.booking small{display:block;margin-top:12px}.service-nav{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.service-nav a{border:1px solid var(--ink);padding:8px 12px;text-decoration:none;font-size:.88rem}footer{background:var(--ink);color:white;padding:50px 24px}.footer-inner{max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:30px}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a{color:white}.star{color:var(--yellow)}
@media(max-width:800px){.navlinks{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;border-bottom:1px solid var(--ink)}.navlinks.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:55px}.sigil{max-width:380px;width:82%;margin:20px auto}.section-head,.split{grid-template-columns:1fr;gap:15px}.grid{grid-template-columns:1fr}.section{padding-block:72px}.newsletter form{flex-direction:column}.footer-inner{flex-direction:column}}
.motto-hero{max-width:1180px;margin:auto;padding:110px 24px 100px;border-bottom:1px solid var(--line)}.motto-hero h1{font-size:clamp(4.5rem,11vw,9.5rem);max-width:1000px}.motto-hero h1 em{color:var(--red);font-weight:500}.motto-intro{font-size:1.18rem;max-width:650px;margin:32px 0 0}.belief-section{max-width:1180px;margin:auto;padding:100px 24px}.belief-heading{display:grid;grid-template-columns:.6fr 1.4fr;gap:30px;align-items:end;margin-bottom:42px}.belief-heading h2{margin:0}.belief-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-left:2px solid var(--ink)}.belief-card{background:var(--white);padding:34px;min-height:300px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}.belief-card:nth-child(2){background:var(--yellow)}.belief-card:nth-child(3){background:var(--blue);color:var(--white)}.belief-card:nth-child(4){background:var(--red);color:var(--white)}.belief-number{font-size:.78rem;letter-spacing:.18em;font-weight:600;display:block;margin-bottom:45px}.belief-card h3{font-size:clamp(1.8rem,3vw,2.5rem);max-width:480px}.belief-card p{margin:0;max-width:510px}.practice-section{background:var(--ink);color:var(--white);padding:100px max(24px,calc((100vw - 1132px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.practice-section .eyebrow{color:var(--yellow)}.practice-statement{position:sticky;top:110px;align-self:start}.practice-lede{font-size:1.14rem;max-width:470px}.practice-list{list-style:none;padding:0;margin:0}.practice-list li{padding:28px 0;border-top:1px solid rgba(255,255,255,.28);display:grid;grid-template-columns:.7fr 1.3fr;gap:25px}.practice-list li:last-child{border-bottom:1px solid rgba(255,255,255,.28)}.practice-list strong{font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.15;color:var(--yellow)}.practice-list span{color:rgba(255,255,255,.86)}.intention-section{max-width:1180px;margin:auto;padding:110px 24px;display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.intention-copy{font-size:1.14rem}.intention-copy p:first-child{font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1.25;margin-top:0}.intention-copy .button{margin-top:20px}
@media(max-width:800px){.motto-hero{padding-block:72px}.belief-heading,.practice-section,.intention-section{grid-template-columns:1fr;gap:28px}.belief-grid{grid-template-columns:1fr}.practice-statement{position:static}.practice-list li{grid-template-columns:1fr;gap:10px}.belief-card{min-height:0}.belief-number{margin-bottom:25px}.intention-section{padding-block:76px}}
.home-intention{border-bottom:2px solid var(--ink)}.booking-page{padding-top:0}.calendar-hero{padding-bottom:45px}.calendar-section{padding-top:10px}.calendar-key{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:28px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.calendar-key span{display:flex;align-items:center;gap:8px}.calendar-key i,.schedule-dot{display:block;width:13px;height:13px;border-radius:50%}.key-live{background:var(--red)}.key-learn{background:var(--blue)}.key-resource{background:var(--yellow);border:1px solid var(--ink)}.schedule-board{display:grid;grid-template-columns:.8fr 1.2fr;border:2px solid var(--ink);background:var(--white)}.schedule-intro{padding:42px;background:var(--yellow);border-right:2px solid var(--ink)}.schedule-types{padding:14px 38px}.schedule-types article{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--line)}.schedule-types article:last-child{border-bottom:0}.schedule-types h3{margin:0 0 8px}.schedule-types p{margin:0}.schedule-dot{margin-top:7px}.calendar-note{max-width:760px}
@media(max-width:800px){.schedule-board{grid-template-columns:1fr}.schedule-intro{border-right:0;border-bottom:2px solid var(--ink)}.schedule-types{padding-inline:24px}}
.brand-emblem{display:grid;place-items:center;padding:10px}.brand-emblem img{display:block;width:min(100%,470px);height:auto}
@media(max-width:800px){.brand-emblem{max-width:390px;width:88%;margin:20px auto}}
.home-sections{border-top:2px solid var(--ink)}.home-block{border-bottom:2px solid var(--ink)}.home-block-inner{max-width:1180px;min-height:430px;margin:auto;padding:92px 24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.home-block-title{position:sticky;top:110px}.home-index{margin:0 0 38px;font-size:.78rem;font-weight:600;letter-spacing:.18em}.home-block h2{margin:0;max-width:420px}.home-block-copy{max-width:690px}.home-block-copy p{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.3}.home-about{background:var(--white)}.home-about .home-index{color:var(--red)}.home-beliefs{background:var(--blue);color:var(--white)}.home-beliefs .home-index{color:var(--yellow)}.home-work{background:var(--yellow)}.home-work .home-index{color:var(--blue)}
.card .service-mode{display:inline-block;align-self:flex-start;margin:0 0 16px;padding:5px 9px;border:1px solid var(--ink);background:var(--paper);font-size:.75rem;font-weight:600;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:800px){.home-block-inner{min-height:0;padding-block:72px;grid-template-columns:1fr;gap:35px}.home-block-title{position:static}.home-index{margin-bottom:20px}.home-block-copy p{font-size:clamp(1.5rem,7vw,2rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
