@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,500;1,500&family=Inter:wght@400;500;600&display=swap");
:root { --paper:#fafaf9; --ink:#1c1c1c; --bronze:#7a1622; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,system-ui,sans-serif; }
h1,h2,h3,.serif { font-family:"EB Garamond",Georgia,serif; font-weight:500; }
a { color:inherit; }
.wrap { max-width:80rem; margin:0 auto; padding:0 1.5rem; }
.kicker { margin:0 0 .75rem; font-size:.75rem; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze); font-weight:500; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.75rem; padding:.75rem 1.5rem; border-radius:.375rem; font-size:.875rem; font-weight:500; text-decoration:none; border:1px solid transparent; cursor:pointer; }
.btn-bronze { background:var(--bronze); color:var(--paper); border-color:var(--bronze); }
.btn-ghost { color:var(--paper); border-color:rgba(250,250,249,.3); background:transparent; }
.btn-paper { background:var(--paper); color:var(--bronze); }
nav { position:sticky; top:0; z-index:20; background:#fff; border-bottom:1px solid rgba(28,28,28,.06); }
.bar { height:5rem; display:flex; align-items:center; justify-content:space-between; }
.links { display:flex; align-items:center; gap:2.5rem; font-size:.875rem; font-weight:500; color:rgba(28,28,28,.7); }
.links a { text-decoration:none; }
.lang { display:flex; gap:.25rem; padding:.25rem; border:1px solid rgba(28,28,28,.1); border-radius:.375rem; }
.lang a { text-decoration:none; padding:.25rem .6rem; border-radius:4px; font-size:.75rem; }
.lang .on { background:var(--bronze); color:var(--paper); }
.logo { height:2.25rem; width:auto; }
.hero { min-height:76vh; display:flex; align-items:center; position:relative; color:var(--paper); background:#1c1c1c center/cover no-repeat; }
.hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(28,28,28,.85),rgba(28,28,28,.5) 55%,rgba(122,22,34,.25)); }
.hero .inner { position:relative; padding:6rem 0; max-width:54ch; }
.eyebrow { letter-spacing:.22em; text-transform:uppercase; font-size:.75rem; color:rgba(250,250,249,.8); }
.hero h1 { font-size:clamp(2.6rem,6vw,4.5rem); line-height:1; margin:1.5rem 0 2rem; }
.lead { font-size:1.15rem; line-height:1.6; color:rgba(250,250,249,.78); margin:0 0 3rem; }
.actions { display:flex; gap:1rem; flex-wrap:wrap; }
.band { margin-top:-2.5rem; position:relative; z-index:2; padding-bottom:1rem; }
.band-box, .card { background:var(--paper); border-radius:12px; box-shadow:0 0 0 1px rgba(0,0,0,.06); }
.band-box { display:grid; grid-template-columns:1.4fr auto; gap:1.5rem; align-items:center; padding:1.75rem 2rem; border:1px solid rgba(122,22,34,.15); }
.band-box h2 { font-size:clamp(1.8rem,3vw,2.25rem); margin:0 0 .5rem; }
.muted { color:rgba(28,28,28,.65); }
.about { padding:6rem 0; background:rgba(244,244,245,.5); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:12px; box-shadow:0 0 0 1px rgba(0,0,0,.06); }
.about h2, .services h2, .location h2 { font-size:clamp(2rem,4vw,3rem); margin:0 0 1.5rem; }
.duo { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.services, .free { padding:6rem 0; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
article.card { padding:2rem; }
.num { color:var(--bronze); font-style:italic; letter-spacing:.15em; }
.free-box { display:grid; grid-template-columns:1.5fr auto; gap:2rem; align-items:center; background:var(--bronze); color:var(--paper); border-radius:.5rem; padding:3.5rem; }
.free-box h2 { font-size:clamp(2.25rem,5vw,3.75rem); margin:0 0 1rem; }
.contact { padding:6rem 0; border-top:1px solid rgba(28,28,28,.06); background:rgba(244,244,245,.6); }
.contact-grid { display:grid; grid-template-columns:5fr 7fr; gap:3rem; }
iframe { width:100%; height:400px; border:0; border-radius:12px; box-shadow:0 0 0 1px rgba(0,0,0,.06); }
.stack { max-width:42rem; margin-top:3rem; padding:2rem; }
label { display:block; font-size:.75rem; font-weight:500; margin-bottom:.5rem; }
input, textarea { width:100%; border:0; border-radius:.375rem; padding:.75rem 1rem; font:inherit; font-size:.875rem; background:var(--paper); box-shadow:0 0 0 1px rgba(28,28,28,.15); }
.field { margin-bottom:1.25rem; }
footer { padding:3rem 0; border-top:1px solid rgba(28,28,28,.06); }
.foot { display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; font-size:.75rem; color:rgba(28,28,28,.4); }
.foot a { text-decoration:none; margin-left:2rem; }
#ia-result { margin-top:1.5rem; font-size:.875rem; }
@media (max-width:900px) {
  .links { display:none; }
  .band-box, .split, .duo, .cards, .free-box, .contact-grid { grid-template-columns:1fr; }
}
