/* Approved reference 14: composition, not merely a palette swap. */
:root { --egn-blue:#061956; --egn-blue-bright:#1b5f9e; --egn-red:#dc1533; --egn-yellow:#ffda38; --egn-ink:#08265d; }
.egn-home { --egn-blue:#061956; --egn-red:#dc1533; --egn-yellow:#ffda38; background:#f8fafc; font-family:"Roboto Condensed",Arial,sans-serif; }
.egn-home .elementor-widget-heading h1,
.egn-home .elementor-widget-heading h2,
.egn-home .elementor-widget-heading h3,
.egn-home .elementor-button,
.egn-home .elementor-widget-text-editor,
.egn-home .elementor-widget-text-editor p { font-family:"Roboto Condensed",Arial,sans-serif; }
/* Approved collage: the smaller original photo overlaps in the foreground. */
.egn-home .egn-hero { grid-template-columns:minmax(0,.38fr) minmax(0,.62fr); min-height:0; padding:20px 0 18px; gap:24px; align-items:start; }
.egn-home .egn-hero-copy { padding-top:32px !important; }
.egn-home .egn-hero h1 { max-width:100%; font-size:clamp(78px,9vw,126px); line-height:.87; color:var(--egn-blue); }
.egn-home .egn-hero-copy .elementor-widget-text-editor { width:auto; max-width:100%; margin:30px 0 0; color:var(--egn-blue); font-size:clamp(25px,2.4vw,34px); transform:none; }
.egn-home .egn-hero-copy .elementor-widget-text-editor::before { content:""; display:block; width:112px; height:9px; margin:0 0 20px; background:var(--egn-yellow); }
.egn-home .egn-hero-copy .elementor-widget-text-editor::after { display:none; }
.egn-home .egn-photo-wall { display:grid !important; grid-template-columns:minmax(0,2.12fr) minmax(0,1fr); grid-template-areas: "main meal"; align-items:start; gap:12px; min-height:0; margin:0; padding:10px 0 0; }
.egn-home .egn-photo-wall .elementor-widget-image { position:relative; inset:auto; width:100%; max-width:none; min-width:0; height:auto; margin:0; padding:9px; background:#fff; box-shadow:0 4px 14px rgb(6 25 86 / 15%); }
.egn-home .egn-photo-wall .egn-photo-main { grid-area:main; z-index:2; transform:rotate(3deg); }
.egn-home .egn-photo-wall .egn-photo-meal { grid-area:meal; z-index:4; width:130%; max-width:none !important; justify-self:start; margin-left:-25%; margin-top:clamp(55px,6.5vw,94px); transform:rotate(-4deg); }
.egn-home .egn-photo-wall .egn-photo-main img,
.egn-home .egn-photo-wall .egn-photo-meal img { display:block; width:100%; height: auto; max-height:none; object-fit: contain; }
.egn-home .egn-photo-wall .egn-sticker,
.egn-home .egn-home-note { display: none; }
.egn-home .egn-photo-wall::before,
.egn-home .egn-photo-wall::after { display:none; }
.egn-home .egn-group-zone { min-height:0; padding:26px 0 18px; background:transparent; }
.egn-home .egn-group-zone > .egn-shell { padding:32px 5% 30px; background: #1b5f9e; border-radius:9px; box-shadow:0 4px 14px rgb(6 25 86 / 8%); }
.egn-home .egn-group-zone h2 { margin:0 0 24px; color:#fff; font-size:clamp(56px,7vw,98px); line-height:.9; text-align:left; white-space:normal; }
.egn-home .egn-group-zone h2::after { content:""; display:block; width:108px; height:9px; margin-top:18px; background:var(--egn-yellow); }
.egn-home .egn-group-cards { gap:36px; }
.egn-home .egn-group-card { min-height:270px; padding:0; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); column-gap:16px; row-gap:12px; }
.egn-home .egn-group-card + .egn-group-card { border-left:1px solid rgb(255 255 255 / 48%); padding-left:36px; }
.egn-home .egn-group-card h3 { color:#fff; font-size:clamp(35px,3.75vw,52px); line-height:1; overflow-wrap:anywhere; }
.egn-home .egn-group-label { font-size:inherit; line-height:inherit; }
.egn-home .egn-group-card .elementor-widget-text-editor { color:#fff; font-size:clamp(19px,1.85vw,26px); line-height:1.16; }
.egn-home .egn-group-zone .widget-image-caption { color:#fff; }
.egn-home .egn-group-card .elementor-button { min-height:44px; padding:10px 16px; border:1px solid rgb(255 255 255 / 85%); background:transparent !important; color:#fff !important; font-size:clamp(16px,1.55vw,22px); white-space:normal; }
.egn-home .egn-group-card .elementor-button:hover,
.egn-home .egn-group-card .elementor-button:focus-visible { background:#fff !important; color:var(--egn-blue) !important; }
.egn-home .egn-experiences { min-height:0; padding:28px 0 20px; }
/* One heading system, including the explicitly retained kings. */
.egn-home .egn-experiences h2,
.egn-home .egn-flat-home-module h2,
.egn-home .egn-home-kings-title .elementor-heading-title {
  font-size: clamp(38px, 4.55vw, 62px);
  color: var(--egn-blue);
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-weight:900;
  letter-spacing:-.045em;
  line-height:.98;
  margin:0 0 20px;
}
.egn-home .egn-experiences h2::after,
.egn-home .egn-flat-home-module h2::after,
.egn-home .egn-home-kings-title .elementor-heading-title::after { content:""; display:block; width:92px; height:8px; margin-top:16px; background:var(--egn-yellow); }
.egn-home .egn-experiences .elementor-widget-text-editor { font-size:clamp(19px,1.9vw,27px); }
.egn-home .egn-activity h3 { font-size:clamp(26px,2.8vw,40px); }
.egn-home .egn-activity h3::before { width:132px; height:132px; margin-bottom:10px; background-color:#e0f0fc; background-size:72%; }
.egn-home .egn-activity h3::after { width:62px; height:6px; margin-top:9px; background:var(--egn-red); }
.egn-home .egn-flat-home-module { padding-block:24px 30px; gap:20px; }
.egn-home .egn-flat-home-module .egn-news-grid { grid-template-columns: 1fr; gap:16px; }
.egn-home .egn-flat-home-module .egn-news-card { padding:22px 28px; border-top:0; background:#fff; box-shadow:0 3px 12px rgb(6 25 86 / 7%); }
.egn-home .egn-flat-home-module .egn-news-card:has(.egn-news-card__image) { display:grid; grid-template-columns:180px minmax(0,1fr); column-gap:24px; align-items:start; }
.egn-home .egn-flat-home-module .egn-news-card__image { grid-column:1; grid-row:1 / 5; margin:0; width:180px; align-self:center; }
.egn-home .egn-flat-home-module .egn-news-card__image img { width:100%; height:160px; object-fit:contain; background:#f8fafc; }
.egn-home .egn-flat-home-module .egn-news-card:has(.egn-news-card__image) > :not(.egn-news-card__image) { grid-column:2; }
.egn-home .egn-flat-home-module .egn-news-card h3 { font-family:"Roboto Condensed",Arial,sans-serif; font-size:clamp(25px,2.5vw,35px); font-weight:900; color:var(--egn-blue); margin:6px 0; }
.egn-home .egn-flat-home-module .egn-news-card p { margin-bottom:8px; }
.egn-home .egn-flat-home-module .egn-news-card .egn-text-link { padding-top:0; color:var(--egn-red); }
.egn-home .egn-flat-home-module .egn-news-card .egn-text-link::after { content:" →"; }
.egn-home .egn-home-kings-title { margin-top:20px; }
.egn-home .egn-home-king-card { border-top:0; background:#fff; box-shadow:0 3px 12px rgb(6 25 86 / 7%); }
.egn-home .egn-home-king-card h3 { color: var(--egn-blue); font-family:"Roboto Condensed",Arial,sans-serif; font-weight:900; }
.egn-home .egn-home-king-photo img { object-fit: contain; object-position:center; }
.egn-home .egn-cta { margin:0; padding:10px 0 22px; background: transparent; color:var(--egn-blue); }
.egn-home .egn-cta-inner { min-height:200px; padding:24px 3.5%; grid-template-columns:minmax(0,1.1fr) auto minmax(190px,.95fr); gap:28px; border-radius:9px; background: #e0f0fc; }
.egn-home .egn-cta .egn-cta-side { display:none; }
.egn-home .egn-cta h2 { font-size:clamp(44px,4.55vw,64px); line-height:.9; color:var(--egn-blue); }
.egn-home .egn-cta h2::after { content:""; display:block; width:92px; height:8px; margin-top:16px; background:var(--egn-yellow); }
/* Reuse the original group artwork, never ImageGen heraldry. */
.egn-home .egn-cta-inner::after { content:""; display:block; width:100%; height:180px; background-image:url("/wp-content/uploads/egn-live-20261008/reference-wild-08d2003dfbc729ec.png"),url("/wp-content/uploads/egn-live-20261008/reference-cool-95942c29ef77f783.png"); background-size:52% auto,auto 100%; background-position:left center,right center; background-repeat:no-repeat; }
.egn-home .egn-cta .elementor-button { min-height:44px; padding:13px 26px; background:var(--egn-red) !important; color:#fff !important; font-size:clamp(18px,1.8vw,25px); white-space:normal; }
.egn-home .egn-cta .elementor-button:hover,
.egn-home .egn-cta .elementor-button:focus-visible { background:var(--egn-blue) !important; }
.egn-interior-hero { background:linear-gradient(115deg,#0b3778 0 72%,#c92c42 72% 100%); }
@media (max-width: 1180px) {
  .egn-home .egn-hero h1 { font-size:clamp(58px,8.5vw,106px); }
  .egn-home .egn-group-cards { gap:24px; }
  .egn-home .egn-group-card + .egn-group-card { padding-left:24px; }
  .egn-home .egn-group-card h3 { font-size:clamp(30px,3.65vw,43px); }
  .egn-home .egn-group-card .elementor-button { font-size:17px; padding-inline:10px; }
  .egn-home .egn-cta-inner { grid-template-columns:minmax(0,1fr) auto minmax(150px,.7fr); gap:20px; }
  .egn-home .egn-cta-inner::after { height:150px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .egn-home .egn-hero { gap:20px; }
  .egn-home .egn-photo-wall { gap:10px; padding-top:10px; }
  .egn-home .egn-group-zone > .egn-shell { padding:28px 24px; }
  .egn-home .egn-group-card { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); min-height:245px; }
  .egn-home .egn-group-card .elementor-widget-text-editor { font-size:19px; }
  .egn-home .egn-activity h3::before { width:104px; height:104px; }
  .egn-home .egn-activity h3 { font-size:25px; }
  .egn-home .egn-cta-inner { grid-template-columns:minmax(0,1fr) auto; }
  .egn-home .egn-cta-inner::after { display:none; }
}
@media (max-width: 767px) {
  .egn-home .egn-hero { display:block !important; padding:20px 0 16px; }
  .egn-home .egn-hero-copy { padding-top:0 !important; }
  .egn-home .egn-hero h1 { font-size:clamp(61px,19vw,100px); }
  .egn-home .egn-hero-copy .elementor-widget-text-editor { margin:22px 0 24px; font-size:26px; }
  .egn-home .egn-hero-copy .elementor-widget-text-editor::before { width:90px; height:7px; margin-bottom:16px; }
  .egn-home .egn-photo-wall { grid-template-columns:1fr; grid-template-areas: "main" "meal"; gap:16px; padding:8px 4px 0; }
  .egn-home .egn-photo-wall .egn-photo-main { width:100%; transform:rotate(2deg); }
  .egn-home .egn-photo-wall .egn-photo-meal { width:65%; margin-left:0; margin-top:-44px; justify-self:end; transform:rotate(-3deg); }
  .egn-home .egn-group-zone { padding:22px 0 16px; }
  .egn-home .egn-group-zone > .egn-shell { padding:26px 18px; }
  .egn-home .egn-group-zone h2 { font-size:clamp(46px,12vw,70px); }
  .egn-home .egn-group-zone h2::after { width:80px; height:7px; }
  .egn-home .egn-group-cards { grid-template-columns:1fr; gap:12px; }
  .egn-home .egn-group-card { min-height:0; padding:18px 0; }
  .egn-home .egn-group-card + .egn-group-card { padding-left:0; border-left:0; border-top:1px solid rgb(255 255 255 / 48%); }
  .egn-home .egn-group-card h3 { font-size:clamp(29px,8vw,42px); }
  .egn-home .egn-group-card .elementor-widget-text-editor { font-size:19px; }
  .egn-home .egn-experiences { padding:24px 0 12px; }
  .egn-home .egn-experiences h2,
  .egn-home .egn-flat-home-module h2,
  .egn-home .egn-home-kings-title .elementor-heading-title { font-size:clamp(34px,9.6vw,50px); }
  .egn-home .egn-activity h3 { font-size:clamp(19px,5.2vw,29px); }
  .egn-home .egn-activity h3::before { width:min(100%,92px); height:92px; }
  .egn-home .egn-activity h3::after { width:44px; }
  .egn-home .egn-flat-home-module { padding-block:22px; }
  .egn-home .egn-flat-home-module .egn-news-card { padding:20px; }
  .egn-home .egn-flat-home-module .egn-news-card:has(.egn-news-card__image) { display:flex; }
  .egn-home .egn-flat-home-module .egn-news-card__image { width:100%; max-width:340px; margin:0 0 16px; align-self:start; }
  .egn-home .egn-flat-home-module .egn-news-card__image img { height:180px; }
  .egn-home .egn-cta-inner { grid-template-columns:1fr; padding:26px 20px; gap:20px; }
  .egn-home .egn-cta h2 { font-size:clamp(44px,11.5vw,64px); }
  .egn-home .egn-cta h2 br { display:revert; }
  .egn-home .egn-cta .elementor-button { width:100%; }
  .egn-home .egn-cta-inner::after { display:block; height:160px; width:min(100%,310px); justify-self:center; }
  .egn-interior-hero { background:linear-gradient(155deg,#0b3778 0 80%,#c92c42 80% 100%); }
}
@media (max-width: 340px) {
  .egn-home .egn-activity h3 { font-size:17px; }
}
