/* Locally hosted Inter from the supplied font.zip — no Google Fonts request. */
@font-face { font-family:"Inter RP"; src:url("../fonts/ExtraLight.woff2") format("woff2"); font-style:normal; font-weight:200; font-display:swap; }
@font-face { font-family:"Inter RP"; src:url("../fonts/Light.woff2") format("woff2"); font-style:normal; font-weight:300; font-display:swap; }
@font-face { font-family:"Inter RP"; src:url("../fonts/Regular.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Inter RP"; src:url("../fonts/Bold.woff2") format("woff2"); font-style:normal; font-weight:700; font-display:swap; }

:root {
  --rp-orange: #ec6b36;
  --rp-green: #1d7430;
  --rp-grey: #86888a;
  --rp-dark: #212529;
  --rp-border-radius: 1rem;
  --rp-shell: 1140px;
}
* { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; font-family: "Inter RP", Arial, Helvetica, sans-serif; color: var(--rp-dark); background: #fff; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Header / Navigation – anchored to the same shell as content */
.rp-header { background:#fff; }
.rp-header-inner { width:min(var(--rp-shell), calc(100% - 32px)); margin:0 auto; min-height:126px; display:flex; align-items:flex-start; padding-top:24px; gap:24px; }
.rp-logo { flex:0 0 auto; display:block; margin-top:5px; }
.rp-navigation-wrap { margin-left:auto; display:flex; align-items:flex-start; gap:24px; }
.rp-navigation ul { list-style:none; margin:0; padding:0; }
.rp-menu { display:flex; align-items:flex-start; gap:20px; }
.rp-menu > li { position:relative; padding:0; }
.rp-menu a { display:block; position:relative; text-decoration:none; color:var(--rp-grey); font-size:14px; line-height:1.35; white-space:nowrap; }
.rp-menu > li > a { padding:14px 2px 12px; }
.rp-menu > li.current-menu-item > a,
.rp-menu > li.current-menu-ancestor > a { color:var(--rp-orange); }
/* Half circles hug the header's top edge: always for Was?, additionally for the active page. */
.rp-menu > li.menu-item-has-children > a::before,
.rp-menu > li.current-menu-item > a::before,
.rp-menu > li.current_page_item > a::before,
.rp-menu > li.current-menu-ancestor:not(.menu-item-has-children) > a::before {
  content:""; position:absolute; top:-24px; left:50%; transform:translateX(-50%);
  width:28px; height:14px; background:var(--rp-orange); border-radius:0 0 28px 28px;
}
.rp-menu > li.menu-item-has-children { margin-right:95px; }
.rp-menu > li.menu-item-has-children > a { color:var(--rp-grey); font-weight:400; }
/* A persistently visible, vertical submenu directly beneath Was?. */
.rp-menu > li.menu-item-has-children > .sub-menu { display:flex; flex-direction:column; align-items:flex-start; position:absolute; z-index:3; top:41px; left:0; gap:2px; width:max-content; min-width:185px; }
.rp-menu .sub-menu li,.rp-menu .sub-menu li + li { display:block; margin:0; padding:0; width:100%; }
.rp-menu .sub-menu a { color:var(--rp-dark); font-size:13px; line-height:1.3; padding:0; white-space:nowrap; }
.rp-menu .sub-menu .current-menu-item > a { color:var(--rp-green); font-weight:700; }
.rp-languages { display:flex; gap:4px; padding-top:11px; flex:0 0 auto; }
.rp-languages a,.rp-languages span { display:block; line-height:0; }
.rp-languages .is-inactive { cursor:default; }
.rp-menu-toggle { display:none; margin-left:auto; width:42px; height:38px; padding:8px; border:1px solid #ddd; border-radius:8px; background:#fff; }
.rp-menu-toggle > span:not(.screen-reader-text) { display:block; height:2px; background:var(--rp-grey); margin:4px 0; }

/* Main card */
.rp-site-main { width:min(var(--rp-shell), calc(100% - 32px)); margin:0 auto; }
.rp-card { border:1px solid var(--rp-orange); border-radius:var(--rp-border-radius); overflow:hidden; min-height:430px; }
.rp-card h1 { margin:0 0 22px; font-weight:700; line-height:1.12; }
.rp-entry-content { font-size:14px; line-height:1.62; }
.rp-entry-content > *:first-child { margin-top:0; }
.rp-entry-content > *:last-child { margin-bottom:0; }
.rp-entry-content p { margin:0 0 1.1rem; }
.rp-entry-content > p:first-child { font-size:18px; line-height:1.55; font-weight:300; }
.rp-entry-content h2 { font-weight:700; font-size:26px; margin:1.3rem 0 .5rem; }
.rp-entry-content h3 { font-weight:700; font-size:14px; margin:1.3rem 0 .3rem; }
.rp-entry-content .wp-block-columns { margin-top:2rem; margin-bottom:2rem; align-items:center; }
.rp-entry-content .wp-block-image { margin:0; }

/* Homepage */
.rp-home { display:grid; grid-template-columns:24% minmax(0, 52%) 24%; align-items:start; }
.rp-home-decoration { align-self:start; }
.rp-home-decoration img { display:block; width:100%; }
.rp-home-content { padding:82px 22px 50px 26px; }
.rp-home-content h1 { color:var(--rp-orange); font-size:clamp(32px, 3.5vw, 45px); font-weight:200; }
.rp-home-portrait { align-self:start; padding-top:28px; text-align:center; }
.rp-home-portrait img { display:block; width:min(224px, 100%); margin:0 auto; }

/* Service pages */
.rp-service { display:grid; grid-template-columns:minmax(0, 78%) 22%; }
.rp-service-content { padding:72px 10px 52px 72px; max-width:940px; }
.rp-service h1 { color:var(--rp-green); font-size:26px; font-weight:700; }
.rp-service .rp-entry-content h2,.rp-service .rp-entry-content h3 { color:var(--rp-green); }
.rp-service-decoration { align-self:start; justify-self:end; }
.rp-service-decoration img { display:block; width:100%; max-height:620px; object-fit:contain; object-position:right top; }

/* Side motif / generic */
.rp-side-motif { display:grid; grid-template-columns:10% minmax(0, 1fr); }
.rp-side-decoration { align-self:start; }
.rp-side-decoration img { display:block; width:100%; }
.rp-side-content { padding:66px 72px 56px 48px; max-width:1030px; }
.rp-side-content h1 { color:var(--rp-orange); font-size:26px; font-weight:700; }
.rp-side-content .rp-entry-content h2,.rp-side-content .rp-entry-content h3 { color:var(--rp-orange); }
.rp-generic-content { padding:66px 72px 56px; max-width:980px; }
.rp-generic h1 { color:var(--rp-grey); font-size:26px; font-weight:700; }

/* Contact */
.rp-contact { display:block; }
.rp-contact-top { display:grid; grid-template-columns:10% minmax(0, 1fr); }
.rp-contact .rp-side-content { padding-bottom:22px; }
.rp-contact-dots { width:75%; margin:24px auto 46px; }
.rp-contact-dots img { display:block; width:100%; }

/* Pattern helpers */
.rp-pattern-row { gap:36px; }
.rp-pattern-row .wp-block-column:first-child { flex-basis:38%; }
.rp-pattern-row .wp-block-column:last-child { flex-basis:62%; }
.rp-branch-grid { display:grid!important; grid-template-columns:repeat(7, 1fr); gap:20px 26px!important; }
.rp-branch-grid .wp-block-group { text-align:center; min-width:0; }
.rp-branch-grid .wp-block-image img { width:64px; height:64px; object-fit:contain; }
.rp-branch-grid p { font-size:13px!important; margin:.45rem 0 0!important; }

/* Footer */
.rp-footer { text-align:center; color:var(--rp-grey); font-size:12px; }
.rp-footer-inner { width:min(var(--rp-shell), calc(100% - 32px)); margin:0 auto; padding:10px 0 18px; }
.rp-footer-menu { list-style:none; margin:0 0 3px; padding:0; display:flex; justify-content:center; gap:15px; }
.rp-footer-menu a { text-decoration:none; color:#111; }
.rp-footer-menu a:hover,.rp-footer-menu .current-menu-item > a,.rp-footer-menu .current_page_item > a { font-weight:700; }
.rp-footer p { margin:0; }

@media (max-width: 1100px) {
  .rp-menu { gap:13px; }
  .rp-menu > li.menu-item-has-children { margin-right:95px; }
  .rp-menu .sub-menu a { font-size:12px; }
}
@media (max-width: 1050px) {
  .rp-header-inner { min-height:auto; align-items:center; padding:18px 0; flex-wrap:wrap; }
  .rp-logo img { width:170px; }
  .rp-menu-toggle { display:block; }
  .rp-navigation-wrap { display:none; width:100%; margin-left:0; padding:8px 0 14px; border-top:1px solid #eee; }
  .rp-navigation-wrap.is-open { display:flex; flex-direction:column; gap:14px; }
  .rp-menu { display:block; }
  .rp-menu > li { margin:0!important; padding:0; }
  .rp-menu > li > a { padding:8px 0; font-size:15px; }
  .rp-menu > li > a::before { display:none!important; }
  .rp-menu > li.menu-item-has-children > .sub-menu { position:static; display:flex; flex-direction:column; width:auto; padding:0 0 8px 18px; min-width:0; }
  .rp-menu .sub-menu li + li { margin-left:0; }
  .rp-menu .sub-menu a { padding:5px 0; font-size:13px; }
  .rp-languages { padding-top:0; }
  .rp-card { min-height:0; }
  .rp-home { grid-template-columns:28% 1fr; }
  .rp-home-content { padding:45px 28px 35px; }
  .rp-home-portrait { grid-column:2; padding:0 28px 28px; text-align:left; }
  .rp-home-portrait img { width:160px; margin:0; }
  .rp-service { grid-template-columns:1fr 18%; }
  .rp-service-content { padding:48px 20px 42px 48px; }
  .rp-side-content,.rp-generic-content { padding:48px 38px; }
  .rp-branch-grid { grid-template-columns:repeat(4, 1fr); }
}
@media (max-width: 575.98px) {
  .rp-header-inner,.rp-site-main,.rp-footer-inner { width:min(100% - 22px, var(--rp-shell)); }
  .rp-card { border-radius:12px; }
  .rp-home,.rp-service,.rp-side-motif,.rp-contact-top { grid-template-columns:1fr; }
  .rp-home-decoration { width:42%; }
  .rp-home-content { padding:22px 24px 28px; }
  .rp-home-portrait { grid-column:1; padding:0 24px 24px; }
  .rp-service-content { padding:34px 24px 12px; }
  .rp-service-decoration { width:38%; margin-left:auto; }
  .rp-side-decoration { width:20%; }
  .rp-side-content,.rp-generic-content { padding:22px 24px 34px; }
  .rp-contact .rp-side-content { padding-top:8px; }
  .rp-contact-dots { width:82%; margin:15px auto 30px; }
  .rp-entry-content .wp-block-columns { gap:18px; }
  .rp-branch-grid { grid-template-columns:repeat(2, 1fr); }
  .rp-footer-menu { flex-wrap:wrap; }
}
