/* The salon's editorial presentation, extending the invoice palette. */
body{padding:18px 18px 0}header{position:absolute;z-index:3;top:42px;left:4.5%;right:4.5%;max-width:none;background:#fcfaf6f5;border:1px solid #ffffff65;border-radius:60px;padding:20px 30px;box-shadow:0 8px 40px #1418140d}header .nav-contact{background:var(--ink);border-color:var(--ink);color:var(--ivory)}header .nav-contact:hover{background:var(--gold)}.hero{position:relative;isolation:isolate;display:block;min-height:850px;height:calc(100svh - 36px);max-height:1100px;max-width:none;padding:170px 5% 40px;border-radius:22px;overflow:hidden;background:#292f2a}.hero-copy{position:relative;z-index:2;max-width:720px;height:100%;padding:50px 0 0;justify-content:center}.hero-photo{position:absolute;inset:0;border-radius:0;min-height:0;z-index:-2}.hero-photo img{object-position:76% 43%;width:65%;left:auto;right:0}.hero-photo:after{inset:0;background:linear-gradient(90deg,#202923 0%,#202923f2 25%,#202923a8 46%,#20292312 70%)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#202923 0%,#202923f5 20%,#202923bd 38%,#20292310 70%),linear-gradient(0deg,#17221ac4,transparent 40%)}.hero .eyebrow{color:#d8c7a6}.hero h1{color:var(--ivory);font-size:clamp(75px,7.6vw,118px);line-height:1.02}.hero h1 em{color:#d8c7a6}.hero .intro{color:#e0e2d9;max-width:460px}.hero .button{background:var(--ivory);border-color:var(--ivory);color:var(--ink);border-radius:30px;padding:15px 26px}.hero .button:hover{background:#d8c7a6;border-color:#d8c7a6}.hero .text-link{color:var(--ivory)}.hero-foot{color:#ddd9ca;border-color:#ffffff38;max-width:500px;margin-top:44px}.hero-photo figcaption{left:auto;right:4%;bottom:36px;flex-direction:column;text-align:right;font-size:12px}.service-ribbon{background:transparent;color:var(--ink);padding:35px 20px;border-bottom:1px solid var(--line);font-size:23px;gap:25px}.about{padding-top:110px;padding-bottom:110px}.about h2{font-size:clamp(40px,4.4vw,67px)}.about-copy{border-left:1px solid var(--line);padding-left:40px}.services{padding-top:90px}.service-grid.interactive{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;border:0}.service-menu{border-top:1px solid var(--line)}.service-menu button{appearance:none;font:26px var(--serif);width:100%;display:flex;align-items:center;gap:25px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:19px 16px;cursor:pointer;text-align:left;transition:background .2s,color .2s}.service-menu button>span{font:12px Arial;color:var(--gold)}.service-menu button i{font:24px Arial;font-style:normal;margin-left:auto;color:var(--gold)}.service-menu button[aria-selected=true]{background:var(--ink);color:var(--ivory)}.service-menu button[aria-selected=true]>span,.service-menu button[aria-selected=true] i{color:#d8c7a6}.service-menu button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.service-stage{position:relative;background:var(--beige);border-radius:160px 160px 6px 6px;padding:70px 50px 45px;display:flex;align-items:center;overflow:hidden}.service-stage article:nth-child(n){border:0;padding:0;display:flex;align-items:flex-start;width:100%;position:relative}.service-stage article[hidden]{display:none}.panel-label{font-size:10px;letter-spacing:2px;color:var(--gold);margin-bottom:65px}.service-stage .number{font:italic 85px var(--serif);color:#947a503d;position:absolute;right:0;top:45px}.service-stage h3{font-size:clamp(40px,4vw,62px);position:relative;margin:0 0 25px;max-width:85%}.service-stage p{font-size:18px;max-width:310px;margin-bottom:38px}.service-stage a{font-size:14px;background:var(--ink);color:white;padding:14px 20px;text-decoration:none;border-radius:28px;line-height:1.5}.service-stage a:hover{background:var(--gold)}.gallery{border-radius:20px}.portfolio-image{border-radius:6px 6px 160px 6px}.portfolio-notes .quote{font-size:clamp(40px,4.2vw,63px)}.contact{border-radius:20px;margin-top:22px;position:relative;overflow:hidden}.contact-details{padding-top:12px}.contact .button{border-radius:30px}.section{scroll-margin-top:30px}footer{padding:45px 5%}
@media(min-width:1700px){header{left:calc((100% - 1500px)/2);right:calc((100% - 1500px)/2)}.hero-copy{margin-left:max(0px,calc((100vw - 1580px)/2))}}
@media(max-width:1000px){header{padding:18px 22px}.hero{min-height:800px}.hero-copy{max-width:590px}.hero h1{font-size:84px}.hero-photo img{width:80%;object-position:65% 45%}.hero-photo figcaption{display:none}.service-stage{padding:65px 30px 40px}.service-grid.interactive{gap:5%}.service-ribbon{gap:18px;font-size:19px}}
@media(max-width:700px){body{padding:8px 8px 0}header{top:24px;left:24px;right:24px;border-radius:24px;padding:17px 20px;gap:18px}header .brand{font-size:21px}header .brand small{font-size:9px}header .monogram{font-size:38px}nav{font-size:12px;gap:8px}nav .nav-contact{padding:7px 12px}.hero{min-height:900px;height:auto;max-height:none;border-radius:18px;padding:200px 6% 35px;display:flex}.hero-copy{padding:0;min-height:650px;justify-content:flex-end}.hero-photo img{width:100%;object-position:58% 28%;height:100%}.hero:after{background:linear-gradient(0deg,#1a261cf5 0%,#1a261cde 30%,#1a261c75 62%,#1a261c15 100%)}.hero h1{font-size:clamp(60px,12vw,86px);letter-spacing:-2px}.hero .intro{font-size:16px;max-width:320px}.hero .eyebrow{max-width:280px;line-height:1.7}.hero-foot{margin-top:34px;font-size:9px}.hero .actions{gap:20px}.hero .button{font-size:13px}.hero .text-link{font-size:13px}.service-ribbon{font-size:17px;gap:12px;padding:28px 16px}.about{padding-top:65px;padding-bottom:65px}.about-copy{border-left:0;padding-left:0}.service-grid.interactive{grid-template-columns:1fr;gap:25px}.service-menu{display:grid;grid-template-columns:1fr 1fr}.service-menu button{font-size:18px;padding:16px 10px;gap:10px}.service-menu button i{display:none}.service-menu button>span{font-size:10px}.service-stage{border-radius:90px 90px 6px 6px;padding:45px 30px;min-height:370px}.panel-label{margin-bottom:55px}.service-stage h3{font-size:43px}.service-stage p{font-size:16px}.service-stage .number{font-size:75px;top:35px}.gallery,.contact{border-radius:15px}.portfolio-image{height:480px;border-bottom-right-radius:100px}.portfolio-notes .quote{font-size:40px}.contact h2{font-size:40px}footer{padding:35px 6%}}
@media(max-width:420px){header nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:14px}header nav a{padding:4px 0}header nav .nav-contact{padding:4px 10px;text-align:center}.hero{padding-top:245px}.hero-copy{min-height:610px}}
.services .section-top{align-items:center;margin-bottom:55px}.services h2{font-size:clamp(64px,7.5vw,112px);letter-spacing:-4px;line-height:1.05}.services .section-top>p{max-width:330px;font-size:17px}.services .eyebrow{margin-bottom:18px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);background:#fffdf9}.service-grid article:nth-child(n){position:relative;padding:34px 28px 32px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;transition:background .25s}.service-grid article:nth-child(4n){border-right:0}.service-grid article:nth-child(n+5){border-bottom:0}.service-grid article:hover{background:#f0ece3}.service-icon{display:flex;width:62px;height:62px;align-items:center;justify-content:center;background:#f0ece3;border-radius:50%;color:#876d46;margin-bottom:26px}.service-icon svg{width:30px;height:30px}.service-grid .number{position:absolute;top:40px;right:25px;font-size:12px;color:#80796b}.service-grid h3{font-size:30px;margin:0 0 16px;letter-spacing:-.6px}.service-grid p{font-size:16px;line-height:1.75;margin-bottom:26px}.service-grid a{font-size:14px;text-decoration:none;border-top:1px solid var(--line);padding-top:18px;line-height:1.5;color:#745c35}.service-grid a:hover{text-decoration:underline;text-underline-offset:5px}.contact-details>div{position:relative;padding-left:43px}.contact-icon{position:absolute;left:0;top:3px;color:#d8c7a6;width:23px;height:23px}.contact-icon svg{width:100%;height:100%}.contact-details>div>span:not(.contact-icon){font-size:12px}.contact-details .small-link{font-size:14px}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid article:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article:nth-child(2n){border-right:0}.service-grid article:nth-child(n+7){border-bottom:0}.services h2{font-size:80px}}
@media(max-width:700px){.services h2{font-size:64px;letter-spacing:-2px}.services .section-top{margin-bottom:32px}.services .section-top>p{font-size:16px}.service-grid{grid-template-columns:1fr}.service-grid article:nth-child(n){display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:20px;padding:26px 20px;border-right:0;border-bottom:1px solid var(--line)}.service-grid article:last-child{border-bottom:0}.service-icon{grid-column:1;grid-row:1/4;width:52px;height:52px;margin:0}.service-icon svg{width:27px;height:27px}.service-grid h3,.service-grid p,.service-grid a{grid-column:2}.service-grid h3{font-size:28px;padding-right:20px;margin-bottom:10px}.service-grid p{font-size:16px;margin-bottom:18px}.service-grid .number{top:29px;right:15px;font-size:10px}.service-grid a{font-size:14px;padding-top:13px}.services{padding-left:4%;padding-right:4%}}
/* Separate service cards with soft corners. */
.service-grid{gap:22px;border:0;background:transparent}.service-grid article:nth-child(n){border:1px solid var(--line);border-radius:22px;background:#fffdf9;box-shadow:0 5px 20px #272c2904;overflow:hidden}.service-grid article:hover{background:#f5f0e7;border-color:#bda985;box-shadow:0 10px 28px #272c2909}
@media(max-width:700px){.service-grid{gap:16px}.service-grid article:nth-child(n){border:1px solid var(--line);border-radius:20px;padding:26px 20px}}
.team{border-top:1px solid var(--line)}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.team-card{background:var(--beige);border:1px solid var(--line);border-radius:24px;padding:30px 25px;display:flex;flex-direction:column;scroll-margin-top:35px;min-width:0}.profile-mark{display:flex;align-items:center;justify-content:center;width:90px;height:90px;border:1px solid #baa784;border-radius:50%;font:40px var(--serif);color:var(--gold);margin:5px 0 28px}.team-role{font-size:12px;letter-spacing:1px;color:#745c35;margin:0 0 13px}.team-card h3{font-size:30px;margin:0 0 16px;line-height:1.2}.team-card>p:not(.team-role){font-size:16px;color:var(--gray);line-height:1.75;margin:0 0 25px}.profile-social{font-size:14px;overflow-wrap:anywhere;padding-top:18px;border-top:1px solid #d8cebe;margin-top:auto}.profile-social span{font-size:22px;margin-right:5px;vertical-align:middle}.profile-enquiry{font-size:14px;color:#745c35;margin-top:15px;text-decoration:underline;text-underline-offset:5px}.service-grid .service-specialist{border:0;padding:0;margin:0 0 17px;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.service-grid .service-specialist+a{margin-top:auto}.visit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.hours-card,.location-card{border:1px solid var(--line);border-radius:24px;padding:40px}.hours-card h3{font-size:34px;margin-top:0}.hours-card dl{margin:25px 0}.hours-card dl>div{display:flex;justify-content:space-between;gap:25px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px}.hours-card dd{margin:0;white-space:nowrap}.early-note{font-size:16px;color:var(--gray);line-height:1.75;margin-bottom:26px}.location-card{background:var(--beige);display:flex;flex-direction:column;justify-content:center}.location-card h3{font-size:54px;margin:0}.location-card>p:not(.eyebrow){color:var(--gray)}.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:25px}.location-actions .button{border-radius:28px}.tiktok-link{display:block;margin-top:10px}.contact-details .tiktok-link{font-size:16px}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-grid{grid-template-columns:1fr}.team-card{padding:30px}.profile-mark{width:80px;height:80px}}
@media(max-width:700px){.team-grid{grid-template-columns:1fr;gap:16px}.team-card{padding:28px}.team-card h3{font-size:32px}.profile-mark{margin-bottom:20px}.team-role{font-size:14px}.hours-card,.location-card{padding:28px 24px}.hours-card dl>div{flex-direction:column;gap:5px}.hours-card dd{font-size:18px}.location-card h3{font-size:45px}.service-grid .service-specialist{grid-column:2;grid-row:3}.service-grid .service-specialist+a{grid-row:4}}
