:root{--canvas:#f5f7f4;--surface:#fff;--text:#17201d;--muted:#6d7773;--border:#e4e9e6;--primary:#245d4b;--primary-hover:#1c4a3c;--soft:#eaf1ed;color-scheme:light;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--text)}button,a{font:inherit}.site-header{height:72px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#ffffffe6;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:18px;font-weight:750}.brand img{width:38px;height:38px;border-radius:50%;object-fit:cover}.header-note{font-size:13px;color:var(--muted)}.state-panel{min-height:calc(100vh - 136px);display:grid;place-content:center;text-align:center;padding:32px}.state-panel[hidden],[hidden]{display:none!important}.loader{display:flex;justify-content:center;gap:7px}.loader span{width:9px;height:9px;border-radius:50%;background:var(--primary);animation:pulse 1.1s infinite alternate}.loader span:nth-child(2){animation-delay:.18s}.loader span:nth-child(3){animation-delay:.36s}@keyframes pulse{to{opacity:.25;transform:translateY(-7px)}}.error-panel h1{font-size:clamp(30px,5vw,50px);margin:8px 0 14px}.error-panel p{color:var(--muted);max-width:520px}.hero{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);align-items:center;gap:clamp(36px,7vw,100px);padding:clamp(54px,8vw,105px) clamp(22px,7vw,108px)}.hero-copy{max-width:520px}.eyebrow{margin:0 0 18px;color:var(--primary);font-size:11px;font-weight:750;letter-spacing:.18em}h1,h2{margin:0;line-height:1.02;letter-spacing:-.04em}h1{font-size:clamp(54px,7vw,102px)}h1 em,h2 em{font-style:normal;color:var(--primary)}.intro{margin:28px 0;color:var(--muted);font-size:clamp(16px,1.4vw,19px);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.button{min-height:48px;padding:0 20px;border-radius:10px;border:1px solid var(--primary);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;cursor:pointer;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button-dark{background:var(--primary);color:#fff}.button-dark:hover{background:var(--primary-hover)}.button-light{background:var(--surface);color:var(--primary)}.capture-date{margin-top:20px;color:var(--muted);font-size:13px}.main-photo-wrap{border:0;padding:0;width:100%;aspect-ratio:4/5;max-height:710px;background:var(--soft);border-radius:24px;overflow:hidden;box-shadow:0 22px 60px #17201d24;cursor:zoom-in}.main-photo-wrap img{width:100%;height:100%;display:block;object-fit:cover}.photo-corner{display:none}.collection{padding:clamp(65px,9vw,125px) clamp(22px,7vw,108px);background:#10241e;color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:50px}.section-heading h2,.closing h2{font-size:clamp(38px,5vw,70px);max-width:850px}.photo-count{font-size:11px;letter-spacing:.15em;color:#adc1ba;white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,28px)}.photo-card{grid-column:span 4;background:#18342b;border:1px solid rgba(255,255,255,.09);border-radius:16px;overflow:hidden}.photo-card button{border:0;padding:0;background:#233c34;width:100%;cursor:zoom-in}.photo-card img,.photo-card video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.photo-card>div{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;font-size:11px;letter-spacing:.08em}.photo-card a{color:#dceae5;text-decoration:none;font-weight:700}.closing{text-align:center;padding:clamp(70px,10vw,130px) 24px}.closing h2{margin:auto}.closing>p:last-child{color:var(--muted);line-height:1.7;margin:26px auto 0;max-width:570px}footer{min-height:64px;padding:18px clamp(22px,5vw,72px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);color:var(--muted);font-size:12px}dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:28px;border:0;background:#070f0cf5;color:#fff}dialog::backdrop{background:#07100d}dialog[open]{display:grid;grid-template-columns:70px 1fr 70px;grid-template-rows:1fr auto;place-items:center}#lightbox-image{grid-column:2;max-width:100%;max-height:calc(100vh - 100px);object-fit:contain}.lightbox-close,.lightbox-nav{border:0;background:#ffffff1f;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:24px}.lightbox-close{position:fixed;right:24px;top:20px}.previous{grid-column:1}.next{grid-column:3}.lightbox-footer{grid-column:2;display:flex;gap:28px;margin-top:14px;color:#c4d3ce;font-size:13px}.lightbox-footer a{color:#fff}@media(max-width:820px){.header-note{display:none}.hero{grid-template-columns:1fr;padding-top:42px}.hero-copy{max-width:none}.main-photo-wrap{max-height:none}.section-heading{align-items:start;flex-direction:column}.photo-card{grid-column:span 6}}@media(max-width:540px){.site-header{height:64px}.hero{padding-left:16px;padding-right:16px}.hero-actions{display:grid}.button{width:100%}.collection{padding-left:16px;padding-right:16px}.photo-grid{gap:12px}.photo-card{grid-column:span 12}footer{align-items:flex-start;flex-direction:column;gap:8px}dialog[open]{grid-template-columns:52px 1fr 52px;padding:16px}.lightbox-nav{width:40px;height:40px}}#download-status:empty,#lightbox-download-status:empty{display:none}#download-status{color:var(--text);line-height:1.5}#lightbox-download-status{grid-column:1/-1;color:#fff;max-width:600px;text-align:center;font-size:14px;line-height:1.5}[data-download][aria-disabled=true]{cursor:wait}[data-download]:focus-visible{outline:3px solid #b47b20;outline-offset:4px}body[data-site-design]{--muted:#53635b;--border:#73857b}body[data-site-design] .collection .eyebrow,body[data-site-design] .collection h2 em{color:#a8d9c2}body[data-site-design] :focus-visible{outline:3px solid #a66600;outline-offset:4px}.site-landing{min-height:calc(100vh - 136px);padding:clamp(48px,9vw,120px) clamp(22px,7vw,108px);background:#edf3ed;color:#17201d}.site-landing h1{max-width:100%;overflow-wrap:anywhere}.site-landing .intro{max-width:620px}.site-qr-note{max-width:620px;margin-top:52px;padding:28px;background:#fff;border:1px solid #73857b;border-radius:16px;color:#17201d}.site-qr-note h2{font-size:28px}.site-qr-note p{line-height:1.7;color:#53635b}body[data-site-design] .brand{min-width:0;overflow-wrap:anywhere}body[data-site-design=ace-archery-2010]{--canvas:#f8f5ed;--surface:#fffcf6;--text:#172b25;--muted:#4d5c53;--border:#8a9183;--primary:#173d31;--primary-hover:#0e2b22;--soft:#eeeadd;background:var(--canvas);font-family:Segoe UI,Arial,sans-serif}body[data-site-design=ace-archery-2010] .site-header{position:relative;height:auto;min-height:84px;max-width:1200px;margin:auto;padding:16px 0;background:transparent;border-color:#8a9183;gap:16px;backdrop-filter:none}body[data-site-design=ace-archery-2010] .brand{font-style:italic;font-weight:850;font-size:23px;letter-spacing:-1px}.ace-header-contact{display:flex;align-items:center;gap:24px}.ace-header-contact a{color:#173d31;text-decoration:none}.ace-header-contact a:hover{text-decoration:underline}.ace-contact-link{border:1px solid #52665a;border-radius:5px;padding:10px 16px}.ace-date{font:italic 28px Georgia,serif;color:#173d31;border-left:1px solid #8a9183;padding-left:24px}body[data-site-design=ace-archery-2010] .brand img{width:54px;height:54px}body[data-site-design=ace-archery-2010] main{max-width:1200px;margin:auto}body[data-site-design=ace-archery-2010] #gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;padding-bottom:48px}body[data-site-design=ace-archery-2010] .ace-intro{grid-column:1/-1;max-width:none;width:100%;padding:70px 0 28px;min-height:340px;background:linear-gradient(90deg,#f8f5ed 0%,#f8f5ed 38%,transparent 73%),url(/ace/ink-archer.png) right center/auto 470px no-repeat}body[data-site-design=ace-archery-2010] h1,body[data-site-design=ace-archery-2010] h2{font-family:Times New Roman,Georgia,serif;letter-spacing:-.045em;color:#14251f;line-height:1.1}body[data-site-design=ace-archery-2010] .ace-intro h1{font-size:clamp(42px,5.2vw,70px);max-width:800px}body[data-site-design=ace-archery-2010] .ace-intro .intro{margin:16px 0 30px;color:#344b40;font-size:20px}body[data-site-design=ace-archery-2010] .button{border-radius:5px;min-height:46px;font-size:15px}body[data-site-design=ace-archery-2010] .capture-date{margin:20px 0 8px}body[data-site-design=ace-archery-2010] .photo-count{color:#4d5c53;font-size:12px}body[data-site-design=ace-archery-2010] .hero{display:block;padding:10px;border:1px solid #8a9183;border-radius:9px;background:#fffcf6;box-shadow:0 3px 8px #173d3108}body[data-site-design=ace-archery-2010] .main-photo-wrap{aspect-ratio:auto;max-height:none;display:block;border-radius:4px;box-shadow:none;background:#eeeadd}body[data-site-design=ace-archery-2010] .main-photo-wrap img{height:auto;max-height:900px;object-fit:contain}.ace-featured-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 6px 2px;font-size:14px}.ace-featured-meta a,body[data-site-design=ace-archery-2010] .photo-card a{color:#173d31;background:#fffcf6;border:1px solid #52665a;border-radius:5px;padding:9px 16px;font-size:14px;letter-spacing:0;text-decoration:none;display:inline-block}.ace-featured-meta a:hover,body[data-site-design=ace-archery-2010] .photo-card a:hover{background:#e5ecdf}body[data-site-design=ace-archery-2010] .collection{display:contents;padding:0;background:transparent;color:#172b25}body[data-site-design=ace-archery-2010] .section-heading,body[data-site-design=ace-archery-2010] .closing{display:none}body[data-site-design=ace-archery-2010] .photo-grid{display:contents}body[data-site-design=ace-archery-2010] .photo-card{grid-column:auto;background:#fffcf6;border:1px solid #8a9183;border-radius:9px;padding:10px;box-shadow:0 3px 8px #173d3108}body[data-site-design=ace-archery-2010] .photo-card button{background:#eeeadd;border-radius:4px;overflow:hidden}body[data-site-design=ace-archery-2010] .photo-card img,body[data-site-design=ace-archery-2010] .photo-card video{height:auto;max-height:640px;aspect-ratio:auto;object-fit:contain}body[data-site-design=ace-archery-2010] .photo-card>div{padding:12px 6px 2px;color:#172b25;font-size:14px}body[data-site-design=ace-archery-2010] #gallery.single-asset .hero{grid-column:1/-1;width:min(100%,860px);justify-self:center}body[data-site-design=ace-archery-2010] #gallery.single-asset .collection{display:none}#ace-contact{max-width:1200px;margin:auto;padding:48px 40px 60px;border-top:1px solid #8a9183;text-align:center;background:linear-gradient(#f8f5eddd,#f8f5edee),url(/ace/ink-archer.png) right center/cover}#ace-contact h2{font-size:clamp(32px,4vw,48px)}.ace-blossom{color:#9a4857;font-size:25px;margin:16px}.ace-contact-card{display:grid;grid-template-columns:1.5fr 1fr auto;align-items:center;text-align:left;gap:24px;padding:24px;background:#fffcf6;border:1px solid #8a9183;border-radius:8px}.ace-contact-card strong{font-size:15px}.ace-contact-card p{margin:6px 0 0;font-size:14px;line-height:1.6}.ace-contact-card a:not(.button){color:#173d31}.ace-contact-card>div+div{border-left:1px solid #8a9183;padding-left:24px}body[data-site-design=ace-archery-2010] footer{background:#173d31;color:#fffaf0;padding:32px max(24px,calc((100vw - 1200px)/2));border:0;gap:24px}.ace-footer-brand{display:flex;align-items:center;gap:16px}.ace-footer-brand img{border-radius:50%}.ace-footer-brand strong{font-size:12px;letter-spacing:.08em}.ace-footer-brand p{margin:8px 0;line-height:1.5}.ace-footer-brand a{color:#fffaf0}.ace-footer-wish{font:italic 22px Georgia,serif;white-space:nowrap}body[data-site-design=ace-archery-2010] .site-landing{min-height:500px}.site-landing.ace-intro .site-qr-note{background:#fffcf6;margin-top:28px;max-width:550px;border-radius:6px}body[data-site-design=ace-archery-2010] [aria-disabled=true]{background:#e0e5da;color:#405347;border-color:#52665a;opacity:1}body[data-site-design=ace-archery-2010] :focus-visible{outline:3px solid #995019;outline-offset:4px}@media(max-width:1250px){body[data-site-design=ace-archery-2010] main,body[data-site-design=ace-archery-2010] .site-header{margin-left:24px;margin-right:24px}}@media(max-width:760px){.ace-header-contact{gap:12px}.ace-date{display:none}body[data-site-design=ace-archery-2010] .brand{font-size:18px}body[data-site-design=ace-archery-2010] .ace-intro{padding-top:48px;background-size:auto 380px;background-position:right top;background-image:linear-gradient(90deg,#f8f5ed,#f8f5eddd 55%,#f8f5ed99),url(/ace/ink-archer.png)}body[data-site-design=ace-archery-2010] #gallery{gap:16px}#ace-contact{padding:36px 24px}.ace-contact-card{grid-template-columns:1fr 1fr;padding:20px}.ace-contact-card>.button{grid-column:1/-1}.ace-footer-wish{white-space:normal}}@media(max-width:540px){body[data-site-design=ace-archery-2010] main,body[data-site-design=ace-archery-2010] .site-header{margin-left:16px;margin-right:16px}body[data-site-design=ace-archery-2010] .site-header{flex-wrap:wrap;gap:12px;padding:14px 0}.ace-header-contact{width:100%;justify-content:space-between;font-size:14px}.ace-date{display:block;font-size:22px;padding-left:12px}body[data-site-design=ace-archery-2010] #gallery{grid-template-columns:1fr}body[data-site-design=ace-archery-2010] .ace-intro{padding-top:38px;min-height:0}body[data-site-design=ace-archery-2010] .hero-actions{display:flex}body[data-site-design=ace-archery-2010] .hero-actions .button{width:auto;font-size:13px;padding:0 12px}.ace-contact-card{grid-template-columns:1fr;gap:18px}.ace-contact-card>div+div{border-left:0;border-top:1px solid #8a9183;padding:18px 0 0}body[data-site-design=ace-archery-2010] footer{padding:28px 20px}.ace-footer-wish{margin:0}body[data-site-design=ace-archery-2010] .site-landing{min-height:400px}}
