:root{--ink:#1e2b28;--muted:#69736c;--cream:#f5f2eb;--gold:#c7a66a;--deep:#182723}*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);margin:0}h1,h2,h3,.navbar-brand{font-family:'Playfair Display',serif}h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.15}p{line-height:1.75;color:var(--muted)}.site-nav{background:#182723;padding:18px 0}.navbar-brand{letter-spacing:2px;font-size:1rem;display:flex;align-items:center;gap:10px}.navbar-brand small{font:9px 'DM Sans',sans-serif;letter-spacing:2px;display:block;color:#d7c6a5}.brand-mark{border:1px solid var(--gold);color:var(--gold);padding:8px;font-size:14px}.nav-link{color:#e6e9e4!important;margin:0 7px;font-size:.9rem}.btn-gold{background:var(--gold);color:#17231f;border:1px solid var(--gold);border-radius:2px;padding:12px 22px;font-weight:700}.btn-gold:hover{background:#d8bd89;color:#17231f}.hero{min-height:650px;display:flex;align-items:center;position:relative;color:#fff;background:linear-gradient(90deg,rgba(13,28,24,.9),rgba(13,28,24,.48),rgba(13,28,24,.1)),url('https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=2200&q=85') center/cover}.hero-content{position:relative;padding-top:40px;padding-bottom:70px}.eyebrow{font-size:.72rem;letter-spacing:3px;font-weight:700;color:var(--gold);margin-bottom:20px}.hero h1,.page-hero h1{font-size:clamp(3.2rem,7vw,6rem);line-height:1.02;font-weight:500;margin-bottom:25px}.hero h1 em,.page-hero h1 em{color:#d5b77d;font-weight:500}.hero-copy{color:#e3e5df;max-width:480px;font-size:1.08rem;margin-bottom:30px}.hero-note{margin-top:58px;letter-spacing:2px;font-size:.68rem;color:#e5e4dc}.gold-line{display:inline-block;width:40px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}.booking-strip{background:#eee9df;padding:28px 0}.mini-label{font-size:.65rem;letter-spacing:2px;color:#8d7650;font-weight:700}.strip-title{font-family:'Playfair Display',serif;font-size:1.25rem;margin-top:4px}.text-link{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px}.section-pad{padding:90px 0}.section-heading{text-align:center;max-width:650px;margin:auto}.dark-eyebrow{color:#9a7a43}.section-heading h2{margin-bottom:15px}.feature-card{min-height:320px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;color:white;position:relative;isolation:isolate}.feature-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,25,21,.92),rgba(12,25,21,.05));z-index:-1}.feature-one{background-image:url('https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=900&q=80')}.feature-two{background-image:url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=900&q=80')}.feature-three{background-image:url('https://images.unsplash.com/photo-1540555700478-4be289fbece?auto=format&fit=crop&w=900&q=80')}.feature-number{font-size:.68rem;letter-spacing:2px;color:#e0c58e}.feature-card h3{font-size:1.8rem;margin:12px 0}.feature-card p{color:#e2e5df;margin:0}.career-banner{background:var(--deep);padding:75px 0;color:#fff}.career-banner h2{font-size:2.8rem}.career-banner p{color:#c5cec8}.btn-outline-light{border-radius:2px;padding:13px 24px}.footer{background:#101c18;color:#c6cec8;padding:32px 0;font-size:.85rem}.footer p{color:#aab6af}.footer-brand{font-family:'Playfair Display',serif;letter-spacing:3px;color:var(--gold);font-size:1.2rem}.page-hero{background:var(--deep);color:white;padding:95px 0 85px}.page-hero.compact{padding:70px 0 60px}.page-hero h1{font-size:clamp(2.8rem,6vw,4.8rem)}.page-hero p{color:#c7d0ca;max-width:650px}.narrow{max-width:850px}.lead-copy{font-family:'Playfair Display',serif;font-size:1.6rem;line-height:1.55;color:#35433d;margin:25px 0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:55px;border-top:1px solid #ddd7ca;padding-top:30px}.values-grid strong{color:#a9874f}.values-grid h3{font-size:1.4rem;margin-top:12px}.form-shell{max-width:900px}.form-card{background:#fff;border:1px solid #e8e3d9;box-shadow:0 18px 60px #17231f0b;padding:clamp(24px,5vw,48px)}.form-card h2{font-size:2rem;margin-bottom:28px}.form-card label{font-size:.86rem;font-weight:700;margin-bottom:8px}.form-control{border-radius:2px;border-color:#d9ded8;padding:12px}.form-control:focus{border-color:#b9975b;box-shadow:0 0 0 .2rem #c7a66a25}.btn-dark{background:#1b2b25;border-radius:2px;padding:12px 22px}.form-note{font-size:.8rem;margin:16px 0 0}.job-card{height:100%;border:1px solid #e5e0d6;padding:30px;background:#fff;transition:transform .2s,box-shadow .2s}.job-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #17231f0d}.job-dept{font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:#927343;font-weight:700}.job-count{font-size:.75rem;color:#6d776f}.job-card h3{font-size:1.8rem;margin:22px 0 12px}.job-meta{display:flex;justify-content:space-between;align-items:end;gap:15px;border-top:1px solid #e7e2d8;padding-top:22px;margin-top:24px}.job-meta small{display:block;font-size:.62rem;letter-spacing:1px;color:#788179;margin-bottom:5px}.job-meta strong{font-size:.9rem}.privacy-panel{padding:18px;background:#f6f4ee;border-left:3px solid var(--gold);font-size:.9rem}.consent-label{display:flex;gap:10px;align-items:flex-start;font-weight:400!important}.consent-label input{margin-top:5px}.success-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 24px;border-radius:50%;background:#e7efe8;color:#386d49;font-size:2rem}.contact-info h2{margin-bottom:20px}.contact-info strong{color:#24352d}@media(max-width:767px){.hero{min-height:590px}.booking-strip .container>div{padding-top:8px;padding-bottom:8px}.section-pad{padding:65px 0}.values-grid{grid-template-columns:1fr}.job-meta{align-items:start;flex-direction:column}.career-banner h2{font-size:2.2rem}.navbar-brand{font-size:.85rem}}

/* Entry-form validation feedback */
input.input-validation-error,
textarea.input-validation-error,
select.input-validation-error,
input:invalid:not(:focus),
textarea:invalid:not(:focus),
select:invalid:not(:focus) { border-color: #dc3545; }
.field-validation-error { display: block; margin-top: .25rem; font-size: .82rem; }
.form-diagnostics-notice { margin: 18px 0 0; padding-top: 12px; border-top: 1px solid #e8e3d9; font-size: .76rem; line-height: 1.5; color: #737c75; }
