:root{--pink:#d92d82;--pink-soft:#f6dce9;--ink:#242128;--muted:#77717a;--paper:#fffdfd;--blue:#dce8f5;--line:#e9e2e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.header{height:82px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0e9ed;background:#fff;position:sticky;top:0;z-index:10}.logo{font-weight:800;letter-spacing:.16em;font-size:16px}.logo span{display:block;color:var(--pink);font-size:9px;letter-spacing:.42em;margin-top:4px}.nav{display:flex;gap:30px;font-size:11px;font-weight:700;color:#5c5660}.nav a:hover,.text-link:hover{color:var(--pink)}.header-cta{font-size:11px;font-weight:800;border-bottom:1px solid var(--pink);padding:10px 0}.header-cta span{color:var(--pink);margin-left:12px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{min-height:680px;padding:90px 10vw 65px;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;background:linear-gradient(115deg,#fff 0%,#fff 57%,#f9e9f0 57%,#f8e8f0 100%)}.hero-copy{max-width:610px;z-index:2}.eyebrow{font-size:9px;letter-spacing:.24em;font-weight:800;color:#827783}.eyebrow span{display:inline-block;width:24px;height:1px;background:var(--pink);vertical-align:middle;margin-right:10px}.pink{color:var(--pink)}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(48px,6vw,82px);line-height:1.08;margin:28px 0}h1 em,h2 em{color:var(--pink);font-weight:500}.hero-text{font-size:13px;line-height:2;color:#77717a;max-width:430px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 22px;border:0;font:700 10px Manrope,sans-serif;letter-spacing:.04em;cursor:pointer;transition:.2s}.button b{font-size:16px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--pink)}.button-pink{background:var(--pink);color:#fff;margin-top:25px}.button-pink:hover{background:var(--ink)}.text-link{font-size:10px;font-weight:800}.text-link span{color:var(--pink);margin-left:8px}.hero-visual{height:490px;position:relative;display:flex;align-items:center;justify-content:center}.hero-photo{width:min(360px,78%);height:450px;overflow:hidden;border-radius:48% 48% 4px 4px;position:relative;z-index:1;box-shadow:0 24px 60px #a66c8730}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-orbit{position:absolute;width:420px;height:420px;border:1px solid #dca6c0;border-radius:50%;right:2%;top:5%}.floating-card{position:absolute;z-index:2;bottom:30px;left:0;background:#fff;padding:18px 22px;display:flex;gap:14px;align-items:center;box-shadow:0 12px 35px #6c38501c}.spark{color:var(--pink);font-size:25px}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:10px}.floating-card small{font-size:9px;color:var(--muted);margin-top:5px}.vertical-label{position:absolute;right:-20px;top:48%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#a88c9b}.hero-note{display:flex;align-items:center;gap:12px;margin-top:65px;font-size:8px;letter-spacing:.2em;color:#a79aa3}.note-line{width:35px;height:1px;background:var(--pink)}.hero-bottom{position:absolute;bottom:22px;left:10vw;right:10vw;display:flex;align-items:center;gap:20px;font-size:8px;letter-spacing:.15em;color:#9d929b}.bottom-rule{height:1px;background:#e5d6df;flex:1}.section{padding:105px 10vw}.section-kicker{font-size:9px;letter-spacing:.2em;color:var(--pink);font-weight:800}.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:9%;align-items:end;margin-top:35px}.intro h2,.section h2{font-size:clamp(38px,4.5vw,58px);line-height:1.15;margin:15px 0}.intro-description p,.course-copy>p:not(.eyebrow),.section-heading>p,.booking-copy>p:not(.eyebrow){font-size:12px;line-height:2;color:var(--muted)}.under-link{display:inline-block;font-size:10px;font-weight:800;margin-top:15px;border-bottom:1px solid var(--pink);padding-bottom:10px}.under-link span{color:var(--pink);margin-left:20px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:80px;border-top:1px solid var(--line);padding-top:25px}.values div{display:grid;grid-template-columns:35px 1fr;gap:8px}.values b{grid-row:span 2;color:var(--pink);font-size:10px}.values strong{font-size:12px}.values span{font-size:10px;color:var(--muted)}.services{background:#faf5f7}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-heading>p{max-width:260px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{background:#fff;padding:28px 23px;min-height:245px;position:relative;border:1px solid #f1e8ed;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #7e4b6410}.service-no{color:var(--pink);font-size:9px;letter-spacing:.15em}.service-card h3{font:500 22px "Playfair Display",serif;margin:38px 0 10px}.service-card p{font-size:10px;line-height:1.8;color:var(--muted);min-height:38px}.service-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.service-meta span{font-size:11px;font-weight:800}.service-meta small{font-size:9px;color:var(--muted)}.courses{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.course-art{height:540px;position:relative}.course-art img{width:82%;height:100%;object-fit:cover}.course-stamp{position:absolute;right:0;top:40px;background:var(--pink);color:white;border-radius:50%;width:120px;height:120px;display:grid;place-content:center;text-align:center;font-size:10px;line-height:1.6;letter-spacing:.16em;z-index:1;transform:rotate(10deg)}.course-copy h2{margin:22px 0}.course-list{margin-top:30px}.course-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:17px 0}.course-list>div>span{color:var(--pink);font-size:10px}.course-list strong{font-size:11px}.course-list small{grid-column:2;color:var(--muted);font-size:9px}.course-list b{grid-column:3;grid-row:1/3;font-size:10px}.portfolio{background:#f9f5f7}.portfolio-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px;align-items:start}.portfolio-item{height:310px;position:relative;overflow:hidden;background:var(--pink-soft)}.portfolio-item.tall{height:400px}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-item span{position:absolute;bottom:0;left:0;background:#fff;padding:12px 15px;font-size:8px;letter-spacing:.15em}.reviews{background:#fff}.review-head{display:flex;justify-content:space-between;align-items:center}.review-head h2{margin:25px 0 35px}.review-mark{font:150px "Playfair Display";color:var(--pink-soft);line-height:.5}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.review-grid blockquote{margin:0;padding:30px;background:#faf5f7}.stars{color:var(--pink);letter-spacing:.2em;font-size:12px}.review-grid p{font:18px/1.7 "Playfair Display",serif}.review-grid cite{font-style:normal;font-size:9px;color:var(--muted)}.booking{display:grid;grid-template-columns:1fr .8fr;gap:12%;background:#f7e5ed}.booking-copy h2{font-size:clamp(42px,5vw,65px);margin:25px 0}.booking-copy>p:not(.eyebrow){max-width:390px}.contact-line{display:flex;flex-direction:column;gap:7px;margin-top:28px}.contact-line span{font-size:8px;letter-spacing:.2em;color:#9a7e8d}.contact-line a,.contact-line b{font-size:12px}.socials{display:flex;gap:25px;margin-top:35px}.socials a{font-size:9px;font-weight:800;border-bottom:1px solid var(--pink);padding-bottom:7px}.booking-form{background:#fff;padding:35px;box-shadow:0 18px 50px #8b50661c}.booking-form label{display:block;font-size:9px;font-weight:800;margin-bottom:18px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #e7dce2;padding:13px 0;font:11px Manrope,sans-serif;outline:none;background:transparent;color:var(--ink);resize:vertical}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--pink)}.booking-form button{width:100%;margin-top:5px}.form-note{display:block;color:#9c9299;font-size:8px;line-height:1.6;margin-top:13px}.form-status{font-size:10px;line-height:1.5}.footer{padding:28px 10vw;display:flex;justify-content:space-between;align-items:center}.footer>span,.footer>a:last-child{font-size:8px;letter-spacing:.15em;color:#8e858d}.footer .logo{font-size:13px}@media(max-width:900px){.header{padding:0 5vw}.nav{gap:14px}.hero{padding-left:7vw;padding-right:7vw}.section{padding:80px 7vw}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-bottom{left:7vw;right:7vw}.courses{gap:6%}.course-art{height:440px}}@media(max-width:650px){.header{height:70px}.menu-toggle{display:block;order:3}.header-cta{margin-left:auto;margin-right:20px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:22px 7vw;flex-direction:column;box-shadow:0 12px 20px #0000000d}.nav.open{display:flex}.hero{display:block;padding:65px 7vw 80px;background:linear-gradient(180deg,#fff 0%,#fff 48%,#f8e8f0 48%)}.hero h1{font-size:52px}.hero-visual{height:390px;margin-top:30px}.hero-photo{height:350px;width:72%}.hero-orbit{width:320px;height:320px;right:0}.floating-card{left:0;bottom:10px}.vertical-label{right:0}.hero-note{margin-top:35px}.hero-bottom{bottom:18px}.section{padding:70px 7vw}.intro-grid,.courses,.booking{grid-template-columns:1fr;gap:35px}.intro-grid{margin-top:20px}.values{grid-template-columns:1fr;gap:22px;margin-top:45px}.section-heading{display:block}.section-heading>p{margin-top:10px}.service-grid{grid-template-columns:1fr}.service-card{min-height:210px}.service-card h3{margin-top:25px}.course-art{height:350px}.course-art img{width:85%}.portfolio-grid{grid-template-columns:1fr 1fr;gap:10px}.portfolio-item,.portfolio-item.tall{height:230px}.portfolio-item:first-child{grid-column:span 2;height:300px}.review-grid{grid-template-columns:1fr}.review-mark{font-size:100px}.booking-form{padding:25px 20px}.footer{padding:25px 7vw;gap:15px;flex-wrap:wrap}.footer>span{order:3;width:100%}}