/* ==========================================================================
   Aura Properties — sistema visual
   Paleta y tipografia segun aura-properties-logo-final / aura-properties-identidad
   ========================================================================== */

:root{
  /* Paleta oficial */
  --charcoal:#151515;
  --ivory:#F5F1E8;
  --champagne:#B89A62;
  --stone:#B7AEA0;
  --white:#FCFBF7;

  /* Derivados de uso (accesibilidad) */
  --bronze-text:#7E612D;        /* dorado legible sobre fondos claros */
  --txt-on-dark:#F5F1E8;
  --txt-on-dark-muted:#B7AEA0;
  --txt-on-light:#1B1A17;
  --txt-on-light-muted:#6B6558;
  --line-dark:#2A2A28;
  --line-light:#DED6C2;

  --serif:'Bodoni Moda', Georgia, serif;
  --sans:'Montserrat', system-ui, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);font-weight:300;background:var(--ivory);color:var(--txt-on-light);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;height:auto;}

/* --------------------------------------------------------------- WORDMARK */
.brandmark{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1;}
.brandmark .wm-aura{font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:.30em;color:var(--champagne);}
.brandmark .wm-props{font-family:var(--sans);font-weight:300;font-size:8px;letter-spacing:.42em;color:var(--stone);margin-top:6px;}
.brandmark .wm-name{font-family:var(--sans);font-weight:300;font-size:8px;letter-spacing:.24em;color:var(--stone);margin-top:5px;}
.brandmark.on-light .wm-aura{color:var(--txt-on-light);}
.brandmark.on-light .wm-props,.brandmark.on-light .wm-name{color:var(--txt-on-light-muted);}

/* -------------------------------------------------------------------- NAV */
header{position:sticky;top:0;z-index:50;background:rgba(21,21,21,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-dark);}
.nav-wrap{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;gap:24px;}
nav ul{list-style:none;display:flex;gap:38px;}
nav a{color:var(--stone);text-decoration:none;font-size:11.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;transition:color .25s;}
nav a:hover,nav a.active{color:var(--champagne);}

/* ---------------------------------------------------------------- GENERIC */
section{padding:120px 32px;}
.section-inner{max-width:1180px;margin:0 auto;}
.kicker{color:var(--bronze-text);font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;margin-bottom:20px;}
.on-dark .kicker,.page-head .kicker,.story .kicker,.value-band .kicker,.about-bridge .kicker{color:var(--champagne);}
.rule{width:56px;height:1px;background:var(--champagne);opacity:.7;margin:0 0 26px;}
.rule.center{margin-left:auto;margin-right:auto;}

h1,h2{font-family:var(--serif);font-weight:400;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:64px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(26px,3.4vw,38px);line-height:1.22;max-width:600px;letter-spacing:.005em;}

.btn-gold{display:inline-block;background:var(--champagne);color:var(--charcoal);text-decoration:none;padding:17px 36px;font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:none;border-radius:0;cursor:pointer;transition:background .25s;}
.btn-gold:hover{background:#C7A55B;}
.btn-ghost{display:inline-block;color:var(--txt-on-dark);text-decoration:none;padding:17px 4px;font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--line-dark);margin-left:26px;transition:border-color .25s,color .25s;}
.btn-ghost:hover{border-color:var(--champagne);color:var(--champagne);}

/* ------------------------------------------------------------------- HERO */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;background:var(--charcoal);color:var(--txt-on-dark);overflow:hidden;padding:0;}
.hero-inner{position:relative;max-width:1180px;margin:0 auto;padding:90px 32px;width:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.hero .eyebrow{color:var(--champagne);font-size:10px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;margin-bottom:30px;}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6.6vw,86px);line-height:1;letter-spacing:.06em;margin-bottom:14px;}
.hero .h1-sub{font-family:var(--sans);font-weight:300;font-size:clamp(11px,1.2vw,13px);letter-spacing:.52em;color:var(--stone);margin-bottom:34px;}
.hero p.tagline{font-family:var(--sans);font-weight:300;font-size:clamp(15px,1.6vw,17.5px);color:var(--stone);max-width:430px;margin-bottom:48px;line-height:1.65;}
.hero-coords{margin-top:52px;font-size:9.5px;letter-spacing:.28em;color:var(--stone);opacity:.75;}
.hero-portrait{position:relative;justify-self:end;width:100%;max-width:420px;}
.hero-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:grayscale(.2) contrast(1.02);}
.hero-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(21,21,21,.82) 0%,rgba(21,21,21,0) 44%),linear-gradient(to bottom,rgba(21,21,21,.3) 0%,rgba(21,21,21,0) 32%,rgba(21,21,21,.5) 100%);pointer-events:none;}

/* ------------------------------------------------------------ PAGE HEADER */
.page-head{background:var(--charcoal);color:var(--txt-on-dark);padding:130px 32px 100px;}
.page-head h1{font-size:clamp(30px,4.6vw,52px);line-height:1.18;max-width:820px;letter-spacing:.01em;}
.page-head p{font-family:var(--sans);font-weight:300;font-size:15.5px;line-height:1.75;color:var(--stone);max-width:560px;margin-top:26px;}
.page-head-split{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;max-width:1180px;margin:0 auto;}
.page-head-split .portrait{justify-self:end;width:100%;max-width:360px;}
.page-head-split .portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:grayscale(.2) contrast(1.02);}

/* ---------------------------------------------------------------- PANELES */
.panel{background:var(--white);border:1px solid var(--line-light);padding:66px 40px;text-align:center;}
.panel h3{font-family:var(--serif);font-weight:400;font-size:23px;margin-bottom:16px;}
.panel p{font-size:14.5px;line-height:1.8;color:var(--txt-on-light-muted);max-width:500px;margin:0 auto 30px;}

/* --------------------------------------------------------------- RESENAS */
.reviews{border-top:1px solid var(--line-light);}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.review{border-left:1px solid var(--champagne);padding:4px 0 4px 24px;}
.review .stars{color:var(--champagne);font-size:12px;letter-spacing:.2em;margin-bottom:16px;}
.review p{font-family:var(--serif);font-weight:400;font-style:italic;font-size:15px;line-height:1.75;color:var(--txt-on-light);margin-bottom:18px;}
.review .who{font-size:11px;color:var(--txt-on-light-muted);letter-spacing:.08em;}
.review .who strong{display:block;font-family:var(--sans);font-weight:500;color:var(--txt-on-light);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.rating-badge{display:flex;align-items:center;gap:12px;white-space:nowrap;}
.rating-badge .score{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--txt-on-light);}
.rating-badge .stars{color:var(--champagne);font-size:13px;letter-spacing:.14em;}
.rating-badge .count{font-size:11px;letter-spacing:.1em;color:var(--txt-on-light-muted);text-transform:uppercase;}
.google-link{display:inline-flex;align-items:center;gap:8px;margin-top:48px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-on-light-muted);text-decoration:none;border-bottom:1px solid var(--line-light);padding-bottom:4px;}
.google-link:hover{color:var(--bronze-text);border-color:var(--champagne);}

/* ------------------------------------------------------------ BANDAS OSCURAS */
.value-band,.about-bridge,.story{background:var(--charcoal);color:var(--txt-on-dark);}
.value-band,.about-bridge{text-align:center;}
.value-band .section-inner,.about-bridge .section-inner{max-width:720px;}
.value-band h2,.about-bridge h2{font-size:clamp(28px,4vw,44px);line-height:1.22;margin-bottom:24px;}
.value-band p,.about-bridge p{font-size:15px;font-weight:300;line-height:1.8;color:var(--stone);margin-bottom:40px;}
.story .section-inner{max-width:760px;}
.story p{font-family:var(--serif);font-weight:400;font-size:clamp(17px,2.1vw,21px);line-height:1.75;color:var(--txt-on-dark);}

/* -------------------------------------------------------- BLOQUES DE VALOR */
.lead-para{font-family:var(--serif);font-weight:400;font-size:clamp(17px,2vw,21px);line-height:1.7;color:var(--txt-on-light);max-width:720px;margin-bottom:80px;}
.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 64px;}
.value-item .num{color:var(--bronze-text);font-weight:500;font-size:11px;letter-spacing:.2em;margin-bottom:16px;}
.value-item h3{font-family:var(--serif);font-weight:400;font-size:21px;margin-bottom:14px;line-height:1.35;}
.value-item p{font-size:14.5px;color:var(--txt-on-light-muted);line-height:1.8;}

/* -------------------------------------------------------------------- CTA */
.cta-band{background:var(--ivory);text-align:center;padding-bottom:140px;}
.cta-band h2{font-size:clamp(28px,4vw,44px);max-width:640px;margin:0 auto 38px;line-height:1.25;}

/* --------------------------------------------------------------- CONTACTO */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;}
.field{margin-bottom:28px;}
.field label{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-on-light-muted);margin-bottom:10px;font-weight:500;}
.field .opt{letter-spacing:.06em;text-transform:none;font-weight:300;}
.field input,.field textarea{width:100%;background:var(--white);border:1px solid var(--line-light);border-radius:0;padding:15px 16px;font-family:var(--sans);font-weight:300;font-size:14.5px;color:var(--txt-on-light);transition:border-color .25s;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--champagne);}
.field textarea{min-height:140px;resize:vertical;}
.hp{display:none;}

.consent{display:flex;gap:14px;align-items:flex-start;margin:4px 0 32px;padding:20px 22px;background:var(--white);border:1px solid var(--line-light);}
.consent input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:3px;accent-color:var(--champagne);cursor:pointer;}
.consent label{font-size:11.5px;line-height:1.7;color:var(--txt-on-light-muted);cursor:pointer;}
.consent label a{color:var(--txt-on-light);text-decoration:underline;}
.consent label a:hover{color:var(--bronze-text);}
.consent .en{display:block;margin-top:10px;font-size:10.5px;line-height:1.65;opacity:.72;}

.contact-direct{border-left:1px solid var(--line-light);padding-left:52px;}
.contact-direct h3{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-text);margin-bottom:28px;font-weight:500;}
.contact-direct > a{display:block;color:var(--txt-on-light);text-decoration:none;font-size:16px;font-weight:400;margin-bottom:18px;}
.contact-direct > a:hover{color:var(--bronze-text);}
.contact-direct .label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-on-light-muted);margin-bottom:6px;}
.contact-direct p.note{font-size:12px;color:var(--txt-on-light-muted);line-height:1.8;padding-top:26px;border-top:1px solid var(--line-light);}

ol.steps{list-style:none;margin-bottom:32px;}
ol.steps li{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start;}
ol.steps li span{flex-shrink:0;width:28px;height:28px;border:1px solid var(--champagne);border-radius:50%;color:var(--bronze-text);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;}
ol.steps li strong{display:block;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-on-light);margin-bottom:5px;}
ol.steps li div{font-size:13px;color:var(--txt-on-light-muted);line-height:1.7;}

/* ------------------------------------------------------- LICENCIA / REDES */
.credential{margin-top:30px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);font-weight:400;}
.credential.light{margin-top:36px;padding-top:26px;border-top:1px solid var(--line-light);color:var(--txt-on-light-muted);font-size:10.5px;letter-spacing:.14em;line-height:1.9;text-transform:uppercase;}
.social-row{display:flex;gap:14px;margin-top:18px;}
.social-row a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line-light);border-radius:50%;color:var(--txt-on-light-muted);transition:border-color .25s,color .25s;}
.social-row a:hover{border-color:var(--champagne);color:var(--bronze-text);}
.social-row svg{width:16px;height:16px;}
.social-row.dark a{border-color:var(--line-dark);color:var(--stone);}
.social-row.dark a:hover{border-color:var(--champagne);color:var(--champagne);}

/* --------------------------------------------------------------- LEGALES */
.legal .section-inner{max-width:760px;}
.legal h2{font-family:var(--serif);font-weight:400;font-size:22px;margin:46px 0 14px;line-height:1.35;}
.legal h2:first-child{margin-top:0;}
.legal p{font-size:14px;line-height:1.85;color:var(--txt-on-light-muted);margin-bottom:16px;}
.legal p strong{color:var(--txt-on-light);font-weight:500;}
.legal a{color:var(--txt-on-light);text-decoration:underline;}
.legal a:hover{color:var(--bronze-text);}
.legal-callout{background:var(--white);border-left:1px solid var(--champagne);padding:24px 26px;margin:24px 0;}
.legal-callout p{margin-bottom:12px;}
.legal-callout p:last-child{margin-bottom:0;}
.legal-callout .en{font-size:12.5px;color:var(--txt-on-light-muted);}

/* ----------------------------------------------------------------- FOOTER */
footer{background:var(--charcoal);color:var(--stone);padding:68px 32px 36px;}
.footer-inner{max-width:1180px;margin:0 auto;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line-dark);}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;}
.footer-nav ul{list-style:none;display:flex;gap:30px;}
.footer-nav a{color:var(--stone);text-decoration:none;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;}
.footer-nav a:hover{color:var(--champagne);}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:28px;font-size:10.5px;letter-spacing:.06em;}
.footer-legal{display:flex;flex-direction:column;gap:8px;}
.legal-links a{color:var(--stone);text-decoration:none;}
.legal-links a:hover{color:var(--champagne);}
.footer-contact{text-align:right;line-height:1.9;}
.footer-contact strong{display:block;color:var(--txt-on-dark);font-weight:400;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;}
.footer-contact a{color:var(--stone);text-decoration:none;}
.footer-contact a:hover{color:var(--champagne);}
.footer-coords{margin-top:10px;font-size:9.5px;letter-spacing:.26em;opacity:.6;}

/* ------------------------------------------------------------------ MOVIL */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:48px;padding:64px 22px;}
  .hero-portrait{justify-self:center;max-width:300px;}
  .hero-portrait:after{background:linear-gradient(to bottom,rgba(21,21,21,.18) 0%,rgba(21,21,21,0) 40%,rgba(21,21,21,.45) 100%);}
  .page-head-split{grid-template-columns:1fr;gap:38px;}
  .page-head-split .portrait{justify-self:start;max-width:260px;}
  .reviews-grid,.value-grid,.contact-grid{grid-template-columns:1fr;}
  .value-grid{gap:44px;}
  .contact-direct{border-left:none;padding-left:0;border-top:1px solid var(--line-light);padding-top:44px;}
  nav ul{gap:20px;}
  nav a{font-size:10.5px;letter-spacing:.12em;}
  .nav-wrap{padding:16px 20px;flex-wrap:wrap;gap:16px;}
  section{padding:76px 22px;}
  .page-head{padding:76px 22px 60px;}
  .panel{padding:48px 24px;}
  .footer-contact{text-align:left;}
  .btn-ghost{margin-left:0;display:block;width:fit-content;margin-top:8px;}
}

/* ------------------------------------------------------- LOGO (aplicaciones) */
.brand-iso{display:flex;align-items:center;text-decoration:none;}
.brand-iso img{height:36px;width:auto;}
.hero-logo{margin:0 0 34px;}
.hero-logo img{width:100%;max-width:390px;height:auto;}
.footer-logo{width:auto;height:124px;}
@media (max-width:900px){
  .brand-iso img{height:30px;}
  .hero-logo img{max-width:270px;}
  .footer-logo{height:104px;}
}

/* ------------- HERO CENTRADO EN MOVIL (el lockup es una composicion simetrica) */
@media (max-width:900px){
  .hero-inner > div:first-child{text-align:center;}
  .hero-logo img{margin-left:auto;margin-right:auto;}
  .hero p.tagline{margin-left:auto;margin-right:auto;}
  .hero-inner .btn-ghost{margin-left:auto;margin-right:auto;}
  .hero-portrait{justify-self:center;}
}
