:root{
  --bg:#FAF7F2; --cream:#F6EFE6; --text:#1F2328; --muted:rgba(31,35,40,.72);
  --accent:#F36A2E; --accent2:#FF8A4D; --accentSoft:#FFD2B8;
  --card:rgba(255,255,255,.86); --border:rgba(31,35,40,.10);
  --shadow:0 20px 50px rgba(0,0,0,.13); --r:22px; --maxw: 1080px;
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{
  font-family:Figtree,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(1200px 700px at 15% 0%, rgba(255,210,184,.25), transparent 60%),
             radial-gradient(900px 600px at 85% 20%, rgba(110,139,116,.14), transparent 62%),
             var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.10;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
a{color:inherit;text-decoration:none}
.container{width:min(var(--maxw),calc(100% - 72px));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(90deg,var(--accent) 0%,var(--accent2) 70%,var(--accent) 100%);
  border-bottom:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 22px rgba(243,106,46,.22);
}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0}
.brand{display:flex;gap:10px;align-items:center;font-family:Fraunces,serif;font-weight:900;color:#fff}
.brand small{font-family:Figtree,sans-serif;font-weight:700;color:rgba(255,255,255,.92);opacity:.9}
.brand .logo{width:30px;height:30px;border-radius:10px;overflow:hidden;box-shadow:0 10px 18px rgba(0,0,0,.18)}
.brand .logo img{width:100%;height:100%;object-fit:cover;display:block}
.nav{display:flex;gap:10px;flex-wrap:wrap;font-weight:800}
.nav a{color:rgba(255,255,255,.95);padding:8px 10px;border-radius:999px;transition:.12s}
.nav a:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
main{padding:0 0 74px}
h1,h2,h3{font-family:Fraunces,serif;margin:0 0 12px}
h1{font-size:clamp(34px,4.2vw,58px);line-height:1.02}
h2{font-size:clamp(24px,3vw,40px);line-height:1.12;margin-top:22px}
h3{font-size:22px;line-height:1.2;margin-top:16px}
.lead{font-size:18px;line-height:1.7;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;backdrop-filter:blur(8px)}
.section{padding:20px 0;scroll-margin-top:92px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:980px){.grid-2{grid-template-columns:1fr}}
.hero-wrap{padding:46px 0 18px}
.hero-banner{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.15);border:1px solid var(--border);background:linear-gradient(135deg,rgba(255,210,184,.62),rgba(255,255,255,.72))}
.hero-banner .img{width:100%;height: var(--bannerH, min(58vh,520px)); min-height:320px;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02)}
.hero-banner::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 450px at 10% 20%, rgba(255,255,255,.70), transparent 55%),linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.22));pointer-events:none}
.hero-content{position:absolute;inset:0;display:flex;align-items:flex-end;padding:22px}
.hero-panel{width:min(720px,100%);background:rgba(246,239,230,.78);border:1px solid rgba(255,255,255,.60);border-radius:24px;padding:18px 18px 14px;box-shadow:0 16px 44px rgba(0,0,0,.14)}
@media(max-width:980px){.hero-content{position:relative;padding:0;margin-top:14px}.hero-panel{border-radius:22px}}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(31,35,40,.12);background:rgba(255,255,255,.52);font-weight:900;cursor:pointer;transition:.14s}
.btn-primary{background:linear-gradient(180deg,var(--accent2),var(--accent));color:#fff;border-color:rgba(255,255,255,.22);box-shadow:0 16px 34px rgba(243,106,46,.30)}
.btn:hover{transform:translateY(-1px)}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-weight:900;border:1px solid rgba(31,35,40,.12);background:rgba(255,255,255,.70)}
.events-grid{display:grid;gap:14px}
.event-card{position:relative;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.62);border:1px solid var(--border);box-shadow:0 18px 46px rgba(0,0,0,.10);transition:.18s;display:flex;min-height:180px}
.event-card:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(0,0,0,.14)}
.event-media{width:36%;min-width:220px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,210,184,.75),rgba(255,255,255,.75))}
.event-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:.35s;filter:saturate(1.03) contrast(1.02)}
.event-card:hover .event-media img{transform:scale(1.07);filter:saturate(1.08) contrast(1.04)}
/* Event list thumb tag (decent) */
.event-overlay{
  position:absolute;
  left: 12px;
  top: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,138,77,.92), rgba(243,106,46,.92));
  color:#fff;
  font-weight: 900;
  box-shadow: 0 14px 30px rgba(243,106,46,.22);
  border: 1px solid rgba(255,255,255,.18);
  line-height: 1.05;
}
.event-body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}
.event-title{font-weight:900;font-size:18px}
.event-teaser{color:var(--muted);line-height:1.55}
.event-cta{margin-top:auto;display:flex;justify-content:flex-end}
.event-cta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-weight:900;background:rgba(255,255,255,.72);border:1px solid rgba(31,35,40,.10)}
@media(max-width:860px){.event-card{flex-direction:column}.event-media{width:100%;min-width:0;height:220px}}
/* slider */
.kr-slider{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--border);box-shadow:0 20px 50px rgba(0,0,0,.12);background:rgba(255,255,255,.55)}
.kr-slides{display:flex;transition:transform .5s ease;will-change:transform}
.kr-slide{min-width:100%;height: var(--sliderH, 360px);position:relative}
.kr-slide img{width:100%;height:100%;object-fit:cover;display:block}
.kr-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.25))}
.kr-slider-nav{position:absolute;inset:auto 16px 16px 16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.kr-slider-btn{pointer-events:auto;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.24);backdrop-filter:blur(8px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.14s}
.kr-slider-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.32)}
/* accordion */
.kr-accordion{display:flex;flex-direction:column;gap:10px}
.kr-acc-item{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.72);overflow:hidden}
.kr-acc-head{padding:14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.kr-acc-icon{width:34px;height:34px;border-radius:999px;background:rgba(255,138,77,.22);border:1px solid rgba(243,106,46,.25);display:flex;align-items:center;justify-content:center;font-weight:900}
.kr-acc-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.kr-acc-inner{padding:0 14px 14px;color:var(--muted);line-height:1.65}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
#kr-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(0,0,0,.74);z-index:9999}
#kr-lightbox[aria-hidden="false"]{display:flex}
#kr-lightbox img{max-width:min(1100px,96vw);max-height:86vh;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.35);background:#111}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.photo-grid{grid-template-columns:1fr}}
.photo-card{background:#fff;padding:10px;border-radius:18px;border:1px solid rgba(0,0,0,.06);box-shadow:0 14px 30px rgba(0,0,0,.10);transform:rotate(var(--tilt,-2deg));transition:.18s;cursor:zoom-in}
.photo-card:hover{transform:rotate(0deg) translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.14)}
.photo-card img{width:100%;height:auto;display:block;border-radius:14px}
footer.site-footer{margin-top:62px;padding:22px 0 48px;border-top:1px solid var(--border);color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* Logo sizing */
.brand .custom-logo{width:auto;height:28px;max-height:28px;}
.brand .custom-logo-link{display:block;}
.brand .logo{width:30px;height:30px;}

/* Hero text overlay (no panel) */
.hero-title{
  position: relative;
  width: min(760px, 100%);
  color: #fff;
  padding: 8px 6px;
  text-shadow: 0 10px 26px rgba(0,0,0,.45);
}
.hero-h1{ margin:0 0 10px; color:#fff; }
.hero-sub{ margin:0; font-size:18px; line-height:1.65; color: rgba(255,255,255,.92); max-width: 62ch; }
.hero-banner::after{ background: radial-gradient(900px 450px at 10% 20%, rgba(255,255,255,.18), transparent 55%), linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.45)); }

/* Slider film dots */
.kr-slider-dots{
  position:absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px;
  display:flex;
  gap: 8px;
  align-items:center;
  justify-content:center;
}
.kr-dot{
  width: 22px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.24);
  backdrop-filter: blur(6px);
  cursor:pointer;
  transition: transform .14s ease, background .14s ease, width .14s ease;
}
.kr-dot:hover{ transform: translateY(-1px); }
.kr-dot.is-active{
  width: 34px;
  background: rgba(255,255,255,.40);
}

/* Event bookmark tag (bigger, no triangle) */
.event-bookmark{
  position:absolute;
  top: -14px;
  right: 18px;
}
.event-bookmark-inner{
  background: linear-gradient(180deg, rgba(255,138,77,.98), rgba(243,106,46,.98));
  color:#fff;
  padding: 16px 18px 16px;
  border-radius: 18px;
  box-shadow: 0 22px 52px rgba(243,106,46,.36);
  border: 1px solid rgba(255,255,255,.22);
  font-weight: 900;
  min-width: 190px;
}
.bm-date{
  font-size: 16px;
  letter-spacing: .2px;
  opacity: .95;
  line-height: 1.15;
}
.bm-time{
  font-size: 34px;
  line-height: 1.05;
  margin-top: 6px;
  letter-spacing: .4px;
}


/* Guard: keep sections within container */
section{max-width:100%;}


/* Rich content from editor */
.entry-content > *:first-child{margin-top:0}
.entry-content > *:last-child{margin-bottom:0}
.entry-content p,
.entry-content ul,
.entry-content ol{font-size:18px;line-height:1.7;color:var(--muted)}
.entry-content h2,
.entry-content h3,
.entry-content h4{margin-top:1.2em}
.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.entry-content img{max-width:100%;height:auto;border-radius:18px}

/* Rental form */
.kr-form{display:flex;flex-direction:column;gap:14px}
.kr-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:720px){.kr-grid2{grid-template-columns:1fr}}
.kr-field{display:flex;flex-direction:column;gap:8px}
.kr-field label{font-weight:800}
.kr-field input,
.kr-field textarea{width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.9);font:inherit;color:var(--text)}
.kr-field textarea{min-height:150px;resize:vertical}
.kr-field input:focus,
.kr-field textarea:focus{outline:2px solid rgba(243,106,46,.22);border-color:rgba(243,106,46,.45)}
.kr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(31,35,40,.12);background:rgba(255,255,255,.52);font-weight:900;cursor:pointer;transition:.14s}
.kr-btn-primary{background:linear-gradient(180deg,var(--accent2),var(--accent));color:#fff;border-color:rgba(255,255,255,.22);box-shadow:0 16px 34px rgba(243,106,46,.30)}
.kr-btn:hover{transform:translateY(-1px)}
.kr-form-success{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.75);border:1px solid var(--border);box-shadow:var(--shadow)}
.kr-form-success p{margin:0;font-size:18px;line-height:1.6}
.kr-help{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.kr-hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}

/* Single event details */
.event-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.event-meta .pill{background:rgba(255,255,255,.85)}

/* Better mobile header */
@media(max-width:720px){
  .container{width:min(var(--maxw),calc(100% - 32px))}
  .header-inner{align-items:flex-start;flex-direction:column}
  .brand{align-items:flex-start;flex-wrap:wrap}
}
