/* ==========================================================
   Pannonia Hem v1.6 — design system
   ========================================================== */
:root{
  --green-950:#173f34;
  --green-900:#20513d;
  --green-800:#2f6f45;
  --green-700:#3f844d;
  --green-600:#57985d;
  --green-200:#dcead7;
  --green-100:#eef5eb;
  --green-050:#f6faf3;
  --cream:#fbfaf4;
  --paper:#fffefa;
  --ink:#18312b;
  --ink-2:#465b54;
  --muted:#72817c;
  --line:#e3e8de;
  --white:#fff;
  --shadow:0 18px 50px rgba(31,74,52,.09);
  --shadow-sm:0 8px 24px rgba(31,74,52,.07);
  --radius:22px;
  --radius-sm:15px;
  --container:1180px;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --hand:'Segoe Print','Bradley Hand','Comic Sans MS',cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:.07em;text-underline-offset:.17em;transition:color .22s ease,opacity .22s ease}
button,input,textarea,select{font:inherit}
h1,h2,h3,h4{margin:0 0 .55em;font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.024em;color:var(--ink)}
h1{font-size:clamp(2.7rem,5.1vw,5.05rem)}
h2{font-size:clamp(2rem,3.3vw,3.35rem)}
h3{font-size:clamp(1.28rem,2vw,1.65rem)}
p{margin:0 0 1.1em}
ul{margin-top:0}
.container{width:min(calc(100% - 44px),var(--container));margin-inline:auto}
.narrow{width:min(820px,100%);margin-inline:auto}
.section{position:relative;padding:clamp(68px,8vw,108px) 0}
.section--soft{background:linear-gradient(180deg,var(--green-050),#f3f7ef)}
.section--cream{background:var(--cream)}
.section--compact{padding:54px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--green-700);margin-bottom:12px}
.lead{font-size:clamp(1.12rem,1.7vw,1.35rem);line-height:1.55;color:var(--ink-2);max-width:730px}
.lead-small{font-size:1.16rem;color:var(--ink-2)}
.small{font-size:.9rem;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:-64px;background:#fff;padding:11px 16px;z-index:1000;border-radius:8px}.skip-link:focus{top:16px}

/* Header */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,252,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(35,79,55,.08)}
.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;text-decoration:none;min-width:190px}
.brand-logo{width:190px;height:62px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;gap:25px;font-size:.91rem;font-weight:650}
.site-nav>a{position:relative;text-decoration:none;white-space:nowrap;transition:color .22s ease,transform .22s cubic-bezier(.2,.8,.2,1),background-color .22s ease,box-shadow .22s ease}
.site-nav>a:not(.nav-cta):not(.language-switch)::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--green-700);transition:right .2s ease}
.site-nav>a:hover::after,.site-nav>a[aria-current="page"]::after{right:0}
.nav-cta{background:var(--green-800);color:#fff!important;padding:10px 19px;border-radius:999px;box-shadow:var(--shadow-sm)}
.nav-cta:hover{background:var(--green-900)}
.language-switch{font-weight:800;color:var(--green-950);padding-left:6px}
.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

/* Buttons */
.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 23px;border:1px solid transparent;border-radius:999px;font-weight:750;text-decoration:none;transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
.btn::after{content:'→';font-size:1.05em;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.btn--primary{background:var(--green-800);color:#fff}.btn--primary:hover{background:var(--green-900)}
.btn--secondary{border-color:var(--green-700);background:rgba(255,255,255,.72);color:var(--green-950)}.btn--secondary:hover{background:var(--green-100);border-color:var(--green-900);color:var(--green-950)}
.text-link{display:inline-block;font-weight:760;color:var(--green-800);text-decoration:none;transition:color .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.text-link:hover{color:var(--green-950);text-decoration:none}

/* Home hero */
.home-hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#fffef8 0 42%,#f0f6ec 42% 100%)}
.home-hero::before{content:"";position:absolute;width:245px;height:310px;left:-38px;top:-22px;background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;opacity:.58;pointer-events:none}
.home-hero__grid{display:grid;grid-template-columns:42% 58%;align-items:center;min-height:430px}
.home-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:54px 46px 54px 0;position:relative;z-index:2}
.home-hero__copy h1{font-size:clamp(3rem,4.7vw,4.85rem);max-width:670px}
.home-hero__copy .lead{font-size:1.12rem;max-width:610px}
.home-hero__media{position:relative;overflow:hidden;align-self:center;width:100%;aspect-ratio:1304/690;background:#eef4e9}
.home-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.012);transform-origin:center}
.home-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,254,248,.24),transparent 26%)}
.hand-note{font-family:var(--hand);font-size:clamp(1.05rem,1.6vw,1.42rem);font-style:italic;color:#5d6f66;transform:rotate(-2deg)}
.home-hero__note{margin-top:22px}
.home-hero__media .photo-note{position:absolute;right:28px;bottom:34px;color:#fff;z-index:2;text-align:right;text-shadow:0 2px 13px rgba(0,0,0,.34);font-size:1.32rem}

/* Feature strip */
.feature-strip{background:#fff;padding:10px 0;border-bottom:1px solid var(--line)}
.feature-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.feature-mini{padding:27px 18px 24px;text-align:center;background:linear-gradient(180deg,#fbfdf9,#f2f7ef);border:1px solid #edf1e9;border-radius:16px}
.feature-mini__icon{width:48px;height:48px;margin:0 auto 10px;display:grid;place-items:center;color:var(--green-800)}
.feature-mini__icon svg{width:37px;height:37px;stroke:currentColor;fill:none;stroke-width:1.8}
.feature-mini h3{font-size:1.27rem;margin-bottom:7px}.feature-mini p{font-size:.92rem;line-height:1.45;color:var(--ink-2);margin:0}

/* About home */
.home-about{position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0 48%,#f4f8f0 48%)}
.home-about::after{content:"";position:absolute;width:190px;height:260px;right:-22px;top:-36px;background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;opacity:.34;transform:scaleX(-1)}
.home-about__grid{display:grid;grid-template-columns:44% 56%;min-height:360px;align-items:center}
.home-about__copy{padding:48px 44px 48px 0;position:relative;z-index:2}.home-about__copy h2{font-size:clamp(2rem,3.2vw,3.2rem)}
.home-about__visual{height:100%;min-height:360px;position:relative;display:grid;grid-template-columns:62% 38%;align-items:stretch}
.home-about__visual img{width:100%;height:100%;object-fit:cover}
.home-about__quote{display:flex;align-items:center;justify-content:center;padding:34px;background:linear-gradient(135deg,#f7fbf5,#fff);font:italic 1.33rem/1.45 var(--hand);color:#607366;text-align:center}

/* testimonials */
.testimonials{background:linear-gradient(180deg,#f5f9f1,#eef5e9);padding:46px 0 54px;position:relative;overflow:hidden}
.testimonials::before{content:"";position:absolute;width:180px;height:240px;left:-45px;bottom:-60px;background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;opacity:.44}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading-row h2{font-size:clamp(1.8rem,2.6vw,2.55rem);margin:0}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
.quote-card{background:rgba(255,255,255,.84);border:1px solid #e4eadf;border-radius:14px;padding:25px 26px 22px;box-shadow:0 8px 22px rgba(31,74,52,.035)}
.quote-card blockquote{margin:0 0 15px;font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.55}.quote-card blockquote::before{content:'“';font-size:2.8rem;line-height:.5;color:#c6d7bf;margin-right:7px;vertical-align:-.25em}.quote-card cite{font-style:normal;font-size:.88rem;color:var(--ink-2)}

/* Seniorliv cards */
.seniorlife-preview{padding:56px 0 62px;background:#fff}.seniorlife-preview h2{font-size:clamp(1.95rem,2.7vw,2.7rem)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.article-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 6px 22px rgba(31,74,52,.035);display:flex;flex-direction:column}
.article-card>img{width:100%;aspect-ratio:16/7;object-fit:cover;background:#eef2eb}
.article-card>div{padding:20px 20px 19px;display:flex;flex-direction:column;flex:1}.article-card h3,.article-card h2{font-size:1.28rem;margin-bottom:8px}.article-card p{font-size:.92rem;color:var(--ink-2);line-height:1.48}.article-card .text-link{margin-top:auto;font-size:.91rem}
.tag{display:inline-flex;align-self:flex-start;background:var(--green-100);color:var(--green-900);padding:4px 9px;border-radius:999px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:11px}

/* CTA compact */
.compact-cta{position:relative;overflow:hidden;background:linear-gradient(90deg,#eef6e9,#f8fbf5);padding:28px 0;border-top:1px solid #e5ecdf;border-bottom:1px solid #e5ecdf}
.compact-cta::before{content:"";position:absolute;left:-34px;top:-80px;width:160px;height:210px;background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;opacity:.55}
.compact-cta__grid{display:grid;grid-template-columns:1.2fr auto;align-items:center;gap:35px;position:relative}.compact-cta h2{font-size:2rem;margin-bottom:5px}.compact-cta p{margin:0;color:var(--ink-2)}.compact-cta__actions{display:flex;gap:12px;flex-wrap:wrap}

/* Footer */
.site-footer{background:#fff;padding:42px 0 20px;position:relative;overflow:hidden}.site-footer::after{content:"";position:absolute;right:-18px;bottom:16px;width:190px;height:220px;background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;opacity:.18;transform:scaleX(-1)}
.footer-grid{display:grid;grid-template-columns:1.45fr .85fr 1fr .85fr;gap:42px;position:relative;z-index:2}.footer-logo{width:205px;max-height:76px;object-fit:contain;object-position:left center;margin-bottom:10px}.footer-tagline{font-family:var(--hand);font-size:.93rem;color:#667a70;line-height:1.55}.footer-heading{font:700 1rem/1.2 var(--sans);letter-spacing:0;margin-bottom:14px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:6px 0}.footer-links a,.site-footer address a{font-size:.89rem;text-decoration:none;color:var(--ink-2)}.site-footer address{font-style:normal;font-size:.89rem;color:var(--ink-2)}.social-row{display:flex;gap:10px;margin-top:8px}.social-dot{width:30px;height:30px;border-radius:50%;background:var(--green-800);color:white;display:grid;place-items:center;font-weight:800;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:34px;padding-top:15px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);position:relative;z-index:2}.footer-bottom__links{display:flex;gap:18px}.footer-bottom a{text-decoration:none}

/* Breadcrumbs / generic page hero */
.breadcrumbs{background:#f7f9f4;border-bottom:1px solid var(--line);font-size:.82rem}.breadcrumbs .container{display:flex;gap:9px;padding-block:9px;color:#6b7d75}.breadcrumbs a{text-decoration:none}
.page-hero{position:relative;overflow:hidden;padding:clamp(66px,8vw,105px) 0;background:linear-gradient(110deg,#f7fbf5 0 68%,#eef5e9 68%)}.page-hero::after{content:"";position:absolute;right:-35px;top:-70px;width:270px;height:330px;background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;opacity:.28}.page-hero .narrow,.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(2.7rem,5vw,4.65rem)}
.page-hero--media{padding:0;background:#f8faf5}.page-hero--media .container{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.page-hero--media .page-hero__copy{padding:75px 55px 75px 0}.page-hero__image{min-height:430px}.page-hero__image img{width:100%;height:100%;object-fit:cover}

/* Generic sections/cards */
.section-heading{max-width:790px;margin-bottom:36px}.split-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.media-split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.image-frame{overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.image-frame img{width:100%;height:100%;object-fit:cover}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:28px;box-shadow:var(--shadow-sm)}.feature-card h3{font-size:1.38rem}.icon-badge{display:inline-grid;place-items:center;min-width:46px;height:38px;padding:0 11px;border-radius:999px;background:var(--green-100);color:var(--green-900);font-size:.76rem;font-weight:850;margin-bottom:17px}.feature-card a{font-weight:750;color:var(--green-800);text-decoration:none}.check-list{list-style:none;padding:0}.check-list li{position:relative;padding-left:28px;margin:11px 0}.check-list li::before{content:'✓';position:absolute;left:0;color:var(--green-700);font-weight:900}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:27px}.notice{border:1px solid #dfe9da;background:#f5faf2;border-radius:16px;padding:22px 24px}.notice p:last-child{margin-bottom:0}

/* Structured Seniorliv hub */
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.topic-card{position:relative;min-height:220px;padding:28px;border:1px solid #e3e9df;border-radius:18px;background:linear-gradient(145deg,#fff,#f3f8ef);overflow:hidden;text-decoration:none}.topic-card::after{content:"";position:absolute;right:-45px;bottom:-68px;width:155px;height:190px;background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;opacity:.14}.topic-card strong{display:block;font-family:var(--serif);font-size:1.45rem;margin-bottom:8px}.topic-card span{display:block;color:var(--ink-2);font-size:.92rem}.topic-card em{display:inline-block;margin-top:20px;color:var(--green-800);font-style:normal;font-weight:750;font-size:.88rem}
.article-grid--listing{grid-template-columns:repeat(2,1fr)}.article-grid--listing .article-card{display:grid;grid-template-columns:190px 1fr}.article-grid--listing .article-card>img{height:100%;aspect-ratio:auto;min-height:210px}
.topic-section{scroll-margin-top:92px}.topic-section+.topic-section{border-top:1px solid var(--line)}

/* Contact */
.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:start}.contact-card{background:linear-gradient(145deg,#f3f8ef,#fff);border:1px solid var(--line);border-radius:18px;padding:28px}.contact-list{list-style:none;padding:0}.contact-list li{margin:15px 0}.contact-list a{text-decoration:none;font-weight:700}.contact-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow-sm)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field--full{grid-column:1/-1}.field label{font-size:.82rem;font-weight:800}.field input,.field textarea{width:100%;border:1px solid #cfd9ca;border-radius:10px;background:#fbfdf9;padding:12px 13px;color:var(--ink)}.field textarea{min-height:135px;resize:vertical}.consent{font-size:.8rem;color:var(--muted)}

/* Articles */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:58px;align-items:start}.article-body{font-size:1.03rem}.article-body h2{font-size:2rem;margin-top:1.7em}.article-body h3{margin-top:1.6em}.article-body a{color:var(--green-800)}.article-aside{position:sticky;top:100px;background:#f5f9f2;border:1px solid var(--line);border-radius:16px;padding:22px}.article-aside h2{font-size:1.2rem}.article-aside ul{padding-left:19px}.article-aside li{margin:.6em 0}

/* Link and button interactions — intentionally limited to interactive controls. */
@media (hover:hover) and (pointer:fine){
  .site-nav>a:not(.nav-cta):not(.language-switch):hover{color:var(--green-700);transform:translateY(-2px)}
  .site-nav .language-switch:hover{color:var(--green-700);transform:translateY(-1px)}
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,74,52,.18)}
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,74,52,.14)}
  .btn:hover::after{transform:translateX(4px)}
  .text-link:hover{transform:translateX(4px)}
  .footer-grid a:hover,.footer-bottom a:hover,.breadcrumbs a:hover,.contact-item a:hover,.article-body a:not(.btn):not(.text-link):hover,.prose a:hover{color:var(--green-700);position:relative;top:-1px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Responsive */
@media(max-width:1020px){
  .site-nav{gap:14px;font-size:.84rem}.brand-logo{width:165px}.home-hero__grid{grid-template-columns:44% 56%;min-height:400px}.home-hero__copy{padding-right:28px}.footer-grid{grid-template-columns:1.35fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.topic-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  body{font-size:16px}.container{width:min(calc(100% - 30px),var(--container))}.nav-wrap{height:70px}.brand-logo{width:160px;height:56px}.menu-toggle{display:block}.site-nav{position:absolute;left:15px;right:15px;top:70px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a{padding:11px 8px}.site-nav>a::after{display:none}.nav-cta{text-align:center;margin-top:7px}.language-switch{text-align:center}.home-hero{background:#fff}.home-hero__grid{grid-template-columns:1fr}.home-hero__copy{padding:58px 0 38px}.home-hero__media{min-height:0;margin-inline:-15px;width:calc(100% + 30px);aspect-ratio:1304/690}.feature-strip__grid{grid-template-columns:repeat(2,1fr)}.home-about{background:#fff}.home-about__grid{grid-template-columns:1fr}.home-about__copy{padding:48px 0 30px}.home-about__visual{min-height:320px;margin-inline:-15px;grid-template-columns:2fr 1fr}.testimonial-grid,.article-grid,.feature-grid{grid-template-columns:1fr}.compact-cta__grid{grid-template-columns:1fr}.compact-cta__actions{justify-content:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.split-intro,.media-split,.contact-layout,.article-layout{grid-template-columns:1fr}.page-hero--media .container{grid-template-columns:1fr}.page-hero--media .page-hero__copy{padding:58px 0 35px}.page-hero__image{min-height:340px;margin-inline:-15px}.topic-grid{grid-template-columns:1fr 1fr}.article-grid--listing{grid-template-columns:1fr}.article-aside{position:static}.section-heading-row{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}
}
@media(max-width:560px){
  h1{font-size:2.6rem}h2{font-size:2rem}.section{padding:58px 0}.home-hero__copy h1{font-size:2.7rem}.home-hero::before{width:170px;height:220px;opacity:.28}.home-hero__media{min-height:0;aspect-ratio:1304/690}.home-hero__media .photo-note{font-size:1rem;right:18px;bottom:18px}.feature-strip__grid{grid-template-columns:1fr 1fr}.feature-mini{padding:21px 10px}.feature-mini h3{font-size:1.03rem}.feature-mini p{font-size:.78rem}.home-about__visual{grid-template-columns:1fr;min-height:390px}.home-about__visual img{min-height:250px}.home-about__quote{padding:22px}.topic-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}.article-grid--listing .article-card{grid-template-columns:1fr}.article-grid--listing .article-card>img{min-height:auto;aspect-ratio:16/7}.button-row,.compact-cta__actions{width:100%}.btn{width:100%}.section-heading-row{margin-bottom:18px}.contact-form{padding:22px}
}

/* ==========================================================
   Compatibility styles for interior pages
   ========================================================== */
.section--dark{background:var(--green-950);color:#fff}.section--dark h2,.section--dark h3{color:#fff}.section--dark p{color:#e4eee7}.section--dark .eyebrow{color:#b7d8b5}.text-link--light{color:#fff}
.page-hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center;position:relative;z-index:2}.page-hero__grid .image-frame{min-height:340px}.page-hero__grid .image-frame img{min-height:340px;object-fit:cover}
.page-hero--simple{background:linear-gradient(110deg,#f7fbf5,#edf5e9)}.page-hero--accent{background:linear-gradient(110deg,#f3f8ef,#fff8ed)}
.media-split--reverse>figure{order:2}.media-split--reverse>div{order:1}
.illustration-card{border-radius:var(--radius);background:linear-gradient(145deg,#f4f8f0,#fff);border:1px solid var(--line);padding:38px;min-height:330px;display:grid;place-items:center}.illustration-card img{max-height:300px}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:26px}.detail-grid>div{padding:18px;border-radius:14px;background:var(--green-050);border:1px solid var(--line)}.detail-grid strong{display:block;font-family:var(--serif);font-size:1.6rem;color:var(--green-900)}.detail-grid span{font-size:.82rem;color:var(--ink-2)}
.faq{display:grid;gap:12px;max-width:900px}.faq details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 20px}.faq summary{cursor:pointer;padding:18px 0;font-weight:800}.faq details p{padding:0 0 18px;color:var(--ink-2)}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.values-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}.values-grid article>span{display:inline-flex;color:var(--green-800);font-weight:900;font-size:.8rem;margin-bottom:16px}.values-grid h2{font-size:1.45rem}.values-grid p{font-size:.93rem;color:var(--ink-2)}
.steps{counter-reset:step;display:grid;gap:16px}.steps>li{counter-increment:step;list-style:none;position:relative;padding:22px 24px 22px 72px;border:1px solid var(--line);border-radius:14px;background:#fff}.steps>li::before{content:counter(step);position:absolute;left:22px;top:20px;width:34px;height:34px;border-radius:50%;background:var(--green-100);display:grid;place-items:center;color:var(--green-900);font-weight:900}
.article-layout{display:block}.article-hero{background:linear-gradient(110deg,#f7fbf5,#eef5e9);padding:70px 0}.article-hero__grid{display:grid;grid-template-columns:1fr 220px;gap:45px;align-items:center}.article-hero__grid>img{width:220px;height:160px;object-fit:contain;justify-self:end}.article-body{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:58px;align-items:start;padding-top:62px;padding-bottom:78px}.prose{max-width:800px}.prose>p,.prose>ul,.prose>ol{color:#354c45}.aside-card h2{font-size:1.4rem}.article-aside{position:sticky;top:98px}.article-aside .aside-card{background:#f5f9f2;border:1px solid var(--line);border-radius:16px;padding:24px}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.field select,.field input,.field textarea{width:100%;border:1px solid #cfd9ca;border-radius:10px;background:#fbfdf9;padding:12px 13px;color:var(--ink)}.field select{min-height:48px}.consent a{color:var(--green-800)}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:48px}.contact-panel{background:linear-gradient(145deg,#f3f8ef,#fff);border:1px solid var(--line);border-radius:18px;padding:28px}.contact-item{padding:14px 0;border-bottom:1px solid var(--line)}.contact-item>span{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:850;color:var(--muted)}.contact-item a,.contact-item address{font-style:normal;font-weight:700;text-decoration:none}.form-row{display:grid;gap:7px;margin-bottom:15px}.form-row label{font-size:.82rem;font-weight:800}.form-row input,.form-row select,.form-row textarea{border:1px solid #cfd9ca;border-radius:10px;background:#fbfdf9;padding:12px 13px}.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted);margin:6px 0 18px}.checkbox input{margin-top:4px}

@media(max-width:820px){
  .page-hero__grid,.article-hero__grid,.article-body,.contact-grid{grid-template-columns:1fr}.page-hero__grid .image-frame{min-height:280px}.article-hero__grid>img{justify-self:start;width:160px}.article-aside{position:static}.media-split--reverse>figure,.media-split--reverse>div{order:initial}.detail-grid{grid-template-columns:1fr 1fr}.values-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.detail-grid,.values-grid{grid-template-columns:1fr}.article-hero{padding:52px 0}.article-body{padding-top:45px;gap:36px}}

/* ==========================================================
   Pannonia Hem v1.5 — refinements
   ========================================================== */
:root{
  --gold-700:#8b6913;
  --gold-500:#c9a33a;
  --gold-300:#e3c567;
  --gold-100:#fff6d8;
}

/* Hero: stable split layout, full-height image, natural wrapping. */
.home-hero__grid{
  grid-template-columns:minmax(0,45%) minmax(0,55%);
  align-items:stretch;
  min-height:440px;
}
.home-hero__copy{
  min-width:0;
  padding:50px 38px 50px 0;
}
.home-hero__copy h1{
  font-size:clamp(3rem,3.65vw,4rem);
  max-width:570px;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.home-hero__media{
  align-self:stretch;
  min-height:440px;
  height:auto;
  aspect-ratio:auto;
}
.home-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  transform:none;
}

/* More expressive, but calm, navigation interactions. */
.site-nav>a:not(.nav-cta):not(.language-switch)::after{
  height:3px;
  bottom:-9px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green-700),var(--gold-500));
}
.language-switch{
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:999px;
  transition:color .22s ease,background-color .22s ease,border-color .22s ease,transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;
}

/* Keep the existing lift animation and add the requested gold colour transition. */
@media (hover:hover) and (pointer:fine){
  .site-nav>a:not(.nav-cta):not(.language-switch):hover{
    color:var(--green-800);
    transform:translateY(-2px) scale(1.015);
  }
  .site-nav .language-switch:hover{
    color:var(--green-950);
    background:var(--gold-100);
    border-color:var(--gold-300);
    box-shadow:0 7px 18px rgba(139,105,19,.12);
    transform:translateY(-2px);
  }
  .nav-cta:hover,
  .btn--primary:hover{
    background:var(--gold-300);
    border-color:var(--gold-500);
    color:var(--green-950)!important;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(139,105,19,.18);
  }
  .btn--secondary:hover{
    background:var(--gold-100);
    border-color:var(--gold-500);
    color:var(--green-950);
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(139,105,19,.13);
  }
  .text-link:hover{
    color:var(--gold-700);
    transform:translateX(4px);
  }
}

/* Footer emphasis requested for quick links, privacy and Fortune Accounting. */
.footer-heading{color:var(--gold-700)}
.footer-highlight-link{color:var(--gold-700)!important;font-weight:750}
@media (hover:hover) and (pointer:fine){
  .footer-highlight-link:hover{color:var(--green-800)!important;top:-1px}
}

/* Temporary residence photography slots — easy to replace later. */
.placeholder-image{background:#f2f6ef}
.placeholder-image img{aspect-ratio:16/10;object-fit:cover}
.placeholder-image figcaption{
  padding:10px 14px;
  background:#fffdf7;
  color:var(--muted);
  font-size:.76rem;
  border-top:1px solid var(--line);
}
.residence-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.residence-gallery figure{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.residence-gallery img{width:100%;height:235px;object-fit:cover}
.residence-gallery figcaption{padding:11px 14px;font-size:.82rem;font-weight:700;color:var(--ink-2)}
.placeholder-note{margin-top:14px;font-size:.78rem;color:var(--muted)}

/* Floating flag-only language switch. */
.floating-language{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:95;
}
.floating-language__toggle,
.floating-language__menu a{
  display:grid;
  place-items:center;
  width:48px;
  height:42px;
  padding:0;
  border:1px solid rgba(32,81,61,.18);
  border-radius:13px;
  background:rgba(255,255,252,.96);
  box-shadow:0 10px 28px rgba(23,63,52,.14);
  cursor:pointer;
  text-decoration:none;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.floating-language__toggle{position:relative;z-index:2}
.floating-language__menu{
  position:absolute;
  right:0;
  bottom:50px;
  display:grid;
  gap:7px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px) scale(.96);
  transform-origin:bottom right;
  transition:opacity .18s ease,visibility .18s ease,transform .18s cubic-bezier(.2,.8,.2,1);
}
@media (hover:hover) and (pointer:fine){
  .floating-language:hover .floating-language__menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
  .floating-language__toggle:hover,.floating-language__menu a:hover{transform:translateY(-2px);border-color:var(--gold-500);background:var(--gold-100);box-shadow:0 12px 30px rgba(139,105,19,.14)}
}
.floating-language.is-open .floating-language__menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.floating-language__menu a[aria-current="page"]{border-color:var(--green-700);background:var(--green-050)}
.flag{display:block;width:28px;height:18px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);overflow:hidden}
.flag--sv{
  background:
    linear-gradient(to bottom,transparent 0 41%,#fecc00 41% 59%,transparent 59% 100%),
    linear-gradient(to right,#006aa7 0 31%,#fecc00 31% 43%,#006aa7 43% 100%);
}
.flag--hu{background:linear-gradient(to bottom,#ce2939 0 33.333%,#fff 33.333% 66.666%,#477050 66.666% 100%)}

@media(max-width:1020px){
  .home-hero__grid{grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:410px}
  .home-hero__copy{padding:44px 28px 44px 0}
  .home-hero__copy h1{font-size:clamp(2.75rem,4.6vw,3.55rem)}
  .home-hero__media{min-height:410px}
}
@media(max-width:820px){
  .home-hero__grid{grid-template-columns:1fr;min-height:0}
  .home-hero__copy{padding:48px 0 34px}
  .home-hero__copy h1{font-size:clamp(2.7rem,8vw,3.35rem);max-width:690px}
  .home-hero__media{min-height:0;height:auto;aspect-ratio:16/9;margin-inline:-15px;width:calc(100% + 30px)}
  .residence-gallery{grid-template-columns:1fr 1fr}
  .floating-language{right:14px;bottom:14px}
}
@media(max-width:560px){
  .home-hero__copy h1{font-size:2.55rem}
  .home-hero__media{aspect-ratio:4/3}
  .residence-gallery{grid-template-columns:1fr}
  .residence-gallery img{height:auto;aspect-ratio:16/10}
}


/* ==========================================================
   Pannonia Hem v1.6 — navigation, hero, consent & form security UI
   ========================================================== */
.site-nav{font-size:1rem;gap:24px}
.site-nav>a:not(.nav-cta):not(.language-switch)::after{
  left:50%;right:50%;bottom:-9px;height:3px;background:var(--green-700);
  transition:left .22s cubic-bezier(.2,.8,.2,1),right .22s cubic-bezier(.2,.8,.2,1),background-color .22s ease;
}
.site-nav>a:not(.nav-cta):not(.language-switch):hover::after,
.site-nav>a:not(.nav-cta):not(.language-switch)[aria-current="page"]::after{left:0;right:0}
@media (hover:hover) and (pointer:fine){
  .site-nav>a:not(.nav-cta):not(.language-switch):hover{color:var(--green-800);transform:translateY(-2px)}
}

/* Hero follows the approved mock-up: wide, straight split and no narrow image column. */
.home-hero{background:linear-gradient(90deg,#fffef8 0 43%,#eef5e9 43% 100%)}
.home-hero__grid{
  width:min(calc(100% - 72px),1540px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(440px,42%) minmax(0,58%);
  align-items:stretch;
  min-height:510px;
}
.home-hero__copy{padding:56px 48px 52px 0}
.home-hero__copy h1{font-size:clamp(3rem,4vw,4.45rem);max-width:650px;text-wrap:balance}
.home-hero__media{min-height:510px;height:100%;aspect-ratio:auto;align-self:stretch;background:#eef4e9}
.home-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:none}
.home-hero__media::after{background:linear-gradient(90deg,rgba(255,254,248,.16),transparent 18%)}

.footer-cookie-settings{border:0;background:transparent;padding:0;color:var(--gold-700);font:inherit;font-weight:750;cursor:pointer;text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.17em;transition:color .2s ease,transform .2s ease}
@media (hover:hover) and (pointer:fine){.footer-cookie-settings:hover{color:var(--green-800);transform:translateY(-1px)}}

.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:120;max-width:1040px;margin-inline:auto;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:rgba(255,255,252,.985);border:1px solid rgba(32,81,61,.18);border-radius:18px;padding:20px 22px;box-shadow:0 22px 65px rgba(23,63,52,.22);backdrop-filter:blur(14px)}
.cookie-banner[hidden]{display:none!important}.cookie-banner__copy strong{display:block;font:600 1.15rem/1.25 var(--serif);margin-bottom:5px}.cookie-banner__copy p{font-size:.9rem;line-height:1.45;color:var(--ink-2);margin:0 0 4px}.cookie-banner__copy a{font-size:.86rem;font-weight:750;color:var(--green-800)}.cookie-banner__actions{display:flex;gap:10px;align-items:center}.cookie-banner .btn{min-height:44px;padding-inline:17px;white-space:nowrap}.cookie-action::after{display:none}
.cookie-table-wrap{overflow-x:auto;margin:18px 0 28px;border:1px solid var(--line);border-radius:14px}.cookie-table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}.cookie-table th,.cookie-table td{padding:13px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.cookie-table th{background:var(--green-050);font-size:.82rem}.cookie-table tr:last-child td{border-bottom:0}.policy-updated{margin-top:32px}

.form-status{display:none;grid-column:1/-1;border-radius:10px;padding:11px 13px;font-size:.9rem;font-weight:700}.form-status.is-visible{display:block}.form-status.is-success{background:#edf7e9;color:#285f38;border:1px solid #cce2c5}.form-status.is-error{background:#fff1ed;color:#8a352d;border:1px solid #efc7bf}.contact-form button[disabled]{opacity:.58;cursor:wait;transform:none!important;box-shadow:none!important}

@media(max-width:1100px){.site-nav{font-size:.93rem;gap:15px}.home-hero__grid{width:min(calc(100% - 44px),1280px);grid-template-columns:minmax(390px,44%) minmax(0,56%);min-height:470px}.home-hero__media{min-height:470px}.home-hero__copy{padding-right:34px}}
@media(max-width:820px){.site-nav{font-size:1rem}.home-hero__grid{width:min(calc(100% - 30px),var(--container));grid-template-columns:1fr;min-height:0}.home-hero__copy{padding:48px 0 34px}.home-hero__media{min-height:0;height:auto;aspect-ratio:16/9;margin-inline:-15px;width:calc(100% + 30px)}.cookie-banner{grid-template-columns:1fr;gap:14px;left:12px;right:12px;bottom:12px}.cookie-banner__actions{flex-wrap:wrap}.cookie-banner__actions .btn{width:auto;flex:1 1 190px}}
@media(max-width:560px){.home-hero__media{aspect-ratio:4/3}.cookie-banner{padding:17px}.cookie-banner__actions{display:grid;grid-template-columns:1fr}.cookie-banner__actions .btn{width:100%}}


/* ==========================================================
   Pannonia Hem v1.7 — hero tuning + moving galleries
   ========================================================== */
.home-hero{background:linear-gradient(90deg,#fffef8 0 44%,#eef5e9 44% 100%)}
.home-hero__grid{width:min(calc(100% - 48px),1320px);margin:0 auto;display:grid;grid-template-columns:minmax(390px,44%) minmax(0,56%);gap:22px;align-items:center;min-height:0}
.home-hero__copy{padding:58px 0 52px}
.home-hero__copy h1{font-size:clamp(3rem,4vw,4.3rem);max-width:650px;text-wrap:balance}
.home-hero__media{background:transparent;min-height:0;height:auto;display:flex;justify-content:flex-end;align-items:center;padding:18px 0 18px 18px}
.home-hero__media img{display:block;width:100%;max-width:900px;height:auto;aspect-ratio:1304/690;object-fit:cover;object-position:center 46%;transform:none;box-shadow:0 22px 44px rgba(26,59,49,.12);border:1px solid rgba(65,100,83,.10);background:#eef4e9}
.gallery-slider{position:relative;margin-top:22px}
.gallery-slider__viewport{overflow:hidden;border-radius:22px}
.gallery-slider__track{display:flex;transition:transform .6s cubic-bezier(.22,.61,.36,1);will-change:transform}
.gallery-slide{min-width:100%;margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm)}
.gallery-slide img{width:100%;height:clamp(300px,42vw,560px);object-fit:cover;display:block}
.gallery-slide figcaption{padding:15px 18px;font-size:.92rem;font-weight:700;color:var(--ink-2)}
.gallery-slider__arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;border-radius:999px;background:rgba(255,255,255,.94);color:var(--green-900);box-shadow:0 10px 24px rgba(26,59,49,.15);font-size:1.8rem;line-height:1;cursor:pointer;transition:transform .22s ease,background-color .22s ease,color .22s ease;z-index:2}
.gallery-slider__arrow:hover{transform:translateY(-50%) scale(1.05);background:#fff8e7;color:var(--gold-700)}
.gallery-slider__arrow--prev{left:14px}.gallery-slider__arrow--next{right:14px}
.gallery-slider__dots{display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}
.gallery-slider__dots button{width:12px;height:12px;border-radius:999px;border:none;background:#d3ded0;cursor:pointer;transition:transform .2s ease,background-color .2s ease}
.gallery-slider__dots button.is-active{background:linear-gradient(90deg,var(--green-700),var(--gold-500));transform:scale(1.18)}
.gallery-slider__dots button:hover{background:#b6c8b4}
@media(max-width:1100px){
  .home-hero__grid{width:min(calc(100% - 38px),1240px);grid-template-columns:minmax(340px,42%) minmax(0,58%);gap:16px;min-height:0}
  .home-hero__copy{padding:48px 0 44px}
  .home-hero__copy h1{font-size:clamp(2.7rem,4.7vw,3.75rem)}
  .home-hero__media{min-height:0;height:auto}
}
@media(max-width:820px){
  .home-hero{background:#fff}
  .home-hero__grid{width:min(calc(100% - 30px),var(--container));grid-template-columns:1fr;gap:0;min-height:0}
  .home-hero__copy{padding:48px 0 30px}
  .home-hero__media{padding:0;min-height:0;height:auto;aspect-ratio:auto;margin-inline:-15px;width:calc(100% + 30px)}
  .home-hero__media img{max-width:none;width:100%;height:auto;aspect-ratio:16/10;border-radius:0;box-shadow:none;border:none}
  .gallery-slide img{height:clamp(260px,62vw,420px)}
}
@media(max-width:560px){
  .home-hero__copy h1{font-size:2.45rem}
  .gallery-slider__arrow{width:42px;height:42px;font-size:1.55rem}
  .gallery-slider__arrow--prev{left:10px}.gallery-slider__arrow--next{right:10px}
  .gallery-slide figcaption{padding:13px 15px}
}


/* ==========================================================
   Pannonia Hem v1.7.4 — homepage aligned to approved mock-up
   ========================================================== */

/* HERO — compact panoramic image, full bleed to the right,
   with a long soft fade under the text just like the mock-up. */
.home-hero{
  position:relative;
  overflow:hidden;
  background:#fffef8;
}
.home-hero__grid{
  width:100%;
  margin:0;
  padding-left:max(36px,calc((100vw - 1540px)/2));
  display:grid;
  grid-template-columns:minmax(465px,40%) minmax(0,60%);
  gap:0;
  align-items:center;
  min-height:390px;
}
.home-hero__copy{
  position:relative;
  z-index:3;
  padding:38px 28px 34px 0;
}
.home-hero__copy h1{
  font-size:clamp(2.65rem,3.35vw,3.75rem);
  line-height:1.04;
  max-width:625px;
  margin-bottom:.42em;
  text-wrap:balance;
}
.home-hero__copy .lead{
  font-size:1.04rem;
  line-height:1.5;
  max-width:585px;
}
.home-hero__copy .button-row{
  margin-top:18px;
}
.home-hero__note{
  margin-top:16px;
}
.home-hero__media{
  position:relative;
  z-index:1;
  display:block;
  height:390px;
  min-height:0;
  margin-left:-118px;
  overflow:hidden;
  background:transparent;
}
.home-hero__media img{
  display:block;
  width:calc(100% + 118px);
  max-width:none;
  height:100%;
  object-fit:cover;
  object-position:center 47%;
  border:0;
  box-shadow:none;
  transform:none;

  /* The image itself fades away; no visible vertical seam. */
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.05) 7%,
    rgba(0,0,0,.16) 13%,
    rgba(0,0,0,.34) 20%,
    rgba(0,0,0,.58) 27%,
    rgba(0,0,0,.78) 34%,
    rgba(0,0,0,.94) 41%,
    #000 48%,
    #000 100%
  );
  mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.05) 7%,
    rgba(0,0,0,.16) 13%,
    rgba(0,0,0,.34) 20%,
    rgba(0,0,0,.58) 27%,
    rgba(0,0,0,.78) 34%,
    rgba(0,0,0,.94) 41%,
    #000 48%,
    #000 100%
  );
}
.home-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,254,248,.04),transparent 25%,transparent 76%,rgba(255,254,248,.06));
}

/* ABOUT — the building photo is one wide image with the quote
   floating over a bright fade on the right, as in the mock-up. */
.home-about{
  position:relative;
  overflow:hidden;
  background:#fffef8;
}
.home-about__grid.container{
  width:100%;
  margin:0;
  padding-left:max(36px,calc((100vw - 1540px)/2));
  display:grid;
  grid-template-columns:minmax(430px,42%) minmax(0,58%);
  min-height:285px;
  align-items:stretch;
}
.home-about__copy{
  position:relative;
  z-index:3;
  padding:34px 48px 34px 0;
}
.home-about__copy h2{
  font-size:clamp(2rem,2.6vw,2.75rem);
  margin-bottom:.34em;
}
.home-about__copy p{
  max-width:650px;
  margin-bottom:.8em;
}
.home-about__visual{
  position:relative;
  display:block;
  min-height:285px;
  height:auto;
  overflow:hidden;
}
.home-about__visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
}
.home-about__visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,254,248,0) 0%,
    rgba(255,254,248,0) 43%,
    rgba(255,254,248,.18) 56%,
    rgba(255,254,248,.48) 69%,
    rgba(255,254,248,.78) 82%,
    rgba(255,254,248,.96) 100%
  );
}
.home-about__quote{
  position:absolute;
  z-index:2;
  right:max(42px,calc((100vw - 1540px)/2 + 22px));
  top:50%;
  transform:translateY(-50%) rotate(-2deg);
  width:min(310px,34%);
  padding:0;
  background:transparent;
  color:#5f7168;
  text-align:center;
  font:italic clamp(1.12rem,1.55vw,1.5rem)/1.45 var(--hand);
}
.home-about__quote small{
  display:inline-block;
  margin-top:7px;
  font:600 .78rem/1.3 var(--sans);
  color:#6c7b75;
}

@media(max-width:1100px){
  .home-hero__grid{
    padding-left:22px;
    grid-template-columns:minmax(390px,43%) minmax(0,57%);
    min-height:360px;
  }
  .home-hero__copy{
    padding:34px 22px 30px 0;
  }
  .home-hero__copy h1{
    font-size:clamp(2.55rem,4.25vw,3.35rem);
  }
  .home-hero__media{
    height:360px;
    margin-left:-82px;
  }
  .home-hero__media img{
    width:calc(100% + 82px);
  }

  .home-about__grid.container{
    padding-left:22px;
    grid-template-columns:minmax(380px,43%) minmax(0,57%);
    min-height:270px;
  }
  .home-about__copy{
    padding:30px 36px 30px 0;
  }
  .home-about__visual{
    min-height:270px;
  }
  .home-about__quote{
    right:28px;
    width:35%;
  }
}

@media(max-width:820px){
  .home-hero{
    background:#fff;
  }
  .home-hero__grid{
    width:min(calc(100% - 30px),var(--container));
    margin-inline:auto;
    padding-left:0;
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-hero__copy{
    padding:44px 0 28px;
  }
  .home-hero__copy h1{
    font-size:clamp(2.55rem,8vw,3.25rem);
    max-width:690px;
  }
  .home-hero__media{
    width:calc(100% + 30px);
    height:auto;
    margin-inline:-15px;
    overflow:hidden;
  }
  .home-hero__media img{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .home-about__grid.container{
    width:min(calc(100% - 30px),var(--container));
    margin-inline:auto;
    padding-left:0;
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-about__copy{
    padding:42px 0 28px;
  }
  .home-about__visual{
    width:calc(100% + 30px);
    min-height:310px;
    margin-inline:-15px;
  }
  .home-about__visual::after{
    background:linear-gradient(90deg,transparent 28%,rgba(255,254,248,.18) 48%,rgba(255,254,248,.82) 100%);
  }
  .home-about__quote{
    right:24px;
    width:42%;
    font-size:1.08rem;
  }
}

@media(max-width:560px){
  .home-hero__copy h1{
    font-size:2.4rem;
  }
  .home-hero__media img{
    aspect-ratio:4/3;
  }
  .home-about__visual{
    min-height:275px;
  }
  .home-about__quote{
    right:16px;
    width:48%;
    font-size:.98rem;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.5 — hero acacia + warmer homepage about section
   ========================================================== */

.home-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:290px;
  height:360px;
  right:-52px;
  top:42px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.18;
  transform:scaleX(-1) rotate(4deg);
  pointer-events:none;
}
.home-hero__grid{
  position:relative;
  z-index:1;
}

.home-about{
  background:linear-gradient(90deg,#fffef8 0 43%,#f3f8ef 43% 100%);
}
.home-about::before{
  content:"";
  position:absolute;
  z-index:0;
  width:210px;
  height:275px;
  right:-32px;
  bottom:-72px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.20;
  transform:scaleX(-1) rotate(-5deg);
  pointer-events:none;
}
.home-about__grid.container{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(430px,42%) minmax(0,58%);
  min-height:330px;
}
.home-about__copy{
  padding:42px 52px 42px 0;
}
.home-about__visual{
  min-height:330px;
  overflow:hidden;
  background:#eaf2e6;
}
.home-about__visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 50%;
}
.home-about__visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,254,248,0) 0%,
    rgba(255,254,248,0) 56%,
    rgba(255,254,248,.12) 68%,
    rgba(255,254,248,.30) 100%
  );
}
.home-about__quote{
  position:absolute;
  z-index:2;
  right:28px;
  bottom:28px;
  top:auto;
  transform:rotate(-1.2deg);
  width:min(300px,42%);
  padding:22px 24px 20px;
  border:1px solid rgba(38,83,62,.12);
  border-radius:18px;
  background:rgba(255,253,247,.92);
  box-shadow:0 16px 40px rgba(26,59,49,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#586d62;
  text-align:left;
  font:italic clamp(1.06rem,1.35vw,1.30rem)/1.42 var(--hand);
}
.home-about__quote small{
  display:block;
  margin-top:9px;
  font:700 .78rem/1.3 var(--sans);
  color:var(--green-800);
  text-align:right;
}

@media(max-width:1100px){
  .home-hero::after{
    width:230px;
    height:300px;
    right:-62px;
    top:55px;
  }
  .home-about__grid.container{
    grid-template-columns:minmax(380px,43%) minmax(0,57%);
    min-height:310px;
  }
  .home-about__copy{
    padding:36px 38px 36px 0;
  }
  .home-about__visual{
    min-height:310px;
  }
  .home-about__quote{
    right:20px;
    bottom:20px;
    width:min(265px,44%);
    padding:18px 20px 17px;
  }
}

@media(max-width:820px){
  .home-hero::after{
    width:165px;
    height:220px;
    right:-48px;
    top:auto;
    bottom:8px;
    opacity:.13;
  }
  .home-about{
    background:#fff;
  }
  .home-about::before{
    display:none;
  }
  .home-about__grid.container{
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-about__copy{
    padding:42px 0 28px;
  }
  .home-about__visual{
    width:calc(100% + 30px);
    min-height:330px;
    margin-inline:-15px;
  }
  .home-about__visual::after{
    background:linear-gradient(180deg,transparent 45%,rgba(19,57,45,.06) 100%);
  }
  .home-about__quote{
    right:18px;
    bottom:18px;
    width:min(285px,calc(100% - 36px));
  }
}

@media(max-width:560px){
  .home-about__visual{
    min-height:300px;
  }
  .home-about__quote{
    right:14px;
    bottom:14px;
    width:min(270px,calc(100% - 28px));
    padding:17px 18px 16px;
    font-size:1rem;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.6 — restore full hero photo + richer left acacia
   ========================================================== */

/* The approved sketch uses a clearly decorated left side.
   Use several acacia impressions, but keep them soft behind the copy. */
.home-hero::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-18px;
  top:0;
  width:430px;
  height:100%;
  background-image:
    url('/assets/images/decor/acacia-real.webp'),
    url('/assets/images/decor/acacia-real.webp'),
    url('/assets/images/decor/acacia-real.webp'),
    url('/assets/images/decor/acacia-real.webp');
  background-repeat:no-repeat;
  background-size:
    250px auto,
    180px auto,
    145px auto,
    115px auto;
  background-position:
    0 8px,
    68px 142px,
    2px 255px,
    130px 305px;
  opacity:.42;
  pointer-events:none;
}

/* Keep the right-side decoration much lighter so the visual weight stays left. */
.home-hero::after{
  width:230px;
  height:285px;
  right:-54px;
  top:58px;
  opacity:.10;
}

/* Return to the sketch's natural-image treatment:
   no forced crop, no left-side mask, no enlarged hidden portion. */
.home-hero__grid{
  width:min(calc(100% - 72px),1540px);
  margin-inline:auto;
  padding-left:0;
  display:grid;
  grid-template-columns:minmax(500px,43%) minmax(0,57%);
  gap:28px;
  align-items:center;
  min-height:430px;
}

.home-hero__copy{
  position:relative;
  z-index:2;
  padding:42px 20px 38px 0;
}

.home-hero__copy h1{
  font-size:clamp(2.7rem,3.45vw,3.85rem);
  line-height:1.04;
  max-width:660px;
  margin-bottom:.42em;
  text-wrap:balance;
}

.home-hero__media{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:0;
  height:auto;
  margin-left:0;
  overflow:visible;
  background:transparent;
}

.home-hero__media img{
  display:block;
  width:100%;
  max-width:900px;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  border:1px solid rgba(65,100,83,.10);
  box-shadow:0 18px 38px rgba(26,59,49,.10);
  transform:none;
  -webkit-mask-image:none;
  mask-image:none;
}

.home-hero__media::after{
  display:none;
}

@media(max-width:1100px){
  .home-hero::before{
    width:340px;
    background-size:
      205px auto,
      150px auto,
      120px auto,
      95px auto;
    background-position:
      -10px 12px,
      50px 135px,
      -4px 235px,
      105px 278px;
    opacity:.36;
  }

  .home-hero__grid{
    width:min(calc(100% - 44px),1280px);
    grid-template-columns:minmax(430px,44%) minmax(0,56%);
    gap:20px;
    min-height:390px;
  }

  .home-hero__copy{
    padding:36px 12px 32px 0;
  }

  .home-hero__copy h1{
    font-size:clamp(2.5rem,4.2vw,3.35rem);
  }
}

@media(max-width:820px){
  .home-hero::before{
    width:210px;
    height:260px;
    left:-24px;
    top:4px;
    background-image:
      url('/assets/images/decor/acacia-real.webp'),
      url('/assets/images/decor/acacia-real.webp');
    background-size:
      150px auto,
      100px auto;
    background-position:
      0 0,
      62px 105px;
    opacity:.23;
  }

  .home-hero::after{
    display:none;
  }

  .home-hero__grid{
    width:min(calc(100% - 30px),var(--container));
    margin-inline:auto;
    grid-template-columns:1fr;
    gap:0;
    min-height:0;
  }

  .home-hero__copy{
    padding:44px 0 28px;
  }

  .home-hero__copy h1{
    font-size:clamp(2.5rem,8vw,3.2rem);
  }

  .home-hero__media{
    width:calc(100% + 30px);
    margin-inline:-15px;
    overflow:hidden;
  }

  .home-hero__media img{
    width:100%;
    max-width:none;
    height:auto;
    object-fit:contain;
    border:0;
    box-shadow:none;
  }
}

@media(max-width:560px){
  .home-hero::before{
    width:170px;
    height:220px;
    opacity:.18;
  }

  .home-hero__copy h1{
    font-size:2.35rem;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.7 — approved hero composition + wider articles
   ========================================================== */

/* HERO: richer, hanging acacia composition on the left. */
.home-hero::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-118px;
  top:-42px;
  width:410px;
  height:500px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.56;
  transform:scaleY(-1) rotate(-4deg);
  transform-origin:center;
  pointer-events:none;
}

/* A second branch extends the left decoration downward so it reads
   as one fuller botanical edge rather than scattered small motifs. */
.home-hero__copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-138px;
  bottom:-112px;
  width:300px;
  height:350px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.27;
  transform:rotate(8deg);
  pointer-events:none;
}

/* Right-side hero decoration stays secondary. */
.home-hero::after{
  width:220px;
  height:270px;
  right:-64px;
  top:70px;
  opacity:.08;
}

/* Keep the full hero photograph visible and move it only slightly down.
   The section itself starts close to the navigation. */
.home-hero__grid{
  width:min(calc(100% - 64px),1540px);
  margin-inline:auto;
  padding-left:0;
  display:grid;
  grid-template-columns:minmax(500px,43%) minmax(0,57%);
  gap:18px;
  align-items:start;
  min-height:0;
}

.home-hero__copy{
  position:relative;
  z-index:3;
  padding:26px 24px 30px 0;
}

.home-hero__copy h1{
  font-size:clamp(2.7rem,3.45vw,3.85rem);
  line-height:1.04;
  max-width:660px;
  margin-bottom:.40em;
  text-wrap:balance;
}

.home-hero__copy .lead{
  max-width:610px;
}

.home-hero__media{
  position:relative;
  z-index:1;
  display:block;
  min-height:0;
  height:auto;
  margin:12px 0 0;
  overflow:hidden;
  background:transparent;
}

.home-hero__media img{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  border:0;
  box-shadow:none;
  transform:none;
  -webkit-mask-image:none;
  mask-image:none;
}

/* Soft transition towards the copy, but the photo itself is not cropped
   or masked. */
.home-hero__media::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:22%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #fffef8 0%,
    rgba(255,254,248,.92) 15%,
    rgba(255,254,248,.64) 39%,
    rgba(255,254,248,.28) 68%,
    rgba(255,254,248,0) 100%
  );
}

.home-hero__media::after{
  display:none;
}

/* ABOUT: restore the house photograph from the approved sketch and add
   the large acacia branch over its right edge. */
.home-about::before{
  display:none;
}

.home-about__visual::before{
  content:"";
  position:absolute;
  z-index:2;
  right:-58px;
  top:-72px;
  width:285px;
  height:345px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.55;
  transform:scaleX(-1) rotate(-7deg);
  pointer-events:none;
}

.home-about__visual::after{
  z-index:1;
  background:linear-gradient(
    90deg,
    rgba(255,254,248,0) 0%,
    rgba(255,254,248,0) 58%,
    rgba(255,254,248,.10) 72%,
    rgba(255,254,248,.22) 100%
  );
}

.home-about__quote{
  z-index:3;
}

/* Wider Seniorliv cards on the homepage. */
.seniorlife-preview .container{
  width:min(calc(100% - 64px),1380px);
}

.seniorlife-preview .article-grid{
  gap:24px;
}

.seniorlife-preview .article-card>img{
  aspect-ratio:16/7.4;
}

.seniorlife-preview .article-card>div{
  padding:22px 23px 21px;
}

@media(max-width:1100px){
  .home-hero::before{
    left:-105px;
    top:-28px;
    width:330px;
    height:405px;
    opacity:.48;
  }

  .home-hero__copy::before{
    left:-118px;
    bottom:-100px;
    width:245px;
    height:290px;
    opacity:.23;
  }

  .home-hero__grid{
    width:min(calc(100% - 44px),1280px);
    grid-template-columns:minmax(430px,44%) minmax(0,56%);
    gap:14px;
  }

  .home-hero__copy{
    padding:24px 16px 28px 0;
  }

  .home-hero__copy h1{
    font-size:clamp(2.5rem,4.2vw,3.35rem);
  }

  .home-about__visual::before{
    right:-64px;
    top:-62px;
    width:245px;
    height:300px;
    opacity:.48;
  }

  .seniorlife-preview .container{
    width:min(calc(100% - 44px),1240px);
  }
}

@media(max-width:820px){
  .home-hero::before{
    left:-70px;
    top:-18px;
    width:220px;
    height:270px;
    opacity:.30;
  }

  .home-hero__copy::before{
    display:none;
  }

  .home-hero::after{
    display:none;
  }

  .home-hero__grid{
    width:min(calc(100% - 30px),var(--container));
    margin-inline:auto;
    grid-template-columns:1fr;
    gap:0;
  }

  .home-hero__copy{
    padding:38px 0 25px;
  }

  .home-hero__copy h1{
    font-size:clamp(2.5rem,8vw,3.2rem);
  }

  .home-hero__media{
    width:calc(100% + 30px);
    margin:6px -15px 0;
  }

  .home-hero__media img{
    width:100%;
    max-width:none;
    height:auto;
    object-fit:contain;
    border:0;
    box-shadow:none;
  }

  .home-hero__media::before{
    width:16%;
  }

  .home-about__visual::before{
    right:-48px;
    top:-52px;
    width:205px;
    height:250px;
    opacity:.40;
  }

  .seniorlife-preview .container{
    width:min(calc(100% - 30px),var(--container));
  }

  .seniorlife-preview .article-grid{
    gap:20px;
  }
}

@media(max-width:560px){
  .home-hero::before{
    left:-58px;
    width:180px;
    height:225px;
    opacity:.23;
  }

  .home-hero__copy h1{
    font-size:2.35rem;
  }

  .home-hero__media::before{
    display:none;
  }

  .home-about__visual::before{
    right:-54px;
    top:-38px;
    width:175px;
    height:215px;
    opacity:.32;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.8 — acacia placement from approved sketch
   ========================================================== */

/* The sketch uses a botanical border, not a large central flower graphic. */
.home-hero::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-88px;
  top:-8px;
  width:250px;
  height:350px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.88;
  transform:rotate(-7deg);
  transform-origin:center;
  pointer-events:none;
}

.home-hero__copy::before{
  content:"";
  display:block;
  position:absolute;
  z-index:-1;
  left:-128px;
  bottom:-118px;
  width:220px;
  height:300px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.58;
  transform:scaleX(-1) rotate(9deg);
  pointer-events:none;
}

/* Do not use the old free-floating hero branch. */
.home-hero::after{
  display:none;
}

/* Bring the photograph closer to the navigation, as in the sketch. */
.home-hero__grid{
  width:min(calc(100% - 44px),1540px);
  margin-inline:auto;
  padding-left:0;
  grid-template-columns:minmax(500px,43%) minmax(0,57%);
  gap:12px;
  align-items:start;
  min-height:0;
}

.home-hero__copy{
  padding:18px 22px 26px 0;
}

.home-hero__media{
  position:relative;
  margin:0;
  overflow:hidden;
}

.home-hero__media img{
  width:100%;
  max-width:none;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}

/* Keep the gentle transition toward the copy without cutting the photo. */
.home-hero__media::before{
  display:block;
  content:"";
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:18%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #fffef8 0%,
    rgba(255,254,248,.86) 18%,
    rgba(255,254,248,.48) 50%,
    rgba(255,254,248,.16) 76%,
    rgba(255,254,248,0) 100%
  );
}

/* The sketch also has a strong acacia branch on the right edge of the hero photo. */
.home-hero__media::after{
  display:block;
  content:"";
  position:absolute;
  z-index:3;
  right:-72px;
  top:18px;
  width:255px;
  height:320px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.92;
  transform:scaleX(-1) rotate(5deg);
  pointer-events:none;
}

/* House image section: keep the right-side branch clearly visible. */
.home-about__visual::before{
  right:-68px;
  top:-54px;
  width:270px;
  height:335px;
  opacity:.84;
  transform:scaleX(-1) rotate(-5deg);
}

/* Wider article cards, matching the proportions of the approved mock-up. */
.seniorlife-preview .container{
  width:min(calc(100% - 44px),1460px);
}
.seniorlife-preview .article-grid{
  gap:18px;
}
.seniorlife-preview .article-card>img{
  aspect-ratio:16/7;
}

@media(max-width:1100px){
  .home-hero::before{
    left:-84px;
    top:-10px;
    width:205px;
    height:292px;
    opacity:.78;
  }
  .home-hero__copy::before{
    left:-106px;
    bottom:-96px;
    width:185px;
    height:250px;
    opacity:.48;
  }
  .home-hero__grid{
    width:min(calc(100% - 34px),1280px);
    grid-template-columns:minmax(420px,44%) minmax(0,56%);
    gap:10px;
  }
  .home-hero__copy{
    padding:16px 15px 24px 0;
  }
  .home-hero__media::after{
    right:-60px;
    top:12px;
    width:215px;
    height:270px;
    opacity:.86;
  }
  .home-about__visual::before{
    right:-58px;
    top:-45px;
    width:225px;
    height:280px;
    opacity:.76;
  }
  .seniorlife-preview .container{
    width:min(calc(100% - 34px),1320px);
  }
}

@media(max-width:820px){
  .home-hero::before{
    left:-66px;
    top:0;
    width:150px;
    height:215px;
    opacity:.48;
  }
  .home-hero__copy::before{
    display:none;
  }
  .home-hero__grid{
    width:min(calc(100% - 30px),var(--container));
    grid-template-columns:1fr;
    gap:0;
  }
  .home-hero__copy{
    padding:34px 0 22px;
  }
  .home-hero__media{
    width:calc(100% + 30px);
    margin:0 -15px;
  }
  .home-hero__media::before{
    width:13%;
  }
  .home-hero__media::after{
    right:-48px;
    top:6px;
    width:160px;
    height:205px;
    opacity:.72;
  }
  .home-about__visual::before{
    right:-46px;
    top:-34px;
    width:180px;
    height:225px;
    opacity:.65;
  }
  .seniorlife-preview .container{
    width:min(calc(100% - 30px),var(--container));
  }
}

@media(max-width:560px){
  .home-hero::before{
    left:-58px;
    width:125px;
    height:180px;
    opacity:.38;
  }
  .home-hero__copy{
    padding-top:30px;
  }
  .home-hero__media::before{
    display:none;
  }
  .home-hero__media::after{
    right:-40px;
    top:4px;
    width:128px;
    height:168px;
    opacity:.62;
  }
  .home-about__visual::before{
    right:-45px;
    top:-25px;
    width:150px;
    height:190px;
    opacity:.56;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.9 — realistic acacia + tighter hero + clean image fade
   ========================================================== */

/* Use the transparent, realistic black-locust/acacia branch asset.
   The decoration frames the content from the edges, like the approved mock-up. */
.home-hero::before{
  content:"";
  position:absolute;
  z-index:2;
  left:-92px;
  top:-54px;
  width:245px;
  height:355px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.96;
  transform:rotate(-9deg);
  transform-origin:center;
  pointer-events:none;
}
.home-hero__copy::before{
  content:"";
  display:block;
  position:absolute;
  z-index:-1;
  left:-122px;
  bottom:-104px;
  width:188px;
  height:255px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.54;
  transform:scaleX(-1) rotate(13deg);
  pointer-events:none;
}
.home-hero::after{display:none}

/* Hero starts immediately below the navigation and the image no longer sits
   visually lower than the approved sketch. */
.home-hero{
  margin-top:0;
  background:#fffef8;
}
.home-hero__grid{
  width:min(calc(100% - 36px),1540px);
  margin-inline:auto;
  padding-left:0;
  display:grid;
  grid-template-columns:minmax(500px,43%) minmax(0,57%);
  gap:8px;
  align-items:start;
  min-height:0;
}
.home-hero__copy{
  padding:15px 22px 24px 0;
}
.home-hero__media{
  position:relative;
  margin:0;
  padding:0;
  align-self:start;
  overflow:hidden;
  background:transparent;
}
.home-hero__media img{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center top;
  border:0;
  box-shadow:none;
  transform:none;
  -webkit-mask-image:none;
  mask-image:none;
}
/* Only a narrow transition at the text/photo seam. */
.home-hero__media::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:10%;
  pointer-events:none;
  background:linear-gradient(90deg,#fffef8 0%,rgba(255,254,248,.64) 26%,rgba(255,254,248,.18) 64%,rgba(255,254,248,0) 100%);
}
/* Large acacia branch on the right edge of the hero photo. */
.home-hero__media::after{
  display:block;
  content:"";
  position:absolute;
  z-index:3;
  right:-74px;
  top:-26px;
  width:225px;
  height:315px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.94;
  transform:scaleX(-1) rotate(8deg);
  pointer-events:none;
}

/* House image: no milky fade at the left edge. The image stays fully visible
   until the quote area on the far right. */
.home-about__visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,254,248,0) 0%,
    rgba(255,254,248,0) 74%,
    rgba(255,254,248,.08) 82%,
    rgba(255,254,248,.28) 91%,
    rgba(255,254,248,.58) 100%
  );
}
.home-about__visual::before{
  content:"";
  position:absolute;
  z-index:2;
  right:-72px;
  top:-52px;
  width:230px;
  height:315px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.91;
  transform:scaleX(-1) rotate(-5deg);
  pointer-events:none;
}

/* Fortune Accounting-style scroll-to-top button, recoloured for Pannonia Hem. */
.back-to-top{
  position:fixed;
  right:0;
  bottom:78px;
  z-index:96;
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(23,63,52,.18);
  border-right:0;
  border-radius:10px 0 0 10px;
  background:rgba(23,63,52,.82);
  color:#fff;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  box-shadow:0 10px 26px rgba(23,63,52,.18);
  transition:opacity .25s ease,transform .25s ease,background-color .22s ease,box-shadow .22s ease;
}
.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
@media (hover:hover) and (pointer:fine){
  .back-to-top:hover{background:var(--green-950);box-shadow:0 12px 28px rgba(23,63,52,.24)}
}
.back-to-top:focus-visible{outline:3px solid rgba(200,166,75,.48);outline-offset:3px}

@media(max-width:1100px){
  .home-hero::before{
    left:-82px;
    top:-44px;
    width:205px;
    height:298px;
  }
  .home-hero__copy::before{
    left:-98px;
    bottom:-88px;
    width:158px;
    height:218px;
    opacity:.45;
  }
  .home-hero__grid{
    width:min(calc(100% - 30px),1280px);
    grid-template-columns:minmax(420px,44%) minmax(0,56%);
    gap:6px;
  }
  .home-hero__copy{padding:14px 14px 22px 0}
  .home-hero__media::after{
    right:-62px;
    top:-18px;
    width:190px;
    height:268px;
  }
  .home-about__visual::before{
    right:-58px;
    top:-44px;
    width:195px;
    height:270px;
  }
}

@media(max-width:820px){
  .home-hero::before{
    left:-58px;
    top:-26px;
    width:135px;
    height:202px;
    opacity:.68;
  }
  .home-hero__copy::before{display:none}
  .home-hero__grid{
    width:min(calc(100% - 30px),var(--container));
    grid-template-columns:1fr;
    gap:0;
  }
  .home-hero__copy{padding:32px 0 20px}
  .home-hero__media{
    width:calc(100% + 30px);
    margin:0 -15px;
  }
  .home-hero__media::before{display:none}
  .home-hero__media::after{
    right:-50px;
    top:-12px;
    width:145px;
    height:208px;
    opacity:.78;
  }
  .home-about__visual::before{
    right:-45px;
    top:-30px;
    width:155px;
    height:218px;
    opacity:.72;
  }
  .home-about__visual::after{
    background:linear-gradient(90deg,rgba(255,254,248,0) 0%,rgba(255,254,248,0) 72%,rgba(255,254,248,.16) 88%,rgba(255,254,248,.48) 100%);
  }
  .back-to-top{bottom:76px}
}

@media(max-width:560px){
  .home-hero::before{
    left:-52px;
    top:-18px;
    width:112px;
    height:168px;
    opacity:.55;
  }
  .home-hero__media::after{
    right:-42px;
    top:-6px;
    width:118px;
    height:172px;
    opacity:.68;
  }
  .home-about__visual::before{
    right:-42px;
    top:-24px;
    width:132px;
    height:186px;
    opacity:.62;
  }
  .back-to-top{width:42px;height:42px;bottom:72px}
}


/* ==========================================================
   Pannonia Hem v1.7.11 — fuller acacia + corrected house image + flatter articles
   ========================================================== */

/* Slightly fuller left botanical edge, closer to the approved sketch. */
.home-hero::before{
  left:-102px;
  top:-68px;
  width:282px;
  height:405px;
  opacity:.98;
  transform:rotate(-8deg);
}
.home-hero__copy::before{
  left:-126px;
  bottom:-116px;
  width:218px;
  height:294px;
  opacity:.64;
  transform:scaleX(-1) rotate(12deg);
}

/* ABOUT / HOUSE IMAGE
   The source photo is 650×388 (~1.675:1). The previous visual area was
   much wider than the photo, so object-fit:cover cropped the building heavily.
   Split the visual into a near-native-ratio photo area and a separate quote area. */
.home-about__grid.container{
  grid-template-columns:minmax(430px,44%) minmax(0,56%);
  min-height:348px;
}
.home-about__copy{
  padding:32px 46px 32px 0;
}
.home-about__visual{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,68%) minmax(220px,32%);
  align-items:stretch;
  min-height:348px;
  height:348px;
  overflow:visible;
  background:#f4f8f0;
}
.home-about__visual img{
  position:relative;
  inset:auto;
  z-index:0;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
  background:#eef4e9;
}
.home-about__visual::after{
  display:none;
}
.home-about__quote{
  position:relative;
  z-index:2;
  right:auto;
  bottom:auto;
  top:auto;
  transform:rotate(-1.2deg);
  width:auto;
  min-width:0;
  height:100%;
  padding:32px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:0;
  border-radius:0;
  background:linear-gradient(135deg,#f8fbf5,#fffef9);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:#5b6f64;
  text-align:center;
  font:italic clamp(1.02rem,1.28vw,1.30rem)/1.45 var(--hand);
}
.home-about__quote small{
  display:inline-block;
  margin-top:9px;
  text-align:center;
}
/* Keep the acacia on the far right as decoration, not over the building itself. */
.home-about__visual::before{
  right:-76px;
  top:-58px;
  width:225px;
  height:308px;
  opacity:.88;
  transform:scaleX(-1) rotate(-5deg);
}

/* Wider but clearly flatter Seniorliv cards. */
.seniorlife-preview .container{
  width:min(calc(100% - 36px),1540px);
}
.seniorlife-preview .article-grid{
  gap:14px;
}
.seniorlife-preview .article-card>img{
  aspect-ratio:16/5.7;
  object-fit:cover;
}
.seniorlife-preview .article-card>div{
  padding:15px 18px 14px;
}
.seniorlife-preview .article-card h3{
  font-size:1.22rem;
  margin-bottom:6px;
}
.seniorlife-preview .article-card p{
  line-height:1.42;
  margin-bottom:10px;
}
.seniorlife-preview .article-card .tag{
  margin-bottom:8px;
}

@media(max-width:1100px){
  .home-hero::before{
    left:-86px;
    top:-52px;
    width:230px;
    height:330px;
    opacity:.90;
  }
  .home-hero__copy::before{
    left:-104px;
    bottom:-96px;
    width:178px;
    height:242px;
    opacity:.54;
  }

  .home-about__grid.container{
    grid-template-columns:minmax(380px,43%) minmax(0,57%);
    min-height:320px;
  }
  .home-about__copy{
    padding:28px 34px 28px 0;
  }
  .home-about__visual{
    grid-template-columns:minmax(0,69%) minmax(190px,31%);
    height:320px;
    min-height:320px;
  }
  .home-about__quote{
    padding:26px 20px;
  }
  .home-about__visual::before{
    right:-58px;
    top:-46px;
    width:190px;
    height:260px;
    opacity:.80;
  }
  .seniorlife-preview .container{
    width:min(calc(100% - 34px),1360px);
  }
}

@media(max-width:820px){
  .home-hero::before{
    left:-62px;
    top:-30px;
    width:152px;
    height:220px;
    opacity:.72;
  }

  .home-about__grid.container{
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-about__copy{
    padding:40px 0 26px;
  }
  .home-about__visual{
    width:calc(100% + 30px);
    margin-inline:-15px;
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
    overflow:hidden;
  }
  .home-about__visual img{
    width:100%;
    height:auto;
    aspect-ratio:650/388;
    object-fit:contain;
  }
  .home-about__quote{
    height:auto;
    min-height:120px;
    padding:22px 20px 24px;
  }
  .home-about__visual::before{
    right:-42px;
    top:-32px;
    width:155px;
    height:215px;
    opacity:.68;
  }

  .seniorlife-preview .container{
    width:min(calc(100% - 30px),var(--container));
  }
  .seniorlife-preview .article-card>img{
    aspect-ratio:16/6.5;
  }
}

@media(max-width:560px){
  .home-hero::before{
    left:-54px;
    top:-20px;
    width:124px;
    height:180px;
    opacity:.60;
  }
  .home-about__visual::before{
    right:-38px;
    top:-22px;
    width:128px;
    height:178px;
    opacity:.58;
  }
  .seniorlife-preview .article-card>img{
    aspect-ratio:16/7;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.12 — homepage rebuilt closer to approved sketch
   ========================================================== */

/* HEADER — compact like the sketch, so the hero starts immediately below it. */
@media(min-width:821px){
  .nav-wrap{
    height:66px;
  }
  .brand-logo{
    width:184px;
    height:58px;
  }
  .site-nav{
    gap:22px;
    font-size:.90rem;
  }
  .nav-cta{
    padding:9px 18px;
  }
}

/* HERO — full-width two-column composition matching the sketch.
   Text stays on the left; the photograph starts right after it and reaches
   the viewport edge. */
.home-hero{
  position:relative;
  overflow:hidden;
  margin-top:0;
  background:#fffef8;
}
.home-hero__grid{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(510px,42.5%) minmax(0,57.5%);
  gap:0;
  align-items:stretch;
  min-height:0;
}
.home-hero__copy{
  position:relative;
  z-index:3;
  padding:30px 38px 26px max(44px,calc((100vw - 1540px)/2 + 18px));
}
.home-hero__copy h1{
  max-width:610px;
  font-size:clamp(2.65rem,3.35vw,3.72rem);
  line-height:1.04;
  margin-bottom:.38em;
  text-wrap:balance;
}
.home-hero__copy .lead{
  max-width:560px;
  font-size:1.02rem;
  line-height:1.5;
}
.home-hero__copy .button-row{
  margin-top:17px;
}
.home-hero__note{
  margin-top:14px;
}

/* The sketch has one clear botanical edge on the left, not several
   oversized branches floating through the hero. */
.home-hero::before{
  content:"";
  position:absolute;
  z-index:2;
  left:-62px;
  top:-52px;
  width:210px;
  height:405px;
  background:url('/assets/images/decor/acacia-real.webp') center top/contain no-repeat;
  opacity:.96;
  transform:rotate(-3deg);
  transform-origin:center;
  pointer-events:none;
}
.home-hero__copy::before{
  display:none!important;
}
.home-hero::after{
  display:none!important;
}

.home-hero__media{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  aspect-ratio:1304/690;
  background:#eef4e9;
}
.home-hero__media img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  border:0;
  box-shadow:none;
  transform:none;
  -webkit-mask-image:none;
  mask-image:none;
}
/* Narrow soft blend only at the text/photo join. */
.home-hero__media::before{
  content:"";
  display:block;
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:11%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #fffef8 0%,
    rgba(255,254,248,.78) 24%,
    rgba(255,254,248,.36) 55%,
    rgba(255,254,248,.08) 82%,
    rgba(255,254,248,0) 100%
  );
}
/* No acacia over the hero photo — this is deliberate and follows the sketch. */
.home-hero__media::after{
  display:none!important;
}

/* FEATURE STRIP — broad, compact cards with the same horizontal rhythm as the sketch. */
.feature-strip{
  padding:9px 0;
}
.feature-strip .container{
  width:min(calc(100% - 64px),1540px);
}
.feature-strip__grid{
  gap:10px;
}
.feature-mini{
  padding:22px 14px 20px;
  border-radius:12px;
}
.feature-mini__icon{
  width:43px;
  height:43px;
  margin-bottom:7px;
}
.feature-mini__icon svg{
  width:34px;
  height:34px;
}
.feature-mini h3{
  font-size:1.18rem;
  margin-bottom:5px;
}

/* ABOUT / HOUSE — one wide full-bleed photograph to the right.
   The left edge dissolves softly into the text area and the handwritten
   quote floats over the bright right side, like the approved sketch. */
.home-about{
  position:relative;
  overflow:hidden;
  background:#fffef8;
}
.home-about::before,
.home-about::after{
  display:none!important;
}
.home-about__grid.container{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 0 max(44px,calc((100vw - 1540px)/2 + 18px));
  display:grid;
  grid-template-columns:minmax(500px,42.5%) minmax(0,57.5%);
  align-items:stretch;
  min-height:292px;
}
.home-about__copy{
  position:relative;
  z-index:3;
  padding:32px 48px 30px 0;
}
.home-about__copy h2{
  font-size:clamp(2rem,2.6vw,2.75rem);
  margin-bottom:.32em;
}
.home-about__copy p{
  max-width:620px;
  margin-bottom:.75em;
}
.home-about__visual{
  position:relative;
  display:block;
  width:100%;
  height:292px;
  min-height:292px;
  overflow:hidden;
  background:#eef4e9;
}
.home-about__visual img{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
  background:#eef4e9;
}
/* Stronger white fade at the left edge only; the rest of the house image stays clear. */
.home-about__visual::after{
  content:"";
  display:block;
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #fffef8 0%,
    rgba(255,254,248,.92) 7%,
    rgba(255,254,248,.66) 15%,
    rgba(255,254,248,.32) 23%,
    rgba(255,254,248,.10) 30%,
    rgba(255,254,248,0) 38%,
    rgba(255,254,248,0) 100%
  );
}
/* This is the large right-side acacia visible in the approved sketch. */
.home-about__visual::before{
  content:"";
  position:absolute;
  z-index:4;
  right:-66px;
  top:-58px;
  width:225px;
  height:315px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.96;
  transform:scaleX(-1) rotate(-4deg);
  pointer-events:none;
}
.home-about__quote{
  position:absolute;
  z-index:3;
  top:50%;
  right:max(72px,calc((100vw - 1540px)/2 + 28px));
  bottom:auto;
  transform:translateY(-50%) rotate(-2deg);
  width:min(300px,32%);
  height:auto;
  min-height:0;
  padding:0;
  display:block;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:#5f7168;
  text-align:center;
  font:italic clamp(1.08rem,1.45vw,1.42rem)/1.45 var(--hand);
  text-shadow:0 1px 0 rgba(255,255,255,.72);
}
.home-about__quote small{
  display:inline-block;
  margin-top:7px;
  text-align:center;
  color:#6a7a72;
}

/* TESTIMONIALS — shorter and wider like the sketch, with an acacia edge. */
.testimonials{
  padding:28px 0 36px;
  background:linear-gradient(180deg,#f6f9f2,#eef5e9);
}
.testimonials .container{
  width:min(calc(100% - 70px),1450px);
}
.testimonials::before{
  content:"";
  position:absolute;
  left:-54px;
  bottom:-64px;
  width:150px;
  height:220px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.56;
  transform:rotate(8deg);
}
.testimonial-grid{
  gap:16px;
}
.quote-card{
  padding:19px 22px 18px;
  border-radius:12px;
}

/* SENIORLIV — broad, low cards like the mock-up. */
.seniorlife-preview{
  position:relative;
  overflow:hidden;
  padding:34px 0 40px;
}
.seniorlife-preview::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-48px;
  top:-42px;
  width:130px;
  height:190px;
  background:url('/assets/images/decor/acacia-real.webp') center/contain no-repeat;
  opacity:.42;
  transform:rotate(9deg);
  pointer-events:none;
}
.seniorlife-preview .container{
  position:relative;
  z-index:1;
  width:min(calc(100% - 64px),1510px);
}
.seniorlife-preview .article-grid{
  gap:16px;
}
.seniorlife-preview .article-card>img{
  aspect-ratio:16/5.8;
  object-fit:cover;
}
.seniorlife-preview .article-card>div{
  padding:14px 17px 13px;
}
.seniorlife-preview .article-card h3{
  font-size:1.18rem;
}
.seniorlife-preview .article-card p{
  margin-bottom:8px;
}

/* CTA and footer botanical details now use the actual acacia asset. */
.compact-cta::before{
  background-image:url('/assets/images/decor/acacia-real.webp');
  opacity:.48;
}
.site-footer::after{
  background-image:url('/assets/images/decor/acacia-real.webp');
  opacity:.16;
}

/* CONTACT PAGE — three interactive contact detail tiles. */
.page-contact .contact-card{
  background:linear-gradient(145deg,#f3f8ef,#fffefb);
  border:1px solid rgba(42,86,63,.12);
  box-shadow:0 14px 36px rgba(31,74,52,.06);
}
.page-contact .contact-list{
  list-style:none;
  padding:0;
  margin:22px 0 24px;
  display:grid;
  gap:11px;
}
.page-contact .contact-list li{
  position:relative;
  min-height:76px;
  padding:14px 16px 14px 60px;
  border:1px solid rgba(42,86,63,.11);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  box-shadow:0 5px 16px rgba(31,74,52,.025);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
.page-contact .contact-list li::before{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#e8f2e3,#fdfbf4);
  border:1px solid rgba(42,86,63,.13);
  color:var(--green-800);
  font-size:1rem;
  font-weight:800;
  box-shadow:0 4px 12px rgba(31,74,52,.06);
}
.page-contact .contact-list li:nth-child(1)::before{content:"☎";}
.page-contact .contact-list li:nth-child(2)::before{content:"✉";}
.page-contact .contact-list li:nth-child(3)::before{content:"⌖";}
.page-contact .contact-list strong{
  display:inline-block;
  margin-bottom:2px;
  color:var(--green-950);
}
.page-contact .contact-list a{
  color:var(--green-800);
  font-weight:750;
  text-decoration:none;
}
@media (hover:hover) and (pointer:fine){
  .page-contact .contact-list li:hover{
    transform:translateY(-3px);
    border-color:rgba(174,138,47,.40);
    background:#fffefb;
    box-shadow:0 12px 28px rgba(31,74,52,.10);
  }
  .page-contact .contact-list li:hover::before{
    background:#fff7dd;
    color:#8a6a16;
  }
  .page-contact .contact-list a:hover{
    color:#8a6a16;
  }
}

/* Facebook keeps its own brand colour instead of the site green. */
.social-dot{
  background:#1877F2!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(24,119,242,.22);
}
@media (hover:hover) and (pointer:fine){
  .social-dot:hover{
    background:#0f66d0!important;
    color:#fff!important;
    transform:translateY(-2px);
  }
}

@media(max-width:1100px){
  .home-hero__grid{
    grid-template-columns:minmax(420px,43%) minmax(0,57%);
  }
  .home-hero__copy{
    padding:24px 26px 24px 30px;
  }
  .home-hero::before{
    left:-70px;
    top:-44px;
    width:188px;
    height:350px;
    opacity:.88;
  }

  .home-about__grid.container{
    padding-left:30px;
    grid-template-columns:minmax(420px,43%) minmax(0,57%);
    min-height:275px;
  }
  .home-about__copy{
    padding:28px 34px 28px 0;
  }
  .home-about__visual{
    height:275px;
    min-height:275px;
  }
  .home-about__quote{
    right:46px;
    width:30%;
  }
  .home-about__visual::before{
    right:-58px;
    top:-48px;
    width:196px;
    height:278px;
  }

  .feature-strip .container,
  .testimonials .container,
  .seniorlife-preview .container{
    width:min(calc(100% - 36px),1320px);
  }
}

@media(max-width:820px){
  .home-hero__grid{
    width:min(calc(100% - 30px),var(--container));
    margin-inline:auto;
    grid-template-columns:1fr;
  }
  .home-hero__copy{
    padding:34px 0 22px;
  }
  .home-hero::before{
    left:-58px;
    top:-25px;
    width:138px;
    height:220px;
    opacity:.63;
  }
  .home-hero__media{
    width:calc(100% + 30px);
    margin-inline:-15px;
    aspect-ratio:16/10;
  }
  .home-hero__media::before{
    display:none;
  }

  .feature-strip .container{
    width:min(calc(100% - 24px),var(--container));
  }

  .home-about__grid.container{
    width:min(calc(100% - 30px),var(--container));
    margin-inline:auto;
    padding-left:0;
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-about__copy{
    padding:38px 0 24px;
  }
  .home-about__visual{
    width:calc(100% + 30px);
    margin-inline:-15px;
    height:auto;
    min-height:0;
    aspect-ratio:650/388;
  }
  .home-about__visual img{
    object-fit:cover;
  }
  .home-about__visual::after{
    background:linear-gradient(90deg,rgba(255,254,248,.72) 0%,rgba(255,254,248,.22) 20%,rgba(255,254,248,0) 36%);
  }
  .home-about__quote{
    right:28px;
    width:38%;
    font-size:1.02rem;
  }
  .home-about__visual::before{
    right:-46px;
    top:-34px;
    width:158px;
    height:220px;
    opacity:.78;
  }

  .testimonials .container,
  .seniorlife-preview .container{
    width:min(calc(100% - 30px),var(--container));
  }
  .seniorlife-preview::before{
    width:105px;
    height:155px;
    left:-42px;
  }
}

@media(max-width:560px){
  .home-hero::before{
    left:-50px;
    top:-18px;
    width:112px;
    height:180px;
    opacity:.50;
  }
  .home-hero__copy h1{
    font-size:2.35rem;
  }
  .feature-mini{
    padding:18px 9px 17px;
  }

  .home-about__quote{
    right:18px;
    width:44%;
    font-size:.92rem;
  }
  .home-about__visual::before{
    right:-42px;
    top:-26px;
    width:130px;
    height:185px;
    opacity:.65;
  }

  .page-contact .contact-list li{
    padding-left:56px;
  }
  .page-contact .contact-list li::before{
    left:14px;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.13 — slightly larger desktop navigation
   ========================================================== */
@media(min-width:821px){
  .site-nav{
    font-size:1.05rem;
    gap:21px;
  }
  .language-switch{
    font-size:1rem;
  }
  .nav-cta{
    font-size:1rem;
  }
}

@media(min-width:821px) and (max-width:1100px){
  .site-nav{
    font-size:.98rem;
    gap:14px;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.14 — remove white gap below homepage about
   ========================================================== */

/* Let the house image stretch with the full grid row and remove the
   trailing bottom padding that created the white band before testimonials. */
.home-about__copy{
  padding-bottom:0;
}

.home-about__visual{
  height:100%;
  min-height:292px;
  align-self:stretch;
}

@media(max-width:1100px){
  .home-about__copy{
    padding-bottom:0;
  }
  .home-about__visual{
    height:100%;
    min-height:275px;
  }
}

@media(max-width:820px){
  .home-about__copy{
    padding-bottom:0;
  }
  .home-about__visual{
    height:auto;
    min-height:0;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.15 — smaller Seniorboende albums + homepage image safeguards
   ========================================================== */

/* Both moving albums on the Swedish and Hungarian residence pages should
   feel like supporting content, not dominate the page. */
:is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .gallery-slider{
  width:min(100%,1120px);
  margin:20px auto 0;
}

:is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .gallery-slide img{
  height:clamp(300px,29vw,420px);
  object-fit:cover;
  object-position:center;
}

:is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .placeholder-note{
  width:min(100%,1120px);
  margin-left:auto;
  margin-right:auto;
}

/* Preserve the approved homepage image treatment:
   natural hero proportion, no distortion/zoom and no accidental crop. */
.home-hero__media{
  aspect-ratio:1304/690;
}

.home-hero__media img{
  transform:none!important;
  object-fit:contain;
  object-position:center;
}

/* Keep the large acacia on the right side of the house image visible,
   as in the approved sketch. */
.home-about__visual::before{
  display:block;
}

/* Keep the broad, low Seniorliv image cards on the homepage. */
.seniorlife-preview .article-card>img{
  object-position:center;
}

@media(max-width:1100px){
  :is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .gallery-slider,
  :is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .placeholder-note{
    width:min(100%,960px);
  }

  :is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .gallery-slide img{
    height:clamp(280px,35vw,380px);
  }
}

@media(max-width:820px){
  :is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .gallery-slider,
  :is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .placeholder-note{
    width:100%;
  }

  :is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .gallery-slide img{
    height:clamp(240px,52vw,340px);
  }
}

@media(max-width:560px){
  :is(#lagenhetsbilder,#gemenskapsbilder,#lakaskepek,#kozossegi-kepek) .gallery-slide img{
    height:clamp(220px,62vw,300px);
  }
}


/* ==========================================================
   Pannonia Hem v1.7.16 — SV/HU hero spacing + stable language navigation
   ========================================================== */

/* The Hungarian homepage copy is slightly taller than the Swedish copy.
   Keep the first photograph visually connected to the feature boxes in the
   same way as on the Swedish homepage instead of leaving extra space below it. */
html[lang="hu"] .home-hero__copy{
  padding-top:24px;
  padding-bottom:18px;
}
html[lang="hu"] .home-hero__copy h1{
  font-size:clamp(2.55rem,3.22vw,3.58rem);
  margin-bottom:.34em;
}
html[lang="hu"] .home-hero__copy .lead{
  font-size:1rem;
  line-height:1.46;
}
html[lang="hu"] .home-hero__copy .button-row{
  margin-top:14px;
}
html[lang="hu"] .home-hero__note{
  margin-top:10px;
}
/* If the text column still becomes a little taller at a given viewport,
   anchor the actual photo to the bottom so its gap to the feature strip
   stays consistent with the Swedish version. */
html[lang="hu"] .home-hero__media img{
  object-position:center bottom;
}

/* Stable desktop navigation.
   Each menu item gets the same horizontal slot in Swedish and Hungarian,
   so switching language no longer moves the navigation left/right. */
@media(min-width:1101px){
  .nav-wrap{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    column-gap:18px;
  }
  .site-nav{
    justify-self:end;
    width:850px;
    display:grid;
    grid-template-columns:72px 82px 120px 115px 224px 72px 145px;
    column-gap:3px;
    align-items:center;
    font-size:1.05rem;
  }
  .site-nav>a{
    justify-self:center;
    text-align:center;
  }
  .site-nav .nav-cta{
    justify-self:end;
  }
}

/* Keep the same fixed menu geometry on medium desktop widths as well.
   The brand is slightly narrower here so the Hungarian labels still fit. */
@media(min-width:901px) and (max-width:1100px){
  .nav-wrap{
    display:grid;
    grid-template-columns:140px minmax(0,1fr);
    column-gap:5px;
  }
  .brand{
    min-width:140px;
  }
  .brand-logo{
    width:145px;
    height:54px;
  }
  .site-nav{
    justify-self:end;
    width:710px;
    display:grid;
    grid-template-columns:58px 60px 105px 95px 210px 60px 110px;
    column-gap:2px;
    align-items:center;
    font-size:.98rem;
  }
  .site-nav>a{
    justify-self:center;
    text-align:center;
  }
  .site-nav .nav-cta{
    justify-self:end;
    padding-left:12px;
    padding-right:12px;
  }
}

/* Below 901 px there is not enough room for both languages without moving
   the menu. Use the existing hamburger presentation earlier instead. */
@media(min-width:821px) and (max-width:900px){
  .nav-wrap{
    height:66px;
    display:flex;
  }
  .brand{
    min-width:0;
  }
  .brand-logo{
    width:160px;
    height:56px;
  }
  .menu-toggle{
    display:block;
  }
  .site-nav{
    position:absolute;
    left:18px;
    right:18px;
    top:66px;
    width:auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:18px;
    box-shadow:var(--shadow);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    font-size:1rem;
  }
  .site-nav.is-open{
    display:flex;
  }
  .site-nav>a{
    padding:11px 8px;
    text-align:center;
  }
  .site-nav>a::after{
    display:none;
  }
  .site-nav .nav-cta{
    margin-top:7px;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.17 — unified SV/HU menu typography
   ========================================================== */

/* Use one menu type system for both languages.
   The Hungarian desktop menu is the reference: same font family,
   size, weight and line-height for every menu item in both SV and HU. */
.site-nav,
.site-nav > a,
.site-nav .language-switch,
.site-nav .nav-cta{
  font-family:var(--sans);
  font-size:1.05rem;
  font-weight:650;
  line-height:1.2;
  letter-spacing:0;
}

/* Keep language switch visually aligned with the rest of the navigation. */
.site-nav .language-switch{
  font-weight:650;
}

/* CTA keeps its stronger visual treatment through shape/background,
   not through a different type size or typeface. */
.site-nav .nav-cta{
  font-weight:650;
}

@media(min-width:901px) and (max-width:1100px){
  .site-nav,
  .site-nav > a,
  .site-nav .language-switch,
  .site-nav .nav-cta{
    font-size:.98rem;
  }
}

@media(max-width:900px){
  .site-nav,
  .site-nav > a,
  .site-nav .language-switch,
  .site-nav .nav-cta{
    font-size:1rem;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.18 — full-width footer + designed contact details
   ========================================================== */

/* Let the footer use the same generous horizontal canvas as the homepage.
   Logo anchors the far left while social media gets its own far-right column. */
.site-footer{
  padding:48px 0 20px;
}
.site-footer .footer-grid,
.site-footer .footer-bottom{
  width:min(calc(100% - 72px),1540px);
  max-width:none;
  margin-inline:auto;
}
.site-footer .footer-grid{
  grid-template-columns:minmax(270px,1.35fr) minmax(170px,.70fr) minmax(290px,.95fr) minmax(150px,.48fr);
  gap:clamp(34px,4vw,74px);
  align-items:start;
}
.site-footer .footer-grid>div:first-child{
  justify-self:start;
}
.site-footer .footer-grid>div:last-child{
  justify-self:end;
  min-width:150px;
  text-align:right;
}
.site-footer .footer-grid>div:last-child .social-row{
  justify-content:flex-end;
}
.site-footer .footer-grid>div:last-child .small{
  text-align:right;
}
.site-footer::after{
  right:-28px;
  bottom:-26px;
  width:165px;
  height:205px;
  opacity:.11;
}

/* Contact details: small visual icons and a lighter, more deliberate rhythm. */
.site-footer address{
  position:relative;
  font-style:normal;
  font-size:.90rem;
  line-height:1.72;
  color:var(--ink-2);
}
.site-footer address::before{
  content:"⌖";
  display:inline-grid;
  place-items:center;
  width:27px;
  height:27px;
  margin:0 8px 5px 0;
  border-radius:9px;
  background:linear-gradient(145deg,#edf5e9,#fffdf7);
  border:1px solid rgba(47,111,69,.12);
  color:var(--green-800);
  font-size:.90rem;
  font-weight:800;
  vertical-align:middle;
  box-shadow:0 4px 12px rgba(31,74,52,.05);
}
.site-footer address a[href^="tel:"],
.site-footer address a[href^="mailto:"]{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:7px;
  padding:5px 9px 5px 5px;
  border-radius:11px;
  background:rgba(246,250,243,.76);
  border:1px solid rgba(47,111,69,.09);
  color:var(--ink-2);
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.site-footer address a[href^="tel:"]::before,
.site-footer address a[href^="mailto:"]::before{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:26px;
  height:26px;
  border-radius:8px;
  background:#eef5eb;
  color:var(--green-800);
  font-size:.82rem;
  font-weight:800;
}
.site-footer address a[href^="tel:"]::before{
  content:"☎";
}
.site-footer address a[href^="mailto:"]::before{
  content:"✉";
}

/* A more intentional social column. */
.site-footer .social-dot{
  width:38px;
  height:38px;
  font-size:1.05rem;
  box-shadow:0 7px 18px rgba(24,119,242,.20);
}
.site-footer .social-row{
  margin-top:10px;
}

@media (hover:hover) and (pointer:fine){
  .site-footer address a[href^="tel:"]:hover,
  .site-footer address a[href^="mailto:"]:hover{
    top:0;
    transform:translateY(-2px);
    color:var(--green-800);
    border-color:rgba(47,111,69,.24);
    background:#fffef9;
    box-shadow:0 8px 18px rgba(31,74,52,.07);
  }
}

@media(max-width:1100px){
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    width:min(calc(100% - 44px),1320px);
  }
  .site-footer .footer-grid{
    grid-template-columns:minmax(235px,1.15fr) minmax(150px,.70fr) minmax(260px,1fr) minmax(130px,.46fr);
    gap:28px;
  }
}

@media(max-width:820px){
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    width:min(calc(100% - 30px),var(--container));
  }
  .site-footer .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:34px 28px;
  }
  .site-footer .footer-grid>div:last-child{
    justify-self:start;
    text-align:left;
  }
  .site-footer .footer-grid>div:last-child .social-row{
    justify-content:flex-start;
  }
  .site-footer .footer-grid>div:last-child .small{
    text-align:left;
  }
}

@media(max-width:560px){
  .site-footer{
    padding-top:40px;
  }
  .site-footer .footer-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .site-footer .footer-logo{
    width:190px;
  }
  .site-footer .footer-grid>div:last-child{
    min-width:0;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.19 — cleaner footer icons + separate company column
   ========================================================== */

/* Contact rows stay completely open: icons only, no pills, boxes or frames. */
.site-footer address::before{
  content:"⌖";
  display:inline-block;
  width:20px;
  height:auto;
  margin:0 7px 4px 0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:var(--green-800);
  font-size:1rem;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
}
.site-footer address a[href^="tel:"],
.site-footer address a[href^="mailto:"]{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:7px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--ink-2);
}
.site-footer address a[href^="tel:"]::before,
.site-footer address a[href^="mailto:"]::before{
  display:inline-grid;
  place-items:center;
  flex:0 0 18px;
  width:18px;
  height:18px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:var(--green-800);
  font-size:.92rem;
  line-height:1;
}
.site-footer address a[href^="tel:"]::before{content:"☎";}
.site-footer address a[href^="mailto:"]::before{content:"✉";}

@media (hover:hover) and (pointer:fine){
  .site-footer address a[href^="tel:"]:hover,
  .site-footer address a[href^="mailto:"]:hover{
    transform:none;
    border:0;
    background:transparent;
    box-shadow:none;
    color:var(--green-700);
  }
}

/* The former social block becomes two clear visual columns:
   company details on their own, Facebook at the far right. */
@media(min-width:821px){
  .site-footer .footer-grid{
    grid-template-columns:minmax(270px,1.28fr) minmax(160px,.66fr) minmax(275px,.92fr) minmax(205px,.72fr) minmax(105px,.38fr);
  }
  .site-footer .footer-grid>div:last-child{
    grid-column:4 / 6;
    justify-self:stretch;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(205px,1fr) minmax(105px,.52fr);
    grid-template-rows:auto auto;
    column-gap:clamp(28px,3vw,52px);
    align-items:start;
    text-align:left;
  }
  .site-footer .footer-grid>div:last-child .small{
    grid-column:1;
    grid-row:1 / 3;
    align-self:start;
    margin:0!important;
    text-align:left;
    font-size:.84rem;
    line-height:1.62;
    color:var(--ink-2);
  }
  .site-footer .footer-grid>div:last-child .small::first-line{
    font-weight:800;
    color:var(--ink);
  }
  .site-footer .footer-grid>div:last-child .footer-heading{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    margin-bottom:10px;
    text-align:right;
  }
  .site-footer .footer-grid>div:last-child .social-row{
    grid-column:2;
    grid-row:2;
    justify-self:end;
    justify-content:flex-end;
    margin-top:0;
  }
}

@media(min-width:821px) and (max-width:1100px){
  .site-footer .footer-grid{
    grid-template-columns:minmax(220px,1.05fr) minmax(140px,.62fr) minmax(240px,.90fr) minmax(185px,.70fr) minmax(90px,.34fr);
    gap:22px;
  }
  .site-footer .footer-grid>div:last-child{
    grid-template-columns:minmax(185px,1fr) minmax(90px,.46fr);
    column-gap:20px;
  }
}

@media(max-width:820px){
  .site-footer .footer-grid>div:last-child{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    align-items:start;
  }
  .site-footer .footer-grid>div:last-child .small{
    grid-column:1;
    grid-row:1 / 3;
    margin:0!important;
    text-align:left;
    line-height:1.62;
  }
  .site-footer .footer-grid>div:last-child .small::first-line{
    font-weight:800;
    color:var(--ink);
  }
  .site-footer .footer-grid>div:last-child .footer-heading{
    grid-column:2;
    grid-row:1;
    margin-bottom:8px;
  }
  .site-footer .footer-grid>div:last-child .social-row{
    grid-column:2;
    grid-row:2;
    margin-top:0;
  }
}

@media(max-width:560px){
  .site-footer .footer-grid>div:last-child{
    grid-template-columns:1fr;
    gap:14px;
  }
  .site-footer .footer-grid>div:last-child .small,
  .site-footer .footer-grid>div:last-child .footer-heading,
  .site-footer .footer-grid>div:last-child .social-row{
    grid-column:1;
    grid-row:auto;
  }
  .site-footer .footer-grid>div:last-child .small{
    margin-bottom:10px!important;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.20 — 25% tighter interior pages + mobile hardening
   ========================================================== */

/* Interior pages only: keep the homepage's more visual rhythm untouched. */
body:not(.page-home) .section{
  padding:clamp(51px,6vw,81px) 0;
}
body:not(.page-home) .section--compact{
  padding:41px 0;
}
body:not(.page-home) .page-hero{
  padding:clamp(50px,6vw,79px) 0;
}
body:not(.page-home) .section-heading{
  margin-bottom:27px;
}
body:not(.page-home) .split-intro{
  gap:45px;
}
body:not(.page-home) .media-split{
  gap:41px;
}
body:not(.page-home) .page-hero__grid{
  gap:39px;
}
body:not(.page-home) .page-hero__grid .image-frame,
body:not(.page-home) .page-hero__grid .image-frame img{
  min-height:290px;
}
body:not(.page-home) .page-hero--media .page-hero__copy{
  padding:56px 42px 56px 0;
}
body:not(.page-home) .page-hero__image{
  min-height:325px;
}

/* Cards and repeated content blocks: approximately 25% tighter as well. */
body:not(.page-home) .feature-grid,
body:not(.page-home) .topic-grid,
body:not(.page-home) .values-grid{
  gap:15px;
}
body:not(.page-home) .feature-card{
  padding:21px;
}
body:not(.page-home) .info-card{
  padding:20px;
}
body:not(.page-home) .notice{
  padding:17px 18px;
}
body:not(.page-home) .topic-card{
  min-height:178px;
  padding:21px;
}
body:not(.page-home) .illustration-card{
  min-height:260px;
  padding:29px;
}
body:not(.page-home) .detail-grid{
  margin-top:20px;
  gap:10px;
}
body:not(.page-home) .detail-grid>div{
  padding:14px;
}
body:not(.page-home) .values-grid article{
  padding:20px;
}
body:not(.page-home) .steps{
  gap:12px;
}
body:not(.page-home) .steps>li{
  padding-top:17px;
  padding-bottom:17px;
}

/* Article pages get the same compact rhythm. */
.page-article .article-hero{
  padding:53px 0;
}
.page-article .article-body{
  padding-top:47px;
  padding-bottom:59px;
  gap:44px;
}
.page-article .article-hero__grid{
  gap:34px;
}

/* Mobile safety: prevent decorative/full-bleed elements from causing
   accidental horizontal page scrolling. */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

/* Long Hungarian labels and legal links must wrap instead of pushing layout. */
.breadcrumbs .container,
.footer-bottom__links{
  flex-wrap:wrap;
}
.breadcrumbs strong,
.breadcrumbs a,
.site-footer address a,
.contact-item a,
.prose a{
  overflow-wrap:anywhere;
}

/* Menu stays usable on short mobile screens and landscape phones. */
@media(max-width:900px){
  .site-nav{
    max-height:calc(100dvh - 82px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .menu-toggle{
    min-width:44px;
    min-height:44px;
  }
}

/* Tablet / mobile interior pages. */
@media(max-width:820px){
  body:not(.page-home) .section{
    padding:48px 0;
  }
  body:not(.page-home) .page-hero{
    padding:46px 0;
  }
  body:not(.page-home) .section-heading{
    margin-bottom:24px;
  }
  body:not(.page-home) .split-intro,
  body:not(.page-home) .media-split,
  body:not(.page-home) .page-hero__grid{
    gap:28px;
  }
  body:not(.page-home) .page-hero__grid .image-frame,
  body:not(.page-home) .page-hero__grid .image-frame img{
    min-height:230px;
  }
  body:not(.page-home) .page-hero--media .page-hero__copy{
    padding:44px 0 26px;
  }
  body:not(.page-home) .page-hero__image{
    min-height:260px;
    margin-inline:-15px;
  }

  .page-article .article-hero{
    padding:42px 0;
  }
  .page-article .article-body{
    padding-top:38px;
    padding-bottom:48px;
    gap:30px;
  }

  /* Keep tap targets comfortable after making the layout denser. */
  .btn,
  .gallery-slider__arrow,
  .floating-language__toggle,
  .floating-language__menu a{
    min-height:44px;
  }
  .gallery-slider__arrow{
    width:44px;
    height:44px;
  }

  /* Prevent iOS from zooming into fields and keep controls touch-friendly. */
  input,
  select,
  textarea,
  button{
    font-size:16px;
  }
  .field input,
  .field select,
  .form-row input,
  .form-row select{
    min-height:44px;
  }

  .footer-bottom__links{
    row-gap:10px;
  }
}

/* Small phones: still compact, but not cramped. */
@media(max-width:560px){
  body:not(.page-home) .section{
    padding:44px 0;
  }
  body:not(.page-home) .section--compact{
    padding:38px 0;
  }
  body:not(.page-home) .page-hero{
    padding:42px 0;
  }
  body:not(.page-home) .section-heading{
    margin-bottom:21px;
  }
  body:not(.page-home) .page-hero h1{
    font-size:clamp(2.15rem,10vw,2.65rem);
  }
  body:not(.page-home) .page-hero__grid .image-frame,
  body:not(.page-home) .page-hero__grid .image-frame img{
    min-height:205px;
  }
  body:not(.page-home) .page-hero__image{
    min-height:230px;
  }
  body:not(.page-home) .feature-card,
  body:not(.page-home) .info-card,
  body:not(.page-home) .values-grid article{
    padding:18px;
  }
  body:not(.page-home) .topic-card{
    min-height:0;
    padding:19px;
  }
  body:not(.page-home) .illustration-card{
    min-height:220px;
    padding:22px;
  }

  .page-article .article-hero{
    padding:39px 0;
  }
  .page-article .article-body{
    padding-top:34px;
    padding-bottom:44px;
  }

  .breadcrumbs .container{
    gap:6px 8px;
    line-height:1.45;
  }

  .site-footer .footer-bottom{
    gap:13px;
  }
  .footer-bottom__links{
    gap:10px 14px;
  }
}


/* ==========================================================
   Pannonia Hem v1.7.22 — another 20–25% tighter on all inner pages
   ========================================================== */

/* All Swedish and Hungarian inner pages.
   Both homepages use .page-home and are intentionally excluded. */
body:not(.page-home) .section{
  padding:clamp(40px,4.7vw,62px) 0;
}
body:not(.page-home) .section--compact{
  padding:32px 0;
}
body:not(.page-home) .page-hero{
  padding:clamp(39px,4.7vw,60px) 0;
}
body:not(.page-home) .section-heading{
  margin-bottom:21px;
}
body:not(.page-home) .section-heading-row{
  margin-bottom:22px;
}
body:not(.page-home) .split-intro{
  gap:34px;
}
body:not(.page-home) .media-split{
  gap:31px;
}
body:not(.page-home) .page-hero__grid{
  gap:30px;
}
body:not(.page-home) .page-hero__grid .image-frame,
body:not(.page-home) .page-hero__grid .image-frame img{
  min-height:225px;
}
body:not(.page-home) .page-hero--media .page-hero__copy{
  padding:43px 32px 43px 0;
}
body:not(.page-home) .page-hero__image{
  min-height:255px;
}

/* Repeated card/content groups should follow the same tighter rhythm. */
body:not(.page-home) .feature-grid,
body:not(.page-home) .topic-grid,
body:not(.page-home) .values-grid,
body:not(.page-home) .residence-gallery{
  gap:12px;
}
body:not(.page-home) .feature-card{
  padding:17px 18px;
}
body:not(.page-home) .info-card{
  padding:16px;
}
body:not(.page-home) .notice{
  padding:14px 15px;
}
body:not(.page-home) .topic-card{
  min-height:142px;
  padding:17px;
}
body:not(.page-home) .illustration-card{
  min-height:210px;
  padding:23px;
}
body:not(.page-home) .detail-grid{
  margin-top:16px;
  gap:8px;
}
body:not(.page-home) .detail-grid>div{
  padding:11px 12px;
}
body:not(.page-home) .values-grid article{
  padding:16px;
}
body:not(.page-home) .steps{
  gap:10px;
}
body:not(.page-home) .steps>li{
  padding-top:14px;
  padding-bottom:14px;
}
body:not(.page-home) .faq{
  gap:9px;
}
body:not(.page-home) .faq summary{
  padding:14px 0;
}
body:not(.page-home) .faq details p{
  padding-bottom:14px;
}

/* Contact and other form-heavy pages. */
body:not(.page-home) .contact-layout,
body:not(.page-home) .contact-grid{
  gap:32px;
}
body:not(.page-home) .contact-form,
body:not(.page-home) .contact-card,
body:not(.page-home) .contact-panel{
  padding:22px;
}
body:not(.page-home) .form-row{
  margin-bottom:11px;
}

/* Article / Seniorliv detail pages. */
.page-article .article-hero{
  padding:40px 0;
}
.page-article .article-hero__grid{
  gap:26px;
}
.page-article .article-body{
  padding-top:36px;
  padding-bottom:45px;
  gap:34px;
}
.page-article .article-aside .aside-card{
  padding:19px;
}

/* Slightly tighter inner-page footer; homepage footer stays unchanged. */
body:not(.page-home) .site-footer{
  padding-top:38px;
}
body:not(.page-home) .site-footer .footer-grid{
  gap:clamp(24px,3vw,48px);
}
body:not(.page-home) .footer-bottom{
  margin-top:26px;
}

/* Tablet and mobile: reduce empty vertical space without shrinking touch targets. */
@media(max-width:820px){
  body:not(.page-home) .section{
    padding:37px 0;
  }
  body:not(.page-home) .section--compact{
    padding:30px 0;
  }
  body:not(.page-home) .page-hero{
    padding:35px 0;
  }
  body:not(.page-home) .section-heading{
    margin-bottom:19px;
  }
  body:not(.page-home) .split-intro,
  body:not(.page-home) .media-split,
  body:not(.page-home) .page-hero__grid{
    gap:22px;
  }
  body:not(.page-home) .page-hero__grid .image-frame,
  body:not(.page-home) .page-hero__grid .image-frame img{
    min-height:195px;
  }
  body:not(.page-home) .page-hero--media .page-hero__copy{
    padding:34px 0 20px;
  }
  body:not(.page-home) .page-hero__image{
    min-height:215px;
  }
  body:not(.page-home) .contact-layout,
  body:not(.page-home) .contact-grid{
    gap:24px;
  }
  body:not(.page-home) .site-footer{
    padding-top:34px;
  }

  .page-article .article-hero{
    padding:33px 0;
  }
  .page-article .article-body{
    padding-top:30px;
    padding-bottom:38px;
    gap:24px;
  }
}

@media(max-width:560px){
  body:not(.page-home) .section{
    padding:34px 0;
  }
  body:not(.page-home) .section--compact{
    padding:28px 0;
  }
  body:not(.page-home) .page-hero{
    padding:32px 0;
  }
  body:not(.page-home) .section-heading{
    margin-bottom:17px;
  }
  body:not(.page-home) .page-hero__grid .image-frame,
  body:not(.page-home) .page-hero__grid .image-frame img{
    min-height:180px;
  }
  body:not(.page-home) .page-hero__image{
    min-height:195px;
  }
  body:not(.page-home) .feature-card,
  body:not(.page-home) .info-card,
  body:not(.page-home) .values-grid article{
    padding:15px;
  }
  body:not(.page-home) .topic-card{
    min-height:0;
    padding:16px;
  }
  body:not(.page-home) .illustration-card{
    min-height:185px;
    padding:18px;
  }
  body:not(.page-home) .contact-form,
  body:not(.page-home) .contact-card,
  body:not(.page-home) .contact-panel{
    padding:18px;
  }

  .page-article .article-hero{
    padding:30px 0;
  }
  .page-article .article-body{
    padding-top:27px;
    padding-bottom:34px;
  }

  body:not(.page-home) .site-footer{
    padding-top:30px;
  }
}
