/*
Theme Name: Jalani Oy
Theme URI: https://jalanioy.fi/
Author: Jalani Oy
Description: Jalani Oy:n responsiivinen yhden sivun WordPress-teema.
Version: 1.0.0
Text Domain: jalani
*/

:root{--ink:#113d31;--ink-2:#225446;--sage:#78927d;--sand:#d8c39a;--cream:#f7f5ef;--white:#fff;--line:rgba(17,61,49,.16);--text:#20312b;--muted:#66736e;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,245,239,.92);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;color:var(--ink)}.brand-mark{width:34px;height:36px;position:relative;border-bottom:3px solid var(--ink)}.brand-mark:before,.brand-mark:after{content:"";position:absolute;bottom:4px}.brand-mark:before{left:5px;width:10px;height:21px;background:var(--sand);clip-path:polygon(0 20%,100% 0,100% 100%,0 100%)}.brand-mark:after{right:5px;width:11px;height:31px;background:var(--ink);clip-path:polygon(0 0,100% 18%,100% 100%,0 100%)}.brand-name{font-family:Georgia,serif;font-size:27px;letter-spacing:-.04em}.menu{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:650}.menu a{text-decoration:none}.menu a:hover{color:var(--sage)}.menu-toggle{display:none;border:0;background:none;color:var(--ink);font:inherit;font-weight:700}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:5vw;padding:72px 0 84px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:1px;background:var(--sand)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:Georgia,"Times New Roman",serif;color:var(--ink);font-size:clamp(52px,6.4vw,96px);line-height:.96;letter-spacing:-.055em;margin:26px 0 30px;max-width:760px}.lead{font-size:clamp(18px,1.7vw,23px);line-height:1.55;max-width:620px;color:#46544f}.actions{display:flex;gap:13px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid var(--ink);text-decoration:none;font-weight:750;font-size:14px;transition:.2s}.button.primary{background:var(--ink);color:#fff}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(17,61,49,.13)}.hero-art{position:relative;min-height:650px;background:#f1eee5;overflow:hidden}.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-badge{position:absolute;left:24px;top:30px;background:rgba(255,255,255,.9);padding:14px 17px;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-5deg);transform-origin:left center}.quicklinks{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:120px}.quicklink{padding:30px 28px 34px;border-right:1px solid var(--line);text-decoration:none}.quicklink:last-child{border:0}.quicklink span{display:block;color:var(--sage);font-size:12px;font-weight:800;letter-spacing:.14em;margin-bottom:17px}.quicklink strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:25px}.quicklink small{display:block;color:var(--muted);font-size:14px;margin-top:7px}.section{padding:118px 0}.section.white{background:#fff}.section-head{display:grid;grid-template-columns:.42fr 1fr;gap:80px;margin-bottom:64px}.section h2{color:var(--ink);font-family:Georgia,serif;font-size:clamp(42px,5vw,70px);line-height:1;letter-spacing:-.045em}.section-intro{font-size:20px;max-width:760px;color:#52605b}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.statement{background:#fff;padding:55px}.statement .num{color:var(--sand);font-size:13px;font-weight:800;letter-spacing:.15em}.statement h3{color:var(--ink);font-family:Georgia,serif;font-size:32px;margin:20px 0 14px}.statement p{font-size:18px;margin:0}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.value{min-height:285px;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.value-icon{width:46px;height:46px;border:1px solid var(--sand);border-radius:50%;display:grid;place-items:center;color:var(--ink);font-weight:800}.value h3{font-family:Georgia,serif;color:var(--ink);font-size:25px;margin:50px 0 10px}.value p{color:var(--muted);font-size:15px}.strategy{background:var(--ink);color:#eaf1ed}.strategy h2,.strategy .eyebrow{color:#fff}.strategy .eyebrow:before{background:var(--sand)}.strategy .section-intro{color:#b9cac3}.strategy-list{counter-reset:strategy;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.18)}.strategy-item{counter-increment:strategy;display:grid;grid-template-columns:68px 1fr;gap:22px;padding:34px 28px 34px 0;border-bottom:1px solid rgba(255,255,255,.18)}.strategy-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}.strategy-item:nth-child(even){padding-left:34px}.strategy-item:before{content:"0" counter(strategy);color:var(--sand);font-size:13px;font-weight:800;letter-spacing:.14em}.strategy-item p{font-size:17px;margin:0}.goals{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.goal{background:var(--cream);padding:32px;min-height:245px}.goal span{color:var(--sand);font-weight:900}.goal h3{font-family:Georgia,serif;color:var(--ink);font-size:23px;line-height:1.2;margin:52px 0 12px}.goal p{color:var(--muted);font-size:14px}.quote{padding:100px 0;background:var(--sand);color:var(--ink)}.quote blockquote{font-family:Georgia,serif;font-size:clamp(36px,5.2vw,72px);line-height:1.06;letter-spacing:-.045em;margin:0;max-width:1100px}.contact{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}.contact-card{border-top:1px solid var(--line);padding-top:28px}.contact-card span{display:block;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.13em}.contact-card strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:30px;margin:8px 0 3px}.contact-card a{font-weight:700;text-underline-offset:4px}.footer{background:#0b3027;color:#dce7e2;padding:34px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:13px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu{display:none;position:absolute;top:84px;left:0;right:0;background:var(--cream);padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:44px}.hero-art{min-height:560px}.quicklinks{grid-template-columns:1fr;margin-bottom:70px}.quicklink{border-right:0;border-bottom:1px solid var(--line)}.section{padding:82px 0}.section-head{grid-template-columns:1fr;gap:20px}.values,.goals{grid-template-columns:1fr 1fr}.strategy-list{grid-template-columns:1fr}.strategy-item,.strategy-item:nth-child(even){padding:28px 0;border-right:0}.contact{grid-template-columns:1fr;gap:42px}}
@media(max-width:560px){.wrap{width:min(calc(100% - 30px),var(--max))}.nav{height:72px}.brand-name{font-size:23px}.hero{min-height:auto;padding:48px 0 60px}.hero h1{font-size:47px}.actions{align-items:stretch;flex-direction:column}.hero-art{min-height:430px}.statement-grid,.values,.goals{grid-template-columns:1fr}.statement{padding:35px 28px}.value{min-height:250px}.strategy-item{grid-template-columns:48px 1fr}.footer-inner{flex-direction:column}.quote{padding:70px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
.hero-badge{top:auto;bottom:17px;left:24px;transform:none}.subsidiaries{background:#eef0e9}.subsidiary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.subsidiary-card{background:#fff;border-top:4px solid var(--ink);padding:34px;min-height:430px;display:flex;flex-direction:column}.company-number{color:var(--sand);font-size:13px;font-weight:900;letter-spacing:.15em}.company-logo{height:112px;margin:24px 0 20px;display:flex;align-items:center;justify-content:flex-start}.company-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.subsidiary-card h3{color:var(--ink);font-family:Georgia,serif;font-size:27px;line-height:1.2;margin:0 0 28px}.subsidiary-card dl{margin:auto 0 0}.subsidiary-card dl div{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.subsidiary-card dt{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.subsidiary-card dd{margin:0;font-size:15px;font-weight:650;line-height:1.5}
@media(max-width:900px){.subsidiary-grid{grid-template-columns:1fr}.subsidiary-card{min-height:260px}}
.company-logo{border-radius:3px;transition:transform .2s ease,opacity .2s ease}.company-logo:hover{transform:translateY(-2px);opacity:.82}.company-logo:focus-visible{outline:3px solid var(--sand);outline-offset:5px}
.hero-badge{top:auto;bottom:21px;left:24px;background:transparent;padding:0;box-shadow:none;transform:none}
.contact-details{margin:34px 0 0}.contact-details div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:15px 0;border-top:1px solid var(--line)}.contact-details dt{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-details dd{margin:0;color:var(--ink);font-size:15px;font-weight:700}
@media(max-width:560px){.contact-details div{grid-template-columns:1fr;gap:4px}}
.subsidiary-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.subsidiary-grid{grid-template-columns:1fr}}
.subsidiary-card--plain h3{margin:58px 0 28px}


