@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#101722;--paper:#edf2f8;--lime:#82b5ed;--muted:#b6c3d4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--paper);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:5px}header{height:90px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-bottom:1px solid #ffffff20}.brand{font-size:24px;font-weight:800;letter-spacing:-1.3px}.brand span{font-weight:400}.brand i{font-size:11px;color:var(--lime);font-style:normal;vertical-align:top;margin-left:4px}nav{display:flex;gap:34px;align-items:center;font-size:13px}.nav-contact{border:1px solid #71665f;padding:13px 20px}.nav-contact span{margin-left:24px}.hero{height:690px;min-height:600px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#171717 4%,#171717e0 34%,#17171720 70%),url('assets/work-0.jpg') 80% 48%/cover}.hero-content{position:relative;padding:65px 5%}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;margin:0 0 30px}.dot{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:8px}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-1.5px;font-weight:700;margin:0;line-height:.94}h1{font-size:clamp(74px,9vw,128px)}em{font-style:normal;color:var(--lime)}.lead{font-size:16px;line-height:1.7;color:#d9d4cf;margin:27px 0}.button{display:inline-flex;gap:42px;justify-content:space-between;align-items:center;padding:18px 23px;font-size:13px;font-weight:600;border:0}.lime{background:var(--lime);color:#251b14}.button:hover{filter:brightness(.9)}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#c9c1ba}.ribbon{background:var(--lime);color:#29211b;display:flex;justify-content:space-around;padding:23px 3%;font-size:12px;letter-spacing:1px;font-weight:700}.wrap{padding:clamp(58px,7vw,90px) 5%}.section-top{display:flex;justify-content:space-between;align-items:end}.section-top h2,h2{font-size:64px}.section-top>p{color:var(--muted);font-size:14px;line-height:1.8}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:40px 0 20px}.filters button{border:1px solid #514b46;background:transparent;color:#d9d4cf;padding:12px 18px;font-size:12px;border-radius:2px}.filters button.active{background:var(--paper);color:var(--bg);border-color:var(--paper)}.small{font-size:11px;color:var(--muted);margin:0 0 18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}.project{background:none;border:0;padding:0;color:inherit;text-align:left;min-width:0}.project .picture{aspect-ratio:1.2;overflow:hidden;background:#302c29;position:relative}.project img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project:hover img{transform:scale(1.04)}.project .arrow{position:absolute;right:12px;bottom:12px;background:var(--lime);padding:10px 14px;color:#111}.project .category{font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);display:block;margin:20px 0 9px}.project h3{font-size:18px;font-weight:500;margin:0;line-height:1.4}.outline{border:1px solid #74675e;background:none;color:var(--paper);margin:42px auto 0;display:flex;width:max-content}.services{border-top:1px solid #ffffff20;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;background:#202020}.muted{color:var(--muted);max-width:300px;line-height:1.8;font-size:14px;margin:25px 0}.text-link{display:inline-block;border-bottom:1px solid #827164;padding-bottom:6px;font-size:13px}.service-list details{border-bottom:1px solid #49413b;padding:23px 0}.service-list summary{display:flex;align-items:center;gap:22px;list-style:none;font-size:20px;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{color:var(--lime);font-size:10px}.service-list summary b{margin-left:auto;font-size:22px;font-weight:400}.service-list details[open] b{transform:rotate(45deg)}.service-list p{color:var(--muted);font-size:14px;line-height:1.8;padding-left:36px;max-width:490px}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);color:#282320}.about-photo{min-height:580px}.about-photo img{width:100%;height:100%;max-height:670px;object-fit:cover}.about-copy{padding:85px 13%}.about-copy p:not(.eyebrow){color:#655c55;font-size:14px;line-height:1.9}.about-copy .text-link{margin-top:20px}.contact h2{font-size:clamp(58px,7.6vw,106px)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:40px 0 65px}.contact-bottom p{color:var(--muted);font-size:14px;line-height:1.8}.phone{font-size:17px}.info{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff20;padding-top:30px}.info span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.info p{font-size:13px}footer{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;padding:32px 5%;font-size:11px;color:var(--muted)}dialog{border:1px solid #685b50;padding:0;background:var(--bg);color:var(--paper);max-width:900px;width:90%;max-height:90vh;overflow:auto}dialog::backdrop{background:#000c}dialog>img{display:block;width:100%;max-height:60vh;object-fit:contain;background:#141210}.dialog-copy{padding:30px}.dialog-copy h2{font-size:38px;margin-bottom:25px}.dialog-copy .eyebrow{margin-bottom:16px}.close{position:absolute;right:12px;top:12px;background:var(--lime);border:0;width:42px;height:42px;font-size:20px}.skip{position:fixed;top:-100px;z-index:99;background:var(--lime);color:#000;padding:20px}.skip:focus{top:0}[hidden]{display:none!important}@media(min-width:1600px){.wrap,header,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:800px){header{height:76px}.brand{font-size:20px}nav{gap:18px}nav>a:nth-child(2),nav>a:nth-child(3){display:none}.nav-contact{padding:10px}.nav-contact span{margin-left:8px}.hero{height:660px}.hero-image{background:linear-gradient(90deg,#171717e8,#17171730),url('assets/work-0.jpg') 65%/cover}.hero-content{padding-top:80px}h1{font-size:100px}.hero-bottom span:last-child{display:none}.ribbon{font-size:9px;gap:10px;flex-wrap:wrap}.ribbon b{display:none}.wrap{padding:65px 6%}.section-top{display:block}.section-top h2,h2{font-size:52px}.section-top>p{margin-top:25px}.grid{grid-template-columns:repeat(2,1fr);gap:28px 15px}.project h3{font-size:15px}.filters{gap:7px}.filters button{font-size:11px;padding:10px 12px}.services{grid-template-columns:1fr;gap:30px}.about{grid-template-columns:1fr}.about-photo{min-height:0;height:340px}.about-copy{padding:55px 6%}.contact-bottom{align-items:flex-start;flex-direction:column;margin-bottom:40px}.info{grid-template-columns:1fr;gap:18px}footer{flex-wrap:wrap;gap:25px}.contact h2{font-size:72px}.dialog-copy h2{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.service-row{display:flex;gap:22px;border-bottom:1px solid #49413b;padding:22px 0;align-items:start}.service-row>span{font-size:11px;color:var(--lime);padding-top:5px}.service-row h3{margin:0;font-size:21px;font-weight:500}.service-row p{padding:0;margin:10px 0 0;font-size:13px;line-height:1.7}.service-row>b{margin-left:auto;color:var(--lime)}.service-row:hover h3{color:var(--lime)}.project-index{margin-top:35px;color:var(--muted);font-size:13px}.project-index summary{cursor:pointer}.project-index ul{columns:2;line-height:2}.service-page>.eyebrow{margin:60px 0 25px}.service-page>h1{font-size:clamp(36px,5.4vw,72px);max-width:1050px;line-height:1.05}.service-body{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;margin-top:60px}.service-body h2{font-size:40px;line-height:1.1}.service-body p,.service-body li{color:var(--muted);font-size:16px;line-height:1.85}.service-body figure{margin:0}.service-body img{width:100%;max-height:600px;object-fit:cover}.service-body figcaption{font-size:12px;color:var(--muted);margin-top:12px}.related{border-top:1px solid #49413b;margin-top:70px;padding-top:35px}.related h2{font-size:35px;margin-bottom:25px}.related a{margin:0 25px 18px 0}@media(max-width:800px){.hero h1{font-size:clamp(64px,13vw,100px)}.hero .lead{max-width:95%;font-size:14px}.service-body{grid-template-columns:1fr;gap:30px}.project-index ul{columns:1}}

/* Deep blue surfaces with restrained cool accents. */
.hero-image{background:linear-gradient(90deg,#101824 2%,#142033d9 34%,#172c4520 74%),url('assets/work-0.jpg') 80% 48%/cover}.hero{background:#152336}.ribbon{background:#82b5ed;color:#d9e5f4}.portfolio{background:#141c28;color:#eef2f7}.portfolio .section-top>p,.portfolio .small,.portfolio .project .category,.portfolio .project-index{color:#b3bece}.portfolio .filters button{color:#c5cfdd;border-color:#52627a}.portfolio .filters button.active{background:#82b5ed;color:#111c2c;border-color:#82b5ed}.portfolio .outline{border-color:#82b5ed;color:#a5c9f3}.portfolio .project .arrow{background:#28476c;color:white}.services{background:#192536;color:#eef2f7;border-top:1px solid #34455b}.services .muted,.services .service-list p{color:#bcc7d7}.services .service-row{border-color:#3d4d63}.services .service-row>span{color:#9fc8f5}.services .text-link{color:#b5d4f8;border-color:#6384a9}.service-row:hover h3{color:inherit}.about{background:#17212f}.about-photo img{filter:none}.contact{background:radial-gradient(ellipse at 90% 0%,#29486d 0%,transparent 60%),linear-gradient(130deg,#142033,#1c304a);color:#f0f4fa}.contact em{color:#a5cff9}.contact-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:8%;margin:45px 0 65px}.contact-intro>p{font-size:16px;line-height:1.85;color:#c5d1e1;margin:0 0 28px}.contact-intro .phone{display:inline-block;margin-bottom:20px}.contact-note{display:block;color:#becbdb;font-size:13px;line-height:1.8;max-width:290px}.contact-form label{display:block;font-size:13px;line-height:1.6;margin-bottom:20px;color:#f0f4fa}.contact-form label>span{font-size:11px;color:#becbdb}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #647a95;border-radius:3px;background:#142136;color:#f0f4fa;font:inherit;font-size:16px;padding:13px 14px;min-height:48px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid #a5cff9;outline-offset:3px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form .form-help,.contact-form #contact-result>p{font-size:12px;line-height:1.75;color:#c5d1e1}.contact-form .outline{margin:15px 0;border-color:#7399c4}.contact .info span{color:#bbcde2}.contact .info{border-color:#506682}.contact .text-link{border-color:#7399c4}#contact-result{margin-top:25px;padding-top:22px;border-top:1px solid #506682}footer{background:#101722;color:#b6c3d4}.portfolio a:focus-visible,.portfolio button:focus-visible,.services a:focus-visible{outline-color:#82b5ed}@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:30px}.form-pair{grid-template-columns:1fr;gap:0}.contact h2{font-size:clamp(40px,9vw,64px)}.hero-image{background:linear-gradient(90deg,#101c2de8,#14203360),url('assets/work-0.jpg') 65%/cover}}

#dialog-description{font-size:16px;line-height:1.8;color:var(--paper);max-width:65ch;margin:0 0 20px}

header{background:#101722}.nav-contact{border-color:#536985}.lime{color:#101c2d}.ribbon{background:linear-gradient(105deg,#1e314a,#294564);color:#dce8f8;border-top:1px solid #4a6380;border-bottom:1px solid #4a6380}.ribbon b{color:#8ebcf0}.about{color:#edf2f8}.about-copy p:not(.eyebrow){color:#bac8d9}.about .text-link{border-color:#7399c4}.lead{color:#d0dbea}.hero-bottom{color:#bdcee2}.portfolio .filters button.active{color:#101c2d}.portfolio .project .arrow{color:#e6f0ff}.contact-form{color-scheme:dark}.service-page{background:#141c28}.text-link,.outline,.related,.service-row{border-color:#526985}.project .picture{background:#263347}dialog{border-color:#526985}dialog>img{background:#0b111a}.close{color:#101c2d}.portfolio a:focus-visible,.portfolio button:focus-visible,.services a:focus-visible{outline-color:#a5cff9}

.faq{background:#162131;border-top:1px solid #34455b}.faq h2{font-size:48px}.faq-list{max-width:950px;margin-top:35px}.faq details{border-bottom:1px solid #40516a;padding:20px 0}.faq summary{cursor:pointer;font-size:17px;line-height:1.6;color:#edf2f8}.faq details p{color:#bdcadb;font-size:15px;line-height:1.85;max-width:78ch}.faq summary:focus-visible{outline:3px solid #a5cff9;outline-offset:5px}

.migrated-page{min-height:70vh}.migrated-page h1{font-size:clamp(36px,5.4vw,72px);line-height:1.05;margin:25px 0 35px}.migrated-page .eyebrow{margin-top:35px}.project-text,.price-note{font-size:16px;line-height:1.9;color:#c3cfde;max-width:80ch}.full-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:40px 0}.full-gallery figure{margin:0;background:#101722}.full-gallery img{width:100%;height:auto;display:block}.price-list{max-width:900px;margin:40px 0}.price-list article{padding:25px 0;border-bottom:1px solid #526985}.price-list h2{font:500 24px 'DM Sans',Arial,sans-serif;line-height:1.4}.price-list p{font-size:15px;color:#c3cfde;line-height:1.9}.shop-banner{width:100%;max-width:1000px;height:auto}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px}.archive-card img{width:100%;aspect-ratio:1.2;object-fit:cover}.archive-card h2{font:500 18px 'DM Sans',Arial,sans-serif;line-height:1.5;margin-top:15px}.modal-gallery{display:grid;gap:20px;margin-top:25px}.modal-gallery figure{margin:0}.modal-gallery img{width:100%;height:auto;display:block}.modal-gallery figcaption{font-size:12px;color:#b6c3d4;margin-top:8px}#dialog-description{white-space:pre-line}.original-services{margin:20px 0 30px;border:1px solid #526985;padding:18px}.original-services summary{cursor:pointer;font-size:14px}.original-services p,.original-services blockquote{font-size:14px;line-height:1.8;color:#c3cfde}.original-services h4{font-size:16px;margin:25px 0 10px}.partner-images{display:flex;justify-content:center;align-items:center;gap:30px;padding:35px 5%;background:#17212f}.partner-images img{max-width:220px;max-height:90px;width:auto;height:auto}footer{flex-wrap:wrap;gap:22px}nav{gap:22px}@media(max-width:800px){.full-gallery,.archive-grid{grid-template-columns:1fr 1fr;gap:12px}.partner-images img{max-width:40%;height:auto}nav>a:not(.nav-contact):not(:first-child){display:none}}@media(max-width:480px){.full-gallery{grid-template-columns:1fr}}

.service-page h1,.migrated-page h1,.archive-card h2{overflow-wrap:anywhere;hyphens:auto}.faq-list{max-width:72ch}.faq details{padding:15px 0}.original-services h4,.original-services p{padding-left:0}.original-services h4{line-height:1.4}

.hero .visit-note{display:block;margin-top:8px;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:normal}.project img[src$="led-prototyyppi.webp"],.archive-card img[src$="led-prototyyppi.webp"]{object-fit:contain;padding:8px}

.hero-bottom span:last-child{background:#142033;color:#fff;padding:6px 10px;font-size:11px;font-weight:600;letter-spacing:1.3px;line-height:1.4}
