@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,20,1;9..144,700,20,1&display=swap');
:root{--blue:#254D68;--deep:#1C3C51;--peach:#E8A06B;--blush:#F4D9C9;--cream:#F8F0E6;--ink:#273B44;--muted:#65737A}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;line-height:1.68;background:#FFFCF8}.wrap{width:min(1140px,calc(100% - 44px));margin:auto}.header{background:#FFFCF8f5;border-bottom:1px solid #e9dcd0;position:sticky;top:0;z-index:3;backdrop-filter:blur(12px)}.nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0}.brand{font-size:20px;font-weight:700;color:var(--blue);line-height:1.25;letter-spacing:-.4px}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:5px;letter-spacing:.1px}.nav nav{display:flex;gap:25px;flex-wrap:wrap}.nav a{color:var(--blue);text-decoration:none;font-size:13px;font-weight:700}.nav a:hover{color:#B66C41}.hero{background:radial-gradient(circle at 88% 12%,#f3c6aa 0,transparent 30%),linear-gradient(115deg,#f8f0e6,#fff8f1 64%,#f5e4d8);padding:88px 0 106px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:64px}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:700;color:#B86D44;text-transform:uppercase}h1,h2,h3{line-height:1.15;color:var(--blue)}h1,h2{font-family:'Trebuchet MS',Arial,sans-serif;letter-spacing:-1.5px}h1{font-size:clamp(43px,5.4vw,76px);margin:20px 0 25px;font-weight:700;max-width:720px}h2{font-size:clamp(32px,3.6vw,49px);margin:14px 0 29px}h1 em,h2 em{font-style:normal;color:#BF764E}h3{font-size:21px;letter-spacing:-.4px}p{margin:0 0 18px}.hero p{font-size:18px;max-width:570px}.btn{display:inline-flex;gap:18px;align-items:center;background:var(--blue);color:white;padding:14px 25px;border-radius:100px;text-decoration:none;font-weight:700;margin-top:13px;box-shadow:0 7px 18px #254d6828}.btn:hover{background:var(--deep)}.btn span{font-size:20px}.photo{background:linear-gradient(135deg,#f1c9ae,#f5e4d6 50%,#e2c6b6);border:2px dashed #d99c7a;color:var(--blue);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:30px;gap:7px;position:relative}.photo span{font-size:52px;color:#C47B53}.photo small{color:var(--muted)}.hero-photo{height:420px;box-shadow:18px 18px 0 #e5aa86;transform:rotate(1deg)}.shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:-43px;position:relative;z-index:1}.shortcuts a{background:#fffdfa;box-shadow:0 12px 30px #593d2d17;border:1px solid #f1dfd1;border-radius:18px;padding:24px 16px;text-decoration:none;color:var(--blue);font-weight:700;text-align:center;transition:transform .2s}.shortcuts a:hover{transform:translateY(-4px);border-color:var(--peach)}.intro{display:grid;grid-template-columns:340px 1fr;gap:80px;align-items:center;padding:115px 0}.intro p{font-size:16px}.intro p strong{color:var(--blue)}.portrait{height:460px;background:linear-gradient(135deg,#e5d6c7,#f8e5d7);border-color:#d7b79e;border-radius:180px 180px 24px 24px}.services{background:#F8F0E6;padding:95px 0}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{background:#fffdfa;border:1px solid #eedfd1;border-radius:23px;padding:32px;box-shadow:0 6px 18px #5d46300b}.card:nth-child(2){background:#fff7f0}.card:nth-child(3){background:#fdf7f1}.card h3{margin:17px 0 13px;font-family:'Trebuchet MS',Arial,sans-serif;font-size:23px}.card p{color:#52636a}.symbol{background:#F4D9C9;color:var(--blue);font-size:29px;width:56px;height:56px;border-radius:18px;display:grid;place-items:center}.note{font-size:13px;color:var(--muted);margin-top:24px}.reviews{padding:95px 0}.review-placeholder{border:2px dashed #E6B89A;background:#fff7ef;border-radius:25px;padding:45px;text-align:center;color:#BF764E;font-size:24px}.review-placeholder h3{margin:10px;font-family:'Trebuchet MS',Arial,sans-serif}.review-placeholder p,.review-placeholder small{color:var(--muted);font-size:15px}.contact{background:#E9D9C9;padding:80px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact a{color:var(--blue);font-weight:bold}.map-placeholder{border:2px dashed #c59c7d;border-radius:20px;min-height:190px;display:grid;place-items:center;text-align:center;color:var(--muted)}footer{background:var(--deep);color:white;padding:25px 0;font-size:13px}@media(max-width:760px){.nav{align-items:flex-start;flex-direction:column}.nav nav{gap:15px}.hero{padding:50px 0 75px}.hero-grid,.intro,.contact-grid{grid-template-columns:1fr;gap:35px}.hero-photo{height:280px;box-shadow:10px 10px 0 #e5aa86}.shortcuts{grid-template-columns:repeat(2,1fr);margin-top:-25px}.shortcuts a{padding:17px 8px;font-size:13px}.intro{padding:75px 0}.portrait{height:320px;max-width:300px;width:100%;margin:auto}.cards{grid-template-columns:1fr}.services,.reviews{padding:70px 0}h1{font-size:clamp(39px,10vw,57px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.shortcuts a{transition:none}}

/* Version 3 — photographie authentique de l’équipe */
.team-photo{margin:0;position:relative;overflow:hidden;border-radius:30px;background:#f4d9c9;box-shadow:18px 18px 0 #e5aa86;transform:rotate(1deg)}
.team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.team-photo figcaption{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.93);color:#254d68;padding:8px 14px;border-radius:999px;font-size:.85rem;font-weight:700;box-shadow:0 4px 18px rgba(0,0,0,.09)}
@media(max-width:700px){.team-photo{height:auto;aspect-ratio:4/3;box-shadow:10px 10px 0 #e5aa86}.team-photo img{height:100%}}

/* Version 4: modern friendly rounded typography and bilingual greeting */
h1,h2{letter-spacing:-.055em;font-weight:800}h1{font-size:clamp(34px,4.4vw,59px);margin-bottom:15px}h2{font-size:clamp(30px,3.4vw,45px)}.hero{padding:72px 0 82px}.hero-grid{gap:38px}.hero p{font-size:16px;line-height:1.55;margin-bottom:13px}.hero-english{margin:13px 0 15px;padding-left:16px;border-left:3px solid var(--peach)}.hero-english .english-headline{font-family:'Trebuchet MS',Arial,sans-serif;font-size:clamp(17px,2vw,24px);font-style:italic;letter-spacing:-.03em;color:#B47854;margin:0 0 7px}.hero-english p{font-size:14px;font-style:italic;color:#59758A;line-height:1.55;margin:0}.language-switch{display:flex;border:1px solid #d9bfae;border-radius:99px;padding:3px;gap:2px;flex-shrink:0}.language-switch button{border:0;background:transparent;color:var(--blue);border-radius:99px;padding:7px 10px;cursor:pointer;font-weight:700;font-family:inherit}.language-switch button[aria-pressed=true]{background:var(--blue);color:white}.nav{gap:12px}.nav nav{gap:14px}@media(max-width:700px){.nav{flex-wrap:wrap}.nav nav{order:3;width:100%;justify-content:center}.hero{padding:48px 0 65px}.hero-english{padding-left:12px}}
/* Version 5: Century Gothic headings + Lucida Sans body */
:root{--font-head:'Century Gothic','Avant Garde','Avenir Next','Trebuchet MS',sans-serif;--font-body:'Lucida Sans','Lucida Grande','Lucida Sans Unicode',Verdana,sans-serif}
body{font-family:var(--font-body);line-height:1.7}
h1,h2,h3,.brand,.nav a,.btn,.shortcuts a,.card h3,.review-placeholder h3,.eyebrow{font-family:var(--font-head)}
h1,h2{font-weight:600;letter-spacing:-.035em}
h1{font-size:clamp(34px,4.35vw,58px)}
h2{font-size:clamp(30px,3.35vw,44px)}
.hero-english .english-headline{font-family:var(--font-body);font-weight:400;font-style:italic;letter-spacing:-.025em;font-size:clamp(16px,1.9vw,22px)}
.hero-english p{font-family:var(--font-body);font-size:13.5px;font-style:italic}
.language-switch button{font-family:var(--font-head)}
/* Version 6: handwritten hero headline only */
.hero h1{font-family:'Bradley Hand','Bradley Hand ITC','Segoe Print','Comic Sans MS',cursive;font-weight:500;letter-spacing:-.025em;line-height:1.16;font-size:clamp(39px,4.7vw,66px)}
.hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit}
@media(max-width:700px){.hero h1{font-size:clamp(36px,8.6vw,54px)}}

/* Version 7: warm peach handwritten French hero headline */
.hero h1,.hero h1 em{color:#B47854;}

/* Version 8 — both languages always visible, Uniprix-inspired navy and orange */
:root{--blue:#254D68;--orange:#E87C30}
.hero h1,.hero h1 em{color:var(--orange)}
.hero .english-headline{font-family:'Bradley Hand','Bradley Hand ITC','Segoe Print','Comic Sans MS',cursive;color:var(--blue);font-size:clamp(18px,3vw,43px);font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:12px 0 18px;white-space:nowrap}
.hero-english{border-left:3px solid var(--orange);margin:8px 0 18px}
.bi-pair{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;vertical-align:top}
.bi-fr{display:block}
.bi-en{display:block;color:var(--blue);font-size:.68em;line-height:1.45;font-family:inherit;font-style:normal;font-weight:inherit}
nav .bi-en,.shortcuts .bi-en{font-size:.72em}
.card .bi-pair,.intro p .bi-pair,.review-placeholder .bi-pair{display:flex}
.card h3 .bi-en{font-size:.72em}
.card p .bi-en,.intro p .bi-en,.review-placeholder p .bi-en,.note .bi-en{font-size:.87em;font-weight:400;line-height:1.6;margin-top:5px}
.section-en-title{font-family:var(--font-head);font-size:clamp(18px,2.15vw,29px);color:var(--blue);font-weight:600;margin:-8px 0 22px}
.paragraph-en{font-size:.87em;color:var(--blue);margin-top:-12px}
.nav{gap:14px}.nav nav{align-items:center}
@media(max-width:1100px){.hero .english-headline{font-size:clamp(16px,2.65vw,31px)}}
@media(max-width:700px){.hero .english-headline{white-space:normal;font-size:clamp(18px,4.5vw,27px)}.nav nav{gap:12px}.nav .bi-en{font-size:.65em}.section-en-title{margin-top:-5px}}

/* Version 9 — professional portrait */
.michelle-photo{margin:0;overflow:hidden;border:0;background:#fff;display:block;box-shadow:12px 12px 0 #f4d9c9}
.michelle-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}

/* v12: retain compact right-side photo; show all three faces */
.team-photo img{object-fit:contain;object-position:center center}

/* v13: complete, accessible contact area */
.contact{scroll-margin-top:110px}.contact-grid{align-items:start}.contact-details,.contact-map{background:rgba(255,255,255,.58);border-radius:18px;padding:26px;min-width:0}.contact-details p{margin:14px 0}.contact-english{display:block;font-size:.65em;font-style:italic;color:var(--blue);margin-top:5px}.contact-small-en{font-size:.78em;font-style:italic;color:var(--blue)}.contact-map .btn{display:inline-block;margin-top:12px;max-width:100%;white-space:normal}.contact-map .btn .bi-en{color:inherit;font-size:.76em}@media(max-width:700px){.contact{padding:48px 0}.contact-details,.contact-map{padding:20px}}

/* Version 16: featured patient reviews below welcome message */
.hero-reviews{max-width:1160px;margin:20px auto 28px;padding:12px 24px 18px}.hero-reviews h2{margin:5px 0 0;font-size:clamp(22px,3vw,34px)}.featured-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.testimonial{background:#fff;border:1px solid #d9e3eb;border-radius:16px;padding:18px;box-shadow:0 5px 20px rgba(14,39,69,.07)}.testimonial h3{color:#173b63;font-size:17px;margin:8px 0 12px}.testimonial p{font-size:14px;line-height:1.55;margin:9px 0}.testimonial .stars{color:#e58b2c;letter-spacing:2px}.testimonial .review-translation{font-size:12px;color:#697889;font-style:italic;border-top:1px solid #e5e9ed;padding-top:10px}.testimonial small{font-size:10px;color:#78818b}.reviews-footnote{font-weight:600;margin:20px 0 10px}.reviews-footnote span,.identity-line span,.review-note span{display:block;font-style:italic;font-size:.82em;font-weight:400;color:#6e7882;margin-top:3px}.review-link{font-weight:600;color:#17517f}.review-note{font-size:11px;color:#727d87;margin-top:12px}.identity-line{font-weight:600;color:#164b72;margin:12px 0 18px}@media(max-width:760px){.featured-review-grid{grid-template-columns:1fr}.hero-reviews{padding:12px 18px}.testimonial{padding:16px}}

/* Version 21: Uniprix palette and approved layout */
:root{--blue:#174584;--orange:#DF6928;--peach:#DF6928;--deep:#10335f}
body{color:#203b5b;background:#fffaf5}
.header{background:#fffdfa}.brand{display:flex;align-items:center;gap:12px;color:#174584}.brand-copy{display:block}.uniprix-logo{width:49px;height:49px;object-fit:contain;flex-shrink:0}
.hero{background:linear-gradient(120deg,#fffaf4,#fdf1e7)}.hero h1,.hero h1 em{color:#DF6928}.hero .english-headline{color:#174584}.hero .identity-line{color:#174584}
.hero-photo,.team-photo{box-shadow:14px 14px 0 #f3c19d}
.btn{background:#DF6928;color:white}.btn:hover{background:#c9571a}
.eyebrow,.review-link{color:#174584}.testimonial{border-color:#e5d9cb}.testimonial h3{color:#174584}.testimonial .stars{color:#e6a12a}
.services{background:#f5f7fa}.contact{background:#e9f0f7}.intro h2 em{color:#DF6928}
.sms-panel{margin-top:24px;border-top:2px solid #e4b99d;padding-top:22px}.sms-panel h4{font-size:19px;margin:0 0 8px;color:#174584}.sms-panel h4 span{font-size:.75em;font-weight:400;font-style:italic}.sms-number{font-size:24px;color:#DF6928!important}.sms-panel p{font-size:13px;line-height:1.65}.sms-en{color:#54708b;font-style:italic}.sms-note{font-size:11px!important;color:#64758b}.sms-note span{display:block;font-style:italic}.sms-button{display:inline-block;color:white!important;text-decoration:none;margin-top:8px;padding:10px 16px;border-radius:12px}
@media(max-width:760px){.brand{font-size:16px}.uniprix-logo{width:43px;height:43px}}

/* Services introduction and closing invitation */
.services-intro{margin:18px 0 28px;line-height:1.65}
.services-outro{margin-top:26px;line-height:1.65}
