/* Full portraits with their natural proportions. */
.ui-icon{width:18px;height:18px;display:inline-block;vertical-align:-.2em;flex:none}
.arrow{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.button .ui-icon,.text-link .ui-icon{width:17px;height:17px}
.utility .ui-icon,.hero-bottom .ui-icon{width:13px;height:13px}
.footer-links .ui-icon,.contact-details .ui-icon,.intro-band .icon-instagram{margin-right:7px}
.footer-links .icon-arrow-up-right,.contact-details .icon-arrow-up-right{margin-right:0;margin-left:3px}
.calendar-top button,.dialog-close,.lightbox-controls button,.photo-button .open{display:inline-grid;place-items:center;padding:0}
.calendar-top .ui-icon,.dialog-close .ui-icon{width:20px;height:20px}
.lightbox-controls .ui-icon,.photo-button .open .ui-icon{width:17px;height:17px}
.detail-content li.icon-list-item{display:flex;align-items:flex-start;gap:13px}
.detail-content li.icon-list-item:before{display:none}
.icon-list-item .ui-icon{width:15px;height:15px;color:#bd6976;margin-top:3px}
.appointment-nav .button{gap:13px}
.video-menu{position:relative;isolation:isolate;overflow:hidden;background:#080909;padding-top:85px;padding-bottom:85px}
.menu-video{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#1a1114}
.menu-video video{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 35%;opacity:.85;filter:blur(2px);transform:scale(1.025);border-radius:0}
.video-menu:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#08090970,#08090925 22%,#08090925 75%,#08090980)}
.menu-glass{padding:52px 48px 35px;border:1px solid #ffffff30;border-radius:26px;background:linear-gradient(125deg,#030303bd,#0505059c);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 25px 70px #0005}
.menu-glass .section-heading>p,.menu-glass .service-row .desc,.menu-glass .note{color:#d4c8c7}
.menu-glass .service-row:hover{background:#ffffff08}
@media(max-width:760px){.video-menu{padding-top:45px;padding-bottom:45px}.menu-glass{padding:30px 18px 24px;border-radius:20px;background:linear-gradient(125deg,#030303c7,#050505a6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.menu-glass .service-row{gap:9px;grid-template-columns:17px minmax(0,1fr) auto 17px}.menu-glass .service-row h3{font-size:25px}.menu-glass .service-row .price{font-size:27px}.menu-glass .section-heading h2{font-size:43px}.menu-video video{object-position:50% 35%}}
@media(max-width:360px){.menu-glass .service-row h3{font-size:22px}.menu-glass .service-row .price{font-size:24px}.menu-glass .section-heading h2{font-size:39px}}
.photo-button img,.split-photo img,.detail-image img,.booking-aside img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.look .photo-button,.look:nth-child(3n+2) .photo-button{aspect-ratio:auto;border-radius:16px}
.portfolio-grid{align-items:start}
.split-photo,.detail-image{border-radius:18px}
.detail-image{align-self:start;position:relative;top:auto}
.academy-film{width:100%;max-width:410px;justify-self:center}
.academy-film video,.booking-aside>video{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;object-position:center;border-radius:18px;background:#151515}
.booking-aside{position:relative;top:auto}
.booking-aside>video{max-width:420px;margin:0 auto 28px}
.film-grid{align-items:start}
.film video{height:auto;aspect-ratio:9/16;object-fit:contain;border-radius:16px}
.appointment-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start;border-top:1px solid var(--line)}
.appointment-aside{min-width:0}.appointment-aside>img{width:100%;height:auto;border-radius:16px;margin-bottom:30px}
.appointment-aside h2{font-size:clamp(38px,4vw,58px);margin-bottom:24px}
.appointment-aside>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9}
.appointment-main{min-width:0}
.appointment-summary,.appointment-review{margin:30px 0 20px}
.appointment-summary>div,.appointment-review>div{padding:15px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:15px}
.appointment-summary dt,.appointment-review dt{font-size:10px;color:var(--muted)}
.appointment-summary dd,.appointment-review dd{font-size:12px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.appointment-stepper{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0 0 24px;gap:9px}
.appointment-stepper li{display:flex;align-items:center;gap:8px;color:#867b78;min-width:0}
.appointment-stepper span{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px;flex:none}
.appointment-stepper small{font-size:9px;line-height:1.3}
.appointment-stepper .active{color:#ebd8d6}.appointment-stepper .active span{border-color:#a35865;background:#57202b}
.appointment-form [hidden]{display:none!important}
.appointment-form h3{font-size:36px;line-height:1.1;margin-bottom:17px}
.appointment-form .panel-copy{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:25px}
.appointment-form .form-grid{margin-bottom:20px}
.appointment-calendar{border:1px solid var(--line);border-radius:13px;padding:20px;margin:25px 0;background:#080909}
.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.calendar-top strong{font-size:13px;font-weight:500}
.calendar-top button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font-size:25px;line-height:1}
.calendar-top button:disabled{opacity:.25;cursor:default}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.calendar-grid .calendar-weekday{color:#bda7aa;font-size:9px;padding:5px 0 10px}
.calendar-grid button{height:39px;min-width:0;border:1px solid transparent;border-radius:8px;font-size:12px;background:#ffffff05}
.calendar-grid button:disabled{opacity:.2;cursor:default;background:transparent}
.calendar-grid button.is-today{border-color:#ffffff40}
.calendar-grid button[aria-pressed=true]{background:#752c3c;border-color:#bd7280;color:#fff}
.calendar-grid button:hover:not(:disabled){border-color:#b16674}
.calendar-selected{font-size:10px;line-height:1.7;color:#b7a5a8;margin-top:18px;min-height:17px}
.appointment-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}
.appointment-nav .button{width:auto;min-width:155px;flex:0 1 auto;text-align:center}
.appointment-nav .text-link{flex:none;white-space:nowrap}
.appointment-error{border:1px solid #b76574;background:#431923;color:#f4d6dc;padding:12px 15px;border-radius:8px;margin-top:20px;font-size:11px}
.appointment-review{margin-top:25px}.appointment-review>div{grid-template-columns:120px 1fr}
.appointment-form .button[aria-disabled=true]{opacity:.45;cursor:not-allowed}
@media(max-width:1000px){.appointment-layout{gap:5vw}.appointment-stepper li{flex-direction:column;text-align:center}.appointment-stepper small{font-size:9px}.appointment-form{padding:26px}.appointment-nav{gap:15px}.appointment-nav .button{min-width:135px;padding-left:17px;padding-right:17px}.appointment-summary>div{grid-template-columns:80px 1fr}}
@media(max-width:760px){
 .portfolio-grid,.film-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .home-looks .look:last-child,.home-films .film:last-child{display:block}
 .look .photo-button,.look:nth-child(3n+2) .photo-button{border-radius:14px;aspect-ratio:auto}
 .look-caption h3{font-size:29px}.mini-label{font-size:8px}.look-caption{padding-top:17px}
 .split-photo,.detail-image{border-radius:14px}
 .split-photo img,.detail-image img,.booking-aside img{height:auto;aspect-ratio:auto;object-fit:contain}
 .academy-strip{padding:22px}.academy-film{max-width:100%}
 .academy-film video,.booking-aside>video{aspect-ratio:9/16;object-fit:contain;border-radius:14px;width:100%;height:auto}
 .booking-aside>video{max-width:100%;margin:0 0 25px}
 .film video{border-radius:14px}.detail-content h1{font-size:clamp(49px,13vw,67px);overflow-wrap:anywhere}
 .appointment-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .appointment-aside h2{font-size:42px}.appointment-aside>img{max-width:100%}
 .appointment-summary{margin:22px 0 0}.appointment-summary>div{padding:11px 0;grid-template-columns:95px 1fr}
 .appointment-stepper{gap:7px;margin-bottom:20px}.appointment-stepper span{width:29px;height:29px}.appointment-stepper small{font-size:9px}
 .appointment-form{padding:24px 18px}.appointment-form h3{font-size:32px}
 .appointment-form .form-grid{grid-template-columns:1fr;gap:20px}
 .appointment-calendar{padding:15px 10px;margin:23px 0}.calendar-grid{gap:3px}.calendar-grid button{height:38px}
 .appointment-nav{gap:14px}.appointment-nav .button{min-width:0;font-size:10px;padding:13px 18px}.appointment-nav .text-link{font-size:10px}
 .appointment-review>div{grid-template-columns:90px 1fr;gap:12px}.appointment-review dd{font-size:11px}
 .appointment-layout .form-panel .button{width:auto}
 .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.filters .filter{font-size:11px;padding:11px 12px}.result-count{grid-column:1/-1}
}
