@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#35203d;--paper:#fcfaf6;--purple:#d5c5f1;--line:#ddd5e0;--muted:#6b606e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:1.0625rem;line-height:1.65}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #9a70ce;outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:'Manrope',Arial,sans-serif;line-height:1.1;letter-spacing:-.05em}em{font-family:Georgia,serif;font-weight:400}img{display:block;max-width:100%}.header{max-width:1440px;margin:auto;padding:27px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:'Manrope',Arial,sans-serif;font-size:2.3125rem;line-height:1;letter-spacing:-.07em;font-weight:800;text-decoration:none}.brand span{display:block;font-size:0.625rem;letter-spacing:.13em;font-weight:500;margin-top:10px}.header nav{display:flex;align-items:center;gap:32px;font-size:0.875rem}.header nav a{text-decoration:none;padding:10px 0}.header nav a:hover{text-decoration:underline}.header .nav-contact{border:1px solid var(--line);padding:10px 20px;border-radius:50px}.hero{max-width:1440px;margin:auto;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.hero-copy{padding:65px 10% 40px}.eyebrow{font-size:0.75rem;font-weight:600;letter-spacing:.13em;line-height:1.5;margin-bottom:22px}h1{font-size:clamp(2.75rem,4.6vw,4.5rem);font-weight:500}h1 em{display:inline-block;color:var(--purple);margin-top:7px}.hero-intro{max-width:410px;margin:30px 0;color:#e2d9e6;font-size:1.125rem}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:50px;min-height:52px;padding:14px 25px;font-size:0.9375rem;font-weight:600;line-height:1.4;text-align:center;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.light{background:var(--purple);color:var(--ink)}.light:hover{background:#e4d9f8}.dark{background:var(--ink);color:#fff}.dark:hover{background:#563361}.text-link{font-size:0.875rem;text-underline-offset:5px}.hero-foot{font-size:0.75rem;letter-spacing:.04em;color:#c3b7c7;margin-top:48px}.hero-image{position:relative;overflow:hidden;min-height:550px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 68%}.hero-image figcaption{position:absolute;bottom:24px;left:24px;right:24px;border-radius:50px;background:#fcfaf6ed;color:var(--ink);padding:14px 20px;font-size:0.875rem;text-align:center}.intro-strip{max-width:1440px;margin:auto;display:flex;justify-content:center;gap:60px;background:#eee7f5;padding:22px;font-size:0.875rem;font-weight:500}.section{max-width:1260px;margin:auto;padding:90px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:45px}.section-heading>p{max-width:365px;color:var(--muted)}h2{font-size:clamp(2.1875rem,4vw,3.3125rem);font-weight:500}.feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px;border-radius:26px;margin-bottom:20px}.ems{background:#e3d8f2}.personal{background:#eee7dd}.service-number{display:block;font-size:0.75rem;letter-spacing:.12em;font-weight:600;margin-bottom:25px}.feature h3{font-size:clamp(2.1875rem,4vw,3.25rem);font-weight:500}.feature-subtitle{font-family:Georgia,serif;font-size:1.5625rem;line-height:1.4;margin-top:20px}.feature-content>p{margin-bottom:20px}.benefits{list-style:none;padding:0;margin:24px 0}.benefits li{padding:10px 0;border-top:1px solid #35203d22;font-size:0.9375rem}.benefits li:last-child{border-bottom:1px solid #35203d22}.small{font-size:0.875rem;color:var(--muted)}.feature .button{margin-top:8px}.group-heading{margin:58px 0 28px}.group-heading .eyebrow{margin-bottom:10px}.group-heading h3{font-size:2rem;font-weight:500}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course{padding:30px 27px;border:1px solid var(--line);border-radius:22px;display:flex;flex-direction:column}.course .service-number{color:var(--muted)}.course h4{font-size:1.75rem;font-weight:500;margin-bottom:20px}.course p{color:var(--muted);font-size:1rem;margin-bottom:30px}.course a{font-size:0.875rem;font-weight:600;text-underline-offset:6px;margin-top:auto;padding:10px 0}.start{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.start>div>p:last-child{max-width:440px;color:var(--muted);margin-top:25px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:24px;padding:23px 0;border-top:1px solid var(--line)}.steps li:first-child{padding-top:0;border:0}.steps li>span{font-size:0.875rem;color:#8d679e;padding-top:4px}.steps h3{font-size:1.4375rem;letter-spacing:-.03em;font-weight:600;margin-bottom:10px}.steps p{font-size:1rem;color:var(--muted)}.faq{padding-top:30px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.faq h2{font-size:2.5rem}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:58px;padding:19px 6px;font-size:1rem;font-weight:500}.faq summary::marker{color:#8d679e}.faq details p{font-size:1rem;color:var(--muted);padding:0 6px 22px}.contact{max-width:1440px;margin:auto;padding:70px 8%;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:50px}.contact h2{font-size:clamp(2.875rem,5vw,4.0625rem)}.contact em{color:var(--purple)}.contact p{font-size:1rem;margin-top:25px;color:#d3c7d7}.contact-action{text-align:center}.contact-action .phone{display:block;font-size:1.25rem;text-decoration:none;margin-top:18px}.contact-action p{font-size:0.875rem;margin-top:12px}footer{max-width:1440px;margin:auto;padding:30px 5%;display:flex;align-items:center;gap:30px;color:var(--muted);font-size:0.8125rem}.footer-logo{font-family:'Manrope',Arial,sans-serif;color:var(--ink);font-size:1.875rem;font-weight:800;letter-spacing:-.06em}footer>a{margin-left:auto;text-underline-offset:4px}
@media(max-width:1000px){.hero-copy{padding:50px 8% 35px}.hero{min-height:580px}.hero-image{min-height:540px}.feature{gap:35px;padding:35px}.section{padding:65px 5%}.start{gap:40px}.intro-strip{gap:30px}.course{padding:24px 20px}.header nav{gap:20px}}
@media(max-width:700px){body{font-size:1rem}.header{padding:20px 6%;gap:15px}.brand{font-size:2rem}.brand span{font-size:0.5625rem}.header nav{gap:14px;font-size:0.8125rem}.header nav a:nth-child(2){display:none}.header .nav-contact{padding:9px 12px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 7% 35px}.hero h1{font-size:clamp(2.625rem,10vw,4.125rem)}.hero-intro{font-size:1.0625rem;max-width:100%;margin:24px 0}.hero-foot{margin-top:26px}.hero-image{min-height:0;height:310px}.hero-image img{object-position:center 72%}.hero-image figcaption{bottom:18px;left:20px;right:20px;font-size:0.8125rem;padding:12px}.hero-actions{gap:20px}.button{font-size:0.875rem;min-height:50px}.intro-strip{gap:10px;justify-content:space-around;padding:19px 5%;font-size:0.75rem;text-align:center}.intro-strip span{max-width:95px}.section{padding:52px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px;max-width:none}h2{font-size:2.375rem}.feature{grid-template-columns:1fr;gap:25px;padding:30px 25px;border-radius:22px}.feature h3{font-size:2.5rem}.service-number{margin-bottom:18px}.feature-subtitle{font-size:1.375rem;margin-top:15px}.feature-content>p{margin-bottom:18px}.group-heading{margin:40px 0 23px}.course-grid{grid-template-columns:1fr;gap:15px}.course{padding:27px}.course p{margin-bottom:14px}.course h4{font-size:1.875rem;margin-bottom:15px}.start{grid-template-columns:1fr;gap:32px}.steps li{gap:20px}.faq{grid-template-columns:1fr;gap:25px;padding-top:15px}.faq h2{font-size:2.25rem}.contact{padding:47px 7%;flex-direction:column;align-items:flex-start;gap:30px}.contact-action{width:100%;text-align:left}.contact-action .button{width:100%}.contact-action .phone,.contact-action p{text-align:center}footer{padding:25px 6%;flex-wrap:wrap;gap:10px 20px}footer>a{width:100%;margin:8px 0 0}.eyebrow{letter-spacing:.1em;font-size:0.6875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Navigation and booking additions retain the original LOFT palette. */
html{scroll-padding-top:24px}body{overflow-wrap:break-word}.header nav{font-size:0.9375rem;gap:25px}.brand span{font-size:0.75rem;letter-spacing:.08em}.menu-toggle{display:none}.skip-link{position:fixed;top:-80px;left:16px;z-index:30;background:var(--ink);color:white;padding:12px 20px;border-radius:12px}.skip-link:focus{top:12px}.hero{min-height:560px}.hero-copy{padding-top:50px}.hero-image{min-height:500px}.hero-foot{font-size:0.875rem}.eyebrow,.service-number{font-size:0.8125rem}.hero-actions .text-link{font-size:0.9375rem}.home-booking{padding-bottom:25px}.home-booking-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:48px;align-items:start}.home-booking .panel{margin:0}.booking-guide{padding:24px 0}.booking-guide ol{padding-left:24px;margin:0 0 22px}.booking-guide li{padding-left:10px;margin-bottom:24px}.booking-guide li p{font-size:1rem;color:var(--muted);margin-top:5px}.booking-guide .text-link{display:inline-block;min-height:44px}.home-booking h3{font-size:1.6875rem;font-weight:500;letter-spacing:-.035em}#home-selection{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}#home-selection p{margin:8px 0 16px}.header a,.course a,footer a{min-height:44px}input,button{font:inherit}button:focus-visible{outline:3px solid #9a70ce;outline-offset:4px}
@media(max-width:800px){.home-booking-grid{grid-template-columns:1fr;gap:12px}.hero{min-height:0}.hero-image{min-height:470px}.hero-copy{padding:35px 8%}.hero-foot{margin-top:25px}.header nav{gap:17px}}
@media(max-width:700px){.header{position:relative;flex-wrap:wrap}.brand span{font-size:0.6875rem}.menu-toggle{display:block;border:1px solid var(--line);border-radius:40px;background:transparent;min-height:44px;padding:8px 20px;color:var(--ink);font-size:0.9375rem}.header nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:2px;padding-top:8px}.header nav.open{display:flex}.header nav a,.header nav a:nth-child(2){display:block;padding:12px 14px;font-size:1rem}.header .nav-contact{text-align:center}.hero-image{min-height:0;height:270px}.hero-copy{padding:36px 7%}.hero h1{font-size:clamp(2.4375rem,10vw,3.625rem)}.hero-intro{font-size:1.0625rem}.eyebrow,.service-number{font-size:0.8125rem}.intro-strip{font-size:0.875rem;gap:18px;flex-wrap:wrap}.intro-strip span{max-width:140px}.booking-guide{padding:20px 0}.home-booking .section-heading{margin-bottom:22px}.button{font-size:1rem}footer{font-size:0.875rem}footer>a{width:auto}.section-heading h2{font-size:2.375rem}}

.hero-image img{position:absolute;inset:0;width:100%;height:100%}
