:root{
    --orange:#F18A00;
    --footer:#948976;
    --text:#ffffff;
    --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family: 'HandelGothic', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight:300;
    color:var(--text);
    background:#111;
}

/* Layout helpers */
.container {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    margin-inline: auto;
    padding: 0 2%;
}

/* HERO */
.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
}
.hero__bg{
    position:absolute; inset:0;
    background-image:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1920&q=70');
    background-size:cover;
    background-position:center;
    filter:brightness(.55);
    z-index:-2;
}
.hero::after{
    /* overlay oscuro para mejorar contraste */
    content:''; position:absolute; inset:0;
    z-index:-1;
}

/* TOP LINE */
.hero__topline{
    padding-block:18px;
}
.topline__text{
    margin:0;
    font-size: 1.95vw;
    letter-spacing:.5px;
    display:flex; flex-wrap:wrap; gap:.5ch;
    align-items:center;
    justify-content: center;
    padding-top: 3%;
}
.topline__text .dot{opacity:.8}

/* CENTER CONTENT */
.hero__content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 60px;
    max-width: 70vw;
}
.brand{
    display:flex; align-items:center; gap:clamp(16px, 2vw, 24px);
}
.brand__logo{
    width: 33vw;
    height:auto;
}
.brand__name{
    margin:0;
    font-size:clamp(48px, 8vw, 110px);
    line-height:1;
    font-weight:300;
}
.divider{
    width:2px; height:100%;
    background:linear-gradient(to bottom, transparent, var(--text), transparent);
    opacity:.65;
}
.claim{
    text-align:left;
    max-width: 250px;
}
.claim__title{
    margin:0 0 .2em 0;
    font-size: 30px;
    font-weight:300;
}
.claim__subtitle{
    margin:0;
    font-size:1.6vw;
    font-weight:300;
    opacity:.9;
}

/* CONTACT BAR */
.contactbar {
    background: color-mix(in oklab, var(--footer) 85%, transparent);
    background: rgb(148 137 118 / 60%);
    border-top: 4px solid var(--orange);
    backdrop-filter: saturate(110%) blur(4px);
    padding-block: 55px;
}
.contactbar__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 28px);
    max-width: 80vw;
}
.contactcard__title{
    margin:.1em 0 .4em;
    font-size:clamp(18px, 2.2vw, 24px);
    color:var(--orange);
    font-weight:600;
    letter-spacing:.3px;
}
.contactcard__list{
    margin:0; padding:0; list-style:none;
    display:grid; gap:10px;
}
.contactcard__list li{display:flex; align-items:center; gap:10px}
.icon{display:inline-grid; place-items:center; width:26px; height:26px}
.contactcard__link, .contactcard__addr{
    color:#fff; text-decoration:none; font-style:normal;
    font-size:clamp(14px, 1.8vw, 18px);
}
.contactcard__link:hover{text-decoration:underline}

/* RESPONSIVE */
@media (max-width: 860px){
    .hero__content{
        grid-template-columns: 1fr;
        text-align:center;
        gap: 30px;
    }
    .divider{display:none}
    .claim{text-align:center; margin:0 auto;}
    .brand{justify-content:center}
    .contactbar__grid{
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap: clamp(16px, 2vw, 28px);
        max-width: 95vw;
    }
    .brand__logo {
        width: 60vw;
    }
    .claim__title {
        font-size: 20px;
    }
    .topline__text{font-size:3vw;}
}
