@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#192037;background:#f7f8fa;font-synthesis:none;font-size:16px;--accent:#253aab;--line:#e2e5ec}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8293ed;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}.header{height:100px;max-width:1600px;margin:auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:23px}.wordmark{font-family:Arial,sans-serif;font-size:38px;font-weight:700;letter-spacing:-2px;color:#192037}.brand-divider{width:1px;height:30px;background:#d5d9e1}.studio{font-size:15px;font-weight:600;letter-spacing:.1px}.studio span{display:block;color:#768095;font-size:11px;font-weight:400;margin-top:3px;letter-spacing:.6px}.quiet{background:none;color:#626b7f;font-size:14px;padding:10px 0}.quiet span{margin-left:15px}main{max-width:1600px;margin:auto;padding:48px 64px 64px;min-height:calc(100vh - 170px)}h1,h2{font-family:Manrope,Arial,sans-serif}h1{font-size:42px;line-height:1.15;letter-spacing:-1.7px;font-weight:600;margin:12px 0 0}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#6b748a;font-weight:600}.project-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px}.image-count{color:#788197;font-size:13px;padding-bottom:4px}.image-count span{padding:0 8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:42px}.variants{padding:5px;display:flex;gap:4px;background:#e9ecf2;border-radius:10px}.variants button{padding:11px 19px;border-radius:7px;color:#687288;background:none;font-size:14px;font-weight:500}.variants button[aria-pressed=true]{background:white;color:#192037;box-shadow:0 1px 5px #10213a12}.filters{display:flex;gap:3px}.filters button{background:none;color:#6c7689;border-radius:7px;font-size:14px;padding:10px 14px}.filters button[aria-pressed=true]{color:var(--accent);background:#e9edfc}.collection{margin:0 0 48px}.collection-header{display:flex;align-items:center;gap:12px;margin-bottom:19px}.collection h2{font-size:22px;font-weight:600;letter-spacing:-.5px;margin:0}.collection-count{font-size:11px;color:#8790a1;border:1px solid #dce1e9;border-radius:100px;min-width:24px;height:24px;display:grid;place-items:center}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{min-width:0}.photo-button{padding:0;width:100%;display:block;background:#e8e9ec;border-radius:10px;overflow:hidden;position:relative;aspect-ratio:2/3}.photo-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.photo-button:hover img{transform:scale(1.025)}.photo-label{position:absolute;left:12px;top:12px;background:#fffffff0;font-size:11px;padding:7px 10px;border-radius:6px;color:#465168;box-shadow:0 2px 10px #00000008}.zoom{position:absolute;right:12px;bottom:12px;width:31px;height:31px;background:#fffffff0;color:#465168;border-radius:50%;display:grid;place-items:center;font-size:18px;opacity:0;transition:opacity .2s}.photo-button:hover .zoom,.photo-button:focus-visible .zoom{opacity:1}.card-title{font-size:14px;font-weight:500;margin:16px 0 12px;min-height:20px}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:11px}.toggle{font-size:12px;color:#687288;background:none;padding:6px 0}.download{font-size:12px;font-weight:500;color:var(--accent);padding:6px 0;white-space:nowrap}.download svg{width:13px;height:13px;vertical-align:-2px;margin-right:5px}.download:hover,.toggle:hover{text-decoration:underline}.login{max-width:1000px;margin:40px auto;display:grid;grid-template-columns:1fr 1fr;min-height:500px;border:1px solid var(--line);background:white;border-radius:18px;overflow:hidden;box-shadow:0 16px 60px #202b4c06}.login-art{background:#253aab;position:relative;overflow:hidden;color:white}.art-ring{position:absolute;width:410px;height:580px;transform:rotate(30deg);border:1px solid #ffffff35;border-radius:50%}.ring-one{left:-50px;top:-210px}.ring-two{left:140px;top:80px}.art-line{position:absolute;width:700px;height:1px;background:#ffffff20;transform:rotate(-30deg);left:-60px;top:320px}.art-caption{position:absolute;bottom:45px;left:40px;font-family:Manrope,Arial,sans-serif;font-size:31px;letter-spacing:-1px}.login-content{padding:60px 46px}.login h1{font-size:35px;margin:16px 0}.login p{font-size:14px;color:#788197;line-height:1.7}.login label{font-size:13px;display:block;margin:30px 0 9px;font-weight:500}.password-wrap{border:1px solid #d9dfeb;border-radius:7px;display:flex;overflow:hidden}.password-wrap:focus-within{border-color:var(--accent)}input{border:0;background:transparent;padding:13px 14px;width:100%;min-width:0;outline:none}.password-wrap button{background:none;padding:0 14px;font-size:12px;color:#6b748a}.primary{background:var(--accent);color:white;border-radius:7px;width:100%;display:flex;justify-content:space-between;padding:15px 18px;margin-top:16px;font-size:14px}.login .error{color:#a93643;min-height:24px;font-size:13px}.status{color:#788197;text-align:center;font-size:14px;margin:80px auto}.status:empty{display:none}footer{font-size:11px;letter-spacing:.8px;color:#969eb0;padding:25px 64px 30px;text-align:center}footer span{margin:0 8px}dialog{border:0;border-radius:14px;padding:0;background:#f7f8fa;width:min(1000px,95vw);max-height:95dvh;color:#192037}dialog::backdrop{background:#0b1224c7;backdrop-filter:blur(8px)}.viewer-bar{padding:12px 20px;display:flex;align-items:center;gap:20px;font-size:14px}.viewer-bar>span{margin-right:auto}.close{background:none;font-size:28px;color:#626b7f;padding:2px 5px}.viewer-image{height:calc(95dvh - 65px);display:flex;justify-content:center;background:#e9ebf0;padding:10px}.viewer-image img{display:block;max-width:100%;max-height:100%;object-fit:contain}.no-scroll{overflow:hidden}@media(min-width:1600px){.photo-button{aspect-ratio:2/3}}@media(max-width:1150px){.header{padding:0 36px}main{padding:40px 36px}.toolbar{align-items:flex-start;flex-direction:column;gap:17px}.cards{gap:16px}.card-actions{flex-direction:column;align-items:flex-start;gap:0}.card-title{min-height:40px}.login-content{padding:55px 36px}}@media(max-width:800px){.header{height:80px;padding:0 24px}main{padding:32px 24px}.wordmark{font-size:32px}.brand{gap:16px}h1{font-size:34px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.card-actions{flex-direction:row;align-items:center}.card-title{min-height:20px;font-size:13px}.toolbar{margin-bottom:32px}.login{margin:20px auto;grid-template-columns:1fr;max-width:440px;min-height:0}.login-art{height:140px}.art-caption{font-size:25px;left:30px;bottom:30px}.ring-one{top:-340px}.ring-two{top:-170px}.login-content{padding:35px 30px}.image-count{font-size:11px}.viewer-bar{gap:12px;font-size:12px}}@media(max-width:480px){.header{padding:0 20px}.studio{font-size:13px}.studio span{font-size:10px}.header .quiet{font-size:12px}main{padding:30px 20px}.project-heading{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:22px}.image-count{font-size:12px}.variants{width:100%}.variants button{flex:1;padding:11px 9px;font-size:13px}.filters{gap:0;flex-wrap:wrap}.filters button{padding:9px 10px;font-size:12px}.cards{gap:24px 12px}.photo-label{font-size:10px;padding:5px 7px;left:8px;top:8px}.card-title{font-size:12px;min-height:32px;line-height:1.5;margin:12px 0 8px}.card-actions{flex-direction:column;align-items:flex-start}.toggle,.download{font-size:11px}.collection h2{font-size:20px}.viewer-bar>span{max-width:45%}.viewer-toggle{font-size:11px}.viewer-image{padding:0}.login-content{padding:35px 26px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* The customer entry shows only the supplied Squidpix mark and password. */
.photo-button.is-loading::after,.viewer-image.is-loading::after{content:'Laddar…';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 16px;background:#fffffff0;border-radius:8px;color:#192037;font-size:14px;pointer-events:none}.viewer-image{position:relative}.image-error{font-size:14px;color:#a93643;line-height:1.5;margin:8px 0 0}.image-error:empty{display:none}#viewer-error{padding:0 20px 12px;margin:0}.toggle{font-size:14px;min-height:44px;padding:10px 0;touch-action:manipulation}#viewer-toggle{min-height:44px;touch-action:manipulation}@media(max-width:480px){.toggle{font-size:14px}}
.is-login{background:#fff}.is-login .header,.is-login footer{display:none}.is-login main{min-height:100dvh;padding:24px;display:grid;place-items:center}.is-login .login{display:flex;flex-direction:column;align-items:center;max-width:320px;width:100%;min-height:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;transform:translateY(-24px)}.login-logo{width:165px;height:110px;object-fit:contain;display:block;margin-bottom:40px}.is-login #login-form{width:100%}.is-login .password-wrap{width:100%;border:1px solid #e0e3e8;border-radius:8px;min-height:52px;background:#fff}.is-login input{padding:15px 16px;font-size:15px}.is-login .login-submit{padding:0 18px;color:#192037;font-size:24px;line-height:1;background:transparent}.is-login .error{margin:10px 0 0;font-size:13px;min-height:0;text-align:center}.is-login .error:empty{display:none}
