@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#151515;--surface:#212121;--ink:#f3f2ed;--muted:#a6a6a1;--accent:#ff3868;--line:#3c3c38}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif}button,a,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{color:inherit}a{color:inherit;text-decoration:none}.demo-bar{padding:10px 4.5%;background:var(--accent);color:#210910;font-size:14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.demo-bar b{font-size:12px;letter-spacing:.1em;border:1px solid #7d1730;padding:2px 6px;margin-right:10px}.demo-bar button{border:0;background:none;color:#210910;font-size:14px;text-decoration:underline;white-space:nowrap}header{margin:0 4.5%;padding:30px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font:700 32px 'Space Grotesk',sans-serif;letter-spacing:-2px}.brand span{font:500 12px 'DM Sans',sans-serif;letter-spacing:2px;margin-left:12px}.text-button{border:0;background:none;font-size:14px}main{max-width:1500px;margin:auto;padding:0 4.5%}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:64px 0 57px;gap:32px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:700;margin:0 0 23px}h1{font:500 clamp(44px,5.7vw,86px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-4px;margin:0}h1 em{font-style:normal;color:var(--accent)}.intro-note{font-size:16px;padding-bottom:2px;min-width:290px}.intro-note p{margin:12px 0 0}.muted{color:var(--muted);font-size:14px}.little-star{font-size:42px;line-height:1;color:var(--accent)}.gallery-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:24px 0}.gallery-top h2{font-size:12px;letter-spacing:1.6px;margin:0}.gallery-top h2 span{color:var(--muted);font-weight:400}.key{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.key i{width:6px;height:6px;background:var(--accent);border-radius:100%}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px}.card{padding:0;border:0;background:none;text-align:left;min-width:0}.portrait{aspect-ratio:1.14;background-size:300% 200%;background-color:#333;position:relative;overflow:hidden;filter:grayscale(1);transition:filter .25s,transform .25s}.card:hover .portrait{filter:grayscale(0)}.portrait:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff12}.card:hover .arrow{background:var(--accent);color:#151515;transform:rotate(-45deg)}.card-meta{display:flex;align-items:center;justify-content:space-between;padding:13px 0}.card-meta strong{font-family:'Space Grotesk';font-size:16px;font-weight:500}.card-meta small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.arrow{font-size:24px;width:38px;height:38px;border:1px solid var(--line);border-radius:100%;display:grid;place-items:center;transition:all .2s}.tag{position:absolute;bottom:12px;left:12px;background:#181818e8;padding:6px 10px;font-size:12px;border:1px solid #ffffff30}.help-strip{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;margin-top:42px}.help-strip h2{font:500 25px 'Space Grotesk';letter-spacing:-.5px;margin:0 0 6px}.help-strip p{color:var(--muted);font-size:14px;margin:0}.outline{background:none;border:1px solid #72726b;padding:13px 20px;white-space:nowrap}.outline span{margin-left:34px}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 35px;color:var(--muted);font-size:12px}footer span:first-child{letter-spacing:1.5px;color:var(--ink)}dialog{width:min(600px,calc(100% - 24px));max-height:90vh;padding:35px;background:#202020;color:var(--ink);border:1px solid #555;overflow-y:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}.close{position:absolute;top:12px;right:15px;background:none;border:0;font-size:30px;line-height:1}.modal-title{font:500 34px/1.15 'Space Grotesk';letter-spacing:-1px;margin:16px 0}.step{font-size:12px;color:var(--accent);letter-spacing:1.5px;margin:0}.selected{display:flex;align-items:center;gap:18px;margin:22px 0;padding-bottom:22px;border-bottom:1px solid var(--line)}.selected .portrait{width:88px;flex-shrink:0;aspect-ratio:1}.selected p{margin:0}.selected small{color:var(--muted)}label{display:block;font-size:14px;margin:18px 0 6px}input,textarea,select{background:#171717;border:1px solid #5e5e58;border-radius:0;color:var(--ink);padding:12px;width:100%;font-size:16px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.release-copy{font-size:14px;background:#151515;border:1px solid var(--line);padding:16px;color:#c9c9c2;max-height:160px;overflow:auto}.check{display:flex;align-items:flex-start;gap:12px;line-height:1.5}.check input{width:19px;height:19px;margin-top:2px;accent-color:var(--accent);flex-shrink:0}.primary{width:100%;background:var(--accent);border:0;color:#210910;padding:15px 20px;font-weight:700;margin-top:23px}.secondary{display:block;width:100%;background:none;border:0;text-decoration:underline;margin:16px 0 0}.fine{font-size:12px;color:var(--muted);margin:12px 0 0}.notice{color:var(--accent);font-size:14px;background:#ff38680b;border-left:2px solid var(--accent);padding:12px}.success-icon{font-size:40px;color:var(--accent)}.downloads{display:grid;grid-template-columns:1fr 1fr;gap:12px}.download-item .portrait{aspect-ratio:1}.download-item button{width:100%;padding:10px;background:none;border:1px solid var(--line);font-size:14px}.download-item .variant{filter:grayscale(1) contrast(1.2)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:#151515;padding:12px 22px;max-width:90%;display:none;z-index:5}@media(min-width:1500px){header{max-width:1365px;margin:auto}}@media(max-width:750px){.demo-bar{font-size:12px;padding:9px 5%}.demo-bar b{display:none}header{padding:22px 0}.intro{padding:38px 0 30px;display:block}h1{letter-spacing:-2px;font-size:54px}.intro-note{margin-top:25px;min-width:0}.intro-note .little-star,.intro-note>p:first-of-type{display:none}.intro-note p br{display:none}.grid{grid-template-columns:repeat(2,1fr);gap:20px 13px}.portrait{aspect-ratio:.88}.card-meta strong{font-size:14px}.arrow{width:30px;height:30px;font-size:20px}.help-strip{align-items:flex-start;flex-direction:column}.help-strip h2{font-size:23px}footer{flex-wrap:wrap}dialog{padding:28px 22px}.brand span{font-size:10px}.key{font-size:11px}}

/* Updated studio identity and sitting title */
.brand{letter-spacing:-1px;font-size:28px;line-height:1.1}.brand span{display:block;margin:6px 0 0;font-size:11px;letter-spacing:2.5px;text-transform:uppercase}.intro>div:first-child{min-width:0;flex:1}h1{font-size:clamp(40px,4.5vw,68px);letter-spacing:-2.5px}.intro-note{min-width:230px;max-width:290px}.intro-note>p:first-of-type{font-weight:600}@media(max-width:750px){h1{font-size:clamp(38px,8vw,54px);letter-spacing:-1.6px}.intro-note{max-width:none;min-width:0}.intro-note>p:first-of-type{display:block}.brand{font-size:24px}.brand span{font-size:10px}}

/* Preserve the photographer’s color in the real samples. */
.portrait{filter:none}.card:hover .portrait{filter:none}.downloads{grid-template-columns:1fr;max-width:340px;margin:auto}

button:disabled{cursor:not-allowed;opacity:.55}

.precinct-mark{display:block;width:190px;max-width:100%;margin:0 0 20px}.precinct-mark img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 2px #ff3868) drop-shadow(0 0 9px #ff386885)}@media(max-width:750px){.precinct-mark{width:160px;margin-bottom:18px}}

.intro{align-items:center}

.notice p{margin:6px 0 0}

.privacy-note{margin-top:18px;padding:16px;border:1px solid var(--line);font-size:14px}.privacy-note p{margin:8px 0 0;color:var(--muted)}

.full-release{max-height:48vh;font-size:16px;line-height:1.65;padding:20px}.full-release h3{font-size:21px;line-height:1.3;color:var(--ink);margin:0 0 16px}.full-release h4{font-size:16px;color:var(--ink);margin:28px 0 10px}.full-release p{margin:12px 0}.full-release:focus-visible{outline:2px solid var(--accent)}
.face-thumb{display:block;object-fit:cover;width:100%;height:auto;aspect-ratio:1}.portrait-wrap{position:relative}.selected .face-thumb{width:88px;height:88px}.form-error{color:#ff8eaa;border-left:3px solid var(--accent);padding:12px}.downloads img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#111}.download-item a{display:block;border:1px solid var(--line);padding:8px;overflow-wrap:anywhere}.download-item span,.download-item small{display:block;font-size:14px;margin-top:8px}.receipt-link{display:block;text-align:center}dialog{max-height:90vh;overflow:auto}.owner-panel{max-width:900px;margin:40px auto;padding:24px}.owner-panel h1{font-size:40px;letter-spacing:-1px}.owner-panel section{padding:25px 0;border-bottom:1px solid var(--line)}.owner-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}.owner-panel button{margin:8px 8px 8px 0;padding:10px;background:#252525;border:1px solid var(--line)}.owner-panel .primary{background:var(--accent)}.owner-panel textarea{height:110px}.eyebrow{font-size:14px;letter-spacing:1px}.grid .card{min-width:0}

.privacy-disclosure{margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.privacy-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 0;cursor:pointer;list-style:none;color:var(--ink)}.privacy-disclosure summary::-webkit-details-marker{display:none}.privacy-disclosure summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.privacy-disclosure p{margin:0;padding:0 0 16px;line-height:1.65}.disclosure-arrow{font-size:24px;line-height:1;transition:transform .15s}.privacy-disclosure[open] .disclosure-arrow{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.disclosure-arrow{transition:none}}

.release-summary { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #41413d; border-radius: 4px; background: #1b1b19; }
.release-summary h3 { margin: 0 0 1rem; font-size: 1.25rem; }
.release-summary p { font-size: 1rem; line-height: 1.6; margin: 0 0 1rem; }
.release-summary p:last-child { margin-bottom: 0; }
.release-summary .summary-reminder { border-top: 1px solid #41413d; padding-top: 1rem; }
