@charset "UTF-8";
/* One owner-facing prototype, mapped from the 2026-09-30 observed r.e.m. beauty
   structure. All photography and marks are existing Dazzling Deer assets. */
:root{--rem-paper:#fff;--rem-ink:#201e20;--rem-muted:#655f63;--rem-lilac:#e9e9ef;--rem-blush:#efd8df;--rem-pink:#a95373;--rem-line:#ddd8dc}
body{background:#fff}
.demo-ribbon{position:relative;z-index:25;min-height:54px;padding:10px 20px;background:#eef0f5;color:#312d32;font-size:13px;font-weight:500;letter-spacing:.02em}
.demo-ribbon span{font-size:13px}
.site-header{position:fixed;z-index:20;top:54px;right:0;left:0;max-width:none;height:97px;justify-content:space-between;gap:34px;padding:0 30px;border:0;background:transparent;color:var(--on-dark-text);transition:background .2s,color .2s,border-color .2s}
.site-header.is-scrolled{top:0;border-bottom:1px solid var(--rem-line);background:#fff;color:var(--rem-ink)}
.site-header.is-scrolled .brand-button img{filter:none}
.site-header.is-scrolled .rem-nav a{color:var(--rem-ink);text-shadow:none}
.site-header.is-scrolled .header-booking{border-color:var(--rem-ink);background:var(--rem-ink);color:var(--on-dark-text)}
.site-header.is-scrolled .rem-menu-toggle span{background:var(--rem-ink)}
#menu-edit,#looks,#salon,#landing{scroll-margin-top:105px}
.brand-button{flex:none;width:250px;min-height:70px}
.brand-button img{width:250px;height:auto;filter:invert(1);transform:none}
.rem-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,55px);flex:1}
.rem-nav a{padding:12px 0;color:var(--on-dark-text);font-size:14px;font-weight:650;text-decoration:none;text-shadow:0 1px 5px rgba(20,16,20,.9);white-space:nowrap}
.rem-nav a:hover,.rem-nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.header-side{gap:11px}
.header-booking{min-height:44px;gap:16px;padding:8px 19px;border:1px solid rgba(255,255,255,.9);border-radius:100px;background:#fff;color:var(--rem-ink);font-size:12px;font-weight:750;white-space:nowrap}
.header-booking:hover{border-color:#fff;background:#eae3e9;color:#1b1a1b}
.rem-menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;border:0;background:transparent}
.rem-menu-toggle span{display:block;width:23px;height:1.5px;background:#fff}
.rem-drawer{position:fixed;z-index:60;top:0;left:0;width:min(390px,100vw);height:100dvh;overflow:auto;padding:24px 24px 40px;background:#fff;color:var(--rem-ink);box-shadow:0 0 0 100vmax rgba(20,15,20,.45)}
.rem-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px;font:700 12px Arial,sans-serif;letter-spacing:.16em}
.rem-drawer-head button{width:44px;height:44px;border:0;background:none;color:var(--rem-ink);font:300 35px/1 Arial,sans-serif}
.rem-drawer nav{display:grid}
.rem-drawer nav a{display:flex;align-items:center;min-height:68px;border-bottom:1px solid var(--rem-line);color:var(--rem-ink);font-size:25px;font-weight:600;text-decoration:none}
.rem-drawer-book{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;margin-top:35px;padding:10px 18px;border:0;border-radius:999px;background:#232025;color:var(--on-dark-text);font-weight:700}
.drawer-open{overflow:hidden}
.landing{overflow:hidden;background:#fff}
.rem-hero{position:relative;height:calc(100svh - 54px);min-height:670px;max-height:1050px;margin:0;overflow:hidden;background:#c6b9bf;color:var(--on-dark-text)}
.rem-hero-ambient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,34,43,.68),rgba(45,34,43,.18)),url("assets/salon-ambient.jpg") center 52%/cover}
.rem-hero .hero-slides{position:absolute;top:0;right:0;bottom:0;left:30%;overflow:hidden;background:#cbbec0}
.rem-hero .hero-slide{right:auto;bottom:auto;max-width:none;transform:none;animation:none!important;transition:opacity 1s ease}
.rem-hero-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,20,28,.48),transparent 24%),linear-gradient(90deg,rgba(27,23,29,.66) 0%,rgba(27,23,29,.28) 34%,rgba(27,23,29,0) 68%),linear-gradient(0deg,rgba(22,18,25,.38),transparent 46%);pointer-events:none}
.rem-hero-copy{position:absolute;z-index:3;bottom:clamp(50px,8vh,100px);left:clamp(24px,4vw,62px);max-width:590px;text-shadow:0 1px 15px rgba(0,0,0,.2)}
.rem-eyebrow,.rem-overline{margin:0 0 13px;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.17em}
.rem-hero-copy h1{margin:0 0 13px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(38px,3.35vw,58px);font-weight:600;line-height:1.28;letter-spacing:.04em}
.rem-hero-copy>p:not(.rem-eyebrow){margin:0 0 22px;font-size:15px;font-weight:550;line-height:1.7;letter-spacing:.015em}
.rem-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:50px;padding:11px 23px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:740;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.rem-pill:hover{transform:translateY(-2px)}
.rem-pill-light{background:#fff;color:#242024}
.rem-pill-light:hover{background:#e8e8ee}
.rem-pill-dark{background:#242024;color:var(--on-dark-text)}
.rem-pill-dark:hover{background:#583545}
.rem-pill-tint{background:#d7dfe9;color:#202128}
.rem-pill-tint:hover{background:#c3cddc}
.rem-hero-controls{position:absolute;z-index:5;right:20px;bottom:17px;display:flex;align-items:center;gap:10px;color:var(--on-dark-text)}
.rem-hero-counter{font:700 10px Arial,sans-serif;letter-spacing:.16em}
.rem-hero-controls .hero-pause{min-width:66px;color:var(--on-dark-text);font-size:11px}
.rem-hero-controls .hero-slide-controls{display:flex}
.rem-hero-controls .hero-slide-control span{background:rgba(255,255,255,.6)}
.rem-hero-controls .hero-slide-control.is-active span{background:#fff}
.rem-hero-controls .hero-slide-control.is-active::after{background:#f4bdcf}
.rem-intro{display:grid;grid-template-columns:40px 1fr;gap:24px;align-items:center;min-height:210px;padding:48px max(4vw,24px);background:#fff}
.rem-orbit{width:32px;height:32px;border:1px solid #272128;border-radius:50%;display:grid;place-items:center;color:#272128;font-size:21px;line-height:1}
.rem-intro p{max-width:1110px;margin:0;font-size:clamp(19px,1.9vw,29px);font-weight:580;line-height:1.75;letter-spacing:.02em}
.rem-products{padding:55px 0 48px;background:#fff}
.rem-section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:0 4vw 30px}
.rem-section-head .rem-overline{color:#8b6480}
.rem-section-head h2{margin:0 0 3px;font:650 clamp(30px,3vw,45px)/1.15 Arial,sans-serif;letter-spacing:.035em}
.rem-section-head p:last-child{margin:5px 0 0;color:var(--rem-muted);font-size:13px}
.rem-product-row{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:3px}
.rem-product-lead,.rem-product-card{min-width:0;background:#eeeef0}
.rem-product-lead{position:relative;min-height:540px;overflow:hidden;background:#d1c4c9;color:var(--on-dark-text)}
.rem-product-lead:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,19,25,.6),transparent 55%);content:""}
.rem-product-lead>img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.rem-product-lead>div{position:absolute;z-index:1;bottom:24px;left:20px;right:20px}
.rem-product-lead small{font:700 9px Arial,sans-serif;letter-spacing:.13em}
.rem-product-lead h3{margin:10px 0 15px;font:600 clamp(27px,2.5vw,42px)/1.1 Arial,sans-serif;letter-spacing:.04em}
.rem-product-lead .rem-pill{min-height:44px;padding:8px 16px;font-size:11px}
.rem-product-card{display:flex;flex-direction:column}
.rem-product-image{height:335px;overflow:hidden;background:#efebed}
.rem-product-image img{width:100%;height:100%;object-fit:cover;object-position:center 17%}
.rem-product-card[data-menu-card-id="menu-feature-003"] .rem-product-image img{object-position:50% 50%}
.rem-product-meta{display:flex;flex:1;flex-direction:column;gap:4px;padding:13px 15px 15px;background:#fff}
.rem-product-meta>span{font:700 9px Arial,sans-serif;letter-spacing:.12em;color:#806671}
.rem-product-meta h3{margin:1px 0;font-size:16px;font-weight:760;line-height:1.4}
.rem-product-meta p{margin:0;color:#686168;font-size:11px}
.rem-product-meta strong{margin:5px 0 10px;font-size:12px}
.rem-product-meta :is(button, .menu-catalog-link){display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:auto;padding:8px 15px;border:0;border-radius:100px;background:#dce3eb;color:#27242a;font-size:11px;font-weight:750}
.rem-product-meta :is(button, .menu-catalog-link):hover{background:#c7d4e2}
.rem-sample-note{margin:16px 4vw 0;color:#726972;font-size:11px}
.rem-looks{padding:56px 0 70px;background:#fff}
.rem-look-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.rem-look-tile{position:relative;height:clamp(330px,38vw,560px);overflow:hidden;background:#bcaeb5}
.rem-look-tile:after{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(25,19,24,.65));content:""}
.rem-look-tile img{width:100%;height:100%;object-fit:cover;object-position:center 24%}
.rem-look-tile[data-style-card-id="style-tile-003"] img{object-position:center}
.rem-look-tile>div{position:absolute;z-index:1;right:23px;bottom:25px;left:23px;display:flex;align-items:end;justify-content:space-between;gap:15px;color:var(--on-dark-text)}
.rem-look-tile h3{margin:0;font-size:clamp(18px,2.1vw,31px);letter-spacing:.02em}
.rem-look-tile :is(button, .menu-catalog-link){flex:none;min-height:44px;padding:8px 15px;border:0;border-radius:100px;background:#fff;color:#28232a;font-size:11px;font-weight:760;white-space:nowrap}
.rem-look-tile :is(button, .menu-catalog-link):hover{background:#ece9ee}
.rem-salon{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:#e9eaf0}
.rem-salon-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:55px clamp(35px,6vw,100px)}
.rem-salon-copy .rem-overline{color:#6f5668}
.rem-salon-copy h2{margin:4px 0 25px;font:650 clamp(37px,4vw,68px)/1.16 Arial,sans-serif;letter-spacing:.05em}
.rem-salon-copy p:not(.rem-overline){max-width:490px;margin:0 0 25px;font-size:16px;line-height:2}
.rem-salon-image{min-height:570px;overflow:hidden}
.rem-salon-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.rem-booking{padding:88px 20px;text-align:center;background:#f3edf0}
.rem-booking .rem-overline{color:#875973}
.rem-booking h2{margin:0 0 12px;font-size:clamp(27px,3vw,42px);line-height:1.35}
.rem-booking p:not(.rem-overline){margin:0 auto 25px;max-width:630px;font-size:14px;line-height:1.75}
.landing-note{max-width:none;margin:0;padding:20px 4vw 30px;text-align:center;color:#736b70;background:#fff}
.site-footer{max-width:none;display:grid;grid-template-columns:1.5fr 1fr 1.5fr;align-items:start;gap:30px;min-height:240px;padding:60px 4vw;border-top:1px solid #ded9de;background:#fff}
.rem-footer-brand img{width:220px;height:auto}
.rem-footer-brand p{margin:8px 0 0;font-size:13px}
.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}
.site-footer nav a{display:flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none}
.site-footer nav a:hover{text-decoration:underline}
.site-footer .rem-footer-note{font-size:11px;line-height:1.8;text-align:right;color:#686168}
.in-flow{background:#f8f5f3}
.in-flow .site-header{position:relative;top:auto;height:88px;border-bottom:1px solid var(--rem-line);background:#fff}
.in-flow .brand-button img{filter:none}
.in-flow .rem-nav,.in-flow .rem-menu-toggle{display:none}
.in-flow .site-footer{min-height:150px}
.in-flow .site-footer nav{display:none}
@media(max-width:1100px){.brand-button,.brand-button img{width:205px}.rem-nav{gap:20px}.rem-product-row{grid-template-columns:1.1fr repeat(3,1fr)}.rem-product-image{height:280px}.rem-product-lead{min-height:510px}}
@media(max-width:760px){
  .demo-ribbon{min-height:54px;padding:11px 12px;font-size:12px}
  .demo-ribbon span{font-size:12px}
  .site-header{height:76px;padding:0 16px;gap:10px}
  .brand-button{width:170px;min-height:60px}
  .brand-button img{width:170px}
  .site-header .brand-button img{filter:none}
  .rem-menu-toggle span{background:#1d191c}
  .rem-nav,.header-booking{display:none}
  .rem-menu-toggle{display:flex}
  .rem-hero{height:560px;min-height:560px;max-height:none}
  .rem-hero-ambient{background:#c3bbc2}
  .rem-hero .hero-slides{inset:0}
  .rem-hero-wash{background:linear-gradient(0deg,rgba(22,18,25,.74),rgba(22,18,25,.2) 42%,transparent 76%),linear-gradient(180deg,rgba(255,255,255,.55),transparent 24%)}
  .rem-hero-copy{right:16px;bottom:48px;left:16px;max-width:370px}
  .rem-eyebrow{margin-bottom:8px;font-size:9px}
  .rem-hero-copy h1{margin-bottom:9px;font-size:30px;line-height:1.27}
  .rem-hero-copy>p:not(.rem-eyebrow){margin-bottom:14px;font-size:13px;line-height:1.6}
  .rem-hero-copy .rem-pill{min-height:47px;padding:10px 18px;font-size:12px}
  .rem-hero-controls{right:10px;bottom:4px;gap:0}
  .rem-hero-counter{font-size:9px}
  .rem-hero-controls .hero-pause{min-width:58px;font-size:9px}
  .rem-hero-controls .hero-slide-control{width:44px;height:44px}
  .rem-hero-controls .hero-slide-control span{width:22px}
  .rem-hero-controls .hero-slide-control.is-active::after{top:21px;left:11px;width:22px}
  .rem-intro{grid-template-columns:25px 1fr;gap:10px;min-height:210px;padding:40px 17px}
  .rem-orbit{width:24px;height:24px;font-size:16px}
  .rem-intro p{font-size:17px;line-height:1.65}
  .rem-products{padding:35px 0 30px}
  .rem-section-head{align-items:start;gap:12px;padding:0 16px 18px}
  .rem-section-head h2{font-size:28px}
  .rem-section-head p:last-child{font-size:12px}
  .rem-section-head>.rem-pill{min-height:44px;padding:7px 13px;font-size:10px}
  .rem-products>.rem-section-head{flex-wrap:wrap}
  .rem-product-row{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 12px}
  .rem-product-lead,.rem-product-card{flex:0 0 56vw;min-height:390px;scroll-snap-align:start}
  .rem-product-lead{height:370px}
  .rem-product-lead h3{font-size:27px}
  .rem-product-image{height:220px}
  .rem-product-meta{padding:9px 10px 12px}
  .rem-product-meta h3{font-size:13px}
  .rem-product-meta p{font-size:12px;line-height:1.4}
  .rem-product-meta strong{font-size:12px}
  .rem-product-meta :is(button, .menu-catalog-link){padding:8px 10px;font-size:11px}
  .rem-sample-note{margin:4px 16px 0;line-height:1.5}
  .rem-looks{padding:43px 0}
  .rem-look-grid{grid-template-columns:1fr}
  .rem-look-tile{height:clamp(230px,64vw,350px)}
  .rem-look-tile[data-style-card-id="style-tile-001"] img{object-position:50% 25%}
  .rem-look-tile[data-style-card-id="style-tile-002"] img{object-position:50% 30%}
  .rem-look-tile>div{right:15px;bottom:17px;left:15px}
  .rem-look-tile h3{font-size:23px}
  .rem-salon{grid-template-columns:1fr}
  .rem-salon-copy{padding:55px 20px}
  .rem-salon-copy h2{font-size:42px}
  .rem-salon-copy p:not(.rem-overline){font-size:14px}
  .rem-salon-image{min-height:330px;height:330px}
  .rem-booking{padding:66px 20px}
  .rem-booking h2{font-size:28px}
  .site-footer{grid-template-columns:1fr;gap:28px;padding:42px 20px}
  .rem-footer-brand img{width:200px}
  .site-footer .rem-footer-note{text-align:left}
  .in-flow .site-header{height:76px}
  .in-flow .brand-button img{width:170px}
}
@media(max-width:390px){.rem-hero-copy h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.rem-pill,.rem-hero .hero-slide{transition:none!important}.rem-hero .hero-slide.is-active{animation:none!important}}

/* Site content changes the content inside the approved frames, never their geometry. */
[data-content-key]{white-space:pre-line;overflow-wrap:anywhere}
.rem-product-meta p,.rem-look-tile h3{overflow-wrap:anywhere}
img[data-media-slot="brand.logo"]{object-fit:contain}
.site-managed-frame{position:relative;overflow:hidden}
.site-managed-frame>img.site-managed-image{position:absolute!important;max-width:none!important;object-fit:fill!important;object-position:initial!important;transform:none!important}
.rem-hero-ambient.has-site-ambient{background:#c3bbc2}
.rem-hero-ambient.has-site-ambient::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,34,43,.68),rgba(45,34,43,.18));content:""}
.site-preview-error{position:fixed;z-index:100;right:12px;bottom:12px;left:12px;max-width:600px;margin:0 auto;padding:14px 18px;border:2px solid #a2344d;border-radius:8px;background:#fff;color:#702035;font-size:15px;line-height:1.5;box-shadow:0 8px 25px #0002}
@media(min-width:761px){
  .rem-product-row[data-card-count="0"]{grid-template-columns:1fr}
  .rem-product-row[data-card-count="1"]{grid-template-columns:1.15fr 1fr}
  .rem-product-row[data-card-count="2"]{grid-template-columns:1.15fr repeat(2,1fr)}
  .rem-look-grid[data-card-count="0"],.rem-look-grid[data-card-count="1"]{grid-template-columns:1fr}
  .rem-look-grid[data-card-count="2"]{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:761px) and (max-width:900px){
  .site-header{gap:12px;padding:0 20px}
  .rem-nav{gap:16px;padding:6px 12px;border-radius:999px;background:rgba(27,23,29,.72)}
  .site-header.is-scrolled .rem-nav{background:transparent}
}

/* Official display-only catalog, within the adopted menu section. */
.official-menu-catalog{margin-top:36px;border-top:1px solid currentColor;padding-top:20px;color:var(--ink)}
.official-menu-catalog summary{font-weight:700;cursor:pointer;font-size:clamp(18px,2vw,24px)}
.official-menu-catalog h3{margin:30px 0 10px;font-size:20px}
.official-menu-catalog article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding:20px 0;border-bottom:1px solid #d9ced4}
.official-menu-catalog h4{margin:0;font-size:16px;overflow-wrap:anywhere}
.official-menu-catalog article strong{white-space:nowrap;font-size:16px}
.official-menu-catalog article p{grid-column:1/-1;margin:0;line-height:1.7;font-size:14px;overflow-wrap:anywhere}
@media(max-width:760px){.official-menu-catalog article{grid-template-columns:minmax(0,1fr);gap:6px}.official-menu-catalog article strong{white-space:normal}}

.menu-catalog-link{text-decoration:none;cursor:pointer}
[data-menu-link]:focus-visible{outline:3px solid #9e4065;outline-offset:4px}
#official-menu-catalog,[id^="menu-category-"]{scroll-margin-top:110px}

/* Preserve the former button appearance for fixed external booking links. */
.header-booking[data-external-booking],.rem-drawer-book[data-external-booking]{text-decoration:none}
