@font-face{font-family:"Space Grotesk";src:url("assets/space-grotesk-0.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("assets/space-grotesk-1.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("assets/space-grotesk-2.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("assets/space-grotesk-3.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--coral:#FF4F3F;--oceano:#103B4A;--marinho:#00A6C8;--agua:#66C2C4;--areia:#F7F3EA;--tinta:#11262B;--muted:#64777A;--linha:rgba(16,59,74,.18);--f:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--max:1320px;--pad:clamp(22px,5.2vw,78px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--areia);color:var(--tinta);font-family:var(--f);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}
.skip{position:fixed;top:10px;left:10px;z-index:30;padding:10px 14px;background:var(--areia);color:var(--oceano);transform:translateY(-160%)}.skip:focus{transform:none}
.reading-progress{position:fixed;z-index:50;inset:0 auto auto 0;width:100%;height:4px;background:var(--coral);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{position:relative;background:var(--oceano);color:var(--areia);overflow:hidden;min-height:760px;display:flex;flex-direction:column}
.hero::before{content:"";position:absolute;width:52vw;height:52vw;min-width:560px;min-height:560px;right:-14vw;top:80px;border-radius:50%;border:1px solid rgba(102,194,196,.14);box-shadow:0 0 0 45px rgba(102,194,196,.025),0 0 0 100px rgba(102,194,196,.025),0 0 0 155px rgba(102,194,196,.02);pointer-events:none}
.topbar{position:relative;z-index:1;min-height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(247,243,234,.2)}
.wordmark{text-decoration:none;font-weight:700;font-size:27px;letter-spacing:-.11em;color:var(--areia)}.wordmark span{font-size:9px;letter-spacing:0;vertical-align:top;margin-left:4px;color:var(--agua)}
.topbar nav{display:flex;gap:clamp(14px,2.6vw,38px);align-items:center}.topbar nav a{font-size:13px;text-decoration:none;color:rgba(247,243,234,.83)}.topbar nav a:hover{color:var(--areia);text-decoration:underline;text-underline-offset:5px}.topbar nav .nav-map{border:1px solid rgba(247,243,234,.4);border-radius:999px;padding:8px 13px}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(38px,7vw,110px);align-items:center;flex:1;padding-block:66px 50px}
.hero-copy{padding-block:14px 28px}.eyebrow{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--marinho)}
.hero .eyebrow{color:var(--agua)}.dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(255,79,63,.17)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(64px,9.8vw,142px);font-weight:500;letter-spacing:-.09em;line-height:.88;margin:30px 0 27px;color:var(--areia)}h1 em,h2 em{font-style:normal;color:var(--coral)}
.hero-lead{max-width:540px;color:rgba(247,243,234,.78);font-size:clamp(18px,2vw,23px);line-height:1.45;margin-bottom:30px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;border-radius:999px;padding:14px 20px;font-size:14px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.coral-button{background:var(--coral);color:var(--oceano)}.sand-button{background:var(--areia);color:var(--oceano)}
.hero-place{margin:22px 0 0;font-size:12px;letter-spacing:.06em;color:rgba(247,243,234,.62)}
.image-pending{position:relative;min-height:480px;aspect-ratio:1.05/1;overflow:hidden;border-radius:4px 170px 4px 4px;background:linear-gradient(150deg,rgba(0,166,200,.72),rgba(16,59,74,.88) 54%,#0b2d38);border:1px solid rgba(247,243,234,.19);display:flex;align-items:center;justify-content:center}
.image-pending::before{content:"";position:absolute;width:68%;height:68%;border:1px solid rgba(247,243,234,.22);border-radius:50%;top:8%;left:15%;box-shadow:0 0 0 22px rgba(247,243,234,.025),0 0 0 55px rgba(247,243,234,.03)}
.image-pending::after{content:"";position:absolute;left:-4%;right:-4%;bottom:16%;height:24%;background:linear-gradient(180deg,rgba(102,194,196,.5),rgba(0,166,200,.08));clip-path:polygon(0 80%,15% 54%,28% 62%,44% 35%,59% 53%,74% 16%,91% 45%,100% 22%,100% 100%,0 100%);opacity:.65}
.pending-lines{position:absolute;inset:0;display:flex;gap:7px;align-items:flex-end;justify-content:center;opacity:.18;transform:skewY(-18deg) translateY(4%)}.pending-lines i{width:1px;height:var(--h);background:var(--areia)}.pending-lines i:nth-child(1){--h:33%}.pending-lines i:nth-child(2){--h:46%}.pending-lines i:nth-child(3){--h:58%}.pending-lines i:nth-child(4){--h:70%}.pending-lines i:nth-child(5){--h:83%}.pending-lines i:nth-child(6){--h:68%}.pending-lines i:nth-child(7){--h:52%}
.pending-badge,.pending-caption,.pending-note{position:absolute;z-index:2}.pending-badge{top:22px;left:22px;display:flex;gap:9px;align-items:center;padding:9px 13px;border-radius:999px;background:var(--areia);color:var(--oceano);font-size:11px;font-weight:700}.pending-mark{font-size:17px;color:var(--coral)}.pending-caption{left:clamp(22px,4vw,50px);bottom:clamp(28px,5vw,60px);display:grid;gap:9px}.pending-caption span{font-size:10px;letter-spacing:.16em;color:var(--agua)}.pending-caption b{font-size:clamp(23px,3vw,38px);line-height:1.08;letter-spacing:-.05em;font-weight:500}.pending-note{right:18px;bottom:18px;font-size:10px;color:rgba(247,243,234,.55)}
.hero-foot{display:flex;align-items:center;gap:20px;min-height:64px;border-top:1px solid rgba(247,243,234,.2);font-size:10px;letter-spacing:.12em;color:rgba(247,243,234,.62)}.hero-foot span:nth-child(2){margin-left:auto}.hero-foot a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(247,243,234,.4);text-decoration:none;color:var(--areia);font-size:18px}
.intro{display:grid;grid-template-columns:1fr 64px;gap:30px;align-items:center;padding-block:62px 58px}.intro p{max-width:890px;margin:0;font-size:clamp(25px,4vw,45px);letter-spacing:-.055em;line-height:1.2;color:var(--oceano)}.intro p strong{font-weight:600}.intro-seal{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--oceano);background:var(--agua)}.intro-seal svg{width:38px}
.facts{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px;padding-bottom:82px}.fact{min-height:220px;padding:25px 27px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border-radius:4px}.fact .eyebrow{color:inherit;opacity:.68;font-size:10px}.fact strong{font-size:clamp(45px,7vw,82px);line-height:.95;letter-spacing:-.08em;font-weight:500}.fact p{margin:12px 0 0;font-size:14px;line-height:1.45;max-width:34ch}.fact-dark{background:var(--oceano);color:var(--areia)}.fact-coral{background:var(--coral);color:var(--oceano)}.fact-water{background:var(--marinho);color:var(--oceano)}
.section{padding-block:90px}.section-head{display:grid;grid-template-columns:minmax(120px,.55fr) 1.45fr;gap:35px;align-items:start;margin-bottom:55px}.section-head .eyebrow{padding-top:14px;color:#0B86A1}.section h2,.map-copy h2,.sources-head h2,.footer h2{font-size:clamp(47px,7.5vw,96px);line-height:.96;letter-spacing:-.075em;font-weight:500;color:var(--oceano);margin:0}.history-copy{max-width:770px;margin-left:auto}.large-copy{font-size:clamp(23px,3vw,34px);line-height:1.3;letter-spacing:-.035em;color:var(--oceano)}.history-copy>p:not(.large-copy){font-size:17px;line-height:1.7;color:#43595E}.text-link{display:inline-block;margin-top:12px;text-decoration:none;color:var(--oceano);font-size:13px;font-weight:700;border-bottom:1px solid var(--marinho);padding-bottom:4px}.text-link:hover{color:#086f88}
.route-section{background:#EFECE1}.route-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.route-step{display:grid;grid-template-columns:34px 54px 1fr;gap:12px;align-items:start;min-height:265px;padding:24px 19px;border-top:1px solid var(--oceano);background:rgba(247,243,234,.75)}.step-num{font-size:11px;font-weight:700;color:#0B86A1;padding-top:9px}.step-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--agua);color:var(--oceano);font-size:22px;font-weight:600}.trail-icon{background:var(--marinho)}.stairs-icon{background:var(--coral);font-size:15px}.route-step h3{margin:8px 0 10px;font-size:21px;line-height:1.1;letter-spacing:-.04em;color:var(--oceano);font-weight:600}.route-step p{font-size:14px;line-height:1.55;color:#52696D}.step-tag{display:inline-block;margin-top:8px;padding:6px 9px;border-radius:999px;background:var(--areia);color:#456065;font-size:10px;font-weight:600}.route-alternative{display:grid;grid-template-columns:.55fr 1.45fr auto;gap:20px;align-items:start;margin-top:17px;padding:24px 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}.route-alternative .eyebrow{color:#0B86A1}.route-alternative p{margin:0;max-width:700px;font-size:15px;line-height:1.6;color:#43595E}.route-alternative .text-link{margin:0;white-space:nowrap}
.tower-note{display:grid;grid-template-columns:112px 1fr;gap:32px;align-items:center;padding-block:76px;border-bottom:1px solid var(--linha)}.tower-stamp{width:102px;height:102px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--coral);color:var(--oceano);transform:rotate(-8deg)}.tower-stamp span{font-size:10px;letter-spacing:.1em;font-weight:700}.tower-stamp b{font-size:34px;font-weight:500;line-height:1}.tower-note .eyebrow{color:#0B86A1}.tower-note h2{margin:12px 0;font-size:clamp(28px,4vw,47px);line-height:1.06;letter-spacing:-.055em;font-weight:500;color:var(--oceano)}.tower-note p{max-width:780px;margin:0;color:#52696D;line-height:1.65}
.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.care-card{position:relative;min-height:300px;padding:24px;display:flex;flex-direction:column;align-items:flex-start}.care-number{font-size:11px;letter-spacing:.1em;opacity:.67}.care-card h3{margin:36px 0 12px;font-size:27px;line-height:1.05;letter-spacing:-.055em;font-weight:500}.care-card p{font-size:14px;line-height:1.6;max-width:37ch}.care-card a{margin-top:auto;padding-top:22px;font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.care-dark{background:var(--oceano);color:var(--areia)}.care-dark p{color:rgba(247,243,234,.75)}.care-blue{background:var(--marinho);color:var(--oceano)}.care-sand{background:var(--coral);color:var(--oceano)}.fine-print{max-width:760px;margin:20px 0 0 auto;color:var(--muted);font-size:12px;line-height:1.55}
.pack-section{background:#E9E5D9}.checklist-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}.check-summary{position:sticky;top:20px;padding:24px;background:var(--oceano);color:var(--areia)}.check-summary .eyebrow{color:var(--agua)}.check-summary strong{display:block;margin:28px 0 20px;font-size:94px;line-height:.8;letter-spacing:-.1em;font-weight:500;font-variant-numeric:tabular-nums}.check-summary strong small{font-size:28px;letter-spacing:-.03em;color:var(--agua)}.check-track{height:5px;background:rgba(247,243,234,.2);overflow:hidden}.check-track i{display:block;width:0;height:100%;background:var(--coral);transition:width .25s ease}.check-summary p{min-height:45px;margin:17px 0 0;color:rgba(247,243,234,.75);font-size:13px}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:9px}.checklist label{display:flex;gap:12px;align-items:center;min-height:65px;padding:14px;background:var(--areia);border:1px solid var(--linha);cursor:pointer;color:var(--oceano);font-weight:600;font-size:14px}.checklist label:has(input:checked){background:#D8ECE8;border-color:var(--agua)}.checklist input{accent-color:var(--oceano);width:18px;height:18px;margin:0;flex:none}.checklist small{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.map-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,7vw,95px);align-items:center;padding-block:100px}.map-art{position:relative;min-height:440px;overflow:hidden;background:var(--oceano);color:var(--areia)}.map-art::before{content:"";position:absolute;inset:-10%;background:radial-gradient(ellipse at 70% 30%,rgba(102,194,196,.19),transparent 50%),radial-gradient(ellipse at 20% 90%,rgba(0,166,200,.27),transparent 48%)}.map-contour{position:absolute;border:1px solid rgba(102,194,196,.31);border-radius:48% 52% 42% 58%;transform:rotate(-22deg)}.contour-a{width:125%;height:85%;left:-22%;top:13%}.contour-b{width:100%;height:65%;left:9%;top:31%}.map-route{position:absolute;left:25%;top:22%;width:50%;height:57%;border-left:2px dashed var(--coral);transform:rotate(32deg);border-radius:50%}.map-route i{position:absolute;width:8px;height:8px;background:var(--areia);border:2px solid var(--oceano);border-radius:50%;left:-5px}.map-route i:nth-child(1){top:0}.map-route i:nth-child(2){top:25%}.map-route i:nth-child(3){top:50%}.map-route i:nth-child(4){top:75%}.map-route i:nth-child(5){top:100%}.map-pin{position:absolute;padding:7px 9px;background:var(--areia);color:var(--oceano);font-size:10px;font-weight:700;letter-spacing:.1em}.pin-start{top:17%;left:13%}.pin-end{right:12%;bottom:20%;background:var(--coral)}.map-label{position:absolute;right:14px;top:14px;color:rgba(247,243,234,.65);font-size:10px;letter-spacing:.15em}.map-copy .eyebrow{color:#0B86A1}.map-copy h2{margin:20px 0}.map-copy p{max-width:480px;margin:0 0 24px;color:#52696D;line-height:1.7}.map-secondary{display:block;width:max-content;margin-top:15px;font-size:12px;color:var(--oceano);text-decoration:none;border-bottom:1px solid var(--marinho)}
.sources-section{background:#E9E5D9;padding-block:86px}.sources-head{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end;margin-bottom:38px}.sources-head .eyebrow{color:#0B86A1}.sources-head h2{margin-top:19px}.sources-head>p{max-width:420px;margin:0 0 6px;color:var(--muted);font-size:14px;line-height:1.6}.sources-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sources-grid a{position:relative;display:grid;grid-template-columns:34px 1fr 24px;column-gap:12px;align-items:start;padding:20px;background:var(--areia);text-decoration:none;transition:background .18s ease}.sources-grid a:hover{background:#fff}.sources-grid a>span{grid-row:1/3;color:#0B86A1;font-size:11px}.sources-grid b{font-size:15px;color:var(--oceano)}.sources-grid small{grid-column:2;color:var(--muted);font-size:12px;line-height:1.5;margin-top:5px}.sources-grid i{grid-column:3;grid-row:1/3;justify-self:end;color:var(--coral);font-style:normal}
.footer{background:var(--oceano);color:var(--areia);padding-top:78px}.footer-main{padding-bottom:70px}.footer .eyebrow{color:var(--agua)}.footer h2{margin:20px 0;color:var(--areia)}.footer h2 em{color:var(--coral)}.footer-main p{color:rgba(247,243,234,.7);margin-bottom:24px}.footer-meta{display:flex;gap:18px;justify-content:space-between;align-items:center;min-height:66px;border-top:1px solid rgba(247,243,234,.2);font-size:10px;letter-spacing:.08em;color:rgba(247,243,234,.61)}.footer-meta a{color:var(--areia);text-decoration:none}.footer-meta a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--marinho);outline-offset:4px}
@media(max-width:900px){.hero{min-height:auto}.hero-grid{grid-template-columns:1fr 1fr;gap:30px;padding-block:54px 40px}.image-pending{min-height:390px;border-top-right-radius:125px}.route-step{grid-template-columns:28px 44px 1fr;gap:9px;padding:20px 13px}.step-icon{width:42px;height:42px}.care-card{padding:20px}}
@media(max-width:680px){:root{--pad:22px}.hero::before{right:-54vw;top:250px}.topbar{min-height:70px}.topbar nav{gap:13px}.topbar nav a{font-size:11px}.topbar nav a:first-child,.topbar nav a:nth-child(3){display:none}.hero-grid{grid-template-columns:1fr;gap:27px;padding-block:48px 32px}.hero-copy{padding:0}.hero h1{font-size:clamp(67px,18vw,110px);margin:24px 0 19px}.hero-lead{font-size:18px;max-width:430px}.image-pending{min-height:340px;aspect-ratio:1.2/1;border-top-right-radius:105px}.hero-foot{gap:10px;font-size:8px;letter-spacing:.08em}.hero-foot span:nth-child(2){text-align:right}.intro{padding-block:46px 38px;grid-template-columns:1fr 44px;gap:16px}.intro p{font-size:27px}.intro-seal{width:42px;height:42px}.intro-seal svg{width:30px}.facts{grid-template-columns:1fr;gap:9px;padding-bottom:48px}.fact{min-height:165px;padding:21px}.fact strong{font-size:64px}.fact p{max-width:44ch}.section{padding-block:60px}.section-head{grid-template-columns:1fr;gap:15px;margin-bottom:32px}.section-head .eyebrow{padding:0}.section h2,.map-copy h2,.sources-head h2,.footer h2{font-size:clamp(48px,13vw,75px)}.history-copy{margin:0}.large-copy{font-size:24px}.history-copy>p:not(.large-copy){font-size:15px}.route-flow{grid-template-columns:1fr}.route-step{grid-template-columns:32px 48px 1fr;min-height:0;padding:20px 14px}.route-step h3{font-size:20px}.route-alternative{grid-template-columns:1fr;gap:10px}.route-alternative .text-link{width:max-content;white-space:normal}.tower-note{grid-template-columns:65px 1fr;gap:17px;padding-block:50px}.tower-stamp{width:62px;height:62px}.tower-stamp span{font-size:8px}.tower-stamp b{font-size:21px}.tower-note h2{font-size:29px}.tower-note p{font-size:14px}.care-grid{grid-template-columns:1fr}.care-card{min-height:240px;padding:21px}.care-card h3{margin-top:26px}.checklist-layout{grid-template-columns:1fr;gap:14px}.check-summary{position:static}.checklist{grid-template-columns:1fr}.checklist label{min-height:60px}.map-section{grid-template-columns:1fr;padding-block:60px;gap:30px}.map-art{min-height:340px}.map-copy h2{margin:15px 0}.sources-section{padding-block:60px}.sources-head{grid-template-columns:1fr;gap:19px;margin-bottom:25px}.sources-grid{grid-template-columns:1fr}.footer{padding-top:56px}.footer-main{padding-bottom:50px}.footer-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-block:15px;font-size:9px}.footer-meta a{grid-column:1/-1}.hero-foot a{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Fotos e assinatura visual recebidas para esta revisão local. */
.wordmark{display:flex;align-items:center;letter-spacing:0}
.wordmark img{display:block;width:148px;height:auto;max-height:42px;object-fit:contain;object-position:left center}
.hero-photo{position:relative;isolation:isolate;width:100%;height:clamp(460px,53vw,670px);min-height:0;max-height:670px;margin:0;overflow:hidden;border-radius:4px 150px 4px 4px;background:var(--oceano);border:1px solid rgba(247,243,234,.2)}
.hero-photo::after{content:"";position:absolute;z-index:0;inset:35% 0 0;background:linear-gradient(180deg,transparent,rgba(16,59,74,.78))}
.hero-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.photo-chip{position:absolute;z-index:1;top:18px;left:18px;padding:9px 12px;border-radius:999px;background:var(--areia);color:var(--oceano);font-size:10px;font-weight:700;letter-spacing:.09em}
.hero-photo figcaption{position:absolute;z-index:1;right:24px;bottom:25px;left:24px;display:grid;gap:3px;color:var(--areia);font-size:clamp(23px,3vw,36px);font-weight:600;line-height:1.1;letter-spacing:-.05em}
.hero-photo figcaption span{font-size:12px;font-weight:400;letter-spacing:.02em;color:rgba(247,243,234,.8)}
.photo-board{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,7vw,96px);align-items:center;padding-block:18px 96px}
.photo-board-image{position:relative;margin:0;padding:12px 12px 52px;background:#fff;border:1px solid var(--linha);box-shadow:0 18px 48px rgba(16,59,74,.12);transform:rotate(-1.2deg)}
.photo-board-image img{display:block;width:100%;height:clamp(390px,49vw,620px);object-fit:cover;object-position:center 58%;background:var(--agua)}
.photo-board-image figcaption{position:absolute;right:15px;bottom:15px;left:15px;color:var(--oceano);font-size:12px;text-align:center}
.photo-board-copy .eyebrow{color:#0B86A1}
.photo-board-copy h2{margin:18px 0;font-size:clamp(42px,6.3vw,76px);line-height:.98;letter-spacing:-.075em;font-weight:500;color:var(--oceano)}
.photo-board-copy h2 em{color:var(--coral);font-style:normal}
.photo-board-copy p{max-width:470px;color:#52696D;line-height:1.7}
.footer-logo{display:block;width:min(190px,45vw);height:auto;max-height:48px;object-fit:contain;object-position:left center;margin-bottom:28px}
@media(max-width:900px){.hero-photo{height:clamp(410px,62vw,590px);border-top-right-radius:120px}.photo-board{gap:34px}}
@media(max-width:680px){.wordmark img{width:126px;max-height:37px}.hero-photo{height:auto;aspect-ratio:.82/1;min-height:380px;border-top-right-radius:105px}.hero-photo>img{object-position:center 56%}.photo-chip{top:14px;left:14px;font-size:9px}.hero-photo figcaption{right:18px;bottom:19px;left:18px;font-size:27px}.hero-photo figcaption span{font-size:11px}.photo-board{grid-template-columns:1fr;gap:32px;padding-block:8px 58px}.photo-board-image{width:min(100%,480px);margin-inline:auto;padding:9px 9px 45px}.photo-board-image img{height:auto;aspect-ratio:.8/1;object-position:center 58%}.photo-board-image figcaption{font-size:11px;bottom:13px}.photo-board-copy h2{font-size:clamp(43px,12vw,65px)}.footer-logo{width:160px}}

/* Infraestrutura e serviços de Nova Brasília. */
.infra-section{background:var(--areia);padding-block:86px 96px}
.infra-intro{max-width:850px;margin:-20px 0 70px auto;font-size:clamp(19px,2.5vw,27px);line-height:1.45;letter-spacing:-.025em;color:var(--oceano)}
.infra-block{display:grid;grid-template-columns:minmax(175px,.55fr) 1.45fr;gap:34px;padding-block:34px;border-top:1px solid var(--linha)}
.infra-block-title h3{margin:15px 0 0;color:var(--oceano);font-size:clamp(27px,3.2vw,40px);line-height:1;letter-spacing:-.06em;font-weight:500}
.infra-block-title .eyebrow{color:#0B86A1}
.travel-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.travel-step,.info-card,.place-card{background:#fff;padding:20px;border-top:3px solid var(--marinho);min-width:0}
.travel-step>span,.info-kicker,.place-type{display:block;color:#0B7890;font-size:9px;font-weight:700;letter-spacing:.1em;line-height:1.4}
.travel-step h4,.info-card h4,.place-card h4{margin:17px 0 10px;color:var(--oceano);font-size:20px;letter-spacing:-.04em;line-height:1.1}
.travel-step p,.info-card p,.place-card p,.service-card p{font-size:13px;line-height:1.6;color:#52696D}
.card-links{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:16px}
.card-links a,.travel-step a,.info-card>a,.place-card>a,.service-card>a{color:var(--oceano);font-size:11px;font-weight:700;line-height:1.5;text-decoration:none;border-bottom:1px solid var(--agua);padding-bottom:3px}
.card-links a:hover,.travel-step a:hover,.info-card>a:hover,.place-card>a:hover,.service-card>a:hover{color:#08758D;border-color:var(--coral)}
.infra-note{grid-column:2;margin:10px 0 0;color:#52696D;font-size:12px;line-height:1.6}
.safety-note{padding:16px;background:#E7F1EF}
.boat-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.info-card{display:flex;flex-direction:column;align-items:flex-start;min-height:245px}
.info-card>a{margin-top:auto}
.info-card-coral{border-color:var(--coral);background:#FFF7F1}
.info-card-coral .info-kicker{color:#A94336}
.directory-block{margin-top:22px}
.place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.place-card{min-height:190px;display:flex;flex-direction:column;align-items:flex-start;border-color:var(--agua)}
.place-card>a{margin-top:auto}
.stay-card{border-color:var(--coral)}
.infra-lower-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin-top:35px}
.service-card{padding:25px;background:#E7F1EF;border-top:3px solid var(--marinho)}
.service-card .eyebrow{color:#0B7890}
.service-card h3{margin:18px 0;color:var(--oceano);font-size:clamp(27px,3vw,38px);font-weight:500;line-height:1;letter-spacing:-.06em}
.service-card ul{list-style:none;margin:24px 0;padding:0}
.service-card li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(16,59,74,.16);font-size:13px;color:var(--oceano)}
.service-card li span{color:#52696D}
.service-card small{display:block;margin-top:16px;color:#52696D;font-size:11px;line-height:1.5}
.health-card{background:#EFECE1;border-color:var(--coral)}
.health-card p a{color:var(--oceano);font-weight:700}
.infra-limit{display:grid;grid-template-columns:42px 1fr;gap:15px;align-items:start;margin-top:18px;padding:22px;background:var(--oceano);color:var(--areia)}
.infra-limit>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--coral);color:var(--oceano);font-size:19px}
.infra-limit p{margin:0;font-size:13px;line-height:1.6;color:rgba(247,243,234,.86)}

.footer h2 em{color:var(--coral);font-style:normal}
@media(max-width:900px){.infra-block{grid-template-columns:1fr;gap:22px}.infra-block-title h3 br{display:none}.infra-note{grid-column:1}.travel-flow,.boat-cards{grid-template-columns:1fr}.travel-step,.info-card{min-height:0}.info-card>a{margin-top:18px}.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.infra-section{padding-block:60px}.infra-intro{margin:-12px 0 42px;font-size:19px}.infra-block{padding-block:25px;gap:17px}.infra-block-title h3{font-size:31px}.place-grid,.infra-lower-grid{grid-template-columns:1fr}.place-card{min-height:0}.place-card>a{margin-top:18px}.service-card{padding:21px}.infra-limit{grid-template-columns:32px 1fr;padding:16px;gap:10px}.infra-limit>span{width:29px;height:29px;font-size:16px}}

/* Direção premium: mais profundidade nos quadros e motion com baixa amplitude. */
.infra-section{background:#F1EEE4;padding-block:82px 96px}
.infra-intro{position:relative;max-width:none;margin:0 0 16px;padding:25px 29px 25px 34px;background:var(--oceano);border-radius:12px;color:rgba(247,243,234,.88);font-size:clamp(17px,2vw,21px);box-shadow:0 14px 32px rgba(16,59,74,.12);overflow:hidden}
.infra-intro::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--coral)}
.infra-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 28px}
.infra-highlights>div{position:relative;display:grid;grid-template-columns:38px 1fr;align-content:center;column-gap:13px;min-height:94px;padding:17px 20px;background:var(--areia);border:1px solid rgba(16,59,74,.1);border-radius:10px;box-shadow:0 8px 22px rgba(16,59,74,.055)}
.infra-highlights>div>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--marinho);color:var(--oceano);font-size:10px;font-weight:700}
.infra-highlights>div:nth-child(2)>span{background:var(--coral)}.infra-highlights>div:nth-child(3)>span{background:var(--agua)}
.infra-highlights strong{color:var(--oceano);font-size:14px}.infra-highlights small{color:#637579;font-size:11px;line-height:1.4}
.infra-block{position:relative;margin-top:16px;padding:27px 28px 28px;background:rgba(247,243,234,.92);border:1px solid rgba(16,59,74,.13);border-top:1px solid rgba(16,59,74,.13);border-radius:14px;box-shadow:0 12px 28px rgba(16,59,74,.065);overflow:hidden}
.infra-block::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--coral) 0 18%,var(--marinho) 18% 58%,var(--agua) 58% 100%)}
.infra-block-title{padding:8px 0 0 4px}
.infra-block-title .eyebrow{display:inline-flex;padding:7px 10px;border-radius:999px;background:#E2F1EF;color:#08758D;font-size:9px}
.infra-block-title h3{font-size:clamp(25px,3vw,34px)}
.travel-flow{gap:12px}
.travel-step,.info-card,.place-card{position:relative;border:1px solid rgba(16,59,74,.1);border-top:1px solid rgba(16,59,74,.1);border-radius:10px;background:#fff;box-shadow:0 7px 20px rgba(16,59,74,.065);transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s cubic-bezier(.16,1,.3,1),border-color .24s ease}
.travel-step,.place-card{overflow:hidden}
.travel-step{padding:22px 20px 21px 23px}
.travel-step::before,.info-card::before,.place-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--marinho);opacity:.9}
.travel-step:nth-child(2)::before,.stay-card::before{background:var(--coral)}.travel-step:nth-child(3)::before{background:var(--agua)}
.travel-step h4,.info-card h4,.place-card h4{font-size:21px;margin-top:18px}
.travel-step p,.info-card p,.place-card p,.service-card p{font-size:13px}
.info-card{padding:23px 22px 22px 25px}
.info-card-coral{border-color:rgba(255,79,63,.24);background:#FFF9F5}
.info-card-coral::before{background:var(--coral)}
.taxi-contacts{display:grid;width:100%;gap:8px;margin:8px 0 18px}
.taxi-contacts a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;background:#E9F4F1;border-radius:7px;color:var(--oceano);text-decoration:none;font-size:11px;transition:background .2s ease,transform .25s cubic-bezier(.16,1,.3,1)}
.taxi-contacts a:hover{background:#D8EFED;transform:translateX(3px)}.taxi-contacts b{font-size:10px;color:#08758D}
.place-grid{gap:12px}
.place-card{padding:22px 21px 20px 24px;min-height:204px}
.place-card::after{counter-increment:place;content:"0" counter(place);position:absolute;right:16px;top:15px;color:rgba(16,59,74,.25);font-size:11px;font-weight:700;letter-spacing:.1em}
.place-grid{counter-reset:place}
.place-type{max-width:calc(100% - 36px)}
.info-card-coral .info-kicker{color:#A94336}
.infra-lower-grid{gap:14px}
.service-card{position:relative;padding:27px 27px 26px;border:1px solid rgba(16,59,74,.1);border-top:1px solid rgba(16,59,74,.1);border-radius:12px;box-shadow:0 9px 22px rgba(16,59,74,.07);overflow:hidden}
.service-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--marinho)}.health-card::before{background:var(--coral)}
.service-card h3{font-size:clamp(28px,3vw,36px)}
.service-card li{padding:14px 2px;font-size:14px}
.service-card li strong{font-weight:600}
.infra-limit{margin-top:17px;padding:21px 24px;border-radius:11px;box-shadow:0 10px 23px rgba(16,59,74,.14)}
.infra-limit p{font-size:13px}
@media(hover:hover) and (pointer:fine){.travel-step:hover,.info-card:hover,.place-card:hover,.service-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(16,59,74,.12);border-color:rgba(0,166,200,.3)}}

/* Scroll reveal: ease-out curto, distância pequena, sem esconder conteúdo sem JS. */
.motion-reveal{opacity:0;transform:translate3d(0,16px,0) scale(.99);transition:opacity .58s cubic-bezier(.16,1,.3,1),transform .68s cubic-bezier(.16,1,.3,1);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.motion-reveal.motion-visible{opacity:1;transform:translate3d(0,0,0) scale(1);will-change:auto}
.hero::before{animation:shoreline-drift 22s cubic-bezier(.65,0,.35,1) infinite alternate}
.map-route i{animation:route-signal 4.8s ease-in-out infinite}
.map-route i:nth-child(2){animation-delay:.25s}.map-route i:nth-child(3){animation-delay:.5s}.map-route i:nth-child(4){animation-delay:.75s}.map-route i:nth-child(5){animation-delay:1s}
@keyframes shoreline-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-10px,8px,0) scale(1.015)}}
@keyframes route-signal{0%,72%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,79,63,0)}84%{transform:scale(1.18);box-shadow:0 0 0 5px rgba(255,79,63,.13)}}
@media(max-width:900px){.infra-highlights{grid-template-columns:1fr}.infra-highlights>div{min-height:78px}.infra-block{padding:24px 21px}.infra-block-title h3{font-size:30px}.travel-flow,.boat-cards{grid-template-columns:1fr}.travel-step,.info-card{min-height:0}.info-card>a{margin-top:18px}}
@media(max-width:680px){.infra-section{padding-block:58px}.infra-intro{padding:21px 20px 21px 25px;margin-bottom:12px;font-size:16px}.infra-highlights{gap:8px;margin-bottom:17px}.infra-highlights>div{min-height:70px;padding:12px 15px}.infra-block{margin-top:12px;padding:22px 15px 18px;border-radius:12px;gap:18px}.infra-block-title h3{font-size:28px}.travel-flow,.boat-cards,.place-grid,.infra-lower-grid{grid-template-columns:1fr;gap:9px}.travel-step,.info-card,.place-card{padding:19px 17px 19px 21px}.place-card{min-height:0}.place-card>a{margin-top:16px}.service-card{padding:21px 18px}.infra-limit{grid-template-columns:32px 1fr;padding:15px;gap:10px}.infra-limit>span{width:29px;height:29px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.hero::before,.map-route i{animation:none!important}.motion-reveal{opacity:1;transform:none;transition:none;will-change:auto}}

/* Alternativa para comparação: foto de capa em fundo, com degradê na base. */
html.cover-photo-background .hero{min-height:760px;background:var(--oceano)}
html.cover-photo-background .hero::after{content:"";position:absolute;z-index:0;inset:86px 0 64px;background:linear-gradient(180deg,transparent 0%,transparent 50%,rgba(16,59,74,.2) 66%,rgba(16,59,74,.72) 83%,#103B4A 100%),url("assets/fotos/praia-mansa-capa.webp") center 43%/cover no-repeat}
html.cover-photo-background .hero::before{z-index:0;border-color:rgba(247,243,234,.2);box-shadow:0 0 0 45px rgba(247,243,234,.045),0 0 0 100px rgba(247,243,234,.04),0 0 0 155px rgba(247,243,234,.03)}
html.cover-photo-background .topbar{z-index:2}
html.cover-photo-background .hero-grid{z-index:1;grid-template-columns:1fr;align-items:end;min-height:610px;padding-block:120px 54px}
html.cover-photo-background .hero-copy{max-width:740px;padding:0}
html.cover-photo-background .hero h1{font-size:clamp(72px,10vw,130px);text-shadow:0 4px 24px rgba(0,0,0,.13)}
html.cover-photo-background .hero-lead{max-width:580px;color:rgba(247,243,234,.9)}
html.cover-photo-background .hero-place{color:rgba(247,243,234,.82)}
html.cover-photo-background .hero-photo{display:none}
html.cover-photo-background .hero-foot{z-index:1;position:relative}
@media(max-width:680px){html.cover-photo-background .hero-grid{grid-template-columns:1fr;min-height:610px;padding-block:92px 34px}html.cover-photo-background .hero h1{font-size:clamp(64px,17vw,98px)}html.cover-photo-background .hero::after{background-position:center 44%;background-image:linear-gradient(180deg,transparent 0%,transparent 50%,rgba(16,59,74,.2) 66%,rgba(16,59,74,.72) 83%,#103B4A 100%),url("assets/fotos/praia-mansa-capa.webp")}}
html.cover-photo-background .hero .eyebrow{color:var(--areia);text-shadow:0 1px 8px rgba(16,59,74,.55)}
html.cover-photo-background .hero::before{display:none}
html.cover-photo-background .hero-grid{overflow:hidden}
html.cover-photo-background .hero-grid::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(circle at 104% 43%,transparent 0 26%,rgba(102,194,196,.04) 26.1%,rgba(247,243,234,.19) 26.3%,rgba(102,194,196,.025) 26.55%,transparent 30% 39%,rgba(102,194,196,.035) 39.1%,rgba(247,243,234,.15) 39.3%,rgba(102,194,196,.02) 39.55%,transparent 43% 52%,rgba(102,194,196,.03) 52.1%,rgba(247,243,234,.11) 52.3%,rgba(102,194,196,.015) 52.55%,transparent 56%);animation:cover-orbits 24s ease-in-out infinite alternate;transform-origin:right center}
html.cover-photo-background .hero-copy{position:relative;z-index:1}
@keyframes cover-orbits{from{transform:scale(1);opacity:.8}to{transform:scale(1.025);opacity:1}}
@media(prefers-reduced-motion:reduce){html.cover-photo-background .hero-grid::before{animation:none}}

/* Mapa fornecido pelo usuário: quadro completo e arquivo ampliável. */
.map-drawing{min-width:0;margin:0;overflow:hidden;border:1px solid var(--linha);border-radius:12px;background:var(--areia);box-shadow:0 14px 36px rgba(16,59,74,.1)}
.map-drawing>a{display:block;cursor:zoom-in}
.map-drawing img{display:block;width:100%;height:auto;object-fit:contain}
.map-drawing figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--oceano);color:var(--areia);font-size:11px;line-height:1.4}
.map-drawing figcaption>span{color:var(--agua);font-size:9px;font-weight:600;letter-spacing:.08em}
.map-drawing figcaption a{font-weight:600;text-decoration:none;white-space:nowrap}
.map-drawing figcaption a:hover{text-decoration:underline;text-underline-offset:4px}

/* Contexto: linguagem editorial e vetores do carrossel de curiosidades. */
.history-curiosity{position:relative;isolation:isolate;max-width:900px;margin-left:auto;padding:clamp(23px,4vw,44px);overflow:hidden;border:1px solid var(--linha);border-radius:12px;background:var(--areia);box-shadow:0 15px 38px rgba(16,59,74,.08)}
.history-curiosity::before{content:"";position:absolute;z-index:-1;inset:0;background:url("assets/ilustracoes/papel-curiosidades.jpg") center/cover;opacity:.36;pointer-events:none}
.history-curiosity::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--coral) 0 20%,var(--marinho) 20% 65%,var(--agua) 65%)}
.history-origin{display:grid;grid-template-columns:.9fr 1.1fr;align-items:end;gap:34px}
.history-origin .eyebrow{color:#08758D;font-size:10px}
.history-origin h3{margin:25px 0 0;color:var(--oceano);font-size:clamp(100px,13vw,150px);line-height:.85;font-weight:500;letter-spacing:-.09em}
.history-origin h3>span{display:block;margin-bottom:12px;font-size:14px;line-height:1.3;letter-spacing:0;font-weight:400}
.history-origin>p{max-width:34ch;margin:0;font-size:17px;line-height:1.5;color:#43595E}
.history-origin strong{color:var(--oceano);font-weight:600}
.history-illustration{margin:28px 0 0;padding-block:19px 15px;border-block:1px solid var(--linha)}
.history-illustration svg{display:block;width:100%;max-width:620px;height:auto;margin-inline:auto;overflow:visible;font-family:var(--f)}
.history-directions text{font-size:14px;letter-spacing:1.4px;font-weight:600}
.history-hill-label{font-size:14px;letter-spacing:1.6px;font-weight:500}
.history-illustration figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:11px;line-height:1.4}
.history-motion-toggle{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--linha);border-radius:999px;background:transparent;color:var(--oceano);font-family:var(--f);font-size:11px;cursor:pointer}
.history-motion-toggle[hidden]{display:none}
.history-motion-toggle:hover{background:rgba(102,194,196,.14)}
.history-motion-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
.history-timeline{list-style:none;margin:8px 0 0;padding:0}
.history-timeline li{display:grid;grid-template-columns:104px 1fr;gap:22px;padding-block:23px;border-bottom:1px solid var(--linha)}
.history-year{display:block;color:var(--oceano);font-size:40px;line-height:1.05;letter-spacing:-.065em;font-weight:500}
.history-timeline h4{display:flex;align-items:center;gap:9px;margin:0 0 7px;color:var(--oceano);font-size:17px;font-weight:600;letter-spacing:-.035em;line-height:1.2}
.history-timeline p{margin:0;color:#52696D;font-size:14px;line-height:1.55}
.history-timeline strong{font-weight:600;color:var(--oceano)}
.history-timeline li:last-child{border-bottom:0;padding-bottom:8px}
.history-source-links a{display:inline-block;margin-top:12px;color:var(--oceano);font-size:11px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--marinho);padding-bottom:3px}
.history-source-links{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:10px}
.history-heritage{margin-top:29px}
.history-route{stroke-dasharray:5 10}
.history-beam{opacity:.16}
.history-lamp-halo{opacity:.28}
.history-motion-ready .history-route{animation:history-route-travel 5.2s linear infinite;animation-play-state:paused}
.history-motion-ready .history-beam,.history-motion-ready .history-lamp-halo{animation:history-beacon 10s ease-in-out infinite;animation-play-state:paused}
.history-motion-ready .history-lamp{animation:history-lamp 10s ease-in-out infinite;animation-play-state:paused}
.history-motion-ready .history-tower-line{stroke-dasharray:1;animation:history-draw 1.4s cubic-bezier(.16,1,.3,1) both;animation-play-state:paused}
.history-curiosity.history-in-view:not(.history-motion-paused) :is(.history-route,.history-beam,.history-lamp-halo,.history-lamp,.history-tower-line){animation-play-state:running}
@keyframes history-route-travel{to{stroke-dashoffset:-30}}
@keyframes history-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes history-beacon{0%,12%,100%{opacity:0}3%,8%{opacity:.8}}
@keyframes history-lamp{0%,12%,100%{opacity:.3}3%,8%{opacity:1}}
@media(max-width:680px){.history-origin{grid-template-columns:1fr;gap:22px}.history-origin>p{font-size:16px;max-width:none}.history-origin h3{font-size:112px}.history-origin .eyebrow{font-size:9px}.history-illustration{margin-top:24px;padding-top:15px}.history-illustration figcaption{font-size:10px}.history-timeline li{grid-template-columns:77px 1fr;gap:15px;padding-block:20px}.history-year{font-size:34px}.history-timeline h4{font-size:16px}.history-timeline p{font-size:13px}.history-source-links{gap:0 15px}.history-heritage{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.history-curiosity *{animation:none!important;transition:none!important}.history-tower-line{stroke-dashoffset:0}.history-beam{opacity:.16}.history-lamp-halo{opacity:.28}}

/* Percurso ilustrado na mesma linguagem do quadro histórico. */
.route-motion-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:-17px 0 20px;color:var(--muted);font-size:11px}
.route-step{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:15px;min-height:0;padding:23px;border:1px solid var(--linha);border-top:3px solid var(--marinho);border-radius:12px;background:var(--areia);box-shadow:0 10px 26px rgba(16,59,74,.055);overflow:hidden}
.route-step:nth-child(2){border-top-color:var(--agua)}
.route-step:nth-child(3){border-top-color:var(--coral)}
.route-step::before{content:"";position:absolute;z-index:-1;inset:0;background:url("assets/ilustracoes/papel-curiosidades.jpg") center/cover;opacity:.32;pointer-events:none}
.route-step-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.route-step .step-num{padding:0;font-size:10px;letter-spacing:.08em}
.route-step-top>span:last-child{color:var(--muted);font-size:11px}
.route-illustration{min-width:0;padding-block:4px 9px;border-bottom:1px solid var(--linha)}
.route-illustration svg{display:block;width:100%;height:auto;overflow:hidden;font-family:var(--f)}
.route-svg-label{font-size:10px;letter-spacing:1.1px;font-weight:500}
.route-step-copy{display:flex;flex-direction:column;align-items:flex-start}
.route-step .route-step-copy h4{margin:5px 0 12px;font-size:24px;line-height:1.08;letter-spacing:-.045em;color:var(--oceano);font-weight:600}
.route-step-copy p{margin-bottom:18px}
.route-step .step-tag{margin-top:auto;font-size:10px;background:rgba(102,194,196,.12)}
.route-trail-flow{stroke-dasharray:5 10}
.route-step-flow{stroke-dasharray:7 11}
.route-boat-drift,.route-climb-arrow,.route-marker-pulse{transform-box:fill-box;transform-origin:center}
.route-boat-drift{transform-origin:50% 100%}
.route-motion-ready .route-boat-drift{animation:route-boat-drift 4.8s ease-in-out infinite;animation-play-state:paused}
.route-motion-ready .route-wave-flow{animation:route-wave-flow 8s linear infinite;animation-play-state:paused}
.route-motion-ready .route-trail-flow{animation:route-trail-flow 5.2s linear infinite;animation-play-state:paused}
.route-motion-ready .route-step-flow{animation:route-step-flow 5.2s linear infinite;animation-play-state:paused}
.route-motion-ready .route-climb-arrow{animation:route-climb-arrow 4.8s ease-in-out infinite;animation-play-state:paused}
.route-motion-ready .route-marker-pulse{animation:route-marker-pulse 4.8s ease-in-out infinite;animation-play-state:paused}
.route-motion-ready:not(.route-motion-paused) .route-in-view :is(.route-boat-drift,.route-wave-flow,.route-trail-flow,.route-step-flow,.route-climb-arrow,.route-marker-pulse){animation-play-state:running}
@keyframes route-boat-drift{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-3px) rotate(.7deg)}}
@keyframes route-wave-flow{to{transform:translateX(-64px)}}
@keyframes route-trail-flow{to{stroke-dashoffset:-30}}
@keyframes route-step-flow{to{stroke-dashoffset:-36}}
@keyframes route-climb-arrow{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes route-marker-pulse{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.16);opacity:1}}
@media(max-width:680px){.route-motion-controls{margin-top:-9px;font-size:10px}.route-step{padding:21px;gap:15px}.route-step .route-step-copy h4{font-size:24px}}
@media(prefers-reduced-motion:reduce){.route-section *{animation:none!important;transition:none!important}}

/* Como chegar: trecho terrestre, depois travessia, trilha e escadaria. */
.arrival-intro{max-width:860px;margin:0 0 25px;color:var(--oceano);font-size:clamp(18px,2.4vw,25px);line-height:1.45;letter-spacing:-.025em}
.arrival-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.arrival-card{position:relative;isolation:isolate;padding:27px;border:1px solid var(--linha);border-top:3px solid var(--marinho);border-radius:12px;background:var(--areia);box-shadow:0 10px 26px rgba(16,59,74,.055);overflow:hidden}
.arrival-card:nth-child(2){border-top-color:var(--agua)}
.arrival-card::before{content:"";position:absolute;z-index:-1;inset:0;background:url("assets/ilustracoes/papel-curiosidades.jpg") center/cover;opacity:.25;pointer-events:none}
.arrival-card .eyebrow{font-size:9px;color:#08758D}
.arrival-card h3{margin:17px 0 22px;color:var(--oceano);font-size:32px;font-weight:500;line-height:1.08;letter-spacing:-.055em}
.arrival-card p{margin:0 0 19px;color:#52696D;font-size:14px;line-height:1.6}
.arrival-card p strong{display:block;margin-bottom:5px;color:var(--oceano);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.arrival-illustration{margin:-3px 0 16px;padding-bottom:13px;border-bottom:1px solid var(--linha)}
.arrival-illustration svg{display:block;width:min(100%,240px);height:auto;margin-inline:auto}
.arrival-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 22px}
.arrival-metrics-single{grid-template-columns:1fr}
.arrival-metrics dt{color:var(--muted);font-size:10px;line-height:1.4}
.arrival-metrics dd{margin:7px 0 0;color:var(--oceano);font-size:clamp(23px,5.8vw,32px);font-weight:500;line-height:1.1;letter-spacing:-.06em;white-space:nowrap}
.arrival-metrics dd small{font-size:13px;font-weight:400;letter-spacing:0}
.arrival-card .arrival-estimate{font-size:11px;line-height:1.6;color:#637579}
.arrival-card p .arrival-operator{display:inline;margin:0;font-size:inherit;font-weight:600;letter-spacing:0;text-transform:none}
.arrival-graciosa-link{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:11px 14px;border:1px solid rgba(0,166,200,.24);border-radius:999px;background:rgba(102,194,196,.13);color:var(--oceano);font-size:12px;font-weight:600;line-height:1.4;text-decoration:none}
.arrival-graciosa-link span{flex:none}
.arrival-graciosa-link:hover{background:rgba(102,194,196,.24)}
.arrival-note{margin:17px 0 0;padding:18px 21px;border-left:3px solid var(--agua);border-radius:0 9px 9px 0;background:rgba(102,194,196,.12);color:#43595E;font-size:13px;line-height:1.65}
.route-stage-heading{margin-top:46px;padding-top:38px;border-top:1px solid var(--linha)}
.route-stage-heading h3{margin:16px 0 32px;color:var(--oceano);font-size:clamp(34px,5vw,58px);font-weight:500;line-height:1.02;letter-spacing:-.065em}
.route-stage-heading h3 em{color:var(--coral);font-style:normal}
.route-flow{align-items:start}
.route-boat-options{display:grid;gap:11px;padding-top:17px;border-top:1px solid var(--linha)}
.route-boat-option{min-width:0;padding:17px;border:1px solid var(--linha);border-radius:9px;background:rgba(247,243,234,.8)}
.route-boat-option h5{margin:9px 0 12px;color:var(--oceano);font-size:20px;font-weight:600;line-height:1.1;letter-spacing:-.04em}
.route-boat-option p{margin:0;color:#52696D;font-size:13px;line-height:1.6}
.route-boat-option .card-links{margin-top:14px}
.route-boat-option .taxi-contacts{margin:10px 0 0}
.route-boat-safety{margin:0;padding-top:15px;border-top:1px solid var(--linha);color:#637579;font-size:11px;line-height:1.6}
.route-boat-safety strong{color:var(--oceano)}
@media(max-width:680px){.arrival-options{grid-template-columns:1fr;gap:12px}.arrival-card{padding:23px}.arrival-card h3{font-size:30px}.arrival-note{padding:16px 18px;font-size:12px}.route-stage-heading{margin-top:35px;padding-top:30px}.route-boat-option{padding:16px}.route-boat-option h5{font-size:19px}}
@media(max-width:440px){.wordmark img{width:112px}.topbar nav{gap:8px}.topbar nav a{font-size:10px}.topbar nav .nav-map{padding:7px 10px}}
@media(max-width:360px){.topbar nav a[href="#infraestrutura"]{display:none}}

/* Enquadramento vertical e título no alto para a leitura no celular. */
@media(max-width:680px){
  .hero-photo{height:auto;min-height:0;max-height:none;aspect-ratio:9/16}
  .hero-photo>img{height:auto;aspect-ratio:9/16;object-fit:contain;object-position:center}
  html.cover-photo-background .hero{min-height:0}
  html.cover-photo-background .hero-grid{flex:none;min-height:0;aspect-ratio:9/16;padding-block:32px 28px;align-items:stretch}
  html.cover-photo-background .hero-copy{display:flex;flex-direction:column;align-items:flex-start;height:100%}
  html.cover-photo-background .hero-lead{margin-top:auto;margin-bottom:20px;font-size:17px}
  html.cover-photo-background .hero-place{margin-top:16px}
  html.cover-photo-background .hero::after{inset:70px 0 64px;background-position:center top;background-size:cover}
}

/* Praia Mansa: ilustrações e animações próprias (30/10/2026) */
.hero-photo>svg.hero-art{display:block;width:100%;height:100%}
.hero-wave{animation:route-wave-flow 9s linear infinite}
.hero-sun-halo,.hero-lamp{transform-box:fill-box;transform-origin:center;animation:route-marker-pulse 5s ease-in-out infinite}
.hero-lamp{animation-duration:3.2s}
.hero-glint{animation:hero-glint 3.6s ease-in-out infinite}
.hero-bird{animation:hero-bird 14s ease-in-out infinite alternate}
@keyframes hero-glint{0%,100%{opacity:.35}50%{opacity:.95}}
@keyframes hero-bird{from{transform:translateX(0)}to{transform:translateX(26px)}}
.route-tide,.route-tide-fill{transform-box:fill-box}
.route-tide-fill{transform-origin:50% 100%}
.route-motion-ready .route-tide{animation:route-tide 7s ease-in-out infinite;animation-play-state:paused}
.route-motion-ready .route-tide-fill{animation:route-tide-fill 7s ease-in-out infinite;animation-play-state:paused}
.route-motion-ready:not(.route-motion-paused) .route-in-view :is(.route-tide,.route-tide-fill){animation-play-state:running}
@keyframes route-tide{0%,100%{transform:translateY(7px)}50%{transform:translateY(-9px)}}
@keyframes route-tide-fill{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(.88)}}
.history-motion-ready .history-wave{animation:history-wave 6s linear infinite;animation-play-state:paused}
.history-motion-ready .history-ripple{animation:history-ripple 9s linear infinite;animation-play-state:paused}
.history-curiosity.history-in-view:not(.history-motion-paused) :is(.history-wave,.history-ripple){animation-play-state:running}
@keyframes history-wave{from{transform:translateX(-80px)}to{transform:translateX(0)}}
@keyframes history-ripple{from{transform:translateX(-40px)}to{transform:translateX(0)}}
.map-section:has(.map-copy:only-child){grid-template-columns:1fr}
.history-timeline .history-year{white-space:nowrap;font-size:27px;letter-spacing:-.05em}
#seguir .button{margin-top:18px}
.route-flow-single{grid-template-columns:1fr;margin-top:18px}
.route-flow-single+.care-grid{margin-top:14px}
.tower-note-inline{padding-inline:0;padding-block:34px 30px;border-block:0}
.history-plain{margin-top:22px}
.facts-inline{display:grid;grid-template-columns:1fr;gap:9px;padding:22px 0 6px;margin:0}
.history-note{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.history-timeline.history-timeline-wide li{grid-template-columns:104px 1fr}
.history-timeline-wide .history-year{font-size:23px}
@media(min-width:681px){.facts-inline{grid-template-columns:repeat(3,1fr)}}
.history-plain .history-origin>*{min-width:0}
.history-plain h3{font-size:clamp(40px,12vw,58px);overflow-wrap:anywhere}
.history-plain h3 span{font-size:.4em}
.predio-figure{margin-top:20px}
.predio-figure svg{display:block;width:100%;max-width:420px;height:auto;margin-inline:auto;overflow:visible}
.predio-a,.predio-b{animation:predio-xadrez 5s ease-in-out infinite}
.predio-b{animation-delay:-2.5s}
.predio-blink{animation:predio-blink 2.4s ease-in-out infinite}
.predio-blink-2{animation-delay:-1.2s}
.predio-sway{transform-box:fill-box;transform-origin:50% 100%;animation:predio-sway 5s ease-in-out infinite}
.predio-sway-2{animation-delay:-1.6s}.predio-sway-3{animation-delay:-3.2s}
@keyframes predio-xadrez{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes predio-blink{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes predio-sway{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
.route-motion-paused :is(.predio-a,.predio-b,.predio-blink,.predio-sway){animation-play-state:paused}
.hero-photo>img{object-position:58% 42%}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-photo .photo-chip,.hero-photo figcaption{z-index:1}
@media(max-width:680px){.topbar nav a:not(.nav-map){display:none}.topbar nav a.nav-map{display:inline-flex}}
