:root{
  --terracotta:#bf5b3d;
  --terracotta-dark:#a34a30;
  --sea:#1f3a44;
  --sea-light:#2c4e5a;
  --olive:#7a8450;
  --sand:#faf3e8;
  --sand-deep:#f1e6d4;
  --ink:#2b2620;
  --ink-soft:#5a5248;
  --white:#ffffff;
  --line:#e4d8c4;
  --radius:14px;
  --shadow:0 10px 30px -12px rgba(43,38,32,0.18);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--sand);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  line-height:1.55;
}
h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:600;
  line-height:1.15;
  margin:0 0 .5em;
  color:var(--sea);
}
p{margin:0 0 1em;}
a{color:inherit;}
img,svg{display:block;}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
section{padding:76px 0;}
.eyebrow{
  display:inline-block;
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--terracotta);
  font-weight:700;
  margin-bottom:14px;
}

/* NAV */
header.site{
  position:sticky; top:0; z-index:50;
  background:var(--sand);
  border-bottom:1px solid var(--line);
}
nav{
  max-width:1100px;margin:0 auto;padding:14px 24px;
  display:flex; flex-direction:column; gap:10px;
}
.nav-top{
  display:flex;align-items:center;justify-content:space-between;gap:10px 16px; flex-wrap:wrap;
}
.brand{
  font-family:'Fraunces', serif; font-weight:700; font-size:1.05rem; color:var(--sea);
  white-space:nowrap; text-decoration:none;
}
.brand span{color:var(--terracotta);}
.brand-group{display:flex; align-items:center; gap:10px; min-width:0; text-decoration:none;}
.brand-logo{height:34px; width:auto; display:block; flex-shrink:0;}
.nav-links{
  display:flex; gap:22px; list-style:none; margin:0; padding:10px 0 0; flex-wrap:wrap;
  font-size:.92rem; font-weight:500; border-top:1px solid var(--line); justify-content:center;
}
.nav-links a{text-decoration:none; color:var(--ink-soft); transition:color .15s;}
.nav-links a:hover{color:var(--terracotta);}
.lang-toggle{display:flex; gap:6px; flex-wrap:wrap;}
.lang-toggle a{
  border:1px solid var(--line); background:var(--white); border-radius:20px;
  font-size:.72rem; font-weight:700; padding:5px 10px; color:var(--ink-soft);
  font-family:inherit; text-decoration:none; transition:background .15s, color .15s, border-color .15s;
}
.lang-toggle a:hover{border-color:var(--terracotta); color:var(--terracotta);}
.lang-toggle a.active{background:var(--sea); border-color:var(--sea); color:var(--sand);}
.lang-toggle a.active:hover{color:var(--sand);}
@media (max-width:820px){ .nav-links{display:none;} }

/* HERO */
.hero{
  background:
    radial-gradient(circle at 85% -10%, rgba(191,91,61,0.14), transparent 55%),
    radial-gradient(circle at -5% 110%, rgba(31,58,68,0.12), transparent 55%),
    var(--sand);
  padding:88px 0 60px;
}
.hero .wrap{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;}
@media (max-width:900px){ .hero .wrap{grid-template-columns:1fr;} }
.hero h1{font-size:clamp(2rem, 4vw, 2.9rem); max-width:18ch;}
.hero .sub{font-size:1.08rem; color:var(--ink-soft); max-width:46ch; margin-bottom:28px;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--terracotta); color:var(--white); text-decoration:none;
  padding:14px 26px; border-radius:999px; font-weight:600; font-size:.98rem;
  box-shadow:var(--shadow); border:none; cursor:pointer;
  transition:transform .15s, background .15s;
}
.btn:hover{background:var(--terracotta-dark); transform:translateY(-1px);}
.btn.ghost{
  background:transparent; color:var(--sea); border:1.5px solid var(--sea); box-shadow:none;
}
.hero-visual{
  background:var(--sea); border-radius:22px; padding:26px; color:var(--sand);
  box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.hero-visual::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(255,255,255,0.08), transparent 60%);
}
.hero-visual .tag{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#e2b79a; font-weight:700;}
.hero-visual h3{color:var(--sand); font-size:1.15rem; margin:10px 0 16px;}
.hero-visual ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
.hero-visual li{display:flex; gap:10px; align-items:flex-start; font-size:.92rem; color:#e9ddc9;}
.hero-visual li svg{flex:0 0 auto; margin-top:3px;}

.why-grid{
  margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.hero .wrap.why-grid{grid-template-columns:repeat(3,1fr);}
@media (max-width:820px){ .why-grid, .hero .wrap.why-grid{grid-template-columns:1fr;} }
.why-card{
  background:var(--white); border-radius:var(--radius); padding:24px;
  border:1px solid var(--line);
}
.why-card .num{
  width:34px; height:34px; border-radius:50%; background:var(--sand-deep); color:var(--terracotta);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Fraunces',serif;
  margin-bottom:14px;
}
.why-card h3{font-size:1.05rem; margin-bottom:6px;}
.why-card p{font-size:.92rem; color:var(--ink-soft); margin:0;}

/* STEPS */
.steps-band{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:40px; position:relative;}
@media (max-width:900px){ .steps{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .steps{grid-template-columns:1fr;} }
.step{position:relative; padding-top:8px;}
.step .circle{
  width:44px; height:44px; border-radius:50%; background:var(--sea); color:var(--sand);
  display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:700;
  margin-bottom:16px;
}
.step h3{font-size:1rem; margin-bottom:6px;}
.step p{font-size:.9rem; color:var(--ink-soft); margin:0;}

/* CHECK CATEGORIES */
.check-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:40px;}
@media (max-width:760px){ .check-grid{grid-template-columns:1fr;} }
.check-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 28px;
}
.check-card h3{
  display:flex; align-items:center; gap:10px; font-size:1.05rem; margin-bottom:14px;
}
.dot{width:9px; height:9px; border-radius:50%; background:var(--terracotta); flex:0 0 auto;}
.check-card ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px;}
.check-card li{font-size:.9rem; color:var(--ink-soft); padding-left:18px; position:relative;}
.check-card li::before{content:"—"; position:absolute; left:0; color:var(--olive);}
.note-box{
  margin-top:28px; background:var(--sand-deep); border-radius:var(--radius); padding:18px 22px;
  font-size:.9rem; color:var(--ink-soft); border-left:4px solid var(--terracotta);
}

/* REPORT */
.report{background:var(--sea); color:var(--sand);}
.report h2, .report .eyebrow{color:var(--sand);}
.report .eyebrow{color:#e2b79a;}
.report-wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;}
@media (max-width:880px){ .report-wrap{grid-template-columns:1fr;} }
.report p{color:#d8ccb6;}
.report-card{
  background:var(--sand); border-radius:18px; padding:22px; box-shadow:var(--shadow); color:var(--ink);
}
.report-card .thumb{
  height:150px; border-radius:10px;
  background:linear-gradient(135deg, var(--terracotta), #e0a06f);
  margin-bottom:14px; position:relative; overflow:hidden;
}
.report-card .thumb::after{
  content:"▶"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.4rem; opacity:.85;
}
.report-card .filebar{display:flex; align-items:center; gap:10px; font-size:.85rem; color:var(--ink-soft); margin-bottom:6px;}
.report-card .filebar b{color:var(--ink);}
.report-card .bars{display:flex; flex-direction:column; gap:8px; margin-top:14px;}
.barline{height:8px; border-radius:5px; background:var(--sand-deep); overflow:hidden;}
.barline i{display:block; height:100%; background:var(--olive); border-radius:5px;}

/* PRICING */
.price-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px;}
@media (max-width:760px){ .price-grid{grid-template-columns:1fr;} }
.price-card{
  background:var(--white); border:1px solid var(--line); border-radius:18px; padding:30px;
  display:flex; flex-direction:column;
}
.price-card.featured{border-color:var(--terracotta); box-shadow:var(--shadow);}
.price-card .amount{font-family:'Fraunces',serif; font-size:2.1rem; color:var(--sea); margin:6px 0 4px;}
.price-card .amount span{font-size:1rem; color:var(--ink-soft); font-weight:500; font-family:'Work Sans',sans-serif;}
.price-card .label{font-size:.85rem; color:var(--ink-soft); margin-bottom:18px;}
.incl-excl{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:36px;}
@media (max-width:640px){ .incl-excl{grid-template-columns:1fr;} }
.incl-excl h4{font-size:.95rem; margin-bottom:12px; color:var(--sea);}
.incl-excl ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;}
.incl-excl li{font-size:.9rem; color:var(--ink-soft); padding-left:22px; position:relative;}
.yes li::before{content:"✓"; position:absolute; left:0; color:var(--olive); font-weight:700;}
.no li::before{content:"?"; position:absolute; left:0; color:var(--terracotta); font-weight:700;}

/* LISTINGS */
.listings{background:var(--sand-deep);}
.listing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px;}
@media (max-width:880px){ .listing-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .listing-grid{grid-template-columns:1fr;} }
.listing-card{background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);}
.listing-img{height:130px; background:linear-gradient(135deg,#cfd9c7,#9fae8d);}
.listing-img.b{background:linear-gradient(135deg,#e3c7a6,#bf5b3d);}
.listing-img.c{background:linear-gradient(135deg,#c9d6dc,#4d6a76);}
.listing-body{padding:16px 18px;}
.listing-body .price{font-family:'Fraunces',serif; color:var(--terracotta); font-weight:700; font-size:1.1rem;}
.listing-body .loc{font-size:.82rem; color:var(--ink-soft); margin-top:2px;}

/* CONTACT */
.contact-wrap{display:grid; grid-template-columns:.9fr 1.1fr; gap:48px;}
@media (max-width:880px){ .contact-wrap{grid-template-columns:1fr;} }
.form-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:30px;
  box-shadow:var(--shadow);
}
.field{margin-bottom:16px;}
.field label{display:block; font-size:.82rem; font-weight:600; color:var(--sea); margin-bottom:6px;}
.field input, .field textarea{
  width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 13px;
  font-family:inherit; font-size:.92rem; background:var(--sand); color:var(--ink);
}
.field textarea{resize:vertical; min-height:90px;}
.form-note{font-size:.8rem; color:var(--ink-soft); margin-top:10px;}

footer{background:var(--sea); color:#cfc3ab; padding:40px 0; font-size:.85rem;}
.footer-wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
footer .brand{color:var(--sand);}
footer .brand span{color:#e2b79a;}
footer .foot-langs{display:flex; gap:10px; flex-wrap:wrap;}
footer .foot-langs a{color:#cfc3ab; text-decoration:none; font-weight:600; font-size:.8rem;}
footer .foot-langs a:hover{color:var(--sand);}
footer .foot-langs a.active{color:var(--sand); text-decoration:underline;}

@media (max-width: 480px) {
  .wrap{padding:0 16px;}
  section{padding:52px 0;}
}
