@font-face { font-family:'Bariol'; src:url('fonts/bariol_thin-webfont.ttf') format('truetype'); font-weight:200; font-style:normal; font-display:swap; }
@font-face { font-family:'Bariol'; src:url('fonts/bariol_thin_italic-webfont.ttf') format('truetype'); font-weight:200; font-style:italic; font-display:swap; }
@font-face { font-family:'Bariol'; src:url('fonts/bariol_light-webfont.ttf') format('truetype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Bariol'; src:url('fonts/bariol_light_italic-webfont.ttf') format('truetype'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Bariol'; src:url('fonts/bariol_regular-webfont.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Bariol'; src:url('fonts/bariol_regular_italic-webfont.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Bariol'; src:url('fonts/bariol_bold-webfont.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Bariol'; src:url('fonts/bariol_bold_italic-webfont.ttf') format('truetype'); font-weight:700; font-style:italic; font-display:swap; }

:root {
  color-scheme: light;
  --white:#FFFFFF; --cream:#FAF7F2; --cream-warm:#F2EDE3;
  --ink:#231F20; --ink-soft:#4A4744; --ink-muted:#8A8580;
  --coral:#F5887F; --coral-soft:#FBC4BF; --line:#E8E5DF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--ink);font-family:'Bariol','Helvetica Neue',system-ui,sans-serif;font-size:15px;line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.deco-circle{position:absolute;border-radius:50%;background:var(--coral);z-index:0;pointer-events:none;}

nav{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,0.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:160;border-bottom:1px solid transparent;transition:all 0.3s;}
nav.scrolled{border-bottom-color:var(--line);}
.nav-wrap{max-width:1440px;margin:0 auto;padding:22px 60px;display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:4px;cursor:pointer;text-decoration:none;color:var(--ink);}
.logo-mark{font-size:26px;font-weight:400;letter-spacing:-0.04em;position:relative;padding-right:10px;}
.logo-mark::after{content:'';position:absolute;top:4px;right:0;width:6px;height:6px;background:var(--coral);border-radius:50%;}
.logo-text{font-size:11px;text-transform:uppercase;letter-spacing:0.2em;color:var(--ink-soft);margin-left:14px;font-weight:400;}
.nav-links{display:flex;gap:40px;list-style:none;}
.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:0.2em;font-weight:400;transition:color 0.3s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:50%;width:0;height:4px;background:var(--coral);border-radius:50%;transform:translateX(-50%);transition:width 0.3s;}
.nav-links a:hover{color:var(--ink);}
.nav-links a:hover::after{width:4px;}
.nav-cta{font-size:11px;text-transform:uppercase;letter-spacing:0.2em;background:var(--ink);color:var(--white);padding:10px 20px;text-decoration:none;font-weight:400;transition:background 0.3s;}
.nav-cta:hover{background:var(--coral);}

.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 60px 80px;max-width:1440px;margin:0 auto;position:relative;}
.hero .deco-1{width:240px;height:240px;top:18%;right:10%;opacity:0.18;}
.hero .deco-2{width:80px;height:80px;top:70%;right:22%;opacity:0.5;}
.hero .deco-3{width:14px;height:14px;top:30%;left:8%;}
.hero-content{position:relative;z-index:2;}
.hero-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:0.3em;color:var(--ink-muted);margin-bottom:50px;font-weight:400;display:flex;align-items:center;gap:14px;}
.hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--coral);}
.hero-title{font-size:clamp(72px,11vw,168px);line-height:0.92;letter-spacing:-0.04em;font-weight:200;margin-bottom:50px;}
.hero-title .dot{display:inline-block;width:0.2em;height:0.2em;background:var(--coral);border-radius:50%;vertical-align:0.04em;margin-left:0.05em;}
.hero-tagline{font-size:clamp(20px,2vw,26px);line-height:1.4;max-width:720px;color:var(--ink-soft);margin-bottom:56px;font-weight:300;}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;max-width:900px;padding-top:40px;border-top:1px solid var(--line);}
.hero-meta .label{font-size:10px;text-transform:uppercase;letter-spacing:0.25em;color:var(--ink-muted);margin-bottom:12px;font-weight:400;}
.hero-meta .value{font-size:18px;line-height:1.45;color:var(--ink);font-weight:400;}
.hero-actions{margin-top:60px;display:flex;gap:18px;}
.btn{display:inline-flex;align-items:center;gap:14px;font-size:12px;text-transform:uppercase;letter-spacing:0.25em;padding:16px 30px;text-decoration:none;font-weight:400;transition:all 0.3s;cursor:pointer;border:none;font-family:inherit;}
.btn-primary{background:var(--ink);color:var(--white);}
.btn-primary:hover{background:var(--coral);}
.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--ink);}
.btn-secondary:hover{background:var(--ink);color:var(--white);}
.btn::after{content:'·';color:var(--coral);font-size:22px;line-height:0;}
.scroll-indicator{position:absolute;bottom:40px;right:60px;font-size:10px;text-transform:uppercase;letter-spacing:0.3em;color:var(--ink-muted);display:flex;align-items:center;gap:14px;font-weight:400;z-index:2;}
.scroll-indicator::after{content:'';width:60px;height:1px;background:var(--coral);display:block;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:0.4;}50%{opacity:1;}}

section{max-width:1440px;margin:0 auto;padding:140px 60px;position:relative;}
.section-header{display:flex;align-items:baseline;gap:30px;margin-bottom:80px;padding-bottom:30px;border-bottom:1px solid var(--line);}
.section-num{font-size:12px;color:var(--coral);font-weight:700;letter-spacing:0.1em;}
.section-title{font-size:clamp(42px,5vw,64px);font-weight:200;letter-spacing:-0.02em;flex:1;line-height:1.05;}
.section-tagline{font-size:11px;text-transform:uppercase;letter-spacing:0.25em;color:var(--ink-muted);font-weight:400;}

.about{display:grid;grid-template-columns:1fr 1.5fr;gap:90px;align-items:start;}
.about-portrait{aspect-ratio:4/5;background:url('images/portrait.jpg') center/cover no-repeat,var(--cream-warm);position:relative;overflow:hidden;}
.about-portrait::after{content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;background:var(--coral);border-radius:50%;z-index:1;}
.about-bio h3{font-size:36px;font-weight:200;margin-bottom:30px;letter-spacing:-0.01em;line-height:1.2;color:var(--ink);}
.about-bio h3 em{color:var(--coral);font-style:normal;font-weight:300;}
.about-bio p{margin-bottom:22px;color:var(--ink-soft);font-size:16px;line-height:1.8;font-weight:300;}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px;padding-top:40px;border-top:1px solid var(--line);}
.pillar{display:flex;flex-direction:column;gap:8px;}
.pillar .num{width:8px;height:8px;background:var(--coral);border-radius:50%;margin-bottom:16px;}
.pillar .label{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:0.02em;}
.pillar .desc{font-size:12px;color:var(--ink-muted);line-height:1.6;}

.casacor{background:linear-gradient(180deg,var(--cream) 0%,var(--cream-warm) 50%,var(--ink) 100%);margin:0 -60px;padding:140px 60px 160px;position:relative;overflow:hidden;}
.casacor .deco-c1{width:320px;height:320px;top:20%;right:-100px;opacity:0.06;}
.casacor .deco-c2{width:14px;height:14px;top:35%;left:20%;}
.casacor-inner{max-width:1320px;margin:0 auto;position:relative;z-index:2;}
.casacor-header{margin-bottom:50px;}
.casacor-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:0.3em;color:var(--coral);font-weight:700;margin-bottom:16px;}
.casacor-title{font-size:clamp(48px,6vw,88px);font-weight:200;letter-spacing:-0.03em;line-height:1;margin-bottom:30px;}
.casacor-intro{max-width:720px;margin-bottom:80px;font-size:22px;font-weight:300;line-height:1.5;color:var(--ink-soft);}
.casacor-intro strong{color:var(--ink);font-weight:500;}
.timeline{display:grid;grid-template-columns:repeat(10,1fr);gap:16px;position:relative;margin-bottom:80px;}
.timeline::before{content:'';position:absolute;top:22px;left:4%;right:4%;height:1px;background:linear-gradient(90deg,rgba(35,31,32,0.15) 0%,rgba(35,31,32,0.6) 60%,rgba(255,255,255,0.95) 100%);z-index:1;}
.timeline-item{cursor:pointer;position:relative;z-index:2;text-align:center;transition:transform 0.3s;}
.timeline-item:hover{transform:translateY(-6px);}
.timeline-dot{width:14px;height:14px;background:var(--ink);border-radius:50%;margin:14px auto 24px;border:3px solid var(--cream);transition:all 0.3s;}
.timeline-item:hover .timeline-dot{transform:scale(1.3);}
.timeline-item.bisagra .timeline-dot{background:var(--coral);width:22px;height:22px;margin-top:10px;box-shadow:0 0 0 6px rgba(245,136,127,0.2);}
.timeline-item.future .timeline-dot{background:var(--white);border-color:var(--cream-warm);}
.timeline-year{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:0.02em;}
.timeline-item.future .timeline-year{color:var(--cream);}
.timeline-name{font-size:11px;color:var(--ink-soft);line-height:1.4;font-weight:400;letter-spacing:0.01em;}
.timeline-item.future .timeline-name{color:var(--cream-warm);}
.timeline-item.bisagra .timeline-year{color:var(--coral);font-size:16px;}
.bisagra-tag{font-size:9px;text-transform:uppercase;letter-spacing:0.18em;color:var(--coral);margin-top:6px;font-weight:700;display:block;}
.casacor-legend{display:flex;gap:36px;padding-top:30px;border-top:1px solid rgba(255,255,255,0.15);font-size:11px;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.2em;}
.casacor-legend > div{display:flex;align-items:center;gap:10px;}
.casacor-legend .dot-mark{width:10px;height:10px;border-radius:50%;}
.dot-mark.regular{background:var(--ink);border:2px solid var(--cream);}
.dot-mark.bisagra{background:var(--coral);}
.dot-mark.future{background:var(--white);border:2px solid var(--cream-warm);}

.proyectos-section{padding-top:140px;}
.filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:50px;}
.filter-btn{font-size:11px;text-transform:uppercase;letter-spacing:0.2em;padding:12px 24px;background:transparent;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;font-weight:400;transition:all 0.3s;font-family:inherit;}
.filter-btn:hover{color:var(--ink);border-color:var(--ink);}
.filter-btn.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.filter-btn.active::after{content:' ·';color:var(--coral);}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px 50px;}
.project-card{cursor:pointer;transition:all 0.5s;display:flex;flex-direction:column;}
.project-card.hidden{display:none;}
.project-card:hover{transform:translateY(-8px);}
.project-cover{aspect-ratio:4/3;position:relative;overflow:hidden;margin-bottom:22px;display:flex;align-items:flex-end;padding:30px;transition:filter 0.4s;}
.project-card:hover .project-cover{filter:brightness(1.05);}
.project-cover .num{font-size:110px;line-height:1;font-weight:200;letter-spacing:-0.05em;}
.project-cover .corner-tag{position:absolute;top:30px;left:30px;font-size:10px;text-transform:uppercase;letter-spacing:0.25em;font-weight:400;}
.project-cover .cat-tag{position:absolute;top:30px;right:30px;width:8px;height:8px;background:var(--coral);border-radius:50%;}
.project-meta{display:flex;align-items:baseline;gap:16px;margin-bottom:8px;}
.project-year{font-size:14px;color:var(--coral);font-weight:700;}
.project-cat{font-size:10px;text-transform:uppercase;letter-spacing:0.25em;color:var(--ink-muted);font-weight:400;}
.project-cat::before{content:'·';margin-right:14px;color:var(--ink-muted);}
.project-name{font-size:28px;font-weight:300;margin-bottom:6px;letter-spacing:-0.01em;color:var(--ink);}
.project-info{font-size:12px;color:var(--ink-soft);letter-spacing:0.05em;}

.project-cover, .modal-cover{background-size:cover;background-position:center;background-repeat:no-repeat;}
.project-cover::before, .modal-cover::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,31,32,0.35) 0%,rgba(35,31,32,0.05) 35%,rgba(35,31,32,0.05) 60%,rgba(35,31,32,0.7) 100%);pointer-events:none;z-index:1;}
.project-cover > *, .modal-cover > *{position:relative;z-index:2;}
.cover-dorthon{background-image:url('images/projects/dorthon.jpg');}
.cover-teka{background-image:url('images/projects/teka.jpg');}
.cover-colorcentro{background-image:url('images/projects/colorcentro.jpg');}
.cover-anita{background-image:url('images/projects/anita.jpg');}
.cover-besalon{background-image:url('images/projects/besalon.jpg');}
.cover-kallpa{background-image:url('images/projects/kallpa.jpg');}
.cover-aurora{background-image:url('images/projects/aurora.jpg');}
.cover-bebe{background-image:url('images/projects/bebe.jpg');}
.cover-portales-gpr{background-image:url('images/projects/portales-gpr.jpg');}
.cover-portales-lamar{background-image:url('images/projects/portales-lamar.jpg');}
.cover-lynch{background-image:url('images/projects/lynch.jpg');}
.cover-c2010{background-image:url('images/casacor/c2010.jpg');}
.cover-c2012{background-image:url('images/casacor/c2012.jpg');}
.cover-c2013{background-image:url('images/casacor/c2013.jpg');}
.cover-c2014{background-image:url('images/casacor/c2014.jpg');}
.cover-c2016{background-image:url('images/casacor/c2016.jpg');}
.cover-c2018{background-image:url('images/casacor/c2018.jpg');}
.cover-c2019{background-image:url('images/casacor/c2019.jpg');}
.cover-c2022{background-image:url('images/casacor/c2022.jpg');}
.cover-c2025{background-image:url('images/casacor/c2025.jpg');}
.cover-c2026{background:linear-gradient(135deg,#F5E6D3 0%,#9C8567 50%,#231F20 100%);}
.cover-c2026::before{display:none;}
.project-cover .num, .modal-cover .modal-num{color:rgba(255,255,255,0.96);}
.project-cover .corner-tag, .modal-cover .modal-cat{color:rgba(255,255,255,0.92);}

.press{background:var(--cream);margin:0 -60px;padding:140px 60px;position:relative;overflow:hidden;}
.press .deco-p1{width:180px;height:180px;top:-60px;right:10%;opacity:0.4;}
.press-inner{max-width:1320px;margin:0 auto;position:relative;z-index:2;}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px;}
.press-card{padding:30px;background:var(--white);border:1px solid var(--line);transition:all 0.3s;}
.press-card:hover{border-color:var(--coral);transform:translateY(-4px);}
.press-card .badge{font-size:10px;text-transform:uppercase;letter-spacing:0.25em;color:var(--coral);font-weight:700;margin-bottom:18px;}
.press-card h4{font-size:20px;font-weight:300;line-height:1.3;color:var(--ink);margin-bottom:18px;}
.press-card p{font-size:13px;color:var(--ink-muted);line-height:1.6;}
.press-card p strong{color:var(--ink);font-weight:500;}

.contact{background:var(--ink);color:var(--cream);margin:0 -60px;padding:140px 60px 60px;position:relative;overflow:hidden;}
.contact .deco-cnt{width:360px;height:360px;top:-120px;right:-60px;opacity:0.15;}
.contact-inner{max-width:1320px;margin:0 auto;position:relative;z-index:2;}
.contact-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:0.3em;color:var(--coral);font-weight:700;margin-bottom:30px;}
.contact-title{font-size:clamp(64px,9vw,128px);font-weight:200;line-height:1;margin-bottom:30px;letter-spacing:-0.04em;}
.contact-title .dot{color:var(--coral);}
.contact-tagline{font-size:22px;max-width:600px;line-height:1.5;color:rgba(250,247,242,0.7);margin-bottom:80px;font-weight:300;}
.contact-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-top:50px;border-top:1px solid rgba(250,247,242,0.15);}
.contact-block .label{font-size:11px;text-transform:uppercase;letter-spacing:0.25em;color:rgba(250,247,242,0.5);margin-bottom:14px;font-weight:400;}
.contact-block .value{font-size:22px;font-weight:300;line-height:1.5;}
.contact-block a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(250,247,242,0.3);transition:all 0.3s;}
.contact-block a:hover{border-bottom-color:var(--coral);color:var(--coral);}
.contact-cta{margin-top:60px;display:inline-flex;align-items:center;gap:14px;font-size:12px;text-transform:uppercase;letter-spacing:0.25em;padding:18px 32px;background:var(--coral);color:var(--ink);text-decoration:none;font-weight:700;transition:all 0.3s;}
.contact-cta:hover{background:var(--white);transform:translateY(-2px);}
.footer-bottom{margin-top:80px;padding-top:30px;border-top:1px solid rgba(250,247,242,0.15);display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:0.2em;color:rgba(250,247,242,0.5);}

.modal-overlay{position:fixed;inset:0;background:rgba(35,31,32,0.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:200;display:none;overflow-y:auto;}
.modal-overlay.active{display:block;animation:fadeIn 0.4s;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.modal{background:var(--cream);max-width:1100px;margin:60px auto;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,0.5);animation:slideUp 0.5s cubic-bezier(0.2,0.8,0.2,1);}
@keyframes slideUp{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.modal-cover{height:320px;position:relative;display:flex;align-items:flex-end;padding:50px 60px;}
.modal-cover .modal-num{font-size:200px;line-height:1;font-weight:200;letter-spacing:-0.05em;}
.modal-cover .modal-cat{position:absolute;top:40px;left:60px;font-size:11px;text-transform:uppercase;letter-spacing:0.3em;font-weight:400;}
.modal-close{position:absolute;top:30px;right:30px;width:44px;height:44px;border-radius:50%;border:none;background:var(--cream);color:var(--ink);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all 0.3s;font-family:inherit;z-index:3;}
.modal-close:hover{background:var(--coral);color:var(--white);transform:rotate(90deg);}
.modal-content{padding:60px;}
.modal-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:0.25em;color:var(--coral);font-weight:700;margin-bottom:18px;}
.modal-title{font-size:56px;line-height:1.05;font-weight:200;letter-spacing:-0.02em;margin-bottom:14px;color:var(--ink);}
.modal-subtitle{font-size:20px;color:var(--ink-soft);margin-bottom:40px;font-weight:300;line-height:1.4;}
.modal-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:50px;}
.modal-meta .label{font-size:10px;text-transform:uppercase;letter-spacing:0.2em;color:var(--ink-muted);margin-bottom:8px;font-weight:400;}
.modal-meta .value{font-size:16px;color:var(--ink);font-weight:400;}
.modal-section{margin-bottom:40px;}
.modal-section h4{font-size:11px;text-transform:uppercase;letter-spacing:0.25em;color:var(--coral);margin-bottom:18px;font-weight:700;display:flex;align-items:center;gap:14px;}
.modal-section h4::before{content:'';width:8px;height:8px;background:var(--coral);border-radius:50%;}
.modal-section p{color:var(--ink-soft);font-size:15px;line-height:1.8;margin-bottom:14px;font-weight:300;}
.modal-section .feature{margin-bottom:22px;}
.modal-section .feature strong{color:var(--ink);font-weight:500;display:block;margin-bottom:4px;font-size:16px;}
.modal-section .feature span{color:var(--ink-soft);font-size:14px;line-height:1.7;font-weight:300;}
.palette-strip{display:flex;gap:0;margin-top:20px;height:32px;}
.palette-strip div{flex:1;}

.modal-gallery{margin-top:10px;}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;}
.gallery-item{aspect-ratio:4/3;background-size:cover;background-position:center;background-repeat:no-repeat;cursor:zoom-in;position:relative;overflow:hidden;transition:all 0.4s;}
.gallery-item::before{content:'';position:absolute;inset:0;background:rgba(35,31,32,0);transition:background 0.3s;}
.gallery-item:hover::before{background:rgba(35,31,32,0.18);}
.gallery-item::after{content:'+';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.7);width:44px;height:44px;border-radius:50%;background:var(--coral);color:var(--white);font-size:22px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all 0.3s;}
.gallery-item:hover::after{opacity:1;transform:translate(-50%,-50%) scale(1);}
.lightbox{position:fixed;inset:0;background:rgba(15,13,13,0.96);z-index:300;display:none;align-items:center;justify-content:center;padding:40px;cursor:zoom-out;animation:fadeIn 0.3s;}
.lightbox.active{display:flex;}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,0.6);cursor:default;}
.lightbox-close{position:absolute;top:30px;right:30px;width:48px;height:48px;background:rgba(255,255,255,0.96);border:none;border-radius:50%;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;z-index:2;transition:all 0.3s;color:var(--ink);font-family:inherit;}
.lightbox-close:hover{background:var(--coral);color:var(--white);transform:rotate(90deg);}
.lightbox-counter{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:11px;text-transform:uppercase;letter-spacing:0.25em;color:rgba(255,255,255,0.6);font-weight:400;}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.3);border-radius:50%;cursor:pointer;color:var(--white);font-size:22px;display:flex;align-items:center;justify-content:center;transition:all 0.3s;z-index:2;font-family:inherit;}
.lightbox-arrow:hover{background:var(--coral);border-color:var(--coral);}
.lightbox-arrow.prev{left:30px;}
.lightbox-arrow.next{right:30px;}

/* Hamburger button — hidden on desktop */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;z-index:200;}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform 0.3s, opacity 0.3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile slide-down menu */
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--white);z-index:150;flex-direction:column;align-items:center;justify-content:center;gap:0;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.mobile-menu.open{opacity:1;pointer-events:all;}
.mobile-menu ul{list-style:none;text-align:center;padding:0;margin:0 0 40px;}
.mobile-menu ul li{margin:20px 0;}
.mobile-menu ul a{color:var(--ink);text-decoration:none;font-size:22px;text-transform:uppercase;letter-spacing:0.2em;font-weight:400;transition:color 0.2s;}
.mobile-menu ul a:hover{color:var(--coral);}
.mobile-cta{font-size:11px;text-transform:uppercase;letter-spacing:0.2em;background:var(--ink);color:var(--white);padding:12px 28px;text-decoration:none;font-weight:400;transition:background 0.3s;}
.mobile-cta:hover{background:var(--coral);}

@media (max-width:980px){
  .nav-wrap{padding:18px 24px;} .nav-links{display:none;} .nav-cta{display:none;} .logo-text{display:none;}
  .hamburger{display:flex;}
  .mobile-menu{display:flex;}
  section, .hero{padding:80px 24px;}
  .hero{padding-top:100px;min-height:auto;padding-bottom:60px;}
  .hero-meta{grid-template-columns:1fr;gap:30px;} .hero-actions{flex-direction:column;}
  .scroll-indicator{display:none;}
  .about{grid-template-columns:1fr;gap:50px;} .pillars{grid-template-columns:1fr 1fr;gap:30px;}
  .casacor{margin:0;padding:80px 24px 100px;}
  .timeline{grid-template-columns:1fr 1fr;gap:30px;} .timeline::before{display:none;}
  .casacor-legend{flex-direction:column;gap:12px;}
  .projects-grid{grid-template-columns:1fr;gap:50px;}
  .press{margin:0;padding:80px 24px;} .press-grid{grid-template-columns:1fr;gap:24px;}
  .contact{margin:0;padding:80px 24px 40px;} .contact-grid{grid-template-columns:1fr;gap:40px;}
  .modal{margin:30px 16px;} .modal-content{padding:40px 24px;} .modal-title{font-size:38px;} .modal-meta{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:1fr;gap:12px;}
  .lightbox{padding:20px;} .lightbox-arrow{width:44px;height:44px;} .lightbox-arrow.prev{left:12px;} .lightbox-arrow.next{right:12px;}
}
