/*
Theme Name: Aivoset 2026
Theme URI: https://aivoset.fi
Author: Aivoset Oy
Description: Viimeistelty WordPress-teema Aivoset Oy:n neuropsykologiapalveluille ja Hambi-alasivulle. Hempeä luonnonvalkoinen, hiekka, salvia ja oliivinvihreä värimaailma.
Version: 13.0.12
Text Domain: aivoset
*/
:root{
 --bg:#fbf8f3;--paper:#fffdf9;--cream:#f4eee5;--cream2:#efe7db;--sand:#c7a176;--sand-dark:#a67e54;
 --sage:#a5ad96;--sage-soft:#eef1e8;--olive:#687159;--olive2:#7d8065;--deep:#344138;--ink:#2c302b;--muted:#6d716a;--line:#e5ddd2;
 --shadow:0 16px 48px rgba(54,48,40,.055);--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.72;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{width:min(var(--max),calc(100% - 44px));margin:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,248,243,.96);backdrop-filter:blur(13px);border-bottom:1px solid rgba(229,221,210,.9)}
.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo img{width:205px;max-height:63px;object-fit:contain;mix-blend-mode:multiply}.menu{display:flex;align-items:center;gap:25px;font-size:13px}.menu>li{list-style:none;position:relative}.menu>li>a{display:block;padding:33px 0 31px}.menu>li>a:hover,.menu .current-menu-item>a,.menu .current-menu-ancestor>a{color:var(--olive)}
.menu .menu-item-has-children>a:after{content:"⌄";font-size:12px;margin-left:7px}.menu .sub-menu{position:absolute;top:72px;left:-22px;min-width:275px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:10px 0;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.menu .sub-menu li{list-style:none}.menu .sub-menu a{display:block;padding:10px 18px;font-size:13px}.menu .sub-menu a:hover{background:var(--sage-soft)}
.header-cta{margin-left:4px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:0 23px;border:1px solid var(--sand);border-radius:3px;font-weight:650;font-size:13px;transition:.2s;letter-spacing:.01em}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(70,58,44,.08)}.btn.primary{background:var(--sand);border-color:var(--sand);color:white}.btn.primary:hover{background:var(--sand-dark);border-color:var(--sand-dark)}.btn.dark{background:var(--deep);border-color:var(--deep);color:white}.btn.light{background:transparent;color:var(--deep)}
.mobile-toggle{display:none;border:0;background:none;font-size:25px}.mobile-menu{display:none;padding:10px 22px 22px;border-top:1px solid var(--line)}.mobile-menu ul{list-style:none;margin:0;padding:0}.mobile-menu a{display:block;padding:9px 0}.mobile-menu .sub-menu{padding-left:16px}
.hero{padding:72px 0 0}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:stretch;background:var(--paper);box-shadow:0 8px 40px rgba(51,44,37,.025)}.hero-copy{padding:66px 54px 64px 0;align-self:center}.hero-image{min-height:505px;overflow:hidden;position:relative;background:var(--paper)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.84) 5%,rgba(255,253,249,.42) 11%,rgba(255,253,249,0) 21%),linear-gradient(180deg,rgba(255,253,249,.18) 0%,rgba(255,253,249,0) 10%,rgba(255,253,249,0) 90%,rgba(255,253,249,.18) 100%),linear-gradient(270deg,rgba(255,253,249,.10) 0%,rgba(255,253,249,0) 8%);pointer-events:none}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--olive);font-weight:750}.hero h1,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.1;color:var(--deep)}.hero h1{font-size:clamp(54px,6.2vw,82px);margin:12px 0 16px;letter-spacing:-.035em}h1{font-size:clamp(42px,5vw,64px)}h2{font-size:clamp(34px,4vw,50px);margin:0 0 16px;letter-spacing:-.018em}h3{font-size:26px;margin:0 0 12px}.subhead{font-family:Georgia,serif;font-size:23px;color:#74624e;margin:0 0 29px}.lead{font-size:18px;color:var(--muted);max-width:690px}.hero-copy>p:not(.subhead){max-width:520px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.trust{background:#f1ece4;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:26px 27px;border-right:1px solid var(--line);display:flex;gap:15px;align-items:flex-start}.trust-item:last-child{border:0}.svg-icon{width:48px;height:48px;flex:0 0 48px;color:var(--olive)}.svg-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.trust-item strong{display:block;font-size:13px;margin-bottom:4px}.trust-item span{font-size:12px;color:var(--muted);line-height:1.5;display:block}
.section{padding:98px 0}.section.alt{background:var(--paper)}.section.soft{background:var(--cream)}.section-head{text-align:center;max-width:760px;margin:0 auto 45px}.section-head .rule{width:46px;height:2px;background:var(--sand);margin:18px auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:var(--paper);border:1px solid var(--line);padding:31px;box-shadow:var(--shadow);transition:.2s}.card:hover{transform:translateY(-3px)}.card .round{width:64px;height:64px;background:var(--sage-soft);border-radius:50%;display:grid;place-items:center;margin-bottom:24px;color:var(--olive)}.card .round svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.card p{font-size:14px;color:var(--muted)}.textlink{display:inline-block;margin-top:14px;font-size:12px;font-weight:750;color:var(--sand-dark)}
.split{display:grid;grid-template-columns:.92fr 1.08fr;align-items:stretch}.split-copy{padding:66px 58px 66px max(22px,calc((100vw - var(--max))/2));background:#edf1e8}.split-copy p{max-width:560px}.split-image img{width:100%;height:100%;object-fit:cover;min-height:440px}.quote-card{background:var(--paper);border:1px solid var(--line);padding:30px;margin-top:24px;font-family:Georgia,serif;font-size:23px;color:var(--olive);max-width:570px}
.hambi{background:var(--olive);color:white}.hambi-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}.hambi-copy{padding:42px 46px 42px 0;align-self:center}.hambi h2,.hambi h3{color:white}.hambi p{color:#eff1eb;max-width:570px}.hambi-visual{min-height:255px;background:linear-gradient(145deg,#ebe6dd,#faf7f1);display:grid;place-items:center;color:var(--olive);position:relative;overflow:hidden}.hambi-visual:before,.hambi-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(104,113,89,.16)}.hambi-visual:before{width:205px;height:205px}.hambi-visual:after{width:255px;height:255px}.hambi-mark{z-index:1;display:grid;width:124px;height:124px;border-radius:50%;background:var(--cream);color:var(--deep);place-items:center;text-align:center;font:30px Georgia,serif;box-shadow:0 18px 40px rgba(75,66,52,.08)}.hambi-mark small{display:block;font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--olive);margin-top:-8px}
.values{background:var(--paper);border-bottom:1px solid var(--line)}.values-grid{display:grid;grid-template-columns:repeat(4,1fr)}.value{display:flex;gap:12px;align-items:center;padding:25px 24px;border-right:1px solid var(--line)}.value:last-child{border:0}.value svg{width:30px;height:30px;stroke:var(--olive);fill:none;stroke-width:1.4}.value span{font-size:12px;line-height:1.5}
.page-hero{padding:78px 0;background:var(--cream)}.page-hero .container{max-width:930px}.page-hero h1{margin-bottom:10px}.content-wrap{padding:78px 0}.content{max-width:880px;margin:auto}.content h2{margin-top:50px}.content h3{margin-top:35px}.content p,.content li{color:#4f534c}.content ul{padding-left:20px}.notice{background:var(--sage-soft);border-left:4px solid var(--sage);padding:22px 26px;margin:30px 0}.cta{margin-top:50px;padding:36px;background:var(--cream);border:1px solid var(--line)}
.profile{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}.profile img{border:10px solid white;box-shadow:var(--shadow)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-box{padding:29px;background:white;border:1px solid var(--line)}
/* Hambi page */
.hambi-page-hero{background:linear-gradient(110deg,#f7f2e9 0 58%,#e5e8df 58%);padding:82px 0}.hambi-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center}.hambi-wordmark{font-family:Georgia,serif;font-size:clamp(64px,8vw,96px);color:var(--deep);line-height:1}.hambi-wordmark small{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;letter-spacing:.15em;text-transform:uppercase;color:var(--olive);margin-top:10px}.dental-visual{min-height:480px;background:linear-gradient(145deg,#dde2d7,#f8f5ef);border:10px solid white;box-shadow:var(--shadow);display:grid;place-items:center}.dental-chair{width:72%;height:58%;border-radius:50% 50% 18% 18%/55% 55% 22% 22%;background:#74806b;transform:rotate(-6deg);position:relative;box-shadow:0 22px 30px rgba(48,58,48,.14)}.dental-chair:after{content:"";position:absolute;width:18%;height:62%;background:#d9d7cf;left:41%;bottom:-52%;border-radius:20px}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ba-card{background:white;border:1px solid var(--line);padding:10px}.ba-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#eadfd3,#f9f5ef);display:grid;place-items:center;font-size:11px;letter-spacing:.16em;color:var(--olive)}.ba-label{text-align:center;padding:13px 0 4px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.site-footer{background:#f2ede5;border-top:1px solid var(--line);padding:56px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:42px}.footer-logo img{width:190px;mix-blend-mode:multiply}.footer-grid h4{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--olive);margin-top:0}.footer-grid a{display:block;font-size:13px;margin:5px 0}.footer-grid p{font-size:13px;color:var(--muted)}.copyright{margin-top:38px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* Responsive polish: desktop, tablet, iPhone & Android */
@media(max-width:1100px){
  .nav{gap:18px}.menu{gap:18px}.logo img{width:185px}
  .hero-copy{padding-right:38px}.cards{gap:16px}.card{padding:27px}
}
@media(max-width:980px){
  .site-header{backdrop-filter:blur(10px)}.nav{min-height:76px}.menu{display:none}.mobile-toggle{display:block;cursor:pointer;padding:10px 0;color:var(--deep);line-height:1}
  .mobile-menu{background:var(--bg);max-height:calc(100vh - 76px);overflow:auto}.mobile-menu.is-open{display:block}.mobile-menu .btn{margin-top:12px;width:100%}
  .hero{padding-top:24px}.hero-grid,.split,.profile,.hambi-page-grid{grid-template-columns:1fr}.hero-copy{padding:46px 0 42px}.hero-image{min-height:420px}.hero-image img{object-position:center 30%}
  .trust-grid,.values-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.split-copy{padding:54px 34px}.split-image img{min-height:420px;max-height:560px;object-position:center 28%}
  .hambi-grid{grid-template-columns:1.2fr .8fr}.hambi-copy{padding:34px 24px 34px 0}.hambi-visual{min-height:220px}
  .footer-grid,.contact-grid{grid-template-columns:1fr 1fr}.logo img{width:168px}.hambi-page-hero{background:#f7f2e9}.dental-visual{min-height:380px}
}
@media(max-width:768px){
  body{font-size:15.5px}.container{width:min(var(--max),calc(100% - 34px))}.hero{padding-top:18px}.hero h1{font-size:clamp(47px,10vw,64px)}.subhead{font-size:21px}
  .hero-image{min-height:360px}.hero-image:after{background:linear-gradient(180deg,#fffdf9 0%,rgba(255,253,249,.30) 7%,rgba(255,253,249,0) 18%,rgba(255,253,249,0) 84%,rgba(255,253,249,.22) 100%),linear-gradient(90deg,rgba(255,253,249,.20) 0%,rgba(255,253,249,0) 12%,rgba(255,253,249,0) 88%,rgba(255,253,249,.12) 100%)}.section{padding:78px 0}.section-head{margin-bottom:34px}.card h3{font-size:23px}
  .hambi-grid{grid-template-columns:1fr}.hambi-copy{padding:32px 0 24px;text-align:center}.hambi-copy p{margin-left:auto;margin-right:auto}.hambi-copy .btn{margin:auto}.hambi-visual{min-height:150px;margin-bottom:28px}.hambi-mark{width:104px;height:104px;font-size:26px}
  .footer-grid{gap:30px}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,var(--max))}.nav{min-height:70px}.logo img{width:152px}.mobile-menu{max-height:calc(100vh - 70px)}
  .trust-grid,.values-grid,.cards,.footer-grid,.contact-grid,.ba-grid{grid-template-columns:1fr}.trust-item,.value{border-right:0;border-bottom:1px solid var(--line)}
  .hero-grid{box-shadow:none}.hero-copy{padding:34px 0 30px}.hero h1{font-size:46px;margin-top:8px}.subhead{font-size:19px;margin-bottom:22px}.hero-copy>p:not(.subhead){font-size:15px}.hero-image{min-height:305px}.hero-image img{object-position:center 28%}
  .actions{gap:10px;margin-top:25px}.actions .btn{flex:1 1 100%;width:100%}.btn{min-height:49px;padding:0 20px}
  .section{padding:64px 0}.section h2{font-size:36px}.card{padding:25px}.split-copy{padding:44px 22px}.split-image img{min-height:330px}.quote-card{font-size:20px;padding:24px}
  .hambi-copy{padding:28px 0 18px}.hambi-copy h2{font-size:38px;margin-bottom:8px}.hambi-copy p{font-size:14px;margin-bottom:18px}.hambi-visual{min-height:128px;margin-bottom:22px}.hambi-visual:before{width:150px;height:150px}.hambi-visual:after{width:190px;height:190px}.hambi-mark{width:90px;height:90px;font-size:23px}.hambi-mark small{font-size:9px;margin-top:-6px}
  .page-hero{padding:54px 0}.hambi-page-hero{padding:56px 0}.dental-visual{min-height:300px}.copyright{display:block}.copyright>*{margin-bottom:8px}
}
@media(max-width:390px){
  .container{width:min(100% - 22px,var(--max))}.hero h1{font-size:41px}.hero-image{min-height:275px}.kicker{font-size:10px;letter-spacing:.15em}.trust-item{padding:22px 8px}.section h2{font-size:33px}.card h3{font-size:22px}.split-copy{padding-left:18px;padding-right:18px}.footer-logo img{width:165px}
}
@supports(padding:max(0px)){
  .site-header .nav{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  .mobile-menu{padding-bottom:max(22px,env(safe-area-inset-bottom))}
}

/* Cookie consent */
.cookie-settings-link{position:fixed;left:16px;bottom:14px;z-index:8999;border:1px solid #7b8163;background:#f7f2e8;color:#3f4638;border-radius:999px;padding:8px 13px;font:inherit;font-size:13px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.08)}
.cookie-banner{display:none;position:fixed;z-index:9000;left:0;right:0;bottom:0;padding:18px;background:rgba(49,57,47,.2);backdrop-filter:blur(5px)}.cookie-banner.is-visible{display:block}.cookie-inner{max-width:1120px;margin:auto;background:#f7f2e8;border:1px solid rgba(75,83,64,.22);border-radius:18px;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:0 14px 45px rgba(0,0,0,.16)}.cookie-inner h3,.cookie-card h3{margin:0 0 8px;color:#3f4638}.cookie-inner p,.cookie-card p{margin:0;color:#626959;line-height:1.55}.cookie-inner a{color:#4f5d45;text-decoration:underline}.cookie-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.cookie-text-btn{background:transparent;border:0;color:#4f5d45;text-decoration:underline;font:inherit;cursor:pointer;padding:10px}.cookie-modal{display:none;position:fixed;z-index:9100;inset:0;background:rgba(32,37,31,.5);padding:20px;align-items:center;justify-content:center}.cookie-modal.is-visible{display:flex}.cookie-card{position:relative;width:min(620px,100%);background:#f7f2e8;border-radius:20px;padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.25)}.cookie-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;color:#4f5d45;cursor:pointer}.consent-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid rgba(75,83,64,.16)}.consent-row span{display:flex;flex-direction:column;gap:4px}.consent-row small{color:#777d6d;line-height:1.35}.consent-row input{width:22px;height:22px;accent-color:#667257}
@media(max-width:700px){.cookie-inner{grid-template-columns:1fr;gap:16px;padding:19px}.cookie-actions{justify-content:stretch}.cookie-actions .btn{flex:1 1 100%;text-align:center}.cookie-text-btn{width:100%}.cookie-settings-link{left:10px;bottom:10px;font-size:12px}.cookie-card{padding:24px 20px}}


/* Hambi v6: service navigation, feature sections and before/after slider */
.hambi-anchor-wrap{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hambi-anchor-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:15px 0}
.hambi-anchor-nav a{font-size:12px;letter-spacing:.02em;padding:8px 13px;border-radius:999px;color:var(--deep);transition:.2s}
.hambi-anchor-nav a:hover{background:var(--sage-soft);color:var(--olive)}
.hambi-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.hambi-service-card{display:block;background:var(--paper);border:1px solid var(--line);padding:28px;min-height:230px;transition:.2s;box-shadow:var(--shadow)}
.hambi-service-card:hover{transform:translateY(-3px);border-color:var(--sage)}
.hambi-service-card>span{display:block;font:12px Georgia,serif;color:var(--sand-dark);letter-spacing:.12em;margin-bottom:38px}
.hambi-service-card h3{font-size:24px;margin:0 0 10px}.hambi-service-card p{font-size:14px;color:var(--muted);margin:0}
.hambi-detail{scroll-margin-top:95px}.hambi-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.hambi-detail-grid.reverse{grid-template-columns:.95fr 1.05fr}.hambi-feature-panel{background:var(--cream);border:1px solid var(--line);padding:42px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end}
.soft .hambi-feature-panel{background:var(--paper)}.hambi-feature-number{display:block;font:44px Georgia,serif;color:var(--sage);margin-bottom:auto}.hambi-feature-panel p{color:var(--muted)}.hambi-feature-panel a{font-weight:650;color:var(--olive);margin-top:12px}
.ba-slider{--position:50%;position:relative;max-width:920px;margin:0 auto;background:var(--cream2);aspect-ratio:16/9;overflow:hidden;border:10px solid white;box-shadow:var(--shadow);touch-action:none}
.ba-layer{position:absolute;inset:0;overflow:hidden}.ba-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.ba-before{z-index:1}.ba-after{z-index:2;clip-path:inset(0 0 0 var(--position))}.ba-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:30px;background:linear-gradient(135deg,#e9e1d6,#f8f5ef);color:var(--olive)}.ba-empty strong{font:28px Georgia,serif;color:var(--deep);margin-bottom:8px}.ba-empty small{max-width:420px}
.ba-after .ba-empty{background:linear-gradient(135deg,#e5e9df,#f8f6f0)}
.ba-chip{position:absolute;z-index:4;top:18px;background:rgba(255,253,249,.9);border:1px solid rgba(229,221,210,.9);padding:7px 11px;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.ba-chip.left{left:18px}.ba-chip.right{right:18px}
.ba-divider{position:absolute;z-index:5;top:0;bottom:0;left:var(--position);width:2px;background:white;transform:translateX(-1px);pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.05)}.ba-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--olive);font-size:18px;box-shadow:0 5px 20px rgba(0,0,0,.12)}
.ba-range{position:absolute;z-index:6;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.ba-caption{text-align:center;font-size:12px;color:var(--muted);margin:18px auto 0;max-width:760px}
@media(max-width:980px){.hambi-service-grid{grid-template-columns:1fr 1fr}.hambi-detail-grid,.hambi-detail-grid.reverse{grid-template-columns:1fr;gap:30px}.hambi-detail-grid.reverse .hambi-feature-panel{order:2}}
@media(max-width:620px){.hambi-anchor-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:12px 14px;margin-left:-14px;margin-right:-14px}.hambi-anchor-nav a{white-space:nowrap}.hambi-service-grid{grid-template-columns:1fr}.hambi-service-card{min-height:0}.hambi-service-card>span{margin-bottom:22px}.hambi-feature-panel{padding:28px;min-height:230px}.ba-slider{border-width:5px;aspect-ratio:4/3}.ba-divider span{width:42px;height:42px}.ba-chip{top:10px}.ba-chip.left{left:10px}.ba-chip.right{right:10px}}

/* v8: full-bleed homepage hero on desktop */
@media (min-width: 901px){
  .hero{padding-top:72px;background:var(--paper)}
  .hero>.container.hero-grid{width:100%;max-width:none;margin:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);box-shadow:none}
  .hero-copy{padding:66px 54px 64px max(22px,calc((100vw - var(--max))/2));background:var(--paper)}
  .hero-image{min-height:505px}
  .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
}

/* v10: Kela vaativa lääkinnällinen neuropsykologinen kuntoutus */
.kela-page-hero{background:linear-gradient(115deg,var(--cream) 0%,#f5f1e9 62%,var(--sage-soft) 100%)}
.kela-page .content>section{margin-bottom:66px}.kela-page .content>section:last-child{margin-bottom:0}
.kela-status-card{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--sage-soft);border:1px solid #dce2d4;padding:30px 34px;margin-top:-18px}
.kela-status-card h2{margin:5px 0 12px;font-size:34px}.kela-status{margin:0;font-size:18px;color:var(--deep)}
.kela-status:before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:9px;background:#9da292;vertical-align:1px}
.kela-status-available:before{background:#55845c}.kela-status-limited:before{background:#b58a42}.kela-status-full:before{background:#a55d55}
.kela-updated{font-size:12px;color:var(--muted);margin-bottom:0}.kela-therapist-card{display:grid;grid-template-columns:1.12fr .88fr;gap:36px;background:var(--paper);border:1px solid var(--line);padding:34px;margin:26px 0}
.kela-therapist-card h3{margin-top:7px}.kela-specialties{background:var(--sage-soft);padding:26px}.kela-specialties h3{font-size:22px;margin-top:0}.kela-specialties ul{margin-bottom:0}
.kela-location-card{background:var(--cream);border-left:4px solid var(--sand);padding:24px 28px;margin:24px 0 30px}.kela-location-card p:last-child{margin-bottom:0}
.kela-checklist{list-style:none!important;padding-left:0!important}.kela-checklist li{position:relative;padding:14px 0 14px 38px;border-bottom:1px solid var(--line)}.kela-checklist li:before{content:"✓";position:absolute;left:0;top:12px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--sage-soft);color:var(--olive);font-weight:800}
@media(max-width:700px){.kela-status-card{align-items:flex-start;flex-direction:column;padding:24px}.kela-status-card .btn{width:100%}.kela-therapist-card{grid-template-columns:1fr;padding:22px;gap:20px}.kela-specialties{padding:20px}.kela-page .content>section{margin-bottom:48px}}

/* accessibility refinements */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #344138;outline-offset:3px}

/* v11 accessibility improvements */
.skip-link{position:fixed;left:1rem;top:1rem;z-index:100000;padding:.75rem 1rem;background:#fff;color:#24372f;border:2px solid currentColor;border-radius:4px;transform:translateY(-180%);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #24372f;outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Footer service menu: keep WordPress list markup aligned with footer links. */
.footer-services-menu{list-style:none;margin:0;padding:0}.footer-services-menu li{margin:0;padding:0}

/* Optional homepage Hambi image from the WordPress media library. */
.hambi-visual.has-image{min-height:280px}
.hambi-visual.has-image:before,.hambi-visual.has-image:after{content:none}
.hambi-visual .hambi-home-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:768px){.hambi-visual.has-image{min-height:240px;aspect-ratio:16/10}}

/* Uploaded Hambi hero: retain the frame, fit naturally on all screen sizes. */
.dental-visual.has-hero-image{min-height:0;display:block;overflow:hidden}
.dental-visual .hambi-hero-image{display:block;width:100%;height:auto}

.kela-therapist-card .kela-therapist-image{grid-column:1 / -1;width:min(100%,360px);height:auto;justify-self:start}
.kela-editor-content{margin-bottom:36px}
