/* PRIVATE PREVIEW 04 · white, black and the pale blue of clear glass.
   Colours are interpreted from the user's reference image.
   Dior imagery, branding and product copy are not used in the prototype. */
:root{
  --paper:#ffffff;--white:#ffffff;--ink:#202124;--muted:#58616a;
  --line:#d4dce3;--black:#202124;--black-hover:#3b3d40;
  --ice:#eaf2f9;--ice-deep:#d8e7f3;--silver:#f2f4f6;
  --control-line:#7a8792;--focus:#315d82;
  /* Existing components resolve to the same shared palette. */
  --brown:var(--black);--rose:#3e4a54;--petal:var(--ice);
  --sand:var(--ice-deep);--champagne:var(--silver);
  --wine:var(--black);--peach:var(--ice-deep);--gold:#65717a;--green:var(--focus);
}
body{background:var(--paper);color:var(--ink)}
.prototype-bar{background:var(--silver);color:#505b64;border-bottom:1px solid var(--line)}
.header{background:var(--white);border-color:var(--line)}
.wordmark{color:var(--black)}
.brand-title{border-color:#b7c1c9}
.button.primary{background:var(--black);border-color:var(--black);color:var(--white)}
.button.primary:hover{background:var(--black-hover);border-color:var(--black-hover);color:var(--white)}
.button.outline{background:var(--white);border-color:var(--black);color:var(--black)}
.button.outline:hover{background:var(--ice);border-color:var(--black);color:var(--black)}
button:focus-visible,a:focus-visible,select:focus-visible,
.hero button:focus-visible,.hero a:focus-visible,
.call-section button:focus-visible,.call-section .memo-edit:focus-visible{
  outline-color:var(--focus);
}
.hero{
  background:linear-gradient(112deg,#ffffff 0%,#f4f7fa 43%,#dfebf5 100%);
  color:var(--black);border-bottom:1px solid #cbd9e4;
}
.hero .eyebrow,.hero h1{color:#4e5963}
.hero h2,.hero h2>span{color:var(--black)}
.hero-lead,.hero-aside{color:#505e69}
.hero .hero-actions .button{
  background:var(--black);border-color:var(--black);color:var(--white);
}
.hero .hero-actions .button:hover{
  background:var(--black-hover);border-color:var(--black-hover);color:var(--white);
}
.hero-consult{color:var(--black);border-color:var(--control-line)}
.hero-consult:hover{color:var(--black);border-color:var(--black);background:transparent}
.hero-tile figcaption{color:#333c43}
.hero-tile>img{outline:1px solid #ffffff;outline-offset:0}
.hero-tile .photo-placeholder{background:var(--ice-deep);color:#374650}
.hero-tile .photo-placeholder>span{color:var(--muted)}
.hero-gallery-fallback{border-color:var(--control-line);color:var(--black);background:var(--ice)}
.intro-path{background:var(--white);color:var(--black);border-bottom:1px solid var(--line)}
.intro-path>a{border-color:#b6c1ca}
.intro-path>a:hover{color:var(--black);background:var(--silver)}
.intro-path b{color:#586572}
.welcome-tag{color:var(--black)}
.welcome-copy .hero-intro,.eligibility{color:var(--muted)}
.section-label,.section-label>span,.small-label,.eyebrow{color:#45525e}
.consult-card,.visit-card{background:var(--white);border-color:var(--control-line)}
.consult-card[aria-pressed=true],.visit-card[aria-pressed=true]{background:var(--ice);border-color:var(--black)}
.radio-mark{background:var(--white);border-color:var(--control-line)}
.consult-card[aria-pressed=true] .radio-mark,.visit-card[aria-pressed=true] .radio-mark{
  background:var(--black);border-color:var(--black);
}
.gallery-controls button{background:var(--white);border-color:var(--control-line);color:var(--black)}
.gallery-controls button:hover:not(:disabled){background:var(--ice);border-color:var(--black)}
#cast-chosen,#cast-chosen:hover{color:var(--black);border-color:var(--control-line)}
.cast-grid{scrollbar-color:#7c8e9e #edf2f6}
.cast-grid:focus-visible{outline-color:var(--focus)}
.cast-card.is-selected .cast-portrait{outline-color:var(--black)}
.cast-portrait .selected-tag{background:var(--black);color:var(--white)}
.cast-select[aria-pressed=true]{background:var(--black);border-color:var(--black);color:var(--white)}
.cast-select[aria-pressed=true]:hover{background:var(--black-hover);color:var(--white)}
.source-link,.source-link:hover,.text-button:hover{color:var(--black);border-color:var(--control-line)}
.memo-aside{background:var(--ice);border-top:1px solid #bccddb}
.memo-aside dl>div{border-color:#bdcedc}
.memo-aside .aside-total{color:var(--black)}
.memo-aside .button{border-color:var(--black)}
.schedule-note{background:#eef4f9}
select{background:var(--white);border-color:var(--control-line);color:var(--ink)}
select:focus{border-color:var(--black)}
.slot-window{color:#435c6e}
.important-note{border-left-color:var(--black)}
.price-display{background:var(--white);border-color:var(--line);border-top-color:var(--black)}
.next-button{color:var(--black);border-color:var(--black);background:transparent}
.next-button:hover,.accordion-toggle:hover{background:var(--ice)}
.call-section{
  color:var(--ink);background:linear-gradient(150deg,#f1f6fa 0%,#dceaf5 100%);
  border-top:1px solid #cad9e5;
}
.call-inner>.eyebrow{color:#4d606f}
.call-inner>h2,.call-section .phone-number{color:var(--black)}
.final-memo{background:var(--white);border-top-color:var(--black);color:var(--ink)}
.final-memo .small-label{color:#45525e}
.final-memo dd.memo-total{color:var(--black)}
.call-copy{color:#303e48}
.call-section .call-main{background:var(--black);border-color:var(--black);color:var(--white)}
.call-section .call-main:hover{background:var(--black-hover);border-color:var(--black-hover);color:var(--white)}
.call-section .contact-hours,.call-section .prototype-note{color:#4f606c}
.phone-result,.call-section .phone-result{color:var(--ink);border-color:var(--line);background:var(--white)}
.status-message{color:#365875}
.mobile-phone{background:var(--white);border-color:#bccad5;box-shadow:0 -5px 24px #24394c08}
.mobile-phone .button{background:var(--black);border-color:var(--black);color:var(--white)}
.mobile-phone .button:hover{background:var(--black-hover);border-color:var(--black-hover)}
footer{background:var(--silver);border-color:var(--line)}
.age-gate,.age-entry{background:linear-gradient(125deg,#fafbfc 0%,#e3eef7 100%);color:var(--ink)}
.entry-layout{background:var(--white);border-color:#c5d3de;box-shadow:0 18px 60px #30465b0a}
.entry-intro{background:linear-gradient(145deg,#f5f8fb 0%,#dceaf5 100%)}
.entry-intro .wordmark,.entry-intro h2{color:var(--black)}
.entry-eyebrow{color:#516371}
.entry-intro>p:last-child{color:#4c5d6a}
.age-card,.age-entry .age-card{background:var(--white);color:var(--ink);border-color:#c5d3de;border-top-color:var(--black);border-radius:0;box-shadow:none}

/* 06 · original official lettering, cleaned edge and dark metallic material. */
.official-logo{
  display:block;width:188px;max-width:100%;height:auto;flex-shrink:0;
  object-fit:contain;
}
.brand{min-width:0}
.brand .official-logo{width:188px}
.entry-intro>.official-logo{width:320px;margin:0}
.age-card>.official-logo{width:220px;margin:4px auto 28px}
footer>.official-logo{width:172px}
@media(max-width:900px){
  .brand .official-logo{width:164px}
  .entry-intro>.official-logo{width:260px}
}
@media(max-width:600px){
  .brand .official-logo{width:140px}
  .entry-intro>.official-logo{width:220px}
  .age-card>.official-logo{width:200px;margin-bottom:24px}
  footer>.official-logo{width:156px}
}
@media(max-width:360px){
  .brand .official-logo{width:118px}
}
@media print{
  .hero,.call-section,.entry-intro,.age-gate{background:#fff!important;color:#202124!important}
}
