*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoi UI,Roboto,Arial,sans-serif;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.7)),url('/uploads/bg-mountains.jpg') center/cover no-repeat fixed;min-height:100vh;color:#444;position:relative}

/* Header */
.header{padding:3rem 0 2rem;text-align:center}
.logo-image{height:128px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}
@media(min-width:768px){.logo-image{height:160px}}
@media(min-width:1024px){.logo-image{height:176px}}
.header-divider{width:64px;height:2px;background:#6B5845;margin:.75rem auto 0}

/* Layout & Typography */
.container{max-width:960px;margin:2rem auto 0;padding:0 1.25rem}
.hero{text-align:center;margin-bottom:2rem;margin-top:-.5rem}
@media(min-width:768px){.hero{margin-top:-.75rem}}
@media(min-width:1024px){.hero{margin-top:-1rem}}
.page-title{font-family:'Playfair Display',serif;color:#44403c;font-weight:300;line-height:1.25;margin:0 0 24px;font-size:24px}
@media(min-width:768px){.page-title{font-size:30px}}
@media(min-width:1024px){.page-title{font-size:36px}}
.page-subtitle{font-family:'Inter',system-ui,-apple-system,Segoi UI,Roboto,Arial,sans-serif;color:#57534e;font-weight:300;line-height:1.625;font-size:18px;max-width:42rem;margin:0 auto}
@media(min-width:768px){.page-subtitle{font-size:20px}}

/* Cards & Forms */
.card{background:rgba(255,255,255,.95);border-radius:18px;padding:2rem 2rem 2.25rem;box-shadow:0 18px 50px rgba(0,0,0,.12);backdrop-filter:blur(10px)}
.form-row{display:flex;gap:.75rem;margin-top:1rem;align-items:center;flex-wrap:nowrap}
.form-row .actions{flex:0 0 auto;display:flex}
input[type=email]{flex:1 1 auto;min-width:0;max-width:none;border:2px solid #e5e7eb;border-radius:14px;padding:.95rem 1.1rem;font:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}
input[type=email]:focus{outline:none;border-color:#6F5B4D;box-shadow:0 0 0 3px rgba(111,91,77,.1)}
@media(max-width:480px){.form-row{flex-direction:column;align-items:stretch;flex-wrap:wrap}.actions .btn{width:100%}}
label{display:block;font-weight:600;color:#333;margin-bottom:.4rem;text-align:left}
.note{color:#6b7280;font-size:.95rem;margin-top:.5rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 32px;appearance:none;border:0;border-radius:10px;background:#6B5845;color:#fff;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:none;white-space:nowrap}
.btn:hover{background:#5a4a38}
.btn-outline{display:inline-flex;align-items:center;gap:.6rem;background:#fff;border:2px solid #e5e7eb;color:#1f2937;border-radius:14px;padding:.9rem 1.2rem;font-weight:600;text-decoration:none}
.btn-outline:hover{border-color:#d1d5db;text-decoration:none}
.wa-icon{width:20px;height:20px;display:inline-block}

/* Alerts (used on apply page) */
.alert{grid-column:1 / -1;padding:.9rem 1rem;border-radius:10px;border-left:4px solid;background:#fff}
.alert.error{background:#fff5f5;border-color:#e74c3c;color:#a23}
.alert.success{background:#f4fff5;border-color:#27ae60;color:#175c2f}

/* Form hints */
.form-hint{margin-top:-.25rem;margin-bottom:.5rem;color:#6b7280;font-size:.9rem;font-weight:400}

/* Message blocks (thank-you) */
.message{text-align:center;background:transparent;border:0;padding:.5rem 0;border-radius:0;margin-top:1rem;max-width:36rem;margin-left:auto;margin-right:auto;color:#57534e;line-height:1.625;font-weight:300}
.message-title{font-family:'Playfair Display',serif;color:#44403c;font-weight:300;line-height:1.25;margin:0 0 12px;font-size:22px}

/* Hiring banner (index) */
.hiring-banner{max-width:720px;margin:.75rem auto 2.5rem;display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border:1px solid #e5e7eb;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.hiring-text{color:#4b5563;font-weight:500}
.hiring-actions{display:flex;gap:.5rem;align-items:center}
@media(max-width:640px){.hiring-banner{flex-direction:column;align-items:stretch}.hiring-actions{justify-content:space-between}}

/* Footer */
.footer{margin-top:0}
.footer .main{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.88));color:#333;padding:1.2rem 0;border-top:1px solid rgba(0,0,0,.05)}
.footer .wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
.footer a{color:#685948;text-decoration:none}
@media(max-width:768px){.footer .wrap{justify-content:center;text-align:center}}
.footer .bottom{background:#6B5845;color:#fff;text-align:center;padding:.8rem 0;font-size:.85rem}

/* Clouds */
.clouds{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0 6%,rgba(0,0,0,1) 12% 84%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0 6%,rgba(0,0,0,1) 12% 84%,rgba(0,0,0,0) 100%)}
header,main,footer{position:relative;z-index:5;isolation:isolate}
.cloud{position:absolute;left:-200px;border-radius:50%;background:radial-gradient(ellipse at 45% 45%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 35%,rgba(255,255,255,.7) 60%,rgba(255,255,255,0) 76%);opacity:.93;filter:blur(45px) drop-shadow(0 0 28px rgba(255,255,255,.45));will-change:transform;animation:cloudDrift var( --dur, 90s) linear var(--delay,0s) infinite}
@keyframes cloudDrift{0%{transform:translateX(-200px)}100%{transform:translateX(120vw)}}
.cloud.c1{top:12%;width:240px;height:240px;--dur:120s;--delay:-8s}
.cloud.c2{top:26%;width:180px;height:180px;--dur:82s;--delay:-31s}
.cloud.c3{top:41%;width:220px;height:220px;--dur:96s;--delay:-18s}
.cloud.c4{top:59%;width:300px;height:300px;--dur:130s;--delay:-54s}
.cloud.c5{top:72%;width:170px;height:170px;--dur:72s;--delay:-12s}
.cloud.c6{top:85%;width:210px;height:210px;--dur:66s;--delay:-47s}
.cloud.c7{top:5%;width:190px;height:190px;--dur:75s;--delay:-21s}
.cloud.c8{top:33%;width:260px;height:260px;--dur:115s;--delay:-39s}
.cloud.c9{top:48%;width:150px;height:150px;--dur:60s;--delay:-6s}
.cloud.c10{top:67%;width:230px;height:230px;--dur:100s;--delay:-29s}
.cloud.c11{top:78%;width:200px;height:200px;--dur:90s;--delay:-44s}
.cloud.c12{top:90%;width:280px;height:280px;--dur:125s;--delay:-63s}
@media(max-width:768px){.cloud{filter:blur( calc(45px*.8));opacity:.9}.cloud.c10,.cloud.c11,.cloud.c12{display:none}}
@media(max-width:480px){.cloud.c7,.cloud.c8,.cloud.c9{display:none}.cloud{filter:blur(calc(45px*.7))}}

/* Apply page specific */
#applicationForm{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}
@media(max-width:800px){#applicationForm{grid-template-columns:1fr}.btn{width:100%}}
.row{display:contents}
.option{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid #e6e6e6;border-radius:10px;background:rgba(255,255,255,.9);color:#44403c;font-weight:500;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
.option input{width:18px;height:18px;accent-color:#6B5845}
.option:has(input:focus-visible){box-shadow:0 0 0 3px rgba(107,88,69,.22);border-color:#6B5845}
.option:has(input:checked){border-color:#6B5845;background:rgba(107,88,69,.08)}
.option--radio{border-radius:999px;padding:8px 12px}
