/* Shared public layout: calm spacing, readable typography and accessible motion. */
:root { --container: 1280px; --radius: 18px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; }
section[id],article[id] { scroll-margin-top: 110px; }
.site-header { border-radius: 20px; box-shadow: 0 10px 40px #0002; }
.main-nav a { line-height: 1.45; }
.btn { border-radius: 10px; min-height: 46px; font-weight: 600; box-shadow: none; }
.btn-gold { background: #d4b579; color: #091d2c; }
.btn-gold:hover { background: #e6c98e; box-shadow: 0 8px 28px #c8a45d26; }
.hero.home-hero-v34 { min-height: min(900px, 95svh); padding-top: clamp(150px,15vw,220px); padding-bottom: 100px; }
.home-hero-v34 .hero-content h1 { max-width: 1080px; font-size: clamp(2.4rem,4.7vw,4.9rem); line-height: 1.12; letter-spacing: -.04em; }
.home-hero-v34 .hero-content > p { max-width: 720px; font-size: clamp(1rem,1.35vw,1.2rem); line-height: 1.85; }
.hero-actions { gap: 12px; margin-top: 32px; }
.eyebrow { letter-spacing: .16em; font-size: 11px; }
.section { padding-block: clamp(64px,7vw,108px); }
.page-hero.compact h1 { font-size: clamp(2.3rem,4.7vw,4.7rem); line-height: 1.14; letter-spacing: -.035em; max-width: 1050px; }
.page-hero.compact p { max-width: 780px; line-height: 1.85; }
.services-index-v39 .service-grid { gap: 26px; align-items: stretch; }
.services-index-v39 .service-card { border-radius: 16px; min-width: 0; margin-top: 0 !important; height: 100%; box-shadow: 0 8px 35px #0001; }
.services-index-v39 .service-card img { height: 230px; width: 100%; object-fit: cover; }
.services-index-v39 .service-card > div { padding: 26px; }
.services-index-v39 .service-card h3 { font-size: 1.3rem; line-height: 1.35; letter-spacing: -.02em; }
.services-index-v39 .service-card p { font-size: .95rem; line-height: 1.8; }
.services-index-v39 .service-card:hover { transform: translateY(-5px) !important; }
.vessel-note { padding-bottom: 80px; }
.vessel-note > p { max-width: 1000px; line-height: 1.9; }
.region-accordion-card { border-radius: 14px; }
.cms-prose { max-width: 850px; font-size: 1.1rem; line-height: 1.9; overflow-wrap: anywhere; }
.cms-prose img,.rich-content img { height: auto; max-width: 100%; border-radius: 12px; }
.cms-prose table,.rich-content table { display: block; overflow-x: auto; max-width: 100%; }
.rich-content { overflow-wrap: anywhere; }
input,textarea,select { font: inherit; }
@media (max-width: 1100px) {
  .site-header { gap: 15px; }
  .main-nav { gap: 12px; }
  .main-nav a { font-size: 12px; }
}
@media (max-width: 760px) {
  .site-header { border-radius: 16px; top: 10px; width: calc(100% - 24px); }
  .hero.home-hero-v34 { min-height: 690px; min-height: 90svh; padding: 150px 0 72px; }
  .home-hero-v34 .hero-content h1 { font-size: clamp(2.1rem,8.3vw,3.4rem); max-width: 100%; }
  .hero-actions { display: flex; flex-wrap: wrap; }
  .hero-actions .btn { font-size: .85rem; padding: 12px 16px; }
  .services-index-v39 .service-card img { height: 210px; }
  .services-index-v39 .service-card > div { padding: 22px; }
  .content-grid { grid-template-columns: minmax(0,1fr); }
  .region-card-foot { flex-wrap: wrap; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
  .motion-ready .service-card,.motion-ready .trust-card { opacity: 1 !important; transform: none !important; filter: none !important; }
}
