/* Riviera Lifestyle brand layer on top of the shared redesign kit (redesign.css). Sea-teal accent from the brand lagoon colour. */
:root{--accent:#6F9AA0;--accent-text:#2F6570;--accent-hover:#224D55;--tint:#EDF1F0;--tint-text:#2F6570}
.brand svg{height:26px;width:26px;flex-shrink:0}
.lang a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;letter-spacing:.12em}
.lang a+a::before{content:"·";color:#D6CFC3;margin-right:8px}
.lang a[aria-current="page"]{color:var(--ink)}
.header-cta .btn{min-height:44px;padding:0 22px}
@media (max-width:1380px){.header-cta .contact-link{display:none}}
@media (max-width:1280px){.site-nav{gap:22px}.header-cta .btn{display:none}.quick-lead{flex-wrap:wrap}.quick-lead .ql-title{width:100%}}
@media (max-width:440px){.brand-sub{display:none}.header-cta{gap:10px}}
/* Illustrative-image label on heroes */
.hero-note{position:absolute;right:var(--pad);top:28px;z-index:3;max-width:calc(100% - 2*var(--pad));font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-2);background:rgba(255,255,255,.92);padding:8px 14px;border-radius:999px}
.hero-slide .hero-card h2.display{font-size:clamp(40px,5vw,64px)}
.caption,.caption-top{font-size:13px;color:var(--muted)}
.caption{padding-top:14px}.caption-top{margin-top:16px}
.narrow{max-width:560px}
.h2-sm{font-size:clamp(30px,3vw,42px)}
.h2-form{font-size:34px}
.pull{margin-top:48px;text-align:center;font-family:var(--serif);font-size:26px;font-style:italic;color:var(--text)}
.scope-note{padding-top:12px;border-top:1px solid var(--line-2);font-size:13px;line-height:1.6;color:var(--muted)}
.scope-note strong{color:var(--text);font-weight:700}
.card .link-arrow{padding-top:4px}
.card-meta.start{justify-content:flex-start;align-items:center;gap:16px}
.actions{display:flex;flex-wrap:wrap;gap:12px 28px}
.strong-link{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.stack.tight{gap:10px}
.alt-line{font-family:var(--serif);font-size:22px;font-style:italic}
.alt-line a{color:var(--text)}.alt-line a:hover{color:var(--accent-text)}
/* Who does what */
.roles{display:flex;flex-direction:column}
.roles>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.roles span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);padding-top:3px}
.roles p{font-size:15px;line-height:1.65;color:var(--text)}
/* Services */
.svc-media{width:640px;max-width:48%;flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:340px 170px;gap:12px}
.svc-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.svc-media img:first-child{grid-column:span 2}
.service-row>img.cover{width:640px;max-width:48%;height:480px;flex-shrink:0}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pair img{width:100%;height:440px;object-fit:cover;border-radius:var(--radius)}
.trio{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:300px 220px;gap:16px}
.trio img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.trio img:first-child{grid-column:span 2}
.more .card{color:inherit}.more .card:hover .h3{color:var(--accent-text)}
.more .card img{width:100%;height:260px;object-fit:cover}
/* Process */
.plain{list-style:none;margin:0;padding:0}
.step-row{padding:40px 0;border-top:1px solid var(--line)}
.step-row+.step-row,.plain li+li .step-row{margin-top:0}
.step-row>img{height:400px}
.big-num{font-family:var(--serif);font-size:72px;line-height:1;color:var(--accent)}
.strip .cover,.strip-tight .cover{height:300px}
.strip-tight{padding-top:56px}
.center-note{text-align:center;margin-top:40px}
.tick{width:22px;height:12px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg);margin:4px 0 6px 4px}
/* Contact */
.notice-bar{margin:56px var(--pad) 0;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 40px;background:var(--tint);border-radius:var(--radius-lg)}
.notice{font-size:16px;line-height:1.65;color:var(--text)}
.form-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.badge{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);border:1px solid var(--accent);border-radius:999px;padding:6px 12px}
.form fieldset{display:flex;flex-direction:column;gap:20px;min-width:0}
.form fieldset:disabled{opacity:.65}
.form a{text-decoration:underline}
#form-status:not(:empty){padding:14px 16px;background:#FFF2EF;color:#842E20;border-radius:var(--radius)}
.wrap-any{overflow-wrap:anywhere}
.aside-img{height:300px;margin-top:16px}
.prose{max-width:960px}
.prose .lead{font-size:18px}
.notfound{padding-bottom:var(--gap)}
@media (max-width:1100px){
.svc-media,.service-row>img.cover{width:100%;max-width:none}
.svc-media{grid-template-rows:360px 200px}}
@media (max-width:760px){
.hero-note{top:16px;left:16px;right:16px;font-size:11px;text-align:center}
.hero .hero-card{bottom:96px}
.mosaic{grid-template-rows:260px;grid-auto-rows:180px}.mosaic>img:first-child{height:100%}
.roles>div{grid-template-columns:1fr;gap:6px}
.svc-media{grid-template-rows:240px 140px;gap:8px}
.service-row>img.cover,.step-row>img{height:280px}
.pair{grid-template-columns:1fr}.pair img{height:260px}
.trio{grid-template-rows:220px 160px;gap:10px}
.more .card img{height:200px}
.big-num{font-size:52px}
.notice-bar{flex-direction:column;align-items:stretch;padding:22px}
.strip .cover{height:220px}
.strip-tight{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.strip-tight .cover{height:130px}
.pull{font-size:22px}
.alt-line{font-size:19px}
.h2-form{font-size:28px}}
.plain li:nth-child(even) .service-row{flex-direction:row-reverse}
.step-row .step-n{font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--accent-text);text-transform:uppercase}
@media (max-width:1100px){.plain li:nth-child(even) .service-row{flex-direction:column}}
