/* CataPhoto: dark forest, pastel and mist green. Logo orange is reserved for page-edge trim. */
:root{--paper:#f1f6ed;--surface:#f1f6ed;--ink:#263d30;--muted:#667367;--line:#dde3d9;--accent:#334f3d;--accent-hover:#233b2c;--tint:#d4e0cd;--green:#334f3d;--cream:#f1f6ed;--gold:#d9a96f;--amber:#805724;--red:#334f3d;--bg:#f1f6ed;--text:#263d30;--radius:20px;--shadow:0 12px 36px #334f3d09;--interface-font:'Segoe UI Variable','Segoe UI','Microsoft JhengHei',sans-serif}
body{font-family:var(--interface-font);background:var(--paper);color:var(--ink)}
h1,h2,h3{font-weight:550;letter-spacing:-.035em;text-wrap:balance}
button,a,input,select,textarea{font-family:inherit}
button,a,input,select,textarea{accent-color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #334f3d;outline-offset:4px}
.primary,.cart-button{background:var(--accent);border-color:var(--accent);border-radius:12px}
.primary:hover,.cart-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.secondary{border-radius:12px;border-color:var(--line);background:var(--paper);color:var(--ink)}
.eyebrow{color:var(--accent);font-weight:650;letter-spacing:.17em}
.marketplace .test-ribbon{background:#d4e0cd;color:#334f3d;border-top:4px solid var(--gold);border-bottom:1px solid #becfb5;font-size:10px;letter-spacing:.015em}
.test-ribbon a{color:#334f3d}.test-dot{background:#334f3d;box-shadow:none}
.marketplace .site-header{padding:16px max(3vw,calc((100vw - 1400px)/2));gap:22px;background:var(--paper);backdrop-filter:none;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:0;flex:none;line-height:1;text-decoration:none}
.brand .brand-wordmark{display:block;width:260px;height:auto;max-width:100%;object-fit:contain}
.brand small{white-space:nowrap}
.marketplace .site-header nav{gap:5px}
.marketplace .site-header .nav-link{border:0;border-radius:11px;padding:11px 12px;font-size:12px;background:transparent;color:var(--muted);font-weight:550}
.marketplace .site-header .nav-link:hover,.marketplace .site-header .nav-link.active{background:var(--tint);color:var(--accent)}
.marketplace .site-header .studio-download-nav{background:var(--accent);border:1px solid var(--accent);color:white;box-shadow:none}
.marketplace .site-header .studio-download-nav:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:white}
.marketplace .site-header .header-actions{gap:8px}
.marketplace .cart-button{border-radius:11px;background:var(--accent);color:#fff}
.marketplace .event-workspace{max-width:1440px;padding:34px 4vw 60px}
.event-workspace-heading{padding:32px 34px;background:#d4e0cd;border:1px solid #becfb5;border-radius:26px 26px 26px 6px;position:relative;isolation:isolate;margin-bottom:24px;gap:30px}
.event-workspace-heading:before{content:'';width:58px;height:7px;background:var(--accent);border-radius:0 0 9px 9px;position:absolute;left:34px;top:0}
.event-workspace-heading h1{font-size:clamp(29px,3.1vw,45px);line-height:1.14;font-weight:550;max-width:650px;margin:13px 0}
.event-workspace-heading .eyebrow{font-size:10px}.event-workspace-heading p{font-size:14px;line-height:1.7;max-width:560px;color:#455d47}
.studio-download-card{background:var(--accent);color:var(--paper);border:1px solid var(--accent);border-radius:18px 18px 5px 18px;box-shadow:0 12px 20px #334f3d12;max-width:360px;padding:23px 21px;gap:14px}
.studio-download-card:hover{background:var(--accent-hover);color:var(--paper);box-shadow:0 12px 28px #334f3d20}
.studio-download-copy small{color:#d4e0cd;letter-spacing:.11em;font-size:9px}.studio-download-copy strong{font-size:17px;line-height:1.35;font-weight:600}.studio-download-copy>span{color:#f1f6ed;font-size:11px;line-height:1.5}
.studio-download-art{color:#d4e0cd}.studio-download-art>span{background:#d4e0cd;color:var(--accent);border-color:var(--accent)}
.studio-download-arrow{background:#d4e0cd;color:#334f3d;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;flex:none}
.event-primary-search{border:1px solid #cdd9c9;border-radius:15px;box-shadow:0 4px 18px #334f3d05;min-height:58px;padding-inline:20px;margin-bottom:28px}
.event-primary-search input{font-size:14px}.event-primary-search .ui-icon{color:var(--accent)}
.event-explorer{grid-template-columns:205px minmax(0,1fr);gap:30px}
.event-filter-panel{top:110px;background:#d4e0cd;border:1px solid var(--line);border-radius:18px;padding:20px 17px}
.event-filter-panel .filter-panel-heading h2{font-size:14px;color:var(--ink)}
.event-filter-panel .filter-field>span{font-size:11px;color:#455d47}
.event-filter-panel select,.event-filter-panel input{border-radius:10px;background:var(--paper);font-size:12px;min-height:44px}
.browse-guidance{border:0;border-top:1px solid var(--line);background:transparent;padding:22px 0 0;margin-top:24px}.browse-guidance>span{background:#d4e0cd;color:#334f3d;border-radius:12px}
.event-results-heading{margin-bottom:19px}.event-results-heading h2{font-size:22px;font-weight:550}
.result-count{color:#50664f;background:#d4e0cd;border:1px solid #becfb5;border-radius:20px;padding:7px 11px;font-size:11px;white-space:nowrap}
.event-preview-grid{gap:24px}.event-preview{border-radius:18px;border-color:var(--line);box-shadow:0 3px 15px #334f3d04;transition:transform .18s,box-shadow .18s}
.event-preview:hover{transform:translateY(-3px);box-shadow:0 14px 30px #334f3d12}
.event-preview>button{height:100%}.event-cover{height:220px;background:#e5ecdf}
.event-sport{background:#d4e0cdf2;color:#334f3d;border-radius:8px}.event-frame-count{border-radius:8px}
.event-caption{padding:20px}.event-caption h2{font-size:21px;line-height:1.35;color:var(--ink)}
.event-day{color:#687b64}.event-caption>p{color:var(--muted);line-height:1.5}
.event-card-footer{padding-top:16px;border-color:#e7eadf}.event-card-footer>strong{color:var(--accent);font-weight:650;background:#d4e0cd;border-radius:8px;padding:8px 10px}.event-card-footer>span{color:var(--muted)}
.discovery-how{background:#d4e0cd;border:0;border-radius:16px;margin-top:32px;padding:20px 24px;color:#334f3d}.discovery-how .ui-icon{color:var(--accent)}
.gallery-card,.photo-card,.order-card,.empty-state{border-radius:18px;border-color:var(--line)}
.gallery-heading,.page-heading{background:#d4e0cd;border-bottom:1px solid var(--line)}
.gallery-assurance{background:#d4e0cd;color:#334f3d;border-radius:12px}
.photo-toolbar{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px;gap:12px}
.customer-photo-grid{gap:20px}.photo-card .photo-image{background:#e9eee4}
.save-button.saved,.favorite-button.active{color:var(--accent);background:#d4e0cd}
.empty-art{background:#d4e0cd;color:var(--accent);border-radius:24px 24px 7px 24px}
.info-banner{background:#d4e0cd;border-color:#d7e1d0;border-radius:14px;color:var(--ink)}
.marketplace .site-footer{background:var(--paper);border-top:3px solid var(--gold);padding-block:45px;gap:36px;color:var(--ink)}
.site-footer .brand-wordmark{width:235px}.site-footer p,.site-footer small{color:var(--muted);line-height:1.8}.site-footer strong{color:var(--accent)}
.site-footer a:not(.brand):hover,.site-footer button:hover{color:var(--accent);text-decoration:underline}
/* Studio: the album itself is the hero, with clear platform choices immediately below. */
.download-intro{gap:70px;padding-bottom:48px}.download-intro h1{color:var(--accent);font-weight:550;font-size:clamp(46px,6vw,76px);line-height:1.06;letter-spacing:-.045em}
.brand-album-feature{position:relative;border:1px solid #becfb5;border-radius:28px 28px 7px 28px;background:#d4e0cd;padding:32px 55px 24px;text-align:center;transform:rotate(2deg)}
.brand-album-feature img{display:block;width:100%;height:auto;max-width:330px;margin:auto;transform:rotate(-2deg)}
.brand-album-feature p{font-size:12px;color:#50634d;line-height:1.6;transform:rotate(-2deg);margin:18px 0 0}
.album-corner{position:absolute;width:38px;height:38px;border-color:var(--accent);border-style:solid}.corner-one{top:19px;left:19px;border-width:5px 0 0 5px;border-radius:5px 0 0}.corner-two{bottom:19px;right:19px;border-width:0 5px 5px 0;border-radius:0 0 5px}
.download-promises>span .ui-icon{color:var(--accent)}
.platform-card{border-radius:22px;background:var(--paper);border-color:var(--line);box-shadow:var(--shadow);padding:30px}.platform-card.mac-card{background:var(--paper);border-color:var(--line)}
.platform-badge{background:#d4e0cd;color:var(--accent);border:1px solid #d9e3d2;border-radius:16px}.download-button{border-radius:12px;min-height:48px}
.test-build-badge{background:#d4e0cd;color:#334f3d;border-color:#becfb5}.install-note,.chip-help{background:#d4e0cd;border-color:#e3e4d8;border-radius:12px}
.setup-section{border-color:var(--line);background:#d4e0cd;border-radius:24px;padding:35px;gap:45px}.setup-steps>li>span{background:var(--paper);color:var(--accent);border:1px solid #cfdcc9;border-radius:12px}
/* Accounts and the operator workspace share the same identity without changing sign-in behaviour. */
.account-app>header{height:90px;padding:18px 4vw}.account-app .brand-wordmark{width:265px}.account-app .brand small{font-size:9px;color:var(--muted);border-left:1px solid var(--line);padding-left:15px;margin-left:15px}
.account-app .login-card{border-radius:24px 24px 7px 24px;box-shadow:0 15px 45px #334f3d0a;border-top:5px solid var(--accent);padding:38px 42px}
.account-app .login-card h1{color:var(--accent);font-weight:550}.account-app label>input:not([type=checkbox]),.account-app label>select,.account-app label>textarea{border-radius:10px;background:var(--paper);min-height:45px}
.account-app button.primary{background:var(--accent);border-color:var(--accent);border-radius:12px}.account-app button.primary:hover{background:var(--accent-hover)}
.account-app .layout>aside{background:var(--accent);padding-top:28px}.account-app .layout>aside small{color:#bfceb8}.account-app .layout>aside button{color:#e0e8db;border-radius:12px}.account-app .layout>aside button .ui-icon{color:#c4d4bb}.account-app .layout>aside button.active{background:#ffffff17;border-left:3px solid #d4e0cd}
.account-app .metric,.account-app .card{border-radius:18px;box-shadow:var(--shadow)}.account-app .metric strong{color:var(--accent)}.account-app th{background:#d4e0cd;color:#526a4d}
@media(min-width:1500px){.event-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1200px){.brand .brand-wordmark{width:220px}.marketplace .site-header{gap:14px}.marketplace .site-header .nav-link{padding:10px 8px;font-size:11px}.event-workspace-heading{padding:28px;gap:24px}.studio-download-card{max-width:320px;padding:20px 16px}.studio-download-copy strong{font-size:15px}.event-cover{height:190px}}
@media(max-width:960px){.marketplace .site-header{flex-wrap:wrap;padding:15px 4vw 8px}.marketplace .site-header>.brand{margin-right:auto}.marketplace .site-header nav{order:3;flex-basis:100%;display:flex!important;justify-content:center;padding-top:10px;border-top:1px solid var(--line)}.event-workspace-heading{align-items:center}.event-explorer{grid-template-columns:170px minmax(0,1fr);gap:20px}.event-filter-panel{top:150px;padding:16px 12px}.event-cover{height:170px}.event-caption{padding:16px}.event-caption h2{font-size:18px}.brand-album-feature{padding:30px}.download-intro{gap:35px}.setup-section{padding:27px;gap:30px}}
@media(max-width:700px){.marketplace .site-header{padding:12px 18px 8px;gap:12px}.brand .brand-wordmark{width:205px}.marketplace .site-header .header-actions{gap:3px}.marketplace .site-header .cart-button{padding:9px}.marketplace .site-header .language{font-size:10px;min-width:45px}.marketplace .site-header nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:8px}.marketplace .site-header .nav-link{padding:9px 5px;font-size:10px;min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.marketplace .site-header .studio-download-nav{grid-column:1/-1;background:var(--accent);border-color:var(--accent);color:white;min-height:42px;font-size:12px}.marketplace .event-workspace{padding:20px 18px 40px}.event-workspace-heading{padding:26px 22px;gap:23px;flex-direction:column;align-items:stretch;border-radius:22px 22px 22px 5px}.event-workspace-heading:before{left:22px}.event-workspace-heading h1{font-size:32px;max-width:none;line-height:1.16}.event-workspace-heading p{font-size:13px}.event-workspace-heading .eyebrow{font-size:9px}.studio-download-card{width:100%;max-width:none;padding:18px;gap:14px}.studio-download-copy strong{font-size:16px}.event-primary-search{min-height:54px;padding-inline:15px}.event-primary-search input{font-size:12px}.event-explorer{display:flex;flex-direction:column;gap:20px}.event-filter-panel{width:100%;position:static;padding:12px 15px;border-radius:14px}.event-filter-panel .finder-controls{gap:12px}.event-preview-grid{grid-template-columns:1fr;gap:22px}.event-cover{height:220px}.event-caption{padding:20px}.event-caption h2{font-size:22px}.event-results-heading h2{font-size:20px}.discovery-how{padding:20px;gap:14px}.marketplace .site-footer{padding:32px 22px;gap:28px}.site-footer .brand-wordmark{width:240px}.studio-download-page main{padding-top:28px}.download-intro{gap:30px;padding-bottom:36px}.brand-album-feature{transform:none;padding:28px 50px 22px}.brand-album-feature img,.brand-album-feature p{transform:none}.brand-album-feature img{max-width:230px}.download-intro h1{font-size:49px}.platform-card{padding:24px}.setup-section{padding:24px;gap:25px}.account-app>header{min-height:80px;height:auto;padding:17px 20px;gap:12px}.account-app .brand-wordmark{width:220px}.account-app .brand small{display:none}.account-app .login-card{padding:28px;margin:28px 18px}.account-app .login-card h1{font-size:30px}}
@media(max-width:390px){.marketplace .site-header .brand-wordmark{width:180px}.marketplace .site-header .language{min-width:38px}.marketplace .site-header .header-actions{gap:0}.event-workspace-heading{padding:25px 18px}.studio-download-card{padding:16px 13px;gap:10px}.studio-download-copy strong{font-size:14px}.event-workspace-heading h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.event-preview{transition:none}.event-preview:hover{transform:none}}

.marketplace .test-ribbon strong{color:#334f3d}.download-jump{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin:8px 0 0;padding:14px 20px}.download-jump .ui-icon{width:19px;height:19px}.download-section-heading h2{scroll-margin-top:180px}.account-app .account-wrap>.card{padding:25px;margin-block:24px;line-height:1.8}

.gallery-heading p,.page-heading p{color:#455d47}

/* Consistent green surfaces, including components from the shared foundations. */
.brand-wordmark{mix-blend-mode:multiply}
.event-preview,.gallery-card,.photo-card,.order-card,.empty-state,.event-primary-search,.account-app .login-card,.account-app .metric,.account-app .card,.account-app .table-wrap,.account-app dialog{background:var(--paper)}
.event-frame-count{background:#d4e0cd;color:var(--accent)}
.event-caption>p,.event-day,.event-card-footer>span{color:#455d47}
.event-card-footer>strong{background:var(--accent);color:var(--paper)}
.account-app>header{background:var(--paper);border-top:4px solid var(--gold)}
.account-app .mode,.account-app .message.internal{background:#d4e0cd;border-color:#becfb5;color:var(--accent)}
.account-app .layout>aside button.active .ui-icon{color:#d4e0cd}
.account-app .badge.pending,.account-app .badge.open,.account-app .badge.waiting{background:#d4e0cd;color:#334f3d;border-color:#becfb5}
.install-note,.chip-help{border-color:#becfb5}

.studio-download-card:focus-visible,.studio-download-nav:focus-visible{outline-color:var(--accent)}

.account-app button:not(.primary){background:var(--paper)}
