/* Riviera: a clear, generous type scale and Vera-led identity. */
body {font-size:18px}
.preview-bar,.design-bar {display:none}
.design-riviera .header,.design-riviera.home-view .header {height:auto;min-height:118px;padding:22px 5%;gap:28px}
.design-riviera .brand {font-size:30px;letter-spacing:1.2px;gap:15px;line-height:1.2}
.design-riviera .brand small {font-size:19px;letter-spacing:.2px;margin-top:7px;font-weight:450}
.brand small b {font-weight:800;color:#156b83}
.design-riviera .brand-mark {width:47px;flex-shrink:0}
.design-riviera .header nav {font-size:16px;gap:24px}
.design-riviera .header-account {font-size:16px;min-height:50px;padding:12px 20px}
.design-riviera .riviera-hero {height:auto;min-height:700px;max-height:none}
.design-riviera .riviera-copy {padding:54px 5% 165px;max-width:900px}
.design-riviera .riviera-copy .eyebrow {font-size:14px;letter-spacing:1.6px;line-height:1.6;margin-bottom:24px}
.design-riviera .riviera-copy h1 {font-size:clamp(58px,6.6vw,94px);letter-spacing:-3.4px;line-height:1.06;font-weight:650}
.riviera-copy h1 em {font-family:Georgia,'Times New Roman',serif;font-size:1.15em;font-weight:400;letter-spacing:-3px;color:#145c70;position:relative;display:inline-block}
.riviera-copy h1 em:after {content:'';height:5px;position:absolute;left:3%;right:0;bottom:0;background:#ed9872;border-radius:100%;transform:rotate(-2deg)}
.design-riviera .riviera-copy p {font-size:22px;line-height:1.65;max-width:570px;margin-top:28px}
.design-riviera .riviera-copy .button {font-size:18px;min-height:62px;padding:18px 26px;margin-top:30px;gap:24px}
.riviera-coordinate {max-width:270px}
.riviera-coordinate b {font-size:23px;line-height:1.3}
.riviera-coordinate small {font-size:14px;line-height:1.5}
.riviera-coordinate>span {font-size:12px;line-height:1.5;letter-spacing:1px}
.riviera-bottom>a,.riviera-bottom .motion-control {font-size:15px}
.finder {align-items:end}
.finder select {font-size:18px;min-height:42px}
.finder label>span {font-size:13px;line-height:1.5}
.finder .button {font-size:17px;min-height:55px}
.finder-wrap>p,.section-disclaimer {font-size:14px;line-height:1.6}
.design-riviera .section-head>p,.design-riviera .custom-copy>p,.process-grid p,.trip-feature p,.visual-section-aside p,.visual-heading-note p {font-size:18px;line-height:1.75}
.design-riviera .journey p {font-size:17px;line-height:1.6;max-width:340px}
.design-riviera .journey-photo {min-height:530px}
.journey-bottom {font-size:15px;line-height:1.5}
.visual-news-copy>p,.visual-news-feature .visual-news-copy>p,.visual-home-news .visual-news-feature .visual-news-copy>p {font-size:17px;line-height:1.7}
.visual-news-copy h3,.visual-home-news .visual-news-copy h3,.visual-home-news .visual-news-feature .visual-news-copy h3 {font-size:28px;line-height:1.25}
.visual-news-meta,.visual-news-footer,.cover-chip {font-size:14px;line-height:1.5}
.visual-news-copy>small {font-size:12px;line-height:1.6}
.article-body {font-size:18px;line-height:1.8}
.field input,.field select,.field textarea {font-size:18px}
.footer-brand {font-size:26px}
.footer-brand>span {font-size:18px}
.footer small {font-size:14px;line-height:1.6}
.doc-info strong,.side-tab,.message-bubble,.trip-banner p,.panel-head p,.portal-top p {font-size:17px;line-height:1.6}
.doc-info small,.doc-status,.portal-note {font-size:14px;line-height:1.6}
.client-visual .trip-choice {min-height:140px}
@media(max-width:1050px) {
 .design-riviera .header {flex-wrap:wrap;gap:18px}
 .design-riviera .header nav {order:3;width:100%;justify-content:center}
 .design-riviera .brand {font-size:28px}
 .riviera-coordinate {right:4%;bottom:90px;top:auto}
 .design-riviera .riviera-copy {padding-bottom:250px}
}
@media(max-width:650px) {
 .design-riviera .header,.design-riviera.home-view .header {display:grid;grid-template-columns:1fr auto;padding:22px 6% 18px;gap:20px 12px;min-height:0}
 .design-riviera .brand {grid-column:1/-1;font-size:28px;letter-spacing:.7px;gap:13px}
 .design-riviera .brand small {font-size:19px;letter-spacing:0;margin-top:7px}
 .design-riviera .brand-mark {width:43px}
 .design-riviera .header nav {display:none}
 .design-riviera .mobile-news {display:inline-flex;align-items:center;justify-content:flex-start;min-height:46px;font-size:17px;padding:0;color:#174860}
 .design-riviera .header-account {font-size:16px;min-height:46px;padding:11px 16px;gap:9px}
 .design-riviera .riviera-hero {width:calc(100% - 24px);min-height:790px;height:auto;border-radius:18px}
 .design-riviera .riviera-copy {padding:34px 6% 260px;max-width:none}
 .design-riviera .riviera-copy .eyebrow {font-size:12px;letter-spacing:1px;line-height:1.65;max-width:290px;margin-bottom:24px}
 .design-riviera .riviera-copy h1 {font-size:clamp(33px,9.5vw,60px);letter-spacing:-1.8px;line-height:1.1}
 .riviera-copy h1 em {font-size:1.4em;letter-spacing:-1.5px}
 .design-riviera .riviera-copy p {font-size:19px;line-height:1.65;margin-top:28px;max-width:340px}
 .design-riviera .riviera-copy .button {font-size:16px;min-height:58px;padding:17px 18px;gap:14px;max-width:100%}
 .riviera-coordinate {left:6%;right:auto;bottom:105px;top:auto;max-width:88%;padding:18px 22px}
 .riviera-coordinate b {font-size:22px}
 .riviera-coordinate small {font-size:14px}
 .riviera-bottom {left:6%;right:6%;bottom:24px;gap:12px}
 .riviera-bottom>a {font-size:14px;gap:8px}
 .riviera-bottom .motion-control {font-size:13px;padding:9px 12px}
 .finder {gap:18px}
 .finder label {min-width:0}
 .finder select {font-size:17px}
 .finder .button {width:100%}
 .design-riviera .section-head>p,.design-riviera .custom-copy>p,.process-grid p,.trip-feature p,.visual-section-aside p,.visual-heading-note p {font-size:17px}
 .design-riviera .journey-photo {min-height:550px}
 .visual-news-copy h3,.visual-news-feature .visual-news-copy h3,.visual-home-news .visual-news-copy h3,.visual-home-news .visual-news-feature .visual-news-copy h3 {font-size:28px}
 .visual-news-copy>p,.visual-news-feature .visual-news-copy>p,.visual-home-news .visual-news-feature .visual-news-copy>p {font-size:17px}
 .visual-news-footer {flex-wrap:wrap;gap:14px}
 .visual-news-filters {flex-wrap:wrap}
 .footer {gap:24px;line-height:1.6}
 .footer small {text-align:left}
 .portal-top,.panel-head {flex-wrap:wrap;gap:15px}
 .doc-actions {flex-wrap:wrap}
}

/* Audit repairs: meaningful labels, contrast, touch and form reflow. */
:focus-visible {outline:3px solid #1567b7;outline-offset:4px}
button,.button,.chip,.text-link {min-height:44px}
.design-riviera .chip,.visual-news-filters .chip,.doc-actions button,.side-tab,.role-switch button,.client-visual .trip-choice small {font-size:16px;line-height:1.5}
.doc-actions button {min-height:46px;padding:10px 18px;font-weight:650;background:#edf7fc;border-color:#b8ceda;color:#174860}
.doc-info small,.panel-head p,.portal-top p,.sidebar p,.form-note,.section-head>p,.section-disclaimer,.visual-news-meta,.visual-news-footer,.visual-news-copy>p,.visual-heading-note p,.finder-wrap>p,.article-cover figcaption {color:#496375}
.field {font-size:16px!important;line-height:1.5;color:#254a60;font-weight:600}
.field input,.field select,.field textarea {font-weight:450;min-height:52px;border-color:#afc2ce}
.field input::placeholder,.field textarea::placeholder {color:#5c7180;opacity:1}
dialog p {font-size:18px;line-height:1.7;color:#496375}
dialog .form-note {font-size:15px;line-height:1.7;color:#496375}
.visual-news-footer a,.visual-news-footer button {display:inline-flex;align-items:center;min-height:44px;font-size:16px}
.news-update,.trip-choice small,.trip-choice-meta,.status-pill {font-size:14px;line-height:1.6}
.service-lines>div,.boarding-doc {font-size:16px;line-height:1.5}
.boarding-doc b {font-size:14px}
.client-visual .trip-choice {min-height:180px}
.doc-row {gap:14px}
@media(max-width:650px){
 dialog {max-width:calc(100% - 24px);max-height:92svh;padding:24px;scrollbar-gutter:stable}
 .form-grid {grid-template-columns:1fr!important;gap:20px}
 .form-grid .field {grid-column:1/-1}
 .field input,.field select,.field textarea {font-size:18px;width:100%;min-width:0}
 .field textarea {min-height:120px}
 .doc-filters,.news-filters {flex-wrap:wrap}
 .doc-info {min-width:0}
 .visual-news-filters .chip {font-size:15px;padding:11px 16px}
 .sidebar nav {display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .side-tab {min-height:50px;white-space:normal}
}
@media(max-width:360px){
 .design-riviera .brand {font-size:25px;gap:10px}
 .design-riviera .brand small {font-size:17px}
 .design-riviera .brand-mark {width:36px}
 .design-riviera .header-account {font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* The brand symbol pairs a bird, a wave and a warm sun. */
.design-riviera .brand-mark {width:70px;height:70px;object-fit:contain;background:none;border:0}
@media(max-width:650px){.design-riviera .brand-mark{width:61px;height:61px}.design-riviera .brand{font-size:31px;gap:14px}.design-riviera .riviera-hero{min-height:820px}}
@media(max-width:360px){.design-riviera .brand-mark{width:48px;height:48px}.design-riviera .brand{font-size:27px;gap:10px}}

/* Contacts and public documents. */
#modal .form-note {font-size:15px!important;line-height:1.7;color:#496375}
.contact-section{margin:60px 5%;padding:64px 5%;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;background:#eaf7fa;border-radius:28px;color:#153f52}
.contact-story h2{font-size:clamp(36px,4vw,58px);line-height:1.15;letter-spacing:-2px;margin:20px 0 26px}.contact-story h2 em{font-family:Georgia,serif;color:#176b7e;font-weight:400}.contact-story p{font-size:19px;line-height:1.8}.contact-story .eyebrow{font-size:14px;line-height:1.7}
.contact-card{background:#fff;padding:32px;border-radius:22px;min-width:0}.contact-card h3{font-size:28px;margin:0 0 24px}.contact-card dt{font-size:15px;color:#496375;margin:18px 0 6px}.contact-card dd{font-size:24px;font-weight:650;margin:0;overflow-wrap:anywhere}.contact-note{font-size:15px;line-height:1.6;color:#496375;margin:22px 0}.contact-card>.button{width:100%;font-size:18px;justify-content:space-between}.telegram-placeholder{display:flex;align-items:center;justify-content:space-between;width:100%;background:#f0f7fc;color:#205778;border:1px solid #cee1ec;border-radius:12px;padding:14px 18px;margin-top:14px;font:inherit}.telegram-placeholder span{font-size:14px}.legal-links{display:flex;gap:14px 30px;flex-wrap:wrap;padding:20px 5%;border-bottom:1px solid #dce5ea}.legal-links a{font-size:16px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;color:#24526b}
.consent-preview{padding:18px;background:#edf7fb;border-radius:12px;margin:20px 0}.consent-preview label{display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:1.6;cursor:pointer}.consent-preview input{width:24px;height:24px;margin-top:3px;flex-shrink:0;accent-color:#176779}.consent-preview a{display:block;font-size:16px;padding:12px 0;color:#175c79}.consent-preview small{display:block;font-size:14px;line-height:1.6;color:#496375}#feedback-result{font-size:17px;color:#164e65}#feedback-form a{color:#175c79;text-decoration:underline}.field small{font-weight:400;font-size:14px}
@media(max-width:700px){.contact-section{grid-template-columns:1fr;margin:40px 12px;padding:32px 22px;gap:28px}.contact-card{padding:24px}.contact-card dd{font-size:22px}.contact-story p{font-size:18px}.legal-links{display:grid;gap:8px;padding:20px 6%}.contact-story h2{font-size:38px}}
