:root{--scarlett-red:#CD202B;--scarlett-wine:#790E17;--scarlett-charcoal:#262620;--scarlett-black:#000;--scarlett-white:#fff;--scarlett-cream:#F6F0EA;--scarlett-soft:#FAF7F4;--scarlett-muted:#BFBDB8;--page-width:1220px;--font:'Montserrat',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:280px;background:var(--scarlett-white);color:var(--scarlett-charcoal);font-family:var(--font);font-size:16px;line-height:1.65;overflow-x:clip}
img,svg,video{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--scarlett-red)}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--scarlett-red);outline-offset:4px}
.wrap{width:min(calc(100% - 64px),var(--page-width));margin:0 auto}
.visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;overflow:hidden!important;width:1px!important;height:1px!important;white-space:nowrap!important}
.skip-link{position:absolute;top:-60px;left:16px;z-index:9999;background:#fff;color:#111;padding:9px 16px}.skip-link:focus{top:12px}
.site-header{background:var(--scarlett-charcoal);color:#fff;position:relative;z-index:50}
.nav-shell{min-height:80px;display:flex;gap:38px;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;flex:none}.brand .custom-logo-link{display:flex;align-items:center}.brand .custom-logo{display:block;width:var(--scarlett-logo-desktop,280px);height:auto;max-height:112px;max-width:100%;object-fit:contain}
.brand-fallback{font-family:Georgia,serif;color:#e5bbc0;font-style:italic;font-size:30px;white-space:nowrap;line-height:.95}.brand-fallback span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:2.4px;color:#fff;font-family:var(--font);font-style:normal;text-align:center;margin-top:5px}
.main-nav{margin-left:auto}.menu-list{list-style:none;padding:0;margin:0;display:flex;gap:clamp(13px,2.4vw,34px);align-items:center}.menu-list a{display:block;padding:23px 0;font-size:12px;font-weight:700;line-height:1.35;letter-spacing:.025em;color:#fff}.menu-list a:hover,.menu-list a:focus{color:#ff858c}
.menu-toggle{display:none;align-items:center;gap:12px;border:1px solid var(--scarlett-red);border-radius:9px;background:transparent;color:#fff;font-weight:700;font-size:13px;letter-spacing:.05em;padding:11px 15px}
.menu-toggle-lines{display:flex;flex-direction:column;gap:5px}.menu-toggle-lines i{width:25px;height:3px;display:block;border-radius:4px;background:#fff;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] .menu-toggle-lines i:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-lines i:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle-lines i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.contact-strip{background:var(--scarlett-wine);color:#fff;position:relative;z-index:40}.contact-inner{display:flex;min-height:42px;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap}.contact-inner a,.contact-title{font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.035em}.contact-title{margin-right:40px;letter-spacing:.09em}.contact-inner a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.contact-note{font-size:10px;font-weight:650;line-height:1.4;letter-spacing:.06em;opacity:.88}.contact-action{white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:15px 25px;border:1px solid transparent;font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1.4;text-align:center;white-space:normal;transition:background .18s,border-color .18s,transform .18s;color:#fff}
.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--scarlett-red);color:#fff}.btn-red:hover{background:#a91722;color:#fff}.btn-outline-light{border-color:#eee;background:transparent;color:#fff}.btn-outline-light:hover{background:#fff;color:var(--scarlett-charcoal)}.btn-wine{background:var(--scarlett-wine);color:#fff}.btn-wine:hover{background:#a51622;color:#fff}.btn-light{background:#fff;color:var(--scarlett-wine)}.btn-light:hover{background:#f2ddd9;color:var(--scarlett-wine)}
/* Portada: en escritorio presenta contenido e imagen lateral; en móvil respeta el orden editorial elegido por Scarlett. */
.hero{background:var(--scarlett-charcoal);color:#fff;overflow:hidden}.hero-grid{min-height:660px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:'headline art' 'welcome art' 'actions art';column-gap:28px;align-content:center;position:relative}
.hero-headline{grid-area:headline;padding-top:60px;z-index:1;align-self:end}.hero h1{font-size:clamp(52px,5.4vw,84px);font-weight:900;line-height:1.05;letter-spacing:.01em;color:var(--scarlett-red);margin:0 0 22px;max-width:670px;overflow-wrap:break-word}
.hero-welcome{grid-area:welcome;z-index:2;align-self:start;max-width:590px}.hero-welcome h2{font-weight:400;font-size:clamp(22px,2.6vw,33px);line-height:1.35;margin:0 0 20px}.hero-welcome p{font-size:15px;line-height:1.95;color:#d5d4d0;max-width:590px;margin:0}
.hero-actions{grid-area:actions;display:flex;align-items:flex-start;gap:15px;flex-wrap:wrap;z-index:2;padding:35px 0 60px}.hero-media{grid-area:art;position:relative;align-self:stretch;min-height:560px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;isolation:isolate}.hero-media.has-photo .hero-photo{width:100%;height:100%;max-height:670px;object-fit:contain;object-position:center bottom;display:block;pointer-events:none}.hero-media.is-empty{background:transparent}.hero-media-decoration{position:absolute;inset:12% 5% 8% 12%;display:grid;place-items:center;opacity:.65}.hero-media-decoration span{position:absolute;border:1px solid rgba(205,32,43,.35);border-radius:55% 45% 65% 35%;width:70%;height:82%;transform:rotate(-22deg)}.hero-media-decoration span:nth-child(2){width:46%;height:68%;transform:rotate(35deg);border-color:rgba(121,14,23,.5)}.hero-media-decoration span:nth-child(3){width:89%;height:52%;transform:rotate(60deg);border-color:rgba(205,32,43,.18)}
.section{padding:105px 0}.section-cream{background:var(--scarlett-cream)}.section-white{background:#fff}.section-charcoal{background:var(--scarlett-charcoal);color:#fff}.section-soft{background:var(--scarlett-soft)}
.eyebrow{color:var(--scarlett-red);font-weight:800;font-size:11px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:19px}.section h2{font-size:clamp(30px,3.2vw,49px);line-height:1.14;letter-spacing:-.025em;margin:0 0 28px;font-weight:800;color:var(--scarlett-wine)}.section p{line-height:1.9}.section-heading{max-width:830px;margin:0 0 48px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading p{font-size:17px;margin:0;color:#5d5b57}
.project-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.project-heading h2{max-width:510px}.project-copy p{font-size:17px;margin-top:0;color:#35322e}.quote{margin:32px 0 0;padding:21px 0 21px 22px;font-size:clamp(18px,2vw,25px);font-family:Georgia,serif;font-style:italic;line-height:1.5}.quote-wine{border-left:4px solid var(--scarlett-red);color:var(--scarlett-wine)}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.service-card{border:1px solid #e5dcda;background:#fff;display:flex;flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s}.service-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(38,38,32,.09)}.service-image{height:225px;overflow:hidden;background:linear-gradient(135deg,#2b2a27 0%,#391a1d 65%,#790e17 150%);display:flex;justify-content:center;align-items:center;position:relative}.service-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.service-image.is-empty:before{content:'';position:absolute;width:67%;aspect-ratio:1;border:1px solid rgba(255,255,255,.14);border-radius:50%;transform:translateX(38%) scale(1.3)}.service-image.is-empty:after{content:'';position:absolute;width:36%;height:110%;border-left:1px solid rgba(205,32,43,.45);transform:rotate(35deg)}.service-image-symbol{position:relative;color:#fff4;font-family:Georgia,serif;font-size:92px;z-index:1}.service-body{padding:30px 31px 31px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.service-body h3{font-size:24px;line-height:1.23;margin:0 0 13px;color:var(--scarlett-charcoal);font-weight:800}.service-body p{font-size:14px;color:#55534f;margin:0 0 27px}.service-body .btn{margin-top:auto;font-size:11px;min-height:48px}.service-note{text-align:center;color:#68615e;font-size:12px;max-width:830px;margin:30px auto 0}
.about-grid{display:grid;grid-template-columns:44% 1fr;gap:85px;align-items:center}.about-photo-wrap{min-height:530px;background:linear-gradient(145deg,#54141a,#282622 70%);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.portrait-photo{width:100%;height:100%;max-height:640px;object-fit:cover;object-position:center top}.portrait-decoration{height:72%;width:65%;background:radial-gradient(ellipse at center,rgba(205,32,43,.21),transparent 63%);border:1px solid #ad3137;border-radius:65% 35% 48% 52%;transform:rotate(-17deg);position:absolute;bottom:-20%}.about-copy h2{color:#fff}.about-copy h3{font-size:26px;margin:0 0 3px}.about-copy .professional-line{color:#eeb5b7;font-size:13px;margin-top:0}.about-copy p{color:#d8d5d0}.fine-line{height:2px;width:76px;background:var(--scarlett-red);margin:23px 0}.about-footnote{font-family:Georgia,serif;font-style:italic;font-size:19px}
.why-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center}.why-grid p{color:#45403e}.formation-photo{aspect-ratio:4/5;background:linear-gradient(135deg,#eed6cc,#7a2730);display:grid;place-items:center;overflow:hidden}.formation-photo img{width:100%;height:100%;object-fit:cover}.formation-symbol{font-family:Georgia,serif;font-size:160px;color:#ffffff50}
.philosophy-section .section-heading{margin-bottom:36px}.mission{background:var(--scarlett-charcoal);color:#fff;text-align:center;padding:43px 55px;max-width:960px;margin:0 auto 55px}.mission .eyebrow{color:#ffa3a8;margin-bottom:9px}.mission p{font:italic clamp(20px,2.6vw,31px)/1.5 Georgia,serif;margin:0}.values-subtitle{text-align:center;font-size:24px;color:var(--scarlett-wine);margin:0 0 30px}.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.value-card{background:#fff;padding:35px 19px;text-align:center;border-top:3px solid var(--scarlett-red)}.value-icon{display:block;color:var(--scarlett-wine);font:40px/1.2 Georgia,serif;margin-bottom:20px}.value-card h4{letter-spacing:.07em;font-size:13px;color:var(--scarlett-wine);margin:0 0 8px}.value-card p{font-size:13px;margin:0;line-height:1.65}.values-outro{text-align:center;font:italic 21px Georgia,serif;color:var(--scarlett-wine);margin:40px 0 0}
.ribera-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center}.ribera-art{aspect-ratio:1/1;background:linear-gradient(145deg,#f1ded8,#8c4b47);position:relative;overflow:hidden;display:grid;place-items:center}.ribera-art img{height:100%;width:100%;object-fit:cover}.ribera-water{font-size:200px;color:#fff8;line-height:1}.ribera-grid p{color:#45403e}
.section-contact{background:linear-gradient(130deg,#790E17,#541017);color:#fff;text-align:center;padding:91px 0 98px}.section-contact .eyebrow{color:#ffb5b5}.section-contact h2{color:#fff;margin-bottom:16px}.contact-cta{max-width:830px}.contact-cta p{max-width:700px;margin:0 auto 30px;font-size:17px}.contact-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.site-footer{background:#1d1d19;color:#f4f3f1;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.footer-grid h2{font-size:15px;margin:0 0 15px;color:#fff}.footer-grid p{font-size:13px;color:#d4cec9;max-width:320px}.footer-caption{font-size:11px!important;letter-spacing:.08em}.footer-wordmark{font:italic 31px Georgia,serif;color:#dca1a8}.footer-wordmark small{font:10px var(--font);display:block;letter-spacing:2px;text-transform:uppercase;color:#fff}.footer-logo{max-height:95px;width:auto;max-width:240px;object-fit:contain}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin-bottom:7px}.footer-grid a{color:#e5dedb;font-size:13px}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-social,.footer-legal{display:flex;gap:10px 20px;flex-wrap:wrap;margin-top:16px}.footer-bottom{font-size:11px;color:#aca7a3;border-top:1px solid #ffffff24;margin-top:45px;padding-top:16px}
.page-main{padding-top:85px;padding-bottom:105px;min-height:55vh}.page-heading{max-width:860px}.page-heading h1{font-size:clamp(36px,4vw,62px);line-height:1.1;color:var(--scarlett-wine);margin:0 0 30px}.content-page{max-width:980px}.entry-content{overflow-wrap:anywhere}.entry-content a{color:var(--scarlett-wine);text-decoration:underline}.entry-content img{height:auto}.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.post-card{padding:35px;border:1px solid #e9dddd}.post-card h2{font-size:24px}.text-link{color:var(--scarlett-wine)}
@media (max-width:1120px){.wrap{width:min(calc(100% - 48px),var(--page-width))}.nav-shell{gap:24px}.menu-list{gap:15px}.menu-list a{font-size:11px}.hero h1{font-size:clamp(46px,5.4vw,68px)}.hero-grid{min-height:600px}.project-layout,.why-grid,.ribera-grid,.about-grid{gap:48px}}
@media (max-width:1024px){
  .nav-shell{min-height:86px}.menu-toggle{display:inline-flex;margin-left:auto;flex-shrink:0}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--scarlett-charcoal);border-top:1px solid #790E17;box-shadow:0 18px 25px #0004;max-height:calc(100dvh - 92px);overflow-y:auto;z-index:100}.main-nav.is-open{display:block}.menu-list{width:min(calc(100% - 48px),var(--page-width));margin:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 14px}.menu-list li{border-bottom:1px solid #790e1788}.menu-list a{padding:16px 10px;font-size:13px}.contact-title{margin-right:12px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:10px;min-height:580px}.hero-headline{padding-top:50px}.hero h1{font-size:clamp(42px,5.7vw,62px)}.hero-welcome p{font-size:14px}.hero-actions{gap:12px}.hero .btn{padding:15px 18px;font-size:11px}.hero-media{min-height:520px}.about-grid{grid-template-columns:42% 1fr}
}
@media (max-width:767px){
  body{font-size:15px}.wrap{width:calc(100% - 36px)}
  .nav-shell{min-height:94px;gap:12px}.brand .custom-logo{width:min(52vw,var(--scarlett-logo-mobile,190px));max-width:100%;max-height:88px}.brand-fallback{font-size:22px}.brand-fallback span{font-size:9px}.menu-toggle{padding:11px 14px;font-size:12px}.menu-toggle-lines i{width:23px}.main-nav{top:100%}
  .contact-inner{gap:4px 17px;padding:9px 0;text-align:center;min-height:75px}.contact-title{flex-basis:100%;margin:0;font-size:11px}.contact-inner a{font-size:12px}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:'headline' 'art' 'actions' 'welcome';min-height:0;row-gap:0;padding-top:40px;padding-bottom:62px}
  .hero-headline{padding:0;align-self:auto;z-index:2}.hero h1{font-size:clamp(35px,10vw,54px);line-height:1.06;letter-spacing:-.015em;max-width:100%;margin:0 0 4px;overflow-wrap:normal;word-break:normal}
  .hero-media{min-height:340px;height:min(90vw,470px);width:100%;overflow:visible;margin:0;align-self:auto}.hero-media.has-photo .hero-photo{max-height:100%;height:100%;width:100%;object-fit:contain;object-position:center bottom}
  .hero-media-decoration{inset:5% 10% 0}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;padding:3px 0 40px;width:100%}.hero-actions .btn{width:100%;font-size:12px;min-height:59px}
  .hero-welcome{max-width:none;text-align:center}.hero-welcome h2{font-size:clamp(23px,6.1vw,30px);line-height:1.34;margin-bottom:23px}.hero-welcome p{font-size:15px;line-height:1.85;color:#e0dbd7}
  .section{padding:68px 0}.section h2{font-size:clamp(29px,7.7vw,41px)}.project-layout,.about-grid,.why-grid,.ribera-grid{grid-template-columns:1fr;gap:27px}.project-copy p{font-size:15px}.section-heading{margin-bottom:33px}.section-heading p{font-size:15px}
  .service-grid{grid-template-columns:1fr;gap:22px}.service-image{height:190px}.service-body{padding:25px 23px 26px}.service-body h3{font-size:22px}.service-body .btn{width:100%}.about-photo-wrap{min-height:330px;max-height:470px;order:2}.about-copy{order:1}.about-copy h3{font-size:23px}.why-grid .formation-photo{min-height:260px;max-height:420px;width:100%;aspect-ratio:4/3}.mission{padding:29px 23px;margin-bottom:39px}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.value-card{padding:24px 14px}.value-icon{margin-bottom:10px;font-size:34px}.ribera-art{max-height:380px;aspect-ratio:16/11}.section-contact{padding:73px 0}.contact-buttons{flex-direction:column}.contact-buttons .btn{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:26px}.site-footer{padding-top:51px}.footer-bottom{margin-top:28px}.post-list{grid-template-columns:1fr}.page-main{padding-top:65px;padding-bottom:70px}
}
@media (max-width:365px){.wrap{width:calc(100% - 26px)}.nav-shell{min-height:82px}.brand .custom-logo{width:min(48vw,var(--scarlett-logo-mobile,190px))}.menu-toggle{padding:9px 10px;font-size:11px}.hero h1{font-size:33px}.hero-media{height:330px;min-height:280px}.hero-welcome p{font-size:14px}.values-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* v1.3: la fotografía de seda flota sobre el carbón, sin los límites verticales
   de una tarjeta. El PNG transparente hace el desvanecimiento de tela inferior.
   El texto y los botones siempre se dibujan por encima del tejido. */
@media (min-width:768px){
  .hero-grid{isolation:isolate}
  .hero-media.has-photo{overflow:visible;z-index:0}
  .hero-media.has-photo .hero-photo{
    position:absolute;
    right:0;
    bottom:0;
    height:auto;
    max-height:none;
    width:var(--scarlett-hero-photo-size,135%);
    max-width:none;
    object-fit:contain;
    object-position:right bottom;
    transform:translateX(var(--scarlett-hero-photo-shift,-5px));
    transform-origin:right bottom;
  }
  .hero-headline,.hero-welcome,.hero-actions{position:relative;z-index:2}
}
/* En celular mantenemos la figura completa, sin superponerla al título. */
@media (max-width:767px){
  .hero-media.has-photo{overflow:visible;z-index:0;display:flex;justify-content:center;align-items:flex-end;height:min(72vw,360px);min-height:250px}
  .hero-media.has-photo .hero-photo{
    width:100%;max-width:100%;height:100%;max-height:100%;
    object-fit:contain;object-position:center bottom;
    transform:none;position:static;
  }
}


/* v1.3.1 — composición móvil: titular entre las telas, foto más grande,
   sin modificar el escritorio o tablet. */
@media (max-width:767px){
  .hero-grid.has-hero-image{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows: minmax(0,1fr) auto auto;
    grid-template-areas:'stage' 'actions' 'welcome';
    padding-top:10px;
    row-gap:0;
  }
  .hero-grid.has-hero-image .hero-media.has-photo{
    grid-area:stage;
    position:relative;
    min-height:0;
    width:100%;
    height:clamp(465px,133vw,600px);
    overflow:visible;
    z-index:0;
    align-self:stretch;
    justify-content:flex-end;
    isolation:isolate;
  }
  .hero-grid.has-hero-image .hero-media.has-photo .hero-photo{
    position:absolute;
    display:block;
    width:clamp(510px,173vw,770px);
    height:auto;
    max-width:none;
    max-height:none;
    right:-5px;
    bottom:0;
    object-fit:contain;
    object-position:right bottom;
    transform:none;
    pointer-events:none;
  }
  .hero-grid.has-hero-image .hero-headline{
    grid-area:stage;
    position:relative;
    z-index:3;
    align-self:start;
    justify-self:start;
    margin-top:clamp(23px,7vw,41px);
    padding:0;
    max-width:100%;
    pointer-events:none;
  }
  .hero-grid.has-hero-image .hero-headline::before{
    content:'';position:absolute;z-index:-1;
    inset:-24px 0 -32px -25px;filter:blur(18px);
    background:linear-gradient(90deg, rgba(38,38,32,.8), rgba(38,38,32,.35) 62%, transparent);
    pointer-events:none;
  }
  .hero-grid.has-hero-image h1{
    font-size:clamp(35px,9.5vw,52px);
    line-height:1.06;
    margin:0;
    width:100%;
    max-width:100%;
    text-wrap:balance;
  }
  .hero-grid.has-hero-image .hero-actions{
    grid-area:actions;
    position:relative;z-index:2;
    padding:9px 0 35px;
  }
}
@media (max-width:365px){
 .hero-grid.has-hero-image .hero-media.has-photo{height:clamp(430px,138vw,505px)}
 .hero-grid.has-hero-image .hero-media.has-photo .hero-photo{width:clamp(480px,174vw,640px);right:-3px}
 .hero-grid.has-hero-image h1{font-size:clamp(31px,9.2vw,35px)}
 .hero-grid.has-hero-image .hero-headline{margin-top:clamp(21px,6.5vw,31px)}
}

/* v1.3.4: sección de enlaces legales bajo contacto; sin afectar la portada. */
.footer-legal-section{margin-top:26px}.footer-legal-section .footer-legal{margin-top:0}
