:root{--wine:#005fb3;--wine-dark:#02357b;--wine-soft:#eaf4ff;--gold:#ef8a14;--gold-soft:#ffe1bb;--cream:#f8fbff;--ink:#1f1f1f;--muted:#59616a;--line:#dce5ee;--green:#1d7651;--red:#a72834;--amber:#996b06;--blue:#005fb3;--shadow:0 14px 34px rgba(0,69,130,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f4f1;color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--wine);text-decoration:none}a:hover{text-decoration:underline}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);position:sticky;top:0;z-index:30}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);min-width:220px}.brand:hover{text-decoration:none}.brand-mark{display:block;width:52px;height:52px;object-fit:contain;border-radius:50%;background:#fff}.brand-wordmark{display:flex;flex-direction:column;line-height:1}.brand-wordmark strong{display:block;font-size:21px;letter-spacing:.035em;font-weight:900;white-space:nowrap}.brand-cvc{color:#ef8a14}.brand-hall{color:#005fb3}.brand-wordmark small{display:block;margin-top:5px;font-size:9px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;max-width:180px;line-height:1.25}.topnav{display:flex;gap:19px;align-items:center}.topnav a{color:#262626;font-size:13px;transition:color .18s ease,background .18s ease}.topnav a:hover{color:var(--wine);text-decoration:none}.topnav .nav-cta{background:var(--wine);color:#fff;padding:9px 15px;border-radius:7px;box-shadow:0 5px 14px rgba(0,95,179,.18)}.topnav .nav-cta:hover{background:var(--wine-dark);color:#fff}.nav-toggle{display:none;border:0;background:none;font-size:24px}.staff-strip{padding:7px clamp(18px,4vw,64px);background:var(--wine-dark);color:#f8ead3;display:flex;justify-content:space-between;font-size:12px;border-bottom:2px solid var(--gold)}.app-main{max-width:1440px;margin:auto;padding:26px clamp(16px,3vw,42px) 70px}.public-main{min-height:70vh}.footer{background:linear-gradient(120deg,#02357b,#005fae);color:#f8efe7;padding:34px clamp(20px,5vw,72px);display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);align-items:center;gap:30px;border-top:3px solid var(--gold)}.footer small{color:#ddcfd3}.footer-security{text-align:right}.footer-aict{display:flex;flex-direction:column;gap:7px;align-items:center}.footer-aict-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ead7b4}.footer-aict a{display:block;background:#fff;border-radius:8px;padding:5px 7px;line-height:0;box-shadow:0 8px 22px rgba(0,0,0,.16)}.footer-aict img{display:block;width:88px;height:88px;object-fit:contain}.footer-aict-note{font-size:10px;color:#eaf4ff}.footer a:hover{text-decoration:none}.hero{background:linear-gradient(115deg,rgba(2,53,123,.96),rgba(0,95,179,.88)),radial-gradient(circle at right,#ef8a14,#005fb3);color:white;padding:clamp(54px,9vw,115px) clamp(22px,8vw,120px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:45px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:12px;color:var(--gold)}.hero h1{font:clamp(40px,6.3vw,78px)/1.02 Georgia,serif;margin:.15em 0}.hero p{font-size:18px;max-width:700px;color:#f5e9ed}.hero-card{background:#fff;color:var(--ink);padding:28px;border-radius:12px;box-shadow:var(--shadow)}.hero-card h3{margin-top:0}.section{padding:70px clamp(22px,8vw,120px)}.section.alt{background:#fff}.section h2{font:clamp(30px,4vw,48px)/1.1 Georgia,serif;margin:0 0 12px;color:var(--wine-dark)}.lead{font-size:18px;color:var(--muted);max-width:850px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px;box-shadow:0 3px 15px rgba(0,69,130,.04)}.card h3{margin-top:0;color:var(--wine-dark)}.stat{font:36px/1 Georgia,serif;color:var(--wine);margin:8px 0}.muted{color:var(--muted)}.small{font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:7px;padding:11px 17px;font-weight:700;cursor:pointer;box-shadow:0 5px 14px rgba(0,95,179,.12);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.btn:hover{background:var(--wine-dark);text-decoration:none;box-shadow:0 8px 18px rgba(2,53,123,.16)}.btn.secondary{background:#fff;color:var(--wine)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#271606}.btn.danger{background:var(--red);border-color:var(--red)}.btn.small{padding:7px 10px;font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.alert{max-width:1300px;margin:14px auto;padding:13px 16px;border-radius:8px;border:1px solid}.alert.success{color:#145538;background:#ecf8f1;border-color:#b8dec9}.alert.error{color:#791d27;background:#fff0f1;border-color:#efb9bf}.alert.warning{color:#725007;background:#fff9e5;border-color:#e9d38d}.form-card{max-width:980px;margin:32px auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(20px,4vw,38px);box-shadow:var(--shadow)}.form-card.narrow{max-width:560px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}label{font-weight:700;font-size:13px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d7cbcd;border-radius:7px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(239,138,20,.24);border-color:var(--gold)}.help{font-size:12px;color:var(--muted)}.checkbox{display:flex;gap:9px;align-items:flex-start}.checkbox input{width:auto;margin-top:5px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 24px}.page-head h1{margin:0;color:var(--wine-dark);font:36px/1.1 Georgia,serif}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#fbf8f5;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#3d434a}.table tr:last-child td{border:0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eee;font-weight:700;font-size:11px;text-transform:capitalize}.status-confirmed,.status-paid,.status-completed,.status-verified,.status-approved,.status-passed{background:#dff4e8;color:#155d3d}.status-hold,.status-partial,.status-submitted,.status-pending,.status-pending_approval,.status-pending_inspection{background:#fff2cc;color:#765004}.status-cancelled,.status-expired,.status-rejected,.status-overdue,.status-no_show{background:#ffe1e4;color:#86202c}.status-reserved,.status-issued{background:#e1f0f7;color:#155d7b}.progress{height:9px;background:#eee3e5;border-radius:9px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--wine));}.timeline{display:grid;gap:0}.timeline-item{border-left:2px solid var(--line);padding:0 0 22px 22px;position:relative}.timeline-item:before{content:"";width:10px;height:10px;background:var(--gold);border-radius:50%;position:absolute;left:-6px;top:5px}.deadline{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.policy-table{display:grid;grid-template-columns:1fr 1fr}.policy-table>div{padding:11px;border-bottom:1px solid var(--line)}.policy-table>div:nth-child(odd){font-weight:700}.notice{border:1px solid #efe2c6;border-radius:6px;background:#fffaf0;padding:14px 16px}.empty{text-align:center;padding:40px;color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-day{min-height:105px;background:#fff;border:1px solid var(--line);padding:7px;border-radius:6px}.calendar-day strong{display:block}.calendar-event{font-size:11px;padding:4px;margin-top:4px;background:#f2e3e8;color:var(--wine-dark);border-radius:4px}.tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:18px}.tabs a{padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:6px}.terms-box{height:230px;overflow:auto;border:1px solid var(--line);padding:15px;white-space:pre-line;background:#fbfaf8;border-radius:7px}.print-only{display:none}
.tabs a.active{background:var(--wine);border-color:var(--wine);color:#fff}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.toolbar .form-group{min-width:150px}.toolbar .grow{flex:1;min-width:230px}.quick-links{display:flex;gap:10px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:7px 14px}.detail-grid dt{font-weight:700;color:var(--muted)}.detail-grid dd{margin:0;word-break:break-word}.code-block{white-space:pre-wrap;word-break:break-word;background:#fbf8f5;border:1px solid var(--line);border-radius:7px;padding:10px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.status-in_progress,.status-accepted{background:#e1f0f7;color:#155d7b}.status-blocked,.status-disputed,.status-critical{background:#ffe1e4;color:#86202c}.status-assigned,.status-open{background:#fff2cc;color:#765004}.calendar-list{display:grid;gap:10px}.calendar-slot{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:8px}.calendar-slot-time{font-weight:700;color:var(--wine-dark)}.result-group{margin-top:20px}.result-type{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.audit-change{max-width:390px}.low-stock{color:var(--red);font-weight:700}.nowrap{white-space:nowrap}
@media(max-width:980px){.grid,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.topnav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.topnav.open{display:flex}.nav-toggle{display:block}}
@media(max-width:620px){.grid,.grid.two,.grid.four,.form-grid{grid-template-columns:1fr}.hero{padding-top:50px}.form-group.full{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.footer{grid-template-columns:1fr;align-items:flex-start}.footer-aict{align-items:flex-start}.footer-security{text-align:left}.brand-mark{width:44px;height:44px}.brand-wordmark strong{font-size:18px}.brand-wordmark small{display:none}.calendar-grid{grid-template-columns:1fr}.calendar-day{min-height:auto}.policy-table{grid-template-columns:1fr}.policy-table>div:nth-child(odd){padding-bottom:0;border:0}.table{min-width:600px}.staff-strip{display:none}}
@media print{.topbar,.staff-strip,.footer,.actions,.no-print{display:none!important}.app-main{padding:0}.card,.form-card,.table-wrap{box-shadow:none}.print-only{display:block}}

/* Venue gallery — uses the existing CVC palette and layout variables. */
.gallery-page-head{padding-bottom:34px}.gallery-page-head h1{font:clamp(34px,5vw,58px)/1.08 Georgia,serif;margin:.12em 0;color:var(--wine-dark)}.gallery-sample-note{margin-top:22px;max-width:980px}.gallery-section{padding-top:34px}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-tile{min-width:0}.gallery-photo-button{display:block;position:relative;width:100%;padding:0;border:0;background:#fff;border-radius:11px;overflow:hidden;cursor:pointer;box-shadow:0 3px 15px rgba(0,69,130,.07);aspect-ratio:4/3}.gallery-photo-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.gallery-photo-button:hover img{transform:scale(1.025)}.gallery-overlay{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;text-align:left;color:#fff;background:linear-gradient(transparent,rgba(2,53,123,.90))}.gallery-overlay strong,.gallery-overlay small{display:block}.gallery-overlay small{margin-top:3px}.gallery-sample-badge{position:absolute;top:11px;left:11px;background:var(--cream);color:var(--wine-dark);border:1px solid var(--gold);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.gallery-meta{display:flex;justify-content:space-between;gap:12px;padding:9px 3px 0;color:var(--muted);font-size:12px}.gallery-meta small{text-align:right}.gallery-lightbox{width:min(1000px,94vw);border:0;border-radius:12px;padding:0;background:#fff;box-shadow:var(--shadow)}.gallery-lightbox::backdrop{background:rgba(2,35,75,.84)}.gallery-lightbox img{display:block;width:100%;max-height:72vh;object-fit:contain;background:var(--wine-dark)}.gallery-lightbox-copy{padding:18px 22px}.gallery-lightbox-copy h3{margin:0 0 5px;color:var(--wine-dark)}.gallery-lightbox-copy p{margin:0 0 7px}.gallery-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:var(--wine-dark);font-size:26px;line-height:1;cursor:pointer;box-shadow:var(--shadow)}.gallery-home{background:var(--cream)}.gallery-home-note{color:var(--muted);font-size:12px;margin:-10px 0 18px}.gallery-home-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:180px;gap:12px}.gallery-home-photo{position:relative;overflow:hidden;border-radius:11px;background:#fff;min-width:0}.gallery-home-photo.featured{grid-row:span 2}.gallery-home-photo img{width:100%;height:100%;object-fit:cover;display:block}.gallery-home-photo span{position:absolute;left:0;right:0;bottom:0;padding:28px 13px 11px;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(2,53,123,.90))}.gallery-home-photo small{position:absolute;top:9px;left:9px;background:var(--cream);color:var(--wine-dark);border:1px solid var(--gold);border-radius:999px;padding:4px 7px;font-weight:700}.gallery-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gallery-admin-thumb{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;background:#eee}.gallery-admin-card .form-grid{gap:10px}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-home-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gallery-home-photo.featured{grid-column:1/-1;grid-row:auto;height:300px}.gallery-admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.gallery-grid{grid-template-columns:1fr}.gallery-home-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-home-photo.featured{grid-column:auto;height:auto}.gallery-meta{flex-direction:column}.gallery-meta small{text-align:left}.gallery-lightbox{width:96vw}.gallery-lightbox img{max-height:65vh}}

/* v1.2.10 public venue presentation — scoped to the homepage only.
   Header, logo, footer, palette and all application/portal layouts remain v1.2.8. */
.venue-home{background:#fff}.venue-home .section{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px)}
.venue-hero{min-height:clamp(570px,76vh,780px);position:relative;display:flex;align-items:flex-end;background:var(--wine-dark) var(--venue-hero-image) center/cover no-repeat;color:#fff;overflow:hidden}.venue-hero-no-photo{background:linear-gradient(120deg,var(--wine-dark),var(--wine))}.venue-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,8,17,.78) 0%,rgba(30,8,17,.52) 45%,rgba(30,8,17,.08) 78%),linear-gradient(0deg,rgba(30,8,17,.42),transparent 44%)}.venue-hero-copy{position:relative;z-index:1;width:min(780px,100%);padding:clamp(54px,8vw,110px) clamp(22px,8vw,120px)}.venue-kicker{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#fff}.venue-hero h1{margin:0;font:clamp(46px,6vw,78px)/1.04 Georgia,serif;letter-spacing:-.025em}.venue-hero-lead{max-width:690px;margin:24px 0 0;font-size:clamp(17px,2vw,20px);line-height:1.6;color:#fff}.venue-hero-actions{margin-top:30px}.venue-outline-light{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important}.venue-outline-light:hover{background:#fff!important;color:var(--wine-dark)!important;text-decoration:none}.venue-sample-label{display:block;margin-top:18px;color:rgba(255,255,255,.8);font-size:11px}
.venue-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:clamp(42px,8vw,120px);align-items:end}.venue-intro h2,.venue-section-heading h2,.venue-final-cta h2{font:clamp(36px,4.5vw,58px)/1.08 Georgia,serif;color:var(--wine-dark);letter-spacing:-.02em;margin:.12em 0}.venue-large-copy{font-size:clamp(18px,2vw,22px);max-width:780px;color:#2d2d2d;line-height:1.65}.venue-intro-action{border-left:1px solid var(--line);padding-left:clamp(24px,4vw,50px);color:var(--muted)}.venue-text-link{display:inline-flex;gap:10px;align-items:center;margin-top:8px;color:var(--wine-dark);font-weight:800;border-bottom:1px solid var(--gold);padding-bottom:3px}.venue-text-link:hover{text-decoration:none;color:var(--wine)}
.venue-spaces{background:#fbfaf8}.venue-section-heading{max-width:760px;margin-bottom:clamp(34px,5vw,62px)}.venue-section-heading>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:680px}.venue-space-list{display:grid;gap:clamp(50px,8vw,96px)}.venue-space-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(32px,6vw,80px);align-items:center}.venue-space-row.reverse .venue-space-media{order:2}.venue-space-row.reverse .venue-space-copy{order:1}.venue-space-media{position:relative;min-height:420px;background:#eee;overflow:hidden}.venue-space-media img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}.venue-image-badge{position:absolute;left:16px;top:16px;background:#fff;color:var(--wine-dark);padding:6px 10px;font-size:11px;font-weight:800}.venue-space-number{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.15em}.venue-space-copy h3{margin:.15em 0 .45em;font:clamp(32px,3.7vw,48px)/1.05 Georgia,serif;color:var(--wine-dark)}.venue-space-copy>p{color:#3f454b}.venue-facts{display:flex;gap:0;flex-wrap:wrap;margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.venue-facts span{padding:15px 24px 15px 0;margin-right:24px}.venue-facts small,.venue-facts strong{display:block}.venue-facts small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px}.venue-facts strong{margin-top:3px;color:var(--ink)}.venue-facilities{font-size:13px}.venue-photo-placeholder{display:grid;place-items:center;height:100%;min-height:420px;background:linear-gradient(135deg,var(--wine-dark),var(--wine));color:#f5ddaa;font:700 34px Georgia,serif;letter-spacing:.2em}
.venue-occasions{background:var(--cream)}.venue-occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,36px)}.venue-occasion-card{background:#fff}.venue-occasion-image{height:clamp(300px,34vw,480px);overflow:hidden;background:#eee}.venue-occasion-image img{width:100%;height:100%;object-fit:cover;display:block}.venue-occasion-image .venue-photo-placeholder{min-height:100%}.venue-occasion-copy{padding:clamp(26px,4vw,48px)}.venue-occasion-copy h3{font:clamp(28px,3vw,40px)/1.12 Georgia,serif;color:var(--wine-dark);margin:.15em 0 .4em}.venue-occasion-copy p:not(.eyebrow){color:var(--muted);font-size:16px}
.venue-heading-split{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:30px}.venue-heading-split>div{max-width:760px}.venue-heading-split .venue-text-link{margin-bottom:12px;white-space:nowrap}.venue-gallery-note{margin-top:-28px;margin-bottom:25px;color:var(--muted);font-size:12px}.venue-look-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:250px 250px;gap:12px}.venue-look-item{position:relative;overflow:hidden;background:#eee;color:#fff}.venue-look-item:hover{text-decoration:none}.venue-look-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.venue-look-item:hover img{transform:scale(1.02)}.venue-look-1{grid-row:1/3}.venue-look-4{grid-column:2/3}.venue-look-5{grid-column:3/4}.venue-look-item span{position:absolute;left:0;right:0;bottom:0;padding:42px 16px 14px;background:linear-gradient(transparent,rgba(30,8,17,.72));font-weight:800}.venue-look-item small{position:absolute;top:10px;left:10px;padding:4px 7px;background:#fff;color:var(--wine-dark);font-weight:800;font-size:10px}
.venue-planning{background:#f7f4f1}.venue-step-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.venue-step-grid article{padding:30px clamp(16px,2.4vw,34px);border-right:1px solid var(--line)}.venue-step-grid article:first-child{padding-left:0}.venue-step-grid article:last-child{border-right:0;padding-right:0}.venue-step-grid span{display:block;color:var(--gold);font-weight:900;letter-spacing:.12em;font-size:12px}.venue-step-grid h3{font:26px/1.18 Georgia,serif;color:var(--wine-dark);margin:15px 0 10px}.venue-step-grid p{color:var(--muted);font-size:14px}
.venue-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.venue-policy-grid article{padding:28px clamp(16px,3vw,36px);border-right:1px solid var(--line)}.venue-policy-grid article:first-child{padding-left:0}.venue-policy-grid article:last-child{border-right:0;padding-right:0}.venue-policy-grid h3{font:25px Georgia,serif;color:var(--wine-dark);margin:0 0 11px}.venue-policy-grid p{color:var(--muted)}.venue-policy-action{display:flex;align-items:center;gap:22px;margin-top:30px}.venue-policy-action .venue-text-link{margin-top:0}
.venue-final-cta{background:var(--wine-dark);color:#fff;padding:clamp(54px,7vw,88px) clamp(22px,8vw,120px);display:flex;align-items:end;justify-content:space-between;gap:40px}.venue-final-cta h2{color:#fff;margin-bottom:12px}.venue-final-cta p:not(.eyebrow){margin:0;color:#e8dce0;font-size:17px}
@media(max-width:980px){.venue-intro{grid-template-columns:1fr}.venue-intro-action{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.venue-space-row,.venue-space-row.reverse{grid-template-columns:1fr}.venue-space-row.reverse .venue-space-media,.venue-space-row.reverse .venue-space-copy{order:initial}.venue-occasion-grid{grid-template-columns:1fr}.venue-step-grid{grid-template-columns:1fr 1fr}.venue-step-grid article:nth-child(2){border-right:0}.venue-step-grid article:nth-child(n+3){border-top:1px solid var(--line)}.venue-policy-grid{grid-template-columns:1fr}.venue-policy-grid article,.venue-policy-grid article:first-child,.venue-policy-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.venue-policy-grid article:last-child{border-bottom:0}.venue-final-cta{align-items:flex-start;flex-direction:column}.venue-look-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 220px 220px}.venue-look-1{grid-column:1/3;grid-row:auto}.venue-look-4,.venue-look-5{grid-column:auto}}
@media(max-width:620px){.venue-hero{min-height:580px}.venue-hero-copy{padding-left:22px;padding-right:22px}.venue-hero h1{font-size:43px}.venue-home .section{padding-left:22px;padding-right:22px}.venue-space-media,.venue-space-media img,.venue-photo-placeholder{min-height:290px}.venue-facts{display:grid;grid-template-columns:1fr 1fr}.venue-facts span{margin-right:0}.venue-heading-split{align-items:flex-start;flex-direction:column}.venue-gallery-note{margin-top:-18px}.venue-look-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(5,240px)}.venue-look-1,.venue-look-4,.venue-look-5{grid-column:auto;grid-row:auto}.venue-step-grid{grid-template-columns:1fr}.venue-step-grid article,.venue-step-grid article:first-child,.venue-step-grid article:last-child{padding:24px 0;border-right:0;border-top:1px solid var(--line)}.venue-step-grid article:first-child{border-top:0}.venue-policy-action{align-items:flex-start;flex-direction:column}}


/* v1.2.10 readability refinement — neutral reading text, CVC colour reserved for branding/actions. */
body,.card,.form-card,.table td,.detail-grid dd,.policy-table>div,.deadline,.terms-box{color:var(--ink)}
label,.table td strong,.detail-grid dd strong{color:#222}
.help,.muted,.lead,.detail-grid dt,.result-type,.gallery-meta,.gallery-home-note,.venue-intro-action,.venue-section-heading>p:not(.eyebrow),.venue-occasion-copy p:not(.eyebrow),.venue-gallery-note,.venue-step-grid p,.venue-policy-grid p{color:var(--muted)}
.topnav a{color:#262626}
.table th{color:#3d434a}
input,select,textarea{color:#1f1f1f}
::placeholder{color:#7a8188;opacity:1}
/* Finance expenditure table clarity — display only; no finance logic changes. */
.expense-table{min-width:1180px}
.expense-table th,.expense-table td{padding:13px 12px}
.expense-table .expense-date,.expense-table .expense-ref,.expense-table .expense-amount{white-space:nowrap}
.expense-table .expense-ref{font-weight:800;color:var(--ink)}
.expense-table .expense-category{font-weight:700;min-width:120px}
.expense-table .expense-related{min-width:215px}
.expense-table .expense-related>a{font-weight:800}
.expense-table .expense-related>span:not(.expense-scope-general){display:block;margin-top:2px;color:var(--ink)}
.expense-table .expense-related small,.expense-table .expense-verified small{display:block;margin-top:2px;color:var(--muted)}
.expense-table .expense-description{min-width:240px;max-width:340px;line-height:1.45}
.expense-table .expense-amount{text-align:right}
.expense-table th:nth-child(7){text-align:right}
.expense-table .expense-verified{min-width:155px}
.expense-table .expense-verified strong{display:block}
.expense-scope-general{display:inline-block;font-weight:800;color:var(--ink);background:#f4f6f8;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:11px}
.expense-table-guide{color:var(--ink)}
.expense-table-guide strong{color:#222}

/* Language selector — English / Kiswahili. Uses the existing CVC palette. */
.nav-lang{display:inline-flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:999px;padding:2px;background:#fff;white-space:nowrap}
.nav-lang-current,.nav-lang-link{display:inline-block;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2}
.nav-lang-current{background:var(--wine);color:#fff}
.nav-lang-link{color:#262626}
.nav-lang-link:hover{background:var(--cream);color:var(--wine-dark);text-decoration:none}
.nav-lang-link:focus-visible,.nav-lang-current:focus-visible{outline:3px solid rgba(239,138,20,.35)}
@media(max-width:980px){.nav-lang{align-self:flex-start;margin-top:6px}}
@media print{.nav-lang{display:none!important}}

/* Sign-out is a POST form so it cannot be triggered from another site.
   These rules keep it looking and behaving exactly like the other nav links. */
.nav-signout{display:inline;margin:0;padding:0;border:0;background:none}
.nav-signout button{display:inline;margin:0;padding:0;border:0;background:none;font:inherit;font-size:13px;color:#262626;cursor:pointer;transition:color .18s ease}
.nav-signout button:hover{color:var(--wine)}
.nav-signout button:focus-visible{outline:3px solid rgba(239,138,20,.45);outline-offset:3px;border-radius:4px}
@media(max-width:980px){.nav-signout,.nav-signout button{display:block;width:100%;text-align:left}}

/* Header menu: one line per label in every language. When the whole menu does not fit
   on one line (long Kiswahili labels, staff with many pages), app.js adds .nav-compact
   and the menu opens from the menu button instead, as on phones. */
.topbar{gap:18px}
.brand{flex:0 0 auto}
.topnav{gap:clamp(12px,1.25vw,19px);flex-wrap:nowrap}
.topnav a,.nav-signout button,.topnav .nav-cta{white-space:nowrap}
.topbar.nav-compact .topnav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:14px 20px 18px;flex-direction:column;align-items:stretch;gap:2px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);max-height:calc(100vh - 72px);overflow-y:auto}
.topbar.nav-compact .topnav.open{display:flex}
.topbar.nav-compact .topnav a,.topbar.nav-compact .nav-signout button{padding:9px 4px;font-size:14px}
.topbar.nav-compact .topnav .nav-cta{padding:10px 15px;text-align:center;margin:6px 0}
.topbar.nav-compact .nav-toggle{display:block;cursor:pointer}
.topbar.nav-compact .nav-signout,.topbar.nav-compact .nav-signout button{display:block;width:100%;text-align:left}
.topbar.nav-compact .nav-lang{align-self:flex-start;margin-top:8px}
@media(max-width:980px){.topnav{gap:2px}.topnav a,.nav-signout button{padding:9px 4px;font-size:14px}.topnav .nav-cta{padding:10px 15px;text-align:center;margin:6px 0}.nav-toggle{cursor:pointer}}

/* Staff: language switch and sign-out live in the blue bar; their menu copies show only with the menu button. */
.topbar:not(.nav-compact) .topnav .nav-dup{display:none!important}
.staff-strip{align-items:center;gap:12px;padding-top:5px;padding-bottom:5px}
.staff-strip-tools{display:inline-flex;align-items:center;gap:14px}
.staff-strip .nav-lang{border-color:rgba(255,255,255,.35);background:transparent;padding:1px}
.staff-strip .nav-lang-current,.staff-strip .nav-lang-link{padding:3px 10px;font-size:11px}
.staff-strip .nav-lang-current{background:#fff;color:var(--wine-dark)}
.staff-strip .nav-lang-link{color:#f8ead3}
.staff-strip .nav-lang-link:hover{background:rgba(255,255,255,.14);color:#fff}
.staff-strip .nav-signout button{color:#f8ead3;font-size:12px;font-weight:600}
.staff-strip .nav-signout button:hover{color:#fff;text-decoration:underline}
@media(max-width:980px){.staff-strip-tools{display:none}}
/* Wider screens with the menu button: links in columns; language and sign-out stay in the blue bar. */
@media(min-width:981px){.topnav .nav-dup{display:none!important}.topbar.nav-compact .topnav.open{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));column-gap:24px;padding:16px clamp(18px,4vw,64px) 20px}.topbar.nav-compact .topnav .nav-cta{justify-self:start}}
