:root{
  --paper:#f4f2e9; --paper2:#ece8dc; --panel:#e6e1d3;
  --ink:#2c281f; --body:#5c5647; --dim:#8b8474;
  --taupe:#8f8676; --taupe-d:#6d6656; --line:rgba(44,40,31,.13);
  --dark:#26221a; --dark2:#2f2a20; --ondark:#e7e0cf; --ondim:#a89e88;
  --brass:#b2925c; --line-d:rgba(231,224,207,.16);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Quicksand',sans-serif;background:var(--paper);color:var(--body);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--brass);color:var(--paper)}
img{display:block}
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.028;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{max-width:1200px;margin:0 auto;padding:0 44px}
.serif{font-family:'Cormorant Garamond',serif}
.eyebrow{font-family:'Quicksand';font-weight:600;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--brass)}
.eyebrow.d{color:var(--brass)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:70;transition:.5s;padding:26px 0}
nav .bar{display:flex;justify-content:space-between;align-items:center}
nav .lg{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:23px;letter-spacing:.32em;color:var(--ondark);text-decoration:none;transition:.4s;padding-left:.32em}
nav .nm{display:flex;gap:26px}
nav .nm a{font-family:'Quicksand';font-weight:500;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ondark);text-decoration:none;opacity:.82;transition:.3s}
nav .nm a:hover{opacity:1;color:#fff}
nav .bk{font-family:'Quicksand';font-weight:600;font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ondark);text-decoration:none;border:1px solid var(--line-d);padding:11px 22px;border-radius:40px;transition:.3s}
nav .bk:hover{background:var(--ondark);color:var(--dark);border-color:var(--ondark)}
nav.small{background:rgba(38,34,26,.9);backdrop-filter:blur(16px);padding:14px 0;border-bottom:1px solid var(--line-d)}
@media(max-width:900px){nav .nm{display:none}}

/* SPLIT HERO */
.split{height:100svh;min-height:640px;display:flex;position:relative;overflow:hidden;background:var(--dark)}
.half{flex:1;position:relative;overflow:hidden;transition:flex 1s cubic-bezier(.16,.7,.2,1);text-decoration:none}
.half>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.16,.7,.2,1),filter .8s}
.half.a>img{object-position:50% 22%;filter:saturate(.92) brightness(.82)}
.half.b>img{object-position:50% 20%;filter:saturate(.9) brightness(.78) contrast(1.02)}
.half::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,34,26,.28) 0%,rgba(38,34,26,.12) 40%,rgba(38,34,26,.82) 100%);transition:.6s}
.half-c{position:absolute;left:0;right:0;bottom:9%;z-index:3;text-align:center;padding:0 30px;transform:translateY(8px);transition:.7s}
.half .k{font-family:'Quicksand';font-weight:600;font-size:11px;letter-spacing:3.4px;text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.half .t{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(28px,3vw,44px);line-height:1.05;color:#fff;letter-spacing:.01em}
.half .t em{font-style:italic;color:#efe7d6}
.half .who2{font-family:'Quicksand';font-weight:500;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ondim);margin-top:16px}
.half .enter{display:inline-block;margin-top:20px;font-family:'Quicksand';font-weight:600;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#fff;border-bottom:1px solid var(--brass);padding-bottom:5px;opacity:0;transform:translateY(6px);transition:.5s}
.split:hover .half{flex:.82}
.split .half:hover{flex:1.36}
.split .half:hover>img{transform:scale(1.05)}
.split .half:hover::after{background:linear-gradient(180deg,rgba(38,34,26,.2) 0%,rgba(38,34,26,.05) 38%,rgba(38,34,26,.8) 100%)}
.split .half:hover .half-c{transform:none}
.split .half:hover .enter{opacity:1;transform:none}
.seam{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(rgba(231,224,207,0),rgba(231,224,207,.5),rgba(231,224,207,0));z-index:4;transform:translateX(-50%);transition:.6s;pointer-events:none}
.split:hover .seam{opacity:0}
.hero-mark{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:6;text-align:center;padding-top:96px;pointer-events:none;width:100%}
.hero-mark .g{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(46px,8vw,104px);letter-spacing:.42em;color:#fff;line-height:1;padding-left:.42em;text-shadow:0 4px 40px rgba(0,0,0,.4)}
.hero-mark .s{font-family:'Quicksand';font-weight:500;font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--ondim);margin-top:14px}
.hero-tag{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:6;text-align:center;pointer-events:none;padding:0 30px}
.hero-tag p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(22px,3.2vw,40px);color:#fff;line-height:1.24;text-shadow:0 3px 30px rgba(0,0,0,.5);max-width:20ch;margin:0 auto}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:6;font-family:'Quicksand';font-weight:500;font-size:9.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--ondim);pointer-events:none}
@media(max-width:820px){
  .split{flex-direction:column;height:auto;min-height:0}
  .half{min-height:64svh}
  .split:hover .half,.split .half:hover{flex:1}
  .seam,.hero-tag{display:none}
  .half .enter{opacity:1;transform:none}
  .hero-mark{padding-top:120px}
}

/* MANIFESTO dark */
.mani{background:var(--dark);color:var(--ondark);padding:150px 0;position:relative;text-align:center}
.mani .wrap{max-width:1000px}
.mani .rule{width:1px;height:60px;background:var(--brass);margin:0 auto 40px}
.mani p{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(28px,4.4vw,54px);line-height:1.32;color:#f2ecdd;letter-spacing:.005em}
.mani p em{font-style:italic;color:var(--brass)}
.mani .src{margin-top:44px;font-family:'Quicksand';font-weight:600;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--ondim)}

section{padding:150px 0}
.head{max-width:760px;margin:0 auto 90px;text-align:center}
.head .l{margin-bottom:22px}
.head h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(38px,5.4vw,66px);line-height:1.04;color:var(--ink)}
.head h2 em{font-style:italic;color:var(--taupe)}
.head .d{margin-top:20px;color:var(--body);font-size:16px}

/* ESPECIALIDADES — editorial full-bleed alternado */
.esp{position:relative;margin-bottom:130px}
.esp:last-child{margin-bottom:0}
.esp-in{display:grid;grid-template-columns:1.02fr .98fr;gap:0;align-items:stretch;max-width:1240px;margin:0 auto}
.esp-ph{position:relative;overflow:hidden;min-height:600px}
.esp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,.7,.2,1)}
.esp:hover .esp-ph img{transform:scale(1.045)}
.esp-num{position:absolute;z-index:2;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(120px,17vw,240px);line-height:.7;color:rgba(255,255,255,.9);top:34px;left:36px;text-shadow:0 6px 40px rgba(44,40,31,.35);pointer-events:none}
.esp-tx{background:var(--paper2);padding:clamp(50px,6vw,96px) clamp(40px,5vw,84px);display:flex;flex-direction:column;justify-content:center}
.esp.rl .esp-ph{order:2}
.esp.rl .esp-num{left:auto;right:36px}
.esp-tx .l{margin-bottom:20px}
.esp-tx h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(34px,4.4vw,54px);line-height:1.04;color:var(--ink);margin-bottom:10px}
.esp-tx h3 em{font-style:italic;color:var(--taupe)}
.esp-tx .who{font-family:'Quicksand';font-weight:600;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--dim);margin-bottom:26px}
.esp-tx .lead{color:var(--body);font-size:15.5px;line-height:1.9;margin-bottom:28px}
.esp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.esp-tags span{font-family:'Quicksand';font-weight:500;font-size:11.5px;letter-spacing:.4px;color:var(--taupe-d);border:1px solid var(--line);border-radius:30px;padding:7px 16px}
.esp-cta{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.big{display:inline-flex;align-items:center;gap:11px;background:var(--dark);color:var(--ondark);padding:17px 36px;border-radius:44px;font-family:'Quicksand';font-weight:600;font-size:12.5px;letter-spacing:1.3px;text-transform:uppercase;text-decoration:none;transition:.3s}
.big:hover{background:var(--brass);color:#fff;transform:translateY(-2px)}
.big.gh{background:transparent;color:var(--ink);border:1px solid var(--taupe)}
.big.gh:hover{background:var(--taupe);color:var(--paper);border-color:var(--taupe)}
.ghost{color:var(--ink);font-family:'Quicksand';font-weight:600;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px;transition:.3s}
.ghost:hover{border-color:var(--brass);color:var(--brass)}
@media(max-width:860px){.esp-in{grid-template-columns:1fr}.esp.rl .esp-ph{order:-1}.esp-ph{min-height:440px}}

/* MÉDICOS */
.meds{background:var(--dark);color:var(--ondark);border-top:1px solid var(--line-d)}
.meds .head h2{color:#f2ecdd}.meds .head h2 em{color:var(--brass)}
.meds .head .d{color:var(--ondim)}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1080px;margin:0 auto}
.med{display:grid;grid-template-columns:.72fr 1fr;gap:32px;align-items:start}
.med-ph{position:relative;overflow:hidden;aspect-ratio:3/4;border-radius:3px}
.med-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:saturate(.94) brightness(.94);transition:transform 1s}
.med:hover .med-ph img{transform:scale(1.05)}
.med-b h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:29px;color:#f4eede;line-height:1.08;margin-bottom:5px}
.med-b .sp{font-family:'Quicksand';font-weight:600;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--brass);margin-bottom:18px}
.med-b p{color:var(--ondim);font-size:14px;line-height:1.85;margin-bottom:18px}
.med-b .reg{font-family:'Quicksand';font-weight:500;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ondim);opacity:.75}
@media(max-width:960px){.mgrid{grid-template-columns:1fr;gap:56px}}
@media(max-width:480px){.med{grid-template-columns:1fr}.med-ph{max-width:260px}}

/* CLÍNICA parallax band */
.clin{position:relative}
.clin-band{position:relative;height:clamp(360px,64vh,640px);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.clin-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.clin-band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,34,26,.34),rgba(38,34,26,.62))}
.clin-band .in{position:relative;z-index:2;color:#fff;padding:0 30px}
.clin-band .g{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(40px,7vw,88px);letter-spacing:.4em;padding-left:.4em;line-height:1;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.clin-band .sub{font-family:'Quicksand';font-weight:500;font-size:12px;letter-spacing:3.4px;text-transform:uppercase;color:#e7e0cf;margin-top:20px}
.clin-body{padding:120px 0 150px}
.clin-tx{max-width:680px;margin:0 auto 64px;text-align:center}
.clin-tx .l{margin-bottom:20px}
.clin-tx p{color:var(--body);font-size:16px;line-height:1.85}
.clin-line{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);max-width:980px;margin:0 auto}
.clin-line>div{flex:1;min-width:160px;padding:34px 0 0;border-right:1px solid var(--line);text-align:center}
.clin-line>div:last-child{border-right:none}
.clin-line b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:40px;color:var(--ink);display:block;margin-bottom:6px}
.clin-line span{font-family:'Quicksand';font-weight:500;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--dim)}
@media(max-width:760px){.clin-line>div{flex:100%;border-right:none;border-bottom:1px solid var(--line);padding-bottom:24px}}

/* galeria */
.gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:158px;gap:12px;max-width:1080px;margin:0 auto}
.gal a{position:relative;overflow:hidden;border-radius:3px;grid-column:span 2;grid-row:span 2}
.gal a:first-child{grid-column:span 3;grid-row:span 3}
.gal a:nth-child(4){grid-column:span 3}
.gal img{width:100%;height:100%;object-fit:cover;filter:saturate(.96);transition:transform .6s cubic-bezier(.16,.7,.2,1)}
.gal a:hover img{transform:scale(1.07)}
.gal a::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(38,34,26,.32));opacity:0;transition:.4s}
.gal a:hover::after{opacity:1}
@media(max-width:760px){.gal{grid-template-columns:repeat(4,1fr);grid-auto-rows:120px}.gal a{grid-column:span 2!important;grid-row:span 2!important}.gal a:first-child{grid-column:span 4!important;grid-row:span 2!important}}
/* CLÍNICA POR DENTRO — showcase arquitetônico */
.clinshow{padding:150px 0;background:var(--paper2);border-top:1px solid var(--line)}
.cs-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:14px;max-width:1200px;margin:0 auto}
.cs{position:relative;overflow:hidden;border-radius:3px;display:block;text-decoration:none;grid-column:span 4}
.cs img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,.7,.2,1)}
.cs:hover img{transform:scale(1.06)}
.cs::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(38,34,26,.6));transition:.4s}
.cs:hover::after{background:linear-gradient(180deg,rgba(38,34,26,.1),rgba(38,34,26,.68))}
.cs .cap{position:absolute;left:22px;bottom:19px;z-index:2;font-family:'Quicksand';font-weight:600;font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.cs.a{grid-column:span 7;grid-row:span 2}
.cs.b{grid-column:span 5;grid-row:span 2}
@media(max-width:760px){.cs-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.cs,.cs.a,.cs.b{grid-column:span 1;grid-row:span 1}.cs.a{grid-column:span 2}}
.lightbox{position:fixed;inset:0;background:rgba(20,17,12,.94);z-index:90;display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.on{display:flex}
.lightbox img{max-width:100%;max-height:100%;border-radius:4px}
.lightbox-close{position:absolute;top:24px;right:28px;color:var(--ondark);font-family:'Quicksand';font-weight:600;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:1px solid var(--line-d);padding:9px 18px;border-radius:30px}

/* faq */
.faq{max-width:840px;margin:0 auto}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:25px;color:var(--ink);padding:30px 46px 30px 0;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:'Quicksand';font-weight:300;font-size:28px;color:var(--brass);transition:.3s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details .a{padding:0 0 30px;color:var(--body);font-size:15px;max-width:68ch}

/* FINAL dark */
.final{background:var(--dark);color:var(--ondark);text-align:center;padding:170px 0;position:relative;overflow:hidden}
.final .l{margin-bottom:24px}
.final h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(40px,6.4vw,80px);line-height:1.03;color:#f4eede;max-width:16ch;margin:0 auto 22px}
.final h2 em{font-style:italic;color:var(--brass)}
.final p{color:var(--ondim);max-width:48ch;margin:0 auto 44px;font-size:16px}
.final .cta2{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.final .big.li{background:var(--ondark);color:var(--dark)}.final .big.li:hover{background:var(--brass);color:#fff}
.final .big.gh{border-color:var(--line-d);color:var(--ondark)}.final .big.gh:hover{background:var(--ondark);color:var(--dark)}
.final .micro{margin-top:34px;font-family:'Quicksand';font-weight:500;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ondim);opacity:.8}

footer{background:var(--dark);border-top:1px solid var(--line-d);padding:40px 0;font-family:'Quicksand';font-weight:500;font-size:11px;letter-spacing:.4px;color:var(--ondim)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}

.mbar{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(38,34,26,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line-d);padding:9px 14px;z-index:60}
.mbar a{display:block;text-align:center;background:var(--ondark);color:var(--dark);padding:14px;border-radius:40px;font-family:'Quicksand';font-weight:600;font-size:13px;letter-spacing:.8px;text-transform:uppercase;text-decoration:none}
@media(max-width:720px){.mbar{display:block}body{padding-bottom:66px}}
.js .rev{opacity:0;transform:translateY(34px);transition:1.2s cubic-bezier(.16,.7,.2,1)}
.js .rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rev{opacity:1;transform:none}}

/* ============ LANDING PAGES (ginecologia / plástica / clínica) ============ */
.phero{position:relative;height:80svh;min-height:540px;display:flex;align-items:flex-end;overflow:hidden;background:var(--dark)}
.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.78)}
.phero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,34,26,.32) 0%,rgba(38,34,26,.16) 45%,rgba(38,34,26,.86) 100%)}
.phero .wrap{position:relative;z-index:2;padding-bottom:74px;color:#fff}
.phero .k{font-family:'Quicksand';font-weight:600;font-size:11px;letter-spacing:3.6px;text-transform:uppercase;color:var(--brass);margin-bottom:18px}
.phero h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(40px,6.6vw,86px);line-height:1.02;color:#fff;max-width:17ch}
.phero h1 em{font-style:italic;color:#efe7d6}
.phero .who{margin-top:22px;font-family:'Quicksand';font-weight:500;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ondim)}
.crumb{position:absolute;top:96px;left:0;right:0;z-index:3}
.crumb a{font-family:'Quicksand';font-weight:600;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#fff;text-decoration:none;opacity:.75;transition:.3s}
.crumb a:hover{opacity:1}
.intro{padding:130px 0;text-align:center}
.intro .wrap{max-width:840px}
.intro p{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(24px,3.4vw,40px);line-height:1.38;color:var(--ink)}
.intro p em{font-style:italic;color:var(--taupe)}
.procs{max-width:1000px;margin:0 auto}
.proc{display:grid;grid-template-columns:.46fr 1fr;gap:52px;padding:58px 0;border-top:1px solid var(--line);align-items:start;transition:.4s}
.proc:last-child{border-bottom:1px solid var(--line)}
.proc:hover{padding-left:12px}
.proc .pn{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(42px,5.2vw,76px);color:var(--taupe);line-height:.88}
.proc h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(26px,3vw,38px);color:var(--ink);margin-bottom:14px;line-height:1.08}
.proc p{color:var(--body);font-size:15.5px;line-height:1.88;margin-bottom:18px}
.proc .more{font-family:'Quicksand';font-weight:600;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:var(--taupe-d);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px;transition:.3s}
.proc .more:hover{border-color:var(--brass);color:var(--brass)}
@media(max-width:720px){.proc{grid-template-columns:1fr;gap:14px}}
.feats{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:0 auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.feat{padding:50px 42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.feat .fn{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:36px;color:var(--brass);margin-bottom:16px;line-height:1}
.feat h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:23px;color:var(--ink);margin-bottom:10px}
.feat p{color:var(--body);font-size:14px;line-height:1.82}
@media(max-width:820px){.fgrid{grid-template-columns:1fr}}
.jour{max-width:920px;margin:0 auto}
.jstep{display:grid;grid-template-columns:118px 1fr;gap:42px;padding:46px 0;border-top:1px solid var(--line);align-items:baseline}
.jstep:last-child{border-bottom:1px solid var(--line)}
.jstep .jn{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:46px;color:var(--taupe);line-height:1}
.jstep h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:27px;color:var(--ink);margin-bottom:8px}
.jstep p{color:var(--body);font-size:15px}
@media(max-width:640px){.jstep{grid-template-columns:1fr;gap:10px}}
.loc{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:1px solid var(--line)}
.loc-tx{padding:clamp(52px,6vw,92px);display:flex;flex-direction:column;justify-content:center}
.loc-map{min-height:460px;position:relative;background:var(--panel)}
.loc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.32) contrast(1.04)}
.loc-tx .l{margin-bottom:22px}
.loc-tx h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(32px,4vw,52px);color:var(--ink);margin-bottom:26px;line-height:1.05}
.loc-tx h2 em{font-style:italic;color:var(--taupe)}
.loc-row{padding:16px 0;border-top:1px solid var(--line);font-size:15px;color:var(--body)}
.loc-row b{font-family:'Quicksand';font-weight:600;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:4px}
@media(max-width:820px){.loc{grid-template-columns:1fr}.loc-map{min-height:340px}}
/* CTA split (uma especialidade) */
.lcta{background:var(--dark);color:var(--ondark);text-align:center;padding:150px 0}
.lcta .l{margin-bottom:22px}
.lcta h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(38px,5.6vw,68px);color:#f4eede;max-width:18ch;margin:0 auto 20px;line-height:1.05}
.lcta h2 em{font-style:italic;color:var(--brass)}
.lcta p{color:var(--ondim);max-width:48ch;margin:0 auto 40px;font-size:16px}
.lcta .big.li{background:var(--ondark);color:var(--dark)}.lcta .big.li:hover{background:var(--brass);color:#fff}
.lcta .micro{margin-top:30px;font-family:'Quicksand';font-weight:500;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ondim);opacity:.8}
