:root{color-scheme:dark;--background:#111312;--surface:#1b1e1c;--ink:#f1ede4;--muted:#b8b8ac;--accent:#d3ac7a;--error:#ffaaa1;--success:#9ad0ac;--border:#454b44;--control-border:#92988d;--focus:#eac799;--radius:6px}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.16;letter-spacing:-.035em;overflow-wrap:anywhere}h2{font-size:1.25rem}.masthead,.shell,.footer{width:min(100% - 40px,1120px);margin-inline:auto}.masthead{padding-block:24px;border-bottom:1px solid var(--border)}.wordmark{display:inline-flex;align-items:center;min-height:44px;font-family:Georgia,serif;font-size:2rem;letter-spacing:-.05em;text-decoration:none}.wordmark span{color:var(--accent)}.shell{min-height:65vh;padding-block:48px}.intro{max-width:640px;padding-block:24px}.eyebrow{color:var(--accent);font-size:.875rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px}.lede{font-size:1.125rem;max-width:50ch}.muted,.field-hint{color:var(--muted)}.footer{font-size:.875rem;color:var(--muted);padding-block:24px;border-top:1px solid var(--border)}.skip-link{position:fixed;top:8px;left:20px;z-index:2;padding:12px 16px;background:var(--surface);transform:translateY(-180%)}.skip-link:focus{transform:none}.field{margin-block:24px;max-width:100%}.field label{display:block;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.field-hint,.field-error{font-size:.875rem;margin-block:8px}.field-error{color:var(--error)}[aria-invalid=true]{border-color:var(--error)!important}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:44px;max-width:100%;gap:8px;padding:12px 24px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--surface);font-weight:600;text-align:center;text-decoration:none;white-space:normal;cursor:pointer}.button-secondary{background:var(--surface);color:var(--ink)}.button:disabled{cursor:not-allowed;background:var(--border);border-color:var(--control-border);color:var(--ink)}.notice{border:1px solid var(--control-border);border-left:4px solid var(--ink);border-radius:var(--radius);padding:20px;background:var(--surface);overflow-wrap:anywhere}.notice-error{border-left-color:var(--error)}.notice p:last-child{margin-bottom:0}.stack,.split{display:grid;gap:24px}.actions{display:flex;gap:16px;flex-wrap:wrap}.card>.button+p{margin-top:16px}.card{padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
@media(min-width:1024px){.shell{padding-block:64px}.intro{padding-block:48px}.split{display:grid;grid-template-columns:1fr 1fr;gap:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.masthead{display:flex;align-items:center;justify-content:space-between}.brand-logo{width:116px;height:104px;object-fit:contain}.auth-grid{display:grid;gap:32px;align-items:center}.auth-card{width:100%;max-width:480px;margin-inline:auto}.auth-card h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.auth-card .button{width:100%;background:var(--accent);border-color:var(--accent);color:#171b17}.secondary-link{margin-top:24px;margin-bottom:0}.secondary-link a{display:inline-flex;align-items:center;min-height:44px}.demo-label{font-size:.8rem;color:var(--muted);border-left:2px solid var(--accent);padding-left:12px}.steps{padding-left:24px}.steps li{padding:10px}dd{margin:4px 0 20px}.header-link{display:inline-flex;min-height:44px;align-items:center;font-size:.875rem;text-decoration:none}.wordmark{letter-spacing:.12em;font-size:1.1rem}.wordmark img{margin-right:8px}@media(min-width:900px){.auth-grid{grid-template-columns:1.15fr 1fr;gap:64px}.auth-grid h1{font-size:clamp(3rem,4.5vw,4.8rem)}}@media(max-width:500px){.masthead{padding-block:12px}.shell{padding-block:24px}.intro{padding-block:12px}.brand-logo{width:84px;height:76px}.auth-card{padding:24px 20px}}
.admission-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.invitation-code{font-family:monospace;font-size:1.05rem;overflow-wrap:anywhere;user-select:all}.account-login{overflow-wrap:anywhere}.actions>a{display:inline-flex;min-height:44px;align-items:center}.admission-grid .eyebrow{margin-bottom:12px}
.private-nav{display:flex;flex-wrap:wrap;gap:4px 24px;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:44px}.private-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}.private-nav a:hover{color:var(--accent)}.catalog-hero{padding:12px 0 48px;max-width:760px}.catalog-hero h1{font-size:clamp(2.5rem,6vw,5rem)}.demo-note{font-size:.8125rem;color:var(--muted);margin-top:24px}.catalog-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;border-block:1px solid var(--border);padding:24px 0;margin-bottom:40px}.catalog-filters .field{margin:0;flex:1 1 180px}.reset-filter{display:inline-flex;min-height:48px;align-items:center}.section-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:24px 0}.drop-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))}.drop-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.drop-art{height:210px;background:radial-gradient(ellipse at 45% 60%,#8b6d4033 0,transparent 65%),linear-gradient(135deg,#35332a,#171b18);display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--border)}.drop-art:before{content:'';width:120px;height:120px;position:absolute;border:1px solid #d3ac7a66;border-radius:50%;box-shadow:0 0 0 15px #d3ac7a11,0 0 0 16px #d3ac7a22;transform:rotate(-15deg) scaleX(1.2)}.drop-art span{position:relative;font-family:Georgia,serif;font-style:italic;font-size:2rem;color:var(--accent)}.club-art{background:radial-gradient(ellipse at 65% 15%,#81706944,transparent 65%),linear-gradient(135deg,#211e28,#14171a)}.club-art:before{border-radius:3px;transform:rotate(35deg);height:95px;width:95px}.drop-card-content{padding:28px}.drop-card h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;line-height:1.2;margin:0 0 16px;overflow-wrap:anywhere}.drop-card h3 a{text-decoration:none}.drop-card .eyebrow{font-size:.72rem;margin-bottom:16px}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:20px;color:var(--accent)}.empty-state{padding:40px;border:1px solid var(--border);border-radius:8px;grid-column:1/-1}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}.detail-art{height:280px;margin:32px 0}.booking-summary{position:sticky;top:24px}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:28px;color:var(--muted)}dt{font-size:.8125rem;color:var(--muted);margin-top:18px}dd{margin:4px 0 18px;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.form-heading{max-width:760px}.editorial-form{max-width:760px}.editorial-form textarea{resize:vertical}.record-list{display:grid;gap:20px}.record-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.record-row h2{margin:12px 0;font-family:Georgia,serif;font-weight:400;font-size:1.5rem;overflow-wrap:anywhere}.record-row p:last-child{margin-bottom:0}.status-tag{font-size:.8125rem;color:var(--accent);border:1px solid var(--border);padding:6px 12px;border-radius:30px}.check-field{display:flex;align-items:start;gap:12px}.check-field input{min-width:24px;min-height:24px;margin:4px 0}.check-field label{min-height:44px}.editorial-form+.card{margin-top:24px}.errorlist{padding-left:20px;color:var(--error)}
@media(max-width:767px){.detail-grid{grid-template-columns:1fr;gap:24px}.booking-summary{position:static}.record-row{align-items:stretch;flex-direction:column}.catalog-hero{padding-bottom:28px}.private-nav{gap:0 18px;margin-bottom:28px}.catalog-filters .button{flex:1 1 100%}.empty-state{padding:24px}.drop-card-content{padding:24px}}
.pagination{margin-top:32px}.policy-list{margin-top:48px}.policy-list .card{margin-bottom:20px}.check-field{margin-block:20px}.check-field input{min-width:44px;min-height:44px}

.profile-data{min-width:0;overflow-wrap:anywhere}.profile-dossier{margin-top:24px}
/* GEOFFREY-251: WebKit ignores min-height on native selects (23 px); long handles must wrap inside cards. */
.field select{-webkit-appearance:none;appearance:none;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}.card{min-width:0;overflow-wrap:anywhere}

.confirmation-choice{display:flex;gap:12px;align-items:flex-start;min-height:48px;padding-block:12px}.confirmation-choice input{width:20px;height:20px;flex:0 0 20px;margin-top:2px}

.amount-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-block:10px;margin:0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.amount-line strong{font-variant-numeric:tabular-nums;white-space:nowrap}.amount-line:last-of-type{border-bottom:none}.compare-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.state-list{display:grid;gap:12px;list-style:none;padding:0;margin:0}.state-list .status-tag{display:inline-flex;align-items:center;min-height:44px}

.finance-metrics{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.finance-amount{font-size:1.4rem;color:var(--accent);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.finance-amount small{font-size:.875rem}.ledger-reference,.ledger-entry{min-width:0;overflow-wrap:anywhere}.ledger-entries{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.ledger-entry dd{font-size:.875rem;font-variant-numeric:tabular-nums}
