:root{--ink:#20251f;--muted:#71756d;--paper:#fbfcf8;--line:#e5e7de;--lime:#d4f55b;--dark:#20261f;--soft:#f0f2e9;--radius:16px;--font:'DM Sans',sans-serif;--heading:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;padding-bottom:43px}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}button{border:0}button:disabled{cursor:not-allowed;opacity:.65}[hidden]{display:none!important}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--heading);font-weight:700;letter-spacing:-.04em}h2{font-size:40px;line-height:1.2}h3{font-size:21px;line-height:1.3}svg.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}button,a,input,select,summary{outline-offset:5px}*:focus-visible{outline:3px solid #667f0f}.container{max-width:1280px;width:calc(100% - 96px);margin:0 auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:15px 22px;min-height:50px;border-radius:9px;font-size:14px;font-weight:700;letter-spacing:-.01em;transition:background .18s,transform .18s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--dark);color:white}.button-dark:hover{background:#3d4935}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#c5e94a}.button-outline{border:1px solid #d5dacb;background:transparent}.button-outline:hover{background:var(--soft)}.button-white{background:#fff;color:var(--ink)}.text-button{display:inline-flex;align-items:center;gap:13px;font-weight:600;font-size:14px;background:none;padding:8px 0}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:transparent}.icon-button:hover{background:var(--soft)}.eyebrow{font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.16em;display:flex;align-items:center;gap:9px;margin-bottom:15px}.muted{color:var(--muted)}.skip-link{position:fixed;top:-100px;left:15px;background:var(--lime);padding:10px;z-index:100}.skip-link:focus{top:10px}
.header{background:rgba(251,252,248,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid transparent}.nav-wrap{max-width:1280px;width:calc(100% - 96px);margin:auto;height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;font-family:var(--heading);font-weight:800;font-size:27px;letter-spacing:-1.6px;white-space:nowrap}.brand-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--lime);border-radius:10px;margin-right:10px}.brand-icon svg{height:28px;width:28px;stroke:var(--ink);stroke-width:1.7;fill:none;stroke-linecap:round}.brand-dot{color:#8cae20;font-size:32px;margin-left:1px}.desktop-nav{display:flex;gap:28px;font-size:13px;font-weight:500}.desktop-nav a{padding:12px 0}.desktop-nav a:hover{color:#65800d}.nav-actions{display:flex;align-items:center;gap:22px}.nav-cta{padding:12px 17px;min-height:43px;font-size:12px}.saved-button{display:flex;align-items:center;gap:6px;background:none;padding:9px 0}.saved-count{font-size:11px}.mobile-menu{display:none}.mobile-nav{padding:10px 24px 20px;flex-direction:column;gap:16px;border-bottom:1px solid var(--line)}
.hero{padding-top:10px}.hero-image{height:506px;position:relative;border-radius:16px;overflow:hidden;background:#384030}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 53%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,28,17,.82) 0%,rgba(18,28,17,.64) 32%,rgba(18,28,17,.12) 65%,rgba(18,28,17,.15)),linear-gradient(0deg,rgba(0,0,0,.16),transparent 40%)}.hero-copy{position:absolute;left:54px;top:58px;color:white;max-width:610px}.hero-copy .eyebrow{color:#e3e6de;font-size:10px;margin-bottom:22px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);display:inline-block;flex-shrink:0}.hero h1{font-size:76px;line-height:1.04;letter-spacing:-.06em;font-weight:800}.hero h1 span{color:var(--lime)}.hero-copy p{margin-top:25px;font-size:15px;line-height:1.7;color:#e7e9e2}.frame-mark{position:absolute;width:177px;height:280px;top:82px;right:30%;transform:rotate(-5deg)}.frame-mark i{position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.8)}.frame-mark i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.frame-mark i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.frame-mark i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.frame-mark i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}.frame-mark span{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);background:var(--lime);padding:5px 10px;font-size:9px;letter-spacing:.12em;font-weight:700;white-space:nowrap;border-radius:3px}.hero-note{position:absolute;bottom:52px;right:32px;color:white;display:flex;gap:8px;align-items:center;font-size:11px}.hero-demo{position:absolute;top:22px;right:24px;color:#fff;background:#20251f6e;border:1px solid #ffffff40;border-radius:20px;font-size:9px;padding:5px 10px;backdrop-filter:blur(8px)}
.search-box{position:relative;margin:-38px 28px 0;z-index:2;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) auto;align-items:center;padding:17px 18px 17px 10px;background:white;border:1px solid var(--line);box-shadow:0 8px 25px #1d29170a;border-radius:12px;min-height:95px}.search-field{padding:0 22px;border-right:1px solid var(--line);display:block;min-width:0}.field-label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.input-wrap{display:flex;align-items:center;gap:9px}.input-wrap svg{height:16px;width:16px;color:#8b9184}.search-field input{border:0;background:transparent;width:100%;min-width:0;font-size:12px;color:var(--ink);padding:0;outline-offset:4px;min-height:20px}.search-field input::placeholder{color:#858a80;opacity:1}.search-field:last-of-type{border-right:0}.search-submit{font-size:12px;padding:16px 20px;gap:17px;min-height:53px}.under-search{display:flex;justify-content:space-between;align-items:center;padding:19px 28px 0;gap:12px}.under-search p{font-size:11px;color:#73796d;display:flex;align-items:center;gap:8px}.under-search svg{width:14px;height:14px;color:#708b22}.demo-pill{font-size:8px;letter-spacing:.1em;border:1px solid #dde3d3;padding:4px 8px;border-radius:4px;color:#7c846f;white-space:nowrap}
.events-section{padding-top:67px;padding-bottom:48px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:34px}.section-heading>.text-button{margin-bottom:3px}.filter-chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid var(--line);padding:8px 15px;border-radius:7px;font-size:11px;font-weight:500;background:transparent;white-space:nowrap;transition:.15s}.chip:hover{background:var(--soft)}.chip.active{background:var(--dark);color:#fff;border-color:var(--dark)}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.event-card{display:block;border-radius:12px;min-width:0;outline-offset:6px}.event-image{position:relative;height:210px;overflow:hidden;background:#d5d9ca;border-radius:11px}.event-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.event-card:hover .event-image img{transform:scale(1.045)}.category-tag{position:absolute;left:14px;top:14px;padding:5px 10px;background:#fffef5e8;color:var(--ink);border-radius:5px;font-size:9px;font-weight:600;backdrop-filter:blur(6px)}.demo-tag{position:absolute;top:15px;right:14px;border:1px solid #ffffff80;color:#fff;background:#1f271f60;border-radius:4px;font-size:8px;padding:3px 7px}.date-tile{position:absolute;bottom:13px;left:14px;background:#fff;border-radius:7px;text-align:center;min-width:43px;padding:7px 8px;box-shadow:0 2px 8px #0001}.date-tile strong{display:block;font-family:var(--heading);font-size:19px;line-height:1.1;letter-spacing:-.05em}.date-tile span{font-size:8px;letter-spacing:.1em;font-weight:600}.event-card h3{font-size:19px;margin-top:15px;letter-spacing:-.035em}.event-place{margin-top:5px;display:flex;gap:5px;align-items:center;color:var(--muted);font-size:11px}.event-place svg{width:13px;height:13px}.event-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.photographer-count{display:flex;align-items:center;gap:7px;font-size:10px;color:#6d7565}.photographer-count .avatars{display:flex;padding-left:0}.avatar-dot{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#dce2d2;border:2px solid var(--paper);margin-left:-5px;font-size:8px;color:#48533d;font-weight:600}.avatar-dot:first-child{margin-left:0;background:#ccd9b3}.avatar-dot:last-child{background:#e6dcc9}.event-arrow{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:.2s}.event-card:hover .event-arrow{background:var(--lime);border-color:var(--lime);transform:rotate(-40deg)}.event-arrow svg{width:14px;height:14px}.event-footnote{display:flex;align-items:center;gap:7px;font-size:10px;color:#858b7e;margin-top:24px}.event-footnote svg{width:12px;height:12px}.search-summary{font-size:13px;color:var(--muted);margin-bottom:22px;display:flex;align-items:center;gap:15px;justify-content:space-between}.search-summary button{text-decoration:underline;background:none;font-size:12px}.empty-state{text-align:center;background:var(--soft);padding:55px 24px;border-radius:12px}.empty-state>[data-icon] svg{width:35px;height:35px;margin-bottom:18px;color:#7d896b}.empty-state h3{font-size:21px}.empty-state p{font-size:14px;color:var(--muted);margin:14px auto 22px;max-width:460px}
.how-section{border-top:1px solid var(--line);padding-top:62px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.how-intro{max-width:400px}.how-intro h2{font-size:37px}.how-intro p{font-size:14px;color:var(--muted);line-height:1.8;margin:18px 0 20px}.steps article{display:flex;gap:22px;align-items:flex-start;border-bottom:1px solid var(--line);padding:24px 0}.steps article:first-child{padding-top:3px}.steps article:last-child{border-bottom:0}.step-number{font-family:var(--heading);font-size:13px;font-weight:600;color:#90997e;padding-top:3px}.steps h3{font-size:17px;letter-spacing:-.025em}.steps p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:8px;max-width:330px}.steps article>[data-icon]{margin-left:auto;padding-top:3px;color:#70824d}.banner-inner{background:var(--dark);border-radius:16px;display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;min-height:430px;padding:50px 55px;gap:65px}.banner-copy .eyebrow{color:#bbc5ad}.banner-copy h2{font-size:38px;line-height:1.2;color:#fff}.banner-copy h2 span{color:var(--lime)}.banner-copy>p{color:#bcc4b7;font-size:13px;line-height:1.8;max-width:380px;margin-top:18px;margin-bottom:24px}.banner-copy .button{font-size:11px;padding:13px 16px;min-height:46px}.banner-art{position:relative;display:flex;align-items:center;padding:15px 0 25px}.banner-art>img{height:310px;width:100%;object-fit:cover;border-radius:9px;transform:rotate(4deg);border:8px solid #fbfcf8;box-shadow:0 10px 30px #0003}.floating-photo-card{position:absolute;bottom:0;left:-28px;right:28px;background:white;box-shadow:0 8px 30px #0002;display:flex;align-items:center;gap:13px;border-radius:10px;padding:18px 20px;transform:rotate(-3deg)}.floating-photo-card strong{font-size:12px;display:block}.floating-photo-card div>span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.mini-icon{width:34px;height:34px;background:var(--soft);border-radius:7px}.mini-check{margin-left:auto;width:25px;height:25px;background:var(--lime);border-radius:50%}.mini-check svg{width:14px;height:14px}
.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;padding-top:75px;padding-bottom:80px}.faq-section h2{font-size:33px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:13px;font-weight:600;padding:20px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list details:first-child summary{padding-top:4px}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:13px;line-height:1.8;padding:0 30px 22px 0}.faq-list details a{margin-bottom:20px}.footer{background:#f1f3eb;border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:27px}.footer .brand{font-size:23px}.footer .brand-icon{width:30px;height:30px;border-radius:8px}.footer .brand-icon svg{width:23px;height:23px}.footer-top>p{font-size:12px;color:var(--muted)}.footer-top>a:last-child{font-size:12px;display:flex;align-items:center;gap:14px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#858d7c;padding-top:17px;padding-bottom:24px;border-top:1px solid #dde2d4;gap:18px}.footer-bottom div{display:flex;gap:20px}.footer-bottom button{font-size:10px;background:none;padding:0;color:inherit}.footer-bottom button:hover{text-decoration:underline}.prototype-bar{position:fixed;bottom:0;left:0;right:0;z-index:25;background:#252d23;color:#e6ecd9;border-top:1px solid #ffffff1a;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 20px;min-height:43px;font-size:10px}.prototype-bar strong{font-size:10px;font-weight:600}.prototype-detail{color:#aab59e}.prototype-bar button{background:transparent;color:#cbd6bd;display:grid;place-items:center}.prototype-bar svg{width:14px;height:14px}.toast{position:fixed;bottom:65px;left:50%;transform:translate(-50%,20px);background:var(--dark);color:white;padding:14px 22px;border-radius:10px;box-shadow:0 5px 30px #0002;z-index:50;opacity:0;pointer-events:none;transition:.2s;font-size:13px;max-width:calc(100% - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Event galleries and photographer workspace */
.page-shell{padding:28px 0 70px;min-height:65vh}.back-link{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;background:none;padding:0}.back-link svg{width:16px;height:16px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.page-head h1{font-size:46px;line-height:1.15;max-width:800px}.page-head p{margin-top:15px;color:var(--muted);font-size:14px}.page-head .eyebrow{margin-bottom:9px}.event-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted)}.event-meta span{display:flex;gap:6px;align-items:center}.event-meta svg{width:15px;height:15px}.notice{background:#edf2e2;border:1px solid #dfe7d1;border-radius:9px;padding:13px 17px;font-size:12px;line-height:1.7;display:flex;gap:10px;align-items:center;margin:20px 0 28px}.notice [data-icon]{color:#6f813e}.gallery-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:30px 0 24px}.gallery-tools label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px}.gallery-tools select,.form-field input,.form-field select{padding:11px 13px;border:1px solid #dbe0d2;border-radius:7px;background:#fff;color:var(--ink);min-height:42px;font-size:12px}.gallery-tools .chip{margin-left:auto}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.gallery-photo{min-width:0}.photo-hit{position:relative;border-radius:10px;overflow:hidden;background:#e4e9db;width:100%;display:block;padding:0;height:255px}.photo-hit img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.photo-hit:hover img{transform:scale(1.035)}.gallery-photo .photo-info{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.photo-info h3{font-family:var(--font);font-size:12px;letter-spacing:0;font-weight:500}.photo-info p{font-size:10px;color:var(--muted);margin-top:2px}.photo-price{font-size:12px;white-space:nowrap}.heart-btn{background:var(--soft);border-radius:50%;width:32px;height:32px;display:inline-grid;place-items:center}.heart-btn svg{width:15px;height:15px}.heart-btn.selected{background:var(--lime)}.heart-btn.selected svg{fill:var(--ink)}.photo-right{display:flex;gap:13px;align-items:center}.gallery-bottom{background:var(--soft);padding:25px 30px;border-radius:12px;margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:25px}.gallery-bottom h3{font-size:18px}.gallery-bottom p{font-size:12px;color:var(--muted);margin-top:6px}.gallery-bottom .button{font-size:12px}.gallery-zero{padding:45px;text-align:center;background:var(--soft);border-radius:10px;grid-column:1/-1;font-size:14px;color:var(--muted)}
.photographers-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;margin:10px 0 50px}.photographers-hero h1{font-size:58px;line-height:1.1;letter-spacing:-.06em}.photographers-hero h1 span{background:var(--lime);padding:0 8px;margin-left:-8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.photographers-hero p{font-size:15px;color:var(--muted);line-height:1.8;margin:25px 0}.photographers-hero .hero-side{position:relative}.photographers-hero img{height:420px;width:100%;object-fit:cover;border-radius:14px}.caption-badge{position:absolute;bottom:18px;left:18px;background:white;border-radius:8px;padding:12px 18px;font-size:12px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.benefit-icon{height:40px;width:40px;background:var(--lime);border-radius:10px;display:grid;place-items:center;margin-bottom:18px}.benefits h3{font-size:19px}.benefits p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}.pilot-block{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding-top:55px}.pilot-block h2{font-size:31px}.pilot-block p{font-size:14px;color:var(--muted);line-height:1.8;margin:17px 0}.pilot-info{background:var(--soft);border-radius:12px;padding:28px}.pilot-info h3{font-size:19px}.pilot-info ul{padding-left:20px;font-size:13px;line-height:2;color:var(--muted)}.dashboard-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.demo-badge{font-size:10px;background:var(--lime);padding:6px 10px;border-radius:5px;font-weight:600}.workspace-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:30px;margin-top:30px}.workspace-panel{border:1px solid var(--line);border-radius:12px;padding:25px;background:white}.workspace-panel h2{font-size:21px;margin-bottom:10px}.workspace-panel>p{font-size:12px;color:var(--muted);line-height:1.8}.form-field{display:block;margin:19px 0}.form-field>span{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.form-field input,.form-field select{width:100%;font-size:14px}.form-field small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.upload-zone{border:1px dashed #aebc95;background:#f7faef;border-radius:12px;text-align:center;padding:35px 15px;margin-top:24px;cursor:pointer;display:block}.upload-zone.dragging{background:#e9f5c5;border-color:#6d842b}.upload-zone>[data-icon]{margin-bottom:14px}.upload-zone h3{font-size:16px}.upload-zone p{font-size:11px;color:var(--muted);margin-top:8px}.upload-zone .button{margin-top:17px;font-size:12px}.preview-uploads{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.uploaded-card{background:var(--soft);border-radius:8px;padding:6px;position:relative}.uploaded-card img{height:100px;object-fit:cover;width:100%;border-radius:5px}.uploaded-card p{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:6px 3px}.uploaded-card button{position:absolute;right:10px;top:10px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#fff}.uploaded-card svg{width:14px;height:14px}.dashboard-status{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.7}.upload-native{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.upload-native:focus-visible+.upload-zone{outline:3px solid #667f0f;outline-offset:4px}.workspace-panel>.button{margin-top:15px}
/* Dialogs */
dialog{border:0;border-radius:17px;padding:0;background:var(--paper);color:var(--ink);max-width:calc(100% - 32px);width:520px;max-height:calc(100dvh - 80px);box-shadow:0 30px 100px #0004;overflow:auto}dialog::backdrop{background:#151b17a3;backdrop-filter:blur(5px)}dialog.wide{width:1080px}.modal-close{position:absolute;right:15px;top:15px;z-index:3;background:#fff;box-shadow:0 2px 10px #0001}.modal-body{padding:40px}.modal-body h2{font-size:29px;padding-right:30px;line-height:1.25}.modal-body>p{font-size:13px;line-height:1.8;color:var(--muted);margin:16px 0}.modal-body .eyebrow{font-size:9px}.modal-body .button{width:100%;margin-top:15px}.modal-body .notice{font-size:11px;margin-bottom:17px}.consent-label{font-size:12px;line-height:1.8;display:flex;gap:10px;align-items:flex-start}.consent-label input{margin-top:4px;accent-color:#738e2f;min-width:16px;height:16px}.modal-fine{font-size:11px;color:var(--muted);line-height:1.8;margin-top:14px}.success-icon{background:var(--lime);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin-bottom:20px}.photo-detail{display:grid;grid-template-columns:1.4fr 1fr;min-height:530px}.photo-detail-visual{background:#1c221a;position:relative;display:flex;align-items:center;justify-content:center}.photo-detail-visual>img{max-height:610px;width:100%;object-fit:contain}.photo-detail .modal-body{padding:60px 32px 32px}.detail-price{font-family:var(--heading);font-size:31px;font-weight:700;letter-spacing:-.04em;margin:20px 0 5px}.detail-meta{font-size:11px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}.detail-specs{list-style:none;padding:0;margin:20px 0;font-size:12px;color:var(--muted)}.detail-specs li{display:flex;align-items:center;gap:8px;margin-bottom:10px}.detail-specs svg{width:14px;height:14px;color:#6e872b}.photo-detail .button{font-size:12px}.credits-list{font-size:12px;line-height:1.8;padding-left:18px}.credits-list li{margin-bottom:10px}.credits-list a{text-decoration:underline}.checkout-line{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.checkout-line strong{font-size:20px}.prototype-list{padding-left:18px;font-size:13px;line-height:1.9;color:var(--muted)}
@media(min-width:1500px){.hero-image{height:550px}.hero-copy{top:70px}.hero h1{font-size:84px}.event-image{height:240px}}
@media(max-width:1100px){.container,.nav-wrap{width:calc(100% - 56px)}.desktop-nav{gap:18px;font-size:12px}.nav-actions{gap:15px}.brand{font-size:24px}.hero h1{font-size:65px}.hero-copy{left:35px}.hero-image{height:490px}.frame-mark{right:14%;width:140px;height:155px;top:205px}.search-box{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) auto;margin-left:18px;margin-right:18px;padding:16px 13px 16px 0}.search-field{padding:0 15px}.search-submit{font-size:11px;padding:15px;gap:8px}.hero-note{bottom:65px}.event-grid{gap:20px}.event-image{height:180px}.how-section{gap:55px}.banner-inner{gap:35px;padding:40px}.banner-copy h2{font-size:33px}.banner-art>img{height:290px}.photographers-hero{gap:40px}.photographers-hero h1{font-size:49px}}
@media(max-width:850px){.desktop-nav{display:none}.hero h1{font-size:62px}.hero-image{height:485px}.hero-copy p{max-width:400px}.frame-mark{display:none}.hero-note{display:none}.search-box{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px;margin-top:-28px}.search-field{padding:0 12px}.search-submit{grid-column:1/-1;min-height:47px;font-size:12px}.under-search{padding:17px 20px 0}.events-section{padding-top:50px}.event-grid{gap:17px}.event-card h3{font-size:16px}.event-image{height:160px}.photographer-count{font-size:9px}.avatars{display:none!important}.how-section{gap:35px;grid-template-columns:1fr 1.2fr}.how-intro h2{font-size:30px}.steps article{gap:15px}.banner-inner{gap:30px;padding:35px}.banner-copy h2{font-size:28px}.banner-copy .button{white-space:normal;text-align:left;font-size:11px;gap:10px}.floating-photo-card{left:-10px;right:-10px;padding:14px;gap:10px}.banner-art>img{height:270px}.faq-section{gap:35px;grid-template-columns:1fr 1.3fr}.faq-section h2{font-size:28px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column;gap:20px}.page-head h1{font-size:38px}.gallery-tools{gap:12px}.gallery-tools .chip{margin-left:0}.photographers-hero h1{font-size:42px}.photographers-hero img{height:390px}.pilot-block{gap:35px}.workspace-grid{grid-template-columns:1fr 1.3fr;gap:20px}.workspace-panel{padding:20px}.photo-detail{grid-template-columns:1fr 1fr;min-height:450px}.photo-detail .modal-body{padding:55px 22px 25px}.modal-body h2{font-size:26px}}
@media(max-width:600px){html{scroll-padding-top:86px}.container,.nav-wrap{width:calc(100% - 36px)}.header{border-bottom:1px solid #e7eadf}.nav-wrap{height:74px;gap:12px}.brand{font-size:24px}.brand-icon{width:32px;height:32px;border-radius:8px;margin-right:7px}.brand-icon svg{width:25px;height:25px}.brand-dot{font-size:28px}.nav-cta{display:none}.mobile-menu{display:grid}.mobile-nav:not([hidden]){display:flex}.nav-actions{gap:16px}.saved-button{padding:8px 0}.hero{padding-top:15px}.hero-image{height:455px;border-radius:12px}.hero-image>img{object-position:57% 50%}.hero-shade{background:linear-gradient(90deg,#101c14b8,#18201738),linear-gradient(0deg,#101a1466,#14211908)}.hero-copy{top:65px;left:24px;right:20px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:18px}.hero h1{font-size:clamp(44px,14.2vw,57px);line-height:1.06}.hero-copy p{font-size:13px;line-height:1.8;margin-top:22px;max-width:270px}.desktop-break{display:none}.hero-demo{top:16px;right:16px;font-size:8px}.search-box{margin:-36px 12px 0;grid-template-columns:minmax(0,1fr);padding:18px 14px;gap:16px 12px;border-radius:10px}.search-field{padding:0;border:0;min-width:0}.search-field:first-child{border-bottom:1px solid var(--line);padding-bottom:10px}.search-field input{font-size:16px}.search-field .field-label{font-size:11px;margin-bottom:6px}.input-wrap{gap:6px}.input-wrap svg{width:14px;height:14px}.search-submit{grid-column:1/-1;min-height:47px;font-size:12px;margin-top:0;justify-content:space-between;padding:14px 17px}.under-search{padding:16px 14px 0;align-items:flex-start}.under-search p{font-size:9px;line-height:1.7;gap:5px}.under-search .demo-pill{display:none}.events-section{padding-top:42px;padding-bottom:38px}.section-heading{align-items:flex-start;gap:15px;margin-bottom:22px}.section-heading .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:9px}.section-heading h2{font-size:29px;max-width:260px}.section-heading>.text-button{font-size:0;gap:0;border:1px solid var(--line);height:33px;width:33px;display:grid;place-items:center;border-radius:50%;margin-top:23px;flex-shrink:0}.section-heading>.text-button svg{width:16px;height:16px}.filter-chips{gap:6px;flex-wrap:nowrap;width:100%;overflow-x:auto;padding:2px 2px 7px}.chip{font-size:10px;padding:8px 12px}.event-grid{grid-template-columns:1fr;gap:30px}.event-image{height:230px}.event-card h3{font-size:21px;margin-top:14px}.event-place{font-size:12px}.event-card-bottom{margin-top:13px;padding-top:10px}.photographer-count{font-size:11px}.avatars{display:flex!important}.event-arrow{width:30px;height:30px}.event-footnote{font-size:10px;align-items:flex-start;line-height:1.7;margin-top:24px}.event-footnote>[data-icon]{margin-top:3px}.category-tag{font-size:10px}.demo-tag{font-size:9px}.date-tile{padding:7px 10px;min-width:45px}.date-tile strong{font-size:21px}.date-tile span{font-size:9px}.how-section{grid-template-columns:1fr;gap:27px;padding-top:38px;padding-bottom:42px}.how-intro h2{font-size:33px}.how-intro p{margin:15px 0 8px;font-size:13px;max-width:330px}.steps article{padding:20px 0;gap:18px}.steps h3{font-size:17px}.steps p{font-size:12px;max-width:260px}.steps article>[data-icon]{margin-top:1px}.banner-inner{grid-template-columns:1fr;padding:31px 26px;gap:24px;border-radius:12px}.banner-copy .eyebrow{font-size:9px}.banner-copy h2{font-size:33px}.banner-copy>p{font-size:12px;max-width:320px}.banner-copy .button{font-size:11px;min-height:47px;padding:14px 16px}.banner-art{padding:12px 10px 28px;max-width:370px;width:100%;margin:auto}.banner-art>img{height:260px;transform:rotate(3deg);border-width:6px}.floating-photo-card{left:0;right:17px;bottom:2px;padding:16px}.faq-section{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:43px}.faq-section h2{font-size:31px}.faq-list summary{font-size:12px;padding:19px 0}.faq-list details p{font-size:12px}.footer-top{flex-wrap:wrap;padding-top:27px;padding-bottom:23px}.footer-top>.brand{font-size:23px;width:100%}.footer-top>p{font-size:11px}.footer-top>a:last-child{font-size:11px;gap:5px}.footer-top>a:last-child svg{width:15px;height:15px}.footer-bottom{align-items:flex-start;gap:15px;flex-direction:column;font-size:9px;padding-bottom:27px}.footer-bottom button{font-size:10px}.prototype-detail{display:none}.prototype-bar{justify-content:flex-start;padding:10px 20px}.prototype-bar button{margin-left:auto}.page-shell{padding-top:24px;padding-bottom:45px}.back-link{font-size:11px;margin-bottom:25px}.page-head{margin-bottom:22px;gap:22px}.page-head h1{font-size:34px}.page-head .button{font-size:12px;padding:13px 18px;min-height:46px}.page-head p{font-size:13px}.event-meta{gap:10px 15px;font-size:11px}.notice{font-size:11px;padding:12px 14px;align-items:flex-start}.notice [data-icon]{margin-top:2px}.gallery-tools{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 22px;gap:14px}.gallery-tools label{display:block;font-size:10px}.gallery-tools select{width:100%;margin-top:7px;padding:10px 8px;font-size:11px}.gallery-tools .chip{grid-column:1/-1;justify-self:start;font-size:11px}.gallery-grid{gap:22px 12px}.photo-hit{height:168px;border-radius:7px}.gallery-photo .photo-info{align-items:flex-start;margin-top:9px}.photo-info h3{font-size:10px}.photo-info p{font-size:9px}.photo-right{gap:6px;flex-direction:column-reverse;align-items:flex-end}.photo-price{font-size:11px}.heart-btn{width:25px;height:25px}.heart-btn svg{width:13px;height:13px}.gallery-bottom{flex-direction:column;align-items:flex-start;padding:22px;gap:19px;margin-top:30px}.gallery-bottom h3{font-size:18px}.gallery-bottom p{font-size:12px}.gallery-bottom .button{min-height:43px}.photographers-hero{grid-template-columns:1fr;gap:28px;margin-top:5px;margin-bottom:34px}.photographers-hero h1{font-size:44px;max-width:370px}.photographers-hero p{font-size:13px;margin:22px 0}.photographers-hero .button{font-size:12px;min-height:45px}.photographers-hero img{height:300px}.benefits{grid-template-columns:1fr;gap:29px;padding:30px 0}.benefit-icon{height:36px;width:36px;margin-bottom:12px}.benefits h3{font-size:19px}.benefits p{font-size:12px;margin-top:10px}.pilot-block{grid-template-columns:1fr;gap:22px;padding-top:34px}.pilot-block h2{font-size:29px}.pilot-block p{font-size:13px}.workspace-grid{grid-template-columns:1fr;gap:20px}.workspace-panel{padding:21px}.dashboard-top{align-items:flex-start;gap:12px}.dashboard-top h1{font-size:32px}.demo-badge{font-size:8px;white-space:nowrap;margin-top:6px}.preview-uploads{gap:8px}.uploaded-card img{height:85px}.photo-detail{grid-template-columns:1fr;min-height:0}.photo-detail-visual{min-height:220px}.photo-detail-visual>img{max-height:330px;width:100%}.photo-detail .modal-body{padding:27px}.modal-body{padding:32px 26px}.modal-body h2{font-size:27px}.modal-body>p{font-size:12px}.modal-close{right:11px;top:11px;width:34px;height:34px}.modal-body .eyebrow{padding-right:23px;font-size:8px}.detail-price{font-size:27px;margin-top:17px}.detail-specs{margin:18px 0}.toast{font-size:12px;width:max-content;max-width:calc(100% - 32px);padding:12px 18px}.search-summary{font-size:11px}.empty-state{padding:35px 20px}.empty-state h3{font-size:20px}.empty-state p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.modal-body h2{overflow-wrap:anywhere}

/* Visitor exercise for the festival gallery. */
.test-entry {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.test-entry:hover { text-decoration: underline; text-underline-offset: 3px; }
.test-entry svg { width: 15px; height: 15px; }
.test-shell { padding: 28px 0 54px; }
.test-poster {
  display: grid;
  grid-template-columns: 1fr 1.02fr;
  overflow: hidden;
  background: var(--dark);
  color: #fff;
  border-radius: 17px;
}
.test-poster-copy { padding: clamp(30px, 5vw, 78px); align-self: center; }
.test-poster-copy .eyebrow { color: #c4cdbb; margin-bottom: 32px; }
.test-poster h1 { font-size: clamp(44px, 5.6vw, 82px); line-height: 1.02; letter-spacing: -.065em; }
.test-poster h1 em { color: var(--lime); font-style: normal; }
.test-brief-copy { color: #e7ece3; margin: 26px 0 29px; font-size: clamp(15px, 1.35vw, 19px); line-height: 1.65; max-width: 33em; }
.test-poster-art { position: relative; min-height: 380px; }
.test-poster-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.test-poster-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#131b14b5,transparent 45%); }
.test-sticker, .test-poster-caption { position: absolute; z-index: 1; font-weight: 700; }
.test-sticker { top: 22px; right: 22px; display: flex; gap: 9px; align-items: center; font-size: 9px; letter-spacing: .12em; background: #182119d9; padding: 7px 11px; border-radius: 30px; }
.test-poster-caption { bottom: 28px; left: 28px; display: grid; gap: 4px; }
.test-poster-caption span { font-size: 10px; letter-spacing: .2em; }
.test-poster-caption strong { font: 800 clamp(32px, 3.8vw, 56px)/1 var(--heading); letter-spacing: -.06em; }
.test-footnote { margin-top: 17px; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.test-footnote svg, .test-reminder svg { width: 16px; height: 16px; }
.test-reminder:not([hidden]) { display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); padding: 8px 0; }
.test-reminder > span { display: flex; gap: 8px; align-items: center; font-size: 12px; font-weight: 700; }
.test-reminder .live-dot { background: #638023; }
.test-reminder .text-button { margin-left: auto; font-size: 12px; }
.test-result-actions { display: flex; flex-direction: column; gap: 0; }
.gallery-total { margin: -8px 0 16px; font-size: 12px; color: var(--muted); }
@media (max-width: 650px) {
  .test-shell { padding-top: 20px; }
  .test-poster { grid-template-columns: 1fr; }
  .test-poster-copy { padding: 29px 26px; }
  .test-poster-copy .eyebrow { margin-bottom: 20px; }
  .test-poster-art { min-height: 195px; }
  .test-brief-copy { margin: 17px 0 22px; }
  .test-poster-caption { left: 20px; bottom: 18px; }
  .test-footnote { align-items: flex-start; }
  .under-search { flex-wrap: wrap; gap: 8px 15px; }
}

/* Local demo price settings and buyer's size selection. */
.demo-profile {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  margin: 20px 0 26px;
  background: var(--soft);
  border-radius: 12px;
  flex-wrap: wrap;
}
.demo-profile label { font-size: 13px; font-weight: 700; }
.demo-profile span { font-size: 12px; color: var(--muted); }
.demo-profile select, .unit-input { border: 1px solid #ccd3c5; background: #fff; border-radius: 7px; }
.demo-profile select { padding: 8px 10px; font-size: 14px; }
.rate-editor, .size-choices { border: 0; padding: 0; margin: 0; min-width: 0; }
.rate-editor legend { padding: 0; font: 750 24px/1.25 var(--heading); letter-spacing: -.04em; }
.rate-editor > p { margin: 12px 0 20px; font-size: 13px; color: var(--muted); line-height: 1.65; }
.price-tier, .tier-head { display: grid; grid-template-columns: 1.15fr 1fr 32px; gap: 8px; align-items: center; margin: 7px 0; }
.tier-head { font-size: 11px; color: var(--muted); font-weight: 700; }
.unit-input { display: flex; align-items: center; gap: 6px; padding: 9px; min-width: 0; font-size: 14px; }
.unit-input span { color: var(--muted); font-size: 11px; }
.unit-input input { border: 0; width: 100%; min-width: 0; padding: 1px 0; background: transparent; color: var(--ink); }
.remove-tier { width: 32px; height: 36px; background: transparent; font-size: 20px; border-radius: 5px; }
.remove-tier:hover { background: var(--soft); }
.original-size { font-size: 14px; }
.add-tier { font-size: 12px; padding: 6px 0; margin: 5px 0 15px; }
.size-choices legend { font: 750 18px/1.3 var(--heading); margin: 4px 0 9px; padding: 0; }
.size-choice { border: 1px solid var(--line); border-radius: 9px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin: 6px 0; cursor: pointer; }
.size-choice:has(input:checked) { background: #f2f8e2; border-color: #7b942d; }
.size-choice:focus-within { outline: 2px solid #667f0f; outline-offset: 1px; }
.size-choice input { accent-color: #526c18; }
.size-choice strong, .size-choice b { font-size: 14px; }
.size-choice small { display: block; color: var(--muted); font-size: 12px; }
.size-choice b { margin-left: auto; white-space: nowrap; }
.modal-body > .size-note { font-size: 11px; line-height: 1.5; margin: 7px 0; }
.modal-body .test-select { margin: 0 0 13px; }
.checkout-line strong { text-align: right; }
.photo-price { white-space: nowrap; }
@media(max-width:600px) {
  .demo-profile { padding: 12px; gap: 8px; }
  .price-tier, .tier-head { grid-template-columns: 1fr 1fr 26px; gap: 5px; }
  .remove-tier { width: 26px; }
  .unit-input input { font-size: 16px; }
  .photo-price { font-size: 10px; }
}

/* Places and moments refer to one event, across the participating photographers. */
.spot-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px 28px; padding:20px 22px; margin:18px 0; border:1px solid var(--line); border-radius:12px; background:var(--soft); }
.spot-panel h2 { font:750 20px/1.3 var(--heading); letter-spacing:-.04em; margin:0 0 11px; }
.spot-choices { display:flex; flex-wrap:wrap; gap:7px; }
.spot-choices .chip { min-height:38px; padding:8px 14px; background:var(--paper); white-space:normal; overflow-wrap:anywhere; }
.spot-choices .chip.active { background:var(--dark); color:white; border-color:var(--dark); }
.moment-control { display:grid; gap:5px; font-size:12px; font-weight:700; }
.moment-control select { background:#fff; border:1px solid #cbd2c5; border-radius:7px; min-height:39px; max-width:100%; padding:6px 12px; color:var(--ink); }
.photo-info .photo-context, .modal-body > .photo-context { font-size:12px; color:#486021; overflow-wrap:anywhere; }
.photo-info .photo-context { margin:4px 0 0; }
.upload-group { margin-top:15px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:10px 0; }
.upload-group summary { cursor:pointer; font-size:13px; font-weight:700; }
.caption-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.caption-fields .form-field { min-width:0; }
.caption-fields input { width:100%; min-width:0; }
.caption-editor .form-field { margin:12px 0; }
.caption-preview { max-height:140px; border-radius:9px; background:var(--soft); }
.caption-preview img { width:100%; height:140px; border-radius:inherit; object-fit:contain; }
.caption-editor .field-hint,.workspace-panel .field-hint { font-size:12px; line-height:1.5; color:var(--muted); margin:9px 0; }
.uploaded-card .upload-edit { position:static; display:block; padding:5px; width:auto; height:auto; font-size:10px; text-decoration:underline; background:transparent; }
.edit-captions { margin:3px 6px 8px 0; }
.gallery-zero .text-button { margin:0 7px; }
@media(max-width:600px) {
  .spot-panel { padding:17px 14px; gap:15px; }
  .spot-choices .chip { padding:7px 11px; }
  .moment-control { width:100%; }
  .caption-fields { grid-template-columns:1fr; gap:0; }
  .photo-info .photo-context { font-size:10px; }
}
.gallery-tools .album-search input { min-height:42px; padding:10px 12px; font:inherit; font-size:13px; color:var(--ink); background:#fff; border:1px solid #dbe0d2; border-radius:7px; }
@media(max-width:600px) {
  .gallery-tools .album-search { grid-column:1/-1; }
  .gallery-tools .album-search input { width:100%; margin-top:7px; font-size:16px; }
}

/* Keep event cards readable across the two discovery rows. */
@media (min-width:1100px) {
  .event-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
  .event-image { height:auto; aspect-ratio:1.9; }
}
@media (min-width:601px) and (max-width:1099px) {
  .event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.real-tag { color:#202818; background:var(--lime); border-color:var(--lime); font-weight:750; }
.photographer-count>.icon { width:17px; height:17px; }
.race-archive .page-head { margin-bottom:16px; }
.archive-intro { max-width:760px; color:var(--muted); font-size:16px; line-height:1.7; }
.archive-sources { display:flex; flex-wrap:wrap; gap:12px 25px; margin:16px 0 28px; }
.archive-filters { padding-top:20px; border-top:1px solid var(--line); }
.archive-detail .photo-preview>img { display:block; width:100%; max-height:62vh; object-fit:contain; background:#192017; }
.archive-detail .modal-body { padding-top:24px; }

.account-trigger { background:none; border:0; padding:8px 0; color:var(--ink); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.role-routes { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:21px 32px 0; }
.role-option { display:flex; align-items:center; gap:14px; border:1px solid var(--line); background:#fbfcf7; color:var(--ink); border-radius:12px; padding:16px 18px; text-decoration:none; min-width:0; }
.role-option:hover,.role-option:focus-visible { border-color:#8a9f61; background:#f5f8ec; }
.role-icon { width:37px; height:37px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; background:#e7efcf; }
.role-icon .icon { width:19px; height:19px; }
.role-option>span:nth-child(2) { flex:1; min-width:0; }
.role-option>span:nth-child(2)>* { display:block; }
.role-option strong { font-family:var(--heading); font-size:16px; line-height:1.4; }
.role-routes small { color:#536441; font-size:9px; font-weight:750; letter-spacing:.09em; }
.role-routes strong+span,.role-picker small { color:#505b48; font-size:12px; line-height:1.5; }
.role-option> .icon,.role-option>[data-icon] .icon { width:17px; height:17px; }
.role-picker .role-option { margin:12px 0; }
.guest-link { margin-top:10px; }
.checkout-paths { display:grid; gap:10px; margin-bottom:18px; }
.customer-actions { display:flex; flex-wrap:wrap; gap:12px; margin:12px 0 28px; }
.customer-home .workspace-panel { max-width:720px; }
.receipt-list { list-style:none; padding:0; }
.receipt-list li { display:flex; justify-content:space-between; gap:16px; align-items:baseline; padding:12px 0; }
.receipt-list small { display:block; margin-top:4px; }
@media (max-width:850px) { .role-routes { margin:18px 0 0; } }
@media (max-width:600px) {
  .role-routes { grid-template-columns:1fr; gap:8px; }
  .role-routes .role-option { padding:11px 14px; }
  .nav-actions { gap:10px; }
}

/* Public self-guided photographer demo. */
.ride-shell { padding-bottom:clamp(44px,7vw,90px); }
.ride-intro { max-width:760px; margin:12px 0 28px; }
.ride-intro h1 { font-size:clamp(38px,5.1vw,74px); line-height:1.04; letter-spacing:-.06em; }
.ride-intro p { max-width:63ch; margin-top:15px; font-size:clamp(15px,1.45vw,19px); line-height:1.55; color:var(--muted); }
.ride-workbench { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(0,1fr); border-radius:18px; overflow:hidden; border:1px solid var(--line); background:#fff; }
.ride-image { min-height:358px; position:relative; isolation:isolate; margin:0; background:#26352b; }
.ride-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 42%; }
.ride-image::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(19,28,20,.9),transparent 61%); }
.ride-image figcaption { position:absolute; z-index:1; bottom:clamp(19px,3vw,38px); left:clamp(19px,3vw,38px); right:16px; color:white; display:grid; gap:6px; }
.ride-image figcaption span { color:var(--lime); font-size:10px; font-weight:750; letter-spacing:.11em; }
.ride-image figcaption strong { font:800 clamp(27px,2.6vw,42px)/1.12 var(--heading); letter-spacing:-.045em; }
.ride-image figcaption small { color:#dce2d6; font-size:11px; }
.ride-form { padding:clamp(22px,3vw,44px); align-self:center; }
.ride-form h2 { font-size:clamp(22px,2.05vw,31px); line-height:1.2; letter-spacing:-.04em; }
.ride-form>p { color:var(--muted); font-size:14px; line-height:1.6; margin:11px 0 18px; }
.ride-form fieldset { border:0; padding:0; margin:0 0 20px; min-width:0; }
.ride-format { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--line); }
.ride-format:last-child { border-bottom:1px solid var(--line); }
.ride-format label { display:flex; align-items:center; gap:11px; }
.ride-format input[type="checkbox"] { width:17px; height:17px; accent-color:#486525; }
.ride-format label strong,.ride-format label small { display:block; }
.ride-format label strong { font-size:14px; }
.ride-format label small,.ride-form>small { font-size:12px; color:var(--muted); }
.ride-format .ride-price { gap:3px; border:1px solid #cdd3c4; border-radius:7px; padding:6px 8px; }
.ride-price input { border:0; width:5ch; min-width:52px; background:transparent; font:inherit; text-align:right; }
.ride-price:has(input:disabled) { opacity:.45; }
.ride-form>small { display:block; margin-top:10px; line-height:1.5; }
.ride-form .ride-status { color:#773420; font-size:13px; }
.ride-form .ride-status:empty,.dashboard-status:empty { display:none; }
.ride-links,.ride-guide { display:flex; align-items:center; flex-wrap:wrap; gap:14px 25px; }
.ride-links { margin-top:21px; }
.ride-links a { font-size:13px; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.ride-links svg { width:15px; height:15px; vertical-align:middle; }
.ride-guide { justify-content:space-between; background:#eef4dd; padding:17px 20px; border-left:3px solid #83a33e; border-radius:6px; margin:18px 0; font-size:14px; }
.ride-guide p { margin:4px 0 0; color:var(--muted); }
.ride-guide .text-button { flex-shrink:0; }
@media (max-width:700px) {
  .ride-workbench { grid-template-columns:1fr; }
  .ride-image { min-height:225px; }
  .ride-links,.ride-guide { align-items:flex-start; }
  .ride-guide { flex-direction:column; }
}
.ride-form .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }


.footer-bottom a { font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.footer-bottom div { flex-wrap:wrap; }

.per-photo-choice { display:flex; gap:10px; align-items:center; margin:20px 0 6px; font-weight:650; }
.per-photo-choice input { width:18px; height:18px; accent-color:#486525; }
.per-photo-rates { border:0; padding:12px 0 0; margin:0; min-width:0; }
.per-photo-rates .rate-editor legend { font-size:19px; }

.search-field .input-wrap > [data-icon] { flex:0 0 auto; }
@media (max-width:600px) {
  .search-field .input-wrap input { min-height:32px; }
  .gallery-tools .chip { grid-column:auto; align-self:end; }
}
@media (max-width:375px) {
  .search-box { margin-left:4px; margin-right:4px; padding-left:10px; padding-right:10px; }
  .search-field .input-wrap { gap:4px; }
  .search-field .input-wrap > [data-icon] { display:none; }
}

.event-image, .photo-hit, .photo-detail-visual, .photo-preview, .caption-preview, .ride-image {
  container-type:inline-size;
}
.photo-preview, .caption-preview { position:relative; display:block; overflow:hidden; }
.watermark {
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%, -50%) rotate(-7deg);
  padding:.1em .28em .16em;
  border:1px solid rgba(255,255,255,.4);
  border-radius:.2em;
  color:rgba(255,255,255,.93);
  background:rgba(105,112,108,.32);
  -webkit-backdrop-filter:blur(3px) saturate(.75);
  backdrop-filter:blur(3px) saturate(.75);
  font:750 clamp(15px,11.2cqi,68px)/1 var(--heading);
  letter-spacing:-.05em;
  text-shadow:0 1px 4px rgba(20,27,24,.48);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
.event-image .watermark { font-size:clamp(17px,8.7cqi,46px); }
.caption-preview .watermark, .uploaded-card .watermark { font-size:clamp(12px,9cqi,29px); }
.uploaded-card > button { z-index:2; }
