@font-face {
    font-family:Nue Sans;
    src:url('../fonts/manrope/latin-variable.woff2') format('woff2');
    font-weight:400 800;
    font-display:swap
}
@font-face  {
    font-family:Nue Bodoni;
    src:url('../fonts/bodoni-moda/latin-variable.woff2') format('woff2');
    font-weight:400 600;
    font-display:swap
}
/* Palette and foundations */
.demo-body--nue  {
    --nue-wine:#55192c;
    --nue-cream:#faf0e7;
    --nue-ink:#24121b;
    --nue-copper:#cf775c;
    --nue-rose:#e7b9b0;
    --nue-coral:#cf775c;
    --nue-muted:#70605c;
    --nue-top:calc(var(--demo-toolbar-height) + 81px);
    background:var(--nue-cream);
    color:var(--nue-ink);
    font-family:Nue Sans,Arial,sans-serif
}
.demo-body--nue.demo-body--embedded  {
    --demo-toolbar-height:0px
}
:where(.nue-site,.nue-header,.nue-footer,.nue-lightbox) :where(p,h1,h2,h3,figure,ol,dl,dd)  {
    margin:0
}
:where(.nue-site,.nue-header,.nue-footer,.nue-lightbox) :where(button,input)  {
    font:inherit
}
:where(.nue-site,.nue-header,.nue-footer,.nue-lightbox) :where(button,a,input,summary)  {
    -webkit-tap-highlight-color:transparent
}
:where(.nue-site,.nue-header,.nue-footer,.nue-lightbox) button  {
    cursor:pointer
}
:where(.nue-site,.nue-header,.nue-footer,.nue-lightbox) button:disabled  {
    cursor:default;
    opacity:.45
}
.demo-body--nue [hidden]  {
    display:none!important
}
.demo-body--nue :focus-visible  {
    outline:3px solid #a34b25;
    outline-offset:5px
}
.nue-site :where(section[id]),.nue-footer :where([id])  {
    scroll-margin-top:calc(var(--nue-top) + 20px)
}
.nue-site :where(h1,h2,h3)  {
    font-family:Nue Bodoni,Georgia,serif;
    font-weight:400;
    letter-spacing:-.045em;
    line-height:1.04
}
.nue-site h2  {
    font-size:clamp(44px,5vw,76px)
}
.nue-site em  {
    font-style:italic;
    font-weight:400
}
.nue-site p  {
    line-height:1.65
}
.nue-site img  {
    width:100%;
    height:auto
}
.nue-wrap  {
    width:min(1600px,calc(100% - 112px));
    margin-inline:auto
}
.nue-eyebrow  {
    font-size:11px;
    letter-spacing:.16em;
    line-height:1.5!important;
    font-weight:600
}
.nue-fine  {
    font-size:12px;
    color:var(--nue-muted);
    line-height:1.65
}
.nue-sr,.nue-skip:not(:focus)  {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap
}
.nue-skip:focus  {
    position:fixed;
    top:8px;
    left:8px;
    padding:16px;
    background:white;
    color:var(--nue-wine);
    z-index:2000
}
.nue-wordmark  {
    display:block;
    width:112px;
    height:auto
}
.nue-wordmark__accent  {
    fill:var(--nue-copper)
}
/* Salon navigation and interaction surfaces */
.nue-header  {
    height:80px;
    position:sticky;
    top:calc(var(--demo-toolbar-height) + 1px);
    z-index:80;
    display:flex;
    align-items:center;
    gap:40px;
    padding:0 4%;
    background:var(--nue-cream);
    color:var(--nue-wine);
    border-bottom:1px solid #4c10261c
}
.demo-body--embedded .nue-header  {
    top:0
}
.nue-header .nue-brand  {
    margin-right:auto
}
.nue-nav  {
    display:flex;
    align-items:center;
    gap:32px;
    font-size:13px
}
.nue-nav a  {
    padding-block:16px;
    transition:color .2s
}
.nue-nav a:hover  {
    color:#9a4a52
}
.nue-button  {
    --button-bg:var(--nue-wine);
    --button-text:var(--nue-cream);
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    min-height:56px;
    padding:0 22px;
    background:var(--button-bg);
    color:var(--button-text);
    border:1px solid var(--button-bg);
    border-radius:2px 13px 2px 2px;
    font:600 13px/1.35 Nue Sans,Arial,sans-serif;
    text-align:center;
    isolation:isolate;
    transition:transform .2s,color .3s;
    overflow:hidden
}
.nue-button:before  {
    content:'';
    position:absolute;
    inset:0;
    background:#79253e;
    transform:translateY(102%);
    transition:transform .35s;
    z-index:-1
}
.nue-button:hover:before  {
    transform:translateY(0)
}
.nue-button:hover  {
    color:var(--nue-cream)
}
.nue-button:active  {
    transform:translateY(2px)
}
.nue-button__end  {
    border-left:1px solid currentColor;
    display:grid;
    place-items:center;
    padding-left:16px;
    align-self:stretch;
    opacity:.85
}
.nue-button__end svg  {
    width:20px;
    height:20px;
    stroke:currentColor;
    stroke-width:1.5;
    transition:transform .3s
}
.nue-button:hover .nue-button__end svg  {
    transform:translateY(-2px)
}
.nue-button--cream  {
    --button-bg:var(--nue-cream);
    --button-text:var(--nue-wine)
}
.nue-button--secondary  {
    --button-bg:transparent;
    --button-text:var(--nue-wine);
    border:1px solid var(--nue-wine)
}
.nue-button--glass  {
    --button-bg:#4c1026;
    --button-text:var(--nue-cream);
    border:1px solid #d7b5bd
}
.nue-button--header  {
    min-height:48px;
    font-size:12px
}
.nue-menu  {
    width:44px;
    height:48px;
    border:0;
    background:none;
    color:inherit;
    padding:10px
}
.nue-menu span  {
    display:block;
    position:relative;
    height:20px
}
.nue-menu i  {
    position:absolute;
    left:0;
    top:5px;
    width:24px;
    height:1px;
    background:currentColor;
    transition:transform .25s,top .25s
}
.nue-menu i+ i  {
    top:14px;
    width:18px
}
.nue-menu[aria-expanded=true] i  {
    top:10px;
    transform:rotate(45deg)
}
.nue-menu[aria-expanded=true] i+ i  {
    width:24px;
    transform:rotate(-45deg)
}
/* Campaign hero */
.nue-hero  {
    position:relative;
    min-height:680px;
    height:calc(100svh - var(--nue-top));
    max-height:1100px;
    background:var(--nue-wine);
    color:var(--nue-cream);
    display:flex;
    align-items:center;
    isolation:isolate;
    overflow:hidden
}
.nue-hero__image,.nue-hero__veil  {
    position:absolute;
    inset:0;
    z-index:-1
}
.nue-hero__image img  {
    height:100%;
    object-fit:cover;
    object-position:center 43%
}
.nue-hero__veil  {
    background:linear-gradient(90deg,#26051596,transparent 80%)
}
.nue-hero__copy  {
    padding-block:70px 110px
}
.nue-hero h1  {
    font-size:clamp(70px,7.3vw,144px);
    margin:25px 0;
    max-width:1000px;
    line-height:1.02
}
.nue-hero h1 span  {
    display:block
}
.nue-hero h1 span+span  {
    font-style:italic
}
.nue-hero__intro  {
    font-size:15px;
    color:#f4eee6e0
}
.nue-hero__actions  {
    display:flex;
    gap:12px;
    margin-top:30px;
    flex-wrap:wrap
}
.nue-hero__foot  {
    position:absolute;
    bottom:27px;
    left:0;
    right:0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    font-size:10px;
    letter-spacing:.1em
}
.nue-scroll  {
    display:flex;
    align-items:center;
    gap:20px;
    min-height:44px
}
.nue-scroll span  {
    font-size:22px
}
@media(prefers-reduced-motion:no-preference)  {
    .nue-hero__image  {
        animation:nue-image 1.3s cubic-bezier(.16,1,.3,1) both
    }
    .nue-hero h1 span  {
        animation:nue-type 1s .1s cubic-bezier(.16,1,.3,1) both
    }
    .nue-hero h1 span+span  {
        animation-delay:.22s
    }
    .nue-hero__actions  {
        animation:nue-type .9s .3s both
    }
    @keyframes nue-image  {
        from  {
            clip-path:inset(0 0 100%);
            transform:scale(1.06)
        }
        to  {
            clip-path:inset(0);
            transform:scale(1)
        }
    }
    @keyframes nue-type  {
        from  {
            transform:translateY(26px);
            opacity:0
        }
        to  {
            transform:translateY(0);
            opacity:1
        }
    }
}
/* Static, readable composition is the default; the measured scene is an enhancement. */
.nue-cut  {
    background:#331321;
    color:var(--nue-cream);
    padding:38px 4% 26px
}
.nue-cut__heading  {
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:30px;
    font-size:11px
}
.nue-cut__canvas  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px
}
.nue-cut__canvas figure  {
    position:relative;
    overflow:hidden;
    aspect-ratio:1/1
}
.nue-cut__canvas img  {
    height:100%;
    object-fit:cover;
    object-position:70% center
}
.nue-cut__canvas figcaption  {
    position:absolute;
    bottom:15px;
    left:15px;
    padding:8px 12px;
    background:var(--nue-wine);
    color:var(--nue-cream);
    font-size:11px
}
.nue-cut__words  {
    display:inline-block;
    width:49%;
    padding:28px 0
}
.nue-cut__words span  {
    font-size:10px;
    letter-spacing:.15em
}
.nue-cut__words p  {
    font:400 clamp(38px,5vw,84px)/1.04 Nue Bodoni,Georgia,serif;
    letter-spacing:-.04em;
    margin-top:10px
}
.nue-cut__line  {
    display:none
}
.nue-cut__caption  {
    font-size:11px;
    color:#d5babf;
    margin-top:25px
}
.nue-cut.is-cut  {
    height:185svh;
    padding:0;
    --cut-p:0;
    position:relative
}
.is-cut .nue-cut__stage  {
    position:sticky;
    top:var(--nue-top);
    height:calc(100svh - var(--nue-top));
    overflow:hidden;
    background:linear-gradient(100deg,#331321,#5c333d)
}
.is-cut .nue-cut__heading  {
    position:absolute;
    top:4%;
    left:4%;
    right:4%
}
.is-cut .nue-cut__canvas  {
    isolation:isolate;
    position:absolute;
    inset:12% 4% 11%;
    display:block;
    overflow:hidden
}
.is-cut .nue-cut__canvas figure  {
    position:absolute;
    inset:0;
    aspect-ratio:auto
}
.is-cut .nue-cut__portrait  {
    z-index:0
}
.is-cut .nue-cut__canvas figcaption  {
    z-index:1
}
.is-cut .nue-cut__portrait img  {
    object-position:70% 40%;
    transform:scale(calc(1.08 - var(--cut-p)*.08))
}
.is-cut .nue-cut__detail  {
    z-index:1;
    clip-path:polygon(0 0,calc(-30% + var(--cut-p)*160%) 0,calc(-50% + var(--cut-p)*160%) 100%,0 100%)
}
.is-cut .nue-cut__detail img  {
    object-position:70% 45%;
    transform:scale(calc(1.08 - var(--cut-p)*.08)) translateX(calc(2% - var(--cut-p)*2%))
}
.is-cut .nue-cut__canvas figure:after  {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#260515a6 0%,#26051545 53%,transparent 80%),linear-gradient(0deg,#2605158a,transparent 70%);
    pointer-events:none
}
.is-cut .nue-cut__line  {
    display:block;
    position:absolute;
    inset:0;
    transform:translateX(calc(-30% + var(--cut-p)*160%));
    z-index:2;
    pointer-events:none
}
.is-cut .nue-cut__line svg  {
    width:100%;
    height:100%;
    overflow:visible;
    stroke:#e2bda2;
    stroke-width:1
}
.is-cut .nue-cut__words  {
    position:absolute;
    bottom:20%;
    left:8%;
    width:70%;
    padding:0;
    pointer-events:none
}
.is-cut .nue-cut__words p  {
    font-size:clamp(58px,7.5vw,142px)
}
.is-cut .nue-cut__words--first  {
    clip-path:inset(0 0 calc(var(--cut-p)*100%) 0);
    transform:translateY(calc(var(--cut-p)*-12px))
}
.is-cut .nue-cut__words--last  {
    clip-path:inset(calc((1 - var(--cut-p))*100%) 0 0);
    transform:translateY(calc((1 - var(--cut-p))*12px))
}
.is-cut .nue-cut__caption  {
    position:absolute;
    bottom:3.5%;
    left:4%;
    margin:0
}
.is-cut.is-active .nue-cut__detail  {
    will-change:clip-path
}
.is-cut.is-active .nue-cut__canvas img,.is-cut.is-active .nue-cut__words  {
    will-change:transform
}
/* Four-step reservation simulation */
.nue-booking  {
    background:var(--nue-wine);
    color:var(--nue-cream);
    padding-block:100px
}
.nue-booking__grid  {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:7%;
    align-items:start
}
.nue-booking__intro h2  {
    margin:28px 0
}
.nue-booking__intro>p:not(.nue-eyebrow)  {
    font-size:14px
}
.nue-booking__intro .nue-booking__notice  {
    font-size:12px;
    max-width:330px;
    margin-top:30px;
    color:#ddc8cd
}
.nue-booking__panel  {
    padding:42px;
    background:var(--nue-cream);
    color:var(--nue-ink);
    min-width:0;
    border-radius:2px 32px 2px 2px
}
.nue-booking__panel h3  {
    font-size:clamp(32px,3.3vw,52px);
    margin:25px 0 18px
}
.nue-booking__panel [data-booking-start]>p:not(.nue-eyebrow),.nue-booking__finished>p  {
    font-size:14px;
    margin-bottom:28px
}
.nue-booking__steps  {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    list-style:none;
    padding:0;
    gap:4px;
    margin-bottom:30px
}
.nue-booking__steps button  {
    border:0;
    border-bottom:2px solid #cbb9ae;
    background:none;
    min-height:52px;
    width:100%;
    padding:5px;
    color:var(--nue-muted);
    text-align:left
}
.nue-booking__steps button>span  {
    display:block;
    font-size:10px;
    line-height:1.8
}
.nue-booking__steps button>span:first-child  {
    font-size:12px
}
.nue-booking__steps [aria-current=step]  {
    border-color:var(--nue-wine);
    color:var(--nue-wine);
    font-weight:700
}
.nue-booking__panel :is(form,[data-booking-finished])  {
    scroll-margin-top:calc(var(--nue-top) + 25px)
}
.nue-booking__panel h3[tabindex="-1"]:focus  {
    outline:none
}
.nue-booking__panel fieldset  {
    padding:0;
    margin:0;
    border:0;
    min-width:0
}
.nue-booking__panel fieldset h3  {
    margin-top:0
}
.nue-booking-services  {
    margin-top:24px
}
.nue-booking-service  {
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    padding:17px 14px;
    border:1px solid #b9a59c;
    margin-top:8px;
    cursor:pointer;
    min-height:76px
}
.nue-booking-service:has(input:checked)  {
    border-color:var(--nue-wine);
    background:#e8ddd3
}
.nue-booking-service input  {
    accent-color:var(--nue-wine);
    width:18px;
    height:18px;
    margin:0;
    flex-shrink:0
}
.nue-booking-service strong  {
    display:block;
    font-size:14px;
    font-weight:500
}
.nue-booking-service small  {
    display:block;
    font-size:11px;
    margin-top:5px;
    color:var(--nue-muted)
}
.nue-radio-mark  {
    margin-left:auto;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--nue-wine);
    opacity:0
}
.nue-booking-service:has(input:checked) .nue-radio-mark  {
    opacity:1
}
.nue-booking__actions  {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:30px;
    flex-wrap:wrap
}
.nue-booking__actions .nue-button  {
    flex:1;
    padding-inline:12px
}
.nue-form-error  {
    padding:14px;
    background:#f5dce1;
    border-left:3px solid #8c213d;
    font-size:13px;
    margin-bottom:22px;
    color:#6c152c
}
.nue-field-error  {
    font-size:12px;
    color:#8c213d;
    margin-top:8px!important
}
.nue-calendar__heading  {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:25px 0 15px
}
.nue-calendar__heading p  {
    font-size:12px;
    text-align:center
}
.nue-square  {
    width:46px;
    height:46px;
    border:1px solid currentColor;
    display:grid;
    place-items:center;
    flex-shrink:0;
    background:transparent;
    color:inherit;
    font-size:26px!important;
    border-radius:2px;
    transition:background .2s
}
.nue-square:hover  {
    background:#caa98f38
}
.nue-days  {
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:5px
}
.nue-day  {
    padding:9px 2px;
    border:1px solid #b8a49c;
    background:transparent;
    color:var(--nue-ink);
    min-height:68px;
    min-width:0
}
.nue-day span  {
    display:block;
    font-size:10px;
    line-height:1.6
}
.nue-day strong  {
    display:block;
    font-size:18px;
    font-weight:400;
    margin-top:2px
}
.nue-day[aria-pressed=true]  {
    background:var(--nue-wine);
    color:var(--nue-cream);
    border-color:var(--nue-wine)
}
.nue-calendar__label  {
    font-size:12px;
    margin-block:23px 12px
}
.nue-slots  {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px
}
.nue-slot  {
    position:relative;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #b8a49c;
    cursor:pointer;
    font-size:13px
}
.nue-slot input  {
    position:absolute;
    opacity:0;
    width:1px;
    height:1px
}
.nue-slot:has(input:checked)  {
    background:var(--nue-wine);
    color:var(--nue-cream);
    border-color:var(--nue-wine)
}
.nue-slot:has(input:focus-visible)  {
    outline:3px solid #a34b25;
    outline-offset:3px
}
.nue-field  {
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:12px;
    margin-top:22px
}
.nue-field input  {
    height:52px;
    padding:12px;
    border:1px solid #b8a49c;
    background:#fffaf5;
    color:var(--nue-ink);
    width:100%;
    font-size:16px
}
.nue-field input[aria-invalid=true]  {
    border-color:#8c213d
}
.nue-example,.nue-edit  {
    border:0;
    background:#e5d8cf;
    color:var(--nue-wine);
    min-height:44px;
    font-size:11px;
    padding:10px 14px;
    text-align:left;
    border-radius:2px
}
.nue-example  {
    margin-top:15px
}
.nue-consent  {
    display:flex;
    align-items:start;
    gap:12px;
    margin-top:22px;
    font-size:12px;
    line-height:1.6;
    cursor:pointer;
    min-height:44px
}
.nue-consent input  {
    accent-color:var(--nue-wine);
    width:18px;
    height:18px;
    flex-shrink:0;
    margin:1px 0
}
.nue-summary>div  {
    position:relative;
    border-top:1px solid #cbb9ae;
    padding:18px 0;
    overflow-wrap:anywhere
}
.nue-summary span,.nue-summary strong,.nue-summary small  {
    display:block
}
.nue-summary span  {
    font-size:11px;
    color:var(--nue-muted);
    margin-bottom:8px
}
.nue-summary strong  {
    font-size:16px;
    font-weight:500
}
.nue-summary small  {
    font-size:12px;
    margin-top:8px
}
.nue-summary .nue-edit  {
    margin-top:12px
}
.nue-booking__recap-note  {
    font-size:12px;
    background:#e8ddd3;
    padding:16px
}
/* Practical details and footer */
.nue-practical  {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:7%;
    padding-block:120px
}
.nue-practical h2  {
    margin:24px 0
}
.nue-practical__intro .nue-fine  {
    max-width:320px
}
.nue-practical__details  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px
}
.nue-practical__details>div  {
    border-top:1px solid #baa59e;
    padding-top:22px;
    min-width:0
}
.nue-practical h3  {
    font-size:30px;
    margin-bottom:18px
}
.nue-practical address  {
    font-size:15px;
    font-style:normal;
    line-height:1.65
}
.nue-practical__details p  {
    font-size:12px;
    color:var(--nue-muted);
    margin-top:12px
}
.nue-practical__details .nue-practical__phone  {
    font-size:19px;
    color:var(--nue-ink)
}
.nue-practical dl>div  {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px;
    font-size:12px;
    line-height:1.6;
    margin-top:10px
}
.nue-practical .nue-button  {
    margin-top:18px;
    gap:12px;
    padding-inline:15px;
    font-size:12px
}
.nue-footer  {
    background:#29101b;
    color:var(--nue-cream);
    padding:65px 0 30px
}
.nue-footer__main  {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    padding-bottom:55px
}
.nue-footer .nue-wordmark  {
    width:220px
}
.nue-footer__main>p  {
    font:400 clamp(28px,3vw,50px)/1.2 Nue Bodoni,Georgia,serif;
    font-style:italic
}
.nue-footer__bottom  {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    border-top:1px solid #caa98f50;
    padding-top:22px;
    font-size:11px
}
.nue-footer__bottom nav  {
    display:flex;
    flex-wrap:wrap;
    gap:15px
}
.nue-footer__bottom a  {
    display:inline-flex;
    align-items:center;
    min-height:44px
}
.nue-legal  {
    font-size:12px;
    color:#ddc8cd;
    margin-top:20px;
    line-height:1.7
}
.nue-legal summary  {
    cursor:pointer;
    min-height:44px;
    display:list-item;
    align-content:center
}
.nue-legal p  {
    margin:12px 0;
    max-width:900px
}
/* Accessible photographic lightbox */
html:has(.nue-lightbox[open])  {
    overflow:hidden;
    scrollbar-gutter:stable
}
.nue-lightbox  {
    width:min(1100px,calc(100% - 32px));
    height:calc(100svh - 32px);
    max-height:1000px;
    padding:20px 25px;
    border:0;
    background:#29101b;
    color:var(--nue-cream);
    overflow:hidden
}
.nue-lightbox[open]  {
    display:flex;
    flex-direction:column;
    gap:12px
}
.nue-lightbox::backdrop  {
    background:#160710ed
}
.nue-lightbox__bar  {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    font-size:12px;
    flex-shrink:0
}
.nue-lightbox__image  {
    flex:1;
    min-height:0;
    display:grid;
    place-items:center;
    touch-action:pan-y
}
.nue-lightbox__image img  {
    width:100%;
    height:100%;
    object-fit:contain;
    min-height:0;
    max-height:100%;
    transition:opacity .15s
}
.nue-lightbox__controls  {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:28px;
    flex-shrink:0;
    font-size:12px
}
/* Responsive compositions */
@media(min-width:1600px)  {
    .nue-hero__copy  {
        padding-left:35px
    }
    .nue-hero__intro  {
        font-size:17px
    }
}
@media(max-width:1100px)  {
    .nue-wrap  {
        width:calc(100% - 64px)
    }
    .nue-header  {
        gap:24px
    }
    .nue-nav  {
        gap:20px
    }
    .nue-booking__panel  {
        padding:28px
    }
    .nue-booking__grid,.nue-practical  {
        grid-template-columns:.7fr 1.3fr;
        gap:5%
    }
    .nue-practical__details  {
        gap:32px
    }
    .nue-footer__main  {
        flex-wrap:wrap
    }
    .nue-footer__bottom  {
        flex-wrap:wrap
    }
    .nue-days  {
        grid-template-columns:repeat(4,1fr)
    }
}
@media(max-width:760px)  {
    .demo-body--nue  {
        --nue-top:calc(var(--demo-toolbar-height) + 73px)
    }
    .nue-wrap  {
        width:calc(100% - 40px)
    }
    .nue-header  {
        height:72px;
        gap:10px;
        padding-inline:20px;
        flex-wrap:wrap
    }
    .nue-header .nue-wordmark  {
        width:80px
    }
    .nue-button--header  {
        min-height:44px;
        padding-inline:12px;
        gap:12px
    }
    .nue-button--header .nue-button__end  {
        padding-left:10px
    }
    .nue-nav  {
        order:4;
        width:100%;
        justify-content:center;
        font-size:12px;
        gap:20px;
        background:var(--nue-cream)
    }
    .nue-header:not(.is-enhanced)  {
        height:auto;
        min-height:72px;
        padding-block:10px
    }
    .nue-header.is-enhanced .nue-nav  {
        position:absolute;
        top:100%;
        left:0;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        padding:24px 28px 32px;
        border-bottom:1px solid #cbb9ae;
        gap:0;
        box-shadow:0 20px 30px #29101b1a
    }
    .nue-header.is-enhanced .nue-nav a  {
        font:400 32px/1.3 Nue Bodoni,Georgia,serif;
        min-height:65px;
        display:flex;
        align-items:center;
        border-bottom:1px solid #cbb9ae
    }
    .nue-hero  {
        min-height:640px;
        height:calc(100svh - var(--nue-top));
        max-height:900px;
        align-items:end
    }
    .nue-hero__image img  {
        object-position:68% 30%
    }
    .nue-hero__veil  {
        background:linear-gradient(0deg,#2b071be8 0%,#2b071b85 42%,transparent 80%)
    }
    .nue-hero__copy  {
        padding:180px 0 90px
    }
    .nue-hero h1  {
        font-size:clamp(53px,10.3vw,78px);
        max-width:620px;
        margin:20px 0
    }
    .nue-hero__intro  {
        font-size:13px
    }
    .nue-hero__actions  {
        gap:10px;
        margin-top:24px
    }
    .nue-hero__actions .nue-button  {
        font-size:12px;
        min-height:52px;
        padding-inline:15px;
        gap:14px
    }
    .nue-hero__actions .nue-button__end  {
        padding-left:12px
    }
    .nue-hero__foot  {
        bottom:20px;
        font-size:9px
    }
    .nue-hero__foot>span:last-child  {
        display:none
    }
    .nue-eyebrow  {
        font-size:10px;
        letter-spacing:.12em
    }
    .nue-cut  {
        padding:30px 20px
    }
    .nue-cut__heading  {
        gap:10px
    }
    .nue-cut__canvas  {
        gap:10px
    }
    .nue-cut__canvas figure  {
        aspect-ratio:3/5
    }
    .nue-cut__canvas img  {
        object-position:72% center
    }
    .nue-cut__canvas figcaption  {
        left:6px;
        bottom:6px;
        font-size:9px;
        padding:6px
    }
    .nue-cut__words  {
        padding-block:22px
    }
    .nue-cut__words p  {
        font-size:clamp(28px,5.6vw,44px)
    }
    .nue-cut__caption  {
        margin-top:0;
        font-size:10px
    }
    .nue-booking  {
        padding-block:65px
    }
    .nue-booking__grid  {
        display:block
    }
    .nue-booking__intro h2  {
        margin-block:20px
    }
    .nue-booking__intro .nue-booking__notice  {
        max-width:none;
        margin:18px 0 30px
    }
    .nue-booking__panel  {
        padding:25px 20px
    }
    .nue-booking__panel h3  {
        font-size:38px
    }
    .nue-booking__steps  {
        gap:5px;
        margin-bottom:24px
    }
    .nue-booking__steps button>span+span  {
        font-size:9px
    }
    .nue-booking__steps button>span:first-child  {
        font-size:11px
    }
    .nue-slots  {
        grid-template-columns:repeat(2,1fr)
    }
    .nue-practical  {
        display:block;
        padding-block:65px
    }
    .nue-practical__intro .nue-fine  {
        max-width:none
    }
    .nue-practical__details  {
        gap:30px 24px;
        margin-top:35px
    }
    .nue-practical h3  {
        font-size:28px
    }
    .nue-practical .nue-button  {
        width:100%;
        font-size:11px;
        padding-inline:10px
    }
    .nue-practical .nue-button__end  {
        display:none
    }
    .nue-footer  {
        padding-block:45px 25px
    }
    .nue-footer__main  {
        display:block;
        padding-bottom:35px
    }
    .nue-footer .nue-wordmark  {
        width:155px
    }
    .nue-footer__main>p  {
        margin:25px 0
    }
    .nue-footer__bottom  {
        gap:10px;
        font-size:10px
    }
    .nue-footer__bottom nav  {
        gap:8px 16px
    }
    .nue-lightbox  {
        padding:12px;
        width:calc(100% - 16px);
        height:calc(100svh - 16px)
    }
    .nue-lightbox__bar  {
        font-size:10px
    }
}
@media(max-width:430px)  {
    .nue-wrap  {
        width:calc(100% - 32px)
    }
    .nue-header  {
        padding-inline:16px;
        gap:8px
    }
    .nue-header .nue-wordmark  {
        width:68px
    }
    .nue-menu  {
        width:40px;
        padding:8px
    }
    .nue-hero  {
        min-height:680px
    }
    .nue-hero__copy  {
        padding-top:210px;
        padding-bottom:84px
    }
    .nue-hero h1  {
        font-size:clamp(40px,11.6vw,52px)
    }
    .nue-hero__actions  {
        display:grid;
        grid-template-columns:1fr;
        max-width:310px
    }
    .nue-hero__actions .nue-button  {
        min-height:50px
    }
    .nue-hero__foot>span:first-child  {
        font-size:8px
    }
    .nue-cut  {
        padding-inline:16px
    }
    .nue-practical__details  {
        grid-template-columns:1fr
    }
    .nue-practical .nue-button  {
        width:auto;
        padding-inline:18px;
        min-height:52px;
        font-size:12px
    }
    .nue-booking__panel  {
        padding:24px 16px
    }
    .nue-booking__steps button>span+span  {
        font-size:8px
    }
    .nue-booking__actions  {
        gap:8px
    }
    .nue-booking__actions .nue-button  {
        font-size:11px;
        min-height:52px
    }
    .nue-day  {
        min-height:64px
    }
    .nue-booking__panel h3  {
        font-size:34px
    }
}
@media(prefers-reduced-motion:reduce)  {
    html  {
        scroll-behavior:auto
    }
    .demo-body--nue *  {
        animation:none!important;
        transition:none!important
    }
}
@media(max-width:760px) and (max-height:760px)  {
    .nue-hero  {
        min-height:540px
    }
    .nue-hero__copy  {
        padding-top:120px;
        padding-bottom:84px
    }
    .nue-hero h1  {
        font-size:40px
    }
    .nue-hero__intro  {
        font-size:12px
    }
    .nue-hero__actions  {
        margin-top:18px
    }
}
/* Colour, portrait and type: the campaign's new rhythm. */
.nue-header {
    background:var(--nue-cream)
}
.nue-button {
    border-radius:4px 18px 4px 4px;
    box-shadow:0 3px 0 #24121b0d
}
.nue-button--header {
    --button-bg:var(--nue-coral);
    --button-text:var(--nue-ink)
}
.nue-button--cream {
    --button-bg:var(--nue-rose);
    --button-text:var(--nue-ink)
}
.nue-button--glass {
    --button-bg:#55192c;
    --button-text:var(--nue-cream)
}
.nue-hero h1 span+span {
    color:#efb6a4
}
.nue-hero__foot {
    color:#f3c8bd
}
.nue-ribbon {
    display:flex;
    align-items:center;
    justify-content:space-around;
    gap:24px;
    background:var(--nue-rose);
    color:var(--nue-wine);
    min-height:84px;
    padding:20px 4%;
    font:500 clamp(20px,2.2vw,34px)/1.2 Nue Bodoni,Georgia,serif
}
.nue-ribbon>span:nth-child(even) {
    font:400 38px/1 Arial,sans-serif;
    color:#8f392f
}
.nue-cut {
    background:#24121b
}
.is-cut .nue-cut__stage {
    background:linear-gradient(115deg,#24121b,#55192c)
}
/* Four services, four photographic compositions, one clear booking action. */
.nue-services {
    padding-block:75px 65px;
    background:var(--nue-rose);
    color:var(--nue-wine);
    position:relative
}
.nue-services__heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:48px
}
.nue-services__heading h2 {
    font:600 clamp(32px,3.3vw,52px)/1.12 Nue Sans,Arial,sans-serif;
    letter-spacing:-.055em;
    margin-top:20px
}
.nue-services__heading h2 em {
    display:inline-block;
    font:400 clamp(44px,4.8vw,78px)/1.15 Nue Bodoni,Georgia,serif;
    letter-spacing:-.045em
}
.nue-services__heading>p {
    max-width:340px;
    font-size:14px;
    padding-bottom:8px
}
.nue-services__collection {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:32px;
    align-items:start
}
.nue-service {
    position:relative;
    min-width:0;
    isolation:isolate;
    border-radius:3px 30px 3px 3px;
    overflow:hidden;
    transition:box-shadow .3s,transform .3s
}
.nue-service__visual {
    position:relative;
    overflow:hidden;
    background:var(--nue-wine)
}
.nue-service__visual img {
    height:100%;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.2,.7,.3,1)
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    .nue-service:hover .nue-service__visual img {
        transform:scale(1.035)
    }
    .nue-service:hover {
        box-shadow:0 18px 40px #55192c20
    }
}
.nue-service__edition {
    position:absolute;
    top:22px;
    left:24px;
    font-size:10px;
    letter-spacing:.1em;
    text-transform:uppercase;
    padding:10px 13px;
    background:var(--nue-cream);
    color:var(--nue-wine);
    border-radius:2px
}
.nue-service__body {
    padding:30px;
    position:relative
}
.nue-service__title {
    display:flex;
    justify-content:space-between;
    align-items:start;
    gap:20px
}
.nue-service h3 {
    font-size:clamp(35px,3.7vw,60px);
    line-height:1.06;
    max-width:350px
}
.nue-service__price {
    flex-shrink:0;
    display:flex;
    align-items:baseline;
    gap:7px;
    white-space:nowrap
}
.nue-service__price small {
    font-size:11px
}
.nue-service__price strong {
    font:500 clamp(26px,2.4vw,38px)/1.1 Nue Sans,Arial,sans-serif;
    letter-spacing:-.05em
}
.nue-service__price strong>span {
    font-size:.6em
}
.nue-service__description {
    font-size:14px;
    margin-top:17px!important;
    max-width:400px
}
.nue-service__duration {
    font-size:11px;
    opacity:.85;
    margin-top:7px!important
}
.nue-service__reserve {
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin-top:24px;
    min-height:58px;
    text-align:left;
    font-size:12px;
    width:100%
}
.nue-service__check {
    display:flex;
    align-items:center;
    justify-content:center;
    border-left:1px solid currentColor;
    min-width:36px;
    align-self:stretch;
    padding-left:14px
}
.nue-service__check svg {
    width:21px;
    height:21px;
    stroke:currentColor;
    stroke-width:1.5
}
.nue-service__check>span {
    display:none;
    font-size:20px
}
.nue-service__selected {
    position:absolute;
    top:0;
    left:30px;
    transform:translateY(-50%) scale(.9);
    padding:7px 12px;
    background:var(--nue-coral);
    color:var(--nue-ink);
    font-size:10px;
    font-weight:700;
    opacity:0;
    transition:transform .25s,opacity .25s;
    border-radius:2px
}
.nue-service.is-selected {
    box-shadow:0 0 0 4px var(--nue-wine),0 14px 35px #55192c20
}
.nue-service.is-selected .nue-service__selected {
    opacity:1;
    transform:translateY(-50%) scale(1)
}
.nue-service.is-selected .nue-service__check svg {
    display:none
}
.nue-service.is-selected .nue-service__check>span {
    display:block
}
.nue-service--signature {
    grid-column:span 7;
    background:var(--nue-wine);
    color:var(--nue-cream)
}
.nue-service--signature .nue-service__visual {
    height:650px
}
.nue-service--signature .nue-service__visual img {
    object-position:68% 25%
}
.nue-service--signature .nue-service__visual:after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#35101ef5 0%,#35101ebd 32%,transparent 76%)
}
.nue-service--signature .nue-service__body {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:34px
}
.nue-service--signature .nue-service__reserve {
    --button-bg:var(--nue-coral);
    --button-text:var(--nue-ink)
}
.nue-service--signature .nue-service__edition {
    z-index:1
}
.nue-service--color {
    grid-column:span 5;
    margin-top:64px;
    background:#f5d9cf
}
.nue-service--color .nue-service__visual {
    height:360px
}
.nue-service--color .nue-service__visual img {
    object-position:50% 27%
}
.nue-service--color h3 {
    font-size:clamp(35px,3.5vw,52px)
}
.nue-service--color .nue-service__title {
    flex-wrap:wrap;
    gap:14px
}
.nue-service--color .nue-service__price {
    padding:8px 13px;
    border-radius:3px;
    background:var(--nue-rose)
}
.nue-service--light {
    grid-column:span 5;
    background:var(--nue-cream)
}
.nue-service--light .nue-service__visual {
    height:420px
}
.nue-service--light .nue-service__visual img {
    object-position:50% 40%
}
.nue-service--light .nue-service__title {
    flex-wrap:wrap;
    gap:12px
}
.nue-service--light .nue-service__price strong {
    font-size:29px
}
.nue-service--ritual {
    grid-column:span 7;
    margin-top:50px;
    background:var(--nue-ink);
    color:var(--nue-cream)
}
.nue-service--ritual .nue-service__visual {
    height:390px
}
.nue-service--ritual .nue-service__visual img {
    object-position:50% 44%
}
.nue-service--ritual .nue-service__reserve {
    --button-bg:var(--nue-rose);
    --button-text:var(--nue-ink)
}
.nue-services__terms {
    font-size:11px;
    max-width:850px;
    margin-top:35px!important;
    color:#6a303c
}
/* The photographic carnet becomes a dark, compact fashion spread. */
.nue-editorial {
    background:var(--nue-wine);
    color:var(--nue-cream);
    padding-block:75px 65px
}
.nue-editorial__heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:40px;
    margin-bottom:40px
}
.nue-editorial__heading h2 {
    font-size:clamp(52px,6vw,90px);
    margin-top:15px
}
.nue-editorial__heading h2 br {
    display:none
}
.nue-editorial__heading h2 em {
    color:var(--nue-rose);
    padding-left:.15em
}
.nue-editorial__heading>p {
    font-size:13px;
    max-width:320px
}
.nue-editorial__gallery {
    display:grid;
    grid-template-columns:1.15fr .9fr 1fr;
    gap:26px;
    align-items:start
}
.nue-editorial__item {
    min-width:0
}
.nue-editorial__item a {
    display:block;
    position:relative;
    overflow:hidden;
    border-radius:2px 24px 2px 2px
}
.nue-editorial__item img {
    aspect-ratio:3/4;
    object-fit:cover;
    transition:transform .7s
}
.nue-editorial__item a:hover img {
    transform:scale(1.035)
}
.nue-editorial__item--2 {
    margin-top:70px
}
.nue-editorial__item--2 img {
    aspect-ratio:4/5
}
.nue-editorial__item--3 {
    margin-top:135px
}
.nue-editorial__item--3 img {
    aspect-ratio:3/4;
    object-position:68% center
}
.nue-editorial__item figcaption {
    padding-top:17px
}
.nue-editorial__item figcaption>span {
    font-size:9px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--nue-rose)
}
.nue-editorial__item h3 {
    font-size:clamp(28px,2.6vw,40px);
    margin-top:8px;
    letter-spacing:-.035em
}
.nue-photo-open {
    position:absolute;
    bottom:14px;
    right:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:0 14px;
    min-height:46px;
    background:var(--nue-cream);
    color:var(--nue-wine);
    font-size:11px;
    border-radius:3px
}
.nue-photo-open b {
    font-weight:400;
    font-size:22px
}
.nue-editorial__notice {
    font-size:11px;
    color:#edc9c7;
    margin-top:35px!important
}
/* A full-width studio photograph with an overlapping blush invitation. */
.nue-salon {
    background:var(--nue-cream);
    padding-bottom:70px
}
.nue-salon__image {
    position:relative;
    overflow:hidden
}
.nue-salon__image img {
    height:min(62vw,760px);
    object-fit:cover;
    object-position:50% 55%
}
.nue-salon__image>span {
    position:absolute;
    top:30px;
    left:4%;
    background:var(--nue-wine);
    color:var(--nue-cream);
    padding:12px 18px;
    font-size:10px;
    letter-spacing:.12em
}
.nue-salon__copy {
    position:relative;
    margin-top:-112px;
    background:#f3d1c5;
    padding:44px 50px;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:18px 7%;
    border-radius:2px 35px 2px 2px;
    box-shadow:0 15px 35px #55192c0a;
    color:var(--nue-wine)
}
.nue-salon__copy>.nue-eyebrow {
    grid-column:1/-1
}
.nue-salon__copy h2 {
    font-size:clamp(42px,4.1vw,65px)
}
.nue-salon__copy>div {
    font-size:13px
}
.nue-salon__copy>div p+p {
    margin-top:14px
}
.nue-salon__copy .nue-button {
    margin-top:24px
}
/* Human gestures, warmer colour and a shorter, more graphic philosophy. */
.nue-approach {
    padding-block:75px;
    background:#cf775c;
    color:var(--nue-ink)
}
.nue-approach__layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8%;
    align-items:center
}
.nue-approach__copy {
    grid-column:2;
    grid-row:1
}
.nue-approach h2 {
    margin:22px 0;
    font-size:clamp(50px,5vw,76px)
}
.nue-approach h2>span {
    font:600 clamp(30px,3vw,46px)/1.1 Nue Sans,Arial,sans-serif;
    letter-spacing:-.06em
}
.nue-approach__copy>p:not(.nue-eyebrow) {
    font-size:14px;
    max-width:440px
}
.nue-approach__ritual {
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:12px 20px;
    padding:0;
    margin:25px 0;
    font-size:12px;
    font-weight:600
}
.nue-approach__ritual span {
    display:block;
    font-size:10px;
    opacity:.75;
    margin-bottom:5px
}
.nue-approach .nue-button {
    margin-top:8px
}
.nue-approach figure {
    grid-column:1;
    grid-row:1;
    background:var(--nue-cream);
    padding:12px 12px 0;
    transform:rotate(-2deg);
    box-shadow:0 14px 25px #55192c20
}
.nue-approach figure img {
    aspect-ratio:5/4;
    object-fit:cover;
    object-position:59% center
}
.nue-approach figcaption {
    padding:15px 3px;
    font-size:9px;
    letter-spacing:.12em
}
.nue-booking {
    background:#381320;
    padding-block:80px
}
.nue-booking__intro h2 {
    font-size:clamp(46px,4.5vw,70px)
}
.nue-booking__portrait {
    margin-top:30px!important;
    max-width:380px
}
.nue-booking__portrait img {
    aspect-ratio:2/1;
    object-fit:cover;
    object-position:50% 35%;
    border-radius:3px 28px 3px 3px
}
.nue-booking__portrait figcaption {
    font-size:11px;
    color:#f0c6bc;
    margin-top:12px
}
.nue-booking__intro .nue-booking__notice {
    margin-top:22px
}
.nue-booking-service:has(input:checked) {
    background:#e7b9b052;
    border-color:var(--nue-wine);
    box-shadow:inset 4px 0 var(--nue-coral)
}
.nue-day[aria-pressed=true],.nue-slot:has(input:checked) {
    background:var(--nue-wine);
    color:var(--nue-cream)
}
.nue-practical-surface {
    background:var(--nue-rose)
}
.nue-practical {
    padding-block:75px
}
.nue-practical h2 {
    font-size:clamp(42px,4.5vw,65px);
    color:var(--nue-wine)
}
.nue-practical__details>div {
    border-top:0;
    border-left:3px solid #cf775c;
    padding:0 0 0 20px
}
.nue-footer {
    background:var(--nue-ink)
}
.nue-footer .nue-wordmark {
    width:270px
}
/* Image reveals enhance visible media only; there is no hidden-content dependency. */
@media(prefers-reduced-motion:no-preference) {
    [data-nue-reveal].is-revealed {
        animation:nue-photo-reveal .8s cubic-bezier(.16,1,.3,1) both
    }
    @keyframes nue-photo-reveal {
        from {
            clip-path:inset(0 0 10% 0 round 3px);
            transform:translateY(12px)
        }
        to {
            clip-path:inset(0);
            transform:translateY(0)
        }
    }
}
@media(max-width:1100px) {
    .nue-services__collection {
        gap:24px
    }
    .nue-services__heading {
        align-items:start
    }
    .nue-services__heading>p {
        max-width:260px;
        font-size:12px
    }
    .nue-service__body,.nue-service--signature .nue-service__body {
        padding:25px
    }
    .nue-service__title {
        flex-wrap:wrap;
        gap:15px
    }
    .nue-service--signature .nue-service__visual {
        height:680px
    }
    .nue-service--color .nue-service__visual {
        height:300px
    }
    .nue-service--ritual .nue-service__visual {
        height:330px
    }
    .nue-service h3 {
        font-size:40px
    }
    .nue-service__reserve {
        font-size:11px;
        padding-inline:14px;
        gap:8px
    }
    .nue-service__check {
        min-width:30px;
        padding-left:10px
    }
    .nue-editorial__gallery {
        gap:18px
    }
    .nue-editorial__heading {
        align-items:start
    }
    .nue-editorial__heading>p {
        max-width:230px
    }
    .nue-editorial__heading h2 {
        font-size:65px
    }
    .nue-salon__copy {
        padding:35px
    }
    .nue-approach__layout {
        gap:6%
    }
    .nue-approach__copy>p:not(.nue-eyebrow) {
        font-size:13px
    }
}
@media(max-width:760px) {
    .nue-ribbon {
        gap:14px;
        min-height:64px;
        padding:15px 16px;
        font-size:18px;
        justify-content:space-between;
        flex-wrap:wrap
    }
    .nue-ribbon>span:nth-child(even) {
        font-size:24px
    }
    .nue-ribbon>span:last-child,.nue-ribbon>span:nth-last-child(2) {
        display:none
    }
    .nue-services {
        padding-block:55px 42px
    }
    .nue-services__heading {
        display:block;
        margin-bottom:30px
    }
    .nue-services__heading h2 {
        font-size:31px;
        margin-top:16px
    }
    .nue-services__heading h2 em {
        font-size:43px
    }
    .nue-services__heading>p {
        margin-top:18px;
        font-size:13px;
        max-width:none
    }
    .nue-services__collection {
        grid-template-columns:1fr;
        gap:24px
    }
    .nue-service {
        grid-column:1;
        margin-top:0;
        border-radius:3px 24px 3px 3px
    }
    .nue-service--signature .nue-service__visual {
        height:620px
    }
    .nue-service--signature .nue-service__body {
        padding:26px
    }
    .nue-service__body {
        padding:25px
    }
    .nue-service h3 {
        font-size:44px
    }
    .nue-service__title {
        flex-wrap:nowrap;
        gap:20px
    }
    .nue-service__price strong {
        font-size:31px
    }
    .nue-service__description {
        font-size:13px
    }
    .nue-service__reserve {
        min-height:56px;
        font-size:12px
    }
    .nue-service__edition {
        left:20px;
        top:20px;
        font-size:9px
    }
    .nue-service__selected {
        left:25px
    }
    .nue-service--color .nue-service__visual {
        height:auto;
        aspect-ratio:5/4
    }
    .nue-service--color .nue-service__visual img {
        object-position:50% 22%
    }
    .nue-service--color .nue-service__title {
        flex-wrap:nowrap
    }
    .nue-service--color .nue-service__price {
        padding:0;
        background:none
    }
    .nue-service--color .nue-service__price strong {
        font-size:29px
    }
    .nue-service--light .nue-service__visual {
        height:auto;
        aspect-ratio:1/1
    }
    .nue-service--light .nue-service__visual img {
        object-position:50% 45%
    }
    .nue-service--light .nue-service__title {
        flex-wrap:nowrap
    }
    .nue-service--ritual .nue-service__visual {
        height:auto;
        aspect-ratio:8/5
    }
    .nue-service--ritual .nue-service__title {
        flex-wrap:nowrap
    }
    .nue-services__terms {
        font-size:10px;
        margin-top:25px!important
    }
    .nue-editorial {
        padding-block:55px 40px
    }
    .nue-editorial__heading {
        display:block;
        margin-bottom:28px
    }
    .nue-editorial__heading h2 {
        font-size:55px
    }
    .nue-editorial__heading h2 br {
        display:block
    }
    .nue-editorial__heading h2 em {
        padding-left:0
    }
    .nue-editorial__heading>p {
        margin-top:18px;
        font-size:12px;
        max-width:none
    }
    .nue-editorial__gallery {
        display:flex;
        width:100%;
        padding:0 20px 18px;
        gap:18px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scroll-padding-inline:20px;
        scrollbar-color:#e7b9b0 #71374b
    }
    .nue-editorial__item {
        flex:0 0 82%;
        scroll-snap-align:start;
        margin:0
    }
    .nue-editorial__item img,.nue-editorial__item--2 img,.nue-editorial__item--3 img {
        aspect-ratio:3/4
    }
    .nue-editorial__item h3 {
        font-size:32px
    }
    .nue-editorial__notice {
        font-size:10px;
        margin-top:20px!important
    }
    .nue-salon {
        padding-bottom:45px
    }
    .nue-salon__image img {
        height:450px;
        object-position:55% center
    }
    .nue-salon__image>span {
        top:20px;
        left:20px
    }
    .nue-salon__copy {
        margin-top:-65px;
        padding:28px 24px;
        display:block
    }
    .nue-salon__copy h2 {
        font-size:45px;
        margin:20px 0
    }
    .nue-salon__copy>div {
        font-size:12px
    }
    .nue-salon__copy .nue-button {
        width:100%
    }
    .nue-approach {
        padding-block:50px
    }
    .nue-approach__layout {
        display:flex;
        flex-direction:column-reverse;
        gap:32px
    }
    .nue-approach figure {
        width:95%;
        margin-inline:auto;
        transform:rotate(-2deg)
    }
    .nue-approach h2 {
        font-size:60px;
        margin:17px 0
    }
    .nue-approach h2>span {
        font-size:34px
    }
    .nue-approach__copy {
        width:100%
    }
    .nue-approach__copy>p:not(.nue-eyebrow) {
        max-width:none
    }
    .nue-approach__ritual {
        margin-block:22px
    }
    .nue-approach .nue-button {
        width:100%
    }
    .nue-booking {
        padding-block:55px
    }
    .nue-booking__portrait {
        display:none
    }
    .nue-booking__intro h2 {
        font-size:53px
    }
    .nue-practical {
        padding-block:55px
    }
    .nue-practical h2 {
        font-size:48px
    }
    .nue-practical__details {
        gap:30px
    }
    .nue-practical__details>div {
        padding-left:16px
    }
    .nue-footer .nue-wordmark {
        width:190px
    }
    .nue-header.is-enhanced .nue-nav:not([hidden]) {
        animation:nue-menu-enter .25s both
    }
    @keyframes nue-menu-enter {
        from {
            opacity:0;
            transform:translateY(-8px)
        }
        to {
            opacity:1;
            transform:translateY(0)
        }
    }
}
@media(max-width:430px) {
    .nue-services__heading h2 {
        font-size:28px
    }
    .nue-services__heading h2 em {
        font-size:38px
    }
    .nue-service--signature .nue-service__visual {
        height:570px
    }
    .nue-service__body,.nue-service--signature .nue-service__body {
        padding:23px 20px
    }
    .nue-service__title,.nue-service--color .nue-service__title,.nue-service--light .nue-service__title,.nue-service--ritual .nue-service__title {
        flex-wrap:wrap;
        gap:12px
    }
    .nue-service h3 {
        font-size:42px
    }
    .nue-service__price {
        gap:5px
    }
    .nue-service__price strong {
        font-size:29px
    }
    .nue-service__reserve {
        font-size:11px;
        padding-inline:14px;
        gap:8px
    }
    .nue-service__selected {
        left:20px
    }
    .nue-service__description {
        font-size:12px
    }
    .nue-service__edition {
        left:16px;
        top:16px;
        font-size:8px
    }
    .nue-editorial__gallery {
        padding-inline:16px;
        scroll-padding-inline:16px
    }
    .nue-editorial__item {
        flex-basis:88%
    }
    .nue-editorial__heading h2 {
        font-size:51px
    }
    .nue-ribbon {
        font-size:16px;
        gap:8px
    }
    .nue-ribbon>span:nth-child(even) {
        font-size:21px
    }
    .nue-salon__copy {
        padding:26px 20px
    }
    .nue-salon__copy h2 {
        font-size:40px
    }
    .nue-salon__image>span {
        left:16px
    }
    .nue-salon__copy .nue-button {
        font-size:12px;
        gap:15px
    }
}
@media(prefers-reduced-motion:reduce) {
    .demo-body--nue [data-nue-reveal],.demo-body--nue .nue-nav {
        animation:none!important
    }
    .nue-service,.nue-service__visual img,.nue-editorial__item img {
        transition:none
    }
}
.nue-practical .nue-fine,.nue-practical__details p {
    color:#633140
}
.demo-body--nue :is(a,button,input,summary):focus-visible {
    outline:2px solid #fff7ee;
    outline-offset:2px;
    box-shadow:0 0 0 5px #55192c
}
