/* Photograph-led design with Brazilian geometric accents. */
.home-page .site-header{border-image:none;border-top:0;border-bottom:1px solid var(--line);padding-block:.6rem}
.home-page .site-header .brand-logo{width:4rem;height:4rem}
.showcase{position:relative;isolation:isolate;overflow:hidden;background:#102b38;min-height:39rem;display:flex;align-items:center;padding:5rem clamp(1.25rem,6vw,7rem);color:#fffdf8}
.showcase-photo{position:absolute;inset:0 0 0 auto;width:66%;height:100%;object-fit:cover;object-position:center 38%;z-index:-3}
.showcase-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102b38 0%,#102b38f5 24%,#102b38b8 42%,#102b381c 70%,#102b3800);z-index:-2}
.showcase-copy{max-width:48rem}.showcase .eyebrow{color:#eee9d3;font-size:.65rem;letter-spacing:.18em;margin-bottom:1.6rem}
.showcase h1{font-family:var(--display);font-weight:500;font-size:clamp(3.7rem,6.5vw,6.8rem);letter-spacing:-.045em;line-height:1; text-transform:none}
.showcase h1 span,.showcase h1 em{color:var(--yellow)}.showcase h1 em{font-style:normal}
.showcase-copy>p{font-size:1rem;color:#e5ecee;line-height:1.65;max-width:26rem;margin-block:1rem}
.showcase-copy>.showcase-lead{font-weight:500;color:#fffdf8;font-size:1.1rem;margin-top:1.6rem}
.showcase-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.8rem}.showcase-actions .button{border-radius:40px;padding-inline:1.7rem}
.film-link{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-size:.85rem;font-weight:500;color:#fffdf8}.film-link span{display:grid;place-items:center;border:1px solid #ffffffa6;border-radius:50%;width:2.8rem;height:2.8rem;font-size:.75rem;padding-left:.1rem}
.showcase-lines{position:absolute;bottom:-9rem;left:-7rem;width:24rem;height:14rem;border:1px solid #fece0780;border-radius:50%;transform:rotate(-22deg);box-shadow:0 0 0 14px #102b38,0 0 0 15px #fece0755,0 0 0 29px #102b38,0 0 0 30px #5dbb4680;z-index:-1;pointer-events:none}
.photo-label{position:absolute;right:2rem;bottom:1.4rem;font-size:.59rem;letter-spacing:.17em;color:#fffdf8;text-shadow:0 1px 3px #000}
.qualities{display:grid;grid-template-columns:repeat(4,1fr);padding:2.5rem 6vw 1.5rem;text-align:center;gap:2rem;background:var(--paper)}
.qualities>div>span{display:block;font-size:2rem;color:#126b9b;line-height:1.3;margin-bottom:.75rem}.qualities strong{font-size:.87rem;font-weight:500}.qualities p{font-size:.82rem;color:var(--quiet);line-height:1.5;margin:.4rem 0}
.editorial-heading{text-align:center;max-width:56rem;margin:0 auto 2rem}.editorial-heading .eyebrow{justify-content:center;color:#526570;font-size:.65rem;letter-spacing:.2em}.editorial-heading h2{font-size:clamp(2.5rem,4vw,4rem);line-height:1.07;letter-spacing:-.03em}.editorial-heading>p:last-child{color:var(--quiet);font-size:.94rem;margin:.9rem auto 0}
.mobile-break{display:none}.lineup-editorial{padding:3.5rem clamp(1.25rem,5vw,6rem) 4rem;position:relative;overflow:hidden}.lineup-editorial::after{content:'';position:absolute;right:-5rem;top:1rem;width:12rem;height:12rem;border:1px solid #147db728;border-radius:50%;box-shadow:0 0 0 12px var(--paper),0 0 0 13px #147db728,0 0 0 25px var(--paper),0 0 0 26px #147db728;z-index:-1}
.lineup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;max-width:90rem;margin:auto}.lineup-card{background:var(--white);border:1px solid #d9dfd9;border-radius:3px;overflow:hidden;display:flex;flex-direction:column}.lineup-photo{height:15rem;position:relative;overflow:hidden}.lineup-photo img{width:100%;height:100%;object-fit:cover;object-position:center 36%;transition:transform .5s}.lineup-card:hover img{transform:scale(1.025)}.lineup-number{position:absolute;right:1rem;bottom:.25rem;color:#fffdf8;font-family:var(--display);font-size:4.4rem;line-height:1;text-shadow:0 1px 6px #0008}.lineup-copy{padding:1.5rem;display:flex;flex-direction:column;flex:1}.lineup-title{display:flex;gap:1rem;justify-content:space-between;align-items:start}.lineup-title h3{font:500 clamp(1.3rem,2vw,1.8rem)/1.15 var(--display);letter-spacing:-.02em}.lineup-title p{margin:0;text-align:right;white-space:nowrap;font-size:.8rem}.lineup-title strong{font-weight:600}.lineup-title small{display:block;font-size:.67rem;color:var(--quiet)}.lineup-copy>p{font-size:.85rem;color:var(--quiet);margin:.9rem 0 .35rem}.lineup-copy>.instruments{font-size:.75rem;min-height:2.5rem;margin-top:.2rem}.lineup-copy dl{font-size:.8rem;border-top:1px solid var(--line);padding-top:1rem;margin:.8rem 0 1.4rem}.lineup-copy dl>div{display:flex;justify-content:space-between;padding:.2rem 0}.lineup-copy dd{margin:0;font-weight:500}.lineup-link{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-top:auto;border:1px solid #9fb3bc;border-radius:30px;padding:.8rem 1.05rem;text-decoration:none;font-size:.76rem;font-weight:500}.lineup-link:hover{background:#edf3f4;border-color:var(--blue)}.pricing-footnote{font-size:.74rem;color:var(--quiet);text-align:center;margin:1.6rem auto 0;max-width:55rem}
.watch-editorial{padding:4.5rem clamp(1.25rem,5vw,6rem);background:#eaf0ec;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem 4rem}.watch-editorial::after{content:'';position:absolute;right:-9rem;top:-4rem;width:23rem;height:23rem;border:30px solid #fece0755;border-radius:50%;box-shadow:0 0 0 12px #eaf0ec,0 0 0 14px #147db766,0 0 0 28px #eaf0ec,0 0 0 30px #5dbb4688;pointer-events:none}.watch-editorial .watch-heading{grid-column:2;grid-row:1;align-self:center;position:relative;z-index:1}.watch-editorial .watch-heading h2{font-size:clamp(3rem,4.5vw,4.8rem);line-height:1}.watch-editorial .watch-heading h2 em{color:#126b9b}.watch-editorial .watch-heading>p:last-child{max-width:26rem;font-size:1rem;color:var(--quiet);line-height:1.8}.watch-editorial .video-gallery{display:contents}.watch-editorial .video-card-featured{grid-column:1;grid-row:1 / 3}.watch-editorial .video-card:not(.video-card-featured){grid-row:3;min-width:0}.watch-editorial .video-frame{border:0;border-radius:2px;aspect-ratio:16/10;box-shadow:none}.watch-editorial .video-meta span{color:#526570}.watch-editorial .video-meta h3{color:var(--ink)}.watch-editorial .video-description,.watch-editorial .video-privacy,.watch-editorial .watch-note{color:var(--quiet)}.watch-editorial .video-privacy{grid-column:1/-1;margin:0;font-size:.72rem}.watch-editorial .watch-note{grid-column:2;grid-row:2;margin:0;border:0;display:block;align-self:start}.watch-editorial .watch-note p{display:none}.watch-editorial .watch-note .button{border-radius:40px}.watch-editorial .video-link{color:var(--ink)}
.reviews-editorial{padding:4.5rem clamp(1.25rem,5vw,6rem);background:var(--paper)}.reviews-editorial .review-score{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;text-align:center;margin:0 auto 2rem;max-width:60rem}.reviews-editorial .review-score>strong{font-size:2rem}.reviews-editorial .review-score p{font-size:.78rem;max-width:27rem;margin:0}.reviews-editorial .review-score>a{font-size:.7rem}.reviews-editorial .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.reviews-editorial .quotes blockquote{background:var(--white);border:0;border-top:2px solid var(--yellow);margin:0;padding:1.7rem}.reviews-editorial .quotes blockquote p{font:500 1.6rem/1.3 var(--display);letter-spacing:-.01em}.reviews-editorial .quotes footer{font-size:.75rem;color:var(--quiet)}
.home-page .experience{padding-block:4rem;border-top:1px solid var(--line)}.home-page .moments{gap:1.5rem}.home-page .moment{padding:0 0 1.7rem;border:0;background:transparent;overflow:hidden}.occasion-photo{width:100%;height:15rem;object-fit:cover;object-position:center 38%;margin-bottom:1.4rem}.home-page .moment-number{display:inline-block;margin-bottom:.7rem}.home-page .moment h3{font-family:var(--display);font-size:2rem}.home-page .moment .text-link{font-size:.76rem}.home-page .booking-brief{display:none}
.home-page .enquire{background:#edf2ef;position:relative;overflow:hidden}.home-page .enquire-intro::after{content:'';display:block;background:url('/assets/rio-waves.svg') repeat-x center/360px 48px;height:6rem;margin-top:2rem;transform:rotate(-8deg);opacity:.7}.home-page .enquire .enquiry-form{position:relative;z-index:1}.home-page .faq{padding-block:4rem}.home-page .site-footer{border-image:none;border-top:1px solid #ffffff30}
@media(max-width:960px){.showcase{min-height:35rem;padding-block:4rem}.showcase-photo{width:75%}.showcase h1{font-size:clamp(3.5rem,7.5vw,5.7rem)}.lineup-grid{gap:1rem}.lineup-copy{padding:1rem}.lineup-title{flex-direction:column;gap:.6rem}.lineup-title p{text-align:left}.lineup-title small{display:inline;margin-left:.4rem}.watch-editorial{gap:2rem}.qualities{gap:1rem}.reviews-editorial .quotes{gap:1rem}.reviews-editorial .quotes blockquote{padding:1.2rem}}
@media(max-width:700px){.showcase{min-height:40rem;align-items:end;padding:3rem 1.25rem}.showcase-photo{width:100%;object-position:88% 30%}.showcase-shade{background:linear-gradient(0deg,#102b38 0%,#102b38d9 37%,#102b3866 67%,#102b380a)}.showcase h1{font-size:clamp(3.3rem,10vw,4.5rem)}.showcase-copy>p{font-size:.9rem}.showcase-copy>.showcase-lead{font-size:1rem}.showcase .eyebrow{font-size:.6rem}.showcase-actions{gap:1rem}.showcase-actions .button{padding-inline:1.2rem;font-size:.8rem}.film-link{font-size:.76rem}.film-link span{width:2.3rem;height:2.3rem}.photo-label{display:none}.qualities{grid-template-columns:1fr 1fr;padding:2rem 1.25rem;gap:1.5rem}.qualities>div>span{font-size:1.6rem}.qualities strong{font-size:.8rem}.qualities p{font-size:.75rem}.lineup-editorial{padding-block:2rem 3rem}.editorial-heading h2{font-size:2.7rem}.editorial-heading>p:last-child{font-size:.85rem}.lineup-grid{grid-template-columns:1fr;gap:1.5rem;max-width:32rem}.lineup-photo{height:15rem}.lineup-copy{padding:1.4rem}.lineup-title{flex-direction:row}.lineup-title h3{font-size:1.7rem}.lineup-title p{text-align:right}.lineup-title small{display:block}.lineup-copy>.instruments{min-height:0}.watch-editorial{grid-template-columns:1fr;padding-block:3rem;gap:1.6rem}.watch-editorial .watch-heading{grid-row:1;grid-column:1}.watch-editorial .video-card-featured{grid-row:2;grid-column:1}.watch-editorial .watch-note{grid-row:3;grid-column:1}.watch-editorial .video-card:not(.video-card-featured){grid-row:auto;grid-column:1}.watch-editorial .video-privacy{grid-column:1}.watch-editorial .watch-heading h2{font-size:3.2rem}.reviews-editorial{padding-block:3rem}.reviews-editorial .quotes{grid-template-columns:1fr}.reviews-editorial .review-score{gap:.7rem}.reviews-editorial .quotes blockquote{padding:1.5rem}.home-page .experience{padding-block:3rem}.home-page .moment{padding-bottom:1rem}.home-page .enquire-intro::after{height:3rem;margin-top:1rem}.home-page .site-header .brand-logo{width:3.6rem;height:3.6rem}.home-page .hero-actions .button{width:auto}}
@media(prefers-reduced-motion:reduce){.lineup-photo img{transition:none}}

/* Keep the complete performance photograph visible on phones. */
@media(max-width:700px){
.showcase{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0 0 2.5rem;gap:0}
.showcase-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:640/426;object-fit:contain;object-position:center;z-index:0;display:block}
.showcase-shade{display:none}
.showcase-copy{padding:1.75rem 1.25rem 0;position:relative;z-index:1;width:100%;max-width:none;box-sizing:border-box}
.showcase .eyebrow{margin-bottom:1rem}
.showcase h1{font-size:clamp(2.7rem,10vw,4.5rem)}
.showcase-copy>.showcase-lead{margin-top:1.2rem}
.showcase-lines{z-index:0;opacity:.55}
}

.occasion-photo-wedding{object-position:center 85%}
/* Header refinement only: framed brand, quiet navigation and a tailored CTA. */
.home-page .site-header{padding-top:1rem;padding-bottom:.85rem;gap:1rem 2rem}
.home-page .site-header .brand{position:relative;isolation:isolate;padding:.35rem;margin-left:.2rem}
.home-page .site-header .brand::before{content:none}
.home-page .site-header .brand::after{content:'';position:absolute;left:-.45rem;right:-.55rem;top:55%;height:1.65rem;border-bottom:2px solid #fece07;border-top:1px solid #5dbb4666;border-radius:50%;transform:rotate(-24deg);z-index:-1;pointer-events:none}
.home-page .site-header .brand-logo{border-radius:3px;box-shadow:0 3px 10px #102b3812}
.home-page .site-header nav{gap:.25rem;background:#eeeee7;border:1px solid #dce1d9;border-radius:30px;padding:.25rem}
.home-page .site-header nav a{justify-content:center;min-height:40px;padding:.45rem .95rem;border-radius:24px;font-size:.8rem;font-weight:500;letter-spacing:.01em;transition:background .18s,color .18s}
.home-page .site-header nav a:hover,.home-page .site-header nav a:focus-visible{background:#fffdf8;color:#126b9b}
.home-page .site-header>.button{background:#126b9b;color:#fffdf8;border:1px solid #126b9b;border-radius:30px;min-height:44px;padding:.55rem .7rem .55rem 1.1rem;gap:.75rem;font-size:.8rem;box-shadow:0 3px 8px #102b3810}
.home-page .site-header>.button::after{content:'↗';display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#fece07;color:#102b38;font-size:1rem}
.home-page .site-header>.button:hover{background:#102b38;border-color:#102b38;transform:none}
@media(max-width:700px){
.home-page .site-header{padding:1rem 1.25rem .8rem;gap:.8rem 1rem}
.home-page .site-header nav{flex-wrap:nowrap;justify-content:space-between;gap:0;width:100%;flex-basis:100%;padding:.2rem;border-radius:26px}
.home-page .site-header nav a{font-size:.72rem;padding:.4rem .55rem;min-height:40px;white-space:nowrap}
.home-page .site-header>.button{font-size:.76rem;padding:.5rem .55rem .5rem .9rem;gap:.6rem}
}
@media(max-width:360px){.home-page .site-header nav a{font-size:.68rem;padding-inline:.4rem}}
@media(prefers-reduced-motion:reduce){.home-page .site-header nav a{transition:none}}
