/* Shared visual language, with editorial olive theme below. */
:root {
  --bg: #121110;
  --bg2: #1b1917;
  --gold: #d9b87e;
  --gold-lt: #eccf96;
  --cream: #f4ece0;
  --text: #c4b7a6;
  --muted: #9a8d80;
  --line: rgba(217, 184, 126, .18);
  --action-line: rgba(217, 184, 126, .55);
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Cormorant Garamond', Georgia, serif;
  --font-ui: 'Cinzel', Georgia, serif;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

/* Section backgrounds describe function, rather than alternating by position. */
#servizi, #about, #novita, #banner, #sedi, #recensioni, #blog, #mappa,
.sp-band, .sp-foot, .mag-foot, .pp-foot {
  background: var(--bg);
}
#contatti {
  background: var(--bg2);
  border-top: 1px solid var(--line);
}
.sede-card, .blog-card, .novita-panel, .rev-box, .rev-item, .rev-card,
.map-card, .sp-info, .sp-reviews-box, .mag-window, .listino-modal-box {
  background: var(--bg2);
}
.listino-col, .listino-col-head { background: var(--bg2); }
.form-input, .form-select, .form-textarea { background: var(--bg); }
.sp-band, #banner { border-block: 1px solid var(--line); }
.banner-bg { background: none; }

/* Playfair for headings, Cormorant for reading, Cinzel for controls and labels. */
.section-title, .sp-city, .sp-section-title, .sede-name, .blog-title,
.map-card-name, .services-preview h3, .mag-h1, .mag-article h2,
.mag-article h3, .pp-wrap h1, .pp-wrap h2 {
  font-family: var(--font-heading);
  font-weight: 400;
  color: var(--cream);
}
.section-title em, .sp-section-title em, .bb-shimmer em, em.bb-shimmer {
  color: var(--gold);
  -webkit-text-fill-color: var(--gold);
  background: none;
  animation: none;
}
.hero-bg { animation: none; }
.section-label, .sp-eyebrow, .hero-eyebrow, .banner-author,
.blog-cat, .mag-article .blog-modal-cat, .side-title, .story-box-title,
.sp-info-lbl, .sp-member-role, .form-label, .contact-lbl,
.map-info-lbl, .map-card-hours, .rev-imeta, .rev-src, .rev-ireply b {
  font-family: var(--font-ui);
  font-size: .78rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 1;
}
.rev-imeta, .rev-src { color: var(--muted); }
.about-text p:not(.section-label), .services-preview p, .novita-text,
.mag-article p, .pp-wrap p:not(.pp-sub), .pp-wrap ul,
.rev-itext, .rev-text, .rev-ireply, .rev-reply, .story-box p {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--text);
}
.about-text p:not(.section-label), .services-preview p, .novita-text,
.mag-article p, .pp-wrap p:not(.pp-sub), .pp-wrap ul {
  font-size: 1.1rem;
  line-height: 1.8;
}
.novita-text strong { color: var(--gold); }
.listino-service { font-size: 1.08rem; color: var(--text); }
.listino-note { font-size: 1rem; }
.mag-article h3, .pp-wrap h2 { color: var(--gold); }
.pp-wrap h2 { font-size: 1.4rem; letter-spacing: 0; text-transform: none; }

.services-preview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 2rem; }
.services-preview article { padding: 25px 18px; border-top: 1px solid var(--line); }
.services-preview h3 { font-size: 1.5rem; line-height: 1.3; margin: 0 0 14px; }

/* The same button treatment applies to links and native buttons. */
.btn-primary, .btn-secondary, .nav-cta, .mm-cta, .book-opt,
.sp-btn-call, .sp-btn-wa, .sp-reviews-btn, .rev-btn, .rev-expand,
.map-dir-btn, .map-consent-btn, .cookie-btn, .revoke-btn {
  font-family: var(--font-ui);
  font-size: .8rem;
  font-weight: 400;
  font-style: normal;
  letter-spacing: .09em;
  line-height: 1.5;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  border-radius: 2px;
  cursor: pointer;
}
.btn-primary, .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  max-width: 100%;
  padding: 1rem 1.4rem;
  vertical-align: middle;
}
.btn-primary, .sp-reviews-btn, .rev-btn, .map-dir-btn, .cookie-accept {
  background: var(--gold);
  border: 1px solid var(--gold);
  color: var(--bg);
}
.btn-primary:visited, .sp-reviews-btn:visited, .rev-btn:visited, .map-dir-btn:visited { color: var(--bg); }
.btn-primary:hover, .sp-reviews-btn:hover, .rev-btn:hover, .map-dir-btn:hover, .cookie-accept:hover {
  background: var(--gold-lt);
  border-color: var(--gold-lt);
  color: var(--bg);
}
.btn-secondary, .btn-secondary:visited, .nav-cta, .nav-cta:visited,
.sp-btn-call, .sp-btn-call:visited, .rev-expand, .map-consent-btn,
.cookie-reject, .revoke-btn, .book-opt:not(.book-opt-wa) {
  background: transparent;
  border: 1px solid var(--action-line);
  color: var(--gold);
}
.btn-secondary:hover, .nav-cta:hover, .sp-btn-call:hover, .rev-expand:hover,
.map-consent-btn:hover, .cookie-reject:hover, .revoke-btn:hover,
.book-opt:not(.book-opt-wa):hover {
  background: rgba(217, 184, 126, .07);
  border-color: var(--gold);
  color: var(--gold-lt);
}
#servizi .services-cta { gap: .7rem; }
.about-text p.story-cta { margin-top: 1.7rem; margin-bottom: 0; }
.services-cta span:first-child, .story-link span:first-child { min-width: 0; overflow-wrap: break-word; }
.services-cta span:last-child, .story-link span:last-child { flex: none; font-size: 1.2rem; line-height: 1; }

.sp-back, .sp-foot a, .mag-back, .pp-back, .rev-google-link, .blog-readmore {
  font-family: var(--font-ui);
  font-size: .8rem;
  font-weight: 400;
  letter-spacing: .09em;
  color: var(--gold);
}
.sp-back:hover, .sp-foot a:hover, .mag-back:hover, .pp-back:hover, .rev-google-link:hover { color: var(--gold-lt); }
.booking-form .form-privacy a, .booking-form .form-privacy a:visited { color: var(--gold); }
.booking-form .form-privacy a:hover { color: var(--gold-lt); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

@media (max-width: 800px) {
  .services-preview { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 450px) {
  .services-preview { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary, .btn-secondary { transition: none; }
}

/* Editorial black / Pantone 466 C screen approximation. */
:root{--bg:#f7f5ef;--bg2:#ede8de;--cream:#202020;--text:#414141;--muted:#686868;--gold:#806a44;--gold-lt:#665332;--line:#d9d2c3;--action-line:#9b8865;--font-heading:Georgia,'Times New Roman',serif;--font-body:Georgia,'Times New Roman',serif;--font-ui:Arial,Helvetica,sans-serif;--champagne:#c6aa76;--olive:#181818}
body{background:var(--bg);color:var(--text)}
nav,nav.scrolled,.sp-top{background:#101010;backdrop-filter:none;border-bottom:1px solid #5d543c}
.nav-links{gap:1.8rem}.nav-links a{font-family:var(--font-ui);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:#f5f1e6;opacity:1}
nav .nav-cta,.sp-top .sp-back{color:var(--champagne);border-color:var(--champagne)}
#hero{height:auto;min-height:620px;margin-top:76px;padding:0;display:grid;grid-template-columns:47% 53%;text-align:left;align-items:stretch;background:#eee9df}
.hero-bg,.hero-grain,.hero-line-left,.hero-line-right,#hero .scroll-hint{display:none}
.hero-content{padding:85px clamp(28px,5vw,90px);align-self:center}
.editorial-title{font-family:var(--font-heading);font-size:clamp(42px,5.1vw,76px);line-height:1.07;font-weight:400;letter-spacing:-.045em;color:#101010;margin:24px 0 28px}
.editorial-title em{font-weight:400;color:#806a44}
.hero-eyebrow{font-size:.64rem;letter-spacing:.2em;line-height:1.8;opacity:1;animation:none}
.hero-sub{font-size:1.08rem;line-height:1.7;letter-spacing:0;font-style:normal;color:var(--text);opacity:1;animation:none;margin-bottom:28px}
.hero-btns{justify-content:flex-start;gap:12px;opacity:1;animation:none}
.editorial-hero-photo{width:100%;height:100%;min-height:620px;object-fit:cover;object-position:center}
.btn-primary,.sp-reviews-btn,.rev-btn,.map-dir-btn,.cookie-accept{background:var(--olive);border-color:var(--olive);color:#f7f3e9}
.btn-primary:visited,.sp-reviews-btn:visited,.rev-btn:visited,.map-dir-btn:visited{color:#f7f3e9}
.btn-primary:hover,.sp-reviews-btn:hover,.rev-btn:hover,.map-dir-btn:hover,.cookie-accept:hover{background:#303030;border-color:#303030;color:white}
.btn-primary,.btn-secondary{font-size:.65rem;letter-spacing:.13em;border-radius:0;padding:16px 21px}
.btn-secondary:hover,.sp-btn-call:hover,.rev-expand:hover{color:#181818;background:#e5dfd1}
section{padding:90px 32px}.container{max-width:1240px}
.section-label{font-size:.65rem;letter-spacing:.24em}.section-title{letter-spacing:-.035em}
#about,#sedi{background:#ede8de}#servizi,#recensioni,#blog,#novita,#mappa{background:#f7f5ef}
.services-preview{gap:24px;margin:34px 0}.services-preview article{padding:24px 0;border-top:1px solid #bca779}
.services-preview h3{font-size:1.65rem}.services-preview p{font-size:1rem}
.sede-card,.blog-card,.rev-box,.rev-item,.rev-card,.map-card,.novita-panel{background:#faf8f3;border-color:var(--line);box-shadow:none;border-radius:0}
.about-text p:not(.section-label),.sede-desc,.contact-val,.form-privacy{color:var(--text)}
.about-frame{border-color:#bca779}.about-inner{background:#e7e2d8}
#banner{background:#181818;color:#f6f1e6}.banner-quote{color:#f6f1e6}.banner-author{color:#d3ba88}
.sp-hero{background:#ede8de}.sp-hero::before{display:none}.sp-band{background:#ede8de}.sp-avatar{background:#e6dfd1;color:#806a44;opacity:1}
.sp-info{background:#f7f5ef}.sp-gallery{gap:16px}.sp-gallery .gcell{border:1px solid var(--line)}
.form-input,.form-select,.form-textarea{color:#181818;border-color:#c8bfac;background:#faf8f3}
.listino-modal-box,.blog-modal-box{background:#f7f5ef;color:var(--text)}
.bb-shimmer{background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important}
footer{background:#101010;color:#e3ddcd}footer a,footer .footer-logo{color:#c6aa76}
#cookie-banner{background:#f1ece2;color:#414141;border-top:1px solid #c8bfac}#cookie-banner p{color:#414141}
.mobile-menu{background:#101010}.mobile-menu a{color:#eee8da}
@media(max-width:900px){#hero{grid-template-columns:1fr 1fr;margin-top:70px;min-height:520px}.hero-content{padding:45px 25px}.editorial-hero-photo{min-height:520px}.editorial-title{font-size:48px}.hero-btns{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){#hero{display:flex;flex-direction:column;margin-top:68px;min-height:0}.hero-content{padding:44px 25px 38px}.editorial-title{font-size:49px;margin:20px 0}.editorial-hero-photo{height:330px;min-height:0}.hero-eyebrow{font-size:.6rem}.hero-btns{flex-direction:row}.hero-sub{font-size:1rem}.btn-primary,.btn-secondary{font-size:.6rem;padding:14px 15px}section{padding:58px 22px}.services-preview{grid-template-columns:1fr 1fr;gap:20px}.services-preview h3{font-size:1.35rem}.services-preview p{font-size:.95rem}.nav-logo img{max-width:155px;object-fit:contain}nav{padding:18px 20px}.sp-gallery{gap:10px}}

/* Readability and navigation audit — light editorial theme. */
.sede-address,.contact-info p,.blog-modal-box p{color:var(--text);font-weight:400}
.sede-address{font-size:1.05rem;line-height:1.65}
.sede-address-icon,.sede-num-label,.map-card-hours,.rev-sub,.sp-info-lbl{opacity:1}
.sede-img-label{color:#f7f5ef}
.sede-img .sede-num-label{color:#e6d4af}
.sede-review{border-color:var(--line)}
.rev-iav,.rev-avatar{background:#e7e1d4;color:#5c4b30}
.contact-info p,.form-privacy{font-size:1rem;line-height:1.7}
.form-input::placeholder,.form-textarea::placeholder{color:#707064;opacity:1}
.form-input,.form-select,.form-textarea{font-size:16px;min-height:48px;color-scheme:light}
.form-select{appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23303522' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.form-select option{background:#faf8f3;color:#181818}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#606060;outline:2px solid #606060;outline-offset:2px}
.editorial-hero-placeholder{background:#e0dfd3;border-left:1px solid #d0cbbd}
.rev-menu{min-width:260px;max-width:calc(100vw - 44px);background:#faf8f3;border:1px solid #c8bfac;border-radius:8px;padding:10px;box-shadow:0 12px 32px #20202024;text-align:left}
.rev-menu-title{font-size:.72rem;color:#686868;padding:9px 12px}
.rev-menu a{font:16px/1.5 var(--font-body);padding:13px 12px;border-radius:4px;color:#181818}
.rev-menu a:hover,.rev-menu a:focus-visible{background:#e7e3d7;color:#202020}
.book-opt-wa{color:#176b38;border-color:#176b38}
.sp-btn-wa{background:#176b38;color:#fff}.sp-btn-wa:hover{background:#12582e}
.nav-burger{width:44px;height:44px;flex-shrink:0}.nav-burger span{background:#d8c397;height:2px}
.mobile-menu{top:82px;left:16px;right:16px;bottom:auto;width:auto;max-height:calc(100dvh - 100px);overflow-y:auto;padding:20px 24px 24px;background:#f7f5ef;border:1px solid #d9d2c3;border-radius:8px;box-shadow:0 18px 48px #10101033;transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:102}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#686868;font:11px/1.5 var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
.menu-close{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;border:0;color:#181818;font:13px var(--font-ui);cursor:pointer}.menu-close span{font-size:26px}
.mobile-menu a{font:22px/1.35 var(--font-heading);letter-spacing:0;color:#181818;padding:13px 0;border-color:#d9d2c3}
.mobile-menu a:hover{color:#665332}.mobile-menu .mm-cta{margin-top:16px;padding:15px;background:#181818;border-color:#181818;color:#f7f5ef;font:12px/1.5 var(--font-ui);letter-spacing:.1em}
.mobile-menu .mm-cta:hover{background:#303030;color:white}
.mm-overlay{z-index:101;background:#10101070;backdrop-filter:blur(3px)}
section[id]{scroll-margin-top:85px}
@media(max-width:600px){.editorial-hero-placeholder{flex:none;border-left:0;border-top:1px solid #d0cbbd}.mobile-menu{top:86px}nav{min-height:76px;padding:16px 18px}.nav-social{gap:8px}#hero{margin-top:76px}.sede-body{padding:24px}.sede-tel{font-size:.78rem;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mobile-menu,.rev-track{transition:none!important}.reveal{opacity:1!important;transform:none!important}}

.wa-float{color:#fff}.nav-social a svg{color:inherit}

.editorial-hero-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;background:#181818;padding:50px;box-sizing:border-box}.hero-brand-logo{display:block;width:min(85%,420px);height:auto;object-fit:contain}.editorial-hero-brand>span{font:12px/1.5 var(--font-ui);letter-spacing:.3em;text-transform:uppercase;color:#d2b889}.editorial-title{font-size:clamp(42px,4.6vw,68px)}@media(max-width:600px){.editorial-title{font-size:44px}.editorial-hero-brand{height:330px;padding:35px;flex:none}.hero-brand-logo{width:85%}}

/* Soft glass, black satin and quiet champagne reflections. */
nav,nav.scrolled,.sp-top{
  background:linear-gradient(115deg,rgba(48,45,39,.96),rgba(14,14,14,.94) 65%);
  border-bottom:1px solid rgba(198,170,118,.32);
  box-shadow:0 5px 24px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
.editorial-hero-brand{
  background:radial-gradient(ellipse at 75% 18%,rgba(198,170,118,.22),transparent 57%),linear-gradient(135deg,#292825 0%,#161616 48%,#080808 100%);
  box-shadow:inset 1px 1px rgba(255,255,255,.13),inset 0 -1px rgba(198,170,118,.16);
}
#hero{background:radial-gradient(ellipse at 10% 10%,#fffdf8,transparent 65%),#eee9df}
#about,#sedi,.sp-hero,.sp-band{background:radial-gradient(ellipse at 8% 0%,rgba(255,255,255,.65),transparent 65%),linear-gradient(125deg,#eee9df,#e6e0d4)}
#servizi,#recensioni,#blog,#novita,#mappa{background:radial-gradient(ellipse at 95% 5%,rgba(198,170,118,.1),transparent 60%),#f7f5ef}
.sede-card,.blog-card,.rev-box,.rev-item,.rev-card,.map-card,.novita-panel{
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(250,248,243,.78));
  border:1px solid rgba(184,164,127,.36);border-radius:16px;
  box-shadow:inset 0 1px 0 #fff,0 9px 30px rgba(44,36,22,.055);
}
.sede-card,.map-card{overflow:hidden}
.sede-card:hover,.blog-card:hover{
  border-color:rgba(155,125,75,.6);
  box-shadow:inset 0 1px 0 #fff,0 16px 36px rgba(44,36,22,.11);
}
/* Leave review popovers unclipped and above neighbouring glass surfaces. */
.rev-box{position:relative;z-index:2}
.mobile-menu,.rev-menu,.listino-modal-box,.blog-modal-box{
  background:linear-gradient(125deg,rgba(255,253,248,.97),rgba(242,237,226,.96));
  border:1px solid rgba(198,170,118,.45);border-radius:16px;
  box-shadow:inset 0 1px 0 #fff,0 20px 60px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
}
#banner,footer{
  background:radial-gradient(ellipse at 85% 0%,rgba(198,170,118,.14),transparent 62%),linear-gradient(120deg,#252421,#101010 65%);
  border-top:1px solid rgba(198,170,118,.23);
}
.btn-primary,.sp-reviews-btn,.rev-btn,.map-dir-btn,.cookie-accept,.mobile-menu .mm-cta{
  background:linear-gradient(135deg,#343330,#111);
  box-shadow:inset 0 1px rgba(255,255,255,.15),0 4px 12px rgba(0,0,0,.1);
  border-radius:7px;
}
.btn-secondary,.sp-btn-call,.book-opt-wa{border-radius:7px}
.form-input,.form-select,.form-textarea{background-color:rgba(255,255,255,.8);border-radius:8px;box-shadow:inset 0 1px 2px rgba(44,36,22,.035)}
#cookie-banner{background:rgba(247,245,239,.97);box-shadow:0 -8px 30px rgba(0,0,0,.07);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
@media(prefers-reduced-motion:reduce){.sede-card,.blog-card{transition:none!important}.sede-card:hover,.blog-card:hover{transform:none!important}}

/* Consistent controls and a softer charcoal-to-ivory palette. */
:root{--control-radius:11px;--bg:#f0ece3;--bg2:#e7e1d5;--olive:#302f2b}
.btn-primary,.btn-secondary,.nav-cta,.mm-cta,.book-opt,
.sp-btn-call,.sp-btn-wa,.sp-reviews-btn,.rev-btn,.rev-expand,
.map-dir-btn,.map-consent-btn,.cookie-btn,.revoke-btn,
.mobile-menu .mm-cta{border-radius:var(--control-radius)}
nav,nav.scrolled,.sp-top{
  background:linear-gradient(115deg,rgba(64,61,54,.97),rgba(35,35,32,.96) 80%);
  border-bottom-color:rgba(198,170,118,.25);
  box-shadow:0 8px 24px rgba(42,39,33,.13),inset 0 1px rgba(255,255,255,.08);
}
nav .nav-cta{background:rgba(255,255,255,.045);color:#dec99f;border-color:#ad9670}
nav .nav-cta:hover{background:rgba(255,255,255,.09);color:#f3e4c7}
#hero{background:radial-gradient(ellipse at 12% 10%,#f5f1e8,transparent 70%),#e5dfd3}
.editorial-hero-brand{
  background:radial-gradient(ellipse at 18% 15%,rgba(198,170,118,.2),transparent 70%),linear-gradient(125deg,#504c42,#2b2b27 48%,#20211f);
  box-shadow:inset 1px 1px rgba(255,255,255,.1);
}
#about,#sedi,.sp-hero,.sp-band{
  background:radial-gradient(ellipse at 8% 0%,rgba(255,255,255,.3),transparent 65%),linear-gradient(125deg,#eae4d9,#e2dbce);
}
#servizi,#recensioni,#blog,#novita,#mappa{background:radial-gradient(ellipse at 95% 5%,rgba(198,170,118,.09),transparent 60%),#f0ece3}
#contatti,.sp-info{background:linear-gradient(150deg,#ebe5da,#e2dbce)}
#banner,footer{
  background:radial-gradient(ellipse at 85% 0%,rgba(198,170,118,.15),transparent 65%),linear-gradient(155deg,#4c483f 0%,#302f2b 35%,#252622 100%);
  border-top-color:rgba(198,170,118,.2);
}
.btn-primary,.sp-reviews-btn,.rev-btn,.map-dir-btn,.cookie-accept,.mobile-menu .mm-cta{
  background:linear-gradient(135deg,#48453e,#2b2c28);border-color:#393a34;
}
.sede-card,.blog-card,.rev-box,.rev-item,.rev-card,.map-card,.novita-panel{
  background:linear-gradient(135deg,rgba(253,250,244,.92),rgba(241,236,226,.85));
}

/* Rounded imagery and matching secondary-page headers. */
.about-frame,.about-inner,.about-photo,.editorial-hero-photo,
.sp-gallery .gcell,.sp-gallery .gcell img,.sede-img,
.sp-info-row,.sp-reviews-box,.sp-map-wrap{border-radius:16px}
.about-photo{clip-path:inset(0 round 16px)}
.sede-img,.sp-info-row{overflow:hidden}
.novita-badge,.sede-est{border-radius:9px}
.sp-info-row{background:#e7e1d5;box-shadow:inset 0 1px rgba(255,255,255,.75),0 8px 24px rgba(44,36,22,.05)}
.pp-top,.mag-top{
  background:linear-gradient(115deg,rgba(64,61,54,.97),rgba(35,35,32,.96) 80%);
  border-bottom:1px solid rgba(198,170,118,.25);
  box-shadow:0 8px 24px rgba(42,39,33,.13),inset 0 1px rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
.pp-top .pp-back,.mag-top .mag-back,.sp-top .sp-back,
.pp-top .pp-back:visited,.mag-top .mag-back:visited,.sp-top .sp-back:visited{
  color:#dec99f;opacity:1;
}
.pp-top .pp-back:hover,.mag-top .mag-back:hover,.sp-top .sp-back:hover,
.pp-top .pp-back:focus-visible,.mag-top .mag-back:focus-visible,.sp-top .sp-back:focus-visible{
  color:#f3e4c7;
}

/* Give salon photographs their own visibly rounded frame on all four sides. */
.sede-card .sede-img{margin:12px 12px 0;border-radius:14px;clip-path:inset(0 round 14px);overflow:hidden}
.sp-gallery .gcell{border-radius:16px;clip-path:inset(0 round 16px)}

/* Interior photographs in all three salon pages. */
.photo-break img,.photo-break-pair img,.photo-break-trio img{border-radius:16px;clip-path:inset(0 round 16px)}

/* The main logo panel is a full-bleed band, so it stays square. */
.editorial-hero-brand{border-radius:0!important;clip-path:none!important}

/* One consistent dark tone across the brand surfaces. */
:root{--brand-dark:#292824}
nav,nav.scrolled,.sp-top,.pp-top,.mag-top,
#banner,footer,.editorial-hero-brand{background:var(--brand-dark)!important}
.editorial-hero-brand{box-shadow:inset 0 1px rgba(255,255,255,.08)}
