
:root{
  --ink:#171713;
  --muted:#6f6b62;
  --paper:#f4f0e8;
  --white:#fffdf8;
  --line:#d8d0c2;
  --soft:#e9e2d5;
  --accent:#374038;
  --gold:#a18a63;
  --deep:#20231f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
a{color:inherit;text-decoration:none}
.site-header{height:82px;display:flex;align-items:center;gap:34px;padding:0 4vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,243,238,.94);backdrop-filter:blur(12px);z-index:20}
.brand{font-size:22px;font-weight:650;letter-spacing:-.04em;white-space:nowrap}.amp{font-family:Georgia,serif;font-style:italic;margin:0 .18em;color:#6d746d}
.desktop-nav{display:flex;gap:24px;margin-left:auto;font-size:14px}.desktop-nav a:hover,.text-link:hover,.link-list a:hover{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:4px;font-weight:650;font-size:14px;border:1px solid var(--ink);transition:.2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ink);color:white}.btn-secondary{background:transparent}.btn-light{background:white;color:var(--ink);border-color:white}
.hero{min-height:72vh;padding:9vh 7vw 7vh;display:flex;flex-direction:column;justify-content:center;max-width:1280px;margin:auto}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:750;color:var(--muted);margin-bottom:18px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,8.5vw,122px);line-height:.88;letter-spacing:-.055em;font-weight:400;margin:0 0 34px;max-width:1100px}
.hero h1 em{font-weight:400;color:var(--accent)}
.lead{font-size:21px;max-width:760px;color:#3e433d;margin:0 0 28px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.medical-signature{font-size:13px;color:var(--muted);max-width:760px;margin-top:38px}
.section{padding:100px 7vw;max-width:1440px;margin:auto}
.section h2,.split-panel h2,.statement h2,.doctor-section h2,.final-cta h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.04em;font-weight:400;margin:0 0 34px}
.cards{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.cards-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--paper);padding:30px;min-height:225px;display:flex;flex-direction:column}.card:hover{background:#efede7}
.card h3{font-family:Georgia,serif;font-size:27px;line-height:1.12;margin:0 0 13px;font-weight:400}.card p{color:var(--muted);margin:0 0 auto}.card span:not(.tag){margin-top:24px;font-weight:700;font-size:14px}
.split-section{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split-panel{padding:90px 7vw;min-height:440px}.split-panel:first-child{border-right:1px solid var(--line)}
.split-panel p{max-width:580px;color:var(--muted);font-size:18px}.text-link{display:inline-block;margin-top:24px;font-weight:700}
.statement{padding:110px 7vw;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;background:var(--accent);color:white}
.statement .section-kicker{color:#c8d0c9}.statement p{font-size:19px;color:#e0e5df}.link-list{display:flex;flex-direction:column;gap:13px;margin-top:30px;font-weight:650}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin:44px 0 38px}.steps span{font-family:Georgia,serif;font-size:36px;color:#969b94}.steps h3{font-size:19px}.steps p{color:var(--muted)}
.adjacent{margin-left:18px}.section-intro{max-width:760px;font-size:18px;color:var(--muted);margin-bottom:35px}
.place{min-height:260px}.place .btn{margin-top:28px;align-self:flex-start}.small-note{font-size:12px;color:var(--muted);margin-top:20px}
.doctor-section{padding:100px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center;background:#e9e6dd}
.doctor-placeholder{aspect-ratio:4/5;background:#d9d5ca;display:flex;align-items:center;justify-content:center;text-align:center;color:#777b74;letter-spacing:.14em;font-size:12px}
.lead-small{font-size:20px}.doctor-section p{max-width:720px;color:#4b504a}
.tag{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:750;margin-bottom:25px}
.final-cta{padding:80px 7vw;background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}.final-cta h2{margin-bottom:0}
footer{padding:60px 7vw 110px;font-size:13px;color:var(--muted)}footer nav{display:flex;gap:20px;margin:20px 0}.disclaimer{max-width:900px;font-size:11px}.footer-brand{color:var(--ink)}
.mobile-book{display:none}
@media(max-width:900px){
  .desktop-nav,.header-cta{display:none}.site-header{height:68px}
  .hero{padding-top:9vh}.hero h1{font-size:clamp(50px,16vw,76px)}
  .cards-3,.steps,.split-section,.statement,.doctor-section{grid-template-columns:1fr}
  .split-panel:first-child{border-right:0;border-bottom:1px solid var(--line)}
  .steps{gap:12px}.steps>div{border-top:1px solid var(--line);padding:20px 0}
  .statement{gap:20px}.doctor-section{gap:40px}
  .final-cta{align-items:flex-start;flex-direction:column}
  .mobile-book{display:block;position:fixed;z-index:30;bottom:0;left:0;right:0;background:var(--ink);padding:14px;text-align:center}
  .mobile-book a{color:white;font-weight:750}
}

/* Premium editorial refinement */
body{
  background:
    radial-gradient(circle at 92% 8%, rgba(161,138,99,.08), transparent 26%),
    linear-gradient(180deg,#f7f4ed 0%,var(--paper) 45%,#f1ede4 100%);
}
.site-header{
  height:88px;
  padding:0 5vw;
  border-bottom:1px solid rgba(161,138,99,.28);
  background:rgba(247,244,237,.9);
}
.brand{
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  font-weight:400;
  letter-spacing:-.03em
}
.desktop-nav{gap:28px;font-size:13px;letter-spacing:.02em}
.header-cta{border-radius:0;padding:14px 20px}
.hero{
  min-height:80vh;
  padding-top:11vh;
  position:relative;
}
.hero:after{
  content:"";
  position:absolute;
  right:7vw;
  top:14%;
  width:1px;
  height:54%;
  background:linear-gradient(var(--gold),transparent);
  opacity:.65;
}
.hero h1{
  max-width:1000px;
  letter-spacing:-.06em;
}
.hero h1 em{color:var(--gold)}
.lead{max-width:690px;font-size:20px;line-height:1.65}
.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.16em}
.btn{border-radius:0;letter-spacing:.025em;padding:14px 20px}
.btn-primary{background:var(--deep);border-color:var(--deep)}
.btn-secondary{border-color:#8f8779}
.medical-signature{
  padding-top:22px;
  border-top:1px solid rgba(161,138,99,.32);
  max-width:700px;
}
.section{padding-top:120px;padding-bottom:120px}
.cards{
  background:rgba(161,138,99,.24);
  border-color:rgba(161,138,99,.24);
}
.card{
  background:rgba(247,244,237,.78);
  min-height:245px;
  transition:background .25s ease, transform .25s ease;
}
.card:hover{
  background:#fbf8f1;
  transform:translateY(-2px);
}
.card h3{font-size:29px}
.statement{
  background:
    linear-gradient(120deg,#222722,#344038);
}
.split-panel{min-height:480px}
.doctor-section{
  background:
    linear-gradient(135deg,#e8e1d4 0%,#f2eee6 100%);
}
.doctor-placeholder{
  background:
    linear-gradient(145deg,#d7cec0,#ece6db);
  border:1px solid rgba(161,138,99,.28);
}
.cards-4{grid-template-columns:repeat(4,1fr)}
.places-grid .place{min-height:315px}
.place-meta{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
  font-weight:750;
  color:var(--gold);
  margin-bottom:24px
}
.place .btn{width:100%;margin-top:32px}
.affiliation-note{
  margin-top:38px;
  padding:28px 0;
  border-top:1px solid rgba(161,138,99,.32);
  border-bottom:1px solid rgba(161,138,99,.32)
}
.affiliation-note span{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
  font-weight:750;
  color:var(--gold)
}
.affiliation-note p{
  margin:8px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px
}
.final-cta{
  background:linear-gradient(120deg,#1f211e,#2f352f);
  border-top:1px solid rgba(161,138,99,.4)
}
footer{border-top:1px solid rgba(161,138,99,.22)}
@media(max-width:1150px){
  .cards-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .cards-4{grid-template-columns:1fr}
  .hero:after{display:none}
}


/* V2 — Swiss luxury / private-clinic editorial direction */
:root{
  --ink:#171612;
  --muted:#706b61;
  --paper:#f6f2e9;
  --paper-2:#efe9df;
  --white:#fffdfa;
  --line:#d8cfbf;
  --accent:#37433b;
  --gold:#aa9270;
  --gold-soft:#c7b79d;
  --deep:#1d211e;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:"Helvetica Neue","Helvetica","Arial",sans-serif;
}
body{
  font-family:var(--sans);
  font-weight:300;
  letter-spacing:.003em;
  background:
    radial-gradient(circle at 90% 0%, rgba(170,146,112,.10), transparent 30%),
    linear-gradient(180deg,#faf7f1 0%,var(--paper) 44%,#f0ebe2 100%);
}
.site-header{
  height:94px;
  padding:0 5.5vw;
  background:rgba(250,247,241,.9);
  border-bottom:1px solid rgba(170,146,112,.22);
}
.brand{
  font-family:var(--serif);
  font-size:25px;
  font-weight:400;
  letter-spacing:-.035em;
}
.amp{color:var(--gold);font-style:italic}
.desktop-nav{
  font-family:var(--sans);
  font-size:12px;
  font-weight:400;
  letter-spacing:.06em;
}
.desktop-nav a{opacity:.82}
.header-cta{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:15px 21px;
}
.eyebrow,.section-kicker,.place-meta,.tag{
  font-family:var(--sans);
  font-size:10px;
  font-weight:500;
  letter-spacing:.20em;
  color:var(--gold);
}
.hero{
  min-height:82vh;
  padding:12vh 7.5vw 8vh;
}
.hero h1,.section h2,.split-panel h2,.statement h2,.doctor-section h2,.final-cta h2,.card h3{
  font-family:var(--serif);
  font-weight:400;
}
.hero h1{
  font-size:clamp(62px,8.9vw,132px);
  line-height:.89;
  letter-spacing:-.06em;
  max-width:1080px;
}
.hero h1 em{
  color:var(--gold);
  font-style:italic;
  font-weight:400;
}
.lead{
  max-width:720px;
  font-size:19px;
  font-weight:300;
  line-height:1.72;
  color:#4a4841;
}
.medical-signature{
  font-size:12px;
  line-height:1.7;
  letter-spacing:.015em;
}
.btn{
  border-radius:0;
  font-family:var(--sans);
  font-size:11px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.11em;
  padding:15px 22px;
}
.section{
  padding-top:130px;
  padding-bottom:130px;
}
.section h2,.split-panel h2,.statement h2,.doctor-section h2,.final-cta h2{
  font-size:clamp(42px,5.2vw,72px);
  line-height:.99;
  letter-spacing:-.045em;
}
.cards{
  gap:0;
  background:transparent;
  border:1px solid rgba(170,146,112,.26);
}
.card{
  border-right:1px solid rgba(170,146,112,.22);
  border-bottom:1px solid rgba(170,146,112,.22);
  background:rgba(250,247,241,.58);
  padding:36px 34px;
  min-height:258px;
}
.card h3{
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.025em;
}
.card p{
  font-size:14px;
  line-height:1.7;
  color:#6c675e;
}
.card span:not(.tag){
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:500;
}
.card:hover{
  background:#fffaf2;
  transform:none;
}
.split-panel{
  padding-top:110px;
  padding-bottom:110px;
}
.split-panel p,.statement p,.doctor-section p{
  font-weight:300;
  line-height:1.75;
}
.statement{
  background:
    radial-gradient(circle at 82% 15%, rgba(199,183,157,.12), transparent 30%),
    linear-gradient(120deg,#202520,#344038);
}
.statement .section-kicker{color:#d5c3a6}
.steps span{
  font-family:var(--serif);
  font-style:italic;
  font-size:34px;
  color:var(--gold-soft)
}
.steps h3{
  font-family:var(--sans);
  font-weight:500;
  font-size:13px;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.steps p{font-size:14px;line-height:1.7}
.place h3{font-size:27px}
.place .btn{margin-top:36px}
.affiliation-note{
  margin-top:46px;
  padding:30px 0;
}
.affiliation-note p{
  font-family:var(--serif);
  font-size:24px;
  letter-spacing:-.02em
}
.doctor-section{
  background:
    linear-gradient(135deg,#e9e1d5 0%,#f5f0e8 100%);
}
.doctor-placeholder{
  background:
    linear-gradient(150deg,#d7cdbf,#eee7dc);
  border:1px solid rgba(170,146,112,.25);
  font-family:var(--sans);
}
.final-cta{
  padding-top:95px;
  padding-bottom:95px;
  background:
    linear-gradient(120deg,#1b1e1b,#2e352f);
}
footer{
  background:#ece6dc;
  border-top:1px solid rgba(170,146,112,.22);
}
footer .brand{font-size:22px}
@media(max-width:900px){
  .site-header{height:72px}
  .hero{padding:10vh 6vw 7vh}
  .hero h1{font-size:clamp(50px,16vw,78px)}
  .section{padding-top:90px;padding-bottom:90px}
}


/* V3 — Direction A: Prairie / Palace suisse */
body{
  background:#f7f3eb;
  color:#1f1d19;
}
.site-header{
  height:98px;
  padding:0 4.5vw;
  background:rgba(248,245,238,.95);
  border-bottom:1px solid rgba(152,126,89,.26);
}
.brand{
  display:flex;
  flex-direction:column;
  line-height:1;
  gap:7px;
}
.brand-main{
  font-family:var(--serif);
  font-size:26px;
  letter-spacing:-.04em;
}
.brand-sub{
  font-family:var(--sans);
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.20em;
  color:#7b7164;
}
.desktop-nav{margin-left:auto;gap:26px}
.btn-outline-gold{
  background:transparent;
  color:#6c5436;
  border:1px solid rgba(139,107,67,.64);
}
.btn-gold{
  background:#9b7748;
  color:#fff;
  border-color:#9b7748;
}
.palace-hero{
  max-width:none;
  min-height:660px;
  padding:0;
  display:grid;
  grid-template-columns:48% 52%;
  border-bottom:1px solid rgba(152,126,89,.24);
  background:#f4efe5;
}
.hero-copy{
  padding:10vh 6vw 8vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(255,252,246,.9),rgba(244,239,229,.92)),
    radial-gradient(circle at 30% 20%,rgba(170,146,112,.11),transparent 45%);
}
.palace-hero h1{
  font-family:var(--serif);
  font-size:clamp(50px,6vw,88px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:400;
  margin:0 0 24px;
}
.palace-hero h2{
  font-family:var(--serif);
  font-size:clamp(37px,4vw,61px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:400;
  margin:0 0 28px;
}
.palace-hero h2 em{
  color:#9b7748;
  font-style:italic;
  font-weight:400;
}
.hero-image-wrap{
  margin:0;
  min-height:660px;
  overflow:hidden;
  position:relative;
  background:#ddd3c4;
}
.hero-image-wrap:after{
  content:"";
  position:absolute;inset:0;
  box-shadow:inset 34px 0 60px rgba(42,37,29,.08);
  pointer-events:none;
}
.hero-image-wrap img{
  width:100%;height:100%;object-fit:cover;
  object-position:center;
  display:block;
}
.palace-hero .lead{
  max-width:560px;
  font-size:17px;
  line-height:1.7;
}
.palace-hero .medical-signature{
  margin-top:32px;
  max-width:580px;
}
.consultation-section{
  max-width:none;
  padding:50px 5vw 58px;
  background:#fbf8f2;
  border-bottom:1px solid rgba(152,126,89,.22);
}
.consultation-section > .section-kicker,
.consultation-section > h2,
.consultation-section > .section-intro{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.consultation-section > h2{
  font-size:clamp(32px,3.4vw,49px);
  margin-bottom:18px;
}
.places-grid{
  margin-top:34px;
  border-top:1px solid rgba(152,126,89,.24);
  border-bottom:1px solid rgba(152,126,89,.24);
}
.places-grid .place{
  min-height:255px;
  padding:30px 28px;
}
.places-grid .place h3{
  font-size:24px;
}
.places-grid .place p{font-size:13px}
.places-grid .place .btn{
  width:auto;
  align-self:flex-start;
  font-size:9px;
}
.affiliation-note{
  text-align:center;
  max-width:760px;
  margin:34px auto 0;
  border-top:0;
  border-bottom:0;
  padding:0;
}
.affiliation-note p{font-size:20px}
#comprendre{
  padding-top:125px;
}
#comprendre > .section-kicker,
#comprendre > h2{
  text-align:center;
}
#comprendre > h2{margin-bottom:52px}
#comprendre .card{
  text-align:center;
  align-items:center;
  min-height:235px;
  justify-content:center;
}
#comprendre .card p{
  margin:0 auto 18px;
  max-width:240px;
}
#comprendre .card span:not(.tag){margin-top:0}
.statement{
  grid-template-columns:1fr 1fr;
  background:
    linear-gradient(115deg,rgba(31,35,31,.98),rgba(51,62,54,.96));
}
.doctor-section{
  background:#f0e9df;
}
.portrait-note{
  position:relative;
  background:
    linear-gradient(135deg,#d7cbbc,#eee7db 60%,#d7cbbc);
}
.portrait-note:before{
  content:"";
  position:absolute;
  width:38%;
  height:72%;
  border:1px solid rgba(132,104,72,.32);
  border-radius:48% 48% 42% 42%;
}
.portrait-note span{
  position:relative;
  z-index:2;
  padding:10px 14px;
  background:rgba(240,233,223,.86);
  color:#786f64;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
@media(max-width:950px){
  .palace-hero{grid-template-columns:1fr}
  .hero-copy{padding:9vh 6vw 7vh}
  .hero-image-wrap{min-height:420px}
}
@media(max-width:700px){
  .site-header{height:74px}
  .brand-main{font-size:22px}
  .brand-sub{display:none}
  .palace-hero h1{font-size:52px}
  .palace-hero h2{font-size:39px}
  .hero-image-wrap{min-height:310px}
  .consultation-section{padding:40px 5vw}
}


/* V4 complete — Mobility / Palace */
.mobility-brand{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:152px;
}
.mobility-word{
  font-family:var(--serif);
  font-size:31px;
  font-weight:400;
  letter-spacing:-.055em;
  line-height:.9;
}
.mobility-brand .brand-sub{
  font-size:7.5px;
  letter-spacing:.18em;
}
.single-line-title{
  white-space:nowrap;
}
.palace-hero .single-line-title{
  font-size:clamp(49px,5.8vw,88px);
  margin-bottom:28px;
}
.editorial-intro{
  padding:62px 7vw 64px;
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:5vw;
  align-items:start;
  border-bottom:1px solid rgba(152,126,89,.18);
}
.editorial-intro p{
  font-family:var(--serif);
  font-size:clamp(26px,3.2vw,43px);
  line-height:1.18;
  letter-spacing:-.035em;
  margin:0;
  max-width:920px;
}
.editorial-intro strong{font-weight:400;color:#8d6b42}
.access-section{
  background:#ede6da;
  padding:90px 7vw;
}
.access-inner{
  max-width:970px;
  margin:0 auto;
  text-align:center;
}
.access-inner h2{
  font-family:var(--serif);
  font-size:clamp(38px,4.8vw,64px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0 auto 26px;
}
.access-inner p{
  max-width:760px;
  margin:0 auto 10px;
  color:#625d54;
  font-size:16px;
  line-height:1.75;
}
.portal-section{
  padding:100px 7vw;
  background:#f8f4ed;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:8vw;
  align-items:end;
  border-top:1px solid rgba(152,126,89,.2);
}
.portal-section h2{
  font-family:var(--serif);
  font-size:clamp(42px,5vw,68px);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1;
  margin:0 0 24px;
}
.portal-section p{
  max-width:680px;
  line-height:1.75;
  color:#666057;
}
.portal-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-brand .mobility-word{
  font-size:28px;
}
@media(max-width:900px){
  .single-line-title{white-space:normal}
  .editorial-intro{grid-template-columns:1fr;gap:10px}
  .portal-section{grid-template-columns:1fr;gap:36px}
}


/* V5 — Anatomical sections more visible */
.anatomy-index{
  display:grid;
  grid-template-columns:1fr 1fr;
  max-width:1440px;
  margin:0 auto;
  border-top:1px solid rgba(152,126,89,.24);
  border-bottom:1px solid rgba(152,126,89,.24);
  background:#f8f4ed;
}
.anatomy-index a{
  position:relative;
  padding:34px 7vw 36px;
  display:grid;
  grid-template-columns:44px 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:end;
  transition:background .2s ease;
}
.anatomy-index a:first-child{
  border-right:1px solid rgba(152,126,89,.24);
}
.anatomy-index a:hover{background:#fbf8f2}
.anatomy-index span{
  grid-row:1 / span 2;
  font-family:var(--serif);
  font-style:italic;
  font-size:18px;
  color:#a48660;
  align-self:start;
  margin-top:8px;
}
.anatomy-index strong{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(42px,4.7vw,68px);
  line-height:.95;
  letter-spacing:-.05em;
}
.anatomy-index small{
  margin-top:10px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#7c766c;
}
.anatomy-panel{
  position:relative;
  overflow:hidden;
  padding-top:72px;
}
.anatomy-title{
  font-family:var(--serif);
  font-size:clamp(74px,8vw,128px);
  font-weight:400;
  letter-spacing:-.065em;
  line-height:.82;
  color:#28251f;
  margin-bottom:46px;
}
.anatomy-panel .section-kicker{
  margin-bottom:14px;
}
.anatomy-panel h2{
  font-size:clamp(32px,3.5vw,50px);
  max-width:610px;
}
.anatomy-panel p{
  max-width:600px;
}
@media(max-width:800px){
  .anatomy-index{grid-template-columns:1fr}
  .anatomy-index a:first-child{
    border-right:0;
    border-bottom:1px solid rgba(152,126,89,.24);
  }
  .anatomy-index a{padding:28px 6vw}
  .anatomy-title{font-size:72px;margin-bottom:34px}
}


/* V6 — Hanche / Genou large only once */
.anatomy-index{display:none !important;}
.anatomy-panel{
  padding-top:88px;
}
.anatomy-title{
  margin-bottom:34px;
}


/* V7 — Bandeau des établissements chirurgicaux */
.surgery-network{
  background:#ebe4d8;
  border-top:1px solid rgba(152,126,89,.25);
  border-bottom:1px solid rgba(152,126,89,.25);
  padding:74px 0 0;
}
.surgery-network-head{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:7vw;
  align-items:end;
  padding:0 7vw 46px;
  max-width:1440px;
  margin:0 auto;
}
.surgery-network-head h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(36px,4vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0;
}
.surgery-network-head p{
  max-width:650px;
  margin:0;
  color:#696258;
  font-size:14px;
  line-height:1.8;
}
.clinic-ribbon{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  width:100%;
  border-top:1px solid rgba(152,126,89,.28);
}
.clinic-tile{
  position:relative;
  min-height:310px;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.26);
  background:#b9ad9d;
  isolation:isolate;
}
.clinic-tile:last-child{border-right:0}
.clinic-tile img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.7) contrast(.93);
  transition:transform .45s ease, filter .45s ease;
}
.clinic-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(22,22,19,.05) 20%,rgba(22,22,19,.76) 100%);
  z-index:1;
}
.clinic-caption{
  position:absolute;
  inset:auto 22px 22px;
  z-index:2;
  color:white;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.clinic-caption small{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
  opacity:.78;
  margin-bottom:7px;
}
.clinic-caption strong{
  font-family:var(--serif);
  font-weight:400;
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.clinic-caption em{
  font-family:var(--sans);
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:8px;
  margin-top:13px;
  opacity:.86;
}
.clinic-tile:hover img{
  transform:scale(1.035);
  filter:saturate(.82) contrast(.98);
}
.photo-note{
  position:absolute;
  top:13px;
  right:13px;
  z-index:3;
  color:white;
  background:rgba(28,27,24,.55);
  padding:6px 8px;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.network-note{
  margin:0;
  padding:16px 7vw 18px;
  font-size:9px;
  letter-spacing:.02em;
  color:#81786c;
  background:#f4efe7;
}
@media(max-width:1150px){
  .clinic-ribbon{grid-template-columns:repeat(3,1fr)}
  .clinic-tile{min-height:280px}
}
@media(max-width:760px){
  .surgery-network-head{grid-template-columns:1fr;gap:22px}
  .clinic-ribbon{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .clinic-tile{
    min-width:76vw;
    min-height:330px;
    scroll-snap-align:start;
  }
}


/* V8 — Cleanup / centered composition */
.centered-section{
  text-align:center;
}
.centered-section > .section-kicker,
.centered-section > h2,
.centered-section > .section-intro{
  margin-left:auto;
  margin-right:auto;
}
.centered-section > h2{
  max-width:880px;
}
.centered-section .cards{
  text-align:left;
}
.centered-section .steps{
  text-align:left;
}
.centered-section > .btn,
.centered-section > .text-link{
  margin-left:8px;
  margin-right:8px;
}
.editorial-intro{
  grid-template-columns:160px minmax(0,1fr);
  padding-top:54px;
  padding-bottom:54px;
}
.editorial-intro p{
  max-width:780px;
  font-size:clamp(24px,2.8vw,38px);
}
.palace-hero .lead{
  max-width:520px;
}
.consultation-section{
  padding-top:44px;
  padding-bottom:50px;
}
.consultation-section .section-intro{
  max-width:650px;
  font-size:15px;
}
.places-grid .place{
  min-height:230px;
}
.place h3{
  font-size:23px;
}
#comprendre .cards{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
#comprendre .card{
  min-height:215px;
  padding:28px 26px;
}
#comprendre .card h3{
  font-size:26px;
}
#comprendre .card p{
  font-size:13px;
  max-width:225px;
}
.split-panel{
  padding-top:78px;
  padding-bottom:84px;
}
.anatomy-title{
  font-size:clamp(68px,7vw,110px);
  margin-bottom:26px;
}
.anatomy-panel h2{
  max-width:530px;
}
.anatomy-panel p{
  font-size:16px;
}
.statement{
  padding-top:90px;
  padding-bottom:90px;
}
.statement h2{
  max-width:720px;
}
.statement p{
  max-width:620px;
}
#parcours{
  max-width:1260px;
}
#parcours > h2{
  max-width:820px;
}
.steps{
  margin-top:36px;
}
.steps p{
  font-size:13px;
}
.access-inner{
  max-width:860px;
}
.access-inner h2{
  max-width:760px;
}
.access-inner p{
  max-width:680px;
}
.doctor-section{
  gap:6vw;
}
.doctor-section p{
  max-width:650px;
}
.read-section{
  max-width:1260px;
}
.read-section .cards{
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
}
.portal-section{
  padding-top:84px;
  padding-bottom:84px;
}
.portal-section > div:first-child{
  max-width:720px;
}
.final-cta{
  padding-top:78px;
  padding-bottom:78px;
}
.surgery-network{
  padding-top:60px;
}
.surgery-network-head{
  grid-template-columns:1fr;
  text-align:center;
  gap:18px;
  padding-bottom:38px;
}
.surgery-network-head h2{
  max-width:830px;
  margin:0 auto;
}
.surgery-network-head p{
  max-width:650px;
  margin:0 auto;
}
.clinic-caption strong{
  font-size:20px;
}
.network-note{
  text-align:center;
}
@media(max-width:900px){
  .editorial-intro{
    grid-template-columns:1fr;
    text-align:center;
  }
}

/* V9 real imagery */
.doctor-photo{
  margin:0;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#ddd4c6;
}
.doctor-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;
  filter:saturate(.88) contrast(.98);
}
.statement-with-photo{
  grid-template-columns:.95fr .8fr .75fr;
  align-items:center;
}
.statement-photo{
  margin:0;
  min-height:430px;
  height:100%;
  overflow:hidden;
}
.statement-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;filter:saturate(.78) contrast(.98);
}
@media(max-width:950px){
  .statement-with-photo{grid-template-columns:1fr}
  .statement-photo{min-height:320px}
}

.medical-page{background:#f7f3eb}
.page-hero{
  padding:110px 7vw 80px;
  max-width:1240px;margin:0 auto;
  text-align:center;
}
.page-hero .section-kicker{margin-bottom:16px}
.page-hero h1{
  font-family:var(--serif);font-size:clamp(54px,7vw,104px);
  line-height:.92;letter-spacing:-.06em;font-weight:400;margin:0 auto 26px;
  max-width:1050px;
}
.page-hero .lede{
  max-width:790px;margin:0 auto;color:#625d54;font-size:18px;line-height:1.75;
}
.page-nav{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
  margin:34px auto 0;max-width:900px;
}
.page-nav a{
  border-bottom:1px solid rgba(152,126,89,.45);
  padding:7px 4px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;
}
.medical-content{
  max-width:1120px;margin:0 auto;padding:0 7vw 100px;
}
.content-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:7vw;align-items:start;
}
.article-main h2{
  font-family:var(--serif);font-size:clamp(34px,4vw,56px);
  line-height:1.02;letter-spacing:-.045em;font-weight:400;margin:70px 0 20px;
}
.article-main h3{
  font-family:var(--serif);font-size:27px;font-weight:400;margin:38px 0 12px;
}
.article-main p,.article-main li{font-size:16px;line-height:1.8;color:#4f4b44}
.article-main ul{padding-left:1.2em}
.callout{
  border-top:1px solid rgba(152,126,89,.45);
  border-bottom:1px solid rgba(152,126,89,.45);
  padding:28px 0;margin:44px 0;
}
.callout strong{
  font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.15;display:block;
}
.side-card{
  position:sticky;top:120px;background:#eee6da;padding:28px;border:1px solid rgba(152,126,89,.22)
}
.side-card h3{font-family:var(--serif);font-size:27px;font-weight:400;margin:0 0 12px}
.side-card p{font-size:13px;line-height:1.7;color:#675f55}
.side-card .btn{width:100%;margin-top:10px}
.references{
  margin-top:70px;padding-top:34px;border-top:1px solid rgba(152,126,89,.3)
}
.references h2{font-size:34px;margin-top:0}
.references li{font-size:13px;line-height:1.6;margin-bottom:10px}
.review-box{
  margin-top:50px;background:#f0e9de;padding:24px 28px;font-size:12px;line-height:1.65;color:#696158
}
.back-home{display:inline-block;margin-top:32px}
@media(max-width:900px){
  .content-grid{grid-template-columns:1fr}
  .side-card{position:static}
  .page-hero{padding-top:80px}
}


/* V10 — Consultation cards rigorously aligned */
.aligned-places{
  align-items:stretch;
  grid-auto-rows:1fr;
}
.aligned-places .place{
  min-height:320px;
  display:grid;
  grid-template-rows:
    28px   /* location label */
    72px   /* clinic name */
    88px   /* address */
    1fr    /* breathing space */
    48px;  /* CTA */
  align-items:start;
  justify-items:center;
  text-align:center;
  padding:30px 24px 26px;
}
.aligned-places .place-meta{
  margin:0;
  height:auto;
  align-self:start;
}
.aligned-places .place h3{
  margin:0;
  align-self:start;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:100%;
  font-size:24px;
  line-height:1.08;
}
.aligned-places .place p{
  margin:0;
  align-self:start;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  text-align:center;
  width:100%;
  font-size:13px;
  line-height:1.65;
}
.aligned-places .place .btn{
  align-self:end;
  justify-self:center;
  width:100%;
  max-width:210px;
  height:44px;
  margin:0;
}
.consultation-section > .small-note{
  max-width:780px;
  margin:22px auto 0;
  text-align:center;
}

/* CTO identity — discreet, institutional, not promotional */
.cto-mark{
  width:max-content;
  max-width:90%;
  margin:0 auto 30px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(152,126,89,.28);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  color:#6f5840;
}
.cto-word{
  font-family:var(--serif);
  font-size:36px;
  line-height:.9;
  font-weight:400;
  letter-spacing:.03em;
}
.cto-sub{
  font-family:var(--sans);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#857969;
}

@media(max-width:1150px){
  .aligned-places .place{
    min-height:300px;
  }
}
@media(max-width:760px){
  .aligned-places .place{
    grid-template-rows:auto auto auto 18px 44px;
    min-height:auto;
    gap:14px;
  }
}

/* V11 — requested hierarchy refinements */
.access-section{
  padding-top:52px !important;
  padding-bottom:54px !important;
}
.access-inner h2{
  font-size:clamp(30px,3.7vw,48px) !important;
  max-width:720px;
  margin-bottom:18px;
}
.access-inner p{
  font-size:14px !important;
  line-height:1.7;
  max-width:650px;
}
.access-inner .text-link{
  margin-top:12px;
  font-size:11px;
}

/* Following band bigger, with Mobility centered above */
.doctor-section{
  padding-top:128px !important;
  padding-bottom:128px !important;
  position:relative;
}
.doctor-section:before{
  content:"Mobility";
  position:absolute;
  top:52px;
  left:0;
  right:0;
  text-align:center;
  font-family:var(--serif);
  font-size:31px;
  letter-spacing:-.045em;
  color:#9b7748;
}
.doctor-section .section-kicker{
  margin-top:22px;
}
@media(max-width:900px){
  .doctor-section{
    padding-top:112px !important;
    padding-bottom:88px !important;
  }
  .doctor-section:before{top:40px;font-size:27px}
}

.medical-page .article-main .decision-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:rgba(152,126,89,.22);margin:36px 0;
}
.medical-page .article-main .decision-grid > div{
  background:#f7f3eb;padding:24px;
}
.medical-page .article-main .decision-grid h3{
  margin:0 0 10px;font-size:24px;
}
.medical-page .article-main .decision-grid p{margin:0;font-size:14px}
.medical-page .article-main .key-points{
  background:#eee6da;padding:28px 30px;margin:36px 0;
}
.medical-page .article-main .key-points h3{margin-top:0}
.medical-page .article-main .faq-item{
  border-top:1px solid rgba(152,126,89,.28);padding:20px 0;
}
.medical-page .article-main .faq-item h3{margin:0 0 7px;font-size:23px}
.medical-page .article-main .faq-item p{margin:0}
.medical-page .page-photo{
  margin:44px 0;aspect-ratio:16/8;overflow:hidden;background:#ddd3c4;
}
.medical-page .page-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}
@media(max-width:760px){
  .medical-page .article-main .decision-grid{grid-template-columns:1fr}
}

/* V12 — full site */
.hub-hero{padding:100px 7vw 70px;max-width:1320px;margin:0 auto;text-align:center}
.hub-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(62px,8vw,112px);letter-spacing:-.065em;line-height:.9;margin:0 0 24px}
.hub-hero .lede{max-width:780px;margin:0 auto;font-size:18px;line-height:1.75;color:#625d54}
.hub-sections{max-width:1320px;margin:0 auto;padding:0 7vw 110px}.hub-group{margin-top:72px}
.hub-group-head{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end;margin-bottom:26px}
.hub-group h2{font-family:var(--serif);font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-.045em;margin:0}
.hub-group-head p{margin:0;color:#696258;line-height:1.7}
.link-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(152,126,89,.25)}
.link-card{padding:26px 26px 28px;border-right:1px solid rgba(152,126,89,.22);border-bottom:1px solid rgba(152,126,89,.22);background:#f8f4ed;min-height:170px}
.link-card:hover{background:#fffaf2}.link-card strong{font-family:var(--serif);font-size:26px;font-weight:400;display:block;line-height:1.08}
.link-card p{font-size:13px;line-height:1.65;color:#70685e;margin:11px 0 18px}.link-card span{text-transform:uppercase;letter-spacing:.11em;font-size:9px;color:#916f48}
.quick-answer{background:#eee6da;padding:30px 32px;margin:38px 0}.quick-answer .section-kicker{margin-bottom:10px}.quick-answer p{font-family:var(--serif)!important;font-size:23px!important;line-height:1.35!important;color:#403b34!important;margin:0!important}
.local-page .page-hero{padding-bottom:50px}.location-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(152,126,89,.22);margin:34px 0}.location-facts>div{background:#f7f3eb;padding:24px;text-align:center}.location-facts small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:8px;color:#96764f;margin-bottom:8px}.location-facts strong{font-family:var(--serif);font-weight:400;font-size:20px}
.legal-page .article-main h2{font-size:38px}.status-banner{background:#f0e7da;border:1px solid rgba(152,126,89,.28);padding:18px 20px;margin:25px 0;font-size:12px;line-height:1.6;color:#655f56}.breadcrumbs{max-width:1120px;margin:26px auto 0;padding:0 7vw;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#857c70}
.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(152,126,89,.22);margin:36px 0}.decision-grid>div{background:#f7f3eb;padding:24px}.decision-grid h3{margin:0 0 10px!important;font-size:24px!important}.decision-grid p{margin:0!important;font-size:14px!important}
.key-points{background:#eee6da;padding:28px 30px;margin:36px 0}.key-points h3{margin-top:0!important}.faq-item{border-top:1px solid rgba(152,126,89,.28);padding:20px 0}.faq-item h3{margin:0 0 7px!important;font-size:23px!important}.faq-item p{margin:0!important}
@media(max-width:900px){.link-grid,.hub-group-head,.location-facts,.decision-grid{grid-template-columns:1fr}}

/* V13 — photographic identity */
.hero-image-wrap img{object-position:center}
.prairie-logo-overlay{
  position:absolute !important;
  top:18px !important;
  left:18px !important;
  width:92px !important;
  height:auto !important;
  object-fit:contain !important;
  z-index:3;
  background:rgba(255,255,255,.92);
  padding:7px;
  filter:none !important;
}
.cto-strip-photo{
  width:min(980px,86vw);
  height:150px;
  margin:0 auto 28px;
  overflow:hidden;
  border:1px solid rgba(152,126,89,.24);
}
.cto-strip-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 48%;
  filter:saturate(.78) contrast(.98);
}
.doctor-photo img{object-position:center 42%}
.statement-photo img{object-position:center 45%}
@media(max-width:760px){
  .cto-strip-photo{height:120px}
  .prairie-logo-overlay{width:76px !important}
}


/* V14 — requested layout */
.fullwidth-hero{
  position:relative !important;
  display:block !important;
  max-width:none !important;
  min-height:690px !important;
  overflow:hidden;
  background:#1e211e;
}
.fullwidth-hero-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
}
.fullwidth-hero-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 52% !important;
  filter:saturate(.82) contrast(.94);
}
.hero-veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(18,20,18,.74) 0%, rgba(18,20,18,.60) 31%, rgba(18,20,18,.22) 62%, rgba(18,20,18,.05) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.12));
}
.hero-copy-overlay{
  position:relative !important;
  z-index:2;
  width:min(760px,78vw);
  min-height:690px;
  padding:105px 0 85px 7vw !important;
  background:transparent !important;
  color:white;
  justify-content:center;
}
.hero-copy-overlay .eyebrow{color:#d8bc95}
.hero-copy-overlay h1,
.hero-copy-overlay h2{color:white}
.hero-copy-overlay h2 em{color:#d8bc95}
.hero-copy-overlay .lead,
.hero-copy-overlay .medical-signature{color:rgba(255,255,255,.88)}
.hero-copy-overlay .medical-signature{
  border-top-color:rgba(255,255,255,.25);
}
.btn-outline-light{
  background:rgba(255,255,255,.04);
  color:white;
  border:1px solid rgba(255,255,255,.72);
}
.btn-outline-light:hover{background:rgba(255,255,255,.10)}

/* Mobility band */
.mobility-intro{
  display:block !important;
  text-align:center;
  padding:74px 7vw 78px !important;
  max-width:none !important;
  background:#f7f3eb;
}
.mobility-intro-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(54px,6.4vw,92px);
  line-height:.9;
  letter-spacing:-.065em;
  color:#9b7748;
  margin:0 auto 28px;
}
.mobility-intro p{
  margin:0 auto !important;
  max-width:850px !important;
  text-align:center;
  font-size:clamp(24px,2.8vw,38px) !important;
  line-height:1.24 !important;
}

/* Consultation locations: 3 on first line + Saxon centered below */
.aligned-places{
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  gap:1px !important;
  background:rgba(152,126,89,.22);
}
.aligned-places .place{
  grid-column:span 2;
}
.aligned-places .place-saxon{
  grid-column:3 / span 2;
  grid-row:2;
}
.aligned-places .place h3,
.aligned-places .place p,
.aligned-places .place-meta{
  text-align:center;
}
.aligned-places .place p{
  justify-content:flex-start;
}

/* Zoomed consultation photo */
.statement-photo img{
  object-fit:cover !important;
  object-position:center 47% !important;
  transform:scale(1.035);
}

/* CTO hero-band much larger */
.cto-strip-photo{
  width:100% !important;
  max-width:none !important;
  height:360px !important;
  margin:0 0 28px !important;
  border-left:0 !important;
  border-right:0 !important;
}
.cto-strip-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
}
.cto-mark{
  margin-top:6px !important;
  margin-bottom:32px !important;
}

@media(max-width:1050px){
  .aligned-places{
    grid-template-columns:repeat(2,1fr) !important;
  }
  .aligned-places .place,
  .aligned-places .place-saxon{
    grid-column:auto !important;
    grid-row:auto !important;
  }
}
@media(max-width:760px){
  .fullwidth-hero{min-height:650px !important}
  .hero-copy-overlay{
    min-height:650px;
    width:88vw;
    padding:92px 6vw 72px !important;
  }
  .aligned-places{grid-template-columns:1fr !important}
  .cto-strip-photo{height:240px !important}
  .mobility-intro{padding-top:58px !important;padding-bottom:62px !important}
}


/* V15 — corrections */

.aligned-places{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1px !important;
}
.aligned-places .place,
.aligned-places .place-saxon{
  grid-column:auto !important;
  grid-row:auto !important;
}
.aligned-places .place h3{
  min-height:64px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
}

/* Full Lavaux panorama: natural aspect ratio, full width, no crop */
.fullwidth-hero{
  position:relative !important;
  min-height:0 !important;
  display:block !important;
  overflow:hidden;
}
.fullwidth-hero-image{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
}
.fullwidth-hero-image img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}
.hero-copy-overlay{
  position:absolute !important;
  inset:0 auto 0 0 !important;
  z-index:2;
  height:100%;
  min-height:0 !important;
  justify-content:center;
}
.hero-veil{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(18,20,18,.66) 0%,
    rgba(18,20,18,.50) 29%,
    rgba(18,20,18,.12) 62%,
    rgba(18,20,18,0) 100%
  );
}

/* Tighter crop for the main presentation portrait */
.doctor-photo img{
  transform:scale(1.08);
  transform-origin:52% 40%;
  object-position:center 40% !important;
}

@media(max-width:1050px){
  .aligned-places{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:700px){
  .aligned-places{grid-template-columns:1fr !important;}
  .hero-copy-overlay{
    width:88vw;
    padding-top:7vw !important;
    padding-bottom:7vw !important;
  }
}

.secretariat-strip{padding:54px 7vw 58px;background:#f2ece2;text-align:center;border-top:1px solid rgba(152,126,89,.18);border-bottom:1px solid rgba(152,126,89,.22)}
.secretariat-strip h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,52px);letter-spacing:-.045em;line-height:1;margin:0 0 28px}
.secretariat-actions{display:flex;justify-content:center;gap:1px;max-width:820px;margin:0 auto;background:rgba(152,126,89,.24);border:1px solid rgba(152,126,89,.24)}
.secretariat-actions a{flex:1;background:#f8f4ed;padding:22px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:92px}
.secretariat-actions span{text-transform:uppercase;letter-spacing:.13em;font-size:8px;color:#96764f;margin-bottom:6px}
.secretariat-actions strong{font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.2}
@media(max-width:700px){
  .secretariat-strip{padding:42px 5vw 46px}
  .secretariat-actions{flex-direction:column}
  .secretariat-actions a{width:100%;min-height:78px}
  .consultation-section{padding-left:5vw!important;padding-right:5vw!important}
  .aligned-places{width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .aligned-places .place{width:100%!important;padding-left:22px!important;padding-right:22px!important}
  .aligned-places .place .btn{display:flex!important;width:100%!important;max-width:none!important;min-height:46px!important;margin:0 auto!important;padding:13px 14px!important;align-items:center!important;justify-content:center!important;line-height:1.15!important;text-align:center!important}
  .actions{width:100%;gap:10px!important}
  .actions .btn{flex:1 1 100%;width:100%;min-height:48px;margin:0!important}
  .mobile-book{padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}
  .mobile-book a{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px}
}


/* =========================================================
   V17 — iPhone / mobile refinement
   ========================================================= */
@media (max-width:700px){

  /* Header */
  .site-header{
    height:64px !important;
    padding:0 18px !important;
  }
  .mobility-word{
    font-size:27px !important;
    line-height:1 !important;
  }
  .brand-sub{
    display:none !important;
  }

  /* Consultation section */
  .consultation-section{
    padding:38px 18px 46px !important;
  }
  .consultation-section > h2{
    font-size:31px !important;
    line-height:1.05 !important;
    letter-spacing:-.035em !important;
    margin-bottom:14px !important;
  }
  .consultation-section .section-intro{
    font-size:13px !important;
    line-height:1.55 !important;
    max-width:330px !important;
  }
  .places-grid{
    margin-top:24px !important;
    border:0 !important;
  }
  .aligned-places{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    background:transparent !important;
  }
  .aligned-places .place,
  .aligned-places .place-saxon{
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-height:0 !important;
    padding:22px 20px 20px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
    background:#f8f4ed !important;
    border:1px solid rgba(152,126,89,.24) !important;
  }
  .aligned-places .place-meta{
    height:auto !important;
    min-height:0 !important;
    margin:0 0 12px !important;
    font-size:9px !important;
    line-height:1.2 !important;
  }
  .aligned-places .place h3{
    min-height:0 !important;
    height:auto !important;
    margin:0 0 14px !important;
    font-size:24px !important;
    line-height:1.05 !important;
    display:block !important;
    width:100% !important;
    text-align:center !important;
  }
  .aligned-places .place p{
    min-height:0 !important;
    height:auto !important;
    margin:0 0 18px !important;
    display:block !important;
    font-size:13px !important;
    line-height:1.5 !important;
    width:100% !important;
    text-align:center !important;
    color:var(--muted) !important;
  }
  .aligned-places .place .btn{
    width:100% !important;
    max-width:280px !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 auto !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:.12em !important;
    box-sizing:border-box !important;
  }
  .consultation-section > .small-note{
    margin-top:18px !important;
    font-size:10px !important;
    line-height:1.5 !important;
  }

  /* Secretariat */
  .secretariat-strip{
    padding:36px 18px 40px !important;
  }
  .secretariat-strip h2{
    font-size:30px !important;
    margin-bottom:20px !important;
  }
  .secretariat-actions{
    max-width:430px !important;
    width:100% !important;
    margin:0 auto !important;
    flex-direction:column !important;
  }
  .secretariat-actions a{
    box-sizing:border-box !important;
    width:100% !important;
    min-height:72px !important;
    padding:16px !important;
  }
  .secretariat-actions strong{
    font-size:17px !important;
    overflow-wrap:anywhere !important;
  }

  /* The former full-width black fixed bar was visually too heavy on iPhone.
     Keep the action, but make it a floating compact control. */
  .mobile-book{
    display:block !important;
    position:fixed !important;
    z-index:40 !important;
    left:16px !important;
    right:16px !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    padding:0 !important;
    background:transparent !important;
    text-align:center !important;
    pointer-events:none !important;
  }
  .mobile-book a{
    pointer-events:auto !important;
    width:100% !important;
    max-width:430px !important;
    min-height:48px !important;
    margin:0 auto !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    background:rgba(20,22,19,.96) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 8px 26px rgba(0,0,0,.16) !important;
    font-size:12px !important;
    font-weight:600 !important;
    text-transform:uppercase !important;
    letter-spacing:.09em !important;
  }

  /* Avoid content hiding behind the floating CTA */
  footer{
    padding-bottom:100px !important;
  }
}
