:root{
  /* Light theme palette */
  --bg:#e6dbc3;        /* sand (0xe6dbc3) */
  --card:#ffffff;      /* light surfaces */
  --text:#2b2b2b;      /* primary text */
  --muted:#6e6458;     /* subdued text */
  --accent:#c97a5c;    /* terracotta (0xc97a5c) */
  --accent-2:#b49765;  /* wheat (0xb49765) */
  --accent-3:#a38658;  /* oak (0xa38658) */
  --border:#d7c6a5;    /* subtle border (derived from palette) */
  --radius:14px;
  --container:1100px;

  --header-bg:rgba(230,219,195,.85);
  --footer-bg:#efe4ce;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:var(--container); margin:0 auto; padding:0 20px}
.narrow{max-width:800px}

.site-header{
  position:sticky; top:0; z-index:10;
  background:var(--header-bg); backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex; align-items:center; justify-content:space-between; height:64px}
/* Brand (logo above small "alphaville") */
.brand{display:inline-flex; flex-direction:column; align-items:center; gap:2px; font-weight:700; letter-spacing:.2px; color:var(--accent-3); text-decoration:none}
.brand__logo{height:28px; width:auto; display:block}
.brand__sub{display:block; margin-top:2px; font-size:11px; line-height:1; color:var(--text); opacity:.8; text-transform:none; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.links a{margin-left:18px; color:var(--text); opacity:.9}
.links a:hover{opacity:1}

.hero{position:relative; min-height:60vh; display:grid; place-items:center; text-align:center; overflow:hidden}
.hero-bg{
  position:absolute; inset:0; background:
    radial-gradient(ellipse at center, rgba(255,255,255,.4), rgba(255,255,255,.75)),
    var(--hero-image) center/cover no-repeat;
  filter:saturate(105%);
}
.hero-inner{position:relative; padding:80px 0}
.hero__logo{width:min(70vw,520px); height:auto; display:block; margin:0 auto 16px; filter:drop-shadow(0 1px 6px rgba(0,0,0,.25))}
.hero h1{font-size:clamp(32px,5vw,56px); margin:0 0 12px}
.lead{font-size:clamp(16px,2.2vw,20px); color:var(--muted); margin:0 auto 20px; max-width:750px}
.btn{
  display:inline-block; padding:12px 18px; border-radius:999px;
  background:var(--accent); color:#ffffff; font-weight:600; border:0;
  transition:transform .12s ease, filter .12s ease;
}
.btn:hover{transform:translateY(-1px); filter:brightness(1.05)}
.btn-outline{
  background:transparent; border:1px solid var(--accent); color:var(--text); margin-left:10px;
}

.section{padding:56px 0}
.section-alt{background:linear-gradient(180deg, #f3ecde, #efe4ce)}
.section-title{font-size:28px; margin:0 0 18px}
.subtle{color:var(--muted); margin-top:10px}

.ig-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
  border-radius:var(--radius); overflow:hidden; background:var(--card); padding:8px; border:1px solid var(--border);
}
.ig-item{display:block; aspect-ratio:1/1; overflow:hidden; border-radius:10px}
.ig-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease}
.ig-item:hover img{transform:scale(1.04)}

.ig-embed{border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); background:var(--card)}
.ig-iframe{width:100%; height:560px; border:0}

.contact-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:stretch;
}
.contact-copy{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:20px}
.cta-row{margin-top:16px}

.map-wrap{border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); background:var(--card)}
.map{width:100%; height:100%; min-height:320px; border:0}

.site-footer{padding:28px 0; border-top:1px solid var(--border); background:var(--footer-bg)}
.footer-grid{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; flex-direction:column; text-align:center}
.brand--footer .brand__logo{height:44px}
.brand--footer .brand__sub{font-size:12px}
.foot-links{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap}
.foot-links a{margin-right:0}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .ig-grid{grid-template-columns:repeat(3,1fr)}
  .ig-iframe{height:520px}
}

@media (max-width:600px){
  .ig-grid{grid-template-columns:repeat(2,1fr)}
  .ig-iframe{height:480px}
}
