@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--navy:#111d33;--navy2:#20334f;--green:#b6ed52;--teal:#37bb9d;--ink:#17253e;--muted:#7a8799;--line:#e6ecf1;--bg:#f4f7f9;--white:#fff;--danger:#d5435a;--shadow:0 14px 40px rgba(19,32,53,.045)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit} .layout{display:flex;min-height:100vh}
.sidebar{width:248px;background:var(--navy);color:#fff;flex-shrink:0;padding:28px 17px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:3px 10px 50px}.brand-icon{height:41px;width:41px;background:var(--green);border-radius:14px;display:grid;place-items:center;font-size:30px;color:var(--navy);font-weight:bold;transform:rotate(-14deg)}.brand strong{font:700 21px 'Space Grotesk',sans-serif;letter-spacing:-1px}.brand strong span{color:var(--green)}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#879ab1;margin-top:4px}.navlabel{font-size:10px;letter-spacing:2px;color:#678099;margin:0 13px 12px;font-weight:800}.nav{display:flex;align-items:center;text-align:left;width:100%;background:transparent;border:0;color:#9aaec5;border-radius:10px;padding:15px 16px;gap:16px;margin:4px 0;font-weight:700}.nav:hover,.nav.active{color:#fff;background:#263a54}.nav.active:before{content:'';position:absolute;left:17px;height:25px;width:3px;background:var(--green);border-radius:3px}.nav:first-letter{font-size:23px}.sidefoot{margin-top:auto;border-top:1px solid #314258;padding:24px 10px 8px;color:#a7bbcd;font-size:12px}.sidefoot small{display:block;margin-top:8px;font-size:10px;color:#748ca4}.online{color:var(--green);margin-right:7px}
.main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{padding:34px 48px 26px;display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow,.overline{font-weight:800;letter-spacing:2.1px;font-size:10px;color:#8a98a9;margin-bottom:7px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;letter-spacing:-.7px}h1{font-size:30px;margin-bottom:0}h2{font-size:24px}h3{font-size:18px;margin-bottom:15px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.role-chip{font-size:11px;font-weight:800;color:#315f5d;background:#e6f7ef;border:1px solid #c5eadb;padding:10px 13px;border-radius:99px;white-space:nowrap}
#app{padding:5px 48px 55px;max-width:1600px;width:100%;margin:0 auto;flex:1}footer{text-align:center;font-size:11px;color:#a1aebd;padding:20px 10px 26px}.hero{border-radius:19px;background:var(--navy);color:#fff;min-height:235px;padding:38px 42px;position:relative;display:flex;justify-content:space-between;gap:25px;overflow:hidden;margin-bottom:25px}.hero h2{font-size:31px;line-height:1.16;max-width:510px;margin:12px 0}.hero p{color:#a5b7cb;max-width:475px;font-size:14px;line-height:1.7;margin-bottom:25px}.hero .overline{color:var(--green)}.court{min-width:220px;align-self:stretch;opacity:.75;position:relative}.court:before{content:'';position:absolute;inset:-70px -65px -60px 10px;border:2px solid #446381;border-radius:100px;transform:rotate(-24deg)}.court:after{content:'';position:absolute;width:250px;height:250px;right:20px;top:-20px;border:1.5px solid #5e7893;box-shadow:0 0 0 40px #182d46,0 0 0 42px #38536a,0 0 0 82px #182d46,0 0 0 84px #38536a;transform:rotate(35deg);border-radius:6px}.ball{position:absolute;background:var(--green);height:70px;width:70px;right:106px;top:70px;border-radius:50%;box-shadow:0 12px 30px #081b2d;z-index:2}
.primary,.outline,.secondary,.danger,.mini{border-radius:10px;padding:12px 19px;font-size:12px;font-weight:800;border:1px solid transparent;transition:transform .12s,background .12s;white-space:nowrap}.primary:hover,.outline:hover,.secondary:hover,.mini:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#132135}.outline{background:white;border:1px solid #dce5eb;color:var(--navy)}.secondary{background:#e9f0f5;color:#31536e}.danger{color:#b12e44;background:#fff0f2;border:1px solid #f8d6db}.mini{padding:7px 11px;background:#eff5f8;color:#35546a;font-size:11px}.buttonrow{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 14px}.section-head h3,.section-head h2{margin:0}.subtext{font-size:13px;color:var(--muted);line-height:1.65}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px 22px;box-shadow:var(--shadow)}.stat .symbol{font-size:20px;color:#4c9c85;float:right;background:#e7f8ed;border-radius:10px;padding:8px}.stat small{color:var(--muted);display:block;font-size:12px;font-weight:700;margin-bottom:8px}.stat strong{font:700 28px 'Space Grotesk',sans-serif}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border-radius:14px;background:#fff;border:1px solid var(--line);padding:22px;box-shadow:var(--shadow)}.event-card{cursor:pointer;min-height:183px;display:flex;flex-direction:column}.event-card:hover{border-color:#8bd1bc;box-shadow:0 7px 25px #143a3212}.card h3{margin:9px 0 8px;font-size:19px}.muted{color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:6px;background:#e4f6ed;color:#33846b;padding:6px 9px;border-radius:5px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.tag.gray{background:#eaf0f5;color:#697f94}.tag.blue{background:#e7edfb;color:#516daa}.event-meta{margin-top:auto;display:flex;gap:15px;font-size:11px;color:var(--muted);font-weight:800;padding-top:19px}.panel{background:white;border-radius:14px;border:1px solid var(--line);padding:25px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel-head h3{margin:0}.tablewrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}thead th{text-align:left;background:#f4f7fa;color:#8190a3;text-transform:uppercase;letter-spacing:.7px;font-size:10px;padding:13px 12px;white-space:nowrap}tbody td{padding:13px 12px;border-bottom:1px solid #f0f3f6}tbody tr:last-child td{border-bottom:0}.num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-variant-numeric:tabular-nums}.player-cell{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800}.avatar{width:32px;height:32px;border-radius:9px;background:#e7eef7;color:#4b6785;display:grid;place-items:center;font-size:11px;font-weight:800;flex-shrink:0}.rank{color:#7a8ba0;font-weight:800}.toprank{color:#1a7b62}.empty{text-align:center;padding:50px 20px;color:#8191a5;font-size:13px;background:#fff;border:1px dashed #d6e0e8;border-radius:12px}.empty-icon{font-size:33px;display:block;margin-bottom:12px;color:#8ca3b8}.detailhead{margin-bottom:20px}.back{border:none;background:transparent;color:#7590a4;padding:0;font-size:12px;font-weight:800;margin-bottom:12px}.detailhead .heading-row{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.detailhead h2{font-size:27px;margin:2px 0 7px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.tab{border:1px solid #e4eaf0;padding:10px 15px;background:#fff;border-radius:9px;font-weight:800;color:#8192a5;font-size:12px}.tab.active{background:var(--navy);color:white;border-color:var(--navy)}.matches{display:grid;gap:10px}.match{border:1px solid #e6edf2;border-radius:10px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:12px 15px;align-items:center;background:white}.match .opponents{font-size:12px;line-height:1.7}.match .opponents strong{font-weight:800}.match .opponents .winner{color:#249771}.match .score{font:700 12px 'Space Grotesk',sans-serif;white-space:nowrap;color:#3f5269}.round-title{font-size:11px;font-weight:800;color:#7a8ba2;letter-spacing:.8px;text-transform:uppercase;margin:19px 0 9px}.bracket{display:flex;gap:20px;overflow:auto;padding:8px 1px 17px}.bracket-col{min-width:235px;flex:1}.bracket-col .match{display:block;margin-bottom:12px;padding:14px}.bracket-col .score{padding:9px 0}.bracket-col .mini{width:100%}.leader-note{font-size:11px;color:#8796a5;margin:10px 0 0}.alert{padding:14px 16px;background:#e8f6ea;border:1px solid #cde9d1;border-radius:10px;color:#38664e;font-size:12px;margin-bottom:15px}.fields{display:grid;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:800;color:#46596d}.field input,.field select{width:100%;padding:12px;border:1px solid #dfe8ee;border-radius:9px;background:white;color:#203550;outline:none;font-size:13px}.field input:focus,.field select:focus{border-color:#60bda5;box-shadow:0 0 0 3px #60bda517}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-list{border:1px solid #e4eaf0;border-radius:10px;max-height:235px;overflow-y:auto;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.check{font-size:12px;display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px}.check:hover{background:#f4f7fa}.check input{accent-color:#2da582}.form-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}dialog{max-width:min(510px,calc(100% - 20px));width:100%;border:none;border-radius:18px;box-shadow:0 30px 100px #111e3345;padding:28px;color:#1c2c43}dialog::backdrop{background:#0c1839a6;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin-bottom:9px}dialog .subtext{margin-bottom:20px}#toast{position:fixed;bottom:24px;right:26px;background:#19354c;color:#fff;border-radius:10px;z-index:9999;padding:14px 18px;font-size:12px;font-weight:700;box-shadow:0 15px 30px #13213930;display:none;max-width:360px}#toast.error{background:#ba334b}.loader{padding:100px 20px;text-align:center;color:#7890a4}.hint{font-size:11px;color:#8c9cac;margin-top:4px}.status-completed{color:#168768}.status-pending{color:#a8aeb6}.set-row{display:grid;grid-template-columns:68px 1fr 1fr;gap:9px;align-items:center;margin-bottom:9px}.set-row label{font-size:12px;font-weight:800;color:#667b8e}.set-row input{text-align:center;padding:12px;width:100%;border-radius:8px;border:1px solid #dfe8ee}.section-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pill{display:inline-block;background:#f0f6f7;color:#507281;padding:5px 7px;border-radius:4px;font-size:10px;font-weight:800}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:28px 30px 20px}#app{padding:8px 30px 40px}}
@media(max-width:780px){.layout{display:block}.sidebar{height:auto;width:100%;position:relative;padding:10px 16px;flex-direction:row;justify-content:space-between;align-items:center}.brand{margin:0 10px 0 0}.brand strong{font-size:16px}.brand-icon{width:36px;height:36px}.brand small,.navlabel,.sidefoot{display:none}.sidebar nav{display:flex;gap:3px}.nav{padding:11px;font-size:12px;margin:0;width:auto}.nav span{display:none}.nav.active:before{display:none}.topbar{padding:23px 20px 18px;align-items:start}.topbar h1{font-size:25px}.toolbar{justify-content:flex-end}.role-chip{display:none}#app{padding:8px 17px 35px}.hero{padding:26px;min-height:200px}.hero h2{font-size:24px}.court{display:none}.event-grid{grid-template-columns:1fr}.section-split{grid-template-columns:1fr}.panel{padding:17px}}
@media(max-width:440px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat strong{font-size:23px}.topbar{gap:7px}.topbar .outline{font-size:10px;padding:9px}.checkbox-list{grid-template-columns:1fr}.two{grid-template-columns:1fr}.match{grid-template-columns:1fr auto}.match button{grid-column:1/-1}.hero{padding:20px}}

.check .seed-order{width:62px;margin-left:auto;text-align:center;border:1px solid #dae5ed;border-radius:6px;padding:6px 4px;font-size:11px;background:#fff;color:#37516a}.check span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.checkbox-list{grid-template-columns:1fr}.check{border-bottom:1px solid #f2f5f7}.check:last-child{border-bottom:0}

/* v2: high-contrast tournament selectors and bulk import tools */
html, body, dialog, input, select, textarea { color-scheme: light; }
dialog { max-width:min(650px,calc(100% - 20px)); max-height: min(92vh,900px); overflow-y:auto; }
.field textarea, .field input[type="file"], .field input[type="search"] { width:100%; border:1px solid #cedbe7; border-radius:9px; background:#fff; color:#17253e; padding:12px; font-size:13px; }
.field textarea { resize:vertical; font-family:'DM Sans',system-ui,sans-serif; line-height:1.6; min-height:160px; }
.field textarea:focus, .field input[type="file"]:focus, .field input[type="search"]:focus { outline:2px solid #4cae94; outline-offset:1px; }
.checkbox-list { background:#f9fbfd; border:1px solid #bfcfdc; padding:8px; gap:5px; }
.checkbox-list .participant-option { color:#142840 !important; background:#fff !important; border:1px solid #e3eaf0; border-radius:9px; padding:10px 12px; display:flex; align-items:center; font-weight:700; opacity:1; }
.checkbox-list .participant-option:hover { background:#eaf7f0 !important; border-color:#80bea8; }
.checkbox-list .participant-option:has(input[name="participant"]:checked) { background:#eef9f3 !important; border-color:#aadbc2; }
.checkbox-list .participant-option .participant-name { color:#142840 !important; -webkit-text-fill-color:#142840; font-size:13px; font-weight:800; opacity:1; visibility:visible; }
.checkbox-list .participant-option input[type="checkbox"] { accent-color:#168568; min-width:17px; width:17px; height:17px; flex-shrink:0; }
.checkbox-list .participant-option .seed-order { color:#142840 !important; background:#fff !important; border:1px solid #b8cbd9; }
.checkbox-list .participant-option[hidden] { display:none !important; }
.selection-summary { display:flex; justify-content:space-between; align-items:center; padding:5px 3px; color:#536c84; font-size:12px; }
.selection-summary strong { color:#1f7761; }
.prize-fields { border:1px solid #cfdfd9; padding:14px; margin:0; border-radius:11px; background:#f7fcf9; min-width:0; }
.prize-fields legend { padding:0 8px; color:#254b40; font-weight:800; font-size:13px; }
.prize-fields .hint { margin:0 0 12px; line-height:1.5; }
.three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.prize-banner { background:linear-gradient(115deg,#163248,#214d4a); border:1px solid #37675f; color:#f6fff8; border-radius:13px; padding:17px 20px; margin:14px 0; display:flex; flex-direction:column; gap:7px; }
.prize-banner strong { color:#c4f17d; font-size:15px; }
.prize-banner div { font-size:15px; font-weight:800; }
.prize-banner span { font-size:12px; }
.prize-banner small { color:#cddedb; font-size:10px; }
.event-prize { margin-top:12px; font-weight:800; color:#226b54; font-size:12px; }
@media(max-width:550px) { .three { grid-template-columns:1fr; } .section-head { flex-wrap:wrap; } .section-head .buttonrow { width:100%; } .section-head .buttonrow button { flex:1; } }


/* v3 — Tennis Riot League official identity, pastel mint courts and lime accents */
:root {
  --navy:#0b1a14; --navy2:#163020; --green:#83ee1d; --teal:#32ac70;
  --ink:#193127; --muted:#687c70; --line:#d8e7d9; --bg:#eff7ef;
  --white:#fafff7; --danger:#c83b4b; --shadow:0 12px 28px #244b2510;
}
html,body {background:#eff7ef;color:var(--ink)}
.main {background:linear-gradient(145deg,#eaf5e9 0%,#f6f8ee 65%,#edf7e7 100%)}
.sidebar{background:linear-gradient(160deg,#07140d 0%,#10281b 100%);border-right:1px solid #26412b;width:254px}
.brand {margin:3px 4px 36px;gap:11px;align-items:center}
.brand-image {width:70px;height:70px;object-fit:contain;border-radius:9px;background:#000;flex-shrink:0;box-shadow:0 0 15px #85ff1820}
.brand-copy{min-width:0}.brand strong{font-size:18px;line-height:1.15;display:block;white-space:normal}.brand strong span{color:var(--green)}
.brand small{color:#b9e1ae;letter-spacing:1.2px;font-size:9px}
.nav{color:#aac5af;gap:10px;white-space:nowrap}.nav:hover,.nav.active{background:#264c2b;color:#e9ffe0}.nav.active:before{background:var(--green)}
.navlabel{color:#9fbca3}.sidefoot{border-color:#344b36;color:#c2d8c0}.sidefoot small{color:#829b86}
.topbar{background:transparent}.eyebrow,.overline{color:#5a8b57}.role-chip{background:#e1f4d9;color:#1d6038;border-color:#c9e7bd}
.hero{background:radial-gradient(circle at 82% 15%,#294421 0%,#0f2115 37%,#06130b 100%);border:1px solid #33432c;min-height:290px;align-items:center}
.hero h2{font-size:clamp(26px,3vw,43px);line-height:1.16}.hero p{color:#c1d8c1}
.hero-logo {width:235px;height:235px;object-fit:contain;filter:drop-shadow(0 12px 20px #0006);border-radius:12px}
.hero .overline{color:var(--green)}.hero-secondary{color:#daf5ca;background:#ffffff13;border:1px solid #6b976a;border-radius:10px;padding:12px 19px;font-size:12px;font-weight:800}
.hero-secondary:hover{background:#ffffff21}
.card,.panel,.stat,.empty{background:#fbfff8;border-color:#d4e5d2;box-shadow:0 5px 25px #1e4b1d08}
.card.event-card:hover{border-color:#83c56d;box-shadow:0 12px 28px #234b2617}
.stat strong,.career-points{color:#204629}.tag{background:#e1f5db;color:#28683b}
.primary{background:#83ef25;color:#0b240d}.primary:hover{background:#a4fa4a}
.secondary,.mini{background:#e5f3e2;color:#2a5938}.outline{background:#f9fff4;border-color:#c8ddc4;color:#21482c}
.tablewrap table thead th {background:#edf7e9;color:#527757}tbody td{border-bottom:1px solid #e8efe5}
.avatar{background:#e6f6de;color:#3d743a}.toprank,.rank.toprank{color:#287c40}
.tabs .tab {background:#f9fff5;border-color:#d9e6d5;color:#5c7c63}.tabs .tab.active{background:#173b23;color:#f3ffef;border-color:#173b23}
.detailhead .overline{color:#297747}
.leader-note{color:#66816c}.alert{background:#e9f9df;border-color:#bfe2b3;color:#2c6b32}
.field input,.field select,.field textarea{background:#fffef8;border-color:#cbdcce;color:#1a3927}
.stats-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(100deg,#dff5c9,#ebf8da 60%,#dff3d6);border:1px solid #c5e3b6;border-radius:16px;padding:22px 27px;margin:0 0 21px;box-shadow:0 6px 19px #597b3820}
.stats-banner h3{font-size:15px;margin:7px 0 3px;color:#1e4b2c;letter-spacing:.35px}.stats-banner p{font-size:12px;color:#65846b;margin:0}.banner-label{font-weight:900;font-size:10px;letter-spacing:2px;color:#337a2c}
.banner-highlights{display:flex;gap:25px;align-items:center;flex-wrap:wrap}
.banner-highlights span{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#517054;font-weight:700;max-width:165px}
.banner-highlights strong{font-family:'Space Grotesk',sans-serif;font-size:22px;color:#15371b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ranking-note {background:#eaf7e3;border-left:4px solid #60c647;border-radius:12px;padding:17px 19px;line-height:1.65;font-size:12px;color:#416349;margin:10px 0 18px}
.ranking-note strong{color:#204c2c}.career-points{font-weight:900;font-size:15px;white-space:nowrap}
.auto-seed{font-size:11px;font-weight:800;color:#338447;padding:5px 6px;background:#eff9e9;border-radius:6px;white-space:nowrap}
.checkbox-list .participant-option {background:#fcfff9 !important;border-color:#cddccf;color:#172d21 !important}
.checkbox-list .participant-option .participant-name {color:#1d3525 !important}
/* Professional connected knockout draw. All columns use position/round numbers from the DB. */
.bracket-intro{padding:12px 0;color:#61816b;font-size:12px}
.bracket{display:flex;gap:66px;overflow-x:auto;overflow-y:hidden;padding:8px 4px 24px;max-width:100%;scrollbar-color:#85b585 #e9f6e7}
.bracket-col{flex:0 0 245px;width:245px;min-width:245px}
.bracket-heading {height:36px;font-size:11px;font-weight:900;letter-spacing:1.5px;color:#327e43;border-bottom:2px solid #c2e4be;padding:0 0 12px}
.bracket-track {position:relative;width:245px}
.bracket-slot{position:absolute;left:0;width:245px;min-height:116px}
.bracket-slot .match{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:9px 12px;border:1.5px solid #cee6c8;border-left:4px solid #a6e48c;border-radius:10px;background:#fbfff7;box-shadow:0 3px 9px #244c2515;min-height:105px;position:relative;z-index:1}
.bracket-slot .opponents{font-size:12px;line-height:1.65;font-weight:800;color:#263f2a;overflow-wrap:anywhere}
.bracket-slot .opponents>div{font-weight:800;padding:3px 4px;border-radius:4px}
.bracket-slot .opponents>div.winner{background:#e1f8d2;color:#26742a;font-weight:900}
.bracket-slot .score{font-size:11px;grid-row:1;grid-column:2;align-self:center}
.bracket-slot .mini{grid-column:1/-1;font-size:10px;padding:5px 6px;width:auto}
.bracket-slot:not(.last-round)::after{content:'';position:absolute;right:-22px;top:50%;width:22px;border-top:2px solid #86b988;z-index:0}
.connector-stem{position:absolute;right:-22px;width:1px;border-right:2px solid #86b988;pointer-events:none}
.connector-next{position:absolute;right:-66px;width:44px;border-top:2px solid #86b988;pointer-events:none}
.bracket-col:last-child .bracket-slot .match {border-left-color:#80e747;background:#f3ffe9}
.match:not(.bracket-match) .opponents>div{font-weight:800}
.match .opponents .winner{color:#227e32;font-weight:900!important}
/* Gallery and contact layouts */
.memory-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:17px;margin-top:12px}
.memory-card{background:#fcfff9;border:1px solid #d5e5d4;border-radius:13px;overflow:hidden;box-shadow:0 5px 16px #19481910;min-width:0}
.memory-visual{background:#10251a;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}
.memory-visual a,.memory-visual img,.memory-visual video{display:block;width:100%;height:100%;object-fit:cover}
.memory-caption{display:flex;align-items:flex-start;justify-content:space-between;padding:12px;gap:7px}
.memory-caption strong{display:block;font-size:12px;line-height:1.45;color:#25422c;overflow-wrap:anywhere}
.memory-caption small{display:block;margin-top:6px;font-size:10px;color:#78937a}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:18px}.contact-feature{background:linear-gradient(145deg,#14351d,#0b1c10);color:#f7fff6;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.contact-feature img{width:min(170px,80%);height:auto;object-fit:contain}.contact-feature h3{color:#91fa51;font-size:24px;margin-bottom:4px}.contact-feature p{font-size:13px;line-height:1.7;color:#d4e6d2;white-space:pre-wrap}
.contact-list h3{margin-bottom:21px}.contact-list>div{display:flex;flex-direction:column;gap:6px;padding:13px 0;border-bottom:1px solid #e0e9dc}.contact-list>div:last-child{border:0}.contact-list span{color:#779075;font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:800}.contact-list strong,.contact-list a{font-size:14px;font-weight:700;color:#1d5c2e;overflow-wrap:anywhere}
@media(max-width:1100px){.hero-logo{width:175px;height:175px}.banner-highlights{gap:14px}.brand-image{width:55px;height:55px}.brand strong{font-size:16px}}
@media(max-width:780px){.sidebar{height:auto;position:relative;width:100%;padding:10px 16px;flex-wrap:wrap;gap:8px}.brand{margin:0}.brand-image{width:44px;height:44px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:8px}.sidebar nav{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:100%}.nav{padding:8px 11px;font-size:12px;width:auto;margin:0}.nav span{display:inline}.stats-banner{display:block}.banner-highlights{margin-top:18px}.hero-logo{width:115px;height:115px}.hero{min-height:220px}.contact-layout{grid-template-columns:1fr}}
@media(max-width:520px){.hero-logo{width:75px;height:75px;align-self:start}.hero{gap:5px}.hero h2{font-size:26px}.banner-highlights span{max-width:110px}.banner-highlights strong{font-size:17px}.nav{font-size:11px;padding:7px}.brand-copy small{display:none}.stats-banner{padding:16px}}
