.hero-animate{opacity:0;transform:translateY(40px);animation:heroFadeInUp 1.2s cubic-bezier(.6,.2,.2,1) .2s forwards}@keyframes heroFadeInUp{to{opacity:1;transform:translateY(0)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{margin:0;font-family:var(--font-sans);color:#28212c;background:radial-gradient(1200px 800px at 10% -10%,#f7e8f3 30%,transparent 60%),radial-gradient(1000px 700px at 110% 10%,#e8f5ff 20%,transparent 55%),;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root{--font-sans: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--font-display: "Poppins", Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--fs-1: clamp(2rem, 8vw, 4rem);--fs-2: clamp(1.5rem, 3.2vw, 2.75rem);--fs-3: clamp(1.125rem, 2.5vw, 1.75rem);--fs-body: clamp(1rem, 1.2vw, 1.05rem);--fs-small: .9rem;--fs-trust: .95rem;--fs-btn-lg: 1.1rem;--space-1: .25rem;--space-2: .3rem;--space-3: .4rem;--space-4: .5rem;--space-5: .6rem;--space-6: .75rem;--space-7: .8rem;--space-8: .9rem;--space-9: 1rem;--space-10: 1.1rem;--space-11: 1.25rem;--space-12: 1.5rem;--space-13: 1.75rem;--space-14: 2rem;--space-15: 2.25rem;--space-16: 2.5rem;--space-17: 2.75rem;--space-18: 3rem;--space-19: 3.5rem;--space-20: 4rem;--container: 1300px;--radius: 16px;--radius-img: 18px;--radius-focus: 8px;--dark-purple: #4d124c;--plum: #af8dbf;--light-purple: #eee0fa;--off-white: #fff8f8;--sage: #becc9a;--brand: var(--plum);--brand-darker: var(--dark-purple);--accent: var(--light-purple);--ink: hsl(280 20% 14%);--muted: hsl(280 10% 40%);--surface: #ffffff;--surface-2: #faf7fb;--ring: 0 0 0 4px color-mix(in oklch, var(--brand), white 70%);--shadow: 0 10px 30px hsl(280 20% 20% / .08), 0 2px 8px hsl(280 20% 20% / .06)}h1,h2,h3{font-family:var(--font-display);color:var(--ink);line-height:1.15}h1{font-size:var(--fs-1);letter-spacing:-.02em}h2{font-size:var(--fs-2)}h3{font-size:var(--fs-3)}p{color:var(--muted);font-size:var(--fs-body)}.small{font-size:var(--fs-small);color:var(--muted)}.container{width:min(calc(100% - clamp(2rem,10vw,8rem)),var(--container));margin-inline:auto}.center{text-align:center}.prose *+*{margin-top:.5em}.site-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in oklab,#fff 75%,transparent);border-bottom:1px solid hsl(280 20% 88% / .6)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-9);padding:var(--space-8) 0}.brand{display:inline-flex;align-items:center;gap:var(--space-5);font-weight:700;text-decoration:none;color:var(--ink)}.brand-logo{font-family:var(--font-display);font-weight:700;letter-spacing:.2px;width:120px}.brand-mark{color:var(--accent)}.nav{display:flex;align-items:center;gap:clamp(var(--space-5),2vw,var(--space-12));flex-wrap:wrap}.nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;opacity:.8;text-decoration:underline transparent 0px;text-underline-offset:3px;transition:text-decoration .3s}.nav a:hover{opacity:1;text-decoration-color:var(--brand);text-decoration-thickness:2px}:where(:is(.btn,.btn-*)){--btn_padding_x: var(--space-12);--btn_padding_y: var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--btn_padding_y) var(--btn_padding_x);border-radius:999px;text-decoration:none;font-weight:600;border:1px solid var(--brand);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .2s ease}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(180deg,color-mix(in oklch,var(--brand),white 5%),var(--brand-darker));color:#fff;box-shadow:0 6px 20px color-mix(in oklch,var(--brand),black 85% / 10%)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:color-mix(in oklch,var(--brand),white 92%);color:var(--brand-darker);border-color:color-mix(in oklch,var(--brand),white 60%)}.btn-lg{padding:var(--space-8) var(--space-10);font-size:var(--fs-btn-lg)}.hero{position:relative;overflow:clip;isolation:isolate;--hero_color_1: color-mix(in oklch, var(--light-purple), white 10%);--hero_color_2: var(--plum);--hero_color_3: color-mix(in oklch, var(--sage), var(--plum) 30%);--hero_color_4: color-mix(in oklch, var(--plum), var(--sage) 40%);--hero_color_5: var(--sage);--radial_size_1: max(550px, 40vw) max(350px, 25vw);--radial_size_2: max(600px, 45vw) max(380px, 28vw);--radial_size_3: max(700px, 50vw) max(420px, 32vw);--radial_size_4: max(800px, 55vw) max(500px, 36vw);--radial_size_5: max(900px, 60vw) max(600px, 40vw);--radial_position_1: 10% 20%;--radial_position_2: 90% 10%;--radial_position_3: 70% 80%;--radial_position_4: 50% 60%;--radial_position_5: 80% 70%}.hero:before{content:"";position:absolute;inset:-20% -10% auto;height:120%;z-index:-2;background-image:radial-gradient(var(--radial_size_1) at var(--radial_position_1),var(--hero_color_1) 0%,transparent 60%),radial-gradient(var(--radial_size_2) at var(--radial_position_2),var(--hero_color_2) 0%,transparent 55%),radial-gradient(var(--radial_size_3) at var(--radial_position_3),var(--hero_color_3) 0%,transparent 60%),radial-gradient(var(--radial_size_4) at var(--radial_position_4),var(--hero_color_4) 0%,transparent 65%),radial-gradient(var(--radial_size_5) at var(--radial_position_5),var(--hero_color_5) 0%,transparent 70%)}.hero-heading{font-size:var(--fs-2);text-wrap:balance}.hero-media{aspect-ratio:1 / 1}.hero-media img{filter:brightness(2)}.noise{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.2;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");background-size:180px 180px}.hero-inner{--hero_inner_block_padding: clamp(2rem, 6vw, 4rem) clamp(3rem, 7vw, 5rem);--hero_inner_block_inverse: clamp(-4rem, -6vw, -2rem) clamp(-5rem, -7vw, -3rem)}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(1.5rem,4vw,3rem);padding-block:var(--hero_inner_block_padding)}.hero-copy{display:grid;gap:var(--space-12)}.hero-copy p{max-width:56ch}.cta{display:flex;gap:var(--space-7);flex-wrap:wrap;margin-top:var(--space-3)}.trust{display:flex;gap:var(--space-6) var(--space-12);white-space:nowrap;list-style:none;margin-top:var(--space-5);color:var(--muted);font-size:var(--fs-trust)}.trust li:before{content:"✦";color:var(--brand);margin:0 var(--space-3) 0 0}.hero-media{margin-block:var(--hero_inner_block_inverse)}.hero-media .media-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.media-grid img{border-radius:var(--radius-img);box-shadow:var(--shadow);object-fit:cover}.media-grid img:nth-child(1){grid-row:span 2;aspect-ratio:3/4}.media-grid img:nth-child(2){aspect-ratio:1/1}.media-grid img:nth-child(3){grid-column:2;aspect-ratio:4/5}.section{padding:clamp(2rem,9vw,6rem) 0}.section-alt{background:var(--surface-2)}.section-emphasis{background:linear-gradient(180deg,#fff,color-mix(in oklch,var(--brand),transparent 80%));position:relative}.section-head{display:grid;gap:var(--space-4);margin-bottom:var(--space-15);text-align:center}.link-out{color:var(--brand-darker);text-decoration:none;font-weight:600}.link-out:hover{text-decoration:underline}.ul{list-style:none;margin-top:var(--space-5);color:var(--muted);font-size:var(--fs-trust)}.ul li:before{content:"✦";color:var(--brand);margin:0 var(--space-3) 0 0}.ul li{display:flex;gap:0 var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-2)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-9);margin-block:var(--space-9) var(--space-12);max-width:1100px;margin-inline:auto}.card{background:var(--surface);border:1px solid hsl(280 20% 90%);border-radius:var(--radius);padding:var(--space-16) var(--space-14);box-shadow:var(--shadow)}.card-split{display:grid;align-content:space-between;height:100%}.card .meta{margin-top:var(--space-12);color:var(--brand-darker);font-weight:600}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-18);align-items:start}.newsletter-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-16);align-items:start}.newsletter-wrap{display:grid;gap:var(--space-6)}.newsletter-wrap p{max-width:46ch}.newsletter-wrap .btn{justify-self:start}.map-embed{margin-top:var(--space-8);aspect-ratio:16 / 9;border-radius:var(--radius-img);overflow:hidden;box-shadow:var(--shadow);border:1px solid hsl(280 20% 90%)}.map-embed iframe{display:block;width:100%;height:100%;border:0}.contact ul{list-style:none;padding:0;display:grid;gap:var(--space-1);margin:var(--space-2) 0 var(--space-9)}.socials{display:flex;gap:var(--space-5)}.socials svg{width:20px;fill:currentColor}.socials a{color:var(--ink);background:var(--surface-2);border:1px solid hsl(280 20% 90%);padding:var(--space-4);border-radius:999px;display:inline-flex}.socials a:hover{background:color-mix(in oklch,var(--brand),white 92%);color:var(--brand-darker)}.specials-image{display:block;margin:var(--space-9) auto;max-width:min(100%,600px);border-radius:var(--radius-img);box-shadow:var(--shadow)}.bio-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-16);align-items:center}.bio-media{aspect-ratio:1 / 1;border-radius:var(--radius-img);overflow:hidden;box-shadow:var(--shadow)}.bio-media img{width:100%;height:100%;object-fit:cover;display:block}.bio-content{display:grid;gap:var(--space-6);justify-items:start}.bio-content p{max-width:45ch}.booking{text-align:center;display:grid;place-items:center;gap:var(--space-5)}.booking .note{font-size:.875rem;color:var(--muted)}.insta-grid{display:grid;align-items:center;grid-auto-flow:column;grid-auto-columns:clamp(160px,28vw,260px);gap:var(--space-6);overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(1rem,6vw,3rem);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;margin-inline:calc(50% - 50vw);padding:var(--space-6) clamp(1rem,6vw,3rem)}.insta-grid::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}.insta-grid a{position:relative;display:block;border-radius:var(--radius);overflow:hidden;background:#f6f2f8;border:1px solid hsl(280 20% 90%);box-shadow:var(--shadow);scroll-snap-align:start;scroll-snap-stop:always}.insta-grid img{width:100%;height:100%;object-fit:cover;display:block}.insta-grid .square{aspect-ratio:1/1}.insta-grid .tall{aspect-ratio:3/4}.insta-grid .wide{aspect-ratio:4/3}.insta-grid a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,transparent 60%,rgba(245,233,249,.35));opacity:0;transition:opacity .2s ease}.insta-grid a:hover:after{opacity:1}.site-footer{padding:2rem 0;border-top:1px solid hsl(280 20% 88% / .6);background:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5)}.brandline{color:var(--ink)}img,svg{display:block;max-width:100%;height:auto}:where(a,button){cursor:pointer}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-focus)}html{scroll-behavior:smooth}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-7{margin-bottom:var(--space-7)}.mb-8{margin-bottom:var(--space-8)}.mb-9{margin-bottom:var(--space-9)}.mb-10{margin-bottom:var(--space-10)}.mb-11{margin-bottom:var(--space-11)}.mb-12{margin-bottom:var(--space-12)}.mb-13{margin-bottom:var(--space-13)}.mb-14{margin-bottom:var(--space-14)}.mb-15{margin-bottom:var(--space-15)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-7{margin-top:var(--space-7)}.mt-8{margin-top:var(--space-8)}.mt-9{margin-top:var(--space-9)}.mt-10{margin-top:var(--space-10)}.mt-11{margin-top:var(--space-11)}.mt-12{margin-top:var(--space-12)}.mt-13{margin-top:var(--space-13)}.mt-14{margin-top:var(--space-14)}.mt-15{margin-top:var(--space-15)}@media (max-width: 900px){.hero-inner{text-align:center;grid-template-columns:1fr}.hero-inner .hero-logo-wrapper{order:-1;max-width:min(100%,320px);margin-inline:auto}.cta{justify-content:center}.two-col{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.trust{flex-wrap:wrap}.hero-media{margin-block:var(--hero_inner_block_padding);max-height:400px;margin-inline:auto}.bio-inner{grid-template-columns:1fr;text-align:center}.bio-media{max-width:320px;margin-inline:auto}.bio-content{justify-items:center}.newsletter-cols{grid-template-columns:1fr}.newsletter-wrap{justify-items:center;text-align:center}.newsletter-wrap .btn{justify-self:center}}@media (max-width: 640px){.cards{grid-template-columns:1fr}.nav{gap:var(--space-5)}}@media (max-width: 560px){.nav>:not(:last-child){display:none}}.gallery-controls{position:relative}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:color-mix(in oklch,var(--brand),white 90%);color:var(--brand-darker);border:none;border-radius:999px;box-shadow:0 2px 8px #36293d14;width:60px;height:60px;font-size:1.7rem;z-index:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s,background .2s,box-shadow .2s,transform .2s}.gallery-controls:hover .gallery-arrow,.gallery-controls:focus-within .gallery-arrow{opacity:1;pointer-events:auto}@media (hover: none){.gallery-arrow{opacity:1;pointer-events:auto}}.gallery-arrow-left{left:max(20px,calc(20% - 320px))}.gallery-arrow-right{right:max(20px,calc(20% - 320px))}.gallery-arrow:focus-visible{outline:none;box-shadow:var(--ring)}.gallery-arrow:hover{background:var(--brand);color:#fff;scale:1.08;box-shadow:0 4px 16px color-mix(in oklch,var(--brand),black 85% / 10%)}.gallery-arrow:active{scale:.98}
