:root{--bg:#09070c;--panel:#111016;--text:#f4eff7;--muted:#aaa3ad;--plum:#583f51;--copper:#9b442c;--violet:#c4694e;--line:rgba(255,255,255,.13);--max:1320px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;z-index:99;left:1rem;top:-5rem;background:var(--violet);color:#160b19;padding:.7rem 1rem}.skip-link:focus{top:1rem}.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}
.hero{height:min(88vh,920px);min-height:620px;position:relative;display:grid;place-items:center;overflow:hidden}.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.08)}.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,4,8,.3),rgba(6,4,8,.15) 42%,var(--bg)),linear-gradient(90deg,rgba(8,3,10,.7),transparent 60%)}.hero__content{position:relative;width:min(calc(100% - 3rem),var(--max));padding-top:7vh}.eyebrow,.section-number{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--violet)}.hero h1,.intro h2,.service h2,.cta h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em;line-height:.92;margin:.2em 0}.hero h1{font-size:clamp(3.2rem,9vw,9rem);max-width:1050px}.hero h1 span{font-weight:800}.hero__lead{max-width:550px;font-size:clamp(1rem,1.5vw,1.28rem);color:#ddd5e0}.hero__scroll{position:absolute;bottom:2.2rem;left:50%;width:42px;height:64px;border:1px solid rgba(255,255,255,.45);border-radius:30px}.hero__scroll span{display:block;width:4px;height:4px;background:#fff;border-radius:50%;margin:13px auto;animation:scroll 2s infinite}@keyframes scroll{0%{transform:translateY(0);opacity:0}25%{opacity:1}80%{transform:translateY(27px);opacity:0}100%{opacity:0}}
.main-nav{height:82px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 max(1.5rem,calc((100vw - var(--max))/2));background:rgba(9,7,12,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{font:800 1.25rem/1 Manrope,sans-serif;letter-spacing:.08em}.brand span{color:var(--violet)}.nav-links{display:flex;align-items:center;gap:clamp(1.1rem,2.5vw,2.5rem)}.nav-links a{font-size:.85rem;font-weight:600}.nav-links a:not(.nav-contact):hover{color:var(--violet)}.nav-contact{border:1px solid var(--line);padding:.7rem 1rem}.nav-contact:hover{border-color:var(--violet)}.nav-toggle{display:none;background:none;border:0;color:#fff;width:42px;height:42px;padding:10px}.nav-toggle i{display:block;height:1px;background:#fff;margin:7px 0}
.intro{width:min(calc(100% - 3rem),1000px);margin:0 auto;padding:clamp(7rem,14vw,13rem) 0}.intro h2{font-size:clamp(3rem,7vw,6.8rem)}em{font-style:normal;color:var(--violet)}.intro>p:last-child{font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--muted);max-width:690px;margin:2.5rem 0 0 auto}
.service{width:min(calc(100% - 3rem),var(--max));margin:0 auto;padding:clamp(5rem,10vw,9rem) 0;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.35fr);gap:clamp(3rem,8vw,8rem);align-items:center;border-top:1px solid var(--line)}.service--reverse .service__copy{order:2}.service h2{font-size:clamp(2.8rem,5vw,5.4rem);margin:.35em 0}.service__copy>p:not(.section-number){color:var(--muted);max-width:520px}.service ul{list-style:none;padding:0;margin:2rem 0}.service li{padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.service li::before{content:'＋';color:var(--violet);margin-right:.7rem}.text-link{display:inline-flex;gap:1rem;align-items:center;margin-top:.75rem;font-weight:700}.text-link span,.button span{color:var(--violet);transition:transform .25s}.text-link:hover span,.button:hover span{transform:translate(3px,-3px)}
.gallery{min-width:0}.gallery__track{position:relative;aspect-ratio:4/5;overflow:hidden;background:#18151b}.gallery__slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);transition:opacity .8s var(--ease),transform 1.2s var(--ease);pointer-events:none}.gallery__slide.is-active{opacity:1;transform:scale(1);pointer-events:auto}.gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}.gallery figcaption{position:absolute;left:1.2rem;bottom:1.1rem;background:rgba(8,6,10,.75);backdrop-filter:blur(8px);padding:.45rem .7rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.gallery__ui{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;border-bottom:1px solid var(--line)}.gallery__ui button{height:54px;color:#fff;background:transparent;border:0;cursor:pointer;font-size:1.2rem}.gallery__ui button:hover{color:var(--violet)}.gallery__ui span{text-align:center;font-size:.74rem;letter-spacing:.16em;color:var(--muted)}
.cta{text-align:center;padding:clamp(8rem,17vw,15rem) 1.5rem;background:radial-gradient(circle at 50% 70%,rgba(184,73,214,.22),transparent 38%)}.cta h2{font-size:clamp(3.7rem,9vw,8.5rem)}.button{display:inline-flex;gap:1.3rem;align-items:center;margin-top:2.3rem;border:1px solid var(--line);padding:1rem 1.35rem;font-weight:700}.button:hover{border-color:var(--violet)}footer{width:min(calc(100% - 3rem),var(--max));margin:auto;padding:2.2rem 0;display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}footer p{margin:0}
.contact-page{min-height:100vh;background:radial-gradient(circle at 85% 10%,rgba(184,73,214,.18),transparent 30%),var(--bg)}.contact-nav{position:relative}.contact-main{width:min(calc(100% - 3rem),1100px);margin:auto;padding:clamp(5rem,10vw,9rem) 0}.contact-header{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;margin-bottom:5rem}.contact-header h1{font:800 clamp(3.5rem,8vw,7rem)/.94 Manrope,sans-serif;letter-spacing:-.055em;margin:.25em 0}.contact-header__text{align-self:end;color:var(--muted);max-width:420px}.contact-layout{display:grid;grid-template-columns:1fr 2fr;gap:clamp(3rem,8vw,8rem);padding-top:4rem;border-top:1px solid var(--line)}.contact-details h2{font:700 1.3rem Manrope,sans-serif}.contact-details p{color:var(--muted)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.field{display:flex;flex-direction:column;gap:.45rem}.field--wide{grid-column:1/-1}.field label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:#fff;padding:.85rem 0;font:inherit;outline:none}.field select{background:var(--bg)}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--violet)}.form-note{grid-column:1/-1;color:var(--muted);font-size:.82rem}.form-status{grid-column:1/-1;padding:1rem;border-left:3px solid var(--violet);background:rgba(223,133,255,.08)}.submit{grid-column:1/-1;justify-self:start;color:#fff;background:transparent;cursor:pointer}.honeypot{position:absolute;left:-9999px}
@media(max-width:850px){.hero{min-height:580px}.nav-toggle{display:block}.nav-links{position:absolute;left:0;right:0;top:81px;background:#0d0a10;padding:1rem 1.5rem 1.5rem;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav-links.is-open{display:flex}.nav-links a{padding:.65rem 0}.nav-contact{text-align:center;margin-top:.4rem}.service,.contact-header,.contact-layout{grid-template-columns:1fr}.service--reverse .service__copy{order:0}.service{gap:2.7rem}.service__copy{max-width:620px}.gallery__track{aspect-ratio:4/4.5}.contact-header{gap:1rem;margin-bottom:3rem}.contact-header__text{align-self:auto}}
@media(max-width:560px){.hero{height:78vh}.hero__content{width:calc(100% - 2rem)}.hero h1{font-size:clamp(3.2rem,17vw,5.2rem)}.hero__lead{line-height:1.55}.main-nav{padding:0 1rem}.intro,.service,.contact-main,footer{width:calc(100% - 2rem)}.intro>p:last-child{margin-left:0}.service{padding:5rem 0}.gallery__track{aspect-ratio:3/4}.contact-form{grid-template-columns:1fr}.field{grid-column:1/-1}footer{grid-template-columns:1fr auto}footer p:first-of-type{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__video{display:none}}

/* Plumtone-brändi */
.hero__logo-stage{position:relative;display:grid;place-items:center;width:clamp(310px,43vw,620px);margin-left:clamp(-2.5rem,-3.5vw,-.75rem);isolation:isolate}
.hero__logo-stage::before{content:"";position:absolute;z-index:-1;inset:7% -6% 3%;background:radial-gradient(ellipse at center,rgba(7,5,9,.94) 0%,rgba(7,5,9,.78) 48%,rgba(88,63,81,.32) 68%,transparent 78%);filter:blur(8px)}
.hero__logo-stage::after{content:"";position:absolute;z-index:-1;width:55%;height:1px;bottom:10%;background:linear-gradient(90deg,transparent,#9b442c,transparent);box-shadow:0 0 24px rgba(155,68,44,.72)}
.hero__logo{display:block;width:90%;height:auto;filter:drop-shadow(0 18px 35px rgba(0,0,0,.48))}
.hero__logo-stage+.hero__lead{position:relative;margin-top:-1.25rem;margin-left:clamp(.5rem,3vw,2.7rem);text-shadow:0 2px 18px #000}
.brand{display:block;width:54px;height:62px;overflow:hidden;font-size:0}
.brand img{width:100%;height:100%;object-fit:contain}
.nav-links{gap:clamp(.7rem,1.3vw,1.25rem)}
.nav-links a{font-size:.8rem}
.cta{background:radial-gradient(circle at 50% 70%,rgba(155,68,44,.24),transparent 38%)}
.contact-page{background:radial-gradient(circle at 85% 10%,rgba(88,63,81,.3),transparent 30%),var(--bg)}

@media(max-width:560px){.hero__logo-stage{width:min(94vw,420px);margin-left:-1.25rem}.hero__logo{width:92%}.hero__logo-stage+.hero__lead{margin:-.7rem .35rem 0}}

/* Vaakasuuntainen yläotsake */
.main-nav--header{height:104px;top:0;background:rgba(9,7,12,.97);box-shadow:0 14px 45px rgba(0,0,0,.22)}
.brand--wide{width:clamp(220px,21vw,310px);height:88px;overflow:visible}
.brand--wide img{object-position:left center}
.hero{height:min(calc(100vh - 104px),850px)}
.hero__content{align-self:end;padding-top:0;padding-bottom:clamp(5rem,9vh,8rem)}
.hero__title{font-size:clamp(3.6rem,8vw,8rem);max-width:900px;text-shadow:0 3px 30px rgba(0,0,0,.55)}
.hero__title span{color:#c4694e}
.hero__lead{margin-top:1.5rem;text-shadow:0 2px 18px #000}

@media(max-width:1100px) and (min-width:851px){.brand--wide{width:210px}.nav-links{gap:.7rem}.nav-links a{font-size:.72rem}.nav-contact{padding:.6rem .75rem}}
@media(max-width:850px){.main-nav--header{height:82px}.brand--wide{width:210px;height:70px}.hero{height:calc(100svh - 82px)}.hero__content{padding-bottom:5.5rem}}
@media(max-width:400px){.brand--wide{width:178px}}
