@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap');
:root{--verde:#515a49;--arena-claro:#e0d7ce;--dorado:#b49e77;--gris-arena:#d8d4c9;--cafe:#5e4c3e;--arena-suave:#d5c8b8;--verde-medio:#79785a;--pizarra:#425261;--negro:#1d1d1d;--terracota:#8c5737;--fondo:#f4f0ea;--crema:#faf8f5;--radius-btn:8px;--radius-card:16px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:400;background:var(--fondo);color:var(--negro);letter-spacing:.02em;overflow-x:hidden}
img{max-width:100%;height:auto}
strong,b{font-weight:600}
body.has-event-banner{padding-top:var(--banner-h,0px)}
#event-banner{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem 1rem;background:var(--dorado);color:var(--negro);padding:.7rem 3rem .7rem 1.25rem;text-align:center}
#event-banner .event-banner-text{font-size:.82rem;letter-spacing:.01em}
#event-banner .event-banner-text strong{font-weight:700}
#event-banner .event-banner-btn{background:var(--verde);color:var(--crema);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.45rem 1.1rem;border-radius:20px;text-decoration:none;white-space:nowrap;transition:background .3s}
#event-banner .event-banner-btn:hover{background:var(--verde-medio)}
#event-banner .event-banner-close{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);background:none;border:0;font-size:1.4rem;line-height:1;cursor:pointer;color:inherit;opacity:.65;padding:.25rem}
#event-banner .event-banner-close:hover{opacity:1}
nav{position:fixed;top:var(--banner-h,0px);left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 3rem;background:rgba(244,240,234,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(29,29,29,.05);transition:background .4s,padding .4s,box-shadow .4s,top .3s}
nav.scrolled{background:rgba(244,240,234,.97);padding:.9rem 3rem;box-shadow:0 1px 0 var(--arena-claro)}
.nav-logo img{height:58px;object-fit:contain;transition:height .4s}
nav.scrolled .nav-logo img{height:50px}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--negro);text-decoration:none;font-weight:400;position:relative;transition:color .3s}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--dorado);transition:width .3s}
.nav-links a:hover{color:var(--dorado)}
.nav-links a:hover::after{width:100%}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.nav-toggle span{display:block;width:24px;height:1px;background:var(--negro);transition:all .3s}
.hero{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(min(100vh,780px),auto);max-height:900px;position:relative;overflow:hidden}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:9rem 5rem 4rem 3rem;position:relative;z-index:2}
.eyebrow{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dorado);margin-bottom:2rem;font-weight:400;opacity:0;animation:fadeUp 1s .3s forwards}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5.5vw,5.5rem);line-height:1;font-weight:300;margin-bottom:2.5rem;opacity:0;animation:fadeUp 1s .15s forwards}
.hero h1 em{font-style:italic;color:var(--verde)}
.hero-body{font-size:1.05rem;line-height:1.85;color:var(--cafe);max-width:460px;margin-bottom:3rem;opacity:0;animation:fadeUp 1s .4s forwards}
.hero-cta{opacity:0;animation:fadeUp 1s .6s forwards;display:inline-block}
.hero-right{position:relative;overflow:hidden;background:var(--gris-arena)}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:42% 30%;display:block}
.hero-ornament{position:absolute;left:0;top:20%;width:3px;height:60%;background:linear-gradient(to bottom,transparent,var(--dorado),transparent);z-index:3}
.promo-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6rem 3rem;text-align:center;position:relative;overflow:hidden}
.promo-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.promo-hero-overlay{position:absolute;inset:0;z-index:1}
.promo-hero-content{position:relative;z-index:2;max-width:680px;width:100%;margin:0 auto}
.promo-tag{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dorado);margin-bottom:1.5rem}
.promo-hero-content h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,8vw,7rem);font-weight:300;color:var(--arena-claro);line-height:1;margin-bottom:2rem}
.promo-hero-content h1 em{font-style:italic}
.promo-body{font-size:clamp(1rem,1.5vw,1.05rem);line-height:1.85;color:var(--arena-suave);max-width:520px;margin:0 auto 3rem}
.promo-back{margin-top:3.5rem}
.promo-back a{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--arena-suave);opacity:.5;text-decoration:none;transition:opacity .3s}
.promo-back a:hover{opacity:.9}
.tinted-hero{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:9rem 3rem 6rem;text-align:center;position:relative;overflow:hidden}
.tinted-hero-blob{position:absolute;top:-20%;left:-10%;width:500px;height:500px;border-radius:50%;background:var(--pizarra);opacity:.25}
.tinted-hero-content{position:relative;z-index:2;max-width:760px;width:100%;margin:0 auto}
.quote-strip{background:var(--verde);padding:3rem;text-align:center}
.quote-strip blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2.5vw,2rem);font-weight:300;font-style:italic;line-height:1.65;color:var(--arena-claro);max-width:760px;margin:0 auto}
.section{padding:8rem 3rem;max-width:1200px;margin:0 auto}
.section-bg-crema{background:var(--crema)}
.section-bg-fondo{background:var(--fondo)}
.section-inner{max-width:1200px;margin:0 auto;padding:8rem 3rem}
.section-label{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dorado);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}
.section-label::before{content:'';display:block;width:28px;height:1px;background:var(--dorado)}
.section-label.center{justify-content:center}
h2.display{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.6rem);font-weight:300;line-height:1.15;margin-bottom:2rem}
h2.display em{font-style:italic;color:var(--verde)}
p.body-text{font-size:1.05rem;line-height:1.85;color:var(--cafe);margin-bottom:1.5rem}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.about-img-frame{position:relative;aspect-ratio:3/4;max-height:580px;overflow:hidden;background:var(--gris-arena);border-radius:var(--radius-card)}
.about-img-frame::after{content:'';position:absolute;inset:-10px;border:1px solid var(--dorado);opacity:.35;pointer-events:none;border-radius:calc(var(--radius-card) + 6px)}
.about-img-frame img{width:100%;height:100%;object-fit:cover;display:block}
.credentials{background:var(--fondo);border-left:3px solid var(--dorado);padding:1.5rem 1.75rem;margin:2rem 0;display:flex;flex-direction:column;gap:.75rem;border-radius:10px}
.cred-item{font-size:.8rem;letter-spacing:.06em;color:var(--negro);display:flex;align-items:center;gap:.75rem}
.cred-item::before{content:'◆';color:var(--dorado);font-size:.5rem}
.services-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;align-items:end}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.service-card{background:var(--fondo);padding:3rem 2.25rem;position:relative;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .4s,background .3s;border-radius:var(--radius-card)}
.service-card:hover{transform:translateY(-6px)}
.service-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:linear-gradient(to right,var(--dorado),var(--terracota));transition:width .4s}
.service-card:hover::after{width:100%}
.service-card.dim{background:var(--gris-arena)}
.service-card.dim:hover{background:var(--arena-suave)}
.service-card.featured{box-shadow:inset 0 0 0 2px var(--dorado)}
.service-card.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--dorado),var(--terracota))}
.card-badge{position:absolute;top:1.25rem;right:1.25rem;background:var(--verde);color:var(--crema);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .6rem;border-radius:20px;font-weight:400;white-space:nowrap;z-index:2}
.card-num{font-family:'Cormorant Garamond',serif;font-size:clamp(3.2rem,6vw,4.5rem);font-weight:400;color:var(--dorado);line-height:1;margin-bottom:1rem}
.card-tag{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--dorado);margin-bottom:.75rem}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,1.75rem);font-weight:400;line-height:1.2;margin-bottom:1.25rem}
.service-card p{font-size:1.05rem;line-height:1.8;color:var(--cafe);flex:1}
.card-link{display:flex;align-items:center;gap:.75rem;margin-top:2rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--negro);transition:gap .3s}
.service-card:hover .card-link{gap:1.25rem}
.coming-label{margin-top:1.5rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--verde-medio)}
.philosophy-bg{background:var(--verde);padding:8rem 3rem;position:relative;overflow:hidden}
.philosophy-bg::before{content:'';position:absolute;top:-30%;left:-8%;width:400px;height:400px;border-radius:50%;background:var(--pizarra);opacity:.25}
.phil-inner{max-width:860px;margin:0 auto;position:relative;z-index:2}
.phil-inner .section-label{color:var(--dorado)}
.phil-inner .section-label::before{background:var(--dorado)}
.phil-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;line-height:1.6;color:var(--arena-claro);margin-bottom:2.5rem}
.phil-text em{font-style:italic;color:var(--dorado)}
.phil-body{font-size:1.05rem;line-height:1.85;color:var(--arena-suave);max-width:620px;margin-bottom:3.5rem}
.social-strip{background:var(--verde);padding:4rem 3rem}
.social-inner{max-width:600px;margin:0 auto;text-align:center}
.social-inner .section-label{justify-content:center;color:var(--dorado)}
.social-inner .section-label::before{background:var(--dorado)}
.social-links{display:flex;justify-content:center;gap:1rem;margin-top:.5rem}
.social-link{display:flex;align-items:center;gap:.75rem;padding:.9rem 2rem;border:1px solid rgba(213,200,184,.35);color:var(--arena-suave);text-decoration:none;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;transition:border-color .3s,color .3s;border-radius:var(--radius-btn)}
.social-link:hover{border-color:var(--dorado);color:var(--dorado)}
.blog-section{padding:8rem 3rem;border-top:1px solid var(--arena-claro)}
.blog-inner{max-width:700px;margin:0 auto;text-align:center}
.blog-placeholder{margin-top:3rem;padding:3rem 2rem;border:1px dashed var(--dorado);background:var(--crema);display:flex;flex-direction:column;align-items:center;gap:1rem;border-radius:var(--radius-card)}
.blog-placeholder p{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--verde-medio)}
.contact-section{padding:8rem 3rem}
.contact-inner{max-width:620px;margin:0 auto;text-align:center}
.contact-form{display:flex;flex-direction:column;gap:1.75rem;text-align:left;margin-top:2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}
.form-group{display:flex;flex-direction:column;gap:.5rem}
.form-label{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--negro);font-weight:400}
.form-input,.form-select{background:transparent;border:none;border-bottom:1px solid var(--arena-suave);padding:.75rem 0;font-family:'Jost',sans-serif;font-size:.95rem;font-weight:400;color:var(--negro);outline:none;transition:border-color .3s;-webkit-appearance:none;border-radius:0}
.form-input:focus,.form-select:focus{border-color:var(--dorado)}
.form-submit{display:flex;align-items:center;justify-content:center;gap:1rem;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--crema);background:var(--verde);padding:1.25rem;border:none;cursor:pointer;width:100%;font-weight:400;transition:background .3s,transform .3s;border-radius:var(--radius-btn)}
.form-submit:hover{background:var(--cafe);transform:translateY(-2px)}
.form-textarea{background:transparent;border:none;border-bottom:1px solid var(--arena-suave);padding:.75rem 0;font-family:'Jost',sans-serif;font-size:.95rem;font-weight:400;color:var(--negro);outline:none;transition:border-color .3s;resize:vertical;min-height:70px;width:100%;-webkit-appearance:none;border-radius:0}
.form-textarea:focus{border-color:var(--dorado)}
.radio-group{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}
.radio-option{display:flex;align-items:flex-start;gap:.65rem;font-size:1.05rem;line-height:1.5;color:var(--cafe);cursor:pointer}
.radio-option input{margin-top:.3rem;accent-color:var(--dorado)}
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;margin-top:2.5rem}
.pricing-card{position:relative;background:var(--crema);padding:3rem 2.25rem;text-align:left;border-radius:var(--radius-card);border:1px solid rgba(180,158,119,.3);box-shadow:0 4px 20px rgba(29,29,29,.05);transition:transform .3s,box-shadow .3s}
.pricing-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(29,29,29,.08)}
.pricing-card.featured{border-color:var(--dorado);box-shadow:0 4px 20px rgba(180,158,119,.18)}
.pricing-card .card-tag{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--dorado);margin-bottom:.75rem}
.pricing-card h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;line-height:1.25;margin-bottom:.5rem}
.pricing-card .price{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:400;color:var(--verde);margin:.5rem 0 1.25rem}
.pricing-card p.body-text{margin-bottom:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:3rem}
.feature-card{background:var(--fondo);padding:2.5rem 2rem;border-left:3px solid var(--dorado);border-radius:10px}
.feature-card.c-verde{background:#e9ece3;border-left-color:var(--verde)}
.feature-card.c-terracota{background:#f1e3d9;border-left-color:var(--terracota)}
.feature-card.c-dorado{background:#f3ecdd;border-left-color:var(--dorado)}
.feature-card.c-pizarra{background:#e5e9ee;border-left-color:var(--pizarra)}
.feature-card.c-cafe{background:#ece4de;border-left-color:var(--cafe)}
.feature-card.c-verdemedio{background:#ebe9dc;border-left-color:var(--verde-medio)}
.feature-card h4{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700;margin-bottom:.85rem;line-height:1.25}
.feature-card p{font-size:1.05rem;line-height:1.75;color:var(--cafe)}
.logistics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.5rem;text-align:left}
.logistics-item .label{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--dorado);margin-bottom:.6rem}
.logistics-item .value{font-size:1.05rem;line-height:1.7;color:var(--cafe)}
.btn-primary{display:inline-flex;align-items:center;gap:1rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--crema);background:var(--verde);padding:1.1rem 2.5rem;text-decoration:none;font-weight:400;transition:background .3s,transform .3s;border:none;cursor:pointer;font-family:'Jost',sans-serif;border-radius:var(--radius-btn)}
.btn-primary:hover{background:var(--cafe);transform:translateY(-2px)}
.btn-outline{display:inline-flex;align-items:center;gap:1rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--negro);border:1px solid var(--negro);padding:1rem 2.2rem;text-decoration:none;font-weight:400;transition:all .3s;border-radius:var(--radius-btn)}
.btn-outline:hover{background:var(--negro);color:var(--crema)}
.btn-ghost{display:inline-flex;align-items:center;gap:1rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dorado);border:1px solid var(--dorado);padding:1rem 2.2rem;text-decoration:none;font-weight:400;background:transparent;transition:all .3s;border-radius:var(--radius-btn)}
.btn-ghost:hover{background:var(--dorado);color:var(--crema)}
footer{background:var(--pizarra);padding:4.5rem 3rem 2rem}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(213,200,184,.12);margin-bottom:2rem}
.footer-logo img{height:44px;object-fit:contain;margin-bottom:1.25rem;display:block}
.footer-desc{font-size:.88rem;line-height:1.8;color:var(--arena-suave);opacity:.6}
.footer-social{display:flex;gap:.75rem;margin-top:1.5rem}
.footer-social a{width:36px;height:36px;border:1px solid rgba(213,200,184,.25);display:flex;align-items:center;justify-content:center;color:var(--arena-suave);text-decoration:none;font-size:.72rem;letter-spacing:.12em;transition:all .3s}
.footer-social a:hover{border-color:var(--dorado);color:var(--dorado)}
.footer-col h4{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dorado);margin-bottom:1.5rem;font-weight:400}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.75rem}
.footer-col ul li a{font-size:.83rem;color:var(--arena-suave);text-decoration:none;opacity:.65;transition:opacity .3s}
.footer-col ul li a:hover{opacity:1}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:.72rem;color:var(--arena-suave);opacity:.35}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s,transform .9s}
.reveal.visible{opacity:1;transform:translateY(0)}
/* Tablet: 768px – 1024px */
@media(max-width:1024px) and (min-width:769px){
  nav{padding:1.25rem 2rem}
  nav.scrolled{padding:1rem 2rem}
  .nav-links{gap:1.5rem}
  .hero-left{padding:7rem 3rem 3rem 2rem}
  .section,.section-inner,.blog-section,.contact-section,.social-strip,.philosophy-bg{padding:6rem 2.5rem}
  .about-grid{gap:3.5rem}
  .services-header{gap:2.5rem}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .pricing-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid,.logistics-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:3rem}
  .promo-hero{padding:7rem 2.5rem}
  .tinted-hero{padding:8rem 2.5rem 5rem}
}
/* Mobile: up to 768px */
@media(max-width:768px){
  #event-banner{padding:.6rem 2.25rem .6rem .9rem;gap:.5rem}
  #event-banner .event-banner-text{font-size:.7rem;line-height:1.4}
  #event-banner .event-banner-btn{font-size:.65rem;padding:.4rem .9rem}
  #event-banner .event-banner-close{right:.6rem;font-size:1.2rem}
  nav{padding:1rem 1.25rem}
  nav.scrolled{padding:.8rem 1.25rem}
  .nav-logo img{height:46px}
  nav.scrolled .nav-logo img{height:40px}
  .nav-links{display:none;flex-direction:column;gap:1.5rem;position:absolute;top:100%;left:0;right:0;background:rgba(244,240,234,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:2rem 1.5rem;border-bottom:1px solid var(--arena-claro)}
  .nav-links.open{display:flex}
  .nav-toggle{display:flex}
  .nav-toggle span{background:var(--negro)}
  .hero{grid-template-columns:1fr;grid-template-rows:none;min-height:100svh;max-height:none;background-color:var(--negro)}
  .hero::before{content:'';position:absolute;inset:0;z-index:0;background-image:linear-gradient(180deg,rgba(29,29,29,.4),rgba(29,29,29,.75)),url('/img/michelle-hero.jpg');background-size:cover;background-position:45% center;background-repeat:no-repeat}
  .hero-left{padding:6.5rem 1.5rem 3rem}
  .hero-right{display:none}
  .hero h1{color:var(--arena-claro)}
  .hero h1 em{color:var(--dorado)}
  .hero-body{color:var(--arena-suave)}
  .section,.section-inner,.blog-section,.contact-section,.social-strip,.philosophy-bg{padding:5rem 1.5rem}
  .about-grid{grid-template-columns:1fr;gap:3rem}
  .about-img-frame{aspect-ratio:4/3;max-height:300px}
  .services-header{grid-template-columns:1fr;gap:2rem}
  .services-grid{grid-template-columns:1fr}
  .quote-strip{padding:2.5rem 1.5rem}
  .form-row{grid-template-columns:1fr}
  .pricing-grid,.feature-grid,.logistics-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:2.5rem}
  .footer-bottom{flex-direction:column;gap:.75rem;text-align:center}
  .social-links{flex-direction:column;align-items:center}
  .promo-hero{min-height:100svh;padding:7rem 1.25rem 4rem}
  .promo-hero-content{max-width:100%}
  .tinted-hero{min-height:auto;padding:7rem 1.25rem 4rem}
  .tinted-hero-blob{width:280px;height:280px}
}
