/* FLOW CAPITAL – helposti muokattava tyylitiedosto
   1) Vaihda värit alla olevista muuttujista.
   2) Fontit voi vaihtaa index.html-tiedoston Google Fonts -linkistä.
   3) Oikea kohdekuva: lisää .property-image-sääntöön esimerkiksi
      background-image: linear-gradient(...), url('images/kohde.jpg'); */
:root {
  --ink: #0d1b2a; --forest: #10273a; --forest-deep: #0d1b2a;
  --cream: #ffffff; --paper: #ffffff; --gold: #c8a15a;
  --line: rgba(13,27,42,.15); --max: 1240px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ink);color:var(--ink);font:400 16px/1.65 "Inter",sans-serif} body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none} h1,h2,h3,p{margin-top:0} h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.08;letter-spacing:-.025em;font-weight:500} em{font-family:"Playfair Display",Georgia,serif;font-weight:500;color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:92px;max-width:none;margin:auto;padding:0 max(28px,calc((100% - var(--max))/2 + 28px));display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;background:var(--ink);color:white;border-bottom:1px solid rgba(200,161,90,.2)}
.brand{display:flex;align-items:center;gap:12px;font:500 14px/1 "Playfair Display",Georgia,serif;letter-spacing:.2em}.brand-logo{width:36px;height:36px;object-fit:cover;border-radius:50%}.footer-brand .brand-logo{background:var(--ink);padding:2px}
nav{display:flex;align-items:center;gap:34px;font-size:13px}nav a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:11px 18px}.nav-cta:hover{background:var(--gold);color:var(--ink)}.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span:not(.sr-only){display:block;width:25px;height:1px;background:white;margin:6px}
nav a:not(.nav-cta){position:relative;padding:10px 14px;margin:-10px -14px;border:1px solid transparent;border-radius:999px;transition:color .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}
nav a:not(.nav-cta):hover{color:var(--ink);background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.28));border-color:rgba(255,255,255,.92);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.96),0 9px 24px rgba(13,27,42,.14);-webkit-backdrop-filter:blur(18px) saturate(1.55);backdrop-filter:blur(18px) saturate(1.55);transform:translateY(-1px)}
.language-switcher{display:flex;align-items:center;padding:3px;border:1px solid rgba(200,161,90,.55);border-radius:999px;background:rgba(255,255,255,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.language-switcher button{width:34px;height:30px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);font:700 10px/1 "Inter",sans-serif;letter-spacing:.06em;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.language-flag{display:block;width:20px;height:14px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.language-flag .flag-fine{stroke-width:.8;opacity:.72}
.finnish-flag .flag-cross{stroke:currentColor;stroke-width:2.7}
.language-switcher button[data-lang="fi"][aria-pressed="true"] .flag-cross{stroke:#285a7b}
.british-flag .uk-color{opacity:0}.british-flag .uk-mono{opacity:1}
.language-switcher button[data-lang="en"][aria-pressed="true"] .uk-mono{opacity:0}
.language-switcher button[data-lang="en"][aria-pressed="true"] .uk-color{opacity:1}
.british-flag .uk-color rect{fill:#012169;stroke:none}
.british-flag .uk-white-diagonals{stroke:#fff;stroke-width:4.2}
.british-flag .uk-red-diagonals{stroke:#c8102e;stroke-width:1.7}
.british-flag .uk-white-cross{stroke:#fff;stroke-width:5.2}
.british-flag .uk-red-cross{stroke:#c8102e;stroke-width:2.8}
.language-switcher button:hover{color:#8e6a28}.language-switcher button[aria-pressed="true"]{background:var(--gold);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 12px rgba(13,27,42,.16)}
.hero{min-height:calc(100vh - 92px);max-width:none;margin:auto;padding:9vh max(28px,calc((100% - var(--max))/2 + 28px)) 70px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;position:relative;overflow:hidden;background:var(--ink);color:white}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:600;color:var(--gold);margin-bottom:24px}.hero h1{font-size:clamp(48px,5vw,76px);margin-bottom:32px}.hero-lead{font-size:17px;max-width:590px;color:rgba(255,255,255,.74)}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 20px;font-weight:600;font-size:13px;letter-spacing:.04em;transition:.25s}.button-primary{background:var(--gold);color:var(--ink);min-width:220px}.button-primary:hover{background:white}.text-link{font-size:13px;border-bottom:1px solid var(--gold)}
.hero-visual{aspect-ratio:1/1;max-width:470px;width:100%;justify-self:end;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-logo{width:220px;height:220px;object-fit:cover;border-radius:50%;margin-bottom:34px}.hero-visual p{font:500 clamp(25px,3vw,42px) "Playfair Display",Georgia,serif;letter-spacing:.14em;margin:0;text-align:center}.hero-visual small{font-size:9px;letter-spacing:.32em;color:var(--gold);margin-top:16px}.scroll-hint{position:absolute;left:max(28px,calc((100% - var(--max))/2 + 28px));bottom:30px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.68)}.scroll-hint span{width:36px;height:1px;background:var(--gold)}
.section{max-width:var(--max);margin:auto;padding:120px 28px}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.17em;border-top:1px solid var(--line);padding-top:16px;margin-bottom:80px;display:flex;gap:24px}.section-label span{color:var(--gold)}.intro{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.intro .section-label{grid-column:1/-1}.intro h2,.section-heading h2{font-size:clamp(38px,5vw,64px);margin-bottom:0}.intro-text{padding-top:38px;max-width:510px;color:#53605a}.intro-text p:first-child{font-size:18px;color:var(--ink)}
.investments{max-width:none;background:var(--forest-deep);color:white;padding-left:max(28px,calc((100% - var(--max))/2 + 28px));padding-right:max(28px,calc((100% - var(--max))/2 + 28px))}.light{border-color:rgba(255,255,255,.18)}.light-heading{display:grid;grid-template-columns:1.2fr .8fr;column-gap:70px}.light-heading .eyebrow{grid-column:1/-1}.light-heading p:last-child{max-width:450px;color:#aeb8bd;padding-top:15px}.investment-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid rgba(200,161,90,.36);border-bottom:1px solid rgba(200,161,90,.36)}.investment-grid article{position:relative;padding:55px 35px 45px 0;min-height:340px}.investment-grid article+article{border-left:1px solid rgba(200,161,90,.36);padding-left:35px}.card-number{font-size:10px;color:var(--gold);position:absolute;right:25px}.line-icon{width:54px;height:54px;margin-bottom:45px;position:relative}.property-icon{border:1px solid var(--gold);border-top:0;margin-top:12px;height:42px}.property-icon:before{content:"";position:absolute;width:38px;height:38px;border-left:1px solid var(--gold);border-top:1px solid var(--gold);transform:rotate(45deg);left:7px;top:-19px}.chart-icon{border-left:1px solid var(--gold);border-bottom:1px solid var(--gold)}.chart-icon:after{content:"↗";color:var(--gold);position:absolute;font-size:45px;line-height:1;left:10px;top:-9px}.compass-icon{border:1px solid var(--gold);border-radius:50%}.compass-icon:after{content:"";position:absolute;width:1px;height:37px;background:var(--gold);left:26px;top:8px;transform:rotate(35deg)}.investment-grid h3{font-size:29px}.investment-grid p{color:#aeb8bd;max-width:310px}
.section-heading{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;margin-bottom:70px}.section-heading h2{max-width:780px}.property-feature{display:grid;grid-template-columns:1.2fr .8fr;background:var(--cream);min-height:570px}.property-image{position:relative;overflow:hidden;background:linear-gradient(#dadfd8 0 45%,#aeb9ad 45% 65%,#627a6c 65%);min-height:500px}.property-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(16,40,31,.18))}.mountain{position:absolute;width:85%;height:65%;background:#788d80;transform:rotate(45deg);bottom:-30%;left:15%;border-radius:4px}.mountain-back{background:#91a094;left:-30%;bottom:-40%;width:95%}.location{position:absolute;z-index:2;bottom:25px;left:25px;background:rgba(251,250,246,.9);padding:8px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.property-content{padding:65px}.property-content h3{font-size:clamp(36px,4vw,52px)}.property-content>p:not(.eyebrow){color:#56625d}.button-outline{border:1px solid var(--ink);margin:20px 0 44px;width:100%}.button-outline:hover{background:var(--ink);color:#fff}.property-content dl{font-size:12px;margin:0}.property-content dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.property-content dt{color:#7b8580}.property-content dd{margin:0;font-weight:600}
.values{padding-top:30px}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.values-grid article{padding:36px 28px 20px 0}.values-grid article+article{border-left:1px solid var(--line);padding-left:28px}.values-grid span{font-size:11px;color:var(--gold)}.values-grid h3{font-size:22px;margin:50px 0 18px}.values-grid p{font-size:14px;color:#66706c}
.contact{background:radial-gradient(circle at 15% 30%,#17344d,var(--ink) 55%);color:white;padding:110px max(28px,calc((100% - var(--max))/2 + 28px));display:grid;grid-template-columns:1.3fr .7fr;gap:70px}.contact h2{font-size:clamp(50px,7vw,88px);margin-bottom:0}.contact-details{padding-top:45px}.contact-details>p:first-child{color:#b7c2bc}.email-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--gold);padding:20px 0;font:500 18px "Inter"}.email-link span{color:var(--gold)}.company-info{font-size:12px;color:#9eaca5;margin-top:50px}
footer{max-width:var(--max);margin:auto;padding:35px 28px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#6e7873}.footer-brand{font-size:11px;color:var(--ink)}
/* Kolmen värin brändipaletti: valkoinen, navy blue ja kultainen. */
.intro-text,.intro-text p:first-child,.property-content>p:not(.eyebrow),.property-content dt,.values-grid p,footer{color:var(--ink)}
.light-heading p:last-child,.investment-grid p,.contact-details>p:first-child,.company-info{color:rgba(255,255,255,.72)}
.property-feature{background:var(--paper);border:1px solid var(--gold)}
.property-image{background:var(--ink) url('images/onnenpolku-20.png') center center/cover no-repeat}
.property-image:after{background:linear-gradient(135deg,transparent,rgba(13,27,42,.12))}
.mountain{background:var(--gold)}
.mountain-back{background:white;opacity:.9}
.location{background:white;color:var(--ink);border:1px solid var(--gold)}
.contact{background:var(--ink)}
.footer-brand .brand-logo{background:var(--ink)}

/* Ensimmäisen näkymän pehmeä sisääntulo. */
@keyframes view-fade{from{opacity:0}to{opacity:1}}
@keyframes content-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes logo-reveal{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
.site-header{animation:view-fade .8s ease-out both}
.hero{animation:view-fade 1s ease-out both}
.hero-content{animation:content-rise .9s .18s cubic-bezier(.22,.75,.25,1) both}
.hero-visual{animation:logo-reveal 1s .38s cubic-bezier(.22,.75,.25,1) both}
.scroll-hint{animation:view-fade .7s .9s ease-out both}

/* 2D-virtaus: seitsemän navy-sävyä, ei tekstuureja tai 3D-efektejä. */
.flow-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;opacity:.9;pointer-events:none}
.flow-video{position:fixed;inset:-2%;width:104vw;height:104vh;z-index:1;object-fit:cover;pointer-events:none;filter:blur(10px) saturate(.72) brightness(.48) contrast(1.08);transform:scale(1.02)}
.hero::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#0d1b2a 0%,rgba(13,27,42,.88) 38%,rgba(13,27,42,.28) 72%,rgba(13,27,42,.54) 100%);
}
.hero>.hero-content,.hero>.hero-visual,.hero>.scroll-hint{position:relative;z-index:3}
.hero>.scroll-hint{position:absolute}
.hero-content{isolation:isolate}
.hero h1,.hero-lead,.hero-actions,.hero .eyebrow{position:relative;z-index:1}

/* Varmista, että kaikki sisältö pysyy kiinteän vesitaustan yläpuolella. */
.intro,.properties,.values,.investments,.contact,footer{position:relative;z-index:6}
.intro,.properties,.values,footer{background:rgba(255,255,255,.90);color:var(--ink)}
.investments,.contact{background:transparent;color:#ffffff}
.hero-lead{color:rgba(255,255,255,.9)}
.light-heading p:last-child,.investment-grid p,.contact-details>p:first-child,.company-info{color:rgba(255,255,255,.86)}
.investments h2,.investments h3,.contact h2,.contact a{color:#ffffff}
.contact em,.investments .eyebrow,.contact .eyebrow{color:var(--gold)}
.intro,.properties,.values{opacity:var(--scroll-opacity,1);transform:translateY(var(--scroll-shift,0));transition:opacity .2s linear,transform .2s cubic-bezier(.22,.75,.25,1);will-change:opacity,transform}
.hero{background:transparent;z-index:2}
.hero::after{display:none}
.site-header{background:#ffffff;color:var(--ink);border-bottom:1px solid rgba(200,161,90,.45)}
.site-header .brand-logo{background:var(--ink);padding:2px}
.site-header .menu-button span:not(.sr-only){background:var(--ink)}

/* LIQUID GLASS -ILME
   Läpikuultavat, taustaa taittavat pinnat säilyttävät vesivirran näkyvissä. */
.site-header{
  position:sticky;
  top:0;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.82);
  border-top:0;
  border-radius:0 0 28px 28px;
  box-shadow:0 12px 38px rgba(13,27,42,.12),inset 0 -1px 0 rgba(200,161,90,.25);
  -webkit-backdrop-filter:blur(28px) saturate(1.45);
  backdrop-filter:blur(28px) saturate(1.45);
}
.nav-cta,.button{border-radius:999px}
.nav-cta{background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 16px rgba(13,27,42,.08)}
.hero{padding-top:7vh;padding-bottom:90px}
.hero-content{
  padding:clamp(28px,4vw,54px);
  margin-right:36px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:38px;
  background:rgba(13,27,42,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 60px rgba(5,14,22,.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  backdrop-filter:blur(18px) saturate(1.3);
}
.hero-visual{
  border:1px solid rgba(255,255,255,.17);
  border-radius:44px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 24px 60px rgba(5,14,22,.16);
  -webkit-backdrop-filter:blur(16px) saturate(1.25);
  backdrop-filter:blur(16px) saturate(1.25);
}
.button-primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 10px 26px rgba(5,14,22,.22)}
.intro,.properties,.values{
  width:min(calc(100% - 48px),var(--max));
  margin:42px auto;
  padding-left:clamp(24px,4vw,58px);
  padding-right:clamp(24px,4vw,58px);
  border:1px solid rgba(255,255,255,.76);
  border-radius:42px;
  background:rgba(255,255,255,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 26px 70px rgba(13,27,42,.16);
  -webkit-backdrop-filter:blur(30px) saturate(1.35);
  backdrop-filter:blur(30px) saturate(1.35);
}
.investments,.contact{
  width:min(calc(100% - 48px),1320px);
  max-width:1320px;
  margin:42px auto;
  border:1px solid rgba(255,255,255,.2);
  border-radius:42px;
  background:rgba(13,27,42,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 28px 72px rgba(5,14,22,.24);
  -webkit-backdrop-filter:blur(26px) saturate(1.35);
  backdrop-filter:blur(26px) saturate(1.35);
}
.investment-grid article{transition:background .25s ease,transform .25s ease}
.investment-grid article:hover{background:rgba(255,255,255,.055);transform:translateY(-4px)}
.property-feature{
  overflow:hidden;
  border-radius:32px;
  background:rgba(255,255,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 18px 44px rgba(13,27,42,.13);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.property-image{border-radius:30px 0 0 30px}
.button-outline{background:rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(13,27,42,.08)}
.values-grid article{margin:14px 7px;padding:28px;border:1px solid rgba(255,255,255,.7)!important;border-radius:28px;background:rgba(255,255,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
footer{
  width:min(calc(100% - 48px),var(--max));
  margin:42px auto 24px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:rgba(255,255,255,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 18px 44px rgba(13,27,42,.12);
  -webkit-backdrop-filter:blur(24px) saturate(1.35);
  backdrop-filter:blur(24px) saturate(1.35);
}
@media(max-width:800px){
  .site-header{border-radius:0 0 22px 22px}
  .hero-content{margin-right:0;padding:28px 22px;border-radius:30px}
  .hero-visual{border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .intro,.properties,.values,.investments,.contact{width:calc(100% - 24px);margin:20px auto;border-radius:30px}
  .property-feature{border-radius:24px}.property-image{border-radius:23px 23px 0 0}
  .values-grid article{margin:7px 0;padding:24px}
  footer{width:calc(100% - 24px);border-radius:24px}
}

/* Korostettu Liquid Glass: selkeämpi taittuminen, hohto ja kerroksellisuus. */
.site-header{
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.42));
  border-color:rgba(255,255,255,.96);
  box-shadow:inset 0 1.5px 0 #fff,inset 0 -1px 0 rgba(200,161,90,.32),0 18px 46px rgba(5,14,22,.2);
  -webkit-backdrop-filter:blur(42px) saturate(1.75) contrast(1.05);
  backdrop-filter:blur(42px) saturate(1.75) contrast(1.05);
}
.hero-content,.hero-visual{
  border:1.5px solid rgba(255,255,255,.38);
  background:
    radial-gradient(circle at 12% 4%,rgba(255,255,255,.24),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.12),rgba(13,27,42,.26));
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.4),inset 1px 0 0 rgba(255,255,255,.16),0 32px 80px rgba(5,14,22,.3);
  -webkit-backdrop-filter:blur(34px) saturate(1.65);
  backdrop-filter:blur(34px) saturate(1.65);
}
.intro,.properties,.values{
  border:1.5px solid rgba(255,255,255,.98);
  background:
    radial-gradient(circle at 9% 0%,rgba(255,255,255,.92),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.66),rgba(255,255,255,.42));
  box-shadow:inset 0 2px 0 #fff,inset 1px 0 0 rgba(255,255,255,.85),inset -1px -1px 0 rgba(200,161,90,.16),0 34px 90px rgba(5,14,22,.24);
  -webkit-backdrop-filter:blur(44px) saturate(1.75) contrast(1.04);
  backdrop-filter:blur(44px) saturate(1.75) contrast(1.04);
}
.investments,.contact{
  border:1.5px solid rgba(255,255,255,.4);
  background:
    radial-gradient(circle at 10% 0%,rgba(255,255,255,.16),transparent 32%),
    linear-gradient(145deg,rgba(32,68,92,.38),rgba(13,27,42,.26));
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.34),inset 1px 0 0 rgba(255,255,255,.14),0 34px 90px rgba(5,14,22,.32);
  -webkit-backdrop-filter:blur(40px) saturate(1.75);
  backdrop-filter:blur(40px) saturate(1.75);
}
.property-feature,.values-grid article{
  border:1.5px solid rgba(255,255,255,.96)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(255,255,255,.28));
  box-shadow:inset 0 1.5px 0 #fff,0 20px 52px rgba(13,27,42,.17);
  -webkit-backdrop-filter:blur(26px) saturate(1.5);
  backdrop-filter:blur(26px) saturate(1.5);
}
.button,.nav-cta{
  border:1px solid rgba(255,255,255,.84);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.88),0 12px 28px rgba(5,14,22,.18);
  -webkit-backdrop-filter:blur(18px) saturate(1.55);
  backdrop-filter:blur(18px) saturate(1.55);
}
.button-outline,.nav-cta{background:linear-gradient(145deg,rgba(255,255,255,.5),rgba(255,255,255,.18))}
.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:inset 0 1.5px 0 #fff,0 16px 34px rgba(5,14,22,.24)}
footer{
  border:1.5px solid rgba(255,255,255,.96);
  background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(255,255,255,.4));
  box-shadow:inset 0 1.5px 0 #fff,0 24px 60px rgba(5,14,22,.18);
  -webkit-backdrop-filter:blur(38px) saturate(1.65);
  backdrop-filter:blur(38px) saturate(1.65);
}

/* Tekstien korostus lasipintojen päällä. */
h1,h2,h3{font-weight:600}
.hero h1{font-size:clamp(48px,5vw,76px);text-shadow:0 3px 22px rgba(5,14,22,.52)}
.hero-lead{font-size:18px;font-weight:500;line-height:1.72;color:#fff;text-shadow:0 2px 12px rgba(5,14,22,.58)}
.hero .eyebrow,.hero-visual small{font-weight:600;text-shadow:0 2px 10px rgba(5,14,22,.55)}
.hero-visual p{font-weight:600;text-shadow:0 3px 18px rgba(5,14,22,.62)}
.intro h2,.properties h2,.values h2{color:#07131f;text-shadow:0 1px 0 rgba(255,255,255,.9)}
.intro-text,.property-content>p:not(.eyebrow),.values-grid p{font-weight:500;color:#152536}
.section-label{font-weight:600;color:#0a1723}
.investments h2,.investments h3,.contact h2{color:#fff;text-shadow:0 3px 18px rgba(5,14,22,.65)}
.light-heading p:last-child,.investment-grid p,.contact-details>p:first-child,.company-info{font-weight:500;color:rgba(255,255,255,.94);text-shadow:0 2px 10px rgba(5,14,22,.52)}
.button,.nav-cta,.email-link{font-weight:600}
.eyebrow{font-weight:700}
@media(max-width:800px){.site-header{height:76px;padding:0 22px}.menu-button{display:block;z-index:2}nav{display:none;position:fixed;inset:0;background:var(--paper);color:var(--ink);flex-direction:column;justify-content:center;font-size:20px}.menu-open nav{display:flex}.menu-open .menu-button span:not(.sr-only){background:var(--ink)}.menu-open .menu-button span:not(.sr-only):first-of-type{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-button span:not(.sr-only):last-of-type{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:calc(100svh - 76px);grid-template-columns:1fr;padding:70px 22px}.hero-content{z-index:2}.hero h1{font-size:clamp(49px,15vw,72px)}.hero-visual{position:absolute;width:270px;right:-70px;top:45px;opacity:.22}.hero-logo{width:190px;height:190px}.hero-visual p,.hero-visual small{display:none}.hero-lead{max-width:90%}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.scroll-hint{display:none}.section{padding:82px 22px}.section-label{margin-bottom:55px}.intro,.light-heading,.section-heading,.property-feature,.contact{grid-template-columns:1fr}.intro-copy{margin-bottom:25px}.investment-grid{grid-template-columns:1fr}.investment-grid article{min-height:auto;padding:40px 0}.investment-grid article+article{border-left:0;border-top:1px solid rgba(200,161,90,.36);padding-left:0}.investment-grid .line-icon{margin-bottom:28px}.section-heading{gap:14px}.property-content{padding:45px 25px}.values-grid{grid-template-columns:1fr 1fr}.values-grid article:nth-child(3){border-left:0}.values-grid article:nth-child(n+3){border-top:1px solid var(--line)}.contact{padding-top:85px;padding-bottom:85px;gap:10px}footer{flex-wrap:wrap;gap:18px}footer p{order:3;width:100%}}
@media(max-width:800px){nav{gap:22px}.language-switcher{margin-top:10px}.language-switcher button{width:42px;height:36px}}
@media(max-width:460px){.hero h1{font-size:46px}.hero-visual{width:230px}.values-grid{grid-template-columns:1fr}.values-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.property-image{min-height:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.intro,.properties,.values{opacity:1!important;transform:none!important}}

/* Tekstien rajaus: jokainen teksti pysyy oman lasikuplansa sisällä. */
.site-header,.hero-content,.hero-visual,.intro,.properties,.values,
.investments,.contact,.property-feature,.property-content,
.investment-grid article,.values-grid article,footer{
  min-width:0;
  overflow:hidden;
}
.hero-content>*,.hero-visual>*,.intro>*,.properties>*,.values>*,
.investments>*,.contact>*,.property-content>*,
.investment-grid article>*,.values-grid article>*,footer>*{
  max-width:100%;
}
h1,h2,h3,p,a,span,dt,dd{
  overflow-wrap:normal;
  word-break:normal;
  -webkit-hyphens:none;
  hyphens:none;
}
.email-link{
  gap:16px;
  overflow-wrap:anywhere;
  -webkit-hyphens:none;
  hyphens:none;
}

@media(max-width:800px){
  .hero-content{width:100%}
  .hero h1{font-size:clamp(30px,9.5vw,58px)}
  .hero-lead{max-width:100%}
  .investment-grid article{padding-left:22px;padding-right:22px}
  .investment-grid article+article{padding-left:22px;padding-right:22px}
  .contact>div{min-width:0}
  footer{padding-left:22px;padding-right:22px}
}

@media(max-width:460px){
  .hero h1{font-size:clamp(25px,8vw,37px)}
  .hero-content{padding-left:20px;padding-right:20px}
  .intro h2,.section-heading h2{font-size:clamp(29px,9vw,40px)}
  .property-content h3{font-size:clamp(30px,10vw,40px)}
  .contact h2{font-size:clamp(34px,11vw,48px)}
  .property-content{padding-left:22px;padding-right:22px}
  .values-grid article{padding:22px}
  .email-link{font-size:15px}
  footer .brand{letter-spacing:.12em}
}
