/* Shared chrome + repeated components. Homepage and inner pages both load this
   file so header, wrap, buttons, event cards, footer columns, and the join
   modal cannot drift apart. Page-specific layout stays in rehber.css / index.php. */
:root{
  --paper:#FAF8F2;
  --paper-deep:#F1ECDE;
  --ink:#15130E;
  --ink-soft:#5C5748;
  --gold:#B4892F;
  --gold-deep:#8C6A22;
  --gold-soft:#E7D6A8;
  --line:#E3DDC9;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;background-color:var(--ink);}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.site-inner{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
h1,h2,h3{
  font-family:'Playfair Display',serif;
  font-weight:600;
  color:var(--ink);
  letter-spacing:-0.01em;
}
a{color:inherit;text-decoration:none;}
img,svg{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}

.site-header{
  padding:22px 0;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--paper);z-index:40;
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;}
.brand-name{font-family:'Playfair Display',serif;font-size:20px;font-weight:600;letter-spacing:0.03em;}
nav{display:none;gap:34px;font-size:14px;letter-spacing:0.02em;}
@media(min-width:920px){nav{display:flex;}}
nav a{display:inline-flex;align-items:center;min-height:44px;opacity:0.75;transition:opacity .15s,color .15s;}
nav a:hover{opacity:1;}
nav a[aria-current="page"]{opacity:1;color:var(--gold-deep);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:12px 26px;font-size:14px;letter-spacing:0.06em;
  font-weight:500;border-radius:1px;border:1px solid var(--ink);
  transition:background .15s,border-color .15s,color .15s;
}
.btn-gold{background:var(--ink);color:var(--gold-soft);}
.btn-gold:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:var(--paper);}
.btn-line{background:transparent;color:var(--ink);}
.btn-line:hover{background:var(--ink);color:var(--paper);}
.header-cta{display:none;}
@media(min-width:640px){.header-cta{display:inline-flex;}}
button.btn{font:inherit;cursor:pointer;appearance:none;}

.nav-mobile{display:none;}
@media (max-width:919px){
  .site-header .wrap{gap:12px;}
  .nav-mobile{
    display:block;
    position:relative;
    flex-shrink:0;
  }
  .nav-mobile-btn{
    list-style:none;
    width:44px;height:44px;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    border:1px solid var(--line);
    border-radius:1px;
    background:var(--paper);
  }
  .nav-mobile-btn::-webkit-details-marker{display:none;}
  .nav-mobile-icon,
  .nav-mobile-icon::before,
  .nav-mobile-icon::after{
    display:block;width:18px;height:1.5px;background:var(--ink);
    position:relative;
  }
  .nav-mobile-icon::before,
  .nav-mobile-icon::after{
    content:"";position:absolute;left:0;
  }
  .nav-mobile-icon::before{top:-6px;}
  .nav-mobile-icon::after{top:6px;}
  .nav-mobile[open] .nav-mobile-icon{background:transparent;}
  .nav-mobile[open] .nav-mobile-icon::before{top:0;transform:rotate(45deg);}
  .nav-mobile[open] .nav-mobile-icon::after{top:0;transform:rotate(-45deg);}
  .nav-mobile-panel{
    position:absolute;top:calc(100% + 10px);right:0;
    width:min(280px,calc(100vw - 40px));
    background:var(--paper);
    border:1px solid var(--line);
    padding:8px;
    display:flex;flex-direction:column;gap:4px;
    z-index:50;
    box-shadow:0 18px 34px -18px rgba(21,19,14,0.35);
  }
  .nav-mobile-panel a{
    display:flex;align-items:center;
    min-height:44px;padding:0 14px;
    font-size:15px;
  }
  .nav-mobile-panel .btn{justify-content:center;margin-top:6px;width:100%;}
}

.eyebrow-badge{margin-bottom:18px;}
.eyebrow-badge span{
  background:var(--gold-soft);color:var(--ink);font-size:13px;font-weight:600;
  letter-spacing:0.05em;padding:7px 14px;display:inline-block;
}
.bg-gold .eyebrow-badge span{
  background:var(--ink);color:var(--gold-soft);
}

.event-board{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap:16px;
}
@media(min-width:820px){
  .event-board{gap:20px;}
}
.event-card{
  display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:start;
  height:100%;
  padding:20px 22px;background:var(--paper);border:1px solid var(--line);
  transition:border-color .15s,background .15s;
}
a.event-card{color:inherit;}
.event-card:hover{border-color:var(--gold);background:#fff;}
.event-date{
  width:88px;height:88px;background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;
}
.event-date-day{
  font-family:'Playfair Display',serif;font-size:32px;line-height:1;font-weight:600;
}
.event-date-month{
  font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-soft);
}
.event-card-copy{min-width:0;}
.event-city{
  display:inline-block;background:var(--ink);color:var(--paper);
  font-size:12px;font-weight:500;letter-spacing:0.08em;
  padding:5px 10px;text-transform:uppercase;
}
.event-card h3{
  font-family:'Playfair Display',serif;font-weight:600;
  font-size:clamp(20px,2.2vw,26px);line-height:1.25;margin:8px 0;
}
.event-excerpt{font-size:14.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:8px;}
.event-place{font-size:13px;color:var(--ink-soft);}
.event-go{
  display:inline-flex;align-items:center;gap:4px;
  margin-top:10px;font-size:13.5px;font-weight:500;color:var(--ink);
}
.event-card:hover .event-go{color:var(--gold-deep);}
.event-empty{
  padding:36px 24px;border:1px solid var(--line);background:var(--paper);
}
.event-empty h3{font-size:22px;margin-bottom:8px;}
.event-empty p{color:var(--ink-soft);}
@media(max-width:700px){
  .event-card{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:18px;}
  .event-date{width:72px;height:72px;}
  .event-date-day{font-size:26px;}
}

.site-end{background:var(--ink);color:var(--paper);margin-top:40px;}
.site-inner .site-end{flex-grow:1;}
footer{padding:48px 0 36px;}
.footer-top{
  display:grid;grid-template-columns:1fr;gap:28px;padding-bottom:44px;align-items:start;
}
@media(min-width:820px){.footer-top{grid-template-columns:90px repeat(3,minmax(0,1fr));gap:32px;}}
@media (min-width:640px) and (max-width:819px){
  .footer-top{grid-template-columns:1fr 1fr;gap:28px 32px;}
  .footer-spine{grid-column:1 / -1;}
  .footer-col-contact{grid-column:1 / -1;}
}
.footer-spine{min-height:120px;display:flex;align-items:flex-start;}
.footer-spine img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--paper);}
.footer-col h4{
  font-size:13px;letter-spacing:0.08em;color:var(--gold-soft);
  font-weight:600;margin-bottom:16px;text-transform:uppercase;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:4px;}
.footer-col a{display:inline-flex;align-items:center;min-height:44px;font-size:14.5px;color:#EEE9DD;transition:color .15s;}
.footer-col a:hover{color:var(--gold-soft);}
.footer-address{
  display:block;max-width:28ch;padding:10px 0;font-size:14.5px;line-height:1.45;color:#EEE9DD;
}
.contact-line{font-size:14.5px;line-height:1.5;margin:16px 0 0;}
.contact-line a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.contact-line a:hover{color:var(--gold-soft);}
.apply-content .contact-line{color:#EEE9DD;margin:20px 0 0;}
.apply-content .contact-line a{color:#EEE9DD;}
.about-close .contact-line{color:var(--ink-soft);margin:0 0 24px;}
.footer-bottom{
  padding-top:20px;display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;font-size:13px;color:#B7B29E;
}
.footer-legal{display:flex;gap:22px;}
.footer-legal a{
  display:inline-flex;align-items:center;min-height:44px;
  color:#B7B29E;text-decoration:underline;text-underline-offset:3px;
}
.footer-legal a:hover{color:var(--paper);}

.join-modal{
  inset:unset;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:min(400px,calc(100vw - 32px));
  height:fit-content;max-height:none;
  margin:0;padding:0;border:1px solid var(--line);
  background:var(--paper);color:var(--ink);overflow:visible;
  box-shadow:0 20px 56px -22px rgba(21,19,14,0.5);
}
.join-modal::backdrop{
  background:rgba(21,19,14,0.52);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.join-modal[open]{animation:join-in .24s cubic-bezier(0.22,1,.36,1);}
@keyframes join-in{
  from{transform:translate(-50%,calc(-50% + 10px)) scale(0.98);opacity:0;}
  to{transform:translate(-50%,-50%) scale(1);opacity:1;}
}
.join-modal-inner{display:flex;flex-direction:column;padding:20px 20px 18px;}
.join-modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.join-modal-kicker{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;}
.join-modal h2{font-size:22px;font-weight:600;line-height:1.2;margin-top:4px;}
.join-modal-close{
  flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;
  border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--ink);
}
.join-modal-close:hover{border-color:var(--ink);background:#fff;}
.join-modal-close svg{width:11px;height:11px;display:block;}
.join-lead{font-size:13px;color:var(--ink-soft);line-height:1.45;margin-bottom:16px;}
.join-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
.join-field{display:flex;flex-direction:column;gap:5px;text-align:left;min-width:0;}
.join-field-wide{grid-column:1 / -1;}
.join-field label,.join-label{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;}
.join-field input{
  width:100%;height:36px;min-height:36px;box-sizing:border-box;border:1px solid var(--line);
  background:#fff;color:var(--ink);padding:7px 10px;font:inherit;font-size:14px;border-radius:1px;
}
.join-field input:focus-visible,
.join-field .date-pick-btn:focus-visible{outline:2px solid var(--gold-deep);outline-offset:1px;}
.join-form .btn{grid-column:1 / -1;width:100%;margin-top:4px;min-height:40px;padding:8px 16px;font-size:13px;text-align:center;}
.join-note{grid-column:1 / -1;font-size:12px;color:var(--ink-soft);line-height:1.45;margin:0;}
.join-error{grid-column:1 / -1;font-size:13px;color:#8C2A1A;margin:0;}
.join-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.join-done{display:none;text-align:left;}
.join-done h2{font-size:22px;}
.join-done .btn{min-height:40px;padding:8px 16px;font-size:13px;}
.join-modal.is-done .join-form,
.join-modal.is-done .join-lead{display:none;}
.join-modal.is-done .join-done{display:block;}
.join-done p{font-size:14px;color:var(--ink-soft);line-height:1.5;margin:8px 0 18px;}
html.modal-open,html.modal-open body{overflow:hidden;}
html{scroll-padding-top:96px;}
body{font-size:16px;}
@media (max-width:639px){
  .wrap{padding:0 20px;}
  .site-header{padding:14px 0;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}
@media (max-width:479px){
  .join-form{grid-template-columns:1fr;}
  .join-modal{width:calc(100vw - 24px);}
  .join-modal-inner{padding:18px 16px 16px;}
}
@media (prefers-reduced-motion:reduce){
  .join-modal[open]{animation:none;transform:translate(-50%,-50%);}
  .join-modal::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;}
}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;}
footer :focus-visible,
.btn-gold:focus-visible,
.eyebrow-badge.inverse :focus-visible{
  outline-color:var(--gold-soft);
}

.page-lost{
  min-height:min(70vh,640px);
  padding:56px 0 88px;
  background:var(--paper);
}
.lost-stage{max-width:680px;}
.lost-mark{
  font-family:'Playfair Display',serif;
  font-size:clamp(72px,16vw,128px);
  font-weight:600;line-height:0.88;
  letter-spacing:-0.04em;color:var(--gold);
  margin:0 0 20px;
}
.lost-stage .eyebrow-badge{margin-bottom:14px;}
.lost-stage h1{
  font-size:clamp(32px,5vw,48px);line-height:1.16;margin:0 0 16px;
}
.lost-lead{
  color:var(--ink-soft);font-size:17px;line-height:1.55;max-width:42ch;margin:0 0 28px;
}
.lost-actions{display:flex;flex-wrap:wrap;gap:12px;}
