/*
 * Lumière · Serviço interno | Medical Luxury Fendi v1
 * Shared by 8 service routes. Purposefully excluded from home/admin.
 * React source remains unchanged; this is a bounded FTP presentation layer.
 */
#root main:has(> article){
  --lum-inner-ink:#393833;--lum-inner-copy:#666159;--lum-inner-ivory:#f8f5ef;
  --lum-inner-stone:#ece7df;--lum-inner-fendi:#777168;
  --lum-inner-champagne:#bd9e70;--lum-inner-border:rgba(138,126,107,.23);
  font-family:Lato,Arial,sans-serif;
  background:var(--lum-inner-ivory);
  color:var(--lum-inner-ink);
}
#root main:has(> article) *,#root main:has(> article) *::before,
#root main:has(> article) *::after{box-sizing:border-box}
#root main:has(> article) > section:first-of-type {
  position:relative;isolation:isolate;
  background:linear-gradient(115deg,#626058,#777168 62%,#868075)!important;
  padding:clamp(126px,11vw,172px) 0 clamp(78px,6.5vw,116px)!important;
  min-height:clamp(530px,38vw,640px);
  overflow:hidden;
}
#root main:has(> article) > section:first-of-type::before{
  content:"";position:absolute;right:clamp(26px,6vw,125px);top:50%;
  width:min(38%,540px);height:73%;transform:translateY(-48%);
  background:url("/images/lumiere-medicina-fetal-ecografia-porto-alegre%20%281%29.webp") center/cover no-repeat;
  border:1px solid rgba(253,242,222,.32);border-radius:19px;
  box-shadow:0 25px 58px rgba(26,27,25,.22),inset 0 1px 0 rgba(255,255,255,.16);
  pointer-events:none;z-index:1;
}
#root main:has(> article) > section:first-of-type::after{
  content:"";position:absolute;right:clamp(13px,4.75vw,107px);top:50%;
  width:min(38%,540px);height:73%;transform:translateY(-43%);
  border:1px solid rgba(226,201,165,.37);border-radius:19px;
  pointer-events:none;z-index:0;
}
#root main:has(> article) > section:first-of-type > .absolute.inset-0 {
  background:linear-gradient(92deg,
    rgba(53,54,50,.52) 0%,rgba(65,64,58,.44) 48%,
    rgba(66,64,58,.12) 100%)!important;z-index:0;
}
#root main:has(> article) > section:first-of-type > .absolute.top-0 {
  height:1px;background:linear-gradient(90deg,transparent,#dfc49e,transparent)!important;
}
#root main:has(> article) > section:first-of-type > .container {
  position:relative;z-index:2;max-width:1320px!important;
  padding:0 clamp(23px,3.5vw,60px)!important;
}
#root main:has(> article) > section:first-of-type nav[aria-label] {
  margin-bottom:clamp(26px,3.5vw,46px)!important;
}
#root main:has(> article) > section:first-of-type nav,
#root main:has(> article) > section:first-of-type nav ol {
  color:#e7dccd!important;font-size:12px!important;letter-spacing:.03em;
}
#root main:has(> article) > section:first-of-type nav a {
  color:#f7efe4!important;text-decoration:none;
}
#root main:has(> article) > section:first-of-type nav a:hover {color:#fff!important;text-decoration:underline;text-underline-offset:3px}
#root main:has(> article) > section:first-of-type nav span[aria-current],
#root main:has(> article) > section:first-of-type nav .text-primary {color:#e6c797!important}
#root main:has(> article) > section:first-of-type h1 {
  max-width:710px!important;
  margin:0 0 25px!important;
  font:500 clamp(2.6rem,4.15vw,4.6rem)/1.12 "Playfair Display",Georgia,serif!important;
  letter-spacing:-.028em;color:#fffaf3!important;
  text-shadow:0 3px 17px rgba(38,38,34,.12);
  text-wrap:balance;
}
#root main:has(> article) > section:first-of-type p {
  max-width:615px!important;
  margin:0 0 33px!important;
  font:400 clamp(16px,1.16vw,18px)/1.75 Lato,Arial,sans-serif!important;
  color:#f9f1e6!important;
  text-shadow:0 1px 10px rgba(38,38,34,.12);
}
#root main:has(> article) > section:first-of-type a[href*="wa.me"] {
  display:inline-flex;align-items:center;justify-content:center;
  max-width:100%;min-height:52px;padding:15px 24px!important;
  background:linear-gradient(125deg,#b59667,#d0b282)!important;
  border:1px solid rgba(251,233,196,.48)!important;
  border-radius:10px!important;
  box-shadow:0 10px 24px rgba(39,38,34,.17)!important;
  color:#33312e!important;
  font:700 14px/1.35 Lato,Arial,sans-serif!important;
  text-align:center;text-decoration:none!important;
  transition:transform .2s ease,filter .2s ease;
}
#root main:has(> article) > section:first-of-type a[href*="wa.me"]:hover {filter:brightness(1.06);transform:translateY(-2px)}
/* Editorial document: wide two-column layout with real clinic supporting card. */
#root main:has(> article) > article {
  background:linear-gradient(180deg,#fbf9f5 0%,#f8f5ef 100%)!important;
  padding:clamp(76px,7vw,115px) 0 clamp(86px,7vw,120px)!important;
}
#root main:has(> article) > article > .container {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,315px);
  gap:clamp(45px,5vw,87px);align-items:start;
  max-width:1270px!important;
  padding:0 clamp(24px,3.5vw,57px)!important;
}
#root main:has(> article) > article .prose {
  min-width:0;max-width:800px!important;margin:0!important;
  font:400 16px/1.86 Lato,Arial,sans-serif!important;
  color:#655f56!important;
}
#root main:has(> article) > article .prose h2 {
  position:relative;
  margin:clamp(44px,4.4vw,59px) 0 20px!important;
  padding-bottom:17px!important;
  color:#393732!important;
  font:500 clamp(1.7rem,2.25vw,2.3rem)/1.31 "Playfair Display",Georgia,serif!important;
  letter-spacing:-.018em!important;scroll-margin-top:110px;
  text-wrap:balance;
}
#root main:has(> article) > article .prose h2:first-child {margin-top:0!important}
#root main:has(> article) > article .prose h2::after {
  content:"";position:absolute;left:0;bottom:0;width:59px;height:2px;
  background:linear-gradient(90deg,#a9895b,#e0cab0);border-radius:5px;
}
#root main:has(> article) > article .prose p {
  margin:0 0 19px!important;line-height:1.86!important;color:#645f56!important
}
#root main:has(> article) > article .prose strong {
  font-weight:700;color:#514c43;
}
#root main:has(> article) > article .prose a {
  color:#8e724b!important;text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;
}
#root main:has(> article) > article .prose a:hover {color:#65533a!important}
#root main:has(> article) > article .prose ul {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;
  margin:24px 0 29px!important;
  padding:25px 24px 25px 46px!important;
  border:1px solid var(--lum-inner-border);
  border-radius:15px;
  background:linear-gradient(135deg,#f1ede6,#f8f5ef)!important;
  box-shadow:0 7px 22px rgba(70,65,55,.04);
  list-style:disc outside!important;
}
#root main:has(> article) > article .prose li {
  padding-left:3px;line-height:1.65!important;color:#5e5a52;
  break-inside:avoid;
}
#root main:has(> article) > article .prose li::marker {color:#b99a6d}
#root main:has(> article) > article .prose > p.text-xs {
  display:none!important;
}
/* Sticky sidebar: photograph is genuine, consultation info is factual. */
#root main:has(> article) .lum-service-aside {
  position:sticky;top:112px;overflow:hidden;min-width:0;
  border:1px solid rgba(155,142,118,.29);border-radius:18px;
  background:linear-gradient(150deg,#f7f3eb,#ebe5d9)!important;
  box-shadow:0 18px 40px rgba(73,65,52,.09);
}
#root main:has(> article) .lum-service-aside-image {
  display:block;width:100%;height:216px;object-fit:cover;object-position:center;
  filter:none;
}
#root main:has(> article) .lum-service-aside-content {padding:27px 25px 26px}
#root main:has(> article) .lum-service-eyebrow {
  margin:0 0 12px;color:#93754d;
  font:700 10px/1.4 Lato,Arial,sans-serif;letter-spacing:.18em;
  text-transform:uppercase;
}
#root main:has(> article) .lum-service-aside h2 {
  margin:0 0 14px;color:#3b3a34;
  font:500 26px/1.25 "Playfair Display",Georgia,serif;
}
#root main:has(> article) .lum-service-aside p {
  margin:0 0 19px;color:#6a645a;font:400 13.5px/1.7 Lato,Arial,sans-serif;
}
#root main:has(> article) .lum-service-aside-address {
  padding:14px 0 16px;border-top:1px solid rgba(154,137,111,.28);
  color:#635b50;font:400 13px/1.68 Lato,Arial,sans-serif;
}
#root main:has(> article) .lum-service-aside a.lum-service-aside-cta {
  display:flex;align-items:center;justify-content:center;min-height:48px;
  padding:13px 12px;border-radius:9px;
  background:#777168;color:#fffdf6;
  font:700 12.5px/1.4 Lato,Arial,sans-serif;text-align:center;
  text-decoration:none;transition:background .2s ease;
}
#root main:has(> article) .lum-service-aside a.lum-service-aside-cta:hover {background:#5e5b54}
#root main:has(> article) .lum-service-aside a:focus-visible {
  outline:2px solid #b29a73;outline-offset:3px;
}
/* Warm mid-CTA: editorial proportions, gentle champagne call to action. */
#root main:has(> article) > section:nth-of-type(2) {
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(76px,6vw,105px) 0!important;
  background:linear-gradient(112deg,#ede7df 0%,#f5f0e8 52%,#e9e2d8 100%)!important;
  border-top:1px solid #ded1be;
  border-bottom:1px solid #ded1be;
}
#root main:has(> article) > section:nth-of-type(2)::before {
  content:"";position:absolute;top:0;bottom:0;right:0;
  width:clamp(13px,2.5vw,35px);
  background:repeating-linear-gradient(90deg,#997657 0,#be9970 6px,#785a45 11px,#aa8465 15px);
  opacity:.10;pointer-events:none;
}
#root main:has(> article) > section:nth-of-type(2) > .container {
  max-width:820px!important;padding:0 24px!important;position:relative;z-index:1;
}
#root main:has(> article) > section:nth-of-type(2) h2 {
  color:#3d3b36!important;
  font:500 clamp(2.1rem,3vw,3.15rem)/1.23 "Playfair Display",Georgia,serif!important;
  letter-spacing:-.025em!important;margin-bottom:17px!important;
}
#root main:has(> article) > section:nth-of-type(2) p {
  color:#686258!important;font-size:16px!important;
  line-height:1.8!important;max-width:600px!important;
  margin:0 auto 30px!important;
}
#root main:has(> article) > section:nth-of-type(2) a[href*="wa.me"] {
  display:inline-flex;align-items:center;justify-content:center;
  max-width:100%;min-height:52px;
  padding:14px 28px!important;border-radius:10px!important;
  background:linear-gradient(115deg,#a98b60,#c5a679)!important;
  color:#fffdfa!important;border:1px solid rgba(163,130,80,.32);
  box-shadow:0 9px 23px rgba(70,60,44,.13)!important;
  font:700 14px/1.4 Lato,Arial,sans-serif!important;
  text-align:center;
}
/* Related services: real cards with typographic hierarchy and directional cue. */
#root main:has(> article) > section:nth-of-type(3) {
  background:#fbf9f5!important;
  padding:clamp(78px,6.3vw,110px) 0 clamp(95px,7vw,120px)!important;
}
#root main:has(> article) > section:nth-of-type(3) > .container {
  max-width:1210px!important;padding:0 clamp(24px,3.5vw,57px)!important;
}
#root main:has(> article) > section:nth-of-type(3) h2 {
  max-width:800px;margin:0 auto 42px!important;
  color:#3a3933!important;text-align:center;
  font:500 clamp(2.1rem,3vw,3.15rem)/1.25 "Playfair Display",Georgia,serif!important;
  letter-spacing:-.025em;
}
#root main:has(> article) > section:nth-of-type(3) .grid {
  max-width:none!important;
  gap:18px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#root main:has(> article) > section:nth-of-type(3) .grid > a {
  position:relative;min-height:128px;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:26px 22px!important;text-align:left!important;
  border:1px solid rgba(142,129,107,.23)!important;border-radius:14px!important;
  background:linear-gradient(150deg,#fffefa,#f5f1e9)!important;
  box-shadow:0 8px 23px rgba(71,64,52,.06);
  color:#4d4941!important;
  font:700 15px/1.48 Lato,Arial,sans-serif!important;
  text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
#root main:has(> article) > section:nth-of-type(3) .grid > a::after{
  content:"↗";flex:0 0 30px;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;color:#987c57;background:#eee7dc;
  font:400 21px/1 Arial,sans-serif;
}
#root main:has(> article) > section:nth-of-type(3) .grid > a:hover {
  transform:translateY(-3px);box-shadow:0 15px 34px rgba(71,64,52,.12);
  border-color:rgba(175,143,99,.55)!important;color:#816b4d!important;
}
#root main:has(> article) > section:nth-of-type(3) .grid > a:focus-visible {
  outline:2px solid #ae9267!important;outline-offset:3px!important;
}
@media(max-width:1100px){
 #root main:has(> article) > section:first-of-type::before{
  right:5%;width:36%;height:68%;
 }
 #root main:has(> article) > section:first-of-type::after{
  right:4%;width:36%;height:68%;
 }
 #root main:has(> article) > section:first-of-type h1{max-width:60%!important}
 #root main:has(> article) > section:first-of-type p{max-width:54%!important}
 #root main:has(> article) > article > .container{grid-template-columns:minmax(0,1fr) minmax(235px,280px);gap:40px}
 #root main:has(> article) > article .prose ul{grid-template-columns:1fr}
}
@media(max-width:860px){
 #root main:has(> article) > section:first-of-type{
  padding:133px 0 79px!important;min-height:525px;
 }
 #root main:has(> article) > section:first-of-type::before{
  inset:0!important;width:100%;height:100%;transform:none;
  border:0;border-radius:0;opacity:.23;box-shadow:none;
  background-position:center center;
 }
 #root main:has(> article) > section:first-of-type::after{display:none}
 #root main:has(> article) > section:first-of-type > .absolute.inset-0 {
  background:linear-gradient(90deg,rgba(53,54,50,.64),rgba(57,58,55,.58))!important;
 }
 #root main:has(> article) > section:first-of-type h1,
 #root main:has(> article) > section:first-of-type p{
  max-width:740px!important;
 }
 #root main:has(> article) > article > .container{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:790px!important;
 }
 #root main:has(> article) .lum-service-aside{position:relative;top:auto;display:grid;grid-template-columns:220px minmax(0,1fr)}
 #root main:has(> article) .lum-service-aside-image{height:100%;min-height:260px}
 #root main:has(> article) > section:nth-of-type(3) .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:610px){
 #root main:has(> article) > section:first-of-type{padding:119px 0 70px!important;min-height:490px}
 #root main:has(> article) > section:first-of-type h1{
  font-size:clamp(2.25rem,10vw,3.2rem)!important;line-height:1.16!important
 }
 #root main:has(> article) > section:first-of-type p{font-size:15.5px!important}
 #root main:has(> article) > article{padding:68px 0 75px!important}
 #root main:has(> article) > article > .container{padding:0 23px!important;gap:40px}
 #root main:has(> article) > article .prose {font-size:15px!important}
 #root main:has(> article) > article .prose h2{
  font-size:clamp(1.62rem,7.3vw,2rem)!important;margin-top:38px!important
 }
 #root main:has(> article) > article .prose h2:first-child{margin-top:0!important}
 #root main:has(> article) > article .prose ul{
  display:block!important;padding:22px 19px 22px 37px!important;
 }
 #root main:has(> article) > article .prose ul li{margin-bottom:12px}
 #root main:has(> article) > article .prose ul li:last-child{margin-bottom:0}
 #root main:has(> article) .lum-service-aside{display:block}
 #root main:has(> article) .lum-service-aside-image{height:220px;min-height:0}
 #root main:has(> article) > section:nth-of-type(3) .grid{grid-template-columns:minmax(0,1fr)!important}
 #root main:has(> article) > section:nth-of-type(3) .grid > a{min-height:95px}
 #root main:has(> article) > section:nth-of-type(2){padding:67px 0!important}
 #root main:has(> article) > section:nth-of-type(3){padding:73px 0 88px!important}
}
@media(prefers-reduced-motion:reduce){
 #root main:has(> article) a{transition:none!important;transform:none!important}
}


/* SERVICE GRID ALIGNMENT V2 | 2026-10-11
   One content axis from site header through hero, editorial, CTA, related and footer.
   Corrects mixed max-width values and gutters from older CSS layers. */
@media(min-width:861px){
  body:has(#root main > article) .lumiere-header-inner{
    width:100%!important;
    max-width:1280px!important;
    padding-left:clamp(24px,3.4vw,48px)!important;
    padding-right:clamp(24px,3.4vw,48px)!important;
    box-sizing:border-box;
  }
}
body:has(#root main > article) #lum-medical-footer .lumf-shell,
body:has(#root main > article) #lum-medical-footer .lumf-bottom-inner {
  width:100%;max-width:1280px!important;box-sizing:border-box;
}
#root main:has(> article){
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  overflow-x:clip;
}
#root main:has(> article) > section,
#root main:has(> article) > article {
  width:100%!important;min-width:0!important;max-width:none!important;
  margin-left:0!important;margin-right:0!important;
}
#root main:has(> article) > section:first-of-type > .container,
#root main:has(> article) > article > .container,
#root main:has(> article) > section:nth-of-type(2) > .container,
#root main:has(> article) > section:nth-of-type(3) > .container {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1280px!important;
  min-width:0!important;
  margin-inline:auto!important;
  padding-inline:clamp(24px,3.4vw,48px)!important;
}
#root main:has(> article) > article > .container {
  grid-template-columns:minmax(0,1fr) minmax(260px,310px);
  column-gap:clamp(35px,4.5vw,72px)!important;
}
#root main:has(> article) > article .prose{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
}
#root main:has(> article) > section:nth-of-type(2) > .container > h2,
#root main:has(> article) > section:nth-of-type(2) > .container > p {
  max-width:790px!important;margin-left:auto!important;margin-right:auto!important;
}
#root main:has(> article) > section:nth-of-type(3) .grid{
  width:100%!important;
  max-width:1184px!important;
  margin-inline:auto!important;
}
#root main:has(> article) > section:first-of-type::before{
  right:max(28px,calc((100vw - 1184px)/2));
  width:min(33vw,470px);
}
#root main:has(> article) > section:first-of-type::after{
  right:max(16px,calc((100vw - 1210px)/2));
  width:min(33vw,470px);
}
@media(min-width:1101px){
 #root main:has(> article) > section:first-of-type h1{max-width:min(63%,730px)!important}
 #root main:has(> article) > section:first-of-type p{max-width:min(56%,620px)!important}
}
@media(max-width:1100px){
 #root main:has(> article) > section:first-of-type::before{right:4.5%;width:34%;height:65%}
 #root main:has(> article) > section:first-of-type::after{right:3.5%;width:34%;height:65%}
 #root main:has(> article) > article > .container{
   grid-template-columns:minmax(0,1fr) minmax(230px,275px);gap:32px!important
 }
}
@media(max-width:860px){
 #root main:has(> article) > article > .container{
   display:grid!important;
   grid-template-columns:minmax(0,1fr)!important;
   gap:38px!important;
 }
 #root main:has(> article) > section:first-of-type::before{
   inset:0!important;width:100%!important;height:100%!important
 }
 #root main:has(> article) > section:first-of-type::after{display:none!important}
}
@media(max-width:610px){
 #root main:has(> article) > section:first-of-type > .container,
 #root main:has(> article) > article > .container,
 #root main:has(> article) > section:nth-of-type(2) > .container,
 #root main:has(> article) > section:nth-of-type(3) > .container{
   padding-inline:22px!important;
 }
 #root main:has(> article) > section:nth-of-type(3) .grid{
   grid-template-columns:minmax(0,1fr)!important;
 }
}


/* HERO final finesse V3 | 2026-10-11
   24px more separation from the internal header and 5% smaller display title. */
@media(min-width:861px){
 #root main:has(> article) > section:first-of-type::before,
 #root main:has(> article) > section:first-of-type::after{
  top:calc(50% + 24px)!important;
 }
}
@media(min-width:611px){
 #root main:has(> article) > section:first-of-type h1{
  font-size:clamp(2.47rem,3.94vw,4.37rem)!important;
 }
}
@media(max-width:610px){
 #root main:has(> article) > section:first-of-type h1{
  font-size:clamp(2.14rem,9.5vw,3.04rem)!important;
 }
}
