:root{
    /* variables de color en formato RGB para permitir usos con opacidad */
    --accent: 183,185,130; /* oliva claro títulos */
    --muted: 154,160,166; /* blanco texto cuerpo */
    --black: 17,21,25; /* negro fondo */
    --accent-red: 236,44,40; /* rojo proyectos */
}
@import url('../assets/fonts/WEB/css/tanker.css');
@import url('../assets/fonts/WEB/css/satoshi.css');

*{box-sizing:border-box}
html,body{width:100%;max-width:100%;margin:0;overflow-x:hidden}
body{font-family:'Satoshi', Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; color:rgb(var(--accent));background:rgb(var(--black))}
.container{max-width:1100px;margin:0 auto;padding:0 24px}

/* Header (transparente) */
.site-header{position:fixed;inset:0 0 auto 0;z-index:60;background:linear-gradient(180deg, rgba(0,0,0,0.7), rgba(0,0,0,0));padding:18px 0}
.header-inner{display:flex;align-items:center;justify-content:center}
.logo{display:none}
.logo .brand{font-weight:700;letter-spacing:1px}
.hero-title, .section-title, .logo .brand{font-family: 'Tanker', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif}

/* Enlaces en rojo donde aplique */
a{color:rgb(var(--accent));text-decoration:none}
/* mantener enlaces en el color de acento; no aplicar acento rojo */
a:hover{opacity:0.95}

/* restaurar color por defecto para títulos de tarjeta */
.card-body h3{color:rgb(var(--accent))}
.main-nav a{color:rgb(var(--accent));text-decoration:none;margin-left:18px;font-weight:600;opacity:.75;transition:all 0.3s ease;display:inline-block}
.main-nav a:first-child{margin-left:0}
.main-nav a:hover{opacity:1;transform:translateY(-2px);text-shadow:0 2px 8px rgba(183,185,130,0.4)}

/* Hero */
.hero{position:relative;height:100vh;display:flex;align-items:center}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-overlay{display:none}
/* ajustar contenedor del hero para que el contenido empiece en el borde izquierdo */
.hero .container{max-width:100%;padding:0 24px}
.hero-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;padding:60px 0;width:100%;max-width:1100px}
.hero-left{flex:0 0 50%;padding-left:20px;padding-bottom:0;display:flex;align-items:center;justify-content:flex-end}
.hero-title{font-size:clamp(48px,9vw,108px);margin:0;font-weight:800;letter-spacing:2px;color:rgb(var(--accent));text-shadow: 0 10px 30px rgba(17,22,25,0.8), 0 2px 6px rgba(17,22,25,0.6);transform:none}
.hero-sub{margin:0 0 20px;color:rgb(var(--muted));font-size:1.05rem}
.hero-right{display:flex;align-items:center;justify-content:center;padding-right:50px;flex:0 0 50%}
.hero-logo{width:100%;height:auto;max-width:none;opacity:1;object-fit:contain;transform:scale(1.25);transform-origin:center}
.cta{display:inline-block;padding:10px 18px;background:rgb(var(--accent));color:rgb(var(--black));border-radius:6px;text-decoration:none;font-weight:700}

/* Sections */
.section{padding:80px 0;background:transparent}
.section-title{font-size:40px;margin:0 0 28px;color:rgb(var(--accent));text-align:center;text-shadow:0 10px 30px rgba(0,0,0,0.7), 0 2px 6px rgba(0,0,0,0.5)}

/* Brand Description Section */
.brand-description{position:relative;min-height:400px;padding-top:60px}
.brand-container{position:relative}
.brand-main-title{font-size:100px}
.brand-quote-bold{font-family:'Satoshi',sans-serif;font-weight:700;font-size:1.5rem;color:#ffffff;margin:5px 0 20px;text-align:center}
.brand-signature{display:flex;justify-content:center;margin:20px 0 40px}
.brand-star-signature{width:90px;height:auto;opacity:1}
.brand-columns{display:flex;justify-content:center;color:#ffffff;max-width:900px;margin:0 auto;padding-top:20px}
.brand-column p{margin:0 0 10px;line-height:1.6;font-size:1rem;text-align:center}

/* Projects grid */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.project-column{display:flex;flex-direction:column;gap:10px}
.card{position:relative;background:transparent;border-radius:6px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.6);transition:transform 0.3s ease, box-shadow 0.3s ease;display:block;aspect-ratio:16/9;padding:0}
.card:hover{transform:translateY(-8px)}
.card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.card.active .card-overlay{opacity:1}
.card-overlay{position:absolute;inset:0;background:transparent;display:flex;align-items:center;justify-content:flex-end;padding-right:20px;opacity:0;transition:opacity 0.3s ease}
.card:hover .card-overlay{opacity:1}
.card-title{margin:0;font-size:5rem;color:rgb(var(--accent-red));font-weight:700;font-family:'Tanker', system-ui, sans-serif;text-shadow:0 10px 30px rgba(17,22,25,0.8), 0 2px 6px rgba(17,22,25,0.6)}
.card-body{padding:14px}
.card-body h3{margin:0 0 6px;font-size:1.05rem;color:rgb(var(--accent-red));font-weight:300}
.card-body p{margin:0;color:rgb(var(--muted));font-size:.95rem}
.projects-text{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:15px}
.text-column p{color:#ffffff;line-height:1.6;font-size:0.95rem}

/* Carousel */
.carousel-section{padding:80px 0 40px;box-sizing:border-box;position:relative;background:rgb(var(--black));z-index:2;height:100vh;display:flex;flex-direction:column}
.carousel-container{margin:0 auto 0px auto}
.carousel{position:relative;overflow:hidden;width:100%;height:calc(100vh - 80px - 24px - 40px);min-height:320px}
.carousel-track{display:flex;transition:transform .6s ease;height:100%}
.carousel-track img{width:100%;flex:0 0 100%;height:110%;object-fit:cover}
.carousel-indicator{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;z-index:25}
.carousel-progress{display:flex;gap:12px;align-items:center}
.carousel-progress .dot{width:12px;height:12px;border-radius:50%;background:rgba(var(--accent),0.35);transition:transform 0.3s ease, opacity 0.3s ease, background 0.3s ease;cursor:pointer}
.carousel-btn{display:none}
@media (max-width:900px){
    .carousel-section{padding:80px 0 80px;height:auto;min-height:auto}
    .carousel{height:auto;aspect-ratio:16/9;max-width:100%}
    .carousel-track{height:100%}
    .carousel-track img{height:100%;object-fit:cover}
    .carousel-btn{display:block;position:absolute;top:50%;transform:translateY(-50%);background:transparent;color:rgb(var(--accent));border:none;padding:16px;font-size:36px;cursor:pointer;z-index:20;opacity:0.7}
    .carousel-btn:active{opacity:1}
    .carousel-btn.prev{left:10px}
    .carousel-btn.next{right:10px}
    .carousel-progress{display:none}
}

/* Portfolio Grid Wide */
.portfolio{padding:80px 0;background:rgb(var(--black));overflow:hidden}
.portfolio-full{width:100%;box-sizing:border-box}
.portfolio-grid-rows{display:flex;flex-direction:column;gap:20px;position:relative;z-index:2}
.portfolio-row{display:flex;gap:16px;animation:horizontalScroll 60s linear infinite;animation-delay:var(--row-delay);will-change:transform}
.portfolio-img{min-width:325px;height:325px;display:block;object-fit:cover;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,0.5);cursor:pointer;transition:transform 0.3s ease}
.portfolio-img:hover{transform:scale(1.05)}
@keyframes horizontalScroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-325px * 6 - 16px * 6))}
}
/* About */
.about-inner{display:flex;gap:28px;align-items:center;position:relative;margin-left:0}
.author-photo{width:220px;height:220px;object-fit:cover;border-radius:6px}
.about-media{width:220px;height:220px;border-radius:50%;overflow:hidden;box-shadow:0 0 20px rgba(183,185,130,0.4);transition:box-shadow 0.3s ease;flex-shrink:0;position:relative;z-index:2}
.about-media:hover{box-shadow:0 0 30px rgba(183,185,130,0.7)}
.profile-photo{width:120%;height:120%;object-fit:cover;object-position:center -178px;transition:transform 0.3s ease;margin:-10% 0 0 -10%}
.profile-photo:hover{transform:scale(1.05)}
.author-name{font-weight:800;color:rgb(var(--accent));font-size:4rem;margin-bottom:8px}
.about-text{margin-left:0}
.about-text p{color:#ffffff;line-height:1.0}
.social-icons{display:flex;gap:16px;margin-top:20px}
.social-icons a{display:inline-flex;transition:opacity 0.3s ease}
.social-icons a:hover{opacity:0.7}
.social-icons img{width:24px;height:24px;filter:brightness(0) saturate(100%) invert(88%) sepia(9%) saturate(624%) hue-rotate(31deg) brightness(93%) contrast(84%)}
.about-container{position:relative;overflow:visible}
.about-star-bg{position:absolute;right:-350px;top:50%;transform:translateY(-45%) rotate(15deg);width:1125px;height:1125px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}
.about-star{width:100%;height:100%;opacity:1;filter:drop-shadow(0 12px 35px rgba(0,0,0,0.6)) drop-shadow(0 25px 60px rgba(0,0,0,0.4))}
.about-text a{color:rgb(var(--accent))}

/* Footer */
.site-footer{padding:26px 0;background:linear-gradient(to top, rgb(var(--black)) 0%, rgba(0,0,0,0.7) 40%, rgba(0,0,0,0.4) 70%, transparent 100%);position:relative}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-left{display:flex;align-items:center}
.footer-logo{height:48px;width:auto}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.footer-socials{display:flex;gap:16px}
.footer-socials a{display:inline-flex;transition:opacity 0.3s ease}
.footer-socials a:hover{opacity:0.7}
.footer-socials img{filter:brightness(0) saturate(100%) invert(88%) sepia(9%) saturate(624%) hue-rotate(31deg) brightness(93%) contrast(84%)}
.footer-copyright{color:rgb(var(--accent));font-size:0.85rem;margin:0}

/* Mobile Menu Button */
.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:transparent;border:none;padding:8px;cursor:pointer;z-index:70}
.mobile-menu-btn span{display:block;width:25px;height:3px;background:rgb(var(--accent));transition:all 0.3s ease;box-shadow:0 2px 6px rgba(0,0,0,0.6)}
.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(8px, 8px)}
.mobile-menu-btn.active span:nth-child(2){opacity:0}
.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(7px, -7px)}

/* Responsive */
@media (max-width:900px){
    .site-header{background:transparent}
    .mobile-menu-btn{display:flex;position:fixed;top:50px;right:16px;z-index:80}
    .main-nav{display:none;position:fixed;top:70px;right:24px;background:rgba(17,21,25,0.95);padding:20px;border-radius:8px;flex-direction:column;gap:15px;box-shadow:0 8px 24px rgba(0,0,0,0.8)}
    .main-nav.active{display:flex}
    .main-nav a{margin-left:0}
    .hero-right{position:fixed;top:16px;left:16px;z-index:60}
    .hero-logo{position:fixed;top:16px;left:16px;z-index:60;width:150px;max-width:150px;transform:none!important;transition:opacity 0.3s ease}
    /* En móviles, el hero es column (logo arriba, título abajo) */
    .hero-content{flex-direction:column;align-items:flex-start}
    .hero-left{flex:0 0 auto;padding-right:0;padding-bottom:20px}
    .hero-video-first{width:194%}
    .hero-right{flex:0 0 auto;display:flex;padding-left:0;max-width:160px}
    .hero-logo{transform:scale(1);max-width:160px}
    .about-inner{flex-direction:row;text-align:left;align-items:flex-start;flex-wrap:wrap}
    .about-text{order:1;flex:1 1 100%;text-align:left}
    .about-text p{text-align:left;line-height:1.0;font-size:0.95rem}
    .author-name{font-size:3.8rem}
    .about-star-bg{order:2;position:relative;right:-35px;top:auto;transform:rotate(25deg) scale(2.5);width:200px;height:200px;margin-left:auto;margin-top:-10px}
    .author-photo{width:160px;height:160px}
    .text-column{text-align:center}
    .text-column p{text-align:center}
    .collage-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:100px}
    .collage-grid .a{grid-column:1 / span 3;grid-row:1 / span 2}
    .collage-grid .b{grid-column:1 / span 3;grid-row:3 / span 1}
    .collage-grid .c{grid-column:1 / span 1;grid-row:4 / span 1}
    .collage-grid .d{grid-column:2 / span 2;grid-row:4 / span 1}
    .collage-grid .e{grid-column:1 / span 3;grid-row:5 / span 1}
}

@media (max-width:480px){
    .hero-title{font-size:28px}
    .hero-sub{font-size:14px}
    .carousel-track img{height:320px}
    .card img{height:220px}
}

/* Desktop adjustments: move title 100px right and reduce size by 75% */
@media (min-width:901px){
    .hero-title{font-size:clamp(50px,2.25vw,75px);transform:translateX(-220px)}
}
