/* v3.4 — photo-led homepage, isolated from the retained presentation styles. */
/* v3.5 — typography-led identity and software development. */
.brand-shimmer{display:inline-block;font-family:'DM Sans','Segoe UI',sans-serif;font-size:25px;font-weight:500;letter-spacing:-.055em;white-space:nowrap;color:#183f38}
.brand-shimmer b{font-weight:700}.brand-shimmer small{font-size:14px;letter-spacing:0;font-weight:400}
@supports(background-clip:text){.brand-shimmer{background:linear-gradient(110deg,#183f38 0%,#183f38 38%,#38826c 44%,#b9b984 48%,#38826c 52%,#183f38 58%,#183f38 100%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brand-light 8s ease-in-out infinite}}
@keyframes brand-light{0%,25%{background-position:100% 50%}75%,100%{background-position:0% 50%}}
#topnav .text-brand{background:none;border:0;padding:5px 0;cursor:pointer;flex-shrink:0}
#topnav .brand-shimmer,.home-footer .brand-shimmer{color:#e6ede5;background-image:linear-gradient(110deg,#c8ddd3 0%,#c8ddd3 38%,#fff 48%,#c8ddd3 58%,#c8ddd3 100%)}
@supports(background-clip:text){#topnav .brand-shimmer,.home-footer .brand-shimmer{color:transparent}}
body[data-mode="development"] .page{display:none!important}
body[data-mode="development"] #serviceApp{max-width:none;padding:0;overflow-wrap:normal}
.development-hero{padding:85px 7%;color:#fff;background:linear-gradient(105deg,#102e30f5,#102e3090),url('../images/arkkitehtuuri-ilta.png') center/cover}
#serviceApp .development-hero h1{font-family:'DM Sans','Segoe UI',sans-serif;font-size:clamp(35px,5vw,68px);letter-spacing:-.045em;font-weight:500;max-width:1000px}
#serviceApp .development-hero>p:not(.home-eyebrow){max-width:660px;margin:24px 0 30px;color:#e1eae5}
.development-example{padding:60px 7%;background:#e8ede6}.development-example>p{max-width:680px}#serviceApp .development-example h2{font-size:42px}.development-example .home-button{margin-top:15px}
.software-partner{margin:30px 4%;padding:32px;background:#e8ede6;border:1px solid #cbd9ce;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#193f35}.software-partner span{font-size:10px;letter-spacing:.15em}.software-partner h2{font-size:24px;margin:10px 0}.software-partner p{font-size:14px;line-height:1.6}.software-partner a{padding:14px 20px;background:#193f35;color:#fff;text-decoration:none;border-radius:4px;flex-shrink:0;font-size:14px}
@media(max-width:720px){.software-partner{flex-direction:column;align-items:flex-start;padding:24px}.brand-shimmer{font-size:23px}.development-hero{padding:55px 6%}.development-example{padding:45px 6%}}
@media(prefers-reduced-motion:reduce){.brand-shimmer{animation:none!important;background-position:0% 50%}}
body:not([data-mode="presentation"]){background:#f8f9f7;color:#183735}
body[data-mode="home"] .page{display:none!important}
#serviceNav{background:#fff;color:#183735;gap:24px;padding:18px 5%;box-shadow:0 1px 0 #173b3520;flex-wrap:nowrap}
#serviceNav strong{flex-shrink:0;width:auto}#serviceNav strong a{display:flex}#serviceNav a{color:inherit;text-decoration:none;font-size:14px;font-weight:600}#serviceNav a:hover{color:#006f61}#serviceNav .nav-contact{background:#183f38;color:#fff;padding:13px 19px;border-radius:5px}#serviceNav .nav-links-new{display:flex;align-items:center;gap:25px}#serviceNav .menu-toggle{display:none;color:#183735;border-color:#ccd6d1}
.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:#fff;color:#143e35;padding:12px}.skip-link:focus{top:10px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e98642;outline-offset:5px}
body[data-mode="home"] #serviceApp{max-width:none;padding:0;overflow-wrap:normal}
#serviceApp .home-hero{min-height:650px;position:relative;display:flex;align-items:center;padding:75px 7%;color:white;background:linear-gradient(90deg,rgba(9,28,34,.92),rgba(9,28,34,.58) 45%,rgba(9,28,34,.08)),url('../images/arkkitehtuuri-ilta.png') center 55%/cover}
.home-hero-content{max-width:730px;position:relative;z-index:1}#serviceApp .home-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 23px;line-height:1.6}#serviceApp .home-hero h1{font-family:'DM Sans','Segoe UI',sans-serif;font-size:clamp(42px,5.1vw,76px);font-weight:500;line-height:1.07;letter-spacing:-.055em;margin:0 0 25px;color:white}.home-hero h1 em{font-style:normal;color:#b8dfcb}#serviceApp .home-hero-content>p:not(.home-eyebrow){max-width:510px;font-size:17px;color:#e2e9e7;line-height:1.8}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.home-button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:#d4f19a;color:#153b30!important;padding:17px 23px;text-decoration:none;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.home-button:hover{background:#bde779;transform:translateY(-2px)}.home-button.outline{border-color:#ffffff80;background:#ffffff0d;color:#fff!important}.home-button.outline:hover{background:#ffffff24}.hero-caption{position:absolute;bottom:27px;left:7%;right:7%;display:flex;justify-content:space-between;border-top:1px solid #ffffff35;padding-top:16px;font-size:11px;letter-spacing:.1em;color:#dce7e2}.home-strip{padding:25px 7%;display:flex;justify-content:space-between;gap:20px;background:#e9eee8;font-size:13px;font-weight:600}.home-strip span:before{content:'+';color:#497665;margin-right:13px}
.home-section{max-width:1400px;margin:auto;padding:90px 7%}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:37px}#serviceApp .home-section h2,#serviceApp .feature-copy h2,#serviceApp .home-contact h2{font-family:'DM Sans','Segoe UI',sans-serif;font-size:clamp(30px,3.3vw,46px);font-weight:500;line-height:1.15;letter-spacing:-.045em;margin:0 0 20px}#serviceApp .section-heading>p{max-width:420px;color:#596a63;font-size:15px}.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.solution-card{min-height:410px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border-radius:6px;text-decoration:none;color:#fff!important;overflow:hidden;transition:transform .2s;position:relative;background-size:cover;background-position:center}.solution-card:hover{transform:translateY(-5px)}.energy-card{background-image:linear-gradient(180deg,#132e4140,#0c283bf2),url('../images/arkkitehtuuri-ilta.png')}.structure-card{background-image:linear-gradient(180deg,#2b271e25,#292a21f5),url('../images/arkkitehtuuri-puu.png')}.property-card{background-image:linear-gradient(180deg,#173b3640,#143d34f5),url('../images/arkkitehtuuri-ilta.png');background-position:80% center}.card-number{font-size:10px;letter-spacing:.16em}.solution-card h3{font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.025em}#serviceApp .solution-card p{font-size:14px;color:#e3e9e5;line-height:1.65;margin:15px 0 25px}.card-link{border-top:1px solid #ffffff50;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:17px;font-size:12px}.card-link b{font-size:21px;font-weight:400}
.home-feature{display:grid;grid-template-columns:1fr 1fr;background:#e8ede6}.feature-photo{min-height:570px;background:url('../images/arkkitehtuuri-puu.png') center/cover}.feature-copy{padding:70px 12%;align-self:center}#serviceApp .feature-copy>p:not(.home-eyebrow){font-size:15px;color:#4e6358}.feature-copy ul{list-style:none;margin:25px 0 32px;padding:0;font-size:14px}.feature-copy li{padding:11px 0;border-bottom:1px solid #bfcfc2}.feature-copy li:before{content:'↗';color:#39745e;margin-right:12px}.feature-copy .home-button{background:#19483b;color:white!important}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:42px}.step-grid article{border-top:1px solid #cad5cb;padding-top:24px}.step-grid article>span{color:#7c967e;font-size:13px}.step-grid h3{font-size:21px;font-weight:500;margin-top:25px}#serviceApp .step-grid p{font-size:15px;color:#596a63}.home-contact{padding:80px 7%;text-align:center;color:#fff;background:linear-gradient(#0b302cde,#0b302ce8),url('../images/arkkitehtuuri-ilta.png') center 60%/cover}#serviceApp .home-contact p:not(.home-eyebrow){max-width:550px;margin:0 auto 28px;color:#d6e5dc}.contact-secondary{display:block;margin:22px auto 0;color:#e2eae6;font-size:13px}.home-footer{padding:55px 7% 25px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;background:#102b27;color:#dee6df}.home-footer strong{font-size:23px}.home-footer a,.home-footer span{display:block;color:#cbdad0;text-decoration:none;margin-bottom:13px;font-size:13px}#serviceApp .home-footer p{font-size:13px;color:#b7cbc0}.home-footer small{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:22px;font-size:10px;color:#a4baaf}
body[data-mode="catalog"] #serviceApp h1,body[data-mode="detail"] #serviceApp h1{font-family:'DM Sans','Segoe UI',sans-serif;letter-spacing:-.04em;font-weight:500}#serviceApp .svc-link{background:#19483b;color:white}#serviceApp .svc-tag,#serviceApp .eyebrow{color:#28755d}.svc-footer{color:#547267}.searchbox{box-shadow:none}
@media(min-width:1600px){#serviceApp .home-hero{min-height:740px}}
@media(max-width:1000px){#serviceNav{gap:15px;padding:15px 4%}#serviceNav .nav-links-new{gap:15px}#serviceNav a{font-size:12px}.solution-card{padding:22px}.solution-card h3{font-size:23px}.feature-copy{padding:45px 8%}.home-section{padding:65px 5%}}
@media(max-width:720px){#serviceNav{flex-wrap:wrap;gap:0;padding:13px 5%}#serviceNav .menu-toggle{display:block}#serviceNav .nav-links-new{display:none;flex-basis:100%;padding-top:18px;align-items:stretch;gap:4px}#serviceNav.menu-open .nav-links-new{display:flex;flex-direction:column}#serviceNav .nav-links-new a{padding:13px;font-size:14px}#serviceApp .home-hero{min-height:640px;padding:60px 6% 95px;background-position:62% center}#serviceApp .home-hero h1{font-size:46px}#serviceApp .home-hero-content>p:not(.home-eyebrow){font-size:16px}.home-actions{flex-direction:column;align-items:flex-start}.hero-caption{left:6%;right:6%;font-size:9px;gap:15px}.home-strip{display:grid;grid-template-columns:1fr 1fr;padding:22px 6%;font-size:11px;gap:15px}.section-heading{display:block;margin-bottom:27px}.solution-grid,.step-grid{grid-template-columns:1fr}.solution-card{min-height:350px;padding:27px}.solution-card h3{font-size:30px}.home-feature{grid-template-columns:1fr}.feature-photo{min-height:340px}.feature-copy{padding:45px 6%}.home-section{padding:55px 6%}.step-grid{gap:28px}.step-grid h3{margin-top:15px}.home-contact{padding:60px 6%}.home-footer{grid-template-columns:1fr 1fr;padding:40px 6% 25px}.home-footer>div:first-child{grid-column:1/-1}.home-button{max-width:100%;font-size:13px;gap:16px}.home-hero .home-eyebrow{max-width:250px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Selected identity: larger company name with industry subtitle. */
.brand-lockup,.home-footer .brand-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0}
.brand-lockup .brand-shimmer{display:block;font-size:36px;line-height:1.05;margin:0;letter-spacing:-.045em}
.brand-lockup .brand-shimmer small{font-size:16px;line-height:1;letter-spacing:0}
.brand-lockup .brand-tagline{display:block;color:#395c50;font-family:'DM Sans','Segoe UI',sans-serif;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.025em;margin:0;white-space:nowrap}
#topnav .brand-tagline,.home-footer .brand-tagline{color:#d1e1d7}
#topnav{height:auto;min-height:76px}
#topnav .text-brand{text-align:left}
@media(max-width:720px){.brand-lockup .brand-shimmer{font-size:28px}.brand-lockup .brand-tagline{font-size:11px}#topnav{padding-left:16px;padding-right:16px}}

/* DOF-LÄMPÖ version and license comparison. */
.license-options{margin:30px 0}.license-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.license-card{padding:26px;background:#fff;border:1px solid #cbd9ce;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start}.license-card h3{font-size:24px;color:#193f35}.license-card ul{padding-left:20px;margin:12px 0 26px;line-height:1.9;font-weight:600}.license-card .svc-link{margin-top:auto}#serviceApp .license-note{font-size:13px;color:#53665d}@media(max-width:650px){.license-grid{grid-template-columns:1fr}.license-card{padding:22px}}
