:root{--ink:#07101f;--navy:#0a1730;--blue:#38aef4;--electric:#62c7ff;--paper:#f4f6f8;--white:#fff;--muted:#6b7482}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;background:var(--paper);color:var(--ink)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.lock-screen[hidden]{display:none}.lock-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 75% 20%,rgba(56,174,244,.22),transparent 27%),linear-gradient(135deg,#040a14 0%,#0b1b37 55%,#06101f 100%);position:relative;overflow:hidden}.lock-screen:before,.lock-screen:after{content:"";position:absolute;width:340px;height:70px;background:var(--blue);transform:rotate(-45deg);opacity:.08}.lock-screen:before{top:5%;left:-130px}.lock-screen:after{right:-120px;bottom:8%}.lock-panel{width:min(680px,100%);background:rgba(255,255,255,.97);border-top:6px solid var(--blue);padding:38px 46px 42px;box-shadow:0 30px 90px rgba(0,0,0,.45);position:relative;z-index:1}.lock-brand img{width:118px;height:auto;display:block;margin-bottom:24px}.kicker{font-family:"Barlow Condensed",sans-serif;font-size:14px;font-weight:800;letter-spacing:.18em;color:var(--blue);margin:0 0 12px}.lock-panel h1,.gallery-hero h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(44px,7vw,74px);line-height:.88;letter-spacing:-.02em;margin:0}.lock-panel h1 em,.gallery-hero h1 em{font-style:italic;color:var(--blue)}.lock-copy{color:var(--muted);margin:24px 0 22px}#password-form label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.password-row{display:flex;gap:10px}.password-row input{min-width:0;flex:1;border:2px solid #d6dce4;padding:14px 15px;outline:none}.password-row input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(56,174,244,.14)}.password-row button,#lock-gallery{border:0;background:var(--blue);color:#07101f;font-weight:800;padding:14px 20px;cursor:pointer}.password-row button:hover,#lock-gallery:hover{filter:brightness(1.05)}#password-message{min-height:22px;color:#c02727;font-weight:700;font-size:13px;margin:10px 0 0}.back-link{display:inline-block;margin-top:19px;color:var(--ink);font-weight:700;text-decoration:none}.gallery-app{min-height:100vh}.gallery-header{height:92px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid #e4e7eb;position:sticky;top:0;z-index:20}.gallery-logo img{width:90px;display:block}.gallery-header nav{display:flex;align-items:center;gap:22px}.gallery-header nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}.gallery-header nav button{padding:10px 15px}.gallery-hero{background:linear-gradient(120deg,#07101f,#102a52);color:#fff;padding:70px 7vw 62px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.gallery-hero h1{font-size:clamp(50px,8vw,92px)}.gallery-intro{max-width:680px;color:#d6e1ee;font-size:17px;margin:24px 0 0;line-height:1.6}.gallery-status{border-left:4px solid var(--blue);padding:12px 0 12px 20px;min-width:190px}.gallery-status strong,.gallery-status span{display:block}.gallery-status strong{font-family:"Barlow Condensed",sans-serif;font-size:32px;letter-spacing:.03em}.gallery-status span{color:#aebdd0;font-size:13px;margin-top:4px}.notice{margin:28px 7vw 0;background:#e8f6ff;border-left:5px solid var(--blue);padding:16px 20px;display:flex;align-items:center;gap:12px}.notice p{margin:0;line-height:1.5;font-size:14px}.photo-grid{padding:32px 7vw 80px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-card{background:#fff;box-shadow:0 12px 28px rgba(7,16,31,.10);min-width:0}.photo-open{display:block;width:100%;border:0;background:#0a0f17;padding:0;cursor:zoom-in;overflow:hidden;aspect-ratio:3/2}.photo-open img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.photo-open:hover img{transform:scale(1.025)}.photo-meta{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px}.photo-meta strong{font-family:"Barlow Condensed",sans-serif;font-size:18px;letter-spacing:.05em}.photo-meta a{font-size:13px;font-weight:800;color:#0874b3;text-decoration:none}.photo-meta a:hover{text-decoration:underline}footer{background:#050b15;color:#fff;padding:34px 7vw;display:flex;align-items:center;gap:22px;flex-wrap:wrap}footer strong{font-family:"Barlow Condensed",sans-serif;font-size:24px}footer span{color:#9caabd}footer a{margin-left:auto;color:var(--electric);text-decoration:none}.lightbox{position:fixed;inset:0;background:rgba(2,6,13,.94);z-index:100;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;padding:30px}.lightbox[hidden]{display:none}.lightbox figure{margin:0;min-width:0;text-align:center}.lightbox img{display:block;max-width:100%;max-height:82vh;margin:auto;box-shadow:0 18px 60px rgba(0,0,0,.6);user-select:none}.lightbox figcaption{color:#fff;margin-top:13px;font-family:"Barlow Condensed",sans-serif;font-size:20px;letter-spacing:.08em}.lightbox button{border:0;background:transparent;color:#fff;cursor:pointer}.lightbox-close{position:absolute;right:22px;top:12px;font-size:44px}.lightbox-nav{font-size:62px}.shake{animation:shake .35s linear}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-hero{align-items:flex-start;flex-direction:column}.gallery-status{border-left:0;border-top:4px solid var(--blue);padding:14px 0 0;width:100%}}@media(max-width:620px){.lock-panel{padding:28px 22px 32px}.password-row{flex-direction:column}.password-row button{width:100%}.gallery-header{height:76px;padding:0 5vw}.gallery-logo img{width:72px}.gallery-header nav a{display:none}.gallery-hero{padding:55px 6vw 48px}.photo-grid{grid-template-columns:1fr;padding:24px 5vw 60px;gap:18px}.notice{margin:20px 5vw 0}.lightbox{grid-template-columns:40px minmax(0,1fr) 40px;padding:18px 5px}.lightbox-nav{font-size:42px}footer{padding:28px 6vw;display:block}footer span,footer a{display:block;margin:7px 0 0}}



/* v70 — simplified gallery purchasing via existing Stripe package links */
.purchase-photos-bar{margin:24px 7vw 4px;background:#07101f;color:#fff;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-left:5px solid var(--blue);box-shadow:0 12px 30px rgba(7,16,31,.12)}
.purchase-photos-bar div{display:flex;flex-direction:column;gap:4px}.purchase-photos-bar strong{font-family:"Barlow Condensed",sans-serif;font-size:22px;letter-spacing:.06em}.purchase-photos-bar span{color:#c7d3df;font-size:14px;line-height:1.45}.purchase-photos-bar a{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#07101f;text-decoration:none;font-weight:900;padding:13px 17px;white-space:nowrap}.purchase-photos-bar a:hover{filter:brightness(1.05)}.purchase-photos-bottom{margin-top:0;margin-bottom:48px}.photo-meta{justify-content:flex-start}.photo-meta strong{display:block}
@media(max-width:620px){.purchase-photos-bar{margin:18px 5vw 2px;align-items:flex-start;flex-direction:column;padding:18px}.purchase-photos-bar a{width:100%;justify-content:center}.purchase-photos-bottom{margin-bottom:34px}}


/* NLS gallery: preserve the full varied Lightroom crops in each preview tile. */
.photo-open{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.photo-open img{object-fit:contain}
