@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --bg:#F7F4EC; --bg-alt:#ECE4CE; --ink:#211F18; --ink-soft:#4B4A3F;
  --olive:#5B6A45; --moss:#3B4530; --brown:#6B4F3B; --brown-dark:#4A362A;
  --line:rgba(33,31,24,0.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;margin:0;letter-spacing:0.01em;}
a{color:var(--olive);text-decoration:none;}
a:hover{color:var(--moss);}
p{margin:0;line-height:1.7;color:var(--ink-soft);}
img{max-width:100%;display:block;}

.eyebrow{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--olive);font-weight:600;}
.btn{display:inline-block;padding:16px 34px;background:var(--olive);color:#F7F4EC;font-size:14px;letter-spacing:0.05em;border-radius:2px;border:none;cursor:pointer;font-family:'Manrope',sans-serif;}
.btn:hover{background:var(--moss);color:#F7F4EC;}
.btn-outline{display:inline-block;padding:14px 30px;border:1px solid var(--ink);color:var(--ink);font-size:13px;letter-spacing:0.05em;border-radius:2px;}

/* Header / Nav */
header.site{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px 64px;background:rgba(247,244,236,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.brand{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:0.08em;color:var(--ink);}
.brand-logo-wrap{background:#fff;padding:6px 16px;border-radius:6px;display:flex;align-items:center;box-shadow:0 1px 3px rgba(33,31,24,0.08);}
.brand-logo{height:34px;width:auto;}
footer.site .brand-logo-wrap{padding:5px 14px;}
footer.site .brand-logo{height:26px;}
nav.main{display:flex;gap:36px;font-size:14px;letter-spacing:0.03em;color:var(--ink-soft);}
nav.main a.active{color:var(--olive);font-weight:600;}
.nav-toggle{display:none;background:none;border:none;font-size:26px;color:var(--ink);cursor:pointer;}

/* Footer */
footer.site{padding:56px 64px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
footer.site .brand{font-size:18px;}
footer.site .tag{font-size:13px;color:var(--ink-soft);}

/* Hero */
.hero{padding:120px 64px 90px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px;}
.hero h1{font-size:64px;line-height:1.12;max-width:820px;}
.hero p{font-size:18px;max-width:560px;}
.hero-media{padding:20px 64px 100px;}
.hero-media .frame{aspect-ratio:16/6;background:linear-gradient(135deg,#DED2AE,#8E9B6E);border-radius:2px;}

/* Grids and cards */
.section{padding:100px 64px;}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.card{display:flex;flex-direction:column;gap:16px;padding:34px;background:var(--bg-alt);border-radius:2px;}
.card .photo{overflow:hidden;background:linear-gradient(135deg,#DED2AE,#8E9B6E);border-radius:2px;}
.card .photo img{width:100%;height:100%;object-fit:cover;}
.card h3{font-size:24px;}
.card p{font-size:15px;}
.card .link{font-size:13px;letter-spacing:0.04em;}

.split{padding:100px 64px;display:flex;gap:56px;align-items:center;}
.split.reverse{flex-direction:row-reverse;}
.split .frame{flex:1;aspect-ratio:4/5;background:linear-gradient(150deg,#8E9B6E,#4A362A);border-radius:2px;}
.split .copy{flex:1;display:flex;flex-direction:column;gap:18px;}

.band{padding:70px 64px;background:var(--brown-dark);color:#F7F4EC;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.band .eyebrow{color:#C9B98F;}
.band h2{color:#F7F4EC;}
.band p{color:#D8CFB8;}

/* Procedure rows (Corporal / Tecnologia) */
.proc{display:flex;gap:48px;align-items:center;padding:56px 64px;border-top:1px solid var(--line);}
.proc:nth-child(even){flex-direction:row-reverse;}
.proc .photo{flex:0 0 380px;aspect-ratio:4/3;background:linear-gradient(135deg,#DED2AE,#8E9B6E);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;position:relative;}
.proc .photo img{width:100%;height:100%;object-fit:cover;border-radius:2px;}
.proc .photo .proc-note{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,0.55);color:#F7F4EC;padding:3px 8px;border-radius:2px;font-size:10px;}
.proc .copy{flex:1;display:flex;flex-direction:column;gap:12px;}
.proc-note{font-size:11px;color:#4A362A;}

/* Timeline (Sobre) */
.timeline{padding:80px 64px;background:var(--brown-dark);color:#F7F4EC;}
.timeline-grid{display:flex;gap:48px;flex-wrap:wrap;}
.timeline-grid > div{flex:1;min-width:220px;}
.timeline-grid h2{font-size:26px;color:#F7F4EC;margin-bottom:14px;}
.timeline-grid p{color:#D8CFB8;font-size:14px;}

/* Contact form */
.contact-wrap{padding:90px 64px;display:flex;gap:64px;flex-wrap:wrap;}
.contact-info{flex:1;display:flex;flex-direction:column;gap:20px;min-width:280px;}
.contact-form{flex:1;display:flex;flex-direction:column;gap:18px;min-width:280px;}
.contact-form label{font-size:13px;color:var(--ink-soft);letter-spacing:0.02em;}
.contact-form input,.contact-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);background:#fff;border-radius:2px;font-family:'Manrope',sans-serif;font-size:14px;color:var(--ink);margin-top:6px;}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* Header reacts to scroll */
header.site{transition:padding .25s ease, box-shadow .25s ease;}
header.site.scrolled{padding-top:14px;padding-bottom:14px;box-shadow:0 2px 16px rgba(33,31,24,0.08);}

/* Image interaction — zoom on hover, click to expand */
.card .photo,.proc .photo,.hero-media .frame{overflow:hidden;}
.card .photo img,.proc .photo img,.hero-media .frame img{transition:transform .6s ease;}
.card:hover .photo img,.proc:hover .photo img,.hero-media:hover .frame img{transform:scale(1.06);}
.zoomable{cursor:zoom-in;}

.lightbox{position:fixed;inset:0;background:rgba(33,31,24,0.94);display:flex;align-items:center;justify-content:center;padding:40px;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s ease;}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox img{max-width:min(900px,90vw);max-height:85vh;border-radius:2px;box-shadow:0 24px 70px rgba(0,0,0,0.45);}
.lightbox-close{position:absolute;top:22px;right:28px;width:40px;height:40px;background:none;border:1px solid rgba(247,244,236,0.4);border-radius:50%;color:#F7F4EC;font-size:20px;line-height:1;cursor:pointer;}
.lightbox-close:hover{background:rgba(247,244,236,0.1);}

/* Floating booking CTA */
.float-cta{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:9px;padding:15px 22px;background:var(--olive);color:#F7F4EC;border-radius:40px;box-shadow:0 10px 28px rgba(59,69,48,0.35);font-size:14px;font-weight:600;letter-spacing:0.02em;transition:transform .2s ease, background .2s ease;}
.float-cta:hover{background:var(--moss);color:#F7F4EC;transform:translateY(-3px);}
.float-cta svg{width:19px;height:19px;flex:none;}
@media (max-width:560px){.float-cta span{display:none;}.float-cta{padding:15px;border-radius:50%;}}

/* Final CTA band + cross-page exploration */
.cta-final .cta-actions{display:flex;gap:14px;flex-wrap:wrap;}
.explore{padding:56px 64px 72px;border-top:1px solid var(--line);}
.explore-links{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:18px;}
.explore-links a{font-size:14px;}

/* Responsive */
@media (max-width: 900px){
  header.site{padding:18px 24px;}
  nav.main{position:fixed;top:65px;left:0;right:0;background:var(--bg);flex-direction:column;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .25s ease;border-bottom:1px solid var(--line);}
  nav.main.open{max-height:400px;}
  nav.main a{padding:16px 24px;border-top:1px solid var(--line);}
  .nav-toggle{display:block;}
  .hero,.section,.split,.band,.proc,.timeline,.contact-wrap,.hero-media,.explore{padding-left:24px;padding-right:24px;}
  .hero h1{font-size:38px;}
  .hero p{font-size:16px;}
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .split,.split.reverse{flex-direction:column;}
  .proc,.proc:nth-child(even){flex-direction:column;}
  .proc .photo{width:100%;flex:none;}
  .timeline-grid{flex-direction:column;}
  .band{flex-direction:column;align-items:flex-start;}
}
