/* Palette from the supplied reference: midnight blue, warm ivory, signal red, yellow. */
:root{--bg:#16233e;--paper:#f3f0e6;--muted:#b2bbcc;--line:#ffffff22;--red:#d52d27;--gold:#e8d27c}
body{background:var(--bg)}
header{border-bottom-color:#ffffff30}
.logo{font-size:42px;letter-spacing:-2px;line-height:.9;flex-shrink:0}
.logo span{font-size:12px;font-weight:700;letter-spacing:2px;line-height:1.2;margin-top:9px;padding-left:1px;color:var(--paper)}
.header-book{border-color:var(--red);background:var(--red);color:#fff}
.header-book:hover,.button:hover{background:#ae211d;border-color:#ae211d}
.header-book span{color:#fff}
.hero{background:#16233e}.hero-photo{background:#16233e}
.hero-photo img,.hero-photo>video{filter:brightness(.85)}
.hero:after{background:linear-gradient(90deg,#16233ef7 0%,#16233ee0 33%,#16233e80 72%,#16233e35),linear-gradient(0deg,#16233e,transparent 50%)}
.hero .eyebrow,.eyebrow,em{color:var(--gold)}
.hero-details b,.hero-signature{color:var(--paper)}
.stories{background:#111b30;border-top:1px solid #ffffff16;border-bottom-color:#ffffff22}
.story img{filter:none;border-color:#64718a}.story.has-stories img{border-color:var(--red);box-shadow:0 0 0 1px #d52d2740}
.services{background:var(--paper);color:#18243a}
.services .eyebrow,.services em,.gift-label{color:var(--red)}
.services .section-heading p,.services p{color:#626b78}
.price-row{border-bottom-color:#18243a28;padding:28px 0}
.price-row small{color:#757c88}.price-row b{color:var(--red)}
.gift{background:#18243a;border:1px solid #18243a;padding:30px 32px;gap:30px}
.gift-label{color:var(--gold)}.gift p,.gift b,.gift a{color:var(--paper)}.gift b{opacity:.75}.gift a{border-bottom-color:#ffffff70}
.team{background:#16233e}.barber-info small{color:var(--gold)}
.circle{color:var(--gold);border-color:#e8d27c60}.circle:hover{background:#e8d27c18}
.place{background:#111b30}.place-grid img{filter:none}
.amenities{border-top-color:#ffffff28;color:var(--muted)}
.contact{background:var(--paper);color:#18243a;border-top:1px solid #18243a20}
.contact .eyebrow,.contact em{color:var(--red)}.contact p{color:#626b78}
.contact .phone{color:#18243a}.contact .text-link{color:#18243a;border-bottom-color:#18243a55}
.location-photo img{filter:none}
.location-photo a{background:#111b30f2;color:var(--paper);border:1px solid #ffffff30}.location-photo a span{color:var(--gold)}
footer{background:#111b30;border-top:1px solid var(--line)}footer .logo{font-size:36px}footer .logo span{font-size:11px;color:var(--paper)}
dialog{background:#111b30;border-color:#e8d27c40}.close{color:var(--paper)}
.story-viewer{background:#090e18}.story-stage{background:#111b30}
@media(max-width:1000px){nav{display:none}}
@media(max-width:640px){.logo{font-size:36px}.logo span{font-size:11px;letter-spacing:1.5px;margin-top:8px}.header-book{padding:14px 16px;font-size:10px}.header-book span{margin-left:12px}.gift{padding:25px 22px;gap:16px}.hero-photo img,.hero-photo>video{filter:brightness(.85)}.hero:after{background:linear-gradient(90deg,#16233ee8,#16233e99),linear-gradient(0deg,#16233e,transparent 50%)}footer .logo{font-size:34px}}

/* Softer corners across the public website. */
.header-book,.button{border-radius:999px}
.portrait{border-radius:24px}
.place-grid>img,.place-grid>video,.location-photo{border-radius:24px}
.location-photo{overflow:hidden}
.location-photo>a{border-radius:16px}
.gift{border-radius:24px}
.media-grid img,.media-grid video{border-radius:16px}
dialog:not(.story-viewer){border-radius:24px}
.story-navigation button{border-radius:999px}
@media(max-width:640px){.portrait,.place-grid>img,.place-grid>video,.location-photo,.gift{border-radius:20px}dialog:not(.story-viewer){border-radius:20px}.location-photo>a{border-radius:14px}}

/* Frames and restrained interactive accents. */
.portrait{border:1px solid #e8d27c40;box-shadow:0 14px 36px #060d1c45;transition:box-shadow .3s,border-color .3s,transform .3s}
.place-grid>img,.place-grid>video{border:1px solid #e8d27c35;box-shadow:0 14px 36px #060d1c55}
.location-photo{border:1px solid #18243a35;box-shadow:0 14px 36px #18243a20}
.price-grid{padding:8px 30px;border:1px solid #18243a30;border-radius:24px;background:#ffffff35;box-shadow:0 10px 32px #18243a08}
.price-row:last-child,.price-row:nth-last-child(2){border-bottom-color:transparent}
.gift{border:1px solid #e8d27c50;box-shadow:0 12px 30px #18243a20,inset 0 0 0 5px #ffffff03}
.header-book,.button{box-shadow:0 6px 20px #d52d2720;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.circle{transition:background .25s,border-color .25s,box-shadow .25s}
.story img{transition:border-color .25s,box-shadow .25s}
@media(hover:hover){.portrait:hover{border-color:var(--gold);box-shadow:0 18px 42px #060d1c70,0 0 0 3px #e8d27c12;transform:translateY(-3px)}.header-book:hover,.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #d52d2740}.circle:hover{border-color:var(--gold);box-shadow:0 0 20px #e8d27c20}.story:hover img{border-color:var(--gold);box-shadow:0 0 16px #e8d27c25}}
@media(max-width:640px){.price-grid{padding:0 18px;border-radius:20px}.price-row:nth-last-child(2){border-bottom-color:#18243a28}}
@media(prefers-reduced-motion:reduce){.portrait:hover,.header-book:hover,.button:hover{transform:none}}
