@font-face { font-family:"Montserrat"; src:url("assets/fonts/montserrat-300.ttf") format("truetype"); font-style:normal; font-weight:300; font-display:swap; }
@font-face { font-family:"Montserrat"; src:url("assets/fonts/montserrat-500.ttf") format("truetype"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Montserrat"; src:url("assets/fonts/montserrat-600.ttf") format("truetype"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Montserrat"; src:url("assets/fonts/montserrat-700.ttf") format("truetype"); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:"Playfair Display"; src:url("assets/fonts/playfair-400.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }

:root { --peach:#ffdec9; --rust:#8b4425; --white:#fff; }
.imc-landing, .imc-landing * { box-sizing:border-box; }
.imc-landing { position:relative; width:100%; background:#000; }
.imc-landing { overflow-x:hidden; color:var(--white); font-family:"Montserrat",Arial,sans-serif; }
.stage-shell { position:relative; width:100%; margin:0; }
.artboard { position:absolute; inset:0 auto auto 0; display:none; overflow:hidden; transform-origin:top left; background:#000; }
.artboard.is-active { display:block; }
.ultra-desktop { width:1320px; height:600px; }
.ultra-mobile { width:390px; height:1321px; }
p, h1, h2 { margin:0; }
.background-photo { position:absolute; overflow:hidden; pointer-events:none; }
.background-photo img { display:block; width:100%; height:100%; object-fit:cover; max-width:none; }
.bg-left { left:0; top:-176.02px; width:411.236px; height:822.471px; opacity:.04; }
.bg-right { left:929.76px; top:-3.12px; width:402.538px; height:603.808px; opacity:.05; mix-blend-mode:luminosity; }
.brand-mark { display:none !important; position:absolute; z-index:2; background:#fff; -webkit-mask-image:url("assets/logo-mask.png"); mask-image:url("assets/logo-mask.png"); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:left top; mask-position:left top; }
.glow { position:absolute; z-index:5; pointer-events:none; mix-blend-mode:plus-lighter; }
.glow img { position:absolute; display:block; max-width:none; }
.pill-tag { position:absolute; display:flex; align-items:center; justify-content:center; border-radius:6.928px 17.321px 0 17.321px; background:var(--peach); color:var(--rust); text-align:center; font-size:11.814px; font-weight:500; line-height:.86; }

/* Desktop design frame: 1320 × 600. */
.ultra-desktop .brand-mark { left:41.76px; top:49.85px; width:139.753px; height:52.035px; -webkit-mask-size:135.521px 46.519px; mask-size:135.521px 46.519px; }
.ultra-desktop .bg-right img { transform:none; }
.ultra-desktop .left-copy { position:absolute; z-index:2; left:41.76px; top:349.885px; width:236px; display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.ultra-desktop .left-title { width:236px; }
.ultra-desktop .left-title h1 { height:54.525px; color:var(--peach); font:400 51.757px/.82 "Playfair Display",Georgia,serif; letter-spacing:-1.5527px; }
.ultra-desktop .left-title p { color:#fff; font:300 17.224px/1.05 "Montserrat",Arial,sans-serif; letter-spacing:-.5167px; text-transform:lowercase; }
.ultra-desktop .rule { display:block; height:.704px; }
.ultra-desktop .left-rule { width:236px; }
.ultra-desktop .left-summary { width:227.366px; color:#fff; font:300 15.786px/.94 "Montserrat",Arial,sans-serif; letter-spacing:-.4736px; }
.ultra-desktop .left-short-rule { width:28.988px; }
.ultra-desktop .left-details { width:236px; color:#fff; font:300 10.005px/1 "Montserrat",Arial,sans-serif; letter-spacing:-.3002px; }

.ultra-desktop .hero-panel { position:absolute; z-index:2; left:367.76px; top:0; width:585px; height:601px; overflow:hidden; border-radius:26.578px; background:var(--rust); }
.ultra-desktop .hero-title { position:absolute; z-index:1; left:143.8px; top:29.75px; width:265.802px; color:var(--peach); text-align:center; font:400 50.492px/.82 "Playfair Display",Georgia,serif; letter-spacing:-1.5148px; }
.ultra-desktop .tag-one { left:49.3px; top:170.44px; width:140.298px; height:38.106px; }
.ultra-desktop .tag-two { left:393.18px; top:170.44px; width:122.977px; height:38.106px; }
.ultra-desktop .tag-three { left:28.3px; top:235.1px; width:119.513px; height:38.106px; }
.ultra-desktop .tag-four { left:425.55px; top:227.6px; width:122.4px; height:51.962px; line-height:.98; }
.ultra-desktop .tag-two span { white-space:pre-line; }
.ultra-desktop .hero-word { position:absolute; z-index:1; left:0; top:290.937px; width:585px; color:var(--peach); text-align:center; white-space:nowrap; font:400 278.71px/.82 "Playfair Display",Georgia,serif; letter-spacing:-8.3613px; }
.ultra-desktop .portrait-frame { position:absolute; z-index:3; left:415.76px; top:110px; width:452.905px; height:491px; overflow:hidden; pointer-events:none; }
.ultra-desktop .portrait-frame img { position:absolute; left:-35.28%; top:-.01%; width:169.28%; height:100.01%; max-width:none; }
.ultra-desktop .portrait-caption { position:absolute; z-index:4; left:432.02px; top:548.57px; width:412px; color:var(--peach); text-align:center; white-space:nowrap; font:500 17.411px/.98 "Montserrat",Arial,sans-serif; }

.ultra-desktop .glow-a { left:-226.65px; top:-34.27px; width:311.542px; height:311.542px; }
.ultra-desktop .glow-a img { left:-182.33px; top:-182.33px; width:676.202px; height:676.202px; }
.ultra-desktop .glow-b { left:1206.76px; top:-137px; width:311.542px; height:311.542px; }
.ultra-desktop .glow-b img { left:-182.33px; top:-182.33px; width:676.202px; height:676.202px; }
.ultra-desktop .glow-c { left:674.76px; top:373px; width:188.483px; height:188.483px; }
.ultra-desktop .glow-c img { left:-110.32px; top:-110.32px; width:409.102px; height:409.102px; }
.ultra-desktop .glow-d { left:450.76px; top:367px; width:188.483px; height:188.483px; }
.ultra-desktop .glow-d img { left:-110.32px; top:-110.32px; width:409.102px; height:409.102px; }

.ultra-desktop .right-rule { position:absolute; z-index:2; left:998.21px; top:252.61px; width:265.312px; }
.ultra-desktop .right-content { position:absolute; z-index:3; left:998.21px; top:50%; transform:translateY(-50%); width:265.312px; display:flex; flex-direction:column; gap:30px; }
.ultra-desktop .right-copy { width:100%; display:flex; flex-direction:column; align-items:center; gap:46px; }
.ultra-desktop .patient-copy { width:265.312px; height:117px; color:#fff; text-align:center; font:300 11.988px/1.05 "Montserrat",Arial,sans-serif; letter-spacing:-.3597px; }
.ultra-desktop .patient-copy strong { display:block; color:var(--peach); font-weight:600; }
.ultra-desktop .patient-copy .blank { display:block; height:12.588px; }
.ultra-desktop .tech-copy { width:255.956px; display:flex; flex-direction:column; gap:16.327px; color:#fff; font:300 11.988px/1.05 "Montserrat",Arial,sans-serif; letter-spacing:-.3597px; }
.ultra-desktop .tech-copy strong, .ultra-desktop .appointment strong { color:var(--peach); font-weight:600; }
.ultra-desktop .tech-copy p { text-align:center; }
.ultra-desktop .appointment { width:255.956px; display:flex; flex-direction:column; gap:11.225px; text-align:center; color:#fff; font-size:11.988px; letter-spacing:-.3597px; }
.ultra-desktop .appointment strong { height:14.034px; font-size:11.989px; line-height:.82; text-transform:uppercase; }
.ultra-desktop .appointment p { font:300 11.988px/1.05 "Montserrat",Arial,sans-serif; }
.contact-buttons { display:flex; align-items:center; gap:11.225px; }
.contact-buttons button { display:flex; align-items:center; justify-content:center; padding:0; border-radius:999px; font-family:"Montserrat",Arial,sans-serif; font-weight:500; line-height:.86; white-space:nowrap; cursor:pointer; }
.ultra-desktop .contact-buttons button { width:123.634px; height:31.41px; font-size:12.411px; }
.contact-buttons .whatsapp { border:0; background:var(--peach); color:var(--rust); }
.contact-buttons .instagram { border:.668px solid var(--peach); background:transparent; color:var(--peach); }

/* Mobile design frame: 390 × 1321. */
.ultra-mobile .bg-left { left:-11px; top:-120px; }
.ultra-mobile .bg-right { left:-3px; top:754px; }
.ultra-mobile .bg-right img { transform:scaleX(-1); }
.ultra-mobile .brand-mark { left:47px; top:51px; width:139.753px; height:52.035px; -webkit-mask-size:135.521px 46.519px; mask-size:135.521px 46.519px; }
.ultra-mobile .left-copy { position:absolute; z-index:2; left:47px; top:142.035px; width:236px; display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.ultra-mobile .left-title { width:236px; }
.ultra-mobile .left-title h1 { height:54.525px; color:var(--peach); font:400 51.757px/.82 "Playfair Display",Georgia,serif; letter-spacing:-1.5527px; }
.ultra-mobile .left-title p { color:#fff; font:300 17.224px/1.05 "Montserrat",Arial,sans-serif; letter-spacing:-.5167px; text-transform:lowercase; }
.ultra-mobile .rule { display:block; height:.704px; }
.ultra-mobile .left-rule { width:236px; }
.ultra-mobile .left-summary { width:227.366px; color:#fff; font:300 15.786px/.94 "Montserrat",Arial,sans-serif; letter-spacing:-.4736px; }
.ultra-mobile .left-short-rule { width:28.988px; }
.ultra-mobile .left-details { width:236px; color:#fff; font:300 10.005px/1 "Montserrat",Arial,sans-serif; letter-spacing:-.3002px; }

.ultra-mobile .hero-panel { position:absolute; z-index:2; left:0; top:398px; width:390px; height:400.667px; overflow:hidden; border-radius:17.719px; background:var(--rust); }
.ultra-mobile .hero-title { position:absolute; z-index:1; left:95.867px; top:19.833px; width:177.201px; color:var(--peach); text-align:center; font:400 33.661px/.82 "Playfair Display",Georgia,serif; letter-spacing:-1.0098px; }
.ultra-mobile .pill-tag { border-radius:4.619px 11.547px 0 11.547px; font-size:7.876px; }
.ultra-mobile .tag-one { left:32.867px; top:113.623px; width:93.532px; height:25.404px; }
.ultra-mobile .tag-two { left:262.117px; top:113.623px; width:81.985px; height:25.404px; }
.ultra-mobile .tag-three { left:18.867px; top:156.733px; width:79.675px; height:25.404px; }
.ultra-mobile .tag-four { left:283.697px; top:151.733px; width:81.6px; height:34.641px; line-height:.98; }
.ultra-mobile .tag-two span { white-space:pre-line; }
.ultra-mobile .hero-word { position:absolute; z-index:1; left:0; top:193.957px; width:390px; color:var(--peach); text-align:center; white-space:nowrap; font:400 185.807px/.82 "Playfair Display",Georgia,serif; letter-spacing:-5.5742px; }
.ultra-mobile .portrait-frame { position:absolute; z-index:3; left:32px; top:471.33px; width:301.937px; height:327.333px; overflow:hidden; pointer-events:none; }
.ultra-mobile .portrait-frame img { position:absolute; left:-35.28%; top:-.01%; width:169.28%; height:100.01%; max-width:none; }
.ultra-mobile .portrait-caption { position:absolute; z-index:4; left:0; top:771.83px; width:390px; color:var(--peach); text-align:center; white-space:nowrap; font:500 9.708px/.98 "Montserrat",Arial,sans-serif; }

.ultra-mobile .glow-a { left:310px; top:-153px; width:273.859px; height:273.859px; }
.ultra-mobile .glow-a img { left:-160.23px; top:-160.23px; width:594.411px; height:594.411px; }
.ultra-mobile .glow-b { left:183px; top:638px; width:127px; height:127px; }
.ultra-mobile .glow-b img { left:-74.3px; top:-74.3px; width:275.654px; height:275.654px; }
.ultra-mobile .glow-c { left:-199px; top:869px; width:273.859px; height:273.859px; }
.ultra-mobile .glow-c img { left:-141.3px; top:-141.3px; width:556.45px; height:556.45px; }
.ultra-mobile .glow-d { left:74px; top:621px; width:114px; height:114px; }
.ultra-mobile .glow-d img { left:-66.84px; top:-66.84px; width:247.437px; height:247.437px; }

.ultra-mobile .right-rule { position:absolute; z-index:2; left:48px; top:1002.95px; width:294.227px; }
.ultra-mobile .right-content { position:absolute; z-index:3; left:48px; top:843px; width:294.227px; display:flex; flex-direction:column; gap:34px; }
.ultra-mobile .right-copy { width:100%; display:flex; flex-direction:column; align-items:center; gap:51px; }
.ultra-mobile .patient-copy { width:294.227px; height:126px; color:#fff; text-align:center; font:300 13.295px/1.05 "Montserrat",Arial,sans-serif; letter-spacing:-.3988px; }
.ultra-mobile .patient-copy strong { display:block; color:var(--peach); font-weight:600; }
.ultra-mobile .patient-copy .blank { display:block; height:13.96px; }
.ultra-mobile .tech-copy { width:283.851px; display:flex; flex-direction:column; gap:18.106px; color:#fff; font:300 13.295px/1.05 "Montserrat",Arial,sans-serif; letter-spacing:-.3988px; }
.ultra-mobile .tech-copy strong, .ultra-mobile .appointment strong { color:var(--peach); font-weight:600; }
.ultra-mobile .tech-copy p { text-align:center; }
.ultra-mobile .appointment { width:283.851px; display:flex; flex-direction:column; gap:12.448px; text-align:center; color:#fff; font-size:13.295px; letter-spacing:-.3988px; }
.ultra-mobile .appointment strong { height:15.564px; font-size:13.296px; line-height:.82; text-transform:uppercase; }
.ultra-mobile .appointment p { font:300 13.295px/1.05 "Montserrat",Arial,sans-serif; }
.ultra-mobile .contact-buttons { gap:12.448px; height:34.833px; }
.ultra-mobile .contact-buttons button { width:137.108px; height:34.833px; font-size:13.764px; }
.ultra-mobile .contact-buttons .instagram { border-width:.741px; }

@media (max-width:767px) { }

.ultra-desktop .rule, .ultra-mobile .rule { margin-bottom:-.704px; }

/* Alinhamento dos blocos de apresentação com o quadro original. */
.left-copy .left-title { position:absolute; left:0; top:0; }
.left-copy .left-title h1 { position:relative; top:-4px; }
.left-copy .left-title p { position:absolute; top:50px; left:0; white-space:nowrap; }
.left-copy .left-rule { position:absolute; top:81.5px; left:0; }
.left-copy .left-summary { position:absolute; top:98.7px; left:0; }
.left-copy .left-short-rule { position:absolute; top:141.5px; left:0; }
.left-copy .left-details { position:absolute; top:159.8px; left:0; }
