:root{
  --lp-orange:#EA6A1B; --lp-orange-600:#C7550F; --lp-ink:#14171A; --lp-slate:#5B6169;
  --lp-line:#E7E5E0; --lp-canvas:#FAF9F6;
  --bs-primary:#EA6A1B; --bs-body-color:#14171A; --bs-body-font-family:'Manrope',sans-serif;
  --bs-border-radius:4px; --bs-border-radius-lg:6px;
}
body{background:var(--lp-canvas); color:var(--lp-ink); -webkit-font-smoothing:antialiased;}
::selection{background:var(--lp-orange); color:#fff;}
h1,h2,h3,h4,h5,.display-title{font-family:'Space Grotesk',sans-serif; letter-spacing:-0.02em;}
a{color:var(--lp-orange); text-decoration:none;}
a:hover{color:var(--lp-orange-600);}
.eyebrow{font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--lp-slate);}
.eyebrow .dot{display:inline-block; width:7px; height:7px; background:var(--lp-orange); margin-right:9px; vertical-align:1px;}
.lead-muted{color:var(--lp-slate);}

.lp-logo{font-family:'Titillium Web',sans-serif; font-weight:900; font-style:italic; letter-spacing:-0.02em; color:var(--lp-ink); line-height:1; text-decoration:none;}
.lp-logo:hover{color:var(--lp-ink);}
.lp-logo .pro{color:var(--lp-orange);}
.lp-logo.on-dark{color:#fff;}

.navbar{background:rgba(250,249,246,.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--lp-line);}
.navbar .nav-link{color:var(--lp-slate); font-weight:600; font-size:15px;}
.navbar .nav-link:hover,.navbar .nav-link:focus,.navbar .nav-link.active{color:var(--lp-ink);}
.lang-switch{display:flex; align-items:center; gap:2px; font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:600;}
.lang-switch button{background:none; border:none; padding:4px 8px; color:var(--lp-slate); cursor:pointer; border-radius:3px;}
.lang-switch button.active{color:var(--lp-ink); background:#EFEDE8;}
.lang-switch .sep{color:var(--lp-line);}

.btn{font-weight:600; border-radius:4px; padding:.7rem 1.4rem;}
.btn-brand{background:var(--lp-orange); color:#fff; border:1px solid var(--lp-orange);}
.btn-brand:hover{background:var(--lp-orange-600); border-color:var(--lp-orange-600); color:#fff;}
.btn-ink{background:transparent; color:var(--lp-ink); border:1px solid var(--lp-ink);}
.btn-ink:hover{background:var(--lp-ink); color:#fff;}
.btn-ghost-light{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4);}
.btn-ghost-light:hover{background:#fff; color:var(--lp-ink);}

section{scroll-margin-top:80px;}
.hero{padding:7rem 0 5rem;}
.page-hero{padding:5rem 0 3.5rem; border-bottom:1px solid var(--lp-line);}
.display-hero{font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.03em; line-height:1.02; font-size:clamp(2.6rem,6vw,4.6rem);}
.prose{max-width:44rem;}
.prose p{color:var(--lp-slate); font-size:1.05rem;}

.service-card{background:#fff; border:1px solid var(--lp-line); border-radius:6px; padding:2rem; height:100%; transition:border-color .18s ease;}
.service-card:hover{border-color:var(--lp-orange);}
.service-no{font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--lp-orange); font-size:14px;}
.service-card h3{font-size:1.25rem; margin:.9rem 0 .4rem;}

.service-detail{background:#fff; border:1px solid var(--lp-line); border-radius:6px; padding:2.5rem;}
.service-detail ul{color:var(--lp-slate); padding-left:1.1rem;}
.service-detail ul li{margin-bottom:.35rem;}

.stat-num{font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.03em; font-size:clamp(2.4rem,5vw,3.4rem); line-height:1;}
.stat-num .u{color:var(--lp-orange);}

.section-dark{background:var(--lp-ink); color:#fff;}
.section-dark .lead-muted{color:#A6ADB5;}
.photo-tile{aspect-ratio:4/5; background:#1F242B; border:1px solid #2A2F36; border-radius:6px; display:flex; align-items:flex-end; padding:1.1rem; color:#8A9098; font-size:13px; font-family:'Space Grotesk',sans-serif; letter-spacing:.04em;}
.photo-tile span{background:rgba(20,23,26,.72); padding:3px 7px; border-radius:5px; color:#fff;}

.cta-band{background:var(--lp-ink); color:#fff; border-radius:8px; padding:3.5rem;}

.contact-card{background:#fff; border:1px solid var(--lp-line); border-radius:6px; padding:2rem;}
.contact-dl dt{font-family:'Space Grotesk',sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--lp-slate); margin-top:1rem;}
.contact-dl dd{font-size:1.05rem; margin:.15rem 0 0;}
.form-label{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--lp-slate); font-weight:600;}
.form-control{border-radius:4px;}
.form-control:focus{border-color:var(--lp-orange); box-shadow:0 0 0 .2rem rgba(234,106,27,.18);}

footer.site-footer{border-top:2px solid var(--lp-ink); padding:2.5rem 0;}
.footer-link{color:var(--lp-slate); text-decoration:none; font-size:14px;}
.footer-link:hover{color:var(--lp-orange);}

/* Cookie consent banner */
.lp-cookie{position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:1080; max-width:640px; margin:0 auto;
  background:#fff; border:1px solid var(--lp-line); border-top:3px solid var(--lp-orange); border-radius:8px;
  box-shadow:0 12px 40px rgba(20,23,26,.16); padding:1.25rem 1.4rem;
  display:flex; flex-wrap:wrap; gap:1rem 1.25rem; align-items:center; justify-content:space-between;
  transform:translateY(150%); transition:transform .3s ease;}
.lp-cookie.show{transform:translateY(0);}
.lp-cookie-text{flex:1 1 16rem; min-width:0;}
.lp-cookie-text strong{display:block; font-family:'Space Grotesk',sans-serif; font-size:15px; color:var(--lp-ink); margin-bottom:.25rem;}
.lp-cookie-text p{margin:0; font-size:13px; color:var(--lp-slate); line-height:1.5;}
.lp-cookie-actions{display:flex; gap:.6rem; flex:0 0 auto;}
.lp-cookie-actions .btn{white-space:nowrap;}
@media (max-width:520px){ .lp-cookie-actions{width:100%;} .lp-cookie-actions .btn{flex:1;} }

/* Contact form: honeypot (hidden from humans) + status message */
.lp-hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden;}
.form-status{border-radius:6px; padding:.75rem 1rem; font-size:14px; border:1px solid var(--lp-line);}
.form-status--info{background:#F4F2EC; color:var(--lp-slate);}
.form-status--ok{background:#EAF6EC; border-color:#BFE3C6; color:#1E6B33;}
.form-status--error{background:#FCECE7; border-color:#F3C6B7; color:#B23A17;}
