:root{--plum:#54243f;--plum-dark:#321525;--rose:#bd7187;--blush:#f4e5e8;--cream:#f8f4f0;--ink:#2b2127;--muted:#756a70;--line:rgba(84,36,63,.15);font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:white;border-bottom:1px solid rgba(255,255,255,.16)}.brand{width:132px;height:68px;display:flex;align-items:center;overflow:hidden}.brand img{filter:brightness(0) invert(1);transform:scale(1.15)}nav{display:flex;align-items:center;gap:32px;font-size:.78rem;font-weight:600}nav a{transition:opacity .2s}nav a:hover{opacity:.72}.nav-portal{padding:12px 18px;border:1px solid rgba(255,255,255,.55);border-radius:999px}.menu-button{display:none;border:0;background:none}.hero{min-height:760px;display:grid;grid-template-columns:52% 48%;background:var(--plum);color:white}.hero-copy{padding:170px clamp(28px,7vw,112px) 80px}.eyebrow{margin:0 0 22px;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700;color:#c9859a}.hero h1,.section h2{font-family:"Playfair Display",serif;letter-spacing:-.035em}.hero h1{max-width:680px;margin:0;font-size:clamp(3.2rem,5.4vw,6.1rem);line-height:.95;font-weight:600}.hero h1 em,.section h2 em{font-weight:600;color:#e2a5b6}.hero-text{max-width:530px;margin:30px 0;color:#e5d8dd;line-height:1.75;font-size:.98rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:49px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.76rem;font-weight:700}.button.primary{color:var(--plum);background:#f2d9df}.button.ghost{border:1px solid rgba(255,255,255,.3)}.hero-note{margin-top:64px;display:flex;align-items:center;gap:14px;color:#d8c2ca;font-size:.75rem}.hero-note p{margin:0;line-height:1.5}.hero-note strong{color:white}.spark{width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:#e5acbd}.hero-visual{position:relative;overflow:hidden;background:#2d1824}.hero-arch{position:absolute;inset:0}.hero-arch:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(55,20,39,.3),transparent 35%),linear-gradient(0deg,rgba(31,12,23,.42),transparent 35%)}.hero-arch img{height:100%;object-fit:cover}.vertical-word{position:absolute;right:21px;top:50%;margin:0;writing-mode:vertical-rl;transform:translateY(-50%);text-transform:uppercase;letter-spacing:.23em;font-size:.56rem;color:rgba(255,255,255,.72)}.orbit{position:absolute;border:1px solid rgba(255,255,255,.26);border-radius:50%}.orbit-one{width:210px;height:210px;right:-100px;top:110px}.orbit-two{width:95px;height:95px;left:-48px;bottom:90px}.section{padding:110px clamp(24px,7vw,112px)}.section-label{padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--rose);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.intro-heading,.experience-heading{padding-top:55px;display:grid;grid-template-columns:1.35fr .65fr;gap:10vw;align-items:end}.section h2{margin:0;font-size:clamp(2.5rem,4.4vw,5rem);line-height:1.02;font-weight:600}.intro-heading>p,.experience-heading>p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.75}.values-grid{margin-top:74px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.values-grid article{padding:29px 25px 35px}.values-grid article+article{border-left:1px solid var(--line)}.values-grid span{font-family:"Playfair Display",serif;color:#cda1ae;font-size:.75rem}.values-grid h3{margin:34px 0 12px;font-family:"Playfair Display",serif;font-size:1.25rem}.values-grid p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.65}.classes{color:white;background:var(--plum-dark)}.section-label.light{border-color:rgba(255,255,255,.15)}.classes-heading{padding-top:55px;display:flex;justify-content:space-between;align-items:end;gap:40px}.classes-heading p{max-width:400px;margin:0;color:#cdbbc3;font-size:.85rem;line-height:1.7}.class-list{margin-top:64px;border-top:1px solid rgba(255,255,255,.17)}.class-list article{min-height:125px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:22px;border-bottom:1px solid rgba(255,255,255,.17);transition:padding .25s,background .25s}.class-list article:hover{padding:0 18px;background:rgba(255,255,255,.035)}.class-number{color:#b68b9b;font-family:"Playfair Display",serif;font-size:.78rem}.class-list p{margin:0 0 7px;color:#bba8b0;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}.class-list h3{margin:0;font-family:"Playfair Display",serif;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:600}.class-tag{padding:9px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#d6c5cc;font-size:.63rem}.classes-cta{margin-top:30px;display:flex;justify-content:space-between;align-items:center;color:#bdaab2;font-size:.75rem}.classes-cta a{color:white;font-weight:700}.classes-cta a span{margin-left:12px}.direction{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.direction-photo{height:650px;position:relative}.direction-photo:before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid #cfa3b0}.direction-photo img{position:relative;height:100%;object-fit:cover}.direction-copy>p:not(.eyebrow){margin:28px 0;color:var(--muted);line-height:1.8;font-size:.9rem}.direction-copy blockquote{margin:42px 0 0;padding:26px 0 0;border-top:1px solid var(--line);font-family:"Playfair Display",serif;font-style:italic;font-size:1.23rem;line-height:1.5;color:var(--plum)}.experience{background:white}.gallery{margin-top:65px;height:570px;display:grid;grid-template-columns:1.5fr .7fr;grid-template-rows:1fr 170px;gap:15px}.gallery figure{margin:0;overflow:hidden}.gallery img{height:100%;object-fit:cover}.gallery-main{grid-row:1/3}.gallery-quote{padding:25px;display:flex;align-items:flex-end;justify-content:space-between;background:var(--blush);color:var(--plum)}.gallery-quote span{align-self:flex-start}.gallery-quote p{margin:0;font-family:"Playfair Display",serif;font-size:1.22rem;line-height:1.35}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:center;color:white;background:var(--plum)}.contact-copy>p:not(.eyebrow){max-width:520px;color:#ddccd3;line-height:1.7}.light-button{margin-top:20px;color:var(--plum);background:white}.contact-card{padding:42px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06)}.contact-card div{padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid rgba(255,255,255,.15)}.contact-card span,.contact-card strong{display:block}.contact-card div span{margin-bottom:9px;color:#d0b5c0;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.contact-card strong{font-family:"Playfair Display",serif;font-size:1.12rem;line-height:1.45}.contact-card>a{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;font-weight:700}footer{padding:55px clamp(24px,7vw,112px) 35px;background:#25131d;color:#c8b7bf}.footer-brand{display:block;width:150px;height:75px;overflow:hidden}.footer-brand img{filter:brightness(0) invert(1);transform:scale(1.1)}footer>p{margin:12px 0 50px;font-family:"Playfair Display",serif;font-size:1.15rem}footer>div{padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:.62rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:74px;padding:0 20px}.brand{width:110px}.menu-button{width:40px;height:40px;display:grid;place-content:center;gap:6px;position:relative;z-index:2}.menu-button span{display:block;width:23px;height:1px;background:white}.site-header nav{display:none;position:absolute;inset:0 0 auto;height:100vh;padding:120px 30px 40px;flex-direction:column;align-items:flex-start;gap:27px;background:var(--plum-dark);font-family:"Playfair Display",serif;font-size:1.65rem}.site-header.open nav{display:flex}.site-header.open{position:fixed;background:var(--plum-dark)}.nav-portal{font-family:"DM Sans",sans-serif;font-size:.75rem}.hero{display:block}.hero-copy{min-height:660px;padding:135px 24px 65px}.hero h1{font-size:clamp(3.25rem,14vw,4.6rem)}.hero-text{font-size:.9rem}.hero-note{margin-top:48px}.hero-visual{height:520px}.vertical-word{display:none}.section{padding:80px 24px}.intro-heading,.experience-heading{padding-top:40px;display:block}.intro-heading>p,.experience-heading>p{margin-top:28px}.values-grid{margin-top:48px;grid-template-columns:1fr 1fr}.values-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.values-grid article:nth-child(4){border-top:1px solid var(--line)}.classes-heading{padding-top:40px;display:block}.classes-heading p{margin-top:25px}.class-list article{grid-template-columns:40px 1fr}.class-tag{display:none}.classes-cta{align-items:flex-start;gap:20px}.direction{grid-template-columns:1fr;gap:70px}.direction-photo{height:500px;margin-right:18px}.direction-copy{padding-top:15px}.gallery{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:330px 150px}.gallery-main{grid-column:1/3;grid-row:auto}.contact{grid-template-columns:1fr}.contact-card{padding:30px 24px}footer>div{gap:20px;line-height:1.4}}@media(max-width:520px){.hero-actions{display:grid}.hero-actions .button{width:100%}.values-grid{grid-template-columns:1fr}.values-grid article+article{border-left:0;border-top:1px solid var(--line)}.values-grid article{padding-left:5px;padding-right:5px}.class-list article{min-height:105px}.classes-cta{display:block}.classes-cta a{display:inline-block;margin-top:8px}.direction-photo{height:430px}.gallery{grid-template-rows:290px 130px}.gallery-quote{padding:18px}.gallery-quote p{font-size:.98rem}.contact-card{padding:27px 20px}footer>div{display:block}footer>div a{display:block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
