﻿:root{--forest:#1f3a30;--forest-2:#294b3e;--olive:#718238;--lake:#5f7d88;--sand:#f6f3ea;--sage:#e7ecd9;--gold:#d8c477;--ink:#20352d;--muted:#617069;--line:#d5ddce;--white:#fffdf7;--shadow:0 18px 50px #1f3a3015;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font:18px/1.7 var(--sans)}a{color:var(--forest);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--olive)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip{position:absolute;left:1rem;top:-5rem;background:var(--forest);color:#fff;padding:.7rem 1rem;z-index:20}.skip:focus{top:1rem}.site-header{position:absolute;z-index:10;top:0;width:100%;padding:1.2rem clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--white)}.site-header.solid{position:sticky;background:#f6f3eaf2;color:var(--forest);box-shadow:0 2px 20px #1f3a3012;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none;line-height:1}.brand svg{width:32px;height:32px}.brand strong{font:clamp(1.6rem,3vw,2.2rem) var(--serif);display:block}.brand small{font-size:.7rem;letter-spacing:.02em}.nav-toggle{display:none;background:transparent;border:1px solid currentColor;color:inherit;min-width:44px;min-height:44px;border-radius:8px;font-size:1.4rem}.main-nav{display:flex;align-items:center;gap:clamp(.6rem,1.4vw,1.35rem);font-size:.88rem}.main-nav a,.languages a{color:inherit;text-decoration:none;padding:.35rem 0;border-bottom:2px solid transparent}.main-nav a[aria-current=page]{color:var(--olive);border-bottom-color:var(--olive)}.languages{display:flex;gap:.45rem;white-space:nowrap}.languages a[aria-current=page]{font-weight:700;color:var(--olive)}main{min-height:60vh}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(90deg,#112a22b8,#112a2240),url('../img/tausta.jpeg') center/cover no-repeat;overflow:hidden}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#112a22cc 0%,transparent 58%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:850px;padding:clamp(7rem,16vh,11rem) clamp(1rem,8vw,8rem) clamp(4rem,10vh,7rem)}.hero blockquote,.quote blockquote{font:italic clamp(1.9rem,4vw,3.7rem)/1.18 var(--serif);margin:0 0 1.5rem;max-width:18ch}.hero h1{font:normal clamp(2rem,4vw,4.3rem)/1.1 var(--serif);margin:.5rem 0}.hero p{max-width:45rem;font-size:1.15rem}.buttons{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.65rem 1.2rem;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;font-weight:600}.button.alt{background:transparent;color:inherit;border-color:currentColor}.hero .button{background:var(--gold);color:var(--forest);border-color:var(--gold)}.scroll-hint{position:absolute;bottom:1.2rem;right:8vw;z-index:2;font-size:.8rem}.section{padding:clamp(4rem,8vw,8rem) max(1rem,calc((100% - 1160px)/2))}.section.soft{background:var(--sage)}.section.dark{background:var(--forest);color:#fff}.section-heading{max-width:700px;margin-bottom:2rem}.eyebrow{color:var(--olive);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.section h2,.page-title{font:normal clamp(2rem,4vw,3.4rem)/1.15 var(--serif);margin:.2rem 0 1.2rem}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem}.card-link{display:block;color:inherit;text-decoration:none}.card-link:hover,.card-link:focus-visible{color:inherit;text-decoration:none}

/* Contact section as a polished, separated card */
#contact{position:relative;padding-bottom:clamp(4rem,6vw,6rem)}
#contact::after{content:'';position:absolute;left:50%;bottom:1.25rem;transform:translateX(-50%);width:min(680px,84vw);height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--gold) 22%,#f1f5e8 50%,var(--gold) 78%,transparent);box-shadow:0 0 14px rgba(216,196,119,.45)}
#contact h2{margin-bottom:1.9rem;text-align:center}
#contact .contact-card{margin:0;padding:clamp(1.7rem,3vw,2.6rem);border:1px solid rgba(216,196,119,.35);border-radius:20px;background:linear-gradient(135deg,rgba(255,253,247,.92),rgba(231,236,217,.7));box-shadow:0 18px 50px rgba(31,58,48,.12)}
#contact .contact-card a{display:block;margin:.6rem 0;padding:.55rem .9rem .55rem 2rem;border-radius:999px;font-weight:600;text-decoration:none;position:relative;transition:background .2s ease,color .2s ease}
#contact .contact-card a::before{content:'';position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:.5rem;height:.5rem;border-radius:50%;background:var(--olive);box-shadow:0 0 0 3px rgba(113,130,56,.15)}
#contact .contact-card a:hover,.contact-card a:focus-visible{background:rgba(231,236,217,.8);color:var(--forest)}
#contact .contact-card a.address-link::before{background:var(--gold);box-shadow:0 0 0 3px rgba(216,196,119,.18)}

/* Clear separation between contact and the article teaser below it */

.card{grid-column:span 2;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.card:nth-child(4),.card:nth-child(5){grid-column:span 3}.card:hover{transform:translateY(-5px);box-shadow:0 22px 55px #1f3a3020}.card img{width:100%;height:190px;object-fit:cover;display:block}.card-body{padding:1.2rem}.card h3{font:normal 1.65rem var(--serif);margin:.1rem 0 .5rem}.card p{font-size:.95rem}.card .more{font-weight:700}.split{display:grid;grid-template-columns:minmax(260px, .85fr) 1.15fr;gap:clamp(2rem,7vw,7rem);align-items:center}.portrait,.feature-image{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:40% 12px 12px 12px;box-shadow:var(--shadow)}.prose{max-width:70ch}.prose p{margin:0 0 1.25rem}.prose>p:first-child{font-size:1.16em}.quote{padding:clamp(3rem,8vw,6rem) max(1rem,calc((100% - 940px)/2));background:var(--sage)}.quote blockquote{color:var(--forest);font-size:clamp(1.8rem,3.7vw,3rem);max-width:30ch}.quote cite{color:var(--muted);font-size:1rem;font-style:normal}.banner{min-height:55vh;padding:9rem max(1rem,calc((100% - 1160px)/2)) 4rem;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(#112a2266,#112a22c7),url('../img/tausta.jpeg') center/cover}.banner .page-title{margin:0;color:#fff}.page-wrap{max-width:1160px;margin:auto;padding:1.5rem 1rem}.pager{display:flex;justify-content:space-between;gap:1rem;margin-bottom:3rem}.pager a{background:var(--sage);padding:.6rem 1rem;border-radius:99px;text-decoration:none;font-size:.9rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}.more-content{overflow:hidden;max-height:0;transition:max-height .45s}.more-content.open{max-height:6000px}.read-more{border:0;background:transparent;color:var(--olive);font:600 1rem var(--sans);padding:.5rem 0;cursor:pointer}.closing{text-align:center;font:italic 1.2rem var(--serif);margin:3rem 0}.timeline{border-left:2px solid var(--olive);margin:2rem 0;padding-left:1.5rem}.timeline h3{font:normal 1.6rem var(--serif)}.timeline li{margin:.55rem 0}.price-groups{display:grid;gap:2rem}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.price-card{background:var(--white);border:1px solid var(--line);padding:1.4rem;border-radius:12px}.price-card h3{font:normal 1.4rem var(--serif);margin-top:0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.contact-item{padding:1.3rem;border:1px solid #ffffff38;border-radius:12px}.contact-item strong{display:block;color:var(--gold)}footer{background:var(--forest);color:#edf0e5;padding:3rem max(1rem,calc((100% - 1160px)/2)) 2rem}footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}footer h2{font:normal 1.5rem var(--serif)}footer nav{display:grid;gap:.25rem}footer small{display:block;margin-top:2rem;color:#c8d2c6}.news{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.news article{background:var(--white);padding:1.4rem;border-radius:12px;border:1px solid var(--line)}@media(max-width:900px){.nav-toggle{display:block}.main-nav{display:none;position:fixed;inset:0;background:var(--sand);color:var(--forest);padding:6rem 2rem 2rem;flex-direction:column;align-items:flex-start;font-size:1.2rem;overflow:auto}.main-nav.open{display:flex}.site-header:has(.main-nav.open){position:fixed}.cards{grid-template-columns:1fr 1fr}.card,.card:nth-child(4),.card:nth-child(5){grid-column:span 1}.card:nth-child(5){grid-column:1 / -1;justify-self:center;width:min(100%,440px)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){body{font-size:17px}.cards,.split,.contact-grid,.news,.footer-grid{grid-template-columns:1fr}.card,.card:nth-child(4),.card:nth-child(5){grid-column:auto}.card:nth-child(5){width:100%;justify-self:stretch}.hero-content{padding-inline:1.2rem}.banner{min-height:48vh}.pager{font-size:.85rem}.main-nav a{padding:.5rem 0}.hero blockquote{font-size:2rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* Refinements: always-visible content, clearer pricing and robust mobile navigation */
.more-content,.more-content.open{max-height:none;overflow:visible;display:block}
.read-more{display:none}
.price-grid{align-items:stretch;gap:1.25rem}
.price-grid .card{grid-column:auto;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}
.price-grid .card img{height:120px;filter:saturate(.72)}
.price-grid .card-body{display:flex;flex:1;flex-direction:column}
.price-grid .card-body p{border-top:1px solid var(--line);padding-top:.8rem;margin-top:.75rem}
.nav-toggle{appearance:none;-webkit-appearance:none;display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--forest);background:var(--white);color:var(--forest);font-size:0;line-height:1;cursor:pointer;z-index:12}
.nav-toggle::before,.nav-toggle::after{content:'';position:absolute;width:22px;height:2px;background:currentColor;transition:transform .2s,box-shadow .2s}
.nav-toggle::before{transform:translateY(-6px);box-shadow:0 6px currentColor}
.nav-toggle::after{transform:translateY(6px)}
.nav-toggle[aria-expanded=true]::before{transform:rotate(45deg);box-shadow:none}
.nav-toggle[aria-expanded=true]::after{transform:rotate(-45deg)}
@media(max-width:900px){.site-header{padding:.85rem 1rem}.nav-toggle{display:inline-flex;position:relative;flex:0 0 48px}.main-nav{z-index:11}.languages{z-index:12}.brand small{font-size:.62rem}.hero-content{padding-top:8rem}}
@media(max-width:600px){.price-grid{grid-template-columns:1fr}.price-grid .card img{height:145px}.section{padding-top:3.5rem;padding-bottom:3.5rem}.hero{min-height:88svh}}
.pricing-banner{min-height:42vh}.pricing-page{max-width:1160px;margin:auto}.pricing-intro{max-width:70ch;margin:0 auto 3rem;font-size:1.05em}.pricing-intro .notice{background:var(--gold);color:var(--forest);padding:1rem 1.2rem;border-radius:10px;font-weight:700}.pricing-page h2{margin-top:3rem}.pricing-page .price-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:1rem}.price-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.35rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.8rem;transition:transform .2s,box-shadow .2s}.price-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px #1f3a3022}.price-card h3{font:normal 1.35rem/1.25 var(--serif);margin:0;color:var(--forest)}.price-row{border-top:1px solid var(--line);padding-top:.8rem;font-size:.95rem}.pricing-page .price-grid:first-of-type .price-card:nth-child(n+5){display:none}
/* Final layout and mobile menu fixes */
.pricing-page{display:block!important;width:100%;max-width:1160px;margin-inline:auto}
.pricing-intro{width:min(100%,850px);max-width:none;margin-inline:auto}
.pricing-page .price-grid{display:grid!important;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.pricing-page .price-grid:last-of-type{grid-template-columns:repeat(3,minmax(0,1fr))}
.pricing-page .price-card{min-width:0;width:100%}
.pricing-page .price-card h3{overflow-wrap:anywhere}
.menu-open{overflow:hidden}
@media(max-width:900px){
 .site-header{z-index:100}
 .site-header .nav-toggle{display:inline-flex;position:relative;z-index:103;flex:0 0 48px}
 .site-header .main-nav{display:none!important;position:fixed;z-index:101;inset:0;background:var(--sand);color:var(--forest);padding:6.5rem 2rem 2rem;flex-direction:column;align-items:stretch;gap:.35rem;overflow-y:auto}
 .site-header .main-nav.open{display:flex!important;visibility:visible!important;opacity:1!important}
 .site-header .main-nav a{display:block!important;visibility:visible!important;opacity:1!important;font-size:1.2rem;line-height:1.3;padding:.75rem 0;border-bottom:1px solid var(--line)}
 .site-header .languages{position:relative;z-index:104}
 .pricing-page .price-grid,.pricing-page .price-grid:last-of-type{grid-template-columns:1fr}
 .pricing-page .price-card{width:100%}
}
/* Dedicated pricing layout */
.pricing-page.section{display:block!important;max-width:1180px!important;width:100%!important;margin:0 auto!important;padding-left:clamp(1rem,3vw,2.5rem)!important;padding-right:clamp(1rem,3vw,2.5rem)!important}
.pricing-page .pricing-intro{display:block!important;width:100%!important;max-width:850px!important;margin:0 0 3rem!important}
.pricing-page .pricing-intro p{display:block!important;width:100%!important;max-width:850px!important;margin:0 0 1rem!important}
.pricing-page .pricing-intro .notice{width:100%!important;max-width:850px!important}
.pricing-page h2{width:100%;margin:3rem 0 1.25rem}
.pricing-page .price-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.25rem!important;width:100%!important;margin:0!important}
.pricing-page .price-grid:last-of-type{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.pricing-page .price-card{display:flex!important;min-height:100%!important;width:100%!important;padding:1.5rem!important;box-sizing:border-box!important}
.pricing-page .price-card h3{width:100%;margin:0 0 .25rem!important}
.pricing-page .price-row{width:100%;margin:0!important;line-height:1.55}
@media(max-width:800px){.pricing-page .price-grid,.pricing-page .price-grid:last-of-type{grid-template-columns:1fr!important}.pricing-page.section{padding-left:1rem!important;padding-right:1rem!important}}

/* Service pages */
.service-banner{position:relative;min-height:38vh;display:flex;align-items:flex-end;padding:clamp(2.5rem,7vw,6rem) max(1rem,calc((100% - 1160px)/2));color:var(--white);background-color:var(--forest);background-image:linear-gradient(110deg,rgba(16,42,35,.38),rgba(31,58,48,.12)),var(--service-image);background-position:center;background-size:cover;background-repeat:no-repeat}
.service-banner-content{position:relative;z-index:1;max-width:760px}.service-kicker{margin:0 0 .7rem;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.service-banner h1{margin:0;font:normal clamp(2.7rem,7vw,5.5rem)/.98 var(--serif);letter-spacing:-.04em}.service-banner .lead{max-width:38rem;margin:1.3rem 0 0;font-size:clamp(1.05rem,2vw,1.3rem);color:#f7f6ec}
.service-page{max-width:1160px;margin:0 auto;padding:clamp(2rem,5vw,4.5rem) max(1rem,3vw) 5rem}.service-intro{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,7vw,7rem);align-items:start;margin-bottom:3.5rem}.service-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px 58px 18px 18px;box-shadow:var(--shadow);filter:saturate(.82)}.service-quote{margin:0 0 1.7rem;padding:1.4rem 0 1.4rem 1.5rem;border-left:3px solid var(--gold);font:italic clamp(1.4rem,2.5vw,2rem)/1.35 var(--serif);color:var(--forest)}.service-quote cite{display:block;margin-top:.8rem;font:normal .72em var(--sans);color:var(--muted)}.service-prose{max-width:72ch}.service-prose h2{margin:3rem 0 1rem;font:normal clamp(1.8rem,3vw,2.7rem)/1.1 var(--serif);color:var(--forest)}.service-prose p{margin:0 0 1.25rem}.service-prose strong{color:var(--forest)}.service-end{margin-top:2.5rem;padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:12px;background:rgba(231,236,217,.5);font-size:.94em}.service-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--line);font-weight:700}.service-nav a{text-decoration:none}.service-nav a:last-child{text-align:right}

/* Fairy light for service pages — soft glow, sparkle accents and halos */
.service-page{position:relative;isolation:isolate}
.service-page::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(38rem 22rem at 12% -4%, rgba(216,228,240,.38), transparent 62%),
    radial-gradient(40rem 24rem at 100% 18%, rgba(231,236,217,.6), transparent 64%),
    radial-gradient(closest-side, rgba(216,196,119,.12), transparent 72%);
  background-blend-mode:screen;
}
.service-intro{position:relative}
.service-image{
  transition:transform .3s ease, box-shadow .3s ease;
}
.service-image:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 55px rgba(31,58,48,.14), 0 0 0 1px rgba(216,196,119,.25), 0 0 34px rgba(216,196,119,.22);
}

/* Desktop-only edge glow, far from the text */
@media (min-width:1200px){
  .service-page::after{
    content:'';
    position:fixed;
    left:-150px;
    top:46%;
    transform:translateY(-50%);
    width:420px;
    height:420px;
    border-radius:50%;
    z-index:-1;
    pointer-events:none;
    background:radial-gradient(circle at 62% 50%, rgba(216,196,119,.16), rgba(191,227,194,.12) 38%, transparent 68%);
    filter:blur(2px);
    animation:edge-pulse 9s ease-in-out infinite;
  }
}
@keyframes edge-pulse{
  0%,100%{opacity:.55;transform:translateY(-50%) scale(.96)}
  50%{opacity:.9;transform:translateY(-50%) scale(1.03)}
}
.service-highlight{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem 1.2rem;align-items:start;margin:3rem 0 1rem;padding:1.5rem 1.6rem;border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:16px;background:linear-gradient(135deg,rgba(231,236,217,.72),rgba(246,243,234,.96));box-shadow:0 10px 28px rgba(31,58,48,.08)}.service-highlight-mark{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--forest);color:var(--gold);font:1.35rem/1 var(--serif)}.service-highlight h2{grid-column:2;margin:0;color:var(--forest);font:600 1.05rem/1.2 var(--sans);letter-spacing:.03em}.service-highlight p{grid-column:2;margin:0;color:var(--ink);font-size:.96rem;line-height:1.6}.service-highlight strong{color:var(--forest)}
@media(max-width:700px){.service-banner{min-height:46vh;padding:2rem 1rem 3rem}.service-intro{grid-template-columns:1fr;gap:2rem}.service-image{max-height:280px}.service-page{padding-top:2.5rem}.service-nav{font-size:.9em}}
@media(max-width:520px){.service-highlight{grid-template-columns:auto minmax(0,1fr);padding:1.2rem}.service-highlight h2,.service-highlight p{grid-column:2}}
.article-hero{padding:clamp(7rem,13vw,11rem) max(1rem,calc((100% - 1160px)/2)) clamp(4rem,8vw,7rem);background:linear-gradient(115deg,rgba(16,42,35,.92),rgba(31,58,48,.72)),url('../img/tausta.jpeg') center/cover;color:var(--white)}.article-hero>div{max-width:860px}.article-hero h1{margin:.25rem 0 1rem;font:normal clamp(2.5rem,6vw,5.2rem)/1.02 var(--serif);letter-spacing:-.04em}.article-subtitle{margin:0;color:rgba(246,243,234,.82);font:italic clamp(1.1rem,2vw,1.45rem)/1.4 var(--serif)}.article-byline{margin:2rem 0 0;color:var(--gold);font-weight:700;letter-spacing:.08em}.article-page{max-width:1160px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) max(1rem,3vw) 5rem}.article-layout{display:grid;grid-template-columns:minmax(170px,.28fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:start}.article-index{position:sticky;top:6rem;display:grid;gap:.55rem;padding:1.2rem 0 1.2rem 1.2rem;border-left:2px solid var(--gold)}.article-index .eyebrow{margin-bottom:.2rem}.article-index a{text-decoration:none;font-size:.9rem;color:var(--muted)}.article-index a:hover{color:var(--forest)}.article-content{max-width:78ch}.article-content h2{scroll-margin-top:6rem;margin:3.5rem 0 1rem;font:normal clamp(1.85rem,3.5vw,2.8rem)/1.1 var(--serif);color:var(--forest)}.article-content h3{margin:2.2rem 0 .7rem;font:600 clamp(1.15rem,2vw,1.45rem)/1.25 var(--sans);color:var(--forest)}.article-content p{margin:0 0 1.2rem}.article-summary{padding:clamp(1.4rem,3vw,2.25rem);border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:18px;background:linear-gradient(135deg,rgba(231,236,217,.7),rgba(246,243,234,.95));box-shadow:0 12px 30px rgba(31,58,48,.08)}.article-summary .eyebrow{margin-bottom:.8rem}.article-keywords{margin-top:1.5rem!important;color:var(--muted);font-size:.94rem}.article-author{margin:2rem 0;color:var(--muted);font-size:.95rem}.article-content blockquote{margin:2.5rem 0;padding:1.5rem 1.5rem 1.5rem 1.7rem;border-left:4px solid var(--gold);background:rgba(231,236,217,.38);font:italic clamp(1.3rem,2.5vw,1.8rem)/1.4 var(--serif);color:var(--forest)}.article-content blockquote cite{display:block;margin-top:.8rem;font:normal .65em var(--sans);color:var(--muted)}.article-note{margin:2rem 0;padding:1.25rem 1.4rem;border-radius:14px;background:var(--forest);color:var(--white);box-shadow:0 10px 25px rgba(31,58,48,.12)}.article-note strong{color:var(--gold)}.article-note ul{margin:.8rem 0 0;padding-left:1.25rem}.article-sources{margin-top:4rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}.article-sources h2{font-size:1.8rem}.article-back{margin-top:3rem}.article-back a{font-weight:700;text-decoration:none}.article-language-note{max-width:760px;margin:0 auto}.article-language-note .button{display:inline-flex;margin-top:1rem;padding:.8rem 1.2rem;background:var(--forest);color:var(--white);border-radius:999px;text-decoration:none;font-weight:700}.article-language-note .button span{margin-left:.6rem}@media(max-width:800px){.article-layout{grid-template-columns:1fr;gap:2rem}.article-index{position:static;display:flex;flex-wrap:wrap;gap:.45rem .9rem;padding:.8rem 0;border-left:0;border-bottom:1px solid var(--gold)}.article-index .eyebrow{width:100%}}@media(max-width:520px){.article-hero{padding-top:6.5rem}.article-page{padding-top:2rem}.article-content h2{margin-top:2.7rem}}
.article-teaser{max-width:1160px;margin:clamp(6rem,10vw,9rem) auto 0;padding:0 max(1rem,3vw)}.article-teaser-card{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.4rem,3vw,2.2rem);border:1px solid var(--gold);border-radius:18px;background:linear-gradient(120deg,rgba(231,236,217,.75),rgba(246,243,234,.95));box-shadow:0 12px 30px rgba(31,58,48,.08)}.article-teaser-card h2{margin:.1rem 0 .45rem;font:normal clamp(1.5rem,3vw,2.3rem)/1.1 var(--serif);color:var(--forest)}.article-teaser-card p{margin:0;color:var(--muted)}.article-teaser-link{flex:0 0 auto;padding:.75rem 1rem;border-radius:999px;background:var(--forest);color:var(--white);font-weight:700;text-decoration:none;white-space:nowrap}.article-teaser-link:hover{color:var(--white);background:var(--olive)}@media(max-width:650px){.article-teaser-card{align-items:flex-start;flex-direction:column;gap:1rem}.article-teaser-link{white-space:normal}}
.read-more-button{display:inline-flex;align-items:center;gap:.9rem;margin:1.25rem 0 1rem;padding:.75rem 1.15rem;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:var(--white);font:600 .92rem/1 var(--sans);cursor:pointer;box-shadow:0 8px 20px rgba(31,58,48,.14);transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.read-more-button:hover,.read-more-button:focus-visible{background:var(--olive);color:var(--white);transform:translateY(-2px);box-shadow:0 12px 26px rgba(31,58,48,.2)}
.read-more-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid currentColor;border-radius:50%;font-size:1.15rem;font-weight:400;line-height:1;transition:transform .2s ease}
.read-more-button[aria-expanded=true] .read-more-icon{transform:rotate(45deg)}
.details-panel[hidden]{display:none}
.details-panel{animation:details-reveal .28s ease both}
@keyframes details-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
/* Rebuilt right-side mobile navigation */
.menu-overlay{display:none}
.mobile-menu{display:none}
@media(max-width:900px){
  .site-header{z-index:1000;position:sticky;top:0}
  .site-header .nav-toggle{display:flex;position:relative;z-index:1003;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:48px;height:48px;padding:0;border:1px solid var(--forest);border-radius:10px;background:var(--white);color:var(--forest);cursor:pointer}
  .site-header .nav-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px}
  .site-header .main-nav,.site-header>.languages{display:none!important}
  .menu-overlay{display:block;visibility:hidden;position:fixed;z-index:1001;inset:0;background:#102a2399;opacity:0;transition:opacity .25s,visibility .25s}
  .mobile-menu{display:flex;visibility:hidden;position:fixed;z-index:1002;top:0;right:0;bottom:0;width:min(88vw,390px);padding:1.2rem 1.25rem 2rem;flex-direction:column;background:var(--sand);box-shadow:-20px 0 60px #102a2340;transform:translateX(105%);transition:transform .3s ease,visibility .3s;overflow-y:auto}
  body.menu-open .menu-overlay{visibility:visible;opacity:1}
  body.menu-open .mobile-menu{visibility:visible;transform:translateX(0)}
  .mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
  .mobile-menu-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--olive);font-weight:700}
  .menu-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--forest);border-radius:50%;background:transparent;color:var(--forest);font-size:2rem;line-height:1;cursor:pointer}
  .mobile-menu-links{display:grid;gap:.2rem}
  .mobile-menu-links a{display:block;padding:.7rem .1rem;color:var(--forest);font:normal 1.35rem/1.25 var(--serif);text-decoration:none;border-bottom:1px solid var(--line)}
  .mobile-menu-links a:hover,.mobile-menu-links a:focus-visible{color:var(--olive)}
  .mobile-menu-languages{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:auto;padding-top:1.5rem}
  .mobile-menu-languages .mobile-menu-label{width:100%;margin-bottom:.2rem}
  .mobile-menu-languages a{min-width:48px;padding:.5rem .8rem;border:1px solid var(--line);border-radius:99px;text-align:center;text-decoration:none;font-weight:700;color:var(--forest)}
  .mobile-menu-languages a:hover,.mobile-menu-languages a:focus-visible{background:var(--forest);color:var(--white)}
}

/* Language flag controls */
.languages{display:flex;align-items:center;gap:.45rem}
.languages a{display:inline-flex!important;align-items:center;justify-content:center;padding:.25rem!important;border:0!important;border-radius:8px;line-height:1}
.languages a img{display:block;width:28px;height:20px;object-fit:cover;border-radius:3px;box-shadow:0 1px 4px #1f3a3030}
.languages a.language-current img{outline:2px solid var(--olive);outline-offset:3px}
.mobile-menu-languages{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:auto;padding-top:1.5rem}
.mobile-menu-languages .mobile-menu-label{width:100%;margin-bottom:.2rem}
.mobile-menu-languages a{display:inline-flex!important;align-items:center;justify-content:center;min-width:54px;min-height:44px;padding:.45rem!important;border:1px solid var(--line)!important;border-radius:10px;text-decoration:none;background:var(--white)}
.mobile-menu-languages a img{display:block;width:34px;height:24px;object-fit:cover;border-radius:3px}
.mobile-menu-languages a.language-current{border-color:var(--olive)!important;background:var(--sage)}

/* Final visibility guard for the rebuilt drawer */
@media(max-width:900px){
  .mobile-menu[aria-hidden="false"]{display:flex!important;visibility:visible!important;opacity:1!important;transform:translateX(0)!important}
  .mobile-menu[aria-hidden="true"]{display:flex!important;visibility:hidden!important;opacity:0!important;transform:translateX(105%)!important}
  .mobile-menu .mobile-menu-top{display:flex!important;visibility:visible!important;opacity:1!important}
  .mobile-menu .mobile-menu-links{display:grid!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;position:static!important}
  .mobile-menu .mobile-menu-links a{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;color:var(--forest)!important;background:transparent!important}
  .mobile-menu .mobile-menu-languages{display:flex!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important}
}

/* Give quote authors clear separation from the quote text. */
blockquote small{display:block;margin-top:1.25rem}


.quote small{display:block;margin-top:1rem}

/* Elegant desktop navigation */
@media (min-width:901px){
  .site-header.solid{
    min-height:84px;
    padding:1rem clamp(1.5rem,4vw,4.5rem);
    gap:clamp(1.25rem,3vw,3.5rem);
    border-bottom:1px solid rgba(31,58,48,.1);
    box-shadow:0 8px 30px rgba(31,58,48,.08);
  }
  .site-header .brand{
    flex:0 0 auto;
    min-width:150px;
    transition:color .2s ease,transform .2s ease;
  }
  .site-header .brand:hover{color:var(--olive);transform:translateY(-1px)}
  .site-header .brand strong{font-size:clamp(1.55rem,2.4vw,2rem)}
  .site-header .brand small{color:var(--muted);font-size:.66rem;letter-spacing:.04em}
  .site-header .main-nav{
    flex:1 1 auto;
    justify-content:center;
    gap:.15rem;
    font-size:.9rem;
    font-weight:600;
    letter-spacing:.015em;
  }
  .site-header .main-nav a{
    padding:.6rem .76rem;
    border:0;
    border-radius:7px;
    white-space:nowrap;
    transition:background .2s ease,color .2s ease,transform .2s ease;
  }
  .site-header .main-nav a:hover,
  .site-header .main-nav a:focus-visible{
    color:var(--forest);
    background:var(--sage);
    transform:translateY(-1px);
  }
  .site-header .main-nav a[aria-current=page]{
    color:var(--forest);
    background:var(--sage);
    border:0;
    font-weight:700;
  }
  .site-header .languages{
    flex:0 0 auto;
    gap:.25rem;
    padding-left:1.1rem;
    border-left:1px solid var(--line);
  }
  .site-header .languages a{opacity:.72;transition:opacity .2s ease,transform .2s ease}
  .site-header .languages a:hover,
  .site-header .languages a:focus-visible,
  .site-header .languages a.language-current{opacity:1;transform:translateY(-1px)}
}

@media (min-width:901px) and (max-width:1120px){
  .site-header.solid{gap:1rem;padding-left:1.25rem;padding-right:1.25rem}
  .site-header .brand{min-width:125px}
  .site-header .brand small{display:none}
  .site-header .main-nav{font-size:.8rem;font-weight:600}
  .site-header .main-nav a{padding:.48rem .42rem}
  .site-header .languages{padding-left:.7rem}
}

/* Premium desktop navigation finish */
@media (min-width:1121px){
  .site-header.solid{
    min-height:96px;
    padding:1.15rem clamp(2rem,5vw,5.5rem);
    background:rgba(246,243,234,.94);
    box-shadow:0 12px 38px rgba(31,58,48,.11);
  }
  .site-header .brand{
    position:relative;
    min-width:178px;
    padding-left:1rem;
  }
  .site-header .brand::before{
    content:'';
    position:absolute;
    left:0;
    top:.1rem;
    bottom:.1rem;
    width:3px;
    border-radius:99px;
    background:linear-gradient(var(--olive),var(--gold));
  }
  .site-header .brand strong{letter-spacing:-.025em}
  .site-header .brand small{margin-top:.35rem;display:block;letter-spacing:.1em;text-transform:uppercase}
  .site-header .main-nav{
    gap:.25rem;
    padding:.4rem;
    border:1px solid rgba(31,58,48,.09);
    border-radius:14px;
    background:rgba(255,253,247,.72);
    box-shadow:0 4px 16px rgba(31,58,48,.05);
  }
  .site-header .main-nav a{
    position:relative;
    padding:.62rem .78rem;
    border-radius:10px;
    color:var(--muted);
    transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
  }
  .site-header .main-nav a::after{
    content:'';
    position:absolute;
    left:20%;
    right:20%;
    bottom:.25rem;
    height:2px;
    border-radius:99px;
    background:var(--olive);
    transform:scaleX(0);
    transition:transform .2s ease;
  }
  .site-header .main-nav a:hover,
  .site-header .main-nav a:focus-visible{
    color:var(--forest);
    background:var(--sage);
    box-shadow:0 3px 10px rgba(31,58,48,.08);
    transform:translateY(-1px);
  }
  .site-header .main-nav a:hover::after,
  .site-header .main-nav a:focus-visible::after,
  .site-header .main-nav a[aria-current=page]::after{transform:scaleX(1)}
  .site-header .main-nav a[aria-current=page]{
    color:var(--forest);
    background:linear-gradient(135deg,var(--sage),#f1f3e8);
    box-shadow:inset 0 0 0 1px rgba(113,130,56,.12),0 3px 10px rgba(31,58,48,.06);
  }
  .site-header .languages{
    gap:.35rem;
    padding:.38rem;
    border:1px solid rgba(31,58,48,.09);
    border-radius:12px;
    background:rgba(255,253,247,.72);
    box-shadow:0 4px 16px rgba(31,58,48,.05);
  }
  .site-header .languages a{padding:.34rem!important;border-radius:8px}
  .site-header .languages a:hover,
  .site-header .languages a:focus-visible{background:var(--sage)}
  .site-header .languages a.language-current{background:var(--sage);box-shadow:inset 0 0 0 1px rgba(113,130,56,.18)}
}

/* Agneta Ahlfors profile feature */
.profile-card{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  align-items:stretch;
  gap:clamp(2rem,6vw,6rem);
  max-width:1080px;
  margin:0 auto;
  padding:clamp(1.25rem,3vw,2rem);
  border:1px solid rgba(31,58,48,.1);
  border-radius:24px;
  background:rgba(255,253,247,.72);
  box-shadow:0 18px 50px rgba(31,58,48,.1);
}
.profile-image-wrap{position:relative;min-height:100%;padding:0 1rem 1rem 0}
.profile-image-wrap .portrait{
  display:block;
  height:100%;
  min-height:390px;
  border-radius:20px 58px 20px 20px;
  box-shadow:0 16px 35px rgba(31,58,48,.18);
}
.profile-image-wrap::after{
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  width:58%;
  height:58%;
  border-right:2px solid var(--gold);
  border-bottom:2px solid var(--gold);
  border-radius:0 0 20px 0;
  pointer-events:none;
}
.profile-accent{
  position:absolute;
  left:-.75rem;
  bottom:1.8rem;
  padding:.42rem .8rem;
  border-radius:4px;
  background:var(--forest);
  color:var(--white);
  font:600 .7rem/1 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(31,58,48,.2);
}
.profile-content{align-self:center;padding:clamp(.5rem,2vw,1.5rem) 0}
.presentation-profile-card{margin-bottom:clamp(2.5rem,5vw,4rem)}
.service-page > .profile-card{margin-bottom:clamp(2.5rem,5vw,4rem)}
.eyebrow{
  margin:0 0 .7rem;
  color:var(--olive);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.profile-content h2{margin:0 0 1rem;font:normal clamp(2rem,4vw,3.4rem)/1.05 var(--serif);letter-spacing:-.025em}
.profile-lead{max-width:34rem;margin:0 0 1.5rem;color:var(--muted);font-size:1.08em}
.profile-facts{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}
.profile-facts li{position:relative;padding-left:1.4rem}
.profile-facts li::before{content:'✦';position:absolute;left:0;color:var(--olive);font-size:.8em}
.profile-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.8rem;color:var(--forest);font-weight:700;text-decoration:none}
.profile-link span{font-size:1.3em;transition:transform .2s ease}
.profile-link:hover span,.profile-link:focus-visible span{transform:translateX(4px)}
@media(max-width:700px){
  .profile-card{grid-template-columns:1fr;gap:1.5rem;padding:1rem;border-radius:18px}
  .profile-image-wrap{padding:0 .6rem .6rem 0}
  .profile-image-wrap .portrait{min-height:0;aspect-ratio:4/5;border-radius:16px 42px 16px 16px}
  .profile-accent{left:-.35rem;bottom:1.2rem}
  .profile-content{padding:.5rem .35rem 1rem}
}



/* Reflektio logo */
.brand-logo{display:block;width:auto;height:60px;max-width:165px;object-fit:contain;object-position:left center}.brand{min-height:60px}.brand:hover .brand-logo{opacity:.82}@media(max-width:900px){.brand-logo{height:50px;max-width:115px}.brand{min-height:50px}}


/* Pricing page refresh */
.pricing-page{padding-top:clamp(2.5rem,6vw,5rem)}
.pricing-intro{max-width:760px;margin:0 0 clamp(3rem,7vw,5rem)}
.pricing-intro h2{margin:.15rem 0 1.1rem;font:normal clamp(2.5rem,5vw,4.2rem)/1.05 var(--serif);letter-spacing:-.035em}
.pricing-intro p{margin:0 0 1rem}
.pricing-note{margin-top:1.6rem!important;padding:1rem 1.2rem;border-left:3px solid var(--gold);background:var(--sage);border-radius:0 12px 12px 0}
.pricing-section{margin-top:clamp(3rem,7vw,6rem)}
.pricing-section-heading{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:1.7rem}
.pricing-section-heading h2{margin:.1rem 0 0;font:normal clamp(1.8rem,3vw,2.7rem)/1.1 var(--serif)}
.pricing-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 3rem;height:3rem;border:1px solid var(--gold);border-radius:50%;color:var(--olive);font:700 .75rem var(--sans);letter-spacing:.08em}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.pricing-grid-supervision{grid-template-columns:repeat(2,minmax(0,1fr))}
.pricing-grid-supervision .pricing-card:last-child{grid-column:1 / -1}
.pricing-card{display:flex;flex-direction:column;min-width:0;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}
.pricing-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(31,58,48,.14)}
.pricing-card-label{margin-bottom:.9rem;color:var(--olive);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.pricing-card h3{min-height:0;margin:0 0 1.4rem;font:normal clamp(1.45rem,2.5vw,2rem)/1.15 var(--serif);color:var(--forest);overflow-wrap:anywhere}
.price-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.25rem;padding:.85rem 0;border-top:1px solid var(--line);font-size:.91rem}
.price-item span{min-width:0;max-width:none}.price-item strong{text-align:right;white-space:normal;overflow-wrap:anywhere;color:var(--forest);font-size:1rem}.price-item small{font-weight:400;font-size:.8em}.price-item em{display:block;margin-top:.25rem;color:var(--muted);font-size:.76rem;font-style:normal}
.pricing-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:auto;padding-top:1.5rem;color:var(--forest);font-size:.9rem;font-weight:700;text-decoration:none}.pricing-link span{font-size:1.25rem;transition:transform .2s ease}.pricing-link:hover span,.pricing-link:focus-visible span{transform:translateX(4px)}
.pricing-contact{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:clamp(3rem,7vw,6rem);padding:clamp(1.5rem,4vw,2.5rem);border-radius:18px;background:var(--forest);color:var(--white)}.pricing-contact h2{margin:.15rem 0 0;font:normal clamp(1.7rem,3vw,2.5rem)/1.1 var(--serif)}.pricing-contact .eyebrow{color:var(--gold)}.pricing-contact .button{background:var(--gold);border-color:var(--gold);color:var(--forest);white-space:nowrap}
@media(max-width:800px){.pricing-grid,.pricing-grid-supervision{grid-template-columns:1fr}.pricing-grid-supervision .pricing-card:last-child{grid-column:auto}.pricing-contact{align-items:flex-start;flex-direction:column}.pricing-contact .button{width:100%}}
@media(max-width:520px){.pricing-section-heading{gap:.8rem}.pricing-number{flex-basis:2.5rem;height:2.5rem}.price-item{display:block}.price-item span{display:block;max-width:none;margin-bottom:.35rem}.price-item strong{display:block;text-align:left}.price-item em{margin-top:.15rem}}

/* Supervision cards need more room for their longer titles and prices. */
.pricing-page .pricing-grid-supervision{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pricing-page .pricing-grid-supervision .pricing-card:last-child{grid-column:1 / -1}
.pricing-page .pricing-grid-supervision .pricing-card:nth-child(2){padding:clamp(1rem,2vw,1.35rem)}
.pricing-page .pricing-grid-supervision .pricing-card:nth-child(2) h3{font-size:clamp(1.25rem,2vw,1.7rem);margin-bottom:1rem}
.pricing-page .pricing-grid-supervision .pricing-card:nth-child(2) .price-item{gap:.75rem;padding:.65rem 0;font-size:.86rem}
.pricing-page .pricing-grid-supervision .pricing-card:nth-child(2) .pricing-link{padding-top:1rem;font-size:.84rem}
.pricing-page .pricing-grid-supervision .pricing-card:last-child{padding:clamp(1.5rem,3vw,2.25rem)}
.pricing-page .pricing-grid-supervision .pricing-card:last-child h3{max-width:36rem;font-size:clamp(1.7rem,3vw,2.35rem);margin-bottom:1.5rem}
.pricing-page .pricing-grid-supervision .pricing-card:last-child .price-item{max-width:42rem}
@media(max-width:800px){.pricing-page .pricing-grid-supervision{grid-template-columns:1fr!important}.pricing-page .pricing-grid-supervision .pricing-card:last-child{grid-column:auto}}

/* Refined footer: professional forest tones with a touch of starlight */
.site-footer{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(3rem,8vw,7rem);padding:clamp(3.5rem,7vw,6rem) max(1rem,calc((100% - 1160px)/2)) 1.25rem;background:linear-gradient(135deg,#173329 0%,#1f3a30 58%,#294b3e 100%);color:#f6f3ea;box-shadow:0 -14px 40px rgba(31,58,48,.12)}
.site-footer::before,.site-footer::after{content:'';position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.site-footer::before{width:22rem;height:22rem;right:-7rem;top:-10rem;background:radial-gradient(circle,rgba(216,196,119,.18),rgba(216,196,119,0) 68%)}.site-footer::after{width:18rem;height:18rem;left:-8rem;bottom:-11rem;background:radial-gradient(circle,rgba(231,236,217,.12),rgba(231,236,217,0) 70%)}
.footer-stars{margin:0 0 1.6rem;color:var(--gold);font-size:1.25rem;letter-spacing:.16em;text-align:center;text-shadow:0 0 18px rgba(216,196,119,.45)}.footer-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:clamp(2rem,8vw,8rem);max-width:1080px;margin:0 auto;padding-bottom:2.75rem;border-bottom:1px solid rgba(246,243,234,.2)}.footer-kicker{margin:0 0 .7rem;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.footer-brand h2{margin:0 0 .8rem;color:#fffdf7;font:normal clamp(1.65rem,3.3vw,2.5rem)/1.08 var(--serif);letter-spacing:-.02em}.footer-brand p:last-child{max-width:32rem;margin:0;color:rgba(246,243,234,.78)}.footer-contact{padding-left:clamp(0rem,3vw,2.5rem);border-left:1px solid rgba(216,196,119,.42)}.footer-contact address{margin:0 0 .8rem;color:rgba(246,243,234,.86);font-style:normal}.footer-contact p:last-child{margin:0;line-height:1.7;display:flex;flex-direction:column;gap:.35rem}.footer-contact p:last-child a{width:max-content}.site-footer a{color:#fffdf7;text-decoration:none}.site-footer a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:center;align-items:center;gap:1rem;padding-top:1.15rem;color:rgba(246,243,234,.62);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.footer-bottom span:nth-child(2){color:var(--gold);font-size:1rem}@media(max-width:700px){.site-footer{margin-top:4rem;padding-top:3rem}.footer-inner{grid-template-columns:1fr;gap:2rem;padding-bottom:2rem}.footer-contact{padding:1.5rem 0 0;border-top:1px solid rgba(216,196,119,.42);border-left:0}.footer-bottom{flex-wrap:wrap;gap:.6rem .9rem;font-size:.68rem}}
/* Balanced read-more icon */
.read-more-icon{position:relative;flex:0 0 1.35rem;width:1.35rem;height:1.35rem;border:1px solid currentColor;border-radius:50%;font-size:0;line-height:1}
.read-more-icon::before,.read-more-icon::after{content:'';position:absolute;left:50%;top:50%;width:.62rem;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .2s ease}
.read-more-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.read-more-button[aria-expanded=true] .read-more-icon::after{transform:translate(-50%,-50%) rotate(0deg)}

.article-language-link{display:inline-flex;margin-top:.5rem;color:var(--forest);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold)}.article-language-link:hover{color:var(--olive)}

/* Mobile article reading fixes */
.article-original{min-width:0;overflow-wrap:anywhere}
.article-original img{max-width:100%;height:auto;display:block;object-fit:contain}
.article-original p:has(img){min-height:0}
@media(max-width:700px){
  .article-hero{padding:6.5rem 1rem 3.25rem;overflow:hidden}
  .article-hero h1{font-size:clamp(2.15rem,11vw,3.5rem);overflow-wrap:anywhere}
  .article-subtitle{font-size:1.05rem}
  .article-page{width:100%;padding:1.5rem .9rem 3.5rem;overflow:hidden}
  .article-layout{width:100%;display:block}
  .article-index{width:100%;margin:0 0 1.8rem;gap:.45rem .7rem;overflow:visible}
  .article-index a{padding:.35rem .55rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,247,.75);font-size:.84rem;line-height:1.25}
  .article-content{width:100%;max-width:none;min-width:0;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
  .article-content h1,.article-content h2,.article-content h3{max-width:100%;overflow-wrap:anywhere}
  .article-content h3{font-size:1.18rem;line-height:1.3;margin:2rem 0 .7rem}
  .article-content p{margin-bottom:1rem}
  .article-original img[align="left"],.article-original img[align="right"]{float:none!important;clear:both;width:auto;max-width:100%;height:auto;margin:1rem auto!important}
  .article-original p:has(img){overflow:visible;display:flow-root}
  .article-original>blockquote,.article-original blockquote blockquote,.article-original blockquote blockquote blockquote{margin:1rem 0!important;padding:0!important;border:0!important;background:transparent!important;max-width:100%;font:inherit;color:inherit}
  .article-original blockquote blockquote blockquote h3{margin-top:1rem}
  .article-summary{padding:1.15rem 1rem;border-left-width:4px}
  .article-note{padding:1.05rem 1rem}
  .article-sources{font-size:.82rem;overflow-wrap:anywhere;word-break:break-word}
  .article-sources a,.article-original a{overflow-wrap:anywhere;word-break:break-word}
  .article-back{margin-top:2rem}
}
@media(max-width:380px){
  .article-page{padding-left:.7rem;padding-right:.7rem}
  .article-index a{font-size:.78rem;padding:.3rem .45rem}
  .article-content{font-size:.96rem}
  .article-hero h1{font-size:2.05rem}
}

/* ============================================================
   Fairy / energy theme — subtle, professional light accents
   ============================================================ */
:root{
  --aurora:#bfe3c2;
  --aurora-2:#d8efe0;
  --pixie:#e8e2b6;
  --twinkle:rgba(216,196,119,.6);
}

/* Soft ambient glow drifting across the page (non-interactive) */
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(52rem 30rem at 8% -6%, rgba(191,227,194,.20), transparent 60%),
    radial-gradient(46rem 30rem at 96% 8%, rgba(216,196,119,.12), transparent 62%),
    radial-gradient(40rem 32rem at 50% 108%, rgba(95,125,136,.12), transparent 60%);
  background-blend-mode:soft-light;
}

.sparkle-field{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.sparkle-field span{
  position:absolute;
  bottom:-6px;
  border-radius:50%;
  background:var(--pixie);
  box-shadow:0 0 7px 2px rgba(232,226,182,.45);
  opacity:0;
  animation:footer-rise 6s linear infinite;
}
@keyframes footer-rise{
  0%{transform:translateY(0) translateX(0) scale(.6);opacity:0}
  12%{opacity:.85}
  85%{opacity:.4}
  100%{transform:translateY(-560px) translateX(26px) scale(1);opacity:0}
}
/* Gentle energy halo on interactive cards */
.card,
.pricing-card,
.profile-card{
  transition:transform .25s ease, box-shadow .3s ease, border-color .3s ease;
}
.card:hover,
.pricing-card:hover{
  border-color:rgba(216,196,119,.65);
  box-shadow:0 24px 58px rgba(31,58,48,.14), 0 0 0 1px rgba(216,196,119,.35), 0 0 34px rgba(216,196,119,.22);
}

/* Gold shimmer sweep on primary buttons and links */
.read-more-button,
.article-teaser-link,
.profile-link,
.pricing-link{
  position:relative;
  overflow:hidden;
}
.read-more-button::after,
.article-teaser-link::after,
.profile-link::after,
.pricing-link::after{
  content:'';
  position:absolute;
  top:0;
  left:-140%;
  width:60%;
  height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,253,247,.35),transparent);
  transform:skewX(-18deg);
  transition:left .55s ease;
  pointer-events:none;
}
.read-more-button:hover::after,
.article-teaser-link:hover::after,
.profile-link:hover::after,
.pricing-link:hover::after{
  left:140%;
}

/* Aurora edge on service banners and hero */
.hero,
.service-banner,
.article-hero{
  position:relative;
}
.hero::after,
.article-hero::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(30rem 18rem at 12% 12%, rgba(216,228,240,.20), transparent 60%),
    radial-gradient(26rem 16rem at 88% 30%, rgba(216,196,119,.16), transparent 62%);
  mix-blend-mode:screen;
}

/* Footer starlight stays static and contained to the footer strip */
.footer-stars{
  animation:none;
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  .read-more-button::after,
  .article-teaser-link::after,
  .profile-link::after,
  .pricing-link::after{
    display:none;
  }
}

/* Two-card contact row: contact details + secure mail */
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,3vw,2rem);max-width:1000px;margin:clamp(2.5rem,5vw,4.5rem) auto 0}
@media(max-width:760px){.contact-cards{grid-template-columns:1fr}}
.secure-mail-card{padding:clamp(1.7rem,3vw,2.6rem);border:1px solid rgba(216,196,119,.35);border-radius:20px;background:linear-gradient(135deg,rgba(255,253,247,.92),rgba(231,236,217,.7));box-shadow:0 18px 50px rgba(31,58,48,.12);display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.secure-mail-card .eyebrow{margin:0}
.secure-mail-card h3{margin:0;font:normal clamp(1.5rem,2.5vw,2rem)/1.15 var(--serif);color:var(--forest)}
.secure-mail-card p{margin:0;color:var(--muted)}
.secure-mail-btn{display:inline-flex;align-items:center;gap:.6rem;margin-top:auto;padding:.85rem 1.5rem;border-radius:999px;background:var(--forest);color:var(--white);font-weight:700;text-decoration:none;box-shadow:0 10px 24px rgba(31,58,48,.18);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.secure-mail-btn:hover,.secure-mail-btn:focus-visible{background:var(--olive);color:var(--white);transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,58,48,.24)}
.secure-mail-btn::after{content:'→';font-size:1.2em}

/* Welcome note: inclusive message + heart image, no card feel */
.welcome-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(1.2rem,3vw,2.2rem);
  max-width:1160px;
  margin:clamp(2.5rem,6vw,4rem) auto 0;
  padding:clamp(1.5rem,3vw,2.5rem) max(1rem,3vw) 0;
  border-top:1px solid rgba(31,58,48,.12);
  text-align:center;
}
.welcome-note .pride-heart{
  flex:0 0 auto;
  width:clamp(48px,7vw,72px);
  height:auto;
  display:block;
}
.welcome-note-text{
  display:grid;
  gap:.5rem;
  justify-items:center;
}
.welcome-note-label{
  color:var(--olive);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.welcome-note-text p{
  margin:0;
  max-width:62ch;
}
.welcome-note-text p:first-of-type{
  font:italic clamp(1.15rem,2vw,1.4rem)/1.35 var(--serif);
  color:var(--forest);
}
.welcome-note-text p:last-child{
  color:var(--muted);
  font-size:.96rem;
}
@media(max-width:600px){
  .welcome-note{flex-direction:column;align-items:center}
}
/* ============================================================
   Elegant mobile navigation (phone menu)
   ============================================================ */
@media(max-width:900px){
  /* Softer, deeper backdrop */
  .menu-overlay{
    background:linear-gradient(180deg,rgba(16,42,35,.78),rgba(16,42,35,.5));
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }

  /* Drawer — a refined, softly glowing panel */
  .mobile-menu{
    width:min(88vw,404px);
    padding:1.65rem 1.65rem 2.25rem;
    background:
      radial-gradient(130% 85% at 100% 0%, rgba(216,196,119,.16), transparent 56%),
      radial-gradient(120% 70% at -12% 100%, rgba(95,125,136,.13), transparent 55%),
      linear-gradient(180deg,#fcfaf3 0%,var(--sand) 100%);
    border-left:1px solid rgba(216,196,119,.5);
    box-shadow:-26px 0 70px rgba(16,42,35,.3);
  }

  /* Hamburger button — calm, refined, gold accent */
  .site-header .nav-toggle{
    position:relative;
    width:48px;height:48px;
    border:1px solid rgba(31,58,48,.16);
    border-radius:12px;
    background:linear-gradient(180deg,rgba(255,253,247,.92),rgba(246,243,234,.92));
    box-shadow:0 6px 18px rgba(31,58,48,.08);
    transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
  }
  .site-header .nav-toggle:hover,.site-header .nav-toggle:focus-visible{
    border-color:var(--gold);
    box-shadow:0 8px 22px rgba(216,196,119,.42);
  }
  /* Normalise: ignore markup spans and draw the burger with pseudo elements */
  .site-header .nav-toggle span{display:none!important}
  .site-header .nav-toggle::before,
  .site-header .nav-toggle::after{
    content:'';position:absolute;left:50%;top:50%;
    width:21px;height:2px;border-radius:999px;background:currentColor;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .site-header .nav-toggle::before{
    transform:translate(-50%,-50%) translateY(-6px);
    box-shadow:0 6px 0 currentColor;
  }
  .site-header .nav-toggle::after{
    transform:translate(-50%,-50%) translateY(6px);
  }
  .site-header .nav-toggle[aria-expanded=true]::before{
    transform:translate(-50%,-50%) rotate(45deg);
    box-shadow:0 0 0 transparent;
  }
  .site-header .nav-toggle[aria-expanded=true]::after{
    transform:translate(-50%,-50%) rotate(-45deg);
  }

  /* Drawer header */
  .mobile-menu-top{
    margin-bottom:1.8rem;
    padding-bottom:1.1rem;
    border-bottom:1px solid rgba(31,58,48,.1);
  }
  .mobile-menu-top .mobile-menu-label{
    display:flex;align-items:center;gap:.55rem;
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--olive);font-weight:700;
  }
  .mobile-menu-top .mobile-menu-label::before{content:'\2726';color:var(--gold);font-size:.95rem;letter-spacing:0}

  .menu-close{
    width:42px;height:42px;
    border:1px solid rgba(31,58,48,.16);
    border-radius:50%;
    background:transparent;color:var(--forest);
    font:300 1.55rem/1 var(--serif);
    transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
  }
  .menu-close:hover,.menu-close:focus-visible{
    border-color:var(--gold);
    background:var(--forest);
    color:var(--gold);
    transform:rotate(90deg);
  }

  /* Links — airy serif with a gold sweep */
  .mobile-menu-links{gap:.3rem}
  .mobile-menu-links a{
    position:relative;
    padding:.85rem .2rem;
    font:normal 1.5rem/1.2 var(--serif);
    color:var(--forest);
    border-bottom:1px solid rgba(31,58,48,.09);
    transition:color .2s ease,padding-left .25s ease;
  }
  .mobile-menu .mobile-menu-links a{color:var(--forest)!important}
  .mobile-menu-links a::before{
    content:'';position:absolute;left:0;top:50%;
    width:0;height:1px;background:var(--gold);
    transform:translateY(-50%);
    transition:width .25s ease;
  }
  .mobile-menu-links a:hover,
  .mobile-menu-links a:focus-visible{
    color:var(--olive);
    padding-left:1.15rem;
  }
  .mobile-menu .mobile-menu-links a:hover,
  .mobile-menu .mobile-menu-links a:focus-visible{color:var(--olive)!important}
  .mobile-menu-links a:hover::before,
  .mobile-menu-links a:focus-visible::before{width:15px}

  /* Language row */
  .mobile-menu-languages{
    margin-top:auto;padding-top:1.6rem;
    border-top:1px solid rgba(216,196,119,.4);
    gap:.65rem;
  }
  .mobile-menu-languages .mobile-menu-label{
    width:100%;margin-bottom:.3rem;
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--muted);font-weight:700;
  }
  .mobile-menu-languages a{
    min-width:60px;min-height:46px;
    border:1px solid rgba(31,58,48,.13)!important;
    border-radius:14px!important;
    background:rgba(255,253,247,.78)!important;
    box-shadow:0 4px 12px rgba(31,58,48,.06);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  }
  .mobile-menu-languages a:hover,
  .mobile-menu-languages a:focus-visible{
    transform:translateY(-2px);
    border-color:var(--gold)!important;
  }
  .mobile-menu-languages a.language-current{
    border-color:var(--olive)!important;
    background:var(--sage)!important;
    box-shadow:0 0 0 3px rgba(216,196,119,.26);
  }
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu,
  .site-header .nav-toggle::before,
  .site-header .nav-toggle::after,
  .menu-close,
  .mobile-menu-links a{transition:none!important;animation:none!important}
}
