/*
Theme Name: PicFactor Studio
Author: PicFactor Oy
Description: Tumma, responsiivinen portfolio- ja palveluteema. Ensimmäinen luonnos.
Version: 0.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: picfactor-studio
*/
:root{--bg:#101110;--panel:#171916;--line:#34372f;--text:#f3f2eb;--muted:#b6b9ae;--accent:#d6e7a3;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{max-width:var(--max);width:calc(100% - 80px);margin:auto}header{position:sticky;top:0;z-index:10;background:rgba(16,17,16,.96);border-bottom:1px solid var(--line)}.nav{height:90px;display:flex;align-items:center;justify-content:space-between}.brand img{width:114px;height:66px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:30px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border:0;border-radius:3px;background:var(--accent);color:#15180f;font-weight:bold;line-height:1.4}.small{padding:11px 18px}.menu-toggle{display:none}.skip{position:fixed;left:15px;top:-100px;z-index:99;background:var(--accent);color:#101110;padding:10px}.skip:focus{top:10px}.hero{padding-top:60px}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:bold;color:var(--accent);margin:0 0 20px}.hero-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:60px;margin-bottom:36px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.7vw,94px);letter-spacing:-.065em;line-height:1.03;font-weight:600;margin-bottom:0;max-width:650px}h2{font-size:clamp(34px,4.3vw,58px);letter-spacing:-.045em;line-height:1.12;font-weight:500;margin-bottom:22px}h3{font-size:23px;line-height:1.25;letter-spacing:-.025em;font-weight:500}.hero-heading>p{font-size:17px;max-width:380px;color:var(--muted);margin-bottom:3px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hero-image{position:relative;overflow:hidden;min-height:350px;aspect-ratio:1.36}.hero-image>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.hero-image:hover>img{transform:scale(1.025)}.hero-image:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}.hero-image>span{position:absolute;z-index:1;bottom:24px;left:28px;right:24px}.hero-image small{display:block;font-size:10px;letter-spacing:.15em;margin-bottom:7px}.hero-image strong{font-size:clamp(19px,2.1vw,28px);font-weight:500}.hero-image b{float:right;font-size:28px}.hero-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:22px 0;border-bottom:1px solid var(--line)}.section{padding-top:100px;padding-bottom:100px}.section-heading{max-width:710px;margin-bottom:46px}.section-heading>p:last-child{color:var(--muted);max-width:580px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.service{border-top:1px solid var(--line);padding:30px 0;position:relative}.service h3{padding-right:30px}.number{float:right;color:var(--accent);font-size:12px}.service .tagline{font-size:19px;color:var(--text)}.service p{max-width:510px;color:var(--muted)}.details{font-size:12px}.text-link{display:flex;justify-content:space-between;color:var(--accent);font-size:14px;padding-top:12px}.extra{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:30px;align-items:center;margin-top:30px;padding:26px;background:var(--panel)}.extra p{margin:0;color:var(--muted);font-size:14px}.extra>a{font-size:13px;text-align:right;color:var(--accent)}.portfolio{background:#191b17}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}.filters button{border:1px solid #505548;border-radius:25px;padding:10px 20px;color:var(--text);background:transparent;min-height:44px;font-size:13px}.filters .active{background:var(--accent);color:#15180f;border-color:var(--accent)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo{border:0;padding:0;background:none;text-align:left;color:var(--text);min-width:0}.photo img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.photo span{display:flex;justify-content:space-between;font-size:13px;padding:11px 0}.photo[hidden]{display:none}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.price{padding:24px;border:1px solid var(--line);display:flex;flex-direction:column}.price h3{font-size:18px;min-height:50px}.amount{font-size:27px;letter-spacing:-.04em;color:var(--accent);line-height:1.2}.price>p:not(.amount){font-size:13px;color:var(--muted)}.price>a{font-size:13px;margin-top:auto;padding-top:15px}.price-note{grid-column:1/-1;font-size:12px;color:var(--muted)}.about{background:var(--panel)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p{color:var(--muted)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.facts strong,.facts span{display:block}.facts span{font-size:12px;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact>div>p{max-width:390px;color:var(--muted)}.contact-link{display:block;font-size:30px;margin-top:34px}.contact-email{color:var(--accent);font-size:17px}form{background:var(--panel);padding:30px}label{display:block;font-size:12px;margin:0 0 8px}input,select,textarea{width:100%;min-width:0;background:#101110;color:var(--text);border:1px solid #55594d;border-radius:0;padding:11px;margin-bottom:18px;min-height:46px}textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-row>div{min-width:0}.form-note,#form-status{font-size:12px;color:var(--muted);margin-top:18px}.form-note{margin-bottom:0}footer{border-top:1px solid var(--line);padding-top:27px;padding-bottom:27px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}dialog{background:#101110;border:1px solid var(--line);color:var(--text);padding:20px;max-width:95vw;max-height:95vh}dialog::backdrop{background:rgba(0,0,0,.88)}dialog>img{display:block;max-width:85vw;max-height:75vh;min-width:260px;object-fit:contain}dialog>p{margin:12px 0 0}.close{display:block;margin:0 0 18px auto;min-height:44px;background:none;border:1px solid var(--line);padding:8px 16px;color:var(--text)}.draft-banner{text-align:center;background:#d6e7a3;color:#17200b;font-size:12px;padding:9px 16px}.page-content{min-height:60vh}.page-content img{max-width:100%;height:auto}.page-content a{text-decoration:underline}.page-content h1{font-size:48px;margin-bottom:30px}.admin-bar header{top:32px}@media(min-width:1600px){.hero-image{min-height:420px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.nav nav{gap:18px}.hero-heading{gap:28px}.hero-image{min-height:290px}.price-grid{grid-template-columns:1fr 1fr}.contact{gap:35px}.extra{grid-template-columns:1fr 1fr}.extra>a{grid-column:1/-1;text-align:left}}@media(max-width:700px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.nav{height:74px}.brand img{width:94px;height:56px}.menu-toggle{display:block;background:none;color:var(--text);border:1px solid var(--line);padding:10px 15px;min-height:44px}.nav nav{display:none;position:absolute;top:74px;left:0;right:0;background:#171916;padding:20px;align-items:stretch;gap:8px}.nav nav.open{display:flex;flex-direction:column}.nav nav>a{padding:12px}.hero{padding-top:34px}.hero-heading{grid-template-columns:1fr;gap:22px;margin-bottom:26px}h1{font-size:56px;max-width:340px}.hero-heading>p{font-size:16px;max-width:100%}.hero-grid{grid-template-columns:1fr;gap:14px}.hero-image{aspect-ratio:1.4;min-height:0}.hero-image>span{left:20px;bottom:20px}.hero-image strong{font-size:24px}.hero-foot{font-size:10px;gap:18px}.section{padding-top:64px;padding-bottom:64px}.section-heading{margin-bottom:30px}.service-grid,.about-grid,.contact{grid-template-columns:1fr;gap:18px}.service{padding:25px 0}.extra{grid-template-columns:1fr;gap:12px;padding:22px}.gallery{grid-template-columns:1fr 1fr;gap:16px}.photo:first-child{grid-column:1/-1}.filters{gap:7px}.filters button{padding:9px 13px;font-size:12px}.price-grid{grid-template-columns:1fr}.price h3{min-height:0}.price{padding:25px}.facts{margin-top:25px}.contact{gap:32px}form{padding:22px}.field-row{grid-template-columns:1fr;gap:0}.contact-link{font-size:28px}footer{flex-direction:column;gap:10px}.admin-bar header{top:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.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}.gallery-empty{color:var(--muted);border-top:1px solid var(--line);padding-top:25px}.lightbox-nav{display:flex;gap:10px;float:left;margin:0 15px 12px 0}.lightbox-nav button{background:transparent;color:var(--text);border:1px solid var(--line);padding:8px 12px;min-height:44px}dialog>img{clear:both}a.photo{display:block}.photo img{height:auto;aspect-ratio:1.5;object-fit:cover}body.lightbox-open{overflow:hidden}@media(max-width:450px){.lightbox-nav{float:none}.close{margin-bottom:10px}}
.pf-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.button{gap:.45em}.pf-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-notice{padding:16px;border:1px solid var(--accent);color:var(--accent);font-size:14px}button:disabled{opacity:.6;cursor:wait}

