:root{--navy:#0f2c4c;--navy-deep:#091e35;--navy-mid:#234763;--ink:#213247;--muted:#6e7b89;--gold:#d9a441;--gold-pale:#f3e4bc;--orange:#c74e2b;--cream:#fafaf8;--paper:#f4f3ef;--white:#fff;--line:#e6e7e4;--shadow:0 18px 44px rgba(16,37,59,.07);--sans:'Avenir Next','Segoe UI',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(217,164,65,.7);outline-offset:3px}a{color:inherit}img{max-width:100%;display:block}svg{flex-shrink:0}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-sm{width:16px;height:16px}.icon-xs{width:14px;height:14px}.icon-lg{width:24px;height:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-shell{min-height:100vh}.topline{background:#09223d;color:#e9eef3;min-height:33px;display:flex;align-items:center;padding:0 max(26px,calc((100vw - 1320px)/2));justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.155em;font-weight:800;text-transform:uppercase}.topline .topline-second{display:flex;align-items:center;gap:14px;color:#b1c1cc}.gold-square{width:6px;height:6px;background:var(--gold);display:inline-block;transform:rotate(45deg);margin-right:8px}.topbar{height:91px;padding:0 max(26px,calc((100vw - 1320px)/2));background:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ededeb;position:relative;z-index:4}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:260px}.brand-seal{width:58px;height:58px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);position:relative;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px var(--gold);overflow:hidden}.brand-seal img{width:50px;height:50px;object-fit:contain;position:relative;z-index:2;background:#fff}.brand-seal .seal-fallback{font-family:var(--serif);font-weight:800;font-size:23px;position:absolute}.brand-copy strong{display:block;font-size:20px;letter-spacing:.035em;color:var(--navy);line-height:1.1;font-weight:850}.brand-copy small{display:block;color:#7a8590;font-size:9.5px;letter-spacing:.13em;font-weight:800;margin-top:6px}.topnav{display:flex;align-items:center;gap:32px;margin-left:auto}.navlink{background:transparent;border:0;color:#506274;display:flex;align-items:center;gap:7px;font-weight:800;font-size:12.5px;padding:11px 0}.navlink:hover,.navlink.active{color:var(--navy)}.navlink.active:after{content:'';height:2px;width:20px;display:block;background:var(--gold);position:absolute;bottom:0}.right-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:7px;padding:13px 19px;font-weight:850;font-size:12.5px;letter-spacing:.015em;transition:transform .16s,background .16s,color .16s,box-shadow .16s;text-decoration:none;min-height:44px;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--gold);color:#10263b}.btn-primary:hover{background:#e7b95b;box-shadow:0 8px 23px rgba(217,164,65,.25)}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#1b436a}.btn-outline{border-color:#d9e1e6;color:var(--navy);background:#fff}.btn-outline:hover{border-color:var(--navy)}.btn-soft{background:#eaf0f4;color:var(--navy)}.btn-ghost{background:transparent;color:var(--navy);border-color:#d9e1e6}.btn-danger{background:#fff;color:#ab3625;border-color:#eac4bb}.btn-block{width:100%}.btn-sm{padding:9px 12px;min-height:36px;font-size:11.5px}.btn svg{width:17px;height:17px}.icon-btn{border:0;background:transparent;color:var(--navy);width:36px;height:36px;display:grid;place-items:center;border-radius:8px}.icon-btn:hover{background:#edf1f4}.mobile-menu{display:none}
.preview-banner{background:#fff5dc;color:#6d5017;padding:11px max(26px,calc((100vw - 1320px)/2));border-bottom:1px solid #e6ca83;display:flex;gap:10px;align-items:center;font-size:12px;line-height:1.45}.preview-banner strong{font-weight:900}
.hero{position:relative;overflow:hidden;min-height:468px;background:var(--navy);color:#fff}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(9,30,53,.2),rgba(9,30,53,.1)),repeating-linear-gradient(115deg,transparent 0,transparent 115px,rgba(255,255,255,.013) 117px,transparent 119px);pointer-events:none}.hero:after{content:'';position:absolute;left:-85px;bottom:-185px;border:1px solid rgba(216,164,66,.15);height:520px;width:520px;border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.011),0 0 0 140px rgba(255,255,255,.008)}.hero-inner{width:min(1320px,calc(100% - 52px));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:55px;position:relative;z-index:1;min-height:468px;padding:42px 0 44px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;gap:11px;color:var(--gold)}.eyebrow:before{content:'';height:1px;width:30px;background:currentColor}.hero h1{font-family:var(--serif);font-size:clamp(47px,5.1vw,78px);line-height:1.035;font-weight:400;letter-spacing:-.045em;margin:22px 0 23px;max-width:740px}.hero h1 em{font-style:italic;color:#e5c57e}.hero p{color:#c8d5df;font-size:15.5px;line-height:1.85;max-width:520px;margin:0 0 30px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.hero .btn-ghost{color:#eef3f6;border-color:rgba(255,255,255,.24)}.hero .btn-ghost:hover{background:rgba(255,255,255,.08)}.hero-meta{display:flex;gap:26px;margin-top:32px;color:#b9cad5;font-size:11px}.hero-meta span{display:flex;align-items:center;gap:8px}.hero-meta .icon{color:#dfbd75;width:15px;height:15px}.hero-visual{min-width:0;position:relative;height:368px;display:grid;place-items:center}.art-frame{height:100%;width:100%;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:2px;background:radial-gradient(circle at 72% 25%,rgba(217,164,65,.13),transparent 30%),linear-gradient(145deg,#244965,#0c2541 65%);box-shadow:16px 20px 0 rgba(0,0,0,.09)}.art-frame:before{content:'';position:absolute;inset:25px;border:1px solid rgba(255,255,255,.09)}.art-frame:after{content:'';position:absolute;width:400px;height:400px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 33px rgba(255,255,255,.017),0 0 0 64px rgba(255,255,255,.017),0 0 0 95px rgba(255,255,255,.015)}.art-clay{width:116px;height:116px;border-radius:50%;border:18px solid rgba(217,164,65,.95);box-shadow:0 12px 60px rgba(0,0,0,.24),inset 0 0 0 1px rgba(0,0,0,.26);background:radial-gradient(circle,#d6a04b 8%,#aa6329 42%,#8d471f 59%,#d9a441 61%);transform:rotate(-23deg);position:absolute;top:75px;right:140px;opacity:.85}.art-route{position:absolute;width:290px;height:210px;left:12%;bottom:24%;border:1px dashed rgba(245,221,165,.34);border-radius:50%;transform:rotate(-20deg)}.art-center{position:absolute;z-index:1;text-align:left;bottom:33px;left:38px;right:38px;display:flex;align-items:end;justify-content:space-between;gap:15px}.art-center .art-label{color:#e8c98a;font-weight:850;font-size:10px;letter-spacing:.23em}.art-center strong{display:block;font-size:26px;font-family:var(--serif);line-height:1.18;letter-spacing:-.025em;font-weight:400;margin-top:10px}.art-center .art-number{font-family:var(--serif);font-size:79px;line-height:1;color:rgba(255,255,255,.16)}.hero-photo{width:100%;height:100%;object-fit:cover}.hero-photo-gradient{position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(5,20,36,.76))}.hero-photo-info{z-index:2;position:absolute;bottom:28px;left:28px;right:28px}.hero-photo-info strong{font-family:var(--serif);font-size:26px;font-weight:400;display:block;margin-top:8px}.hero-photo-info small{font-size:12px;color:#d2d8dd}.side-tag{position:absolute;right:-12px;top:22px;transform:rotate(90deg) translateX(100%);transform-origin:right top;color:#b8cad5;letter-spacing:.2em;font-size:10px;font-weight:900}.hero-caption{position:absolute;bottom:5px;right:12px;transform:translateY(22px);font-size:10px;color:#b1c5d2}
.content-wrap{width:min(1320px,calc(100% - 52px));margin:0 auto}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:53px 0 28px}.section-intro .overline{color:var(--orange);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:900;margin:0 0 12px}.section-intro h2{font-family:var(--serif);font-size:clamp(29px,3.15vw,46px);font-weight:400;line-height:1.1;letter-spacing:-.045em;color:var(--navy);margin:0 0 10px}.section-intro h2 em{font-weight:400;font-style:italic}.section-intro p{margin:0;color:#7a858d;font-size:13px;line-height:1.7}.section-counter{font-size:12px;color:#667789;background:#fff;padding:12px 16px;border:1px solid #eceeed;border-radius:6px;white-space:nowrap}.section-counter strong{color:var(--navy)}
.gallery-layout{display:grid;grid-template-columns:245px minmax(0,1fr) 244px;gap:25px;align-items:start;padding-bottom:88px}.sidebar{position:sticky;top:20px}.sidebar-card{background:#fff;border:1px solid #e9e9e6;border-radius:10px;padding:22px 18px;box-shadow:0 7px 22px rgba(23,43,61,.025);margin-bottom:18px}.sidebar-heading{margin:0 0 18px;font-size:10px;letter-spacing:.18em;font-weight:900;color:var(--navy);text-transform:uppercase}.filter-field{margin-bottom:17px}.filter-label{display:block;font-size:11px;font-weight:800;color:#607080;margin-bottom:8px}.select-wrap{position:relative}.filter-select{appearance:none;width:100%;border:1px solid #e3e7e7;background:#fbfbfa;height:42px;border-radius:5px;padding:0 31px 0 12px;font-size:12px;color:#42546a;overflow:hidden;text-overflow:ellipsis}.select-wrap:after{content:'';position:absolute;right:14px;top:17px;border-right:1.5px solid #617589;border-bottom:1.5px solid #617589;width:6px;height:6px;transform:rotate(45deg);pointer-events:none}.searchbox{position:relative}.searchbox .icon{position:absolute;left:12px;top:12px;color:#8998a7;width:17px;height:17px}.searchbox input{width:100%;height:43px;padding:0 11px 0 39px;border:1px solid #e3e7e7;border-radius:6px;background:#fbfbfa;color:var(--ink);font-size:12px}.reset-link{display:flex;align-items:center;gap:6px;background:transparent;border:0;color:#8e602b;padding:2px 0;font-size:11px;font-weight:850}.mini-divider{height:1px;background:#eef0f0;margin:18px 0}.how-steps{display:flex;flex-direction:column;gap:19px}.step-row{display:grid;grid-template-columns:29px 1fr;gap:10px;align-items:start}.step-num{height:27px;width:27px;border-radius:50%;border:1px solid #eadab3;background:#fff8e9;display:grid;place-items:center;font-weight:900;font-size:11px;color:#a47726}.step-row strong{display:block;font-size:12px;color:var(--navy)}.step-row p{font-size:11.5px;color:#83909d;line-height:1.6;margin:4px 0 0}.side-note{background:#eaf0f2;border:1px solid #dce7ed;padding:22px;border-radius:9px}.side-note .icon{color:#607c8c;width:23px;height:23px;margin-bottom:13px}.side-note h3{margin:0 0 8px;font-family:var(--serif);font-size:23px;font-weight:400;color:var(--navy)}.side-note p{font-size:11.5px;line-height:1.65;margin:0;color:#5c6e7d}.side-note a{font-size:11.5px;display:inline-block;margin-top:15px;color:var(--navy);font-weight:850;text-decoration:underline;text-underline-offset:3px}.feed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0 18px}.feed-tabs{display:flex;gap:8px;flex-wrap:wrap}.feed-tab{border:1px solid transparent;background:transparent;color:#6f7d89;padding:9px 13px;font-size:12px;font-weight:800;border-radius:5px}.feed-tab.active{background:#fff;border-color:#e4e8e8;color:var(--navy);box-shadow:0 2px 5px rgba(9,30,53,.025)}.sort-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#80909d}.sort-label select{border:0;background:transparent;color:#304964;cursor:pointer;font-size:12px;font-weight:850;padding:5px}.feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.post-card{background:#fff;border:1px solid #e8eae8;border-radius:11px;overflow:hidden;box-shadow:0 8px 27px rgba(25,47,67,.045);min-width:0;transition:transform .2s,box-shadow .2s}.post-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(25,47,67,.095)}.post-header{padding:17px 17px 13px;display:flex;align-items:center;gap:10px}.team-avatar{width:37px;height:37px;background:linear-gradient(145deg,#214563,var(--navy));border-radius:50%;color:#fff;font-family:var(--serif);font-size:13px;display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cad3d8}.post-identity{min-width:0;flex:1}.post-identity strong{color:var(--navy);font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-identity small{font-size:10.5px;color:#82909b;display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.verified-dot{color:#bd9147;display:inline-flex;vertical-align:middle}.post-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:#f0efeb;overflow:hidden}.post-image{display:block;width:100%;height:272px;object-fit:cover;transition:transform .35s}.post-card:hover .post-image{transform:scale(1.025)}.photo-overlay{position:absolute;right:12px;bottom:12px;color:#fff;background:rgba(7,26,47,.57);width:32px;height:32px;display:grid;place-items:center;border-radius:5px;opacity:0;transition:opacity .2s}.post-card:hover .photo-overlay{opacity:1}.post-body{padding:17px 17px 16px}.post-event{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#ae813a;font-weight:900;margin-bottom:9px;display:flex;align-items:center;gap:6px}.post-caption{font-size:12.8px;line-height:1.65;color:#455464;margin:0 0 14px;white-space:pre-wrap;overflow-wrap:anywhere}.post-footer{border-top:1px solid #edf0ef;margin-top:15px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.post-actions{display:flex;gap:5px}.post-action{background:transparent;border:0;display:inline-flex;align-items:center;gap:7px;color:#72818f;padding:7px 8px 7px 0;font-size:11.5px;font-weight:800}.post-action:hover{color:var(--orange)}.post-action.is-liked{color:var(--orange)}.post-action .icon{width:17px;height:17px}.post-date{font-size:10px;color:#98a1aa}.post-more{border:0;background:transparent;color:#91a0ad;padding:3px;display:grid;place-items:center}.post-source{font-size:10.5px;color:#9ba3ad;margin-top:8px;display:flex;align-items:center;gap:5px}
.empty-state{grid-column:1/-1;background:#fff;min-height:365px;border:1px solid #e9e9e4;border-radius:10px;text-align:center;padding:44px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-illustration{height:94px;width:120px;position:relative;margin-bottom:24px}.empty-circle{position:absolute;top:4px;left:20px;width:80px;height:80px;border:13px solid rgba(217,164,65,.62);border-radius:50%;background:var(--cream);transform:rotate(-12deg)}.empty-circle:after{content:'';position:absolute;top:17px;left:16px;height:13px;width:13px;background:var(--navy);border-radius:50%}.empty-dash{position:absolute;inset:0;border:1px dashed rgba(217,164,65,.7);border-radius:50%;transform:rotate(-35deg) scaleX(1.55)}.empty-state h3{font-family:var(--serif);font-size:30px;line-height:1.15;font-weight:400;margin:0 0 10px;color:var(--navy)}.empty-state p{font-size:12.5px;line-height:1.7;color:#7a8995;max-width:370px;margin:0 0 20px}.loading-card{background:#fff;border:1px solid #e8e9e8;border-radius:10px;overflow:hidden}.loading-line{height:16px;margin:17px;background:#edf0f1;animation:pulse 1.8s infinite}.loading-media{height:272px;background:#f0f1ef;animation:pulse 1.8s infinite}@keyframes pulse{50%{opacity:.5}}
.right-panel .sidebar-card{padding:22px}.panel-accent{border-top:3px solid var(--gold)}.community-icon{height:43px;width:43px;background:#f5ecdb;display:grid;place-items:center;border-radius:50%;color:#a87e2f;margin-bottom:17px}.community-icon .icon{width:23px;height:23px}.editorial-title{font-family:var(--serif);font-size:25px;line-height:1.15;color:var(--navy);font-weight:400;margin:0 0 11px}.panel-copy{font-size:12px;line-height:1.75;color:#7b8994;margin:0 0 21px}.panel-cta{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--navy);font-size:11.5px;font-weight:900;padding:0}.panel-stats{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:18px}.panel-stat strong{font-family:var(--serif);font-size:27px;font-weight:400;color:var(--navy)}.panel-stat span{display:block;font-size:10px;color:#8493a0;margin-top:3px}.note-card{padding:22px;background:#1c3d59;border-radius:10px;color:#fff;position:relative;overflow:hidden}.note-card:after{content:'';position:absolute;top:-70px;right:-85px;width:190px;height:190px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.021)}.note-card h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.15;margin:14px 0 10px;position:relative;z-index:1}.note-card p{font-size:11.5px;color:#c5d4df;line-height:1.72;margin:0 0 20px;position:relative;z-index:1}.note-card .btn{background:#fff;color:var(--navy);position:relative;z-index:1}.note-card .eyebrow{font-size:9px;position:relative;z-index:1}.full-width-notice{background:#fff;border:1px solid #eadcbf;border-left:3px solid var(--gold);padding:13px 15px;font-size:12px;color:#66695f;line-height:1.6;border-radius:6px;margin:0 0 18px}
.admin-shell{padding:50px 0 90px;min-height:650px}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.admin-heading h2{font-family:var(--serif);font-size:42px;font-weight:400;color:var(--navy);letter-spacing:-.035em;margin:8px 0 10px}.admin-heading p{margin:0;color:#7d8c97;font-size:13px}.admin-tabs{display:flex;gap:12px;margin:0 0 22px;flex-wrap:wrap}.admin-tab{border:1px solid #dfe4e5;background:#fff;color:#536b7c;border-radius:5px;padding:11px 16px;font-size:12px;font-weight:800}.admin-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 22px}.admin-stat{background:#fff;border:1px solid #e8e9e6;padding:20px;border-radius:8px}.admin-stat strong{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--navy)}.admin-stat small{display:block;color:#7a8996;font-size:11px;margin-top:5px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.review-card{background:#fff;border:1px solid #e7e8e7;border-radius:9px;overflow:hidden}.review-card img{width:100%;height:200px;object-fit:cover;background:#dfe8ec}.review-body{padding:16px}.review-body strong{color:var(--navy);font-size:13px;line-height:1.35;display:block}.review-body .meta{font-size:11px;color:#8896a2;margin:7px 0 10px}.review-body p{color:#495969;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.review-actions{display:flex;gap:8px;flex-wrap:wrap}.review-comment{background:#fff;border:1px solid #e6e9e9;border-radius:8px;padding:17px;margin-bottom:12px}.review-comment p{font-size:13px;line-height:1.65;margin:8px 0;color:#3f5365}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.setup-card{background:#fff;border:1px solid #e8e9e9;border-radius:9px;padding:23px}.setup-card h3{font-family:var(--serif);font-size:27px;font-weight:400;color:var(--navy);margin:0 0 8px}.setup-card p{font-size:12px;color:#7c8b96;line-height:1.65;margin:0 0 17px}
.site-footer{background:var(--navy-deep);color:#bbcad5;padding:36px max(26px,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:3px solid var(--gold)}.footer-brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:15px;font-weight:900}.footer-brand span{width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:11px}.site-footer p{font-size:11px;margin:8px 0 0;color:#9fb0c0}.footer-links{display:flex;align-items:center;gap:21px;flex-wrap:wrap}.footer-links a,.footer-links button{color:#cfdae2;text-decoration:none;border:0;background:transparent;font-size:11.5px;padding:4px 0}.footer-links a:hover,.footer-links button:hover{text-decoration:underline;text-underline-offset:4px}
.modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(8,25,40,.66);display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:12px;box-shadow:0 22px 80px rgba(0,0,0,.28);width:min(560px,100%);max-height:min(880px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden}.modal-wide{width:min(745px,100%)}.modal-post{width:min(1080px,100%)}.modal-top{padding:25px 29px 17px;display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid #e9ecec}.modal-top h2{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.12;color:var(--navy);margin:0 0 6px}.modal-top p{margin:0;color:#7b8a97;line-height:1.5;font-size:12px}.modal-scroll{overflow:auto;padding:25px 29px 30px;overscroll-behavior:contain}.close-modal{width:32px;height:32px;border:1px solid #e2e7e9;border-radius:6px;background:#fff;color:#607182;display:grid;place-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-field{margin-bottom:17px;min-width:0}.form-field label,.form-label{display:block;font-size:11px;font-weight:900;color:#435a6e;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #dbe2e5;border-radius:6px;min-height:43px;padding:12px 13px;background:#fff;color:#253b50;font-size:12.5px}.form-field textarea{resize:vertical;min-height:90px;line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:#a0abb2}.field-note{color:#8a99a2;font-size:10.5px;line-height:1.6;margin:6px 0 0}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.form-message{font-size:12px;border-radius:5px;padding:11px 12px;margin:11px 0;line-height:1.6;background:#eff5f4;color:#27685a}.form-error{background:#fff0ed;color:#a9432e}.form-warn{background:#fff6e5;color:#86621e}.form-success{background:#eaf5ee;color:#287449}.dropzone{display:grid;place-items:center;gap:7px;padding:24px 16px;border:1.5px dashed #c7d4d8;background:#f9fbfa;text-align:center;border-radius:8px;cursor:pointer;min-height:154px}.dropzone:hover{border-color:var(--gold);background:#fffcf4}.dropzone .icon{height:29px;width:29px;color:#688295}.dropzone strong{font-size:12.5px;color:var(--navy)}.dropzone span{color:#8798a4;font-size:11px}.dropzone input{display:none}.previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}.preview-thumb{border-radius:5px;overflow:hidden;aspect-ratio:1;position:relative;background:#e7eceb}.preview-thumb img{width:100%;height:100%;object-fit:cover}.preview-thumb button{position:absolute;top:5px;right:5px;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(12,29,42,.83);color:#fff}.preview-thumb .icon{width:13px;height:13px}.checkbox-wrap{display:flex;gap:11px;align-items:start;padding:14px;background:#f7f8f6;border:1px solid #e8eae8;border-radius:6px;margin:10px 0 0}.checkbox-wrap input{margin:3px 0 0;width:16px;height:16px;accent-color:var(--navy);flex-shrink:0}.checkbox-wrap label{font-size:11.5px;line-height:1.6;color:#56697a}.checkbox-wrap a{color:var(--navy);text-decoration:underline}.login-tabs{display:flex;gap:6px;background:#f3f5f4;border-radius:7px;padding:5px;margin-bottom:23px}.login-tabs button{flex:1;background:transparent;border:0;border-radius:5px;padding:11px;font-size:12px;font-weight:900;color:#80909a}.login-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 2px 7px rgba(26,52,73,.08)}.auth-rule{font-size:11px;line-height:1.6;color:#8a97a0;text-align:center;margin:18px 0 0}.post-view{display:grid;grid-template-columns:1.12fr .88fr;min-height:510px;overflow:hidden}.post-view-media{background:#09223d;min-height:480px;display:grid;place-items:center;overflow:hidden}.post-view-media img{height:100%;max-height:76vh;width:100%;object-fit:contain}.post-view-side{display:flex;flex-direction:column;min-height:0;max-height:min(80vh,780px)}.post-view-top{padding:23px;border-bottom:1px solid #e9ecec;display:flex;justify-content:space-between;gap:13px}.post-view-top strong{font-size:13px;color:var(--navy);display:block}.post-view-top small{color:#82939e;font-size:11px;display:block;margin-top:5px}.post-view-caption{padding:18px 23px;border-bottom:1px solid #edf0f0;line-height:1.7;font-size:13px;color:#405569;white-space:pre-wrap;overflow-wrap:anywhere}.comments-head{padding:18px 23px 9px;font-size:11px;letter-spacing:.1em;color:var(--navy);font-weight:900;text-transform:uppercase}.comments-list{padding:8px 23px;min-height:100px;flex:1;overflow-y:auto}.comment{padding:11px 0;border-bottom:1px solid #eef0ef}.comment strong{color:var(--navy);font-size:11.5px}.comment small{font-size:10px;color:#99a7af;margin-left:7px}.comment p{margin:6px 0 0;color:#586a78;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.comment-pending{font-size:10px;color:#ab7f3b;margin-top:5px}.comments-empty{font-size:12px;color:#8b98a1;line-height:1.6;padding:20px 0}.comment-editor{padding:15px 23px 23px;border-top:1px solid #ecf0f0}.comment-editor textarea{width:100%;border:1px solid #dae3e5;border-radius:5px;padding:10px;resize:vertical;min-height:67px;max-height:140px;line-height:1.5;font-size:12px}.comment-editor .btn{margin-top:9px}.comment-editor small{display:block;margin-top:9px;font-size:10px;color:#8796a0}
#toast-root{position:fixed;right:22px;bottom:24px;z-index:100;display:flex;flex-direction:column;gap:9px;pointer-events:none}.toast{background:#0e304d;color:#fff;border-left:4px solid var(--gold);padding:13px 16px;border-radius:7px;max-width:390px;box-shadow:0 12px 42px rgba(0,0,0,.16);font-size:12px;line-height:1.5;animation:toast-in .22s ease}.toast-error{background:#842f23;border-left-color:#f3ac85}@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.boot-screen{min-height:100vh;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:var(--navy)}.boot-screen .boot-mark{border:1px solid var(--gold);border-radius:50%;height:65px;width:65px;display:grid;place-items:center;font-family:var(--serif);font-size:24px}.boot-screen span:last-child{font-size:12px;color:#90a0aa}
@media(max-width:1180px){.topnav{gap:17px}.topbar{gap:18px}.brand{min-width:220px}.gallery-layout{grid-template-columns:220px minmax(0,1fr)}.right-panel{display:none}.hero-inner{gap:35px}.hero h1{font-size:60px}}@media(max-width:850px){.topbar{height:77px}.topnav{display:none}.mobile-menu{display:grid}.hero{min-height:410px}.hero-inner{grid-template-columns:1fr;min-height:410px;padding:52px 0 50px}.hero-visual{display:none}.hero h1{font-size:58px;max-width:650px}.gallery-layout{grid-template-columns:1fr;gap:18px}.sidebar{position:static}.filters-outer{display:none}.filters-outer.show{display:block}.sidebar-card.filter-card{margin:0}.mobile-filter-toggle{display:flex!important}.section-intro{padding:37px 0 23px}.feed-grid{gap:17px}.post-image{height:260px}.site-footer{flex-direction:column;align-items:start}}@media(max-width:560px){.topline{height:27px;font-size:8px;padding:0 16px}.topline-second{display:none!important}.topbar{padding:0 16px;height:71px}.brand{min-width:0;gap:9px}.brand-seal{width:44px;height:44px}.brand-seal img{height:38px;width:38px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:7px;letter-spacing:.1em}.right-actions{gap:2px}.right-actions .btn{padding:10px 11px;font-size:10px;min-height:38px}.right-actions .btn .icon{display:none}.hero-inner,.content-wrap{width:calc(100% - 32px)}.hero-inner{padding:40px 0 45px;min-height:392px}.hero h1{font-size:45px;margin:20px 0}.hero p{font-size:13px;line-height:1.8;margin-bottom:26px}.hero .eyebrow{font-size:9px}.hero-actions{gap:8px}.hero-meta{margin-top:25px;gap:13px;flex-wrap:wrap;font-size:10px}.section-intro{align-items:start}.section-counter{display:none}.section-intro h2{font-size:34px}.section-intro p{font-size:12px}.feed-head{padding-top:0}.feed-tab{font-size:11px;padding:9px}.sort-label{font-size:10px}.sort-label select{font-size:11px}.feed-grid{grid-template-columns:1fr}.post-image{height:auto;aspect-ratio:5/4}.post-card:hover{transform:none}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal-wide,.modal-post{width:100%;border-radius:14px 14px 0 0;max-height:96vh}.modal-top{padding:19px 20px 15px}.modal-top h2{font-size:27px}.modal-scroll{padding:20px}.form-grid{grid-template-columns:1fr;gap:0}.previews{grid-template-columns:repeat(3,1fr)}.post-view{grid-template-columns:1fr;overflow:auto}.post-view-media{min-height:0;max-height:43vh}.post-view-media img{max-height:43vh;object-fit:contain}.post-view-side{max-height:45vh;min-height:310px}.admin-shell{padding-top:31px}.admin-heading{display:block}.admin-heading h2{font-size:35px}.admin-stats{gap:8px}.admin-stat{padding:12px}.admin-stat strong{font-size:26px}.review-grid,.setup-grid{grid-template-columns:1fr}.site-footer{padding:30px 16px}.footer-links{gap:12px}.preview-banner{padding:10px 16px;font-size:11px}.btn{font-size:11.5px}}

/* Guest submissions: a minimal anti-spam check, never an account form. */
.honeypot{display:none!important;position:absolute!important;width:0!important;height:0!important;opacity:0!important;pointer-events:none!important}
.captcha-wrap{margin:18px 0 7px;padding:14px 16px;border:1px solid #e7e8e3;border-radius:8px;background:#fbfbf8}
.captcha-note{display:flex;align-items:center;gap:6px;color:#4a6073;font-size:12px;font-weight:650;margin-bottom:10px}
[data-turnstile-slot]{min-height:65px}
@media(max-width:540px){.captcha-wrap{padding:10px 8px}}

/* Keep the photo picker content stacked, overriding generic form label rules. */
.form-field label.dropzone{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:154px;margin-bottom:0}
.form-field label.dropzone strong{display:block;font-size:13px}
.form-field label.dropzone span{display:block;font-size:11px}

@media(max-width:760px){
  .sidebar>.sidebar-card,.sidebar>.side-note{display:none}
  .gallery-layout{row-gap:8px}
  .sidebar{margin-bottom:2px}
}

/* Visitor-first redesign. The original back-office styles are deliberately retained. */
:root { --navy:#0f2c4c;--navy-deep:#0a2139;--ink:#24374a;--gold:#d9a441;--cream:#fafaf8;--paper:#f7f7f5;--muted:#758393;--line:#e7e9e8;--sans:'Avenir Next','Segoe UI',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif }
body{background:var(--paper);font-size:14px}
[hidden]{display:none!important}
.site-shell{display:flex;flex-direction:column;min-height:100vh}
.topbar{height:86px;min-height:86px;padding:0 max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid #e7e9e7;box-shadow:none;gap:22px}
.brand{min-width:0;gap:12px}
.brand-seal{height:51px;width:51px;flex:0 0 51px;border-width:1.5px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4px var(--gold)}
.brand-seal img{height:45px;width:45px}
.brand-copy strong{font-size:19px;letter-spacing:.02em;font-weight:800}
.brand-copy small{font-size:9px;letter-spacing:.19em;color:#7b8995;margin-top:5px}
.head-right{display:flex;align-items:center;gap:19px}
.header-context{font-size:12px;color:#8794a0;font-weight:500}
.staff-head{background:transparent;border:0;color:#536779;display:grid;place-items:center;width:33px;height:33px}
.btn{border-radius:8px;font-size:13px;min-height:43px;font-weight:750;padding:11px 18px}
.btn-primary,.share-primary{background:var(--gold);color:#132c45;box-shadow:none}
.share-primary{min-height:44px;padding:10px 18px;white-space:nowrap}
.share-primary:hover{background:#e4b553}
.preview-banner{padding:9px max(24px,calc((100vw - 1120px)/2));font-size:11.5px;background:#fff8e8;border-color:#f2e4be}
.hero{min-height:295px;background:#102d4b;overflow:hidden}
.hero:before{background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.02) 70%,rgba(255,255,255,.035) 100%)}
.hero:after{display:none}
.hero-inner{width:min(1120px,calc(100% - 48px));min-height:295px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px 0;position:relative}
.hero-text{position:relative;z-index:2;max-width:700px}
.hero-kicker{font-size:10px!important;letter-spacing:.18em;line-height:1.3!important;color:#e2b96d!important;font-weight:800;margin:0 0 20px!important;display:flex;align-items:center;gap:10px}
.kicker-line{width:22px;height:1px;background:#e2b96d}
.hero h1{font-size:clamp(38px,4.5vw,60px);line-height:1.08;font-weight:400;max-width:750px;margin:0 0 14px;letter-spacing:-.044em}
.hero h1 em{color:#e5bf78}
.hero .hero-lede{font-size:15px;line-height:1.55;max-width:640px;color:#d6e0e6;margin:0 0 17px}
.hero-assurance{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11px;color:#a6bbca}
.hero-assurance .icon{color:#f1c36e;height:14px;width:14px}
.dot-sep{opacity:.45;margin:0 4px}
.hero-symbol{width:257px;height:257px;flex:0 0 257px;opacity:.58;position:relative;display:grid;place-items:center}
.hero-ring{position:absolute;border-radius:50%;border:1px solid rgba(226,185,109,.31)}
.hero-ring-one{inset:0}.hero-ring-two{inset:31px;border-color:rgba(226,185,109,.42)}.hero-ring-three{inset:74px;border-width:10px;border-color:rgba(226,185,109,.29)}
.hero-ring-core{height:18px;width:18px;border-radius:50%;background:#d9a441;box-shadow:0 0 0 8px rgba(217,164,65,.13)}
.content-wrap.gallery-section{width:min(784px,calc(100% - 48px));margin:0 auto;flex:1;padding-bottom:58px}
.section-intro{display:block;padding:44px 0 23px}
.section-kicker{color:#ab7c33;font-size:9.5px;font-weight:850;letter-spacing:.2em;margin:0 0 11px}
.section-intro h2{font-size:37px;font-family:var(--serif);font-weight:400;letter-spacing:-.04em;color:var(--navy);margin:0 0 7px}
.section-intro p{font-size:13px;line-height:1.6;color:#7d8792}
.gallery-main{width:100%;min-width:0}
.gallery-toolbar{display:flex;gap:9px;margin:0 0 18px;align-items:stretch}
.gallery-toolbar .searchbox{flex:1;display:flex;align-items:center;gap:9px;padding:0 14px;background:#fff;border:1px solid #e3e7e8;border-radius:8px;min-width:0;min-height:44px;color:#8794a1}
.gallery-toolbar .searchbox input{border:0;background:transparent;min-width:0;flex:1;outline:0;min-height:42px;font-size:13px;color:#253d51;box-shadow:none;padding:0}
.gallery-toolbar .searchbox input:focus-visible{outline:0}
.gallery-toolbar .searchbox:focus-within{outline:2px solid rgba(217,164,65,.5);outline-offset:2px}
.filter-trigger{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#294862;border:1px solid #e3e7e8;border-radius:8px;min-height:44px;padding:0 15px;font-size:13px;font-weight:700;white-space:nowrap}
.filter-trigger:hover,.filter-trigger.is-active{border-color:#cdb376;background:#fffdf7}
.filter-trigger .icon{height:16px;width:16px}
.filter-trigger .icon-xs{height:12px;width:12px}
.filter-dot{height:6px;width:6px;border-radius:50%;background:var(--gold)}
.filter-strip{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #e9ecec;border-radius:10px;padding:16px;margin:-7px 0 17px}
.filter-strip label{flex:1;min-width:0;font-size:11px;font-weight:800;color:#596c7c;display:flex;flex-direction:column;gap:6px}
.filter-strip select{height:41px;min-width:0;width:100%;border:1px solid #dfe5e6;background:#fff;border-radius:7px;padding:0 10px;color:#2a4256;font-size:12px}
.clear-filters{background:transparent;border:0;color:#9a722e;font-size:11px;font-weight:850;padding:10px 0;white-space:nowrap}
.memory-list{display:flex;flex-direction:column;gap:23px}
.memory-card{background:#fff;border:1px solid #e8e9e7;border-radius:13px;overflow:hidden;box-shadow:0 10px 28px rgba(20,47,70,.045)}
.memory-head{display:flex;align-items:center;gap:12px;padding:16px 19px 14px}
.memory-avatar{height:40px;width:40px;border-radius:50%;background:#eaf0f4;color:#143657;display:grid;place-items:center;font-weight:850;font-size:12px;letter-spacing:.06em;flex:0 0 40px}
.memory-byline{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.memory-byline strong{font-size:14px;font-weight:800;color:#1b3652;white-space:normal}
.memory-byline span{font-size:11.5px;color:#8a959d;line-height:1.35}
.memory-more{border:0;background:transparent;display:grid;place-items:center;color:#8091a0;width:32px;height:32px;border-radius:7px}
.memory-more:hover{background:#f4f6f6}
.memory-photo{border:0;display:block;width:100%;background:#d8dfdf;position:relative;overflow:hidden;padding:0;text-align:center;color:#6a7c87}
.memory-photo img{width:100%;max-height:600px;aspect-ratio:1.5;object-fit:cover;display:block}
.memory-photo .no-photo{min-height:340px;display:flex;align-items:center;justify-content:center;gap:12px;background:#e7eceb}
.multi-photo{position:absolute;right:16px;bottom:16px;background:rgba(9,26,43,.82);color:#fff;padding:8px 12px;border-radius:8px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750}
.memory-body{padding:19px 20px 15px}
.memory-caption{font-size:14px;line-height:1.65;color:#405063;margin:0 0 16px;white-space:pre-wrap;overflow-wrap:anywhere}
.memory-caption strong{color:#183958}
.photo-by{font-size:11px;color:#8996a0;margin:-7px 0 13px}
.memory-gestures{display:flex;align-items:center;gap:22px;padding:12px 0;border-top:1px solid #eef0f1;border-bottom:1px solid #eef0f1;color:#6c7b87;font-size:12px}
.memory-gestures button{border:0;background:transparent;padding:5px 2px;display:inline-flex;align-items:center;gap:8px;color:#6c7b87;font-size:12px;font-weight:700;min-height:30px}
.memory-gestures button:hover{color:var(--navy)}
.memory-gestures button.is-liked{color:#b83b30}
.memory-gestures button.is-liked .icon{fill:#b83b30;stroke:#b83b30}
.memory-gestures .icon{height:17px;width:17px}
.comments-preview{padding:14px 0 0;display:flex;flex-direction:column;gap:11px}
.inline-comment{display:flex;align-items:start;gap:10px}
.comment-avatar{display:grid;place-items:center;height:28px;width:28px;flex:0 0 28px;background:#eef2f3;color:#6f8696;font-size:9px;font-weight:850;border-radius:50%}
.inline-comment p{background:#f7f8f7;border-radius:10px;padding:9px 13px;margin:0;font-size:12px;line-height:1.5;color:#5e6a76;flex:1;overflow-wrap:anywhere}
.inline-comment strong{color:var(--navy);margin-right:6px}
.view-comments{align-self:start;background:transparent;border:0;padding:0 0 2px;color:#657c8e;font-size:12px;font-weight:750}
.comment-invite{display:flex;align-items:center;gap:9px;background:#f8f9f8;color:#9aa3aa;border:1px solid #e9ecec;padding:11px 13px;border-radius:9px;width:100%;font-size:12px;text-align:left}
.comment-invite:hover{background:#f2f5f5;border-color:#dce5e6}
.gallery-trust{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#8794a0;font-size:11.5px;line-height:1.6;margin:27px 0 0}
.gallery-trust .icon{color:#7b95a5}
.gallery-trust a{text-decoration:underline;text-underline-offset:2px;color:#4b677b}
.more-wrap{text-align:center;margin:28px 0 0}
.empty-state{padding:66px 28px;border-radius:13px;border:1px dashed #dcdfe0;background:#fff;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px}
.empty-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f6f1e7;color:#b58736}
.empty-state h3{color:var(--navy);font-weight:400;font-family:var(--serif);font-size:29px;margin:5px 0 0}
.empty-state p{font-size:13px;color:#7e8a95;line-height:1.65;max-width:430px;margin:0}
.empty-state .btn{margin-top:6px}
.demo-notice{display:flex;align-items:center;gap:9px;background:#fff8ec;color:#9a762e;border-bottom:1px solid #f1e4ca;padding:9px 18px;font-size:11px;font-weight:600}
.demo-photo{position:relative;width:100%;aspect-ratio:1.65;max-height:560px;background:linear-gradient(135deg,#6d8190,#23435c 55%,#0b253e);overflow:hidden;display:grid;place-items:center}
.demo-photo img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:2;inset:0}
.demo-photo-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#e4e9eb;text-align:center;letter-spacing:.16em;font-size:13px;font-weight:750;line-height:1.5}
.demo-target{width:62px;height:62px;border:2px solid #cda963;border-radius:50%;display:grid;place-items:center;color:#ead2a4}
.demo-target .icon{width:29px;height:29px}
.demo-credit{font-size:10.5px;color:#98a4a9;padding-top:14px;line-height:1.6}
.starting-note{display:flex;align-items:center;flex-direction:column;gap:9px;text-align:center;padding:10px 0 0;color:#687f8e}
.starting-note-mark{color:#b69355}
.starting-note strong{font-family:var(--serif);color:var(--navy);font-size:22px;font-weight:400}
.starting-note p{margin:0;font-size:12px;line-height:1.55;max-width:350px}
.site-footer{border-top:1px solid #e9eceb;border-bottom:none;background:#fff;box-shadow:none;display:block;margin-top:auto;padding:21px max(24px,calc((100vw - 1120px)/2));color:#64798a}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.footer-left{display:flex;flex-direction:column;gap:5px;max-width:380px}
.footer-left strong{font-size:12px;color:var(--navy);letter-spacing:.09em}
.footer-left span{font-size:11px;color:#82939f;line-height:1.6}
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:19px}
.footer-links a,.footer-links button{border:0;background:transparent;color:#617686;font-size:11px;text-decoration:none;padding:0;white-space:nowrap}
.footer-links a:hover,.footer-links button:hover{color:var(--navy);text-decoration:underline}
/* Simplified upload: clearly numbered sections, no wizard navigation. */
.modal-wide{width:min(640px,100%)}
.modal-top{padding:24px 28px 18px}
.modal-top h2{font-size:29px}
.modal-top p{font-size:12.5px}
.modal-scroll{padding:22px 28px 27px}
.upload-step{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #edf0ef}
.upload-step:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.step-title{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.step-title>span{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:#f7f0e2;color:#9e752a;font-size:13px;font-weight:900}
.step-title h3{color:#1e3b56;font-size:15px;font-weight:800;line-height:1.25;margin:0 0 3px}
.step-title p{font-size:11.5px;color:#82909a;line-height:1.45;margin:0}
.form-field label,.form-label{font-size:12px;line-height:1.3;font-weight:800;margin-bottom:7px}
.form-field input,.form-field select,.form-field textarea{font-size:13px;border-radius:8px;min-height:44px;padding:10px 12px}
.form-field textarea{min-height:82px}
.optional{font-size:11px;font-weight:500;color:#94a0aa}
.form-grid{gap:16px}
.form-field label.dropzone{min-height:132px;border:1.5px dashed #c9d6d9;background:#f8faf9;border-radius:11px}
.form-field label.dropzone:hover,.form-field label.dropzone.drag-over{border-color:#c89b4b;background:#fff9ed}
.form-field label.dropzone .icon{color:#bf8c39}
.form-field label.dropzone strong{font-size:14px;color:#1a3d59}
.form-field label.dropzone small{font-size:11px;color:#8b99a3}
.event-date-info{display:flex;align-items:center;gap:7px;color:#4c7a67;font-size:12px;margin:-3px 0 15px}
.checkbox-wrap{padding:0;border:0;background:transparent;display:flex;gap:10px;margin-top:0;margin-bottom:10px;align-items:flex-start}
.checkbox-wrap span{color:#627484;font-size:11.8px;line-height:1.6}
.checkbox-wrap input{height:18px;width:18px;flex:0 0 18px;margin-top:1px}
.captcha-wrap{background:#f8faf9;border-radius:8px}
.form-actions{margin-top:15px;align-items:center}
.form-actions .btn-navy{background:var(--navy)}
.form-actions .btn-navy:not(:disabled):hover{background:#204768}
.preview-thumb{border-radius:8px}
.modal-post{width:min(1030px,100%)}
.post-view-media{min-height:490px;position:relative}
.post-view-media img{max-height:80vh}
.post-view-top strong{font-size:14px}
.post-view-top small{line-height:1.5;font-size:12px}
.post-view-caption{font-size:13px;line-height:1.6}
.comment-editor{margin-top:auto}
.comment-editor .form-field{margin-bottom:8px}
.comment-editor .reset-link{margin-top:15px}
.photo-pager{position:absolute;bottom:17px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:15px;color:#fff;font-weight:750}
.photo-pager button{border:1px solid rgba(255,255,255,.3);background:rgba(13,32,48,.78);color:white;border-radius:50%;height:37px;width:37px;display:grid;place-items:center}
.photo-pager button:first-child svg{transform:rotate(180deg)}
@media(max-width:1050px){.hero-symbol{height:195px;width:195px;flex-basis:195px}.hero-ring-three{inset:58px;border-width:7px}.header-context{display:none}}
@media(max-width:780px){.topbar{height:73px;min-height:73px;padding:0 20px}.brand-seal{width:44px;height:44px;flex-basis:44px}.brand-seal img{width:40px;height:40px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:7.7px}.hero{min-height:0}.hero-inner{min-height:0;padding:38px 0;width:calc(100% - 40px)}.hero-symbol{position:absolute;right:-48px;top:11px;opacity:.22;width:210px;height:210px}.hero h1{font-size:44px;max-width:540px}.hero .hero-lede{font-size:14px;max-width:500px}.content-wrap.gallery-section{width:calc(100% - 40px)}.section-intro{padding:31px 0 21px}.gallery-trust{font-size:10.5px}.site-footer{padding:21px 20px}}
@media(max-width:560px){.topbar{min-height:67px;height:67px;padding:0 14px}.brand-seal{width:39px;height:39px;flex-basis:39px}.brand-seal img{width:35px;height:35px}.brand-copy{min-width:0}.brand-copy strong{font-size:15px}.brand-copy small{font-size:7px;letter-spacing:.13em;margin-top:4px}.head-right{gap:8px}.share-primary{font-size:11.5px;min-height:39px;padding:9px 11px;gap:6px}.share-primary .icon{width:15px;height:15px}.preview-banner{padding:9px 14px;align-items:start;font-size:11px}.hero-inner{width:calc(100% - 32px);padding:35px 0 33px}.hero h1{font-size:39px;max-width:380px}.hero .hero-lede{font-size:12.8px;line-height:1.7;max-width:330px}.hero-kicker{font-size:9px!important;margin-bottom:15px!important}.hero-assurance{font-size:10px;line-height:1.65;gap:5px;max-width:360px}.dot-sep{display:none}.hero-symbol{height:160px;width:160px;right:-63px;top:15px}.content-wrap.gallery-section{width:calc(100% - 28px)}.section-intro{padding:29px 3px 19px}.section-intro h2{font-size:34px}.section-intro p{font-size:11.8px}.gallery-toolbar{gap:8px;margin-bottom:14px}.filter-trigger{padding:0 10px;font-size:12px;gap:4px}.filter-trigger .icon-xs{display:none}.gallery-toolbar .searchbox{min-height:43px;padding:0 12px}.gallery-toolbar .searchbox input{font-size:12px}.filter-strip{flex-direction:column;align-items:stretch;padding:13px;gap:11px}.clear-filters{align-self:end}.memory-list{gap:14px}.memory-card{border-radius:12px}.memory-head{padding:12px;gap:9px}.memory-avatar{height:35px;width:35px;flex-basis:35px;font-size:11px}.memory-byline strong{font-size:12.4px}.memory-byline span{font-size:10.5px}.memory-photo img{aspect-ratio:4/3;max-height:none}.memory-body{padding:13px 14px 12px}.memory-caption{font-size:12.5px;line-height:1.65;margin-bottom:11px}.memory-gestures{gap:18px;padding:9px 0}.memory-gestures button{font-size:11px;gap:6px}.memory-gestures .icon{width:16px;height:16px}.demo-notice{font-size:10px;padding:9px 12px}.demo-photo{aspect-ratio:4/3}.demo-photo-fallback{font-size:10px}.gallery-trust{margin-top:17px;padding:0 2px}.site-footer{padding:20px 15px}.footer-inner{display:block}.footer-links{gap:12px;margin-top:16px}.modal-backdrop{padding:0;align-items:flex-end}.modal-wide,.modal-post{max-height:96vh;width:100%;border-radius:16px 16px 0 0}.modal-top{padding:20px 20px 15px}.modal-top h2{font-size:25px}.modal-scroll{padding:18px 20px 25px}.upload-step{padding-bottom:17px;margin-bottom:17px}.step-title{margin-bottom:12px}.step-title h3{font-size:13.5px}.step-title p{font-size:11px}.form-grid{grid-template-columns:1fr;gap:0}.form-field{margin-bottom:12px}.form-field label.dropzone{min-height:119px}.post-view{display:grid;grid-template-columns:1fr;overflow:auto}.post-view-media{min-height:0;max-height:42vh}.post-view-media img{max-height:42vh}.post-view-side{max-height:52vh;min-height:310px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Search icon is part of the flex row, not an overlay on the text. */
.gallery-toolbar .searchbox .icon{position:static;left:auto;top:auto;transform:none;width:16px;height:16px;flex:0 0 16px}


/* Photo-first tournament memories hero. The image is decorative and never part of the submitted photo feed. */
.hero.hero-photo{
  position:relative; isolation:isolate; min-height:428px;
  background-color:#0f2c4c;
  background-image:
    linear-gradient(270deg,rgba(6,24,43,.96) 0%,rgba(7,28,50,.84) 24%,rgba(7,28,50,.58) 42%,rgba(7,28,50,.12) 69%,rgba(7,28,50,.02) 100%),
    url('./public/images/tournament-memories-hero.webp');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center 8%;
  color:#fff;
}
.hero.hero-photo::before,.hero.hero-photo::after{display:none}
.hero-photo .hero-inner{
  width:min(1190px,calc(100% - 64px)); min-height:428px;
  display:flex; justify-content:flex-end; align-items:center;
  padding:48px 0 50px; gap:0;
}
.hero-photo .hero-text{flex:0 1 530px; max-width:530px; margin:0; padding:0 8px 0 0; position:relative;z-index:2}
.hero-photo .hero-kicker{margin-bottom:18px!important;font-size:10px!important;letter-spacing:.18em;color:#f3d598!important;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.hero-photo h1{color:#fff;max-width:520px;font-size:clamp(43px,4.3vw,60px);line-height:1.08;letter-spacing:-.05em;margin:0 0 18px;text-shadow:0 3px 18px rgba(0,0,0,.26)}
.hero-photo h1 em{color:#f6c979}
.hero-photo .hero-lede{color:#eef3f6;max-width:470px;font-size:15.2px;line-height:1.62;margin-bottom:23px;text-shadow:0 2px 12px rgba(0,0,0,.32)}
.hero-photo .hero-share{border:0;background:#e1ae51;color:#10293e;box-shadow:0 6px 20px rgba(1,13,27,.24);font-weight:850;letter-spacing:.02em;font-size:14px;padding:14px 22px;min-height:49px}
.hero-photo .hero-share:hover{background:#f2c56e;box-shadow:0 9px 24px rgba(1,13,27,.3)}
.hero-photo .hero-assurance{margin-top:17px;color:#e2eaf0;font-size:11px;gap:8px;line-height:1.5;text-shadow:0 1px 9px rgba(0,0,0,.4)}
.hero-photo .hero-assurance .icon{color:#f2c56e}
.hero-art-label{position:absolute;bottom:12px;left:18px;z-index:2;color:rgba(255,255,255,.8);font-size:9px;letter-spacing:.04em;background:rgba(7,25,45,.32);border-radius:3px;padding:3px 7px}
@media(max-width:1020px){
  .hero-photo .hero-inner{width:calc(100% - 52px)}
  .hero-photo .hero-text{flex-basis:46%;max-width:480px}
  .hero-photo h1{font-size:clamp(38px,4.6vw,50px)}
  .hero-photo .hero-lede{font-size:13.5px}
}
@media(max-width:780px){
  .hero.hero-photo{
    min-height:535px;
    background-image:
      linear-gradient(180deg,rgba(7,25,45,.06) 0%,rgba(7,25,45,.06) 26%,rgba(7,25,45,.48) 48%,rgba(7,25,45,.9) 67%,rgba(7,25,45,.98) 100%),
      url('./public/images/tournament-memories-hero.webp');
    background-size:cover;background-position:36% 23%;
  }
  .hero-photo .hero-inner{width:calc(100% - 40px);min-height:535px;padding:235px 0 42px;justify-content:flex-start;align-items:flex-end}
  .hero-photo .hero-text{flex:1;max-width:560px;padding:0}
  .hero-photo h1{font-size:clamp(38px,7.2vw,50px);margin:0 0 11px;max-width:520px}
  .hero-photo .hero-kicker{margin-bottom:11px!important}
  .hero-photo .hero-lede{max-width:520px;font-size:13.5px;margin-bottom:18px;line-height:1.53}
  .hero-photo .hero-assurance{margin-top:13px}
  .hero-art-label{top:10px;bottom:auto;right:10px;left:auto;font-size:9px}
}
@media(max-width:560px){
  .hero.hero-photo{min-height:548px;background-position:35% top}
  .hero-photo .hero-inner{min-height:548px;width:calc(100% - 32px);padding:225px 0 35px}
  .hero-photo h1{font-size:39px;line-height:1.06;margin-bottom:11px;max-width:370px}
  .hero-photo .hero-lede{font-size:12.5px;line-height:1.56;max-width:340px;margin-bottom:16px}
  .hero-photo .hero-share{min-height:48px;padding:13px 18px;font-size:13px}
  .hero-photo .hero-assurance{font-size:10px;margin-top:12px;max-width:340px;line-height:1.5}
  .hero-photo .hero-kicker{font-size:9px!important;letter-spacing:.12em}
}
@media(max-width:370px){
  .hero.hero-photo,.hero-photo .hero-inner{min-height:575px}
  .hero-photo .hero-inner{padding-top:230px}
  .hero-photo h1{font-size:36px}
  .hero-photo .hero-assurance{gap:5px}
}
@media(prefers-reduced-motion:reduce){.hero-photo .hero-share{transition:none}}


/* Seven-scene image carousel: fixed text, slow crossfade, restrained Ken Burns. */
.hero-photo .hero-slideshow{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-photo .hero-slide{position:absolute;inset:-1px;background-size:cover;background-repeat:no-repeat;background-position:var(--desktop-focus,center top);opacity:0;--zoom-current:var(--zoom-desktop,1);transform:scale(var(--zoom-current));transition:opacity 2.2s ease-in-out;will-change:opacity}
.hero-photo .hero-slide.is-active{opacity:1;animation:hero-scene-drift 13.8s ease-out both}
@keyframes hero-scene-drift{from{transform:scale(calc(var(--zoom-current,1) * 1.008))}to{transform:scale(calc(var(--zoom-current,1) * 1.045))}}
.hero-photo .hero-slideshow-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,24,43,.045) 0%,rgba(7,28,50,.14) 36%,rgba(7,28,50,.66) 53%,rgba(6,24,43,.97) 100%)}
.hero-photo .hero-inner{position:relative;z-index:2}
.hero-photo .hero-motion-controls{position:absolute;z-index:4;bottom:9px;left:16px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.9);font-size:10px;letter-spacing:.02em;text-shadow:0 1px 8px #00192f;background:rgba(5,24,42,.36);border:1px solid rgba(255,255,255,.12);padding:5px 9px;border-radius:20px;backdrop-filter:blur(4px)}
.hero-photo .hero-motion-controls button{border:0;background:transparent;color:#ffd88c;cursor:pointer;font:inherit;font-weight:700;padding:2px 3px;white-space:nowrap}
.hero-photo .hero-motion-controls button:hover,.hero-photo .hero-motion-controls button:focus-visible{text-decoration:underline;outline-offset:3px}
.hero-photo .hero-art-label{display:none}
@media(max-width:780px){
 .hero-photo .hero-slide{background-position:var(--mobile-focus,35% top);--zoom-current:var(--zoom-mobile,1)}
 .hero-photo .hero-slideshow-scrim{background:linear-gradient(180deg,rgba(7,25,45,.025) 0%,rgba(7,25,45,.025) 28%,rgba(7,25,45,.45) 49%,rgba(7,25,45,.93) 70%,rgba(7,25,45,.985) 100%)}
 .hero-photo .hero-motion-controls{bottom:auto;top:10px;left:auto;right:10px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.hero-photo .hero-slide,.hero-photo .hero-slide.is-active{animation:none!important;transition:none!important;transform:none!important}}

/* Minimal photo-first preview feed, with no fabricated event details or illustrative notice bands. */
.sample-photo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.sample-photo-card{overflow:hidden;border-radius:12px}
.sample-photo-heading{display:flex;align-items:center;gap:10px;padding:13px 15px}
.sample-photo-mark{background:#e9eff3;color:#12334f;border-radius:50%;display:grid;place-items:center;width:34px;height:34px;font-weight:900;font-size:10px}
.sample-photo-heading strong{display:block;color:#112d47;font-size:12px;font-weight:800}
.sample-photo-heading small{display:block;color:#788a98;font-size:11px;margin-top:2px}
.sample-photo-image{width:100%;aspect-ratio:4/3;background:#e9eef0;overflow:hidden}
.sample-photo-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.sample-photo-caption{font-size:13px;font-weight:700;padding:13px 15px;color:#20394f}
.hero-photo .hero-motion-controls{gap:0}
@media(max-width:620px){.sample-photo-list{grid-template-columns:1fr;gap:15px}.sample-photo-image{aspect-ratio:16/11}}


.preview-banner{display:none!important}


/* Texas SCTP ON THE RANGE | 2026 action-first visual refresh */
/* Athletic editorial typography and faster visual rhythm, without changing saved image crops. */
:root{--gold:#e0a441;--orange:#c84230;--paper:#f4f6f7;--navy:#0b2b4a;--navy-deep:#081f37}
body{background:var(--paper)}
.topbar{border-bottom:2px solid #e8ecee;box-shadow:0 2px 10px rgba(6,30,50,.025)}
.brand-copy strong{font-weight:900;letter-spacing:.035em}
.brand-copy small{font-weight:900;letter-spacing:.20em;color:#bb4d37}
.header-context{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:850;color:#667b8a}
.hero.hero-photo{border-bottom:5px solid #dca447}
.hero-photo .hero-text{flex:0 1 545px;max-width:545px}
.hero-photo .hero-text:before{content:'';display:block;width:66px;height:5px;background:#e9b64f;transform:skew(-22deg);margin:0 0 18px 3px;box-shadow:12px 0 0 rgba(233,182,79,.3)}
.hero-photo .hero-kicker{font-family:var(--sans);font-size:10.3px!important;letter-spacing:.21em!important;font-weight:900!important;color:#f6d68f!important;margin:0 0 13px!important;text-transform:uppercase}
.kicker-slash{font-weight:900;color:#ffb84b;margin:0 3px}
.hero-photo h1{font-family:var(--sans);font-weight:950;font-style:normal;font-size:clamp(47px,4.8vw,72px);line-height:.98;letter-spacing:-.067em;text-transform:uppercase;margin:0 0 19px;text-shadow:0 4px 22px rgba(0,0,0,.24)}
.hero-photo h1 em{font-style:normal;display:block;font-weight:950;color:#fac55e;letter-spacing:-.065em}
.hero-photo .hero-lede{font-family:var(--sans);font-weight:520;font-size:15px;line-height:1.53;max-width:470px;color:#f4f7f8;margin:0 0 20px;text-wrap:pretty}
.hero-cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-photo .hero-share{border-radius:5px;min-height:49px;padding:14px 22px;font-weight:900;font-size:13px;letter-spacing:.035em;background:#e5b14f;box-shadow:0 9px 22px rgba(0,0,0,.17);text-transform:uppercase}
.hero-photo .hero-share:hover{background:#ffd16b}
.hero-see{display:inline-flex;align-items:center;gap:9px;padding:13px 0;border:0;border-bottom:2px solid #f4c464;color:#fff;background:transparent;font-size:12.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;transition:color .16s}
.hero-see:hover{color:#ffcf6c}
.hero-see .icon{width:17px;height:17px;color:#f4c464}
.hero-photo .hero-assurance{margin-top:19px;color:#f0f3f6;font-size:10.5px;font-weight:600}
.hero-photo .hero-slideshow-scrim{background:linear-gradient(90deg,rgba(5,21,37,.035) 0%,rgba(6,25,44,.17) 35%,rgba(6,25,44,.68) 54%,rgba(6,25,44,.96) 100%)}
.section-intro{padding-top:46px;padding-bottom:24px}
.section-kicker{color:#bc4937!important;font-size:10px;font-weight:900;letter-spacing:.22em}
.section-intro h2{font-family:var(--sans);font-weight:900;letter-spacing:-.05em;text-transform:uppercase;color:var(--navy);font-size:clamp(30px,3vw,39px);line-height:1.06;margin-bottom:10px}
.section-intro p{font-weight:520;font-size:13px;color:#5e7181;max-width:610px}
.gallery-toolbar .searchbox{background:#fff;border-left:3px solid #d9a344}
.gallery-toolbar .searchbox:focus-within{border-left-color:#bd4231}
.filter-trigger{font-weight:800;letter-spacing:.015em}
.sample-photo-card,.memory-card{border-radius:10px;border-color:#dfe5e8;box-shadow:0 12px 24px rgba(11,43,74,.045);transition:transform .20s ease,box-shadow .20s ease}
.sample-photo-card:hover,.memory-card:hover{transform:translateY(-3px);box-shadow:0 18px 32px rgba(11,43,74,.105)}
.sample-photo-mark{background:#0b2b4a;color:white;font-weight:950}
.sample-photo-heading{padding:14px 15px 12px}
.sample-photo-heading strong{font-size:12.5px;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.sample-photo-heading small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#a06c24}
.sample-photo-caption{font-size:13px;letter-spacing:.005em;font-weight:850;border-top:3px solid #e3b454;background:#fff}
.memory-byline strong{font-weight:900}
.memory-caption{font-size:14px;color:#273f54}
.gallery-trust{font-size:11px;color:#627685}
.site-footer{border-top:3px solid #e0ac4c}
.footer-left strong{font-weight:900;color:#0b2b4a;letter-spacing:.055em}
.footer-sep{color:#ba4634;margin:0 4px}
@media(max-width:1020px){
 .hero-photo .hero-text{flex-basis:48%;max-width:500px}
 .hero-photo h1{font-size:clamp(42px,4.8vw,60px)}
 .hero-photo .hero-lede{font-size:13.7px}
 .hero-cta-row{gap:13px}
}
@media(max-width:780px){
 .hero-photo .hero-text{flex:1;max-width:560px}
 .hero-photo .hero-text:before{margin-bottom:12px;height:4px;width:49px}
 .hero-photo h1{font-size:clamp(39px,7vw,50px);margin-bottom:12px}
 .hero-photo .hero-lede{font-size:13px;line-height:1.48;margin-bottom:16px;max-width:480px}
 .hero-photo .hero-kicker{font-size:9px!important;margin-bottom:10px!important;letter-spacing:.13em!important}
 .hero-photo .hero-slideshow-scrim{background:linear-gradient(180deg,rgba(6,25,45,.02) 0%,rgba(6,25,45,.03) 28%,rgba(6,25,45,.45) 48%,rgba(6,25,45,.94) 71%,rgba(6,25,45,.99) 100%)}
 .section-intro{padding-top:32px}
}
@media(max-width:560px){
 .topbar{height:67px;min-height:67px}
 .hero-photo .hero-text{max-width:100%}
 .hero-photo h1{font-size:clamp(36px,10.1vw,43px);line-height:.99;max-width:380px}
 .hero-photo .hero-lede{font-size:12.5px;max-width:360px;line-height:1.48}
 .hero-photo .hero-share{min-height:45px;padding:12px 14px;font-size:11.5px}
 .hero-cta-row{gap:14px}
 .hero-see{font-size:10.5px;padding:10px 0}
 .hero-see .icon{width:14px;height:14px}
 .hero-photo .hero-assurance{font-size:10px;margin-top:11px}
 .section-intro h2{font-size:31px}
 .sample-photo-list{gap:15px}
}
@media(prefers-reduced-motion:reduce){.sample-photo-card,.memory-card,.hero-see{transition:none;transform:none}}

/* Clear staging illustrative-photo notice, distinct from real parent submissions */
.sample-preview-banner{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 18px;padding:12px 15px;background:#eef3f5;border:1px solid #dce5ea;border-left:4px solid #d1a14b;border-radius:7px;color:#445b6e;font-size:12px;line-height:1.5}
.sample-preview-banner strong{color:#153a59;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}

/* Season tags and approved-photo manual framing */
.season-tag,.memory-byline .season-tag,.post-view-top .season-tag{display:inline-flex;align-items:center;align-self:flex-start;width:max-content;max-width:100%;padding:4px 9px;border:1px solid #ccdbe5;border-radius:4px;background:#f1f5f7;color:#244760;font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.35}
.admin-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.review-card .season-tag{margin:7px 0}

/* Team-wide approved identities. Private logos are always served through
   short-lived Supabase signed URLs, never through portal account assets. */
.memory-avatar{overflow:hidden;align-items:center;justify-content:center}
.memory-avatar .team-logo-img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.team-logo-initials{display:inline-grid;place-items:center;color:#123858;font-weight:850;font-size:12px;letter-spacing:.04em}
.post-team-identity{display:flex;align-items:center;gap:12px;min-width:0}
.post-team-logo{flex:0 0 47px;width:47px;height:47px;border:1px solid #dfe7e8;border-radius:7px;display:grid;place-items:center;overflow:hidden;background:#fff}
.post-team-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.review-team-logo{display:flex;align-items:center;gap:10px;min-width:0}
.review-card .review-team-logo img{width:38px;height:38px;border-radius:5px;object-fit:contain;flex:0 0 38px;background:white;padding:2px;border:1px solid #e3e9ea}
.review-team-logo .team-logo-initials{width:38px;height:38px;background:#edf2f5;border-radius:5px}
.logo-submission-section{margin-top:17px;border-top:1px solid #e6ebed;padding-top:17px}
.logo-submission-section input[type="file"]{display:block;width:100%;border:1px solid #dbe3e6;border-radius:8px;padding:10px;font-size:12px;background:#f9fbfc;margin:8px 0}
.logo-upload-preview,.team-existing-logo{display:flex;align-items:center;gap:11px;margin:12px 0;flex-wrap:wrap;color:#596f7d;font-size:12px}
.team-existing-logo{padding:9px;background:#f1f6f8;border:1px solid #dbe7eb;border-radius:7px}
.team-existing-logo[hidden]{display:none}
.team-existing-logo img,.logo-upload-preview img{width:62px;height:62px;object-fit:contain;background:#fff;border:1px solid #e2e7e8;border-radius:7px;padding:3px}
.team-existing-logo .team-logo-initials{width:62px;height:62px}
.logo-upload-preview:empty{display:none}
.team-logo-admin{display:grid;gap:26px}
.logo-admin-panel{background:#fff;border:1px solid #e5e9eb;border-radius:10px;padding:23px}
.logo-admin-panel h3{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--navy);margin:0 0 8px}
.logo-admin-panel>p{font-size:12px;line-height:1.6;color:#647a89}
.logo-admin-panel .review-grid{margin-top:16px}
.logo-review-image{width:100%;height:170px;display:flex;justify-content:center;align-items:center;background:#f2f6f7;color:#83929d;font-size:12px}
.review-card .logo-review-image img{display:block;max-width:100%;width:auto;height:100%;object-fit:contain;padding:12px;background:transparent}
.logo-current-record{display:flex;gap:18px;align-items:center;background:#f7f9fa;border:1px solid #e2e8eb;border-radius:9px;padding:15px;margin:14px 0 22px}
.logo-current-preview{width:115px;height:115px;border-radius:8px;border:1px solid #d9e4e7;background:#fff;flex:0 0 115px;display:grid;place-items:center;overflow:hidden;color:#87959e;text-align:center;font-size:11px;padding:8px}
.logo-current-preview img{width:100%;height:100%;object-fit:contain}
.logo-current-preview .team-logo-initials{font-size:25px}
.logo-current-record strong{font-size:14px;color:var(--navy)}
.logo-staff-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0}
#staff-logo-picker{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.logo-admin-panel .form-field{max-width:520px}
.logo-admin-panel .field-note{max-width:900px;line-height:1.55}
@media(max-width:650px){.logo-admin-panel{padding:16px}.logo-current-record{align-items:flex-start;flex-wrap:wrap}}


/* Moderation logo gallery: visual index, immediate team selection, and status filters */
.logo-catalog-panel{border-top:3px solid var(--gold)}
.logo-catalog-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:18px}
.logo-catalog-header>div:first-child{max-width:550px}
.logo-catalog-header p{font-size:12px;color:#647a89;line-height:1.65;margin:2px 0 0}
.logo-catalog-totals{display:flex;gap:10px;flex-wrap:wrap}
.logo-catalog-total{min-width:125px;padding:11px 17px;border:1px solid #e2e9ed;border-radius:8px;background:#f7f9fa}
.logo-catalog-total strong{display:block;font:400 30px/1.05 var(--serif);color:var(--navy)}
.logo-catalog-total span{display:block;margin-top:5px;font-size:10px;font-weight:800;color:#6b7c8a}
.logo-catalog-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px 22px;margin:20px 0 16px}
.logo-admin-panel .logo-catalog-search{flex:1 1 250px;max-width:none;margin:0}
.logo-catalog-search input{width:100%;min-height:42px;padding:10px 13px;border:1px solid #d4dee4;border-radius:7px;background:#fff;color:var(--ink);font-size:13px}
.logo-catalog-search label{display:block;font-size:11px;font-weight:850;color:var(--navy);margin-bottom:7px}
.logo-catalog-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.logo-catalog-filter{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #d7e0e5;border-radius:7px;background:#fff;color:#385268;font-size:11px;font-weight:800;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.logo-catalog-filter strong{font-size:10px;line-height:1;padding:4px 6px;border-radius:5px;background:#eef3f5;color:var(--navy)}
.logo-catalog-filter:hover{border-color:var(--navy)}
.logo-catalog-filter.active{background:var(--navy);border-color:var(--navy);color:#fff}
.logo-catalog-filter.active strong{background:rgba(255,255,255,.18);color:#fff}
.logo-catalog-result-count{margin:0 0 12px;font-size:11px;font-weight:750;color:#657888;letter-spacing:.01em}
.logo-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px}
.logo-catalog-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:254px;text-align:left;padding:0;border:1px solid #dfe7eb;border-radius:9px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}
.logo-catalog-card:hover{border-color:#c7a05a;box-shadow:0 7px 20px rgba(16,37,59,.09);transform:translateY(-2px)}
.logo-catalog-card.is-selected{border-color:#b7862b;box-shadow:inset 0 0 0 1px #b7862b,0 5px 13px rgba(16,37,59,.06)}
.logo-catalog-image{height:136px;width:100%;display:grid;place-items:center;background:#f7f9fa;border-bottom:1px solid #e8edef;overflow:hidden}
.logo-catalog-image img{display:block;width:100%;height:100%;object-fit:contain;padding:13px;background:#fff}
.logo-catalog-placeholder{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#e9eff3;color:#6f8495;font:500 24px/1 var(--serif)}
.logo-catalog-caption{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;padding:12px 13px 9px}
.logo-catalog-caption strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.4;font-size:12px;font-weight:850;color:var(--navy);overflow-wrap:anywhere}
.logo-catalog-status{font-size:10.5px;color:#8897a2}
.logo-catalog-status.is-saved{color:#2c6f56;font-weight:800}
.logo-catalog-manage{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f2;margin:0 13px;padding:10px 0;color:#3b5c74;font-size:11px;font-weight:850}
.logo-catalog-manage svg{width:15px;height:15px}
.logo-catalog-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:24px;border:1px dashed #d1dce3;border-radius:8px;background:#f8fafb;color:#4b6577}
.logo-catalog-empty strong{font-size:13px;color:var(--navy)}
.logo-catalog-empty p{margin:0 0 7px;font-size:12px;line-height:1.5}
#team-logo-library{scroll-margin-top:20px}
@media(max-width:750px){
  .logo-catalog-totals{width:100%}
  .logo-catalog-total{flex:1 1 130px}
  .logo-catalog-filters{width:100%}
  .logo-catalog-filter{flex:1 1 auto;justify-content:center}
}
@media(max-width:500px){
  .logo-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .logo-catalog-card{min-height:228px}
  .logo-catalog-image{height:108px}
  .logo-catalog-caption{padding:10px}
  .logo-catalog-manage{margin:0 10px;padding:9px 0}
  .logo-catalog-total{min-width:0;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){
  .logo-catalog-card{transition:none}
  .logo-catalog-card:hover{transform:none}
}


/* On the Range: named authorizer and clear photo-release options */
.photo-release-heading{margin:7px 0 19px;padding:17px 20px;border-left:4px solid #c18c3d;background:#f0f5f7;border-radius:0 7px 7px 0}
.photo-release-heading strong{display:block;font-family:var(--serif);font-size:23px;color:#0f2c4c;font-weight:600;margin-bottom:5px}
.photo-release-heading p{margin:0;font-size:12px;line-height:1.65;color:#5d7382}
.photo-release-identity{margin-bottom:7px}
.photo-release-required,.photo-release-optional{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:17px 19px!important;border-radius:9px!important;margin:15px 0!important}
.photo-release-required{border:1px solid #c5d6df!important;background:#f4f8fa!important}
.photo-release-optional{border:1px solid #e4d1a5!important;background:#fffbf1!important}
.photo-release-required input,.photo-release-optional input{min-width:18px;width:18px;height:18px;margin:2px 0 0;accent-color:#0f2c4c;flex-shrink:0}
.photo-release-required span,.photo-release-optional span{line-height:1.65!important;font-size:12.4px!important;color:#324e60!important}
.photo-release-required strong,.photo-release-optional strong{color:#0e304d}
.photo-release-notice{padding:11px 14px;background:#fff;border:1px solid #e2e9ed;border-radius:6px;line-height:1.7;font-size:11.5px;color:#637e90;margin:12px 0}
.photo-release-notice a{color:#1e628c;text-decoration:underline;font-weight:800}
#authorizer-role-detail-wrap[hidden]{display:none!important}
@media(max-width:600px){.photo-release-heading{padding:14px 16px}.photo-release-required,.photo-release-optional{padding:14px 13px!important}}


/* Texas SCTP On the Range: verified staff roles and conservative adult leader status */
.staff-role-directory{border:1px solid #e2e9ec;border-radius:10px;background:#fff;padding:16px 20px;margin:16px 0 25px;box-shadow:0 5px 20px rgba(16,44,76,.035)}
.staff-role-directory-heading{font-size:10px;font-weight:900;letter-spacing:.13em;color:#587387;text-transform:uppercase;margin-bottom:12px}
.staff-role-directory-list{display:flex;flex-wrap:wrap;align-items:stretch;gap:13px}
.staff-person{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap;background:#f6f8f9;border:1px solid #e6ecee;border-radius:7px;padding:11px 14px}
.staff-person strong{font-size:12px;color:#173e59}
.staff-person small{font-size:10px;color:#79909a}
.staff-role-pill{display:inline-block;background:#e9edf1;color:#31536b;font-size:10px;font-weight:900;padding:5px 8px;border-radius:30px}
.staff-role-pill.role-owner{background:#fbf0d4;color:#8a601d}
.staff-role-pill.role-admin{background:#e3edf6;color:#2a5c85}
.adult-verification-banner{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:2px solid #e6bd5b;background:#fff7dd;border-radius:9px;margin:15px 0;color:#7a5b1d}
.adult-verification-banner strong{font-size:13px;font-weight:1000;letter-spacing:.08em}
.adult-verification-banner>span{font-size:12px;font-weight:650;line-height:1.65}
.adult-verification-banner small{font-size:10.3px;line-height:1.55;font-weight:500;opacity:.85}
.adult-verification-approved{background:#e7f5eb;border-color:#75bd91;color:#1c653b}
.adult-verification-declined{background:#fff0ef;border-color:#e79994;color:#9f2f28}
.adult-verification-review{background:#fff7dd;border-color:#e6bd5b;color:#7a5b1d}
@media(max-width:610px){.staff-role-directory{padding:14px}.staff-person{width:100%}.adult-verification-banner{padding:12px 13px}}


/* Texas SCTP On the Range: independent staff positioning for every regular gallery photo. */
.memory-reposition{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;border:1px solid #d3dde3;border-radius:5px;background:#f8fafb;color:#244c67;padding:8px 9px;font-size:10px;font-weight:850;white-space:nowrap}
.memory-reposition .icon{width:13px;height:13px}
.memory-reposition:hover{border-color:#c59a53;background:#fff9ed;color:#785019}
.memory-reposition:focus-visible{outline:3px solid #d5ad61;outline-offset:2px}
.gallery-view-position-button{align-self:flex-start;margin:0 0 14px}
.gallery-position-modal{width:min(1050px,calc(100vw - 32px))}
.gallery-position-modal .modal-scroll{max-height:calc(92vh - 98px);overflow:auto}
.gallery-crop-editor{background:#fff}
.gallery-crop-intro{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 15px;padding-bottom:17px;border-bottom:1px solid #e4e9ed}
.gallery-crop-intro strong{font-size:13px;font-weight:900;color:#1b425f}
.gallery-crop-intro span{font-size:11.5px;color:#728493}
.gallery-crop-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(275px,.85fr);gap:26px;margin-top:20px}
.gallery-crop-preview-side{min-width:0}
.gallery-crop-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;color:#647889;font-size:9.5px;font-weight:900;letter-spacing:.1em}
.gallery-crop-preview-heading span:last-child{color:#af7e2c}
.gallery-crop-viewport{width:100%;aspect-ratio:3/2;background:#263848;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #d7e0e4;border-radius:7px;box-shadow:0 7px 18px rgba(17,42,64,.08)}
.gallery-crop-viewport img{width:100%;height:100%;object-fit:cover;display:block;max-width:none;max-height:none;transform-origin:center center}
.gallery-crop-caption,.gallery-crop-note{font-size:10.8px;line-height:1.65;color:#7d8e9a;margin:9px 0 0}
.gallery-crop-original{margin-top:22px;border:1px solid #dbe3e7;border-radius:8px;overflow:hidden;background:#f8fafb}
.gallery-crop-original summary{font-size:11px;font-weight:850;color:#315670;cursor:pointer;padding:12px 14px}
.gallery-crop-original img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain;background:#e7edef}
.gallery-crop-control-side{min-width:0;display:flex;flex-direction:column;gap:18px}
.gallery-crop-mode{margin:0;padding:0;border:0;display:grid;gap:9px}
.gallery-crop-mode legend{font-size:12px;font-weight:900;margin-bottom:9px;color:#1f455f}
.gallery-crop-mode label{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid #dce5e9;border-radius:7px;padding:11px 12px;cursor:pointer}
.gallery-crop-mode label:has(input:checked){border-color:#d0a257;background:#fffcf4}
.gallery-crop-mode input{width:17px;height:17px;flex:0 0 17px;margin:3px 0 0;accent-color:#163c5a}
.gallery-crop-mode strong,.gallery-crop-mode small{display:block}
.gallery-crop-mode strong{color:#23465e;font-size:11.6px}
.gallery-crop-mode small{font-size:10px;color:#7a8e9b;line-height:1.55;margin-top:4px}
.gallery-crop-presets>span{display:block;font-size:11px;font-weight:900;color:#294b63;margin-bottom:8px}
.gallery-crop-presets>div{display:flex;gap:7px;flex-wrap:wrap}
.gallery-crop-presets button{background:#f8fafb;color:#31546b;border:1px solid #dce3e7;padding:9px 11px;border-radius:5px;font-size:10.8px;font-weight:750;cursor:pointer}
.gallery-crop-presets button:hover:not(:disabled){background:#fff8e8;border-color:#c89c55}
.gallery-crop-range{display:grid;gap:6px}
.gallery-crop-range label{font-size:11.5px;font-weight:850;color:#2d4d63;display:flex;align-items:center;justify-content:space-between;gap:12px}
.gallery-crop-range output{font-size:11.5px;font-weight:850;color:#986a2c}
.gallery-crop-range input{width:100%;cursor:pointer;accent-color:#bd8940}
.gallery-crop-range input:disabled{opacity:.4;cursor:not-allowed}
.gallery-crop-axis{display:flex;justify-content:space-between;color:#8192a0;font-size:10px}
.gallery-crop-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:4px;padding-top:16px;border-top:1px solid #e6edef}
.gallery-crop-actions .btn{font-size:11px;min-height:38px}
.gallery-crop-note{margin-top:0}
@media(max-width:740px){.gallery-crop-body{grid-template-columns:1fr;gap:22px}.gallery-crop-original img{max-height:200px}}
@media(max-width:560px){.memory-head{flex-wrap:wrap}.memory-reposition{order:3;margin-left:51px}.gallery-position-modal{width:calc(100vw - 20px)}.gallery-position-modal .modal-scroll{padding:18px 17px}.gallery-crop-editor .gallery-crop-intro{padding-bottom:12px}.gallery-crop-actions .btn{flex:1 1 auto}}


/* Approved gallery photograph manager within Community moderation */
.gallery-position-admin{padding:24px 0 30px}
.gallery-position-admin-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:24px}
.gallery-position-admin-heading h3{font-family:var(--serif);font-size:29px;letter-spacing:-.025em;font-weight:400;color:var(--navy);margin:6px 0}
.gallery-position-admin-heading p{color:#6d8091;line-height:1.6;font-size:12px;margin:0;max-width:650px}
.gallery-position-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery-position-admin-card{background:#fff;border:1px solid #dfe7eb;box-shadow:0 5px 20px rgba(20,45,68,.045);border-radius:9px;overflow:hidden;min-width:0}
.gallery-position-admin-media{width:100%;aspect-ratio:3/2;background:#273c4c;overflow:hidden}
.gallery-position-admin-media img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-position-admin-media span{font-size:12px;color:#e1edf3;display:grid;place-items:center;height:100%}
.gallery-position-admin-detail{padding:13px 15px}
.gallery-position-admin-detail strong{font-size:12px;color:#183c55;font-weight:900;line-height:1.4}
.gallery-position-admin-detail p{font-size:10.5px;line-height:1.55;color:#8295a2;margin:5px 0 12px}
.gallery-position-admin-bottom{display:flex;gap:10px;justify-content:space-between;align-items:center}
.gallery-position-admin-bottom span{font-size:9.5px;font-weight:750;color:#8d9da7}
.gallery-position-admin-bottom .btn{font-size:10.2px;padding:9px 11px;white-space:nowrap}
.gallery-position-admin-more{text-align:center;margin:26px 0}
@media(max-width:1050px){.gallery-position-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gallery-position-admin-grid{grid-template-columns:1fr}.gallery-position-admin-heading{align-items:flex-start;flex-direction:column}}


/* Explicit three-dot photo menu: Outlook only opens after choosing Report. */
.memory-action-container{position:relative;flex:0 0 32px;align-self:center;z-index:6}
.memory-action-container .memory-more{cursor:pointer}
.memory-more[aria-expanded="true"]{background:#edf3f7;color:#183f5b}
.memory-actions-dropdown{position:absolute;right:0;top:calc(100% + 7px);z-index:20;min-width:225px;max-width:min(280px,calc(100vw - 30px));padding:6px;background:#fff;border:1px solid #dce5e9;border-radius:9px;box-shadow:0 13px 35px rgba(16,44,66,.18);display:flex;flex-direction:column;gap:2px}
.memory-actions-dropdown[hidden]{display:none!important}
.memory-actions-dropdown button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;line-height:1.4;border:0;border-radius:6px;background:transparent;color:#274e69;font-size:11.5px;font-weight:750;cursor:pointer}
.memory-actions-dropdown button .icon{width:15px;height:15px;flex-shrink:0}
.memory-actions-dropdown button:hover,.memory-actions-dropdown button:focus-visible{background:#edf3f7;outline:none}
.memory-actions-dropdown button.danger{color:#a03831;border-top:1px solid #e5ecef;border-radius:0 0 6px 6px;margin-top:3px}
.memory-actions-dropdown button.danger:hover{background:#fff0ee}
.photo-edit-context{display:flex;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;padding-bottom:15px;margin-bottom:20px;border-bottom:1px solid #e4eaec}
.photo-edit-context strong{font-size:13px;color:#163e59}
.photo-edit-context span{font-size:11px;color:#8395a0}
.photo-edit-note{padding:13px 15px;border-left:3px solid #bd8f43;border-radius:0 6px 6px 0;background:#fff9eb;color:#6e614b;font-size:11px;line-height:1.65;margin:12px 0 18px}
@media(max-width:620px){.memory-actions-dropdown{min-width:210px;right:0}.memory-action-container{flex-basis:32px}}


/* Independent drag-to-position views for gallery cards and homepage hero banners. */
.gallery-crop-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 22px;padding:6px;border:1px solid #e3e9ed;border-radius:9px;background:#f4f7f9}
.gallery-crop-view-tabs button{min-height:43px;padding:11px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#516c80;cursor:pointer;font-size:11.5px;font-weight:900;line-height:1.45}
.gallery-crop-view-tabs button:hover:not(:disabled){background:#fff;color:#193e5a}
.gallery-crop-view-tabs button.active{background:#fff;color:#153b57;border-color:#d6b278;box-shadow:0 3px 12px rgba(18,54,79,.07)}
.gallery-crop-view-tabs button:focus-visible{outline:3px solid #d9a441;outline-offset:2px}
.gallery-crop-draggable{position:relative;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}
.gallery-crop-draggable.is-dragging{cursor:grabbing;border-color:#d9a441;box-shadow:0 0 0 3px rgba(217,164,65,.20)}
.gallery-crop-draggable img{pointer-events:none;user-select:none;-webkit-user-drag:none;will-change:object-position,transform}
.gallery-crop-draggable:focus-visible{outline:3px solid #c89c55;outline-offset:3px}
.gallery-crop-drag-hint{pointer-events:none;position:absolute;bottom:11px;left:50%;transform:translateX(-50%);padding:7px 12px;background:rgba(13,36,55,.84);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:99px;font-size:10px;letter-spacing:.03em;font-weight:800;white-space:nowrap;z-index:3}
.gallery-crop-draggable.is-dragging .gallery-crop-drag-hint{opacity:.35}
.gallery-crop-viewport.gallery-hero-preview{background:#142e47;border-color:#b6cbd5}
.gallery-crop-viewport.gallery-hero-preview.hero-desktop{aspect-ratio:1680/430;width:100%;min-height:0}
.gallery-crop-viewport.gallery-hero-preview.hero-mobile{aspect-ratio:390/548;max-width:min(100%,320px);margin:auto}
.gallery-hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5% 7%;background:linear-gradient(95deg,rgba(8,27,48,.65),rgba(8,27,48,.10));color:#fff;z-index:2;pointer-events:none;overflow:hidden;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.gallery-hero-overlay span{font-size:9px;letter-spacing:.16em;font-weight:900;color:#f5cf7c;margin-bottom:5px}
.gallery-hero-overlay strong{font-family:Georgia,serif;font-size:clamp(14px,2.7vw,23px);line-height:1.1;white-space:nowrap;font-weight:700;letter-spacing:-.04em}
.gallery-hero-overlay strong em{color:#e4b258}
.gallery-hero-overlay small{font-size:9px;line-height:1.5;max-width:270px;color:#e3eaf0;margin-top:7px}
.gallery-hero-preview.hero-mobile .gallery-hero-overlay{justify-content:flex-end;align-items:center;text-align:center;padding:18% 9% 26%;background:linear-gradient(180deg,transparent 15%,rgba(8,27,48,.15) 35%,rgba(8,27,48,.88) 66%,rgba(8,27,48,.95) 100%)}
.gallery-hero-preview.hero-mobile .gallery-hero-overlay span{font-size:8px}
.gallery-hero-preview.hero-mobile .gallery-hero-overlay strong{font-size:23px;white-space:normal}
.gallery-hero-preview.hero-mobile .gallery-hero-overlay small{font-size:10px}
.gallery-hero-preview.hero-mobile .gallery-crop-drag-hint{bottom:10px}
.gallery-hero-layout .gallery-crop-preview-side{min-width:0}
.gallery-crop-hero-state,.gallery-crop-notice{margin:0;padding:11px 14px;border-left:3px solid #c99a4a;border-radius:0 6px 6px 0;color:#645a46;background:#fffaf1;font-size:11px;line-height:1.6}
.gallery-crop-notice{background:#f2f7fa;border-color:#4f8198;color:#37556c}
.gallery-crop-caption a{color:#166384;text-decoration:underline;font-weight:850}
@media(max-width:720px){.gallery-crop-view-tabs{gap:3px;padding:4px}.gallery-crop-view-tabs button{font-size:10px;padding:9px 5px}.gallery-hero-preview.hero-desktop .gallery-hero-overlay span{font-size:7px}.gallery-hero-preview.hero-desktop .gallery-hero-overlay strong{font-size:clamp(13px,3.4vw,21px)}.gallery-hero-preview.hero-desktop .gallery-hero-overlay small{font-size:8px}}
@media(max-width:420px){.gallery-crop-view-tabs{grid-template-columns:1fr}.gallery-crop-view-tabs button{min-height:34px}.gallery-crop-drag-hint{font-size:9px;padding:6px 10px}.gallery-hero-preview.hero-mobile{max-width:245px}}


/* Per-photograph inclusion switch for the homepage hero rotation. */
.hero-visibility-setting{margin:18px 0 5px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#f3f8f8;border:1px solid #d8e7e5;border-left:4px solid #c79b51;border-radius:8px;padding:16px 19px}
.hero-visibility-description{flex:1;min-width:0}
.hero-visibility-description strong{display:block;font-size:12.5px;font-weight:900;color:#1a4359;margin-bottom:5px}
.hero-visibility-description small{display:block;font-size:10.8px;line-height:1.55;color:#64808b}
.hero-visibility-toggle{display:inline-flex;align-items:center;justify-content:flex-end;gap:9px;flex-shrink:0;position:relative;cursor:pointer;padding:4px 0}
.hero-visibility-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0;overflow:hidden}
.hero-visibility-track{display:inline-flex;align-items:center;width:54px;height:29px;padding:3px;border-radius:99px;background:#aab9c2;border:1px solid #879da9;transition:background .15s ease,border-color .15s ease}
.hero-visibility-track>span{display:block;width:21px;height:21px;background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(14,39,54,.18);transform:translateX(0);transition:transform .15s ease}
.hero-visibility-toggle input:checked+.hero-visibility-track{background:#26835b;border-color:#207850}
.hero-visibility-toggle input:checked+.hero-visibility-track>span{transform:translateX(24px)}
.hero-visibility-toggle input:focus-visible+.hero-visibility-track{outline:3px solid #d1a14b;outline-offset:3px}
.hero-visibility-toggle input:disabled+.hero-visibility-track{opacity:.55}
.hero-visibility-state{font-size:11px;font-weight:950;color:#496678;min-width:28px}
.hero-visibility-toggle:has(input:checked) .hero-visibility-state{color:#1e794f}
.hero-visibility-loading,.hero-visibility-error{font-size:11px;font-weight:850;color:#657f8a}
.hero-visibility-error{color:#a94b3e}
@media(max-width:600px){.hero-visibility-setting{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 15px}.hero-visibility-toggle{align-self:flex-end}}

/* Unified Moderator Hub access on the On the Range header. */
.staff-hub-link{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#153b59;border:1px solid #dde6eb;border-radius:7px;padding:9px 13px;margin-right:10px;text-decoration:none;font-size:12px;font-weight:850;white-space:nowrap}
.staff-hub-link:hover{background:#f6f2e9;border-color:#d9a441}
@media(max-width:760px){.staff-hub-link{padding:8px 10px;font-size:10px;margin-right:3px}}


/* Photo concerns: discreet visitor flag below each individual gallery photograph. */
.photo-card-flag-row{display:flex;justify-content:flex-end;align-items:center;padding:10px 0 2px}
.photo-card-flag,.photo-view-report{appearance:none;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#728495;font-size:10.7px;font-weight:750;line-height:1.5;cursor:pointer;padding:5px 6px;border-radius:5px}
.photo-card-flag .icon,.photo-view-report .icon{width:13px;height:13px;flex-shrink:0}
.photo-card-flag:hover,.photo-view-report:hover{color:#953d34;background:#fff5f1}
.photo-card-flag:focus-visible,.photo-view-report:focus-visible{outline:3px solid #ccab68;outline-offset:2px}
.photo-view-report{margin-top:9px;color:#5b7589;font-size:11px;border:1px solid #dee7ea;padding:10px 12px}
.photo-flag-dialog{width:min(690px,calc(100vw - 28px))}
.photo-flag-modal{padding-bottom:14px}
.photo-flag-context{display:flex;align-items:center;gap:16px;padding:13px 14px;margin:4px 0 22px;border:1px solid #e3e9ec;border-radius:8px;background:#f8fafb}
.photo-flag-context img,.photo-flag-no-image{width:110px;height:84px;border-radius:5px;object-fit:cover;flex:0 0 110px;background:#e3eaee}
.photo-flag-no-image{display:grid;place-items:center;text-align:center;padding:10px;color:#738694;font-size:10px}
.photo-flag-context>div:last-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.photo-flag-context strong{font-weight:900;font-size:13px;color:#173e59}
.photo-flag-context span{color:#667d8d;font-size:11px;line-height:1.55}
.photo-flag-context small{font-size:10px;color:#9b7436;font-weight:800}
.photo-flag-modal .form-field textarea{min-height:110px;resize:vertical}
.photo-flag-modal .form-field small{font-size:10.3px;color:#718695}
.photo-flag-modal .form-field label span{font-size:10px;font-weight:500;color:#8295a1}
.photo-flag-privacy{display:flex;gap:9px;align-items:flex-start;background:#f3f7f8;border-left:3px solid #d0a152;border-radius:0 6px 6px 0;padding:12px 14px;font-size:10.8px;line-height:1.7;color:#4e697b;margin:10px 0 20px}
.photo-flag-privacy .icon{margin-top:2px;flex:0 0 15px;width:15px;height:15px}
.photo-flag-success{padding:22px 0 18px;max-width:510px;margin:auto;text-align:center}
.photo-flag-success h3{font:700 23px Georgia,serif;color:#143c58;margin:12px 0}
.photo-flag-success p{color:#587082;line-height:1.7;font-size:12px;margin-bottom:14px}
.photo-flag-success .flag-success-mark{display:grid;place-items:center;margin:auto;width:51px;height:51px;border-radius:50%;background:#e7f5ed;color:#247e53}
.photo-flag-success .flag-success-mark .icon{width:26px;height:26px}
.photo-flag-success .flag-reference{color:#3a566a;font-size:11.5px;background:#f5f8fa;padding:10px;border-radius:5px}
.photo-flag-success .btn{margin-top:8px}

/* Confidential photo report moderation inbox. */
.photo-report-admin{margin-top:22px;padding:24px;border:1px solid #e1e8eb;border-radius:10px;background:#fff}
.photo-report-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:17px;margin-bottom:23px}
.photo-report-heading .eyebrow{font-size:10px;letter-spacing:.1em;color:#a56f29;font-weight:900}
.photo-report-heading h3{font-family:Georgia,serif;font-size:25px;font-weight:500;color:#143b56;margin:8px 0}
.photo-report-heading p{color:#60788a;font-size:11.8px;line-height:1.65;max-width:690px;margin:0}
.photo-report-tabs{display:flex;gap:6px;flex-shrink:0;border:1px solid #e0e8ec;border-radius:7px;padding:4px;background:#f5f8fa}
.photo-report-tabs button{border:0;border-radius:5px;background:transparent;padding:9px 12px;font-size:11px;font-weight:850;color:#5c788b;white-space:nowrap;cursor:pointer}
.photo-report-tabs button.active{background:#123b58;color:white}
.photo-report-tabs button:focus-visible{outline:3px solid #d8a956;outline-offset:2px}
.photo-report-list{display:grid;gap:17px}
.photo-report-card{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);overflow:hidden;border:1px solid #dce6e9;border-radius:9px;background:#fff;box-shadow:0 4px 14px rgba(22,49,66,.045)}
.photo-report-card.is-sensitive{border-left:4px solid #c68b51}
.photo-report-media{min-height:200px;position:relative;background:#e7edf0}
.photo-report-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#293948}
.photo-report-image-missing{display:grid;place-items:center;height:100%;font-size:12px;color:#78909c}
.photo-report-media-status{position:absolute;bottom:10px;left:10px;right:10px;display:block;padding:8px 10px;border-radius:5px;background:rgba(16,48,67,.9);color:#fff;font-size:10px;font-weight:900;line-height:1.35;text-align:center}
.photo-report-media-status.hidden-photo{background:rgba(116,52,43,.95)}
.photo-report-details{padding:20px 22px}
.photo-report-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:11px}
.photo-report-reason{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:900;color:#275877;background:#edf5f7;padding:7px 10px;border-radius:4px}
.photo-report-reason.urgent{background:#fff2e5;color:#97552c}
.photo-report-reason .icon{width:13px;height:13px}
.photo-report-status{font-size:10px;color:#59768a;font-weight:900}
.photo-report-team{display:block;font-size:13px;color:#153c59;margin-bottom:5px}
.photo-report-meta{color:#7c8d9c;font-size:10px;line-height:1.6}
.photo-report-comments{margin:13px 0 11px;color:#263f51;font-size:12.2px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.photo-report-reporter{display:flex;gap:5px 14px;flex-wrap:wrap;font-size:10.8px;color:#667e8d;padding:10px 0;border-top:1px solid #edf1f3}
.photo-report-reporter a{color:#246283;text-decoration:underline;overflow-wrap:anywhere}
.photo-report-previous{background:#f6f8fa;color:#566e80;padding:10px 12px;border-radius:5px;font-size:10.8px;line-height:1.55}
.photo-report-details .form-field{margin:11px 0}
.photo-report-details textarea{width:100%;min-height:74px;resize:vertical}
.photo-report-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:12px 0}
.photo-report-actions .btn{font-size:10.5px;min-height:36px}
.photo-report-note{margin:10px 0 0;color:#768b9a;font-size:10.4px;line-height:1.55}
@media(max-width:940px){.photo-report-heading{flex-direction:column;align-items:flex-start}.photo-report-card{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:660px){.photo-report-admin{padding:13px}.photo-report-card{grid-template-columns:1fr}.photo-report-media{height:185px;min-height:185px}.photo-report-details{padding:15px}.photo-report-tabs{flex-wrap:wrap;width:100%}.photo-report-tabs button{flex:1}.photo-flag-context img{width:88px;height:76px;flex-basis:88px}}
