/* BASE CINQO */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'DM Sans',sans-serif;background:#f5f0e8;color:#111111;font-weight:300;overflow-x:hidden;line-height:1.6}

/* COLORS */
:root{--beige:#f5f0e8;--beige2:#ede7d9;--red:#cc0000;--dark:#111111;--border:#ccc7bb;--gray:#4a4a4a}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;flex-direction:column;align-items:center;background:#f5f0e8;border-bottom:1px solid #ccc7bb}
.nav-top{width:100%;display:flex;justify-content:flex-end;align-items:center;gap:1.5rem;padding:.5rem 3rem;border-bottom:1px solid #ccc7bb}
.logo{display:block;padding:.75rem 0 .25rem}
.logo img{height:75px;width:auto;display:block;mix-blend-mode:multiply}
.nav-links{display:flex;gap:3rem;list-style:none;padding:.6rem 0 .9rem}
.nav-links a{color:#666;text-decoration:none;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:#111}
.lang-sw{display:flex;gap:.3rem}
.lang-sw button{background:none;border:1px solid transparent;color:#aaa;font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:.12em;cursor:pointer;text-transform:uppercase;padding:.3rem .5rem;transition:all .2s}
.lang-sw button.on{color:#cc0000;border-color:#cc0000}
.btn-nav{background:#cc0000;color:#fff;padding:.45rem 1.2rem;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:background .2s}
.btn-nav:hover{background:#a80000}

/* HERO */
.page-top{margin-top:180px}

/* BUTTONS */
.btn-red{background:#cc0000;color:#fff;padding:.9rem 2.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;font-weight:500;display:inline-block;transition:background .2s}
.btn-red:hover{background:#a80000}
.btn-outline{background:transparent;color:#111;padding:.9rem 2.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid #ccc7bb;display:inline-flex;align-items:center;gap:.6rem;transition:all .2s}
.btn-outline:hover{border-color:#111}
.btn-outline::after{content:'→';color:#cc0000}
.btn-wa{display:inline-flex;align-items:center;gap:.75rem;background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.25);padding:.9rem 2rem;color:#1a7a32;text-decoration:none;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}

/* SECTIONS */
.section{padding:6rem 5rem;border-bottom:1px solid #ccc7bb}
.section-alt{background:#ede7d9}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:4rem;padding-bottom:2rem;border-bottom:1px solid #ccc7bb}
.section-label{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#cc0000;margin-bottom:.6rem}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:300;line-height:1.1;color:#cc0000}
.section-title em{font-style:italic}
.section-num{font-family:'Cormorant Garamond',serif;font-size:5rem;font-weight:300;color:rgba(17,17,17,.12);line-height:1}

/* HEADINGS */
h1.display{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5.5vw,6.5rem);font-weight:300;line-height:1.02;letter-spacing:-.02em;color:#111}
h1.display em{font-style:italic;color:#cc0000}
h2.display{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,4rem);font-weight:300;line-height:1.05;color:#111}
h2.display em{font-style:italic;color:#cc0000}
h3.card-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:400;color:#111;line-height:1.2}

/* TAG */
.tag-line{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.tag-line-bar{width:2rem;height:1px;background:#cc0000;flex-shrink:0}
.tag-line-text{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#cc0000}

/* GRID */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #ccc7bb}

/* CARD */
.service-card{padding:3.5rem;border-right:1px solid #ccc7bb;cursor:pointer;transition:background .2s;text-decoration:none;display:block;color:inherit}
.service-card:last-child{border-right:none}
.service-card:hover{background:#ede7d9}
.service-card .num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:rgba(17,17,17,.1);line-height:1;margin-bottom:1.5rem}
.service-card .cat{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#cc0000;margin-bottom:.75rem}
.service-card .desc{font-size:.85rem;color:#555;line-height:1.8;margin-bottom:1.5rem}
.service-card .cta{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:#cc0000}

/* QUOTE */
.blockquote{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;font-weight:300;color:#111;line-height:1.4;padding:2.5rem;border-left:3px solid #cc0000;background:#ede7d9;margin-bottom:2rem}
.blockquote span{color:#cc0000}

/* CTA BAND */
.cta-band{background:#cc0000;padding:5rem;display:flex;align-items:center;justify-content:space-between;gap:3rem}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:300;color:#fff;line-height:1.15}
.cta-band h2 em{font-style:italic}
.cta-band p{font-size:.88rem;color:rgba(255,255,255,.7);margin-top:.75rem;max-width:400px}
.cta-band-btns{display:flex;flex-direction:column;gap:1rem;flex-shrink:0}
.btn-wh{background:#fff;color:#cc0000;padding:.9rem 2.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;font-weight:500;text-align:center;transition:all .2s}
.btn-wh:hover{background:transparent;color:#fff}
.btn-owh{background:transparent;color:#fff;padding:.9rem 2.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid rgba(255,255,255,.4);text-align:center;transition:all .2s}
.btn-owh:hover{border-color:#fff}

/* FOOTER */
footer{background:#111111;padding:3rem 5rem;display:flex;align-items:center;justify-content:space-between}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;letter-spacing:.2em;text-transform:lowercase;color:rgba(255,255,255,.5)}
.footer-links{display:flex;gap:2rem}
.footer-links a{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:rgba(255,255,255,.7)}
.footer-copy{font-size:.62rem;color:rgba(255,255,255,.2);letter-spacing:.06em}

/* REVEAL */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.reveal.on{opacity:1;transform:translateY(0)}

/* HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:none;border:none;z-index:300}
.hamburger span{display:block;width:22px;height:1.5px;background:#111;transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#f5f0e8;z-index:250;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:#111;text-decoration:none;letter-spacing:.04em}
.mobile-menu a:hover{color:#cc0000}
.mobile-menu .mobile-lang{display:flex;gap:.75rem;margin-top:1rem}
.mobile-menu .mobile-lang button{background:none;border:1px solid transparent;color:#aaa;font-family:'DM Sans',sans-serif;font-size:.7rem;letter-spacing:.12em;cursor:pointer;text-transform:uppercase;padding:.3rem .5rem}
.mobile-menu .mobile-lang button.on{color:#cc0000;border-color:#cc0000}

/* RESPONSIVE */
@media(max-width:1100px){
  nav{padding:1rem 2rem}
  .section{padding:4rem 2rem}
  .cta-band{padding:3rem 2rem;flex-direction:column}
  footer{padding:2rem;flex-direction:column;gap:1.5rem;text-align:center}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .service-card{border-right:none;border-bottom:1px solid #ccc7bb}
}
@media(max-width:768px){
  nav{padding:.8rem 1.5rem}
  .nav-links{display:none}
  .nav-top{padding:.4rem 1.5rem}
  .logo img{height:55px}
  .page-top{margin-top:140px}
  .section{padding:3rem 1.5rem}
  h1.display{font-size:2.2rem}
  h2.display{font-size:1.8rem}
  .hamburger{display:flex}
  .cta-band h2{font-size:1.8rem}
  footer{padding:1.5rem;gap:1rem}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:1rem}
}
