:root{
  --maxw: 1100px;
  --transition: 260ms ease;
  --engrave-tracking: .015em;
  --font-serif: "EB Garamond", Garamond, "Times New Roman", serif;
}

*{ box-sizing: border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family: var(--font-serif);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga" 1, "kern" 1, "onum" 1;
  font-variant-numeric: oldstyle-nums;
  line-height: 1.5;
  letter-spacing: var(--engrave-tracking);
  background: url('/images/bg.png') center/cover fixed no-repeat #efe9db;
}

/* Page frame: zero gaps */
.wrapper{
  width:min(var(--maxw), 92vw);
  margin:0 auto;
  display:grid;
  grid-template-rows: 50vh auto;
 min-height:100vh; display:flex; flex-direction:column; }

/* Top half: carousel */
.hero{
  position:relative;
  height:50vh;
  border:0;
  overflow:hidden;
  background:#f6f6f6;
}
.slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity .8s ease;
}
.slide.active{ opacity:1; }

/* Image border (wavy) for menu + bottom box */
.img-border{
  border:8px solid transparent;
  border-image: url('/images/border.png') 30 round;
  background:transparent;
}

/* Bottom content area */
.content.img-border{ padding:16px; }

.tab-panel{ display:none; }
.tab-panel.active{ display:block; }

/* Big engraved headings */
.h2{
  font-family: "Cormorant Garamond", var(--font-serif);
  font-weight:600;
  letter-spacing: var(--engrave-tracking);
  font-feature-settings: "liga" 1, "kern" 1, "onum" 1, "dlig" 1;
  font-size: clamp(2rem, 6vw, 3.5rem);
  margin: 0 0 .25rem 0;
}

/* Hover-to-reveal menu (overlays carousel) */
.menu-area{ display:none; }

.menu-panel{position:fixed; left:50%; top:0; transform:translate(-50%, 0);width:min(var(--maxw), 96vw);padding:8px 10px; margin-top:0;z-index:50; transition: transform var(--transition);background: rgba(255,255,255,.55);backdrop-filter: blur(4px);box-shadow: 0 6px 18px rgba(0,0,0,.08);}


/* Menu buttons */
.tabs{ display:flex; gap:12px; justify-content:center; }
.tab-btn{
  font: 700 20px/1.5 var(--font-serif);
  letter-spacing: var(--engrave-tracking);
  appearance:none; border:0; background:transparent; cursor:pointer;
  padding:10px 14px;
  transition: transform var(--transition), opacity var(--transition);
  opacity:.9;
}
.tab-btn:hover{ transform: translateY(-1px); opacity:1; }
.tab-btn[aria-selected="true"]{ text-decoration: underline; }

/* Small screens */
@media (max-width: 640px){
  .wrapper{ grid-template-rows: 46vh auto;  min-height:100vh; display:flex; flex-direction:column; }
  .content.img-border{ padding:14px; }
}

.content{ background: rgba(255,255,255,.55); backdrop-filter: blur(2px);  box-shadow: 0 8px 24px rgba(0,0,0,.06);  flex:1; padding:5vh; }
