/* =============================================================================
   BORNER — Public theme overrides (applied ON TOP of styles.css)
   Step 6.2 — Nordic-Mediterranean palette: Laurel Green / Bone White
   Tipografia: Inter (NO Georgia / NO italic accents)
   ============================================================================= */

:root{
  /* Public theme variables (rinforzano styles.css) */
  --ink:#1c211f;
  --muted:#5a605d;
  --soft:#f5f2f0;
  --stone:#dedbcf;
  --line:rgba(28,33,31,.10);
  --accent:#6d827f;
  --accent-dark:#566866;
  --accent-soft:#8a9b97;
  --sage:#6d827f;
  --cream:#f5f2f0;
  --warm-grey:#a3a199;
  --camel:#c4a382;
  --radius:24px;
  --shadow:0 24px 60px rgba(28,33,31,.10);
}

body{background:var(--cream);font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--ink);font-weight:400}

/* Reset font su tutti gli elementi tipografici (no Georgia / no italic) */
.nav-links,.lang,.btn,.eyebrow,.team-role,.feature h3,.card h3,.step h3,
.lifestyle h2,.gallery h2,.cta h2,.statement,.section-head h2,.page-section h2,
.page-hero h1,.hero-img h1,.img-card h3,.team-body h3,.contact-box h3,
.quote blockquote{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-style:normal;
}

/* Trasforma gli <em> (precedentemente serif corsivo terracotta)
   in un'enfasi color laurel coerente con la nuova identità. */
.hero-img h1 em,
.lifestyle h2 em,
.gallery h2 em,
.cta h2 em,
.statement em,
.section-head h2 em,
.page-section h2 em,
.page-hero h1 em{
  font-style:normal;
  color:var(--accent);
  font-weight:500;
}

.site-header{background:rgba(245,242,240,.92);border-bottom:1px solid var(--line)}

.lang a.active{background:var(--accent);border-color:var(--accent);color:#fff}

.btn{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;letter-spacing:.02em}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.ghost{color:var(--ink);border-color:rgba(28,33,31,.18);background:transparent}
.btn.ghost:hover{background:rgba(109,130,127,.08);border-color:var(--accent);color:var(--accent-dark)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:var(--soft);color:var(--accent-dark)}

/* ===== HERO with background image ===== */
.hero-img{position:relative;min-height:75vh;display:flex;align-items:flex-end;overflow:hidden;background:#1c211f}
.hero-img .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);animation:slowZoom 18s ease-out infinite alternate}
@keyframes slowZoom{to{transform:scale(1.12)}}
.hero-img:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(28,33,31,.15) 0%,rgba(28,33,31,.55) 70%,rgba(28,33,31,.88) 100%);
}
.hero-img .hero-content{position:relative;z-index:2;max-width:1220px;margin:0 auto;padding:120px 24px 80px;color:#fff;width:100%}
.hero-img .eyebrow{color:var(--stone);font-weight:600;letter-spacing:.16em}
.hero-img h1{
  font-size:clamp(46px,7vw,96px);line-height:.98;letter-spacing:-.035em;
  margin:0 0 24px;font-weight:600;max-width:14ch;color:#fff;
}
.hero-img h1 em{color:#cfd4cf}
.hero-img p{font-size:20px;max-width:620px;color:#dedbcf;margin:0 0 32px;line-height:1.55;font-weight:400}
.hero-img .actions{display:flex;gap:14px;flex-wrap:wrap}

/* ===== Image service cards ===== */
.img-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.img-card{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3/4;display:flex;align-items:flex-end;color:#fff;text-decoration:none;background:#1c211f;transition:transform .3s ease, box-shadow .3s ease}
.img-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.img-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(28,33,31,.88) 100%)}
.img-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.img-card:hover img{transform:scale(1.07)}
.img-card .body{position:relative;z-index:2;padding:22px}
.img-card h3{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.1}
.img-card span{font-size:12.5px;opacity:.82;letter-spacing:.04em;font-weight:400}

@media(max-width:920px){.img-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.img-cards{grid-template-columns:1fr}.img-card{aspect-ratio:4/3}}

/* ===== Lifestyle band ===== */
.lifestyle{background:var(--soft);padding:100px 24px}
.lifestyle .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.lifestyle .photo{border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:var(--stone)}
.lifestyle .photo img{width:100%;height:100%;object-fit:cover;display:block}
.lifestyle h2{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.03em;font-weight:600;margin:0 0 20px;color:var(--ink)}
.lifestyle h2 em{color:var(--accent)}
.lifestyle p{font-size:18px;color:var(--muted);line-height:1.65;margin:0 0 18px;font-weight:400}
@media(max-width:920px){.lifestyle .wrap{grid-template-columns:1fr;gap:32px}}

/* ===== Gallery strip ===== */
.gallery{padding:80px 0 100px;overflow:hidden;background:#fff}
.gallery h2{max-width:1220px;margin:0 auto 36px;padding:0 24px;font-size:clamp(30px,4.2vw,52px);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}
.gallery h2 em{color:var(--accent)}
.gallery-strip{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:14px;padding:0 24px;max-width:1380px;margin:0 auto}
.gallery-strip > div{border-radius:18px;overflow:hidden;aspect-ratio:3/4;background:var(--stone)}
.gallery-strip > div:nth-child(2),.gallery-strip > div:nth-child(3){aspect-ratio:3/4;align-self:end;margin-top:40px}
.gallery-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.gallery-strip > div:hover img{transform:scale(1.05)}
@media(max-width:920px){.gallery-strip{grid-template-columns:1fr 1fr}.gallery-strip > div:nth-child(2),.gallery-strip > div:nth-child(3){margin-top:0}}

/* ===== Quotes ===== */
.quote{background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:16px}
.quote blockquote{font-size:16px;line-height:1.6;color:var(--ink);font-weight:400}
.quote cite{color:var(--accent-dark);font-weight:600;font-style:normal;font-size:14px;letter-spacing:.02em}

/* ===== CTA ===== */
.cta{
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  border-radius:28px;color:#fff;
}
.cta h2{font-weight:600;letter-spacing:-.03em;color:#fff}
.cta h2 em{color:var(--stone)}
.cta p{color:#e6ebe9}

/* ===== Statement ===== */
.statement{font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}
.statement em{color:var(--accent)}

/* ===== Section headings ===== */
.section-head h2,.page-section h2{font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}
.section-head h2 em{color:var(--accent)}

/* ===== Page hero ===== */
.page-hero{
  background:linear-gradient(180deg,var(--soft) 0%,var(--cream) 100%);
  position:relative;overflow:hidden;padding:110px 24px 80px;
}
.page-hero:before{
  content:"";position:absolute;right:-120px;top:-120px;
  width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(109,130,127,.20) 0%,transparent 70%);
  pointer-events:none;
}
.page-hero .eyebrow{color:var(--accent);font-weight:600}
.page-hero h1{font-weight:600;letter-spacing:-.035em;line-height:1;color:var(--ink);font-size:clamp(40px,5.6vw,76px)}
.page-hero h1 em{color:var(--accent)}
.page-hero p{color:var(--muted);font-size:19px;line-height:1.55;font-weight:400}

main section{padding:90px 24px}
.soft{background:var(--stone)}

.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 0 rgba(28,33,31,.04)}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card h3{font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.card p{color:var(--muted)}

.feature{border-top:1px solid var(--line)}
.feature h3{font-weight:600;letter-spacing:-.015em;color:var(--accent-dark)}
.feature p{color:var(--muted)}

.step{background:#fff;border:1px solid var(--line);border-radius:18px}
.step:before{color:var(--accent);font-weight:600;letter-spacing:.12em}
.step h3{font-weight:600;letter-spacing:-.015em;color:var(--ink)}

.contact-box{background:#fff;border:1px solid var(--line);border-radius:18px}
.contact-box h3{font-weight:600;letter-spacing:-.015em;color:var(--accent-dark)}

.team-card{background:#fff;border:1px solid var(--line);border-radius:20px}
.team-photo{background:linear-gradient(135deg,var(--stone),var(--accent-soft))}
.team-initials{background:var(--accent);color:#fff;font-weight:600}
.team-body h3{font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);font-size:15px}
.team-role{color:var(--accent-dark);font-weight:600;letter-spacing:.10em}

.portal{background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink);font-weight:600}

.blog-card{background:#fff;border:1px solid var(--line);border-radius:20px}

.form input,.form textarea{background:#fff;border:1px solid rgba(28,33,31,.18);border-radius:14px}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(109,130,127,.16)}

.footer{background:var(--soft);border-top:1px solid var(--line)}
.footer-inner{color:var(--muted)}
.whatsapp{background:#25d366;color:#fff;box-shadow:0 14px 30px rgba(37,211,102,.30)}

.site-header .nav-links a:hover,
.site-header .nav-links a[aria-current="page"],
.site-header .nav-links a.active{border-color:var(--accent);color:var(--accent-dark)}
.lang a{border-color:rgba(28,33,31,.16);color:var(--muted)}
.lang a:hover{border-color:var(--accent);color:var(--accent-dark)}
.lang a.active{background:var(--accent);border-color:var(--accent);color:#fff}
