:root{
  --cream:#f4f0e8;
  --cream-2:#faf9f6;
  --white:#fff;
  --ink:#151719;
  --ink-2:#34383c;
  --muted:#70757a;
  --line:#ded9cf;
  --gold:#c7a45b;
  --gold-2:#e2c783;
  --charcoal:#111214;
  --charcoal-2:#202327;
  --shadow:0 16px 45px rgba(17,18,20,.10);
  --shadow-strong:0 28px 70px rgba(17,18,20,.24);
  --radius:12px;
  --container:1200px;
  --whatsapp:#25D366;
  --font-body:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Cormorant Garamond",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream-2);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
section{scroll-margin-top:100px}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:3000;border-radius:8px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:3px solid #d2ad5f;outline-offset:3px}

/* HEADER */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(17,18,20,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;min-width:320px}
.brand img{width:112px;height:72px;object-fit:contain;object-position:center}
.brand-copy{display:flex;flex-direction:column;line-height:1.04;text-transform:uppercase;letter-spacing:.08em}
.brand-copy strong{font-size:11px;color:#cfb26f;font-weight:700}
.brand-copy span{font-size:17px;font-weight:700;color:#fff}
.main-nav{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700}
.main-nav>a:not(.nav-cta){position:relative;color:#ebebeb}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s ease}
.main-nav>a:not(.nav-cta):hover::after{right:0}
.nav-cta{padding:11px 16px;background:var(--gold);color:#111;border-radius:8px;box-shadow:0 8px 22px rgba(201,166,90,.15)}
.nav-cta:hover{background:#d6b66d}
.menu-toggle{display:none;border:0;background:transparent;padding:8px}
.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px 0}

/* HERO */
.hero{position:relative;min-height:calc(100vh - 84px);display:flex;align-items:center;overflow:hidden;background:#111}
.hero-slider,.hero-slide,.hero-overlay,.hero-blueprint{position:absolute;inset:0}
.hero-slide{opacity:0;transform:scale(1.025);transition:opacity .9s ease,transform 6s ease;will-change:opacity,transform}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{background:linear-gradient(90deg,rgba(10,11,12,.72) 0%,rgba(10,11,12,.58) 34%,rgba(10,11,12,.28) 64%,rgba(10,11,12,.07) 100%)}
.hero-blueprint{opacity:.10;background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000 0%,#000 34%,transparent 65%)}
.hero-content{position:relative;z-index:3;display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:end;padding:108px 0 72px}
.hero-copy{max-width:780px;padding:22px 0;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.32)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;color:#9b762f}
.eyebrow::before{content:"";width:30px;height:1px;background:currentColor}
.eyebrow-light{color:#e1c682}
.hero h1{font-family:var(--font-display);font-size:clamp(58px,6vw,94px);font-weight:600;line-height:1.04;letter-spacing:-.025em;margin:18px 0 24px;max-width:820px;text-wrap:balance}
.hero h1 span{color:#f0d89f}
.hero-lead{max-width:670px;font-size:18px;color:#f0f0f0;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:8px;font-size:13px;font-weight:700;border:1px solid transparent;transition:.22s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--gold);color:#111;box-shadow:0 12px 28px rgba(201,166,90,.18)}
.btn-primary:hover{background:#d8b86f}
.btn-ghost{background:rgba(17,18,20,.42);border-color:rgba(255,255,255,.48);color:#fff;backdrop-filter:blur(8px)}
.btn-secondary{background:#fff;border-color:#d6d0c5;color:var(--ink)}
.btn-whatsapp{background:var(--whatsapp);color:#fff;box-shadow:0 12px 28px rgba(37,211,102,.18)}
.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}
.hero-facts div{display:flex;flex-direction:column}
.hero-facts strong{font-family:var(--font-display);font-size:34px;line-height:1;color:#fff;font-weight:600}
.hero-facts span{font-size:10px;color:#d5d5d5;margin-top:5px;text-transform:uppercase;letter-spacing:.08em}
.hero-project-card{justify-self:end;width:100%;background:rgba(17,18,20,.62);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-strong);padding:22px;border-radius:12px;color:#fff}
.hero-project-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:700;color:#e1c682;margin-bottom:9px}
.hero-project-card strong{display:block;font-family:var(--font-display);font-size:28px;font-weight:600;line-height:1.06;margin-bottom:5px}
.hero-project-card>span:not(.hero-project-kicker){font-size:11px;color:#d4d4d4}
.hero-progress{height:2px;background:rgba(255,255,255,.18);margin:18px 0 14px;overflow:hidden}
.hero-progress span{display:block;width:0;height:100%;background:#e1c682}
.hero-progress span.animate{animation:heroProgress 5s linear forwards}
@keyframes heroProgress{from{width:0}to{width:100%}}
.hero-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-controls>button{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff}
.hero-dots{display:flex;align-items:center;justify-content:center;gap:7px;flex:1}
.hero-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#777}
.hero-dot.active{width:20px;border-radius:6px;background:#e1c682}

/* SECTIONS */
.section{padding:94px 0}
.section-white{background:#fff}
.section-sand{background:var(--cream)}
.section-heading h2,.section-title-row h2,.development-copy h2,.contact-copy h2,.closing-cta h2{font-family:var(--font-display);font-size:clamp(40px,4.1vw,54px);font-weight:600;letter-spacing:-.018em;line-height:1.06;margin:12px 0 0;text-wrap:balance}
.section-heading,.section-title-row>div,.development-copy,.contact-copy{max-width:760px}
.intro-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}
.intro-copy .lead{font-size:20px;color:var(--ink);margin:5px 0 16px;line-height:1.5}
.intro-copy p:not(.lead){color:var(--muted)}
.intro-values{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.intro-values span{padding:8px 11px;border:1px solid var(--line);border-radius:7px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#555;background:#fff}
.experience-strip{margin-top:58px;display:grid;grid-template-columns:1.45fr .55fr;align-items:stretch;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--cream-2);box-shadow:0 12px 36px rgba(17,18,20,.07)}
.experience-image{min-height:380px;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}
.experience-image img{width:100%;height:100%;object-fit:cover}
.experience-caption{padding:38px 34px;display:flex;flex-direction:column;justify-content:center}
.experience-caption span{text-transform:uppercase;letter-spacing:.13em;color:#8f6c29;font-size:9px;font-weight:700}
.experience-caption strong{font-family:var(--font-display);font-size:31px;font-weight:600;line-height:1.08;margin-top:12px}
.section-title-row{display:grid;grid-template-columns:1fr .55fr;gap:54px;align-items:end;margin-bottom:38px}
.section-title-row p{margin:0;color:var(--muted);max-width:480px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{position:relative;min-height:210px;padding:28px 24px;border:1px solid rgba(17,18,20,.10);background:rgba(255,255,255,.78);border-radius:10px;transition:.25s ease}
.service-card:hover{transform:translateY(-4px);background:#fff;box-shadow:var(--shadow)}
.service-card h3{font-family:var(--font-display);font-size:24px;line-height:1.08;margin:0 0 10px;font-weight:600}
.service-card p{font-size:13px;color:var(--muted);margin:0}

/* SPECIALTY */
.specialty-section{padding-top:84px}
.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.specialty-card{position:relative;aspect-ratio:16/11;overflow:hidden;border-radius:10px;background:#ddd;box-shadow:0 12px 36px rgba(17,18,20,.08)}
.specialty-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.specialty-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.76),rgba(10,10,10,.08) 60%)}
.specialty-card:hover img{transform:scale(1.025)}
.specialty-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}
.specialty-copy span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:#e4ca8a}
.specialty-copy h3{font-family:var(--font-display);font-size:29px;line-height:1.05;font-weight:600;margin:6px 0 0}

/* PORTFOLIO */
.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.filter-group{display:flex;flex-wrap:wrap;gap:8px}
.filter-btn{border:1px solid var(--line);background:#fff;color:var(--ink-2);padding:8px 12px;border-radius:7px;font-size:10px;font-weight:700}
.filter-btn.active,.filter-btn:hover{background:var(--charcoal);border-color:var(--charcoal);color:#fff}
.portfolio-note{font-size:10px;color:var(--muted)}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:14px}
.project-card{position:relative;grid-column:span 4;min-height:350px;border-radius:10px;overflow:hidden;background:#d9d6cf;cursor:pointer;box-shadow:0 10px 30px rgba(17,18,20,.08)}
.project-card.wide{grid-column:span 8;min-height:420px}
.project-card.tall{grid-row:span 2;min-height:520px}
.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .35s ease;filter:saturate(.98) contrast(1.01)}
.project-card:hover img{transform:scale(1.035);filter:saturate(1.03) contrast(1.02)}
.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,13,14,.88),rgba(12,13,14,.04) 68%)}
.project-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:22px;color:#fff}
.project-tag{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#e6cf98;font-weight:700}
.project-overlay h3{font-family:var(--font-display);font-size:29px;font-weight:600;line-height:1.06;margin:6px 0 4px;text-wrap:balance}
.project-overlay p{margin:0;font-size:11px;color:#ededed}
.project-open{position:absolute;z-index:3;right:14px;top:14px;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.90);color:var(--ink);font-weight:700}

/* URBANISM */
.development-section{background:linear-gradient(135deg,#111214 0%,#24211b 65%,#4f4024 125%);color:#fff;position:relative;overflow:hidden}
.development-section::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;opacity:.26}
.development-grid{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:66px;align-items:center}
.development-copy p{color:#d9d6cf;max-width:630px}
.development-list{display:grid;gap:0;margin-top:24px}
.development-list div{position:relative;padding:13px 0 13px 17px;border-bottom:1px solid rgba(255,255,255,.12);color:#f2eee5;font-weight:600}
.development-list div::before{content:"";position:absolute;left:0;top:22px;width:5px;height:5px;background:#d9c288}
.development-visual{position:relative;min-height:500px;border-radius:12px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.development-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.development-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.70),transparent 58%)}
.development-badge{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;padding:20px;border-radius:9px;background:rgba(17,18,20,.48);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16)}
.development-badge span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#e4ca8a}
.development-badge strong{font-family:var(--font-display);font-size:32px;font-weight:600;line-height:1.06}

/* PROCESS + CREDENTIALS */
.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.process-step{position:relative;background:#fff;padding:26px;min-height:210px;border-top:2px solid #cfb26f}
.process-step h3{font-family:var(--font-display);font-size:25px;line-height:1.08;margin:0 0 10px;font-weight:600}
.process-step p{font-size:13px;color:var(--muted);margin:0}
.credentials-section{background:#f3f0e9}
.credentials-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.credentials-grid .section-heading p{color:var(--muted);margin-top:18px}
.credential-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.credential-list article{background:#fff;padding:24px;min-height:150px}
.credential-list h3{font-family:var(--font-display);font-size:24px;line-height:1.08;margin:0 0 8px;font-weight:600}
.credential-list p{font-size:12px;color:var(--muted);margin:0}
.credential-list .text-link{grid-column:1/-1;background:#17191b;color:#fff;padding:16px 22px;font-size:12px;font-weight:700}

/* CONTACT */
.contact-section{padding:94px 0;background:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:66px;align-items:start}
.contact-copy p{font-size:16px;color:var(--ink-2);max-width:610px}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.contact-details{margin-top:30px;border-top:1px solid var(--line)}
.contact-details>div{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.contact-details span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.contact-details p,.contact-details a{margin:0;font-size:13px;font-weight:600;word-break:break-word}
.lead-form{background:#f5f2eb;border:1px solid #ded9cf;border-radius:12px;padding:28px;box-shadow:0 14px 40px rgba(17,18,20,.07)}
.form-heading{margin-bottom:20px}
.form-heading h3{font-family:var(--font-display);font-size:34px;line-height:1.06;margin:8px 0 0;font-weight:600}
.lead-form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:var(--ink-2);margin-bottom:14px}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #cec7bc;background:#fff;color:var(--ink);border-radius:7px;padding:11px 12px;outline:none}
.lead-form textarea{resize:vertical;min-height:110px}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:#927130;box-shadow:0 0 0 3px rgba(199,164,91,.14)}
.form-note{font-size:10px!important;color:var(--muted)!important;margin:12px 0 0!important}

/* CLOSING */
.closing-cta{background:#111214;color:#fff;padding:64px 0;border-top:1px solid rgba(255,255,255,.08)}
.closing-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.closing-cta h2{max-width:760px;margin-top:10px}
.closing-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* FOOTER */
.site-footer{background:#0d0e10;color:#fff;padding:50px 0 18px;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:48px}
.footer-brand .footer-logo{width:170px;height:auto;object-fit:contain;object-position:left center}
.footer-brand p{color:#a7a7a7;max-width:320px;font-size:12px}
.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-grid strong{margin-bottom:6px;color:#fff}
.footer-grid a{font-size:12px;color:#cfcfcf}
.footer-grid a:hover{color:#fff}
.footer-legal{padding-top:22px;margin-top:28px;border-top:1px solid rgba(255,255,255,.08)}
.footer-legal details{font-size:11px;color:#a9a9a9;max-width:760px}
.footer-legal summary{cursor:pointer;color:#d6d6d6;font-weight:700}
.footer-legal p{margin:8px 0 0}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;margin-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:10px;color:#858585}
.floating-whatsapp{position:fixed;right:20px;bottom:20px;z-index:1100;width:54px;height:54px;border-radius:10px;display:grid;place-items:center;background:var(--whatsapp);color:#fff;box-shadow:0 14px 34px rgba(37,211,102,.26);border:0;transition:.22s ease}
.floating-whatsapp .brand-icon{width:27px;height:27px}
.floating-whatsapp:hover{transform:translateY(-3px)}

/* MODAL */
.project-modal{position:fixed;inset:0;z-index:2500;display:none}
.project-modal.open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(8,9,10,.82);backdrop-filter:blur(7px)}
.modal-panel{position:relative;width:min(980px,calc(100% - 30px));max-height:92vh;overflow:auto;margin:4vh auto;background:#fff;border-radius:12px;box-shadow:var(--shadow-strong)}
.modal-image-wrap{height:min(58vh,570px);background:#17191b;overflow:hidden;touch-action:pan-y}
.modal-image-wrap img{width:100%;height:100%;object-fit:contain;background:#17191b}
.modal-content{padding:26px}
.modal-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.modal-counter{font-size:11px;color:var(--muted);font-weight:700}
.modal-content h3{font-family:var(--font-display);font-size:38px;line-height:1.06;margin:10px 0;font-weight:600}
.modal-content>p{color:var(--muted);margin:0}
.project-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 0}
.project-details div{padding:12px;border:1px solid var(--line);border-radius:7px}
.project-details dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.project-details dd{margin:4px 0 0;font-size:12px;font-weight:600}
.modal-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.modal-meta span{padding:7px 10px;background:var(--cream);border-radius:6px;font-size:10px;font-weight:700}
.modal-close,.modal-nav{position:absolute;z-index:5;border:0;background:rgba(255,255,255,.94);box-shadow:0 7px 18px rgba(0,0,0,.14);color:var(--ink)}
.modal-close{right:12px;top:12px;width:40px;height:40px;border-radius:8px;font-size:26px;line-height:1}
.modal-nav{top:43%;width:42px;height:42px;border-radius:8px;font-size:19px}
.modal-prev{left:12px}.modal-next{right:12px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.10s}

@media (max-width:1050px){
  .main-nav{gap:13px}.main-nav a{font-size:11px}.brand{min-width:270px}.brand-copy span{font-size:15px}
  .hero-content{grid-template-columns:1fr;gap:26px}.hero-project-card{max-width:390px;justify-self:start}
  .hero-overlay{background:linear-gradient(90deg,rgba(10,11,12,.72) 0%,rgba(10,11,12,.50) 56%,rgba(10,11,12,.15) 100%)}
  .intro-grid,.development-grid,.contact-grid,.credentials-grid{grid-template-columns:1fr;gap:42px}
  .experience-strip{grid-template-columns:1fr}.experience-image{clip-path:none;min-height:320px}.experience-caption{padding:28px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .section-title-row{grid-template-columns:1fr;gap:16px}
  .specialty-grid{grid-template-columns:1fr 1fr}
  .project-card{grid-column:span 6}.project-card.wide{grid-column:span 12}.project-card.tall{grid-row:auto;min-height:420px}
  .development-visual{max-width:720px}
  .closing-grid{grid-template-columns:1fr}.closing-actions{justify-content:flex-start}
}
@media (max-width:820px){
  .nav-wrap{height:80px}.brand img{width:88px;height:58px}.brand{min-width:auto}.brand-copy span{font-size:13px}.menu-toggle{display:block}
  .main-nav{position:absolute;left:20px;right:20px;top:84px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#17191b;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}.main-nav a{padding:12px}.nav-cta{text-align:center;margin-top:6px}
  .hero{min-height:760px}.hero-content{padding:82px 0 48px}.hero h1{font-size:clamp(48px,10vw,68px)}
  .hero-overlay{background:linear-gradient(180deg,rgba(10,11,12,.72) 0%,rgba(10,11,12,.52) 58%,rgba(10,11,12,.28) 100%)}
  .section{padding:76px 0}.process-line{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
  .specialty-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .container{width:min(var(--container),calc(100% - 28px))}
  .brand-copy{display:none}.brand img{width:104px;height:62px}.hero{min-height:820px}.hero-content{padding-top:70px}.hero-lead{font-size:16px}.hero-project-card{max-width:none}.hero-facts{gap:10px}.hero-facts strong{font-size:29px}.hero-facts span{font-size:9px}
  .section-heading h2,.section-title-row h2,.development-copy h2,.contact-copy h2,.closing-cta h2{font-size:clamp(36px,10vw,48px)}
  .services-grid{grid-template-columns:1fr}.project-card,.project-card.wide{grid-column:1/-1;min-height:330px}.project-card.tall{min-height:390px}
  .process-line{grid-template-columns:1fr}.credential-list{grid-template-columns:1fr}.contact-details>div{grid-template-columns:1fr;gap:4px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}
  .modal-image-wrap{height:48vh}.modal-content h3{font-size:32px}.modal-nav{top:34%}.project-details{grid-template-columns:1fr}
  .portfolio-toolbar{align-items:flex-start;flex-direction:column}.hero-facts{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.hero-slide,.reveal,.btn,.project-card img,.specialty-card img{transition:none!important}.hero-progress span.animate{animation:none}
}

/* SOCIAL ICONS */
.social-icons{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}
.social-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:#fff;box-shadow:0 8px 22px rgba(17,18,20,.12);transition:transform .2s ease,box-shadow .2s ease;flex:0 0 auto}
.social-icon svg{width:22px;height:22px;display:block}
a.social-icon:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,18,20,.18)}
.social-facebook{background:#1877F2}
.social-instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0 5%,#fdf497 5% 10%,#fd5949 35%,#d6249f 62%,#285AEB 90%)}
.social-tiktok{background:#101010;box-shadow:inset 2px 0 0 #25F4EE,inset -2px 0 0 #FE2C55,0 8px 22px rgba(17,18,20,.14)}
.social-linkedin{background:#0A66C2}
.social-whatsapp{background:#25D366}
.social-maps{background:conic-gradient(from 20deg,#4285F4 0 25%,#34A853 25% 50%,#FBBC05 50% 75%,#EA4335 75% 100%)}
.social-waze{background:#33CCFF;color:#123846}
.social-icons-footer{margin-top:16px}
.social-icons-footer .social-icon{width:38px;height:38px;border-radius:9px}
.social-icons-footer .social-icon svg{width:19px;height:19px}

/* V7 · GALERÍA DE ESPECIALIDADES */
.work-gallery-section{padding-top:86px;background:linear-gradient(180deg,#fff 0%,#faf8f3 100%)}
.work-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 26px}
.work-filter{border:1px solid var(--line);background:#fff;color:var(--ink-2);padding:10px 15px;border-radius:7px;font-size:11px;font-weight:700;transition:.22s ease}
.work-filter:hover,.work-filter.active{background:var(--charcoal);border-color:var(--charcoal);color:#fff}
.work-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:14px}
.work-photo{grid-column:span 4;margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 10px 28px rgba(17,18,20,.07)}
.work-photo.wide{grid-column:span 8}
.work-photo.portrait{grid-column:span 4}
.work-photo-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e6e2da}
.work-photo.portrait .work-photo-media{aspect-ratio:3/4}
.work-photo.wide .work-photo-media{aspect-ratio:16/9}
.work-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease;filter:saturate(.98) contrast(1.015)}
.work-photo:hover img{transform:scale(1.025);filter:saturate(1.03) contrast(1.025)}
.work-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px}
.work-photo figcaption span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.work-photo figcaption small{font-size:10px;color:var(--muted)}

/* V7 · PROYECTOS REALES */
.project-details dd{max-width:580px}
.project-card .project-overlay p{max-width:42ch}

@media (max-width:1050px){
  .work-photo,.work-photo.portrait{grid-column:span 6}
  .work-photo.wide{grid-column:span 12}
}
@media (max-width:620px){
  .work-toolbar{display:grid;grid-template-columns:1fr 1fr}
  .work-filter{width:100%}
  .work-photo,.work-photo.portrait,.work-photo.wide{grid-column:1/-1}
  .work-photo-media,.work-photo.portrait .work-photo-media,.work-photo.wide .work-photo-media{aspect-ratio:4/3}
}
.hero-facts strong{white-space:nowrap}


/* V8 - PRESENTACION CORPORATIVA Y FOTOGRAFIAS UNIFORMES */
.presentation-card{margin-top:28px;display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(17,18,20,.08)}
.presentation-cover{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:9px;background:#151719}
.presentation-cover img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.presentation-cover:hover img{transform:scale(1.018)}
.presentation-copy{padding:18px 22px 18px 2px}
.presentation-copy h3{font-family:var(--font-display);font-size:clamp(34px,3.5vw,48px);font-weight:600;line-height:1.06;letter-spacing:-.015em;margin:12px 0 14px;max-width:15ch}
.presentation-copy p{margin:0;color:var(--muted);max-width:620px}
.presentation-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}

/* Todas las galerias usan marcos constantes; la foto se adapta con object-fit:cover. */
.work-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:14px}
.work-photo,.work-photo.wide,.work-photo.portrait{grid-column:auto;margin:0;min-width:0}
.work-photo-media,.work-photo.portrait .work-photo-media,.work-photo.wide .work-photo-media{aspect-ratio:4/3}
.work-photo img{object-fit:cover;object-position:center}

.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:14px}
.project-card,.project-card.wide,.project-card.tall{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/3}
.project-card img{object-fit:cover;object-position:center}

.experience-image{min-height:0;aspect-ratio:4/3}
.experience-image img{object-fit:cover;object-position:center}
.development-visual{min-height:0;aspect-ratio:4/3}
.development-visual img{object-fit:cover;object-position:center}

@media (max-width:1050px){
  .work-gallery,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-photo,.work-photo.wide,.work-photo.portrait,.project-card,.project-card.wide,.project-card.tall{grid-column:auto;grid-row:auto;aspect-ratio:4/3;min-height:0}
}
@media (max-width:820px){
  .presentation-card{grid-template-columns:1fr;gap:16px}
  .presentation-copy{padding:12px 10px 18px}
  .presentation-copy h3{max-width:none}
}
@media (max-width:620px){
  .work-gallery,.portfolio-grid{grid-template-columns:1fr}
  .work-photo,.work-photo.wide,.work-photo.portrait,.project-card,.project-card.wide,.project-card.tall{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3;min-height:0}
  .presentation-card{padding:12px}
  .presentation-actions{display:grid;grid-template-columns:1fr}
}


/* PERFORMANCE MOBILE */
.services-grid,.work-gallery,.portfolio-grid,.credentials-grid,.contact-grid{content-visibility:auto;contain-intrinsic-size:700px}
.project-card,.work-photo,.service-card{contain:layout paint}
.presentation-cover img,.experience-image img,.development-visual img{background:#e8e4dc}
@media (max-width:820px){
  .site-header,.hero-project-card,.btn-ghost,.development-badge{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .hero-slide{transform:none!important;transition:opacity .5s ease!important}
  .hero-copy{text-shadow:0 2px 10px rgba(0,0,0,.38)}
  .project-card:hover img,.work-photo:hover img,.service-card:hover{transform:none!important}
  .project-card,.work-photo,.service-card,.lead-form,.experience-strip,.development-visual{box-shadow:none}
  .reveal{transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}
}
