:root{--cream:#ece4da;--cream-deep:#e2d6c6;--cream-soft:#f5efe7;--ink:#36302a;--ink-soft:#5a5249;--ink-faint:#8a8074;--line:#36302a24;--lavender:#b7a6eb;--lavender-deep:#8164d7;--orange:#e28832;--green:#3b8344;--white:#fffaf4;--shadow:0 24px 60px #36302a1f;--radius:2px;--font-display:"Playfair Display", "Times New Roman", serif;--font-body:"Figtree", "Helvetica Neue", sans-serif;--max:1180px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% -10%, #b7a6eb38, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #e288321f, transparent 50%), linear-gradient(180deg, var(--cream-soft) 0%, var(--cream) 40%, var(--cream-deep) 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;margin:0;line-height:1.55}body:before{content:"";pointer-events:none;opacity:.35;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);margin:0;font-weight:600;line-height:1.15}p{margin:0}.site-shell{flex-direction:column;flex:1;display:flex}.container{width:min(100% - 2.5rem, var(--max));margin-inline:auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#ece4dad1;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:.9rem 0;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand img{object-fit:contain;width:48px;height:48px}.brand-text{flex-direction:column;gap:.05rem;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.02em;font-size:1.25rem}.brand-sub{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem}.nav{align-items:center;gap:1.35rem;display:flex}.nav a{color:var(--ink-soft);font-size:.92rem;transition:color .2s;position:relative}.nav a:hover,.nav a.active{color:var(--ink)}.nav a.active:after,.nav a:hover:after{content:"";background:var(--ink);transform-origin:0;height:1px;animation:.35s forwards lineIn;position:absolute;bottom:-.35rem;left:0;right:0}@keyframes lineIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.nav-cta{background:var(--ink);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border:none;justify-content:center;align-items:center;padding:.7rem 1.15rem;font-size:.85rem;transition:transform .25s,background .25s;display:inline-flex;color:var(--cream)!important}.nav-cta:hover{background:#2a251f;transform:translateY(-1px)}.nav-cta:after{display:none!important}.menu-toggle{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:.55rem .7rem;display:none}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--cream);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:.5rem;padding:.95rem 1.45rem;font-size:.88rem;transition:transform .25s,background .25s,color .25s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--cream)}.btn-lavender{background:var(--lavender-deep);border-color:var(--lavender-deep);color:#fff}.hero{isolation:isolate;align-items:end;min-height:min(92vh,860px);display:grid;position:relative;overflow:hidden}.hero-media{z-index:-2;background:linear-gradient(105deg,#ece4daeb 0%,#ece4da8c 42%,#36302a59 100%),radial-gradient(circle at 75% 40%,#b7a6eb59,#0000 45%),linear-gradient(160deg,#cbb9a4 0%,#8f7a66 45%,#36302a 100%);position:absolute;inset:0}.hero-media:after{content:"";mix-blend-mode:multiply;background:repeating-linear-gradient(-18deg,#0000,#0000 18px,#36302a08 18px 19px);position:absolute;inset:0}.hero-content{width:min(100% - 2.5rem, var(--max));max-width:640px;margin:0 auto;margin-left:max(1.25rem, calc((100% - var(--max)) / 2));padding:7rem 0 4.5rem;animation:.9s both rise}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero-brand{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(3.2rem,8vw,5.6rem)}.hero-lead{color:var(--ink-soft);max-width:34ch;margin-bottom:2rem;font-size:1.15rem}.hero-actions{flex-wrap:wrap;gap:.85rem;display:flex}.hero-meta{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:2.75rem;font-size:.8rem}.section{padding:5rem 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2.5rem;display:flex}.section-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--lavender-deep);margin-bottom:.6rem;font-size:.75rem}.section-title{font-size:clamp(2rem,4vw,3rem)}.section-desc{max-width:38ch;color:var(--ink-soft)}.team-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.stylist-tile{min-height:320px;color:var(--cream);isolation:isolate;padding:1.4rem;transition:transform .35s;display:block;position:relative;overflow:hidden}.stylist-tile:hover{transform:translateY(-4px)}.stylist-tile:before{content:"";z-index:-2;background:linear-gradient(160deg, #36302a1f, #36302a8c), var(--tile-photo,none) center 18% / cover no-repeat, linear-gradient(160deg, var(--tile-accent,#8164d7), #36302a 75%);position:absolute;inset:0}.stylist-tile:after{content:"";z-index:-1;background:linear-gradient(#0000 30%,#36302a26 55%,#36302ad1 100%);transition:opacity .35s;position:absolute;inset:0}.stylist-tile-body{position:absolute;bottom:1.4rem;left:1.4rem;right:1.4rem}.stylist-tile h3{margin-bottom:.25rem;font-size:1.85rem}.stylist-tile p{opacity:.85;font-size:.9rem}.stylist-tile span{letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #ece4da80;margin-top:.9rem;padding-bottom:.15rem;font-size:.75rem;display:inline-block}.category-nav{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.chip{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;padding:.55rem .9rem;font-size:.82rem;transition:background .2s,color .2s,border-color .2s}.chip:hover,.chip.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.service-rows{border-top:1px solid var(--line);flex-direction:column;display:flex}.service-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:baseline;gap:1rem;padding:1.15rem 0;animation:.5s both rise;display:grid}.service-row h3{font-size:1.15rem;font-weight:500}.service-row .note{font-family:var(--font-body);color:var(--ink-faint);margin-top:.3rem;font-size:.85rem;font-weight:400;display:block}.service-meta{color:var(--ink-faint);white-space:nowrap;font-size:.88rem}.service-price{font-family:var(--font-display);text-align:right;min-width:6.5rem;font-size:1.2rem}.product-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.product{border-bottom:1px solid var(--line);flex-direction:column;gap:.85rem;padding-bottom:1.25rem;transition:transform .3s;display:flex}.product:hover{transform:translateY(-3px)}.product-visual{aspect-ratio:1;background:linear-gradient(145deg, #36302a14, transparent 40%), linear-gradient(180deg, var(--cream-soft), var(--cream-deep));position:relative;overflow:hidden}.product-visual:before{content:"";background:radial-gradient(circle at 30% 30%, #ffffff8c, transparent 55%), linear-gradient(160deg, var(--product-tone,#b7a6eb), #36302a);opacity:.85;filter:blur(.5px);border-radius:50%;width:55%;height:55%;animation:6s ease-in-out infinite floatOrb;position:absolute;top:22%;left:22%}@keyframes floatOrb{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.03)}}.product-tag{letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--cream);z-index:1;padding:.35rem .55rem;font-size:.68rem;position:absolute;top:.85rem;left:.85rem}.product h3{font-size:1.25rem}.product-copy{color:var(--ink-soft);flex:1;font-size:.92rem}.product-foot{justify-content:space-between;align-items:center;gap:1rem;display:flex}.product-price{font-family:var(--font-display);font-size:1.25rem}.product-size{color:var(--ink-faint);font-size:.8rem}.cart-toast{background:var(--ink);color:var(--cream);z-index:100;box-shadow:var(--shadow);padding:.9rem 1.2rem;font-size:.9rem;animation:.35s both rise;position:fixed;bottom:1.5rem;right:1.5rem}.stylist-hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem;padding:4.5rem 0 2rem;display:grid}.stylist-portrait{aspect-ratio:4/5;background:linear-gradient(155deg, #36302a0d, #36302a47), var(--portrait-photo,none) center 15% / cover no-repeat, linear-gradient(155deg, var(--accent,#8164d7), #36302a 70%);animation:.8s both rise;position:relative;overflow:hidden}.stylist-portrait:after{content:none}.stylist-hero h1{margin:.4rem 0 .8rem;font-size:clamp(3rem,7vw,5rem)}.stylist-role{letter-spacing:.18em;text-transform:uppercase;color:var(--lavender-deep);font-size:.78rem}.specialty-list{flex-wrap:wrap;gap:.45rem;margin:1.5rem 0 2rem;display:flex}.specialty-list span{border:1px solid var(--line);color:var(--ink-soft);padding:.4rem .7rem;font-size:.8rem}.cta-band{background:var(--ink);color:var(--cream);grid-template-columns:1.4fr auto;align-items:center;gap:2rem;margin:2rem 0 5rem;padding:3rem;display:grid}.cta-band h2{margin-bottom:.6rem;font-size:clamp(1.8rem,3vw,2.5rem)}.cta-band p{color:#ece4dabf;max-width:42ch}.cta-band .btn{background:var(--cream);color:var(--ink);border-color:var(--cream)}.info-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.info-block h3{margin-bottom:.6rem;font-size:1.35rem}.info-block p,.info-block a{color:var(--ink-soft)}.site-footer{border-top:1px solid var(--line);margin-top:auto;padding:2rem 0 2.5rem}.footer-inner{color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;font-size:.88rem;display:flex}.footer-brand-block{flex-direction:column;gap:.75rem;display:flex}.social-links{flex-wrap:wrap;gap:.65rem;display:flex}.social-link{border:1px solid var(--line);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.82rem;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.social-link:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}.social-link svg{flex-shrink:0;display:block}.page-intro{padding:3.5rem 0 1rem}.page-intro h1{margin-bottom:.75rem;font-size:clamp(2.4rem,5vw,3.8rem)}.page-intro p{max-width:48ch;color:var(--ink-soft);font-size:1.05rem}.highlight-strip{background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.highlight-item{text-align:center;background:#f5efe7a6;padding:1.75rem 1.5rem}.highlight-item strong{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.35rem;font-weight:600;display:block}.highlight-item span{color:var(--ink-faint);font-size:.85rem}.terms{border:1px solid var(--line);color:var(--ink-soft);background:#fffaf473;margin-top:3rem;padding:1.5rem;font-size:.9rem}.terms h3{margin-bottom:.75rem;font-size:1.1rem}.terms ul{margin:0;padding-left:1.1rem}.terms li+li{margin-top:.35rem}@media (width<=960px){.team-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.stylist-hero,.cta-band,.info-grid,.highlight-strip{grid-template-columns:1fr}.service-row{grid-template-columns:1fr;gap:.35rem}.service-price{text-align:left}}@media (width<=760px){.menu-toggle{display:inline-flex}.nav{border-bottom:1px solid var(--line);background:#ece4daf7;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--line);padding:.85rem 0}.nav a.active:after,.nav a:hover:after{display:none}.nav-cta{text-align:center;margin-top:.75rem}.team-grid,.product-grid{grid-template-columns:1fr}.hero-content{padding-top:5.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.booking-assurances{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.booking-assurances>div{background:#fffaf4b3;flex-direction:column;gap:.35rem;padding:1.25rem 1.35rem;display:flex}.booking-assurances strong{font-family:var(--font-display);font-size:1.15rem}.booking-assurances span{color:var(--ink-faint);font-size:.88rem}.stylist-picker{grid-template-columns:repeat(5,1fr);gap:.75rem;margin:1rem 0 2rem;display:grid}.picker-card{text-align:left;border:1px solid var(--line);background:linear-gradient(180deg, #ece4da33, #ece4daeb 55%), var(--pick-photo,none) center top/cover no-repeat, #fffaf480;cursor:pointer;border-top:3px solid var(--pick-accent,var(--ink));min-height:150px;padding:4.5rem 1.1rem 1rem;transition:border-color .2s,transform .2s,background .2s}.picker-card:hover{border-color:var(--ink);transform:translateY(-2px)}.picker-card.active{background:linear-gradient(180deg, #36302a59, #36302aeb 50%), var(--pick-photo,none) center top/cover no-repeat, var(--ink);color:var(--cream);border-color:var(--ink)}.picker-name{font-family:var(--font-display);font-size:1.2rem;display:block}.picker-role{opacity:.75;margin-top:.25rem;font-size:.8rem;display:block}.booking-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.25rem;display:flex}.booking-panel-head h2{margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2.1rem)}.booking-hint{max-width:58ch;color:var(--ink-soft);font-size:.95rem}.service-row-link{color:inherit;cursor:pointer;text-decoration:none;transition:background .2s,padding-left .2s}.service-row-link:hover{background:#36302a0a;padding-left:.35rem}.service-row-link .book-hint{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--lavender-deep);margin-top:.25rem;font-size:.72rem;font-style:normal;display:block}.service-row-link:hover .book-hint{color:var(--ink)}.portal-hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.portal-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.portal-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;display:flex}.portal-row h3{font-size:1.35rem}.portal-row p{color:var(--ink-faint);font-size:.9rem}.portal-row-actions{flex-wrap:wrap;gap:.55rem;display:flex}.form-error{color:#8a1f18;background:#b6291f1a;border:1px solid #b6291f40;margin:1rem 0;padding:.85rem 1rem}.muted{color:var(--ink-faint)}.service-select{border-top:1px solid var(--line);flex-direction:column;margin-bottom:.5rem;display:flex}.service-option{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;color:inherit;background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.service-option strong{font-family:var(--font-display);font-size:1.1rem;font-weight:500;display:block}.service-option small{color:var(--ink-faint);margin-top:.2rem;display:block}.service-option em{font-style:normal;font-family:var(--font-display);font-size:1.15rem}.service-option.active{color:var(--lavender-deep)}.date-row,.slot-grid{flex-wrap:wrap;gap:.45rem;margin:.75rem 0 1.25rem;display:flex}.booking-form{border-top:1px solid var(--line);flex-direction:column;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.form-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;display:grid}.booking-form label{color:var(--ink-soft);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.booking-form input,.booking-form select{border:1px solid var(--line);color:var(--ink);background:#fffaf4cc;padding:.7rem .8rem}.deposit-box{background:var(--ink);color:var(--cream);padding:1rem 1.15rem}.deposit-box strong{font-family:var(--font-display);font-size:1.2rem;display:block}.deposit-box span{opacity:.8;font-size:.9rem}@media (width<=960px){.form-grid{grid-template-columns:1fr}.stylist-picker{grid-template-columns:1fr 1fr}}
