:root{--ec-ink:#061817;--ec-petrol:#0b312d;--ec-petrol2:#123d39;--ec-turq:#19b9aa;--ec-amber:#e2ae3f;--ec-soft:#f4f7f6;--ec-line:#dce7e4;--ec-muted:#5a6d69}.bz2-shell{background:#fff;color:var(--ec-ink)}.bz2-wrap{width:min(1180px,90vw);margin:auto}.bz2-hero{padding:72px 0 42px;background:#071c1b;color:white}.bz2-kicker{color:var(--ec-amber);font:900 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}.bz2-hero h1{max-width:930px;margin:13px 0 16px;font:500 clamp(48px,7vw,86px)/.94 var(--serif);letter-spacing:-.035em}.bz2-hero p{max-width:760px;color:#c9d8d4;font:400 18px/1.7 var(--sans)}.bz2-hub{padding:54px 0 90px}.bz2-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.bz2-card{display:block;overflow:hidden;border:1px solid var(--ec-line);border-radius:24px;background:white;color:inherit;box-shadow:0 10px 30px #0618170b;transition:.18s transform,.18s box-shadow}.bz2-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #06181716}.bz2-thumb{position:relative;aspect-ratio:4/3;background:linear-gradient(145deg,#0b312d,#194b45);overflow:hidden}.bz2-thumb img{width:100%;height:100%;object-fit:cover;display:block}.bz2-thumb.empty{display:grid;place-items:end start;padding:18px;background:radial-gradient(circle at 70% 20%,#247b70 0,#123d39 38%,#082a27 100%)}.bz2-thumb.empty:after{content:"FOTO EN INVENTARIO";font:900 9px/1 var(--sans);letter-spacing:.14em;color:#e2ae3f}.bz2-card-copy{padding:18px 18px 21px}.bz2-card small{color:var(--ec-turq);font:900 10px/1 var(--sans);letter-spacing:.12em}.bz2-card h2{margin:9px 0 8px;font:600 25px/1.05 var(--serif)}.bz2-card p{margin:0;color:var(--ec-muted);font:400 13px/1.55 var(--sans)}.bz2-card .bz2-open{display:inline-block;margin-top:13px;color:#08766d;font:900 10px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase}.bz2-note{margin-top:30px;padding:20px 22px;border-left:4px solid var(--ec-amber);border-radius:16px;background:var(--ec-soft);color:var(--ec-muted);font:400 14px/1.6 var(--sans)}.bz2-detail-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:610px;background:#071c1b;color:white}.bz2-detail-media{min-height:610px;background:radial-gradient(circle at 65% 20%,#247b70 0,#123d39 38%,#082a27 100%);overflow:hidden}.bz2-detail-media img{width:100%;height:100%;object-fit:cover;display:block}.bz2-detail-copy{align-self:end;padding:72px clamp(30px,6vw,88px)}.bz2-detail-copy .back{display:inline-block;margin-bottom:28px;color:#d9e6e2;font:800 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}.bz2-detail-copy h1{margin:12px 0 16px;font:500 clamp(52px,7vw,92px)/.9 var(--serif);letter-spacing:-.04em}.bz2-detail-copy p{max-width:620px;color:#c9d8d4;font:400 17px/1.7 var(--sans)}.bz2-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.bz2-chip{padding:9px 12px;border:1px solid #ffffff28;border-radius:999px;background:#ffffff0c;color:#fff;font:800 10px/1 var(--sans);letter-spacing:.04em}.bz2-body{padding:64px 0 88px}.bz2-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:44px;align-items:start}.bz2-section{padding:0 0 42px}.bz2-section+.bz2-section{padding-top:42px;border-top:1px solid var(--ec-line)}.bz2-num{color:var(--ec-turq);font:900 10px/1 var(--sans);letter-spacing:.15em}.bz2-section h2{margin:10px 0 17px;font:500 clamp(34px,4.5vw,56px)/1 var(--serif);letter-spacing:-.025em}.bz2-section p{color:var(--ec-muted);font:400 16px/1.78 var(--sans)}.bz2-aside{position:sticky;top:110px;display:grid;gap:12px}.bz2-fact{padding:17px 18px;border:1px solid var(--ec-line);border-radius:18px;background:var(--ec-soft)}.bz2-fact small{display:block;margin-bottom:7px;color:#70817d;font:900 9px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase}.bz2-fact strong{font:700 14px/1.45 var(--sans)}.bz2-ec-tip{padding:22px;border-radius:20px;background:var(--ec-petrol);color:white}.bz2-ec-tip small{color:var(--ec-amber);font:900 10px/1 var(--sans);letter-spacing:.12em}.bz2-ec-tip p{margin:9px 0 0;color:#d5e3df;font:400 14px/1.65 var(--sans)}.bz2-gallery{padding:56px 0 86px;background:var(--ec-soft)}.bz2-gallery h2{margin:8px 0 24px;font:500 clamp(34px,5vw,58px)/1 var(--serif)}.bz2-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bz2-gallery figure{margin:0;overflow:hidden;border-radius:22px;background:#0b312d}.bz2-gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.bz2-gallery figcaption{padding:11px 13px;color:#dce9e6;font:500 10px/1.45 var(--sans)}.bz2-gallery-empty{padding:26px;border:1px dashed #a8b8b4;border-radius:18px;color:var(--ec-muted);font:500 14px/1.6 var(--sans)}@media(max-width:980px){.bz2-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bz2-detail-hero{grid-template-columns:1fr}.bz2-detail-media{min-height:420px}.bz2-detail-copy{padding:48px 6vw 58px}.bz2-columns{grid-template-columns:1fr}.bz2-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.bz2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bz2-card h2{font-size:21px}.bz2-card p{font-size:12px}.bz2-hero{padding:54px 0 34px}.bz2-detail-media{min-height:330px}.bz2-aside{grid-template-columns:1fr}.bz2-gallery-grid{grid-template-columns:1fr}}@media(max-width:430px){.bz2-grid{grid-template-columns:1fr}.bz2-thumb{aspect-ratio:16/10}}
/* Beach guides: a spacious EC editorial sequence; each approved image appears once. */
.bz2-hub-panorama{margin:34px 0 0;overflow:hidden;border-radius:26px;background:#0b312d}
.bz2-hub-panorama img{display:block;width:100%;max-height:460px;aspect-ratio:16/7;object-fit:cover}
.bz2-hub-panorama figcaption{padding:12px 16px;color:#dce9e6;font:500 11px/1.5 var(--sans)}
.bz2-hub-panorama a{color:#f0c76f}
.bz2-card-facts{display:grid;gap:5px;margin:12px 0 0;padding:0;list-style:none;color:var(--ec-muted);font:400 11px/1.45 var(--sans)}
.bz2-card-facts strong{color:var(--ec-petrol);font-weight:800}
.bz2-thumb.empty{place-items:center;padding:12px}
.bz2-thumb.empty span{padding:7px 9px;border:1px solid #ffffff32;border-radius:999px;color:#f0c76f;font:800 9px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;text-align:center}
.bz2-open{display:block;margin-top:14px}
.bz2-hub-footnote{margin:24px auto 0;color:var(--ec-muted);font:400 13px/1.6 var(--sans)}
.bz2-beach-page{padding-bottom:0;background:#fff}
.bz2-detail-intro{padding:68px 0 8px;background:#071c1b;color:#fff}
.bz2-story-wrap{width:min(760px,90vw);margin:0 auto}
.bz2-back{display:inline-block;margin-bottom:28px;color:#d9e6e2;font:800 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.bz2-detail-intro h1{max-width:900px;margin:12px 0 28px;font:500 clamp(54px,8vw,100px)/.92 var(--serif);letter-spacing:-.04em}
.bz2-photo{margin:52px 0;overflow:hidden;border-radius:22px;background:#0b312d}
.bz2-photo-lead{position:relative;left:50%;width:min(1080px,92vw);margin:34px 0 58px;transform:translateX(-50%);border-radius:26px}
.bz2-photo img{display:block;width:100%;max-height:680px;aspect-ratio:16/9;object-fit:cover}
.bz2-photo figcaption{padding:12px 15px;color:#dce9e6;font:500 11px/1.5 var(--sans)}
.bz2-photo figcaption a{color:#f0c76f}
.bz2-photo-pending{position:relative;left:50%;display:grid;place-items:center;width:min(1080px,92vw);min-height:clamp(220px,45vw,520px);margin:34px 0 58px;transform:translateX(-50%);border:1px dashed #aab9b5;border-radius:26px;background:linear-gradient(145deg,#f4f7f6,#e8efed);color:#536864;text-align:center}
.bz2-photo-pending span{max-width:420px;padding:22px;font:600 14px/1.7 var(--sans)}
.bz2-story-step{position:relative;margin:0;padding:34px 0 50px;border-bottom:1px solid var(--ec-line)}
.bz2-story-step .bz2-num{display:inline-block;margin-bottom:14px}
.bz2-story-step h2{max-width:680px;margin:0 0 15px;color:var(--ec-ink);font:500 clamp(32px,4.2vw,50px)/1.04 var(--serif);letter-spacing:-.025em}
.bz2-story-step p,.bz2-my-take p{margin:0;color:#425853;font:400 17px/1.82 var(--sans)}
.bz2-story-identity{padding-top:0}
.bz2-story-identity p{font-size:19px;line-height:1.82;color:#203d38}
.bz2-my-take{margin:28px 0 34px;padding:0 0 0 20px;border-left:3px solid var(--ec-amber)}
.bz2-my-take span{display:block;margin-bottom:8px;color:#08766d;font:900 10px/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase}
.bz2-story-tip{margin:48px 0;padding:30px 32px;border:0;border-radius:22px;background:var(--ec-petrol);color:#fff}
.bz2-story-tip h2,.bz2-story-tip p{color:#fff}
.bz2-story-tip .bz2-num{color:var(--ec-amber)}
.bz2-photo-reminder{margin:24px 0;padding:15px 18px;border-left:3px solid var(--ec-amber);color:#596d68;font:500 13px/1.6 var(--sans)}
.bz2-detail-footer{margin-top:66px;padding:30px 0;background:#071c1b}
.bz2-detail-footer a{color:#f0c76f;font:800 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:700px){.bz2-hero{padding:58px 0 34px}.bz2-hub-panorama img{aspect-ratio:4/3}.bz2-detail-intro{padding-top:44px}.bz2-detail-intro h1{font-size:clamp(48px,14vw,72px)}.bz2-story-step{padding:28px 0 38px}.bz2-story-step p,.bz2-my-take p{font-size:16px;line-height:1.75}.bz2-story-tip{margin:34px 0;padding:24px 22px}.bz2-photo{margin:36px 0}.bz2-photo-lead{margin:25px 0 42px;border-radius:18px}}
@media(max-width:430px){.bz2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bz2-card-copy{padding:13px 12px 16px}.bz2-card h2{font-size:19px}.bz2-card p{font-size:11px;line-height:1.45}.bz2-card-facts{font-size:10px}.bz2-card .bz2-open{font-size:9px}.bz2-thumb{aspect-ratio:1/1}.bz2-photo-pending{min-height:230px}}
/* The page has its own in-flow back links; floating global controls obscured mobile copy. */
body.ec-buzios-beach-v2 .ec-global-actions{display:none!important}
/* Búzios beach guides use the same dark petrol, sand and amber editorial system as Rio beaches. */
.bz2-beach-page .bp-hero__photo{width:min(1180px,92vw);margin:0 auto 14px}
.bz2-beach-page .bp-hero__photo img{width:100%;height:auto;max-height:720px;aspect-ratio:auto;object-fit:contain;background:#071c1b}
.bz2-beach-page .bp-hero__photo figcaption{padding:12px 16px;color:#e5eeeb;font-size:13px;line-height:1.5}
.bz2-beach-page .bp-hero__facts{padding-bottom:10px}
.bz2-beach-page .bp-toc{position:sticky;top:74px;z-index:8;display:flex;gap:8px;overflow:auto;padding:14px 2px;margin:0 0 22px;background:rgba(6,24,23,.96);scrollbar-width:none}
.bz2-beach-page .bp-toc a{flex:0 0 auto;white-space:nowrap;color:#e9e1cf;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 13px;font-size:11px;font-weight:700;text-decoration:none}
.bz2-beach-page .bp-toc a:hover,.bz2-beach-page .bp-toc a:focus-visible{background:#e7b85c;color:#061817;outline:none}
.bz2-photo-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;margin:28px auto 34px;max-width:1180px}
.bz2-photo-band .bp-photo{min-width:0}
.bz2-photo-band .bp-photo img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#071c1b}
.bz2-map-link{display:inline-flex;margin:12px 0;padding:13px 18px;border-radius:999px;background:#0b312d;color:#fff;font-weight:850;text-decoration:none}
.bz2-map-link:hover{background:#145148;color:#fff}
.bz2-source-note{margin:18px auto 0;max-width:780px;color:#5a6d69;font-size:13px;line-height:1.65}
.bz2-beach-page .bp-combine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:26px}
.bz2-beach-page .bp-combine{padding:23px;border-radius:20px;background:#0b312d;color:#f7f2e8;box-shadow:0 14px 34px #06181724;text-decoration:none;transition:transform .2s ease,background .2s ease}
.bz2-beach-page .bp-combine:hover{transform:translateY(-3px);background:#123d39}
.bz2-beach-page .bp-combine h3{margin:0 0 10px;color:#f7f2e8;font:400 clamp(20px,2vw,26px)/1.12 var(--serif)}
.bz2-beach-page .bp-combine p{min-height:88px;margin:0 0 12px;color:#cedbd7;font-size:14px;line-height:1.7}
.bz2-beach-page .bp-combine b,.bz2-beach-page .bp-combine span{color:#e7b85c;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.bz2-thumb img{object-fit:contain;background:#071c1b}
@media(max-width:700px){.bz2-photo-band{grid-template-columns:1fr;gap:14px;margin:20px auto 26px}.bz2-beach-page .bp-toc{top:60px}.bz2-beach-page .bp-combine-grid{grid-template-columns:1fr}.bz2-beach-page .bp-combine p{min-height:0}.bz2-beach-page .bp-hero__photo{width:100%;border-radius:18px}}
/* Copacabana's editorial photo-story treatment, shared by every Búzios beach page. */
.bz2-beach-page .ec-copa-photo-story{max-width:1260px;margin:0 auto;padding:clamp(24px,5vw,60px) clamp(18px,4vw,54px);background:#071c1b;color:#f7f2e8}
.bz2-beach-page .ec-copa-photo-story:nth-of-type(even){background:#10312f}
.bz2-beach-page .ec-copa-photo-story .ec-copa-photo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,2vw,22px)}
.bz2-beach-page .ec-copa-photo-story figure{grid-column:span 3;margin:0;min-width:0}
.bz2-beach-page .ec-copa-photo-story figure:first-child:nth-last-child(3){grid-column:span 4}
.bz2-beach-page .ec-copa-photo-story figure:nth-child(2):nth-last-child(2){grid-column:span 2}
.bz2-beach-page .ec-copa-photo-story figure:last-child:nth-child(3){grid-column:span 6}
.bz2-beach-page .ec-copa-photo-story img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:14px;background:#092522}
.bz2-beach-page .ec-copa-photo-story figcaption p{margin:8px 0 0;color:#f0e9d9;font-weight:400}
.bz2-beach-page .ec-copa-photo-story figcaption strong{display:block;color:#e7b85c;font-size:17px}
.bz2-beach-page .ec-copa-photo-story figcaption{padding:10px 3px 0;color:#e7c58b;font-size:clamp(13px,1.2vw,16px);line-height:1.5}
.bz2-beach-page .ec-copa-photo-story .ec-copa-caption{margin:0 0 20px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#e7b85c}
.bz2-beach-page .bp-section h3{margin:24px 0 10px;color:inherit;font:600 clamp(21px,2.5vw,29px)/1.15 var(--serif)}
.bz2-beach-page .bp-section .bp-practical-grid article{background:#f4ecd9;color:#061817}
.bz2-beach-page .bp-section .bp-practical-grid article h3{color:#0b312d}
.bz2-beach-page .bp-section .bp-practical-grid article p{color:#40514d}
.bz2-beach-page .bp-section--sand .bp-activity{background:#0b312d;color:#f7f2e8;border-color:rgba(6,24,23,.12)}
.bz2-beach-page .bp-section--sand .bp-activity h3{color:#f7f2e8}
.bz2-beach-page .bp-section--sand .bp-activity p{color:#e2eae7}
.bz2-beach-page .ec-copa-photo-story .ec-copa-caption{display:none}
.bz2-beach-page .ec-copa-photo-story figcaption strong{display:none}
.bz2-beach-page .ec-copa-photo-story figcaption p{margin:8px 0 0;color:#f0e9d9;font-weight:400}
.bz2-beach-page .bp-activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.bz2-beach-page .bp-practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bz2-beach-page .bp-copy-wide h3{color:inherit}
@media(max-width:850px){.bz2-beach-page .bp-activity-grid,.bz2-beach-page .bp-practical-grid,.bz2-beach-page .bp-combine-grid{grid-template-columns:1fr}.bz2-beach-page .bp-combine p{min-height:0}}
@media(max-width:680px){.bz2-beach-page .ec-copa-photo-story{padding:24px 16px}.bz2-beach-page .ec-copa-photo-story .ec-copa-photo-grid{grid-template-columns:1fr;gap:22px}.bz2-beach-page .ec-copa-photo-story figure,.bz2-beach-page .ec-copa-photo-story figure:first-child:nth-last-child(3),.bz2-beach-page .ec-copa-photo-story figure:nth-child(2):nth-last-child(2),.bz2-beach-page .ec-copa-photo-story figure:last-child:nth-child(3){grid-column:1}.bz2-beach-page .ec-copa-photo-story img{max-height:520px}.bz2-beach-page .bp-activity-grid,.bz2-beach-page .bp-practical-grid,.bz2-beach-page .bp-combine-grid{grid-template-columns:1fr}}
