@font-face {
  font-family: RomarManrope;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/media/templates/site/cassiopeia/fonts/romar/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: RomarManrope;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/media/templates/site/cassiopeia/fonts/romar/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --romar-blue: #030cb3;
  --romar-navy: #103a65;
  --cassiopeia-color-primary: var(--romar-blue);
  --cassiopeia-color-link: var(--romar-blue);
  --cassiopeia-color-hover: var(--romar-navy);
  --link-color: var(--romar-blue);
  --link-hover-color: var(--romar-navy);
}
@font-face { font-family: RomarLato; src: url('/media/templates/site/cassiopeia/fonts/romar/lato-regular-webfont.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: RomarLato; src: url('/media/templates/site/cassiopeia/fonts/romar/lato-bold-webfont.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: RomarLato; src: url('/media/templates/site/cassiopeia/fonts/romar/lato-lightitalic-webfont.woff2') format('woff2'); font-style: italic; font-weight: 300; font-display: swap; }
body { color: #283746; background: #fff; }
.container-header {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  grid-template-areas: "brand contacts" "brand nav";
  column-gap: 2rem;
  padding: 1rem max(1.5rem, calc((100% - 1320px) / 2));
  background: #fff;
  color: var(--romar-navy);
  border-bottom: 3px solid var(--romar-blue);
  box-shadow: none;
}
.container-header > .grid-child:not(.container-nav):not(.container-below-top) { grid-area: brand; align-self: center; }
.container-header .grid-child { width: 100%; min-width: 0; padding: 0; }
.container-header .navbar-brand { margin: 0; padding: 0; }
.container-header .navbar-brand img { display: block; width: 150px; height: auto; }
.container-header .container-topbar { grid-area: contacts; padding: 0 0 .7rem; border-bottom: 1px solid #dce5ed; color: var(--romar-navy); }
.container-header .container-topbar a:not(.btn) { color: var(--romar-navy); }
.container-header .container-topbar a:not(.btn):hover { color: var(--romar-blue); }
.container-topbar .row { margin: 0; }
.container-topbar .col-md-12 { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem 1rem; padding: 0; }
.container-topbar p { margin: 0; font-size: .82rem; line-height: 1.6; }
.container-topbar p:empty { display: none; }
.container-topbar img { vertical-align: middle; }
.container-header a, .container-header .mod-menu, .container-header .mod-menu a,
.container-header .mod-menu button, .container-header .navbar-toggler { color: var(--romar-navy); }
.container-header .container-nav { grid-area: nav; justify-content: flex-end; padding: .5rem 0 0; }
.container-header .mod-menu { justify-content: flex-end; gap: .1rem .85rem; font-size: .95rem; }
.container-header .metismenu > li > a { padding: .65rem 0; }
.container-header .metismenu > li + li { margin-left: 0; }
.container-header .metismenu > li.active > a:after,
.container-header .metismenu > li > a:hover:after,
.container-header .mod-menu > li.active:after { background: var(--romar-blue); opacity: 1; }
.container-header .mod-menu a:hover, .container-header .mod-menu a:focus { color: var(--romar-blue); }
.container-header .metismenu .mm-collapse { background: #fff; color: var(--romar-navy); z-index: 20; }
.romar-menu-toggle { display: none; }
.romar-carousel { position: relative; overflow: hidden; background: var(--romar-navy); margin-bottom: 3rem; isolation: isolate; }
.romar-slide { position: relative; overflow: hidden; grid-area: 1 / 1; min-width: 0; }
.romar-carousel { display: grid; }
.romar-slide.is-active { z-index: 1; }
.romar-slide.is-leaving { z-index: 0; pointer-events: none; }
.romar-slide[hidden], .romar-slide:not(.is-active):not(.is-leaving), .romar-carousel-controls[hidden] { display: none !important; }
.com-content-article .romar-slide > img { display: block; width: 100%; height: clamp(340px, 38vw, 510px); object-fit: cover; }
.romar-slide:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7, 31, 56, .8), rgba(7, 31, 56, .2) 85%); }
.romar-slide-caption { position: absolute; z-index: 1; inset: 0; display: flex; align-items: center; padding: 2rem clamp(1.5rem, 5vw, 5rem) 5rem; color: #fff; }
.romar-slide-caption .row { margin: 0; }
.romar-slide-caption .col-md-12 { padding: 0; }
.romar-slide-caption .heading3 { font-size: clamp(1.8rem, 3.6vw, 3.6rem); line-height: 1.15; margin: 0; text-shadow: 0 2px 8px #102a43; }
.romar-slide-caption strong { font-weight: 750; }
.romar-carousel-controls { position: absolute; z-index: 2; bottom: 1rem; left: 0; right: 0; display: flex; justify-content: center; align-items: center; gap: .5rem; }
.romar-carousel-dots { display: flex; padding: 0 .5rem; border-radius: 2rem; background: #103a6566; }
.romar-carousel-dots button { display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; min-width: 44px; min-height: 44px; }
.romar-carousel-dots span { width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; }
.romar-carousel-dots button:hover span { background: #ffffff80; }
.romar-carousel-dots [aria-current="true"] span { background: #fff; }
.romar-carousel-controls button:focus-visible, .romar-button:focus-visible { outline: 3px solid #f9c85e; outline-offset: 3px; }
.romar-section { margin: 3rem 0; }
.romar-intro { padding: 0 clamp(1rem, 4vw, 3.5rem); }
.romar-intro .col-md-10, .romar-collection .col-md-10 { width: 100%; }
.romar-intro p { line-height: 1.8; }
.romar-button { display: inline-flex; align-items: center; gap: 1rem; padding: .8rem 1.25rem; border: 1px solid var(--romar-blue); background: var(--romar-blue); color: #fff; text-decoration: none; font-weight: 600; }
.romar-button:hover, .romar-button:focus { color: #fff; background: var(--romar-navy); border-color: var(--romar-navy); }
.romar-collection { margin: 3.5rem 0; padding: clamp(1.5rem, 5vw, 4.5rem); background: #f0f5fa; border-top: 4px solid var(--romar-blue); }
.romar-collection h2 { color: var(--romar-navy); margin: 0 0 1.5rem; }
.romar-collection p { text-align: justify; hyphens: auto; line-height: 1.85; margin-bottom: 1.25rem; }
.romar-collection p:last-child { margin-bottom: 0; }
.romar-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.romar-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: .3rem; }
.com-content-article img { max-width: 100%; height: auto; }
.btn-default { border: 1px solid var(--romar-blue); color: var(--romar-blue); }
.footer { background: var(--romar-blue); background-image: none; color: #fff; }
.footer a { color: #fff; }
.footer > .grid-child { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; padding: 2.5rem 1rem; }
.footer .mod-menu { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: .6rem 1.5rem; margin: 0; padding: 0; }
.footer .mod-menu > li { margin: 0; padding: 0; }
.footer #mod-custom189 { width: 100%; text-align: center; }
.footer #mod-custom189 p { margin: 0; line-height: 1.9; }
.container-bottom-b .card { border: 0; background: none; }
.container-bottom-b .card-body { padding: 0; }
.romar-disposal-banner { position: relative; isolation: isolate; overflow: hidden; }
.romar-disposal-banner img { display: block; width: 100%; height: clamp(240px, 26vw, 380px); object-fit: cover; }
.romar-disposal-banner:after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, #103a65d9, #103a6573); }
.romar-disposal-banner h2 { position: absolute; z-index: 1; inset: 0; display: flex; align-items: center; justify-content: center; padding: 2rem; margin: 0; text-align: center; color: #fff; font-size: clamp(1.5rem, 3vw, 2.75rem); }
.romar-contact-map { margin: 2.5rem 0 0; }
.romar-contact-map iframe { display: block; width: 100%; max-width: 100%; height: 420px; border: 1px solid #dce5ed; border-radius: .5rem; margin: 1.25rem 0; }
.com-content-category-blog .blog-items { gap: 1.75rem; }
.com-content-category-blog .blog-item { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); align-items: start; gap: 1.75rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #dce5ed; border-radius: .6rem; background: #f2f6fb; box-shadow: 0 3px 12px #103a650a; }
.com-content-category-blog .blog-item > .item-image { margin: 0; float: none; }
.com-content-category-blog .blog-item > .item-content:only-child { grid-column: 1 / -1; }
.com-content-category-blog .blog-item .item-image img { display: block; width: 100%; height: auto; border-radius: .3rem; }
.com-content-category-blog .blog-item h2 { font-size: clamp(1.3rem, 2.2vw, 1.8rem); }
main p.romar-prose { text-align: justify !important; hyphens: auto; line-height: 1.8; }
@media (max-width: 1199px) {
  .container-header { column-gap: 1.25rem; grid-template-columns: 140px minmax(0, 1fr); }
  .container-header .navbar-brand img { width: 135px; }
  .container-header .mod-menu { font-size: .85rem; gap: .1rem .65rem; }
}
@media (max-width: 991px) {
  .container-header { grid-template-areas: "brand contacts" "nav nav"; padding: 1rem; }
  .container-header .container-topbar { border: 0; padding: 0; }
  .container-header .container-nav { display: block; padding-top: .75rem; }
  .romar-menu-toggle { display: block; width: 100%; padding: .65rem 1rem; text-align: left; background: var(--romar-blue); color: #fff; border: 0; border-radius: 3px; }
  .romar-menu-toggle[aria-expanded="false"] + .mod-menu { display: none; }
  .container-header .mod-menu { font-size: 1rem; padding: .5rem 0; }
  .container-header .metismenu .mm-collapse { box-shadow: none; }
}
@media (max-width: 767px) {
  .com-content-category-blog .blog-item { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .romar-contact-map iframe { height: 330px; }
  .romar-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .romar-section { margin-top: 2rem; margin-bottom: 2rem; }
  .romar-slide-caption { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (max-width: 479px) {
  .container-header { grid-template-columns: 95px minmax(0, 1fr); column-gap: .75rem; }
  .container-header .navbar-brand img { width: 95px; }
  .container-topbar p { font-size: .73rem; text-align: right; }
  .romar-carousel-controls { gap: .15rem; }
}
/* Production reference: Lato, edge-to-edge home sections and a plain grey band. */
body { font-family: RomarManrope, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #092834; }
h1, h2, h3 { font-family: RomarManrope, Arial, sans-serif; font-style: normal; font-weight: 700; line-height: 1.25; letter-spacing: -.025em; color: var(--romar-navy); text-wrap: balance; }
h1 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
h2 { font-size: clamp(1.5rem, 2.4vw, 1.875rem); }
.container-header { grid-template-columns: 110px minmax(0, 1fr); padding: .75rem max(1.5rem, calc((100% - 1200px) / 2)); border-bottom: 0; }
.container-header .navbar-brand img { width: 100px; }
.container-header .container-topbar { padding-bottom: .35rem; }
.container-header .container-nav { padding-top: .2rem; }
.container-header .romar-nav-menu { display: flex; flex-wrap: nowrap; gap: 0; font-size: 14px; }
.container-header .romar-nav-menu li { position: relative; list-style: none; margin: 0; padding: 0; }
.container-header .romar-nav-menu li:after { display: none; }
.container-header .romar-nav-menu li > a { display: flex; align-items: center; width: 100%; min-height: 40px; padding: .55rem .65rem; text-decoration: none; color: #092834; }
.container-header .romar-nav-menu li.parent > a { padding-right: 2.4rem; }
.container-header .romar-nav-menu > li.current > a { color: var(--romar-blue); box-shadow: inset 0 0 0 1px var(--romar-blue); }
.container-header .romar-nav-menu li > a:hover, .container-header .romar-nav-menu li > a:focus-visible { background: #edf0ff; color: var(--romar-blue); }
.romar-submenu-toggle { position: absolute; right: 0; top: 0; width: 36px; height: 40px; display: grid; place-items: center; background: transparent; border: 0; color: var(--romar-navy); }
.romar-submenu-toggle span { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; }
.container-header .romar-nav-menu .romar-submenu { display: none; position: absolute; z-index: 100; top: 100%; left: 0; width: 260px; padding: 0; margin: 0; background: #fff; border: 1px solid #dce5ed; box-shadow: 0 6px 16px #103a651c; }
.container-header .romar-nav-menu .romar-submenu li > a { min-height: 44px; padding: .7rem 2.5rem .7rem 1rem; }
.container-header .romar-nav-menu .romar-submenu .romar-submenu { top: -1px; left: 100%; }
.container-header .romar-nav-menu li.is-open > .romar-submenu { display: block; }
.container-header .romar-nav-menu .romar-submenu .romar-submenu-toggle { height: 44px; }
.container-header .romar-nav-menu .romar-submenu .romar-submenu-toggle span { transform: rotate(-90deg); }
body.itemid-101 .site-grid .container-component, body.itemid-101 .site-grid .container-bottom-b { grid-column: full-start / full-end; padding: 0; margin: 0; }
body.itemid-101 .container-bottom-b > * { margin: 0; }
.romar-carousel { width: 100%; margin: 0; border-radius: 0; }
.com-content-article .romar-slide > img { height: clamp(360px, 32.3vw, 620px); transform: scale(1.18); }
.romar-slide:after { background: none; }
.romar-slide:nth-child(n+3) .romar-slide-caption { color: #fff; }
.romar-slide:nth-child(n+3) .heading3 { text-shadow: 0 2px 18px #061c36, 0 1px 4px #061c36; }
.romar-slide:nth-child(n+3):after { background: #061c3633; }
.romar-slide-caption { padding: 2rem max(1.5rem, calc((100% - 1200px) / 2)) 4rem; justify-content: flex-end; color: #285f3b; }
.romar-slide-caption .row { width: 44%; max-width: 540px; }
.romar-slide-caption .heading3 { font-size: clamp(1.8rem, 4.2vw, 3.75rem); text-shadow: none; font-style: normal; line-height: 1.06; }
.romar-intro { margin: 0; padding: 3rem max(1.5rem, calc((100% - 1200px) / 2)); background: #fff; }
.romar-intro .romar-section-content { max-width: 1100px; margin-inline: auto; }
.romar-intro p, main p.romar-prose { line-height: 1.6; }
.romar-button { font-size: 14px; font-weight: 600; font-style: normal; padding: .5rem .9rem; gap: .7rem; }
.romar-collection { margin: 0; padding: 3.25rem max(1.5rem, calc((100% - 1000px) / 2)); background: #e0dfe4; border: 0; border-radius: 0; box-shadow: none; }
.romar-collection h2 { color: var(--romar-blue); font-size: 30px; }
.romar-collection p { margin-bottom: .7rem; }
.romar-disposal-banner img { height: clamp(300px, 32vw, 460px); object-position: center top; }
.romar-disposal-banner:after { background: #03143730; }
.romar-disposal-banner h2 { font-style: normal; font-weight: 700; font-size: clamp(1.75rem, 3.2vw, 3rem); line-height: 1.2; padding-inline: max(1.5rem, calc((100% - 1000px) / 2)); text-shadow: 0 2px 16px #03143780; }
.footer { background: #151824; }
.footer .mod-menu > li > a { display: block; padding: .5rem .25rem .5rem 1rem; position: relative; text-decoration: none; }
.footer .mod-menu > li > a:before { content: ''; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; transform: translateY(-50%); border-radius: 50%; background: #5361b8; }
main .com-content-article ul:not(.pagination) { padding-left: 0; list-style: none; }
main .com-content-article ul:not(.pagination) > li { position: relative; padding-left: 1.6rem; margin: .6rem 0; }
main .com-content-article ul:not(.pagination) > li:before { content: ''; position: absolute; top: .6em; left: .2rem; width: .45rem; height: .45rem; border-radius: 50%; background: #244576; }
main .com-content-article ul.romar-check-list > li:before { content: '✓'; top: 0; left: 0; width: 1.15rem; height: 1.5rem; background: transparent; color: #288144; font-weight: 700; font-size: 1.1rem; }
.romar-contact-intro { margin: 2.5rem 0 3rem; }
.romar-contact-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 3rem; align-items: start; }
.romar-contact-columns #mod-custom194 h2 { font-size: 20px; font-weight: 700; color: #092834; }
.romar-contact-columns > div > h2 { font-size: 22px; font-style: normal; color: #092834; }
.romar-contact-columns .contact-form fieldset { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1rem 1.5rem; }
.romar-contact-columns .contact-form legend, .romar-contact-columns .field-spacer { display: none; }
.romar-contact-columns .romar-field-subject { grid-column: 1; grid-row: 1; }
.romar-contact-columns .romar-field-name { grid-column: 1; grid-row: 2; }
.romar-contact-columns .romar-field-email { grid-column: 1; grid-row: 3; }
.romar-contact-columns .romar-field-message { grid-column: 2; grid-row: 1 / span 3; display: flex; flex-direction: column; }
.romar-contact-columns .romar-field-message .controls { flex: 1; }
.romar-contact-columns textarea { height: 100%; min-height: 260px; }
.romar-contact-columns .control-group { margin: 0; }
.romar-contact-columns .contact-form > form > .control-group { margin-top: 1.5rem; text-align: right; }
.romar-contact-map { margin-bottom: 2rem; }
.container-banner:has(.mod-breadcrumbs__wrapper) { margin: 0; }
.mod-breadcrumbs__wrapper { background: #103a65; margin: 0; }
.mod-breadcrumbs__wrapper .breadcrumb { background: transparent; color: #fff; padding: 1.15rem max(1.5rem, calc((100% - 1200px) / 2)) !important; border-radius: 0; margin: 0; gap: .35rem 0; }
.mod-breadcrumbs__wrapper a, .mod-breadcrumbs__wrapper .active, .mod-breadcrumbs__wrapper .breadcrumb-item:before { color: #fff; }
@media (min-width: 992px) {
  .romar-nav-menu:not([data-ready]) li:hover > .romar-submenu { display: block; }
}
@media (max-width: 991px) {
  .container-header { padding: 1rem; }
  .container-header .romar-nav-menu { display: block; font-size: 1rem; }
  .container-header .romar-menu-toggle[aria-expanded="false"] + .romar-nav-menu { display: none; }
  .container-header .romar-nav-menu .romar-submenu, .container-header .romar-nav-menu .romar-submenu .romar-submenu { position: static; width: 100%; box-shadow: none; border: 0; padding-left: .75rem; background: #f5f7fb; }
  .container-header .romar-nav-menu .romar-submenu .romar-submenu-toggle span { transform: none; }
}
@media (max-width: 767px) {
  .romar-slide-caption { padding: 2rem 1.5rem 4rem; background: transparent; }
  .romar-slide-caption .row { width: 60%; }
  .romar-slide-caption .heading3 { font-size: clamp(1.5rem, 4.7vw, 2.4rem); }
  .romar-slide:nth-child(-n+2) > img { object-position: 58% center; }
  .romar-collection { padding: 2rem 1.5rem; }
  .romar-collection h2 { font-size: 26px; }
  .romar-disposal-banner img { height: min(260px, 65vw); }
  .romar-contact-columns { grid-template-columns: 1fr; gap: 2rem; }
  .romar-contact-columns .contact-form fieldset { grid-template-columns: 1fr; }
  .romar-contact-columns .contact-form .control-group { grid-column: auto; grid-row: auto; }
}

/* Modern service cards: original photographs and destinations, without faded edges. */
.romar-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; padding: clamp(2rem, 5vw, 5rem) max(1.5rem, calc((100% - 1200px) / 2)); background: #f5f7fa; }
.romar-service { display: flex; flex-direction: column; min-width: 0; margin: 0; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 20px; background: #fff; box-shadow: 0 8px 28px #103a6508; transition: box-shadow .2s ease, border-color .2s ease; }
.romar-service:hover, .romar-service:focus-within { border-color: #b6c5db; box-shadow: 0 14px 36px #103a6517; }
.romar-service-media { overflow: hidden; background: #e2e8f0; }
.com-content-article .romar-service-media > img { display: block; width: 100%; height: auto; aspect-ratio: 960 / 398; object-fit: cover; }
.romar-service .romar-section-content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.75rem 2rem 2rem; background: #fff; }
.romar-service h2 { margin: 0 0 1.5rem; color: #103a65; font-style: normal; font-weight: 700; font-size: clamp(1.5rem, 2.1vw, 2rem); line-height: 1.2; }
.romar-service .romar-button { margin-top: auto; min-height: 46px; padding: .7rem 1.1rem; border-radius: 9px; font-style: normal; font-weight: 700; font-size: .9rem; gap: 1.5rem; }
.romar-service .romar-button span { font-size: 1.2rem; line-height: 1; }
/* Keep the shared disposal photograph flush with the viewport and footer. */
.site-grid .container-bottom-b:has(.romar-disposal-banner) { grid-column: full-start / full-end; padding: 0; margin: 0; }
.container-bottom-b:has(.romar-disposal-banner) > * { margin: 0; width: 100%; }
.site-grid:has(.romar-disposal-banner) + footer { margin-top: 0; }
body.itemid-557 .com-content-article__body img.img-toRight { margin: .25rem 0 2rem 2.5rem; border-radius: 16px; max-width: 45%; }
body.itemid-557 .com-content-article__body { display: flow-root; padding-block: 1rem 2.5rem; }
@media (max-width: 767px) {
  .romar-services { grid-template-columns: 1fr; gap: 1.5rem; }
  .romar-service .romar-section-content { padding: 1.5rem; }
  body.itemid-557 .com-content-article__body img.img-toRight { float: none !important; display: block; width: 100%; max-width: 453px; height: auto; margin: .75rem auto 1.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .romar-service { transition: none; }
}
/* Essential-cookie information and an optional, click-to-load map. */
.romar-cookie-notice[hidden], .romar-map-placeholder [hidden] { display: none !important; }
.romar-cookie-notice { position: fixed; z-index: 1100; right: 1.25rem; bottom: 1.25rem; width: min(680px, calc(100% - 2.5rem)); max-height: calc(100dvh - 2.5rem); overflow-y: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1.5rem; padding: 1.5rem; color: #103a65; background: #fff; border: 1px solid #dce5ed; border-radius: 16px; box-shadow: 0 12px 48px #103a6533; }
.romar-cookie-notice h2 { margin: 0 0 .5rem; color: #103a65; font-size: 1.25rem; font-style: normal; font-weight: 700; }
.romar-cookie-notice p { margin: 0 0 .65rem; font-size: .875rem; line-height: 1.55; }
.romar-cookie-notice a { color: #030cb3; text-underline-offset: .2em; }
.romar-cookie-actions { display: flex; flex-direction: column-reverse; gap: .65rem; min-width: 180px; }
.romar-cookie-choice { min-height: 44px; padding: .7rem 1rem; border: 2px solid #030cb3; border-radius: 8px; font-weight: 700; }
.romar-cookie-all { background: #030cb3; color: #fff; }
.romar-cookie-all:hover { background: #103a65; border-color: #103a65; }
.romar-cookie-necessary { background: #fff; color: #030cb3; }
.romar-cookie-necessary:hover { background: #edf0ff; }
.romar-cookie-reopen { padding: .6rem; min-height: 44px; border: 0; background: transparent; color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.romar-cookie-notice :focus-visible, .romar-cookie-reopen:focus-visible, .romar-cookie-footer-links a:focus-visible { outline: 3px solid #b17a00; outline-offset: 3px; }
.footer .romar-cookie-footer-links { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: .35rem; font-size: .875rem; }
.footer .romar-cookie-footer-links a, .footer .romar-cookie-footer-links button { min-height: 44px; display: inline-flex; align-items: center; margin: 0; padding-inline: .3rem; white-space: nowrap; }
.romar-map-placeholder { padding: clamp(1.25rem, 4vw, 2.5rem); margin: 1.25rem 0; background: #f2f6fb; border: 1px solid #dce5ed; border-radius: 16px; }
.romar-map-explanation { max-width: 650px; }
.romar-map-explanation h3 { color: #103a65; font-style: normal; font-weight: 700; font-size: 1.35rem; }
.romar-map-explanation p { line-height: 1.7; }
.romar-map-placeholder .romar-button { font-style: normal; font-weight: 700; border-radius: 8px; min-height: 44px; white-space: normal; text-align: left; }
.romar-map-placeholder iframe { margin-top: 0; }
.romar-cookie-table { overflow-x: auto; margin-block: 1.5rem; }
.romar-cookie-table th, .romar-cookie-table td { padding: .8rem; border: 1px solid #dce5ed; vertical-align: top; }
.com-content-category-blog .pagination { flex-wrap: wrap; row-gap: .5rem; }
@media (max-width: 599px) {
  .romar-cookie-notice { right: .75rem; bottom: .75rem; width: calc(100% - 1.5rem); padding: 1.25rem; grid-template-columns: 1fr; gap: 1rem; }
  .romar-cookie-actions { min-width: 0; }
}

/* Typography rhythm for long-form content and the hero. */
main .com-content-article__body h1 { margin-bottom: 1.5rem; }
main .com-content-article__body h2 { margin-top: 2rem; margin-bottom: 1rem; }
.romar-home .romar-service h2, .romar-home .romar-collection h2 { margin-top: 0; }
.romar-slide-caption .heading3 { letter-spacing: -.03em; line-height: 1.12; font-weight: 500; }
.romar-slide-caption strong { font-weight: 800; }
.romar-intro p, main p.romar-prose { line-height: 1.8; }
