/* Salon Velia: open photography, readable type, no campaign ornaments.
   The approved hero retains its original typography, video and composition. */
@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
.v2-content{font-family:Manrope,Arial,sans-serif;font-size:18px;overflow:clip}
.v2-content h1,.v2-content h2,.v2-closing h2{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-.065em;line-height:1.08;text-transform:none}
.v2-content h1 em,.v2-content h2 em,.v2-closing h2 em{font:inherit;color:var(--copper)}
.v2-content h3{font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.035em}
/* One readable type scale overrides the old preview's small labels. */
.v2-content p{font-size:18px!important;line-height:1.75}
.v2-content .eyebrow{font-size:15px!important;letter-spacing:.015em;text-transform:none;font-weight:550;line-height:1.5;gap:0}
.v2-content .section-number{display:none}
.v2-content .media-note,.v2-content .sample-note{font-size:14px!important;line-height:1.65}
.v2-content .sample-note>span{font-size:13px;letter-spacing:.04em}
.v2-content .small{font-size:14px}
.v2-content .button,.v2-closing .button{border-radius:5px;min-height:60px;font:600 17px/1.4 Manrope,sans-serif;padding:18px 28px;gap:0;justify-content:center}
.v2-content .button-icon{display:none}
.v2-content .text-link,.person-book{font:600 17px/1.5 Manrope,sans-serif;border-bottom:1px solid currentColor;padding-block:12px;display:inline-block;width:fit-content;min-height:48px;transition:color .25s}
.v2-content .text-link:hover,.person-book:hover{color:var(--copper)}
.v2-content :focus-visible,.v2-closing :focus-visible,.site-footer :focus-visible{outline-color:currentColor}
.v2-content .section{padding-block:110px}
.v2-content .section-heading{display:block;margin-bottom:60px}
.v2-content .section-heading h2{font-size:clamp(52px,5.8vw,92px)}
.v2-content .section-heading .eyebrow{margin-bottom:24px}
.v2-content .section-heading .text-link{margin-top:25px}
.v2-content .mascot-spark,.v2-closing .mascot-spark,.site-footer .mascot-spark{display:none}
/* Welcome: the full photographic silhouette belongs to the page surface. */
.welcome-scene{background:#f5ae9c;position:relative;overflow:hidden;padding:60px var(--edge) 0}
.welcome-composition{position:relative;min-height:930px;max-width:1700px;margin:auto}
.welcome-editorial{position:relative;padding-top:95px;z-index:2;width:48%;pointer-events:none}
.welcome-editorial a{pointer-events:auto}
.v2-content .welcome-title{font-size:clamp(66px,7vw,118px);line-height:1.05;letter-spacing:-.065em;margin-top:35px}
.welcome-title>span{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.welcome-title>span:last-child{color:#833e44}
.welcome-title b{display:block;font:inherit;transition:transform 1.1s var(--ease)}
.js-motion .welcome-title{opacity:1;transform:none}
.js-motion .welcome-title:not(.visible) b{transform:translateY(110%) rotate(2deg)}
.welcome-title>span:last-child b{transition-delay:.15s}
.welcome-bottom{max-width:400px;margin-top:35px}
.v2-content .welcome-bottom>p:first-child{font-size:22px!important;line-height:1.5;letter-spacing:-.025em}
.welcome-bottom>p+p{margin-top:22px}
.welcome-bottom>.text-link{margin-top:22px}
.welcome-portrait{position:absolute;right:-7%;bottom:-1px;width:65%;height:100%;pointer-events:none;transform:translate3d(var(--depth-x,0px),var(--depth-y,0px),0);will-change:transform}
.welcome-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 80%,transparent 100%)}
.welcome-veli{position:absolute;right:2%;bottom:25px;width:140px;z-index:3;transition:transform .4s var(--ease)}
.welcome-veli:hover{transform:translateY(-6px)}
.welcome-veli>.mascot{width:100%;filter:none}
.welcome-veli>span{font:500 16px/1.5 Manrope,sans-serif;display:block;white-space:nowrap;margin-left:-9px}
.greeting-veli>.veli-arm{animation:none}
.welcome-veli.is-greeting .veli-arm{animation:greeting-wave 1.8s ease-in-out 1!important}
.welcome-veli.is-greeting{animation:greeting-pop .8s var(--ease) both}
/* Service selection uses a separate photographic silhouette. */
.craft-scene{background:var(--cream)}
.craft-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.craft-visual{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.craft-images{height:720px;position:relative;overflow:visible;background:transparent}
.craft-images>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transform:translateX(-15px);transition:opacity .5s,transform 1s var(--ease);mask-image:linear-gradient(#000 82%,transparent 99%);pointer-events:none}
.craft-images>img.active{opacity:1;transform:none}
.craft-photo-label{display:block;text-align:center;font-size:16px;line-height:1.5;margin-top:12px}
.craft-veli{position:absolute;width:110px;right:-10px;bottom:15px}
.craft-veli>.mascot{width:100%}
.v2-content .mascot-comb>img:first-child{animation:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 55%,37% 55%,37% 52%,29% 51%,23% 48%,20% 44%,23% 39%,19% 27.5%,0 27.5%)}
.v2-content .mascot-comb>.veli-comb-arm{position:absolute;inset:0;width:100%;height:100%;clip-path:polygon(0 27.5%,19% 27.5%,23% 39%,20% 44%,23% 48%,29% 51%,37% 52%,37% 55%,0 55%);transform-origin:36% 53.5%;animation:comb-stroke 5s ease-in-out infinite}
.v2-content .craft-heading{font-size:clamp(50px,5.8vw,91px);margin:23px 0 38px}
.craft-row{display:block;width:100%;text-align:left;padding:23px 0;border-top:1px solid var(--line);position:relative;transition:padding-left .35s var(--ease)}
.craft-row:last-child{border-bottom:1px solid var(--line)}
.craft-row strong{font:500 39px/1.25 Manrope,sans-serif;letter-spacing:-.045em;display:block}
.craft-description{display:block;font:400 17px/1.6 Manrope,sans-serif;margin-top:7px;color:var(--muted)}
.craft-row[aria-selected=true]{padding-left:20px}
.craft-row[aria-selected=true]:before{content:'';position:absolute;left:0;top:28px;width:4px;height:36px;border-radius:3px;background:var(--coral)}
.craft-row[aria-selected=true] strong{color:var(--copper)}
#craft-panel{margin-top:22px}
/* Lookbook: generous portraits, no tilted frames or geometric cutouts. */
.look-scene{background:#eadfd5;padding-bottom:50px}
.v2-content .look-scene-heading{padding-bottom:45px}
.look-scene h2{font-size:clamp(62px,7vw,112px);margin-top:24px;max-width:900px}
.look-scene h2>span{color:var(--copper)}
.look-scene-heading>.text-link{margin-top:30px}
.look-rail-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 var(--edge) 15px}
.look-rail-controls>span{font-size:16px}
.look-rail-controls>div{display:flex;gap:14px}
.look-rail-controls button{font-size:16px;min-height:48px;padding:10px 18px;background:transparent;border-bottom:1px solid currentColor}
.look-rail-controls button:hover{color:var(--copper)}
.look-rail{display:flex;gap:35px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:15px var(--edge) 35px;cursor:grab;touch-action:pan-x pan-y;align-items:start}
.look-rail::-webkit-scrollbar{display:none}
.look-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.look-rail .look-card{flex:0 0 clamp(290px,32vw,495px);scroll-snap-align:center;opacity:1;transform:none;transition:none}
.look-rail .look-image{aspect-ratio:3/4;border-radius:0;transform:none}
.look-rail img{user-select:none;-webkit-user-drag:none}
.v2-content .look-image>img{object-position:50% 0%}
.v2-content .look-meta{align-items:start;margin-top:24px}
.v2-content .look-meta p{font-size:14px!important;line-height:1.6;margin-bottom:8px;letter-spacing:0}
.v2-content .look-meta h3{font:550 28px/1.2 Manrope,sans-serif;letter-spacing:-.035em}
.v2-content .look-meta h3 button{font:inherit}
.v2-content .look-open{width:auto;height:auto;padding:10px 17px;border-radius:3px;background:var(--cream);color:var(--ink);font-size:15px;line-height:1.5;transform:none!important;bottom:18px;right:18px}
.v2-content .save-look{width:44px;height:44px}
.v2-content .save-look svg{width:22px;height:22px}
.look-scene-foot{padding:20px var(--edge) 0}
.v2-content .look-scene-foot p{font-size:14px!important;color:var(--muted)}
/* Salon: a spatial scene and a clear playback control. */
.salon-scene{position:relative;min-height:830px;height:95svh;max-height:1100px;overflow:hidden;background:var(--ink);color:var(--cream);isolation:isolate;padding:80px var(--edge)}
.salon-scene-image{position:absolute;inset:0;z-index:-2;overflow:hidden}
.salon-scene-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transform:scale(1.1);transition:transform 3s var(--ease)}
.salon-scene.in-view .salon-scene-image>img{transform:scale(1)}
.salon-scene-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#24141f99,transparent 85%),linear-gradient(0deg,#21131ae0,transparent 60%)}
.salon-scene-copy{position:relative;padding-top:60px}
.v2-content .salon-scene h2{font-size:clamp(74px,8.5vw,135px);line-height:1.03;color:var(--cream)}
.salon-scene h2>span{color:var(--cream)}
.tour-launch{display:flex;align-items:center;gap:14px;border:1px solid #f8f3eba0;background:#35202f40;backdrop-filter:blur(6px);color:var(--cream);font:600 17px/1.5 Manrope,sans-serif;padding:18px 25px;border-radius:4px;margin-top:45px;transition:background .3s}
.tour-launch:hover{background:var(--cream);color:var(--ink)}
.play-symbol{font-size:14px}
.salon-host{position:absolute;right:7%;bottom:135px;width:155px}
.salon-scene-bottom{position:absolute;left:var(--edge);right:var(--edge);bottom:45px;border-top:1px solid #f8f3eb55;padding-top:26px}
.salon-scene-bottom>span{display:block;margin-top:12px;font-size:14px;color:#f8f3ebbf;line-height:1.6}
/* People and practical information. */
.team-scene{background:var(--cream)}
.v2-content .team-grid{gap:40px;align-items:start}
.v2-content .character-card{margin:0;transform:none}
.v2-content .character-card .team-image{aspect-ratio:3/4;border-radius:0;overflow:hidden;transform:none}
.character-card .team-image>img{object-position:50% 25%}
.character-card .team-image>button{width:auto;height:auto;border-radius:3px;font-size:15px;padding:12px 18px;bottom:18px;right:18px;background:var(--cream);color:var(--ink)}
.v2-content .character-card>h3{font-size:36px;margin-top:25px}
.v2-content .character-card>.eyebrow{margin-top:12px;color:var(--muted)}
.character-card>blockquote{font-size:18px;line-height:1.65;margin:22px 0 15px;letter-spacing:-.015em}
.person-book{font-size:16px}
.v2-content .faq-section{background:var(--paper);grid-template-columns:.8fr 1.2fr;gap:7vw}
.v2-content .faq-section h2{font-size:clamp(50px,5.2vw,84px)}
.v2-content .faq-list summary{font-size:18px;line-height:1.6}
.v2-content .faq-list details{padding:27px 0}
.v2-content .faq-list details>p{font-size:17px!important}
.v2-closing{background:var(--ink);color:var(--cream);padding:100px var(--edge);position:relative;display:block;min-height:500px}
.v2-closing>div:first-child{position:relative;z-index:1}
.v2-closing h2{font-size:clamp(60px,7vw,110px);margin:0;max-width:80%}
.v2-closing h2>span{color:var(--coral)}
.closing-bottom{margin-top:40px}
.v2-closing .closing-bottom .button{margin:0}
.v2-closing .closing-character{position:absolute;right:6%;bottom:60px;top:auto;display:block;transform:none;pointer-events:none}
.v2-closing .closing-character>.mascot{width:205px}
.site-footer{background:var(--cream);color:var(--ink);padding-top:65px;font-family:Manrope,sans-serif}
.site-footer .footer-top{gap:35px;grid-template-columns:1fr 1fr 1fr 1fr}
.site-footer .footer-top>p{font-size:23px;line-height:1.4;letter-spacing:-.035em}
.site-footer .footer-top>div{font-size:16px;gap:16px}
.site-footer .eyebrow{font-size:14px;letter-spacing:.025em}
.site-footer .footer-bottom,.site-footer .footer-bottom button{font-size:13px;line-height:1.5}
.preview-badge{font-size:11px}
.preview-badge>span{font-size:10px}
.mobile-book{font-size:14px}


/* Titles lead into their description on the left, with no right-hand annotations. */
.v2-content .page-intro{display:block;padding-top:75px;padding-bottom:60px;border-bottom:1px solid var(--line);margin-bottom:45px}
.v2-content .page-intro h1{font-size:clamp(58px,6.6vw,106px);margin-top:27px}
.v2-content .page-intro h1 em{color:var(--copper)}
.v2-content .page-intro>p{max-width:620px;margin-top:28px;padding:0}
.v2-content .price-content,.v2-content .gallery-section,.v2-content .booking-section{padding-top:0}
.v2-content .filters{gap:10px}
.v2-content .result-count{font-size:15px}
.v2-content .filters button{font-size:16px;padding:13px 22px;border-radius:3px}
.v2-content .filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.v2-content .price-layout{grid-template-columns:minmax(0,1fr) 310px;gap:65px}
.v2-content .price-row{padding:32px 0;gap:25px}
.v2-content .price-index{font-size:14px}
.v2-content .price-row .eyebrow{font-size:14px!important}
.v2-content .price-row h2{font:600 30px/1.25 Manrope,sans-serif;letter-spacing:-.04em}
.v2-content .price-row p:not(.eyebrow){font-size:17px!important;max-width:460px}
.v2-content .price-action{min-width:100px}
.v2-content .price-action>span{font-size:27px;font-weight:550}
.v2-content .price-action>a{width:auto;height:auto;border:0;border-bottom:1px solid currentColor;border-radius:0;font-size:16px;padding:8px 0}
.v2-content .price-action>a:hover{background:transparent;color:var(--copper)}
.v2-content .consult-card{background:#f2c2b2;padding:32px 25px;transform:none;top:30px}
.v2-content .consult-card>.mascot{width:125px}
.v2-content .consult-card h2{font-size:39px}
.v2-content .consult-card p:not(.eyebrow){font-size:16px!important;color:var(--ink)}
.v2-content .consult-card .button{font-size:15px;padding:16px;margin-top:28px}
.v2-content .price-note{max-width:720px}
.v2-content .price-note h3{font-size:26px}
.v2-content .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 30px;align-items:start}
.v2-content .gallery-grid .look-card{margin-top:0}
.v2-content .gallery-grid .look-image{border-radius:0;transform:none;aspect-ratio:3/4}
.v2-content .look-idea{display:block;background:#eedcd3}
.v2-content .look-idea h2{font-size:clamp(42px,4.8vw,76px)}
.v2-content .look-idea>div{max-width:950px}
.v2-content .look-idea p{max-width:680px}
.v2-content .about-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;padding-top:0}
.v2-content .about-photo{border-radius:0;transform:none;aspect-ratio:4/5}
.v2-content .about-story h2{font-size:clamp(38px,3.8vw,62px)}
.v2-content .about-story p:not(.eyebrow){max-width:520px}
.v2-content .handwritten{font:500 20px/1.5 Manrope,sans-serif;transform:none;color:var(--copper)}
.v2-content .values{padding-top:10px;gap:45px}
.v2-content .values>article>span{font-size:18px}
.v2-content .values h3{font-size:30px}
.v2-content .team-section{background:var(--paper)}
.v2-content .meet-veli{background:#f5ae9c;gap:10vw;position:relative}
.v2-content .meet-veli h2{font-size:clamp(60px,7vw,112px)}
.v2-content .meet-veli>.mascot{width:290px;flex-shrink:0}
.v2-content .meet-veli p:not(.eyebrow){color:var(--ink);max-width:540px}
.v2-content .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;padding-top:0}
.v2-content .contact-image{min-width:0;min-height:0;aspect-ratio:3/4;border-radius:0;overflow:hidden}
.v2-content .contact-info{min-width:0}
.v2-content .contact-info h2{font-size:clamp(38px,4vw,64px)}
.v2-content .contact-row>span{font-size:14px;letter-spacing:.02em}
.v2-content .concept-label{font-size:13px;line-height:1.5;top:auto;bottom:18px;left:18px;max-width:calc(100% - 36px)}
.v2-content .salon-play{font-size:17px}
.v2-content .arrival{background:#eedcd3;gap:65px}
.v2-content .arrival h2{font-size:clamp(38px,4.2vw,68px)}
/* Booking uses the same legible body type, stable controls and clean labels. */
.v2-content .booking-layout{grid-template-columns:minmax(0,1fr) 310px;gap:55px}
.v2-content .booking-steps li{font-size:15px}
.v2-content .booking-steps li>span{font-size:13px;width:28px;height:28px;flex-shrink:0}
.v2-content .booking-summary{background:var(--paper);color:var(--ink);padding:30px}
.v2-content .booking-summary h2{font-size:33px}
.v2-content .booking-summary .small{font-size:14px!important}
.v2-content .summary-row span{font-size:14px}
.v2-content .summary-row strong{font-size:17px;line-height:1.55}
.v2-content .summary-total{font-size:18px}
.v2-content .selected-look small{font-size:13px}
.v2-content .selected-look p{font-size:16px!important}
.v2-content .booking-stage-head h2{font-size:36px;margin-bottom:15px}
.v2-content .booking-stage-head p{font-size:17px!important}
.v2-content .booking-option{padding:23px;border-radius:3px}
.v2-content .booking-option h3{font-size:24px;line-height:1.3}
.v2-content .booking-option p{font-size:16px!important}
.v2-content .booking-option .option-category{font-size:13px;letter-spacing:.035em}
.v2-content .booking-option .option-price{font-size:19px}
.v2-content .booking-person{padding:0}
.v2-content .booking-person>div{padding:20px}
.v2-content .booking-person h3{font-size:28px}
.v2-content .no-preference{padding:23px}
.v2-content .back-button{font-size:16px}
.v2-content .calendar-header h3{font-size:26px}
.v2-content .calendar-header button{font-size:14px;width:auto;padding:10px 12px;height:auto;border-radius:3px}
.v2-content .calendar-day{font-size:17px}
.v2-content .weekday{font-size:14px}
.v2-content .time-section h3{font-size:22px}
.v2-content .time-slots button{font-size:16px;padding:13px 19px}
.v2-content .booking-form label{font-size:16px}
.v2-content .booking-form input,.v2-content .booking-form textarea{font-size:17px;padding:16px}
.v2-content .demo-fill{font-size:16px;min-height:46px}
.v2-content .review-item dt{font-size:14px}
.v2-content .review-item dd{font-size:18px}
.v2-content .review-item button{font-size:14px;max-width:120px;text-align:right;line-height:1.5}
.v2-content .booking-success h2{font-size:clamp(38px,4.5vw,68px)}
.v2-content .booking-success .success-detail{font-size:17px}
.content-dialog{font-family:Manrope,sans-serif}
.content-dialog h2{font:500 48px/1.1 Manrope,sans-serif;letter-spacing:-.05em}
.content-dialog h2 em{font:inherit;color:var(--copper)}
.content-dialog .eyebrow{font-size:14px}
.content-dialog .detail-copy>p:not(.eyebrow){font-size:17px}
.content-dialog .detail-facts>div{font-size:16px}
.content-dialog .detail-actions .button{font-size:16px;border-radius:3px;min-height:56px;padding:16px 22px}
.content-dialog .detail-actions>button,.content-dialog .look-film{font-size:16px}
.content-dialog .media-note{font-size:13px!important}
.content-dialog .legal-copy p{font-size:17px}
.tour-copy h2{font:500 clamp(43px,5.2vw,80px)/1.1 Manrope,sans-serif;letter-spacing:-.05em}
.tour-copy h2 em{font:inherit;color:var(--coral)}
.tour-copy .eyebrow{font-size:14px}
.tour-copy .button{font-size:16px;border-radius:3px;padding:16px 22px}
.tour-concept{font-size:13px}
.tour-view{width:100%}
.tour-controls>button{font-size:15px;width:auto;min-width:55px;min-height:44px;flex-shrink:0}
.tour-controls>button:last-child{font-size:15px;white-space:nowrap}
.tour-controls>span{font-size:13px}
.tour-chapters>button{font-size:14px;min-height:35px}
@keyframes greeting-wave{0%,100%{transform:rotate(0)}20%,55%{transform:rotate(14deg)}37%,73%{transform:rotate(-9deg)}}
@keyframes greeting-pop{0%{translate:0 20px}60%{translate:0 -8px}100%{translate:0 0}}
@keyframes comb-stroke{0%,30%,100%{transform:rotate(0)}40%,68%{transform:rotate(15deg)}54%,80%{transform:rotate(-6deg)}}
.motion-reduced [data-depth]{--depth-x:0px!important;--depth-y:0px!important}
.motion-offscreen,.motion-offscreen *{animation-play-state:paused!important}
@media(max-width:1100px){
 .welcome-composition{min-height:850px}.welcome-editorial{width:49%;padding-top:75px}.v2-content .welcome-title{font-size:7.2vw}.welcome-portrait{width:67%;right:-11%}.welcome-bottom{max-width:350px}.welcome-veli{width:120px;right:1%}
 .craft-images{height:650px}.craft-layout{gap:5vw}.v2-content .craft-heading{font-size:6vw}.craft-row strong{font-size:33px}.craft-description{font-size:16px}.craft-veli{right:-15px;width:90px}
 .v2-content .team-grid{gap:27px}.v2-content .character-card>h3{font-size:32px}.character-card>blockquote{font-size:16px}.v2-content .character-card>.eyebrow{font-size:14px!important}
 .v2-content .price-layout{gap:35px;grid-template-columns:minmax(0,1fr) 280px}.v2-content .price-row{gap:15px}.v2-content .price-index{display:none}.v2-content .price-row h2{font-size:26px}
 .v2-content .booking-layout{grid-template-columns:minmax(0,1fr) 275px;gap:30px}.v2-content .booking-summary{padding:25px}.v2-content .booking-summary h2{font-size:29px}.v2-content .booking-steps li{font-size:13px;gap:8px}
 .v2-content .about-story,.v2-content .contact-layout{gap:45px}.v2-content .arrival{gap:40px}.v2-content .meet-veli>.mascot{width:240px}.v2-content .gallery-grid{gap:45px 25px}.v2-content .look-meta h3{font-size:25px}
}

@media(max-width:850px){
 .v2-content .section{padding-block:80px}.v2-content p{font-size:17px!important}.welcome-scene{padding-top:35px}.welcome-composition{min-height:820px}.welcome-editorial{padding-top:45px;width:51%}.v2-content .welcome-title{font-size:7.4vw}.welcome-bottom{max-width:300px}.v2-content .welcome-bottom>p:first-child{font-size:20px!important}.welcome-portrait{width:72%;height:92%;right:-16%}.welcome-veli{width:100px;bottom:22px}.welcome-veli>span{font-size:14px}
 .craft-layout{gap:5vw}.craft-images{height:600px}.v2-content .craft-heading{font-size:6.2vw}.craft-row{padding:20px 0}.craft-row strong{font-size:31px}.craft-description{font-size:15px}.craft-photo-label{font-size:14px}.craft-veli{bottom:0;width:80px}.v2-content .text-link{font-size:16px}
 .v2-content .section-heading h2{font-size:7vw}.v2-content .faq-section{gap:5vw}.v2-content .faq-section h2{font-size:6vw}.v2-content .faq-list summary{font-size:17px}
 .v2-content .team-grid{grid-template-columns:1fr;gap:60px}.character-card{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.v2-content .character-card .team-image{grid-column:1;grid-row:1/5;aspect-ratio:3/4}.v2-content .character-card>h3{grid-column:2;margin-top:20px}.v2-content .character-card>.eyebrow{grid-column:2;margin-top:0}.character-card>blockquote{grid-column:2;margin:12px 0}.character-card .person-book{grid-column:2;align-self:start}
 .v2-content .page-intro h1{font-size:7.5vw}.v2-content .page-intro>p{max-width:570px}.v2-content .price-layout{grid-template-columns:minmax(0,1fr);gap:40px}.v2-content .consult-card{position:relative;max-width:550px;top:0;min-height:270px;padding:35px}.v2-content .consult-card>.mascot{position:absolute;right:25px;top:10px;width:105px}.v2-content .consult-card p,.v2-content .consult-card h2{max-width:300px}.v2-content .consult-card .button{width:fit-content}
 .v2-content .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 26px}.v2-content .booking-layout{grid-template-columns:1fr}.v2-content .booking-summary{display:none}.v2-content .about-story h2{font-size:4.8vw}.v2-content .values{gap:30px}.v2-content .values h3{font-size:25px}.v2-content .values p{font-size:16px!important}.v2-content .meet-veli{gap:35px}.v2-content .meet-veli>.mascot{width:185px}.v2-content .contact-info h2{font-size:5vw}.v2-content .contact-row p{font-size:16px!important}
 .v2-closing h2{font-size:8vw;max-width:80%}.v2-closing .closing-character>.mascot{width:155px}.site-footer .footer-top{grid-template-columns:1fr 1fr;gap:40px}.site-footer .footer-bottom{gap:20px;flex-wrap:wrap}.site-footer .footer-bottom>div{gap:18px}
}
@media(max-width:600px){
 .v2-content p{font-size:16px!important;line-height:1.75}.v2-content .eyebrow{font-size:14px!important}.v2-content .media-note,.v2-content .sample-note{font-size:13px!important}.v2-content .small{font-size:13px}.v2-content .section{padding-block:65px}.v2-content .button,.v2-closing .button{font-size:16px;min-height:55px;padding:16px 23px}.v2-content .text-link{font-size:16px;min-height:46px}.v2-content .section-heading{margin-bottom:35px}.v2-content .section-heading h2{font-size:12vw}
 .welcome-scene{padding:50px var(--edge) 0}.welcome-composition{min-height:0;padding-bottom:0;display:flex;flex-direction:column}.welcome-editorial{width:100%;padding:0;z-index:2}.v2-content .welcome-title{font-size:15vw;margin-top:25px;line-height:1.07}.welcome-bottom{max-width:100%;margin-top:28px}.v2-content .welcome-bottom>p:first-child{font-size:20px!important}.welcome-bottom>p+p{margin-top:20px}.welcome-bottom .text-link{margin-top:18px}.welcome-portrait{position:relative;width:calc(100% + 40px);height:auto;aspect-ratio:2/3;right:auto;left:-20px;bottom:auto;margin-top:20px;transform:none;max-height:650px}.welcome-portrait img{object-fit:contain;mask-image:linear-gradient(#000 80%,transparent 99%)}.welcome-veli{width:110px;right:0;bottom:15px}.welcome-veli>span{font-size:14px;margin-left:-12px}
 .craft-layout{grid-template-columns:1fr;gap:35px}.craft-copy{grid-row:1}.craft-visual{grid-row:2;max-width:400px;width:100%;margin:auto}.v2-content .craft-heading{font-size:13vw;margin:20px 0 30px}.craft-row{padding:23px 0}.craft-row strong{font-size:33px}.craft-description{font-size:16px;margin-top:9px}.craft-row[aria-selected=true]{padding-left:18px}.craft-row[aria-selected=true]:before{height:32px}.craft-images{height:500px;max-height:130vw}.craft-photo-label{font-size:15px}.craft-veli{width:85px;right:0;bottom:25px}
 .v2-content .look-scene-heading{padding-bottom:30px}.look-scene h2{font-size:14vw;margin-top:23px}.look-scene-heading>.text-link{margin-top:23px}.look-rail-controls{align-items:start;gap:15px;padding-bottom:15px}.look-rail-controls>span{font-size:14px;max-width:140px;line-height:1.5;padding-top:10px}.look-rail-controls>div{gap:12px}.look-rail-controls button{font-size:14px;padding:10px 4px}.look-rail{gap:22px;padding-top:10px;padding-bottom:25px;scroll-snap-type:x mandatory}.look-rail .look-card{flex-basis:82vw}.v2-content .look-meta h3{font-size:24px}.v2-content .look-meta p{font-size:13px!important}.v2-content .look-open{font-size:14px;padding:10px 14px;bottom:14px;right:14px}.look-scene-foot{padding-top:15px}.v2-content .look-scene-foot p{font-size:13px!important}.look-scene{padding-bottom:32px}
 .salon-scene{height:95svh;min-height:760px;padding:70px var(--edge)}.salon-scene-copy{padding-top:15px}.v2-content .salon-scene h2{font-size:15vw}.salon-scene-image>img{object-position:58% center}.tour-launch{font-size:16px;padding:16px 18px;gap:10px;margin-top:35px}.salon-host{width:115px;right:22px;bottom:185px}.salon-scene-bottom{bottom:38px;padding-top:22px}.salon-scene-bottom>span{font-size:13px;max-width:280px;margin-top:14px}
 .v2-content .team-grid{gap:55px}.character-card{display:block}.v2-content .character-card .team-image{aspect-ratio:3/3.5}.v2-content .character-card>h3{font-size:33px;margin-top:22px}.v2-content .character-card>.eyebrow{margin-top:10px;font-size:14px!important}.character-card>blockquote{font-size:17px;margin:20px 0 12px}.character-card .person-book{font-size:16px}.character-card .team-image>button{font-size:14px;padding:11px 16px;right:14px;bottom:14px}
 .v2-content .faq-section{grid-template-columns:1fr;gap:30px}.v2-content .faq-section h2{font-size:12.5vw}.v2-content .faq-list summary{font-size:17px}.v2-content .faq-list details>p{font-size:16px!important}.v2-content .faq-list details{padding:24px 0}
 .v2-closing{padding:65px var(--edge) 60px;min-height:390px}.v2-closing h2{font-size:12vw;max-width:100%}.closing-bottom{margin-top:35px}.v2-closing .closing-character{right:0;bottom:30px}.v2-closing .closing-character>.mascot{width:95px}.v2-closing .button{max-width:230px;font-size:15px}.site-footer{padding-top:50px;padding-bottom:110px}.site-footer .footer-top{grid-template-columns:1fr 1fr;gap:35px 24px}.site-footer .footer-top>p{font-size:21px}.site-footer .footer-top>div{font-size:15px;gap:15px}.site-footer .eyebrow{font-size:13px}.site-footer .footer-bottom{align-items:start}.site-footer .footer-bottom>div{gap:17px}.site-footer .footer-bottom,.site-footer .footer-bottom button{font-size:13px}.preview-badge{font-size:10px;padding:8px 10px;bottom:16px;left:10px}.preview-badge>span{font-size:9px}.mobile-book{font-size:14px;right:10px;bottom:14px;padding:15px 20px}
 .v2-content .page-intro{padding-top:45px;padding-bottom:38px;margin-bottom:35px}.v2-content .page-intro h1{font-size:11.8vw;margin-top:23px}.v2-content .page-intro .eyebrow{font-size:13px!important;letter-spacing:0;max-width:100%}.v2-content .page-intro>p{margin-top:26px;max-width:100%}.v2-content .price-content,.v2-content .gallery-section,.v2-content .booking-section{padding-top:0}
 .v2-content .filters{gap:8px}.v2-content .filters button{font-size:14px;padding:11px 16px}.v2-content .price-row{padding:28px 0;gap:18px}.v2-content .price-row h2{font-size:25px}.v2-content .price-row p:not(.eyebrow){font-size:16px!important}.v2-content .price-row .eyebrow{font-size:13px!important}.v2-content .price-action{min-width:80px}.v2-content .price-action>span{font-size:23px}.v2-content .price-action>a{font-size:15px}.v2-content .consult-card{padding:30px 24px}.v2-content .consult-card>.mascot{width:85px;right:10px;top:20px}.v2-content .consult-card h2{font-size:35px;max-width:220px}.v2-content .consult-card p{max-width:210px}.v2-content .consult-card .button{max-width:100%;font-size:15px;padding:15px 20px}.v2-content .price-note h3{font-size:24px}
 .v2-content .gallery-grid{grid-template-columns:minmax(0,1fr);gap:45px}.v2-content .gallery-grid .look-image{aspect-ratio:3/3.7}.v2-content .gallery-grid .look-meta h3{font-size:26px}.v2-content .gallery-grid .look-meta p{font-size:14px!important}.v2-content .gallery-grid .save-look{width:44px;height:44px;margin:0}.v2-content .gallery-grid .save-look svg{width:22px;height:22px}.v2-content .gallery-tools{margin-bottom:30px}.v2-content .result-count{font-size:14px}.v2-content .look-idea h2{font-size:11vw}
 .v2-content .about-story,.v2-content .contact-layout{grid-template-columns:minmax(0,1fr);gap:38px;padding-top:0}.v2-content .about-photo{aspect-ratio:4/4.5}.v2-content .about-story h2{font-size:10.3vw}.v2-content .handwritten{font-size:18px;margin-left:0}.v2-content .values{grid-template-columns:1fr;gap:30px;padding-top:0}.v2-content .values h3{font-size:28px;margin-top:20px}.v2-content .meet-veli{display:block;padding-bottom:60px}.v2-content .meet-veli h2{font-size:15vw}.v2-content .meet-veli>.mascot{width:125px;right:8px;top:100px}.v2-content .meet-veli p:not(.eyebrow){max-width:100%;margin-top:35px}.v2-content .contact-image{min-width:0;min-height:0;aspect-ratio:4/5}.v2-content .contact-info h2{font-size:11vw}.v2-content .contact-row>span{font-size:13px}.v2-content .concept-label{font-size:12px;bottom:14px;left:14px;max-width:calc(100% - 28px)}.v2-content .arrival{grid-template-columns:1fr;gap:30px}.v2-content .arrival h2{font-size:11vw}.v2-content .salon-play{font-size:16px}
 .v2-content .booking-steps{gap:0}.v2-content .booking-steps li{font-size:10px;gap:9px;padding-block:18px}.v2-content .booking-steps li>span{font-size:12px;width:25px;height:25px}.v2-content .booking-stage-head h2{font-size:29px;line-height:1.2}.v2-content .booking-stage-head p{font-size:16px!important}.v2-content .booking-options{grid-template-columns:minmax(0,1fr)}.v2-content .booking-option{padding:20px}.v2-content .booking-option h3{font-size:24px}.v2-content .booking-option p{font-size:16px!important}.v2-content .booking-option .option-category{font-size:12px}.v2-content .booking-person{padding:0;display:block}.v2-content .booking-person>img{width:100%;height:220px;aspect-ratio:auto;object-position:center 25%}.v2-content .booking-person>div{padding:20px}.v2-content .no-preference{display:block}.v2-content .no-preference>span:first-child{display:none}.v2-content .booking-buttons{gap:15px}.v2-content .booking-buttons .button{font-size:15px}.v2-content .booking-buttons>.small{font-size:13px;max-width:150px}.v2-content .calendar-header{align-items:start;gap:15px}.v2-content .calendar-header h3{font-size:22px;line-height:1.3}.v2-content .calendar-header>div{gap:6px;flex-shrink:0}.v2-content .calendar-header button{font-size:12px;padding:8px}.v2-content .calendar-day{font-size:16px}.v2-content .weekday{font-size:13px}.v2-content .calendar-grid{gap:4px}.v2-content .time-slots{gap:8px}.v2-content .time-slots button{font-size:16px;padding:12px 17px}.v2-content .booking-form label{font-size:16px}.v2-content .booking-form input,.v2-content .booking-form textarea{font-size:16px}.v2-content .review-item dd{font-size:16px}.v2-content .review-item button{font-size:13px;max-width:80px;line-height:1.5}.v2-content .review-note{font-size:15px!important}.v2-content .booking-success h2{font-size:10.5vw}.v2-content .booking-success .success-detail{font-size:16px}
 .content-dialog .detail-copy{padding:30px 23px}.content-dialog h2,.content-dialog .detail-copy h2{font-size:35px}.content-dialog .eyebrow{font-size:13px}.content-dialog .detail-copy>p:not(.eyebrow){font-size:16px}.content-dialog .detail-facts>div{font-size:14px;gap:12px}.content-dialog .detail-actions .button{font-size:15px;padding:16px 18px}.content-dialog .media-note{font-size:12px!important}.content-dialog .legal-copy p{font-size:16px}.content-dialog .legal-copy h2{font-size:33px}.tour-copy h2{font-size:39px}.tour-copy .eyebrow{font-size:12px}.tour-concept{font-size:11px;max-width:250px;left:15px;top:15px}.tour-copy .button{font-size:14px;padding:13px 18px}.tour-controls{gap:10px}.tour-controls>button{font-size:13px;min-width:42px}.tour-controls>span{font-size:11px}.tour-chapters{gap:10px}.tour-chapters>button{font-size:11px;text-align:left;line-height:1.5}.tour-mascot{width:70px;top:90px}
}
@media(max-width:365px){
 .v2-content .welcome-title{font-size:15.5vw}.welcome-veli{width:90px}.welcome-veli>span{font-size:13px}.welcome-bottom{max-width:100%}.v2-content .welcome-bottom>p:first-child{font-size:19px!important}.v2-content .page-intro h1{font-size:11.5vw}.v2-content .price-row{display:grid;grid-template-columns:1fr}.v2-content .price-action{flex-direction:row;justify-content:space-between;align-items:center}.v2-content .price-action>span{font-size:24px}.v2-content .consult-card>.mascot{width:70px;top:28px}.v2-content .consult-card h2{font-size:31px;max-width:190px}.v2-content .consult-card p{max-width:190px}.v2-content .meet-veli>.mascot{width:105px;top:112px}.v2-content .calendar-header{display:block}.v2-content .calendar-header>div{margin-top:14px;justify-content:space-between}.v2-content .calendar-header button{font-size:14px}.v2-content .booking-steps li{font-size:9px}.v2-content .booking-buttons .button{font-size:14px;padding-inline:17px}.v2-closing .closing-character>.mascot{width:78px}.v2-closing .button{max-width:215px;font-size:14px;padding-inline:19px}.tour-copy h2{font-size:34px}.tour-controls>button{font-size:12px}.tour-controls>span{font-size:10px}.tour-chapters>button{font-size:10px}.preview-badge{font-size:9px}.mobile-book{font-size:13px;padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){.welcome-portrait{--depth-x:0px!important;--depth-y:0px!important}}
@media(max-width:600px){
 .v2-content .booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}
 .v2-content .booking-steps li{font-size:13px;flex-direction:column;gap:7px;align-items:start;text-align:left;padding:14px 0}
 .v2-content .booking-steps li:last-child{grid-column:2}
 .welcome-composition{display:grid;grid-template-columns:minmax(0,1fr)}
 .welcome-editorial{display:contents}
 .welcome-editorial>.eyebrow{grid-row:1;grid-column:1}
 .welcome-title{grid-row:2;grid-column:1}
 .welcome-portrait{grid-row:3;grid-column:1}
 .welcome-veli{position:relative;grid-row:3;grid-column:1;align-self:end;justify-self:end;right:auto;bottom:auto;margin-bottom:22px}
 .welcome-bottom{grid-row:4;grid-column:1;margin-top:18px;margin-bottom:55px}
}
@media(max-width:600px){
 .tour-view{width:100%;aspect-ratio:auto}
 .tour-copy{bottom:188px}
 .tour-controls{display:grid;grid-template-columns:1fr auto 1fr;column-gap:12px;row-gap:12px;bottom:89px}
 .tour-controls>button,.tour-controls>button:last-child{font-size:14px;min-width:0;min-height:44px}
 .tour-controls>button:last-child{justify-self:end}
 .tour-controls>span{font-size:12px}
 .tour-timeline{grid-column:1/-1;grid-row:2;width:100%}
 .tour-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;bottom:17px}
.tour-chapters>button{font-size:13px;min-height:48px;text-align:left;line-height:1.4}
}
/* Staff are photographed at work; leave room for the branded shirts. */
.v2-content .team-scene,.v2-content .team-section{background:var(--ink);color:var(--cream)}
.v2-content .team-scene h2>span,.v2-content .team-section h2 em{color:var(--coral)}
.v2-content .team-scene .eyebrow,.v2-content .team-section .eyebrow{color:#f8f3ebc7}
.v2-content .team-scene .media-note,.v2-content .team-section .sample-note{color:#f8f3ebbd}
.v2-content .team-section .sample-note{border-color:#f8f3eb40;background:transparent}
.v2-content .team-section .sample-note>span{color:var(--coral)}
.v2-content .character-card .team-image{aspect-ratio:2/3}
.character-card .team-image>img{object-position:center;transform:none}
.character-card:hover .team-image>img{transform:scale(1.015)}
.person-detail .detail-media>img{object-position:center top}
.v2-content .booking-person>img{aspect-ratio:1/1;height:auto;object-position:center top}
@media(max-width:600px){
 .person-detail .detail-media{height:auto;min-height:0;max-height:none;aspect-ratio:4/5}
 .person-detail .detail-media>img{height:100%;object-position:center top}
 .look-detail .detail-media{height:auto;min-height:0;max-height:none;aspect-ratio:2/3}
 .look-detail .detail-media>img{height:100%;max-height:none;object-fit:contain}
 .v2-content .booking-person{display:grid;grid-template-columns:42% minmax(0,1fr);align-items:stretch}
 .v2-content .booking-person>img{height:100%;min-height:230px;width:100%;aspect-ratio:auto;object-position:center top;object-fit:cover}
 .v2-content .booking-person>div{padding:22px 16px}
 .v2-content .booking-person h3{font-size:27px}
 .v2-content .booking-person .option-category{font-size:14px;text-transform:none;letter-spacing:0;line-height:1.4}
 .v2-content .booking-person p{font-size:16px!important;line-height:1.6}
}
