:root{--purple:#741773;--purple-dark:#4c124f;--purple-bright:#93158d;--cream:#f8f3ef;--taupe:#b99883;--ink:#3d2d3d;--muted:#786778;--white:#fff;--border:#dfd0c7;--radius:26px;--shadow:0 18px 50px rgba(67,29,67,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:.75rem 1rem;z-index:100}.skip-link:focus{left:10px}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,243,239,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(185,152,131,.25)}.nav-wrap{max-width:1240px;margin:auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand img{width:62px;height:62px;border-radius:16px}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-family:Nunito,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--purple);font-size:.95rem}.brand small{font-family:Nunito,sans-serif;font-size:1.18rem;font-weight:800;color:var(--purple-dark)}nav{display:flex;align-items:center;gap:1.55rem}nav a{text-decoration:none;font-weight:700;font-size:.92rem}nav a:hover{color:var(--purple-bright)}.nav-cta{background:var(--purple);color:white!important;padding:.75rem 1.1rem;border-radius:999px}.menu-button{display:none;border:1px solid var(--border);background:white;border-radius:999px;padding:.65rem 1rem;font:700 .9rem inherit}.hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;min-height:680px;padding:4.4rem 2.2rem 3.5rem;gap:3.5rem;align-items:center}.hero-copy{padding-left:max(0px,calc((100vw - 1280px)/2))}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:800;font-size:.78rem;color:var(--purple-bright);margin:0 0 1rem}.hero h1,.section-heading h2,.approach h2,.about h2,.contact h2{font-family:Nunito,sans-serif;line-height:1.03;margin:0;color:var(--purple-dark)}.hero h1{font-size:clamp(3rem,6vw,5.75rem);letter-spacing:-.045em}.hero h1 em{display:block;color:var(--purple-bright);font-style:normal}.hero-intro{max-width:630px;font-size:1.22rem;color:var(--muted);margin:1.6rem 0 2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem}.button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;font-weight:800;padding:.9rem 1.35rem;border-radius:999px;transition:.2s ease}.button:hover{transform:translateY(-2px)}.primary{background:var(--purple);color:white;box-shadow:0 10px 24px rgba(116,23,115,.22)}.secondary{background:white;border:1px solid var(--border);color:var(--purple)}.hero-photo{height:590px;border-radius:42% 42% 28px 28px;overflow:hidden;position:relative;box-shadow:var(--shadow);background:#dccabe}.hero-photo img{width:100%;height:100%;object-fit:cover}.photo-note{position:absolute;right:1.3rem;bottom:1.3rem;background:rgba(255,255,255,.94);border-radius:18px;padding:1rem 1.25rem;display:flex;flex-direction:column}.photo-note strong{color:var(--purple);font-family:Nunito,sans-serif}.photo-note span{font-size:.85rem;color:var(--muted)}.trust-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;color:var(--purple-dark);font-weight:700;font-size:.88rem}.trust-row span:before{content:"✓";color:var(--purple-bright);margin-right:.4rem}.academy{background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:white;padding:6rem max(1.5rem,calc((100vw - 1180px)/2))}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:end;margin-bottom:2.7rem}.section-heading h2,.approach h2,.about h2,.contact h2{font-size:clamp(2.25rem,4vw,3.8rem);letter-spacing:-.035em}.academy .section-heading h2{color:white}.academy .section-heading>p{color:#eadbea;font-size:1.08rem;margin:0}.academy .eyebrow{color:#d3b5a3}.level-card{display:grid;grid-template-columns:1fr 330px;background:white;color:var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 80px rgba(27,6,29,.26)}.level-copy{padding:2.8rem}.level-label{display:inline-block;background:#efe2ed;color:var(--purple);font-weight:800;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;border-radius:99px;padding:.45rem .8rem}.level-copy h3{font-family:Nunito,sans-serif;color:var(--purple-dark);font-size:2.5rem;line-height:1.1;margin:1rem 0 .4rem}.level-copy>p{color:var(--muted);margin:.2rem 0 1.6rem}.course-list{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem}.course-list span{font-weight:700}.course-list span:before{content:"✓";color:var(--purple-bright);margin-right:.55rem}.pricing{background:#d7bdae;padding:2.2rem;display:flex;flex-direction:column;gap:.8rem}.pricing>div{background:rgba(255,255,255,.76);border-radius:17px;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}.pricing span{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;font-weight:800;color:var(--purple-dark)}.pricing strong{font-family:Nunito,sans-serif;font-size:2rem;color:var(--purple)}.pricing .featured{background:white;border:2px solid var(--purple);position:relative}.pricing small{position:absolute;right:.75rem;top:-.65rem;background:var(--purple);color:white;padding:.15rem .55rem;border-radius:99px;font-size:.65rem}.light{background:white;color:var(--purple);margin-top:auto}.course-note{font-size:.82rem;color:#dbc9db;margin:1.3rem .3rem 0;max-width:950px}.services{padding:6.5rem max(1.5rem,calc((100vw - 1180px)/2))}.section-heading.compact>p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.service-grid article{background:white;border:1px solid var(--border);border-radius:22px;padding:1.8rem;min-height:310px;display:flex;flex-direction:column;transition:.2s ease}.service-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-number{color:var(--taupe);font-weight:800;font-size:.8rem;letter-spacing:.13em}.service-grid h3{font-family:Nunito,sans-serif;color:var(--purple-dark);font-size:1.45rem;margin:1.2rem 0 .6rem}.service-grid p{color:var(--muted);margin:0}.status{margin-top:auto;padding-top:1.4rem;color:var(--purple);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.future{background:#eee4de!important}.approach,.about{max-width:1180px;margin:0 auto 7rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.approach-photo,.about-photo{border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.approach-photo{height:600px}.approach-photo img,.about-photo img{width:100%;height:100%;object-fit:cover}.approach-copy>p,.about-copy>p{color:var(--muted);font-size:1.05rem}.approach ul{list-style:none;padding:0;margin:2rem 0 0}.approach li{border-top:1px solid var(--border);padding:1.1rem 0;display:flex;flex-direction:column}.approach li strong{color:var(--purple);font-family:Nunito,sans-serif;font-size:1.08rem}.approach li span{color:var(--muted);font-size:.92rem}.about{background:white;max-width:1240px;border-radius:32px;padding:3rem}.about-photo{height:420px}.contact{text-align:center;padding:6rem 1.5rem;background:#e4d2c7}.contact h2{max-width:800px;margin:auto}.contact>p:not(.eyebrow){color:var(--muted);max-width:680px;margin:1.2rem auto}.domain{display:inline-block;margin-top:1rem;background:white;color:var(--purple);font-weight:800;border-radius:999px;padding:.9rem 1.5rem}footer{background:#341037;color:white;padding:3.5rem max(1.5rem,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{display:flex;gap:1rem;align-items:center}.footer-brand img{width:78px;border-radius:17px}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{font-family:Nunito,sans-serif;font-size:1.15rem}.footer-brand span,.footer-note,.copyright{color:#dacada;font-size:.85rem}.footer-note p{margin:.15rem 0}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.3rem}
@media(max-width:900px){nav{display:none;position:absolute;top:80px;left:1rem;right:1rem;background:white;border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;padding-top:2.6rem}.hero-copy{padding-left:0}.hero-photo{height:470px}.section-heading{grid-template-columns:1fr;gap:1rem}.level-card{grid-template-columns:1fr}.course-list{grid-template-columns:1fr}.pricing{display:grid;grid-template-columns:repeat(3,1fr)}.pricing>div{flex-direction:column;align-items:flex-start}.pricing .button{grid-column:1/-1}.service-grid{grid-template-columns:1fr 1fr}.approach,.about{grid-template-columns:1fr;margin-left:1.5rem;margin-right:1.5rem;gap:2.5rem}.approach-photo{height:480px}}
@media(max-width:600px){.brand span{display:none}.hero{padding:2.2rem 1.2rem 3rem;gap:2rem}.hero h1{font-size:3.15rem}.hero-photo{height:420px}.hero-actions{flex-direction:column}.button{width:100%}.academy,.services{padding-top:4.5rem;padding-bottom:4.5rem}.level-copy{padding:1.7rem}.level-copy h3{font-size:2rem}.pricing{grid-template-columns:1fr}.pricing .button{grid-column:auto}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:250px}.approach,.about{margin-bottom:4.5rem}.approach-photo{height:380px}.about{padding:1.6rem}.about-photo{height:320px}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-grid article{transition:none}}

.service-booking{margin-top:auto;padding:.8rem 1rem;font-size:.9rem;align-self:flex-start}.service-grid article p{margin-bottom:1.5rem}.grooming-note{color:var(--muted)}

.contact-email{max-width:100%;overflow-wrap:anywhere;text-decoration:none}.contact-email:hover{text-decoration:underline}

nav a[aria-current="page"]{color:var(--purple-bright);text-decoration:underline;text-underline-offset:.3em}

body:has(nav a[href="contact.html"][aria-current="page"]) .contact{min-height:55vh;display:flex;flex-direction:column;justify-content:center;align-items:center}

.social-link{grid-column:1/-1;justify-self:start;font-weight:700;text-underline-offset:.25em}.social-link:hover{color:#fff}

.booking-note{margin:0 0 2rem;padding:1.4rem 1.6rem;background:white;border:1px solid var(--border);border-left:4px solid var(--purple);border-radius:16px}.booking-note strong{color:var(--purple-dark);font-family:Nunito,sans-serif;font-size:1.1rem}.booking-note p{margin:.5rem 0 0;color:var(--muted)}
