@charset "UTF-8";
:root{--paper:#faf8f3;--cream:#f0e8dc;--ink:#211e1e;--muted:#716960;--brand-black:#000000;--brand-gold:#B99A64;--brand-red:#A35051;--line:#ddd4c7;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);letter-spacing:-.047em;line-height:1.12}em{font-weight:500;color:var(--brand-gold)}h2{font-size:clamp(34px,4.1vw,54px);margin-bottom:27px}p{margin-bottom:22px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brand-red);outline-offset:5px}::selection{background:#e9d8ad}.section-shell{width:min(1320px,100%);margin:auto;padding-left:64px;padding-right:64px}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;top:-80px;left:16px;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}
.site-header{height:106px;width:min(1320px,100%);padding:0 64px;display:flex;align-items:center;justify-content:space-between;margin:auto;gap:30px;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--serif);font-weight:600;font-size:39px;letter-spacing:-2.1px}.brand-dot{color:var(--brand-red)}.brand-caption{font-size:8px;font-weight:650;letter-spacing:2.7px;margin-top:11px}.desktop-nav{display:flex;gap:32px;font-size:13px;font-weight:500}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--ink);transition:width .25s}.desktop-nav a:hover:after{width:100%}.header-cta{font-size:13px;border-bottom:1px solid var(--ink);padding:8px 0;font-weight:600}.header-cta span{margin-left:15px;font-size:19px}.menu-toggle{display:none;width:40px;height:40px;border:0;background:none;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}.mobile-nav{border-bottom:1px solid var(--line);padding:20px 25px;background:var(--paper)}.mobile-nav a{display:block;padding:10px 0;font-size:15px}
.hero{display:flex;gap:45px;padding-top:68px;padding-bottom:65px;align-items:center;min-height:680px}.hero-copy{flex:1;max-width:650px;padding-bottom:4px}.eyebrow,.section-label{font-size:10px;letter-spacing:2.1px;font-weight:600;line-height:1.5;margin-bottom:28px}.eyebrow{display:flex;align-items:center;gap:10px}.tiny-seed{display:inline-block;width:7px;height:12px;border:1px solid var(--brand-red);border-radius:50%;transform:rotate(35deg)}.hero h1{font-size:clamp(49px,5.8vw,79px);margin:0 0 27px;letter-spacing:-.049em}.hero h1 em{white-space:nowrap}.hero-description{font-size:15px;color:var(--muted);max-width:380px;line-height:1.9;margin-bottom:31px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 22px;font-size:12px;font-weight:550;border:1px solid transparent;transition:background .2s,transform .2s;min-height:49px}.button-primary{background:var(--brand-black);color:#fff}.button-primary:hover{background:#803d40;transform:translateY(-2px)}.button-primary span{font-size:20px;line-height:1}.button-secondary{border-color:var(--line);background:transparent;color:var(--ink)}.button-secondary:hover{background:var(--cream)}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:12px;font-weight:550;border-bottom:1px solid var(--line);padding:7px 0}.text-link:hover{border-color:var(--ink)}.text-link span{font-size:16px}.hero-bottom{margin-top:56px;display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.2px;color:var(--muted)}.origin-dot{width:7px;height:7px;display:inline-block;background:var(--brand-gold);border-radius:50%}.hero-art{position:relative;flex:0 0 40%;padding-right:28px}.hero-photo{overflow:hidden;border-radius:210px 210px 3px 3px;height:490px;position:relative;background:var(--brand-black)}.hero-photo img{width:100%;height:100%;transition:transform 1.1s}.hero-art:hover .hero-photo img{transform:scale(1.035)}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#211e1e80)}.hero-photo figcaption{position:absolute;bottom:14px;left:20px;z-index:1;font-size:9px;color:#fff;opacity:.85}.photo-side-note{position:absolute;right:-3px;top:48%;writing-mode:vertical-rl;letter-spacing:2.5px;font-size:8px;color:var(--muted)}.quality-seal{position:absolute;top:47%;left:-47px;width:117px;height:117px;border-radius:50%;background:var(--brand-red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg);box-shadow:0 0 0 7px var(--paper)}.quality-seal>span{font-size:6.3px;letter-spacing:1.2px}.quality-seal strong{font-family:var(--serif);font-size:43px;font-weight:500;line-height:1.2}.quality-seal strong span{font-size:26px;vertical-align:top}.quality-seal small{font-size:6.5px;letter-spacing:1px}.value-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:38px;padding:25px 32px;font-size:11px;letter-spacing:.3px;color:var(--muted)}.value-strip i{font-style:normal;color:var(--brand-red);font-size:14px}
.story-section{display:flex;gap:100px;padding-top:100px;padding-bottom:105px}.story-aside{flex:0 0 34%}.story-monogram{font-family:var(--serif);font-style:italic;font-size:250px;line-height:.8;color:#cbb788;margin-top:58px;position:relative;width:250px}.story-monogram:after{content:'';width:155px;height:155px;border:1px solid #b99a64;border-radius:50%;position:absolute;top:50px;left:90px;z-index:-1}.story-monogram span{font-family:var(--sans);position:absolute;bottom:-26px;right:9px;font-size:9px;letter-spacing:1.4px;line-height:1.7;font-style:normal;color:var(--brand-gold);text-transform:uppercase}.story-copy{max-width:560px}.story-lead{font-size:18px;line-height:1.75}.story-copy>p:not(.story-lead),.origin-copy>p:not(.story-lead){font-size:14px;line-height:1.95;color:var(--muted)}.story-copy h2{margin-bottom:32px}.story-copy .text-link{margin-top:5px}.portfolio-section{background:var(--cream);padding-top:78px;padding-bottom:49px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:47px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:302px;color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:5px}.section-heading .section-label{margin-bottom:22px}.portfolio-layout{display:flex;gap:52px;align-items:flex-start}.beans-photo{flex:0 0 44%;position:relative;background:#ded4c5;overflow:hidden}.beans-photo>img{width:100%;height:453px}.beans-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#211e1ee0,transparent 60%);pointer-events:none}.photo-label{position:absolute;bottom:46px;left:30px;z-index:1;color:var(--paper)}.photo-label span{display:block;font-size:8px;letter-spacing:2px;margin-bottom:12px}.photo-label strong{font-family:var(--serif);font-size:31px;line-height:1.2;font-weight:500;letter-spacing:-.7px}.beans-photo figcaption{position:absolute;bottom:13px;left:30px;font-size:8px;color:#f0e8dc;z-index:1}.coffee-collection{flex:1;border-top:1px solid #d1c5b1}.coffee-item{border-bottom:1px solid #d1c5b1}.coffee-item summary{list-style:none;display:flex;align-items:center;gap:17px;padding:22px 0;cursor:pointer}.coffee-item summary::-webkit-details-marker{display:none}.coffee-number{font-size:10px;color:#85796d}.coffee-item summary>div{flex:1}.coffee-tag{font-size:8px;font-weight:550;letter-spacing:1.4px;color:var(--muted)}.coffee-item h3{font-family:var(--serif);font-size:25px;line-height:1.2;margin:8px 0 0;letter-spacing:-.5px}.accordion-icon{width:16px;height:16px;position:relative}.accordion-icon:before,.accordion-icon:after{content:'';height:1px;width:12px;background:var(--ink);position:absolute;top:7px;left:2px}.accordion-icon:after{transform:rotate(90deg);transition:transform .2s}.coffee-item[open] .accordion-icon:after{transform:rotate(0)}.coffee-content{padding:0 0 22px 32px;font-size:13px;color:var(--muted)}.coffee-content>p{line-height:1.8;margin-bottom:15px}.coffee-content strong{font-weight:550;color:var(--ink)}.coffee-chips{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.coffee-chips span{font-size:9px;border:1px solid #d6c9b3;color:var(--brand-black);padding:4px 10px;border-radius:20px}.coffee-content .technical-note{font-size:10px;line-height:1.7;margin-bottom:12px}.coffee-content .text-link{color:var(--ink);border-color:#c4b18c;font-size:11px}.portfolio-footnote{font-size:10px;line-height:1.8;color:var(--muted);max-width:740px;margin:27px 0 0}
.quality-section{background:var(--brand-black);color:var(--paper);position:relative;overflow:hidden}.quality-inner{display:flex;gap:85px;padding-top:85px;padding-bottom:83px;position:relative;z-index:1}.quality-heading{flex:1}.quality-heading .section-label{color:#c6a96f}.quality-heading h2{font-size:43px;line-height:1.16}.quality-heading em{color:#c7ad78}.quality-heading>p:last-child{font-size:13px;line-height:1.9;color:#ded4c5;max-width:380px;margin-bottom:0}.quality-values{flex:0 0 42%}.quality-values article{display:flex;gap:23px;padding:0 0 21px;margin-bottom:23px;border-bottom:1px solid #6d5746}.quality-values article:last-child{margin-bottom:0}.quality-values article>span{font-size:10px;color:#aeb59f;padding-top:3px}.quality-values h3{font-size:15px;font-weight:500;line-height:1.4;margin-bottom:10px}.quality-values p{font-size:12px;line-height:1.85;color:#ded4c5;margin:0}.quality-signature{position:absolute;right:37px;bottom:-29px;font-family:var(--serif);font-size:100px;font-style:italic;letter-spacing:-5px;color:#cfb06e;opacity:.045;white-space:nowrap}.origin-section{display:flex;gap:85px;padding-top:93px;padding-bottom:90px}.origin-section>div{flex:1}.origin-section h2{font-size:43px}.origin-copy{padding-top:38px}.gallery-note{display:flex;gap:18px;padding-top:20px;margin-top:30px;border-top:1px solid var(--line);align-items:flex-start}.gallery-note p{font-size:10px;line-height:1.9;color:var(--muted);margin:0}.gallery-note strong{font-weight:550;color:var(--ink)}.note-mark{font-size:25px;color:var(--brand-red);line-height:1.2}
.contact-section{background:#f0e8dc;padding-top:74px;padding-bottom:75px}.contact-layout{display:flex;gap:85px;width:min(1192px,100%);margin:auto}.contact-intro{flex:0 0 36%}.contact-intro h2{font-size:49px;line-height:1.15;margin-bottom:23px}.contact-intro>p:not(.section-label){font-size:13px;color:var(--muted);line-height:1.85}.contact-card{flex:1}.channel-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #d1c5b1;padding:13px 0;font-size:11px}.channel-row strong{font-weight:550}.channel-row span:last-child{color:var(--muted)}.contact-channels{margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field label{font-size:10px;font-weight:550;letter-spacing:.15px}.form-field label span{color:var(--muted);font-weight:400}.form-field input,.form-field select,.form-field textarea,.draft-area{background:#f8f4ed;border:1px solid #cfc8bb;border-radius:0;padding:12px 13px;color:var(--ink);width:100%;font-size:12px;outline:none;min-height:43px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.draft-area:focus{border-color:var(--brand-black);box-shadow:0 0 0 1px var(--brand-black)}.form-field input::placeholder,.form-field textarea::placeholder{color:#908476}.form-field textarea{resize:vertical;min-height:110px}.full-width{grid-column:1/-1}.field-hint{font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 0}.contact-card .button{margin-top:20px}.inquiry-preview{margin-top:22px;border-top:1px solid #cfc8bb;padding-top:20px}.inquiry-preview h3{font-family:var(--serif);font-size:23px;margin:0 0 12px}.inquiry-preview textarea{font-size:11px;line-height:1.7;min-height:180px;resize:vertical;background:var(--paper);border:1px solid #cfc8bb;padding:12px;width:100%;color:var(--ink)}.draft-actions{display:flex;gap:12px;flex-wrap:wrap}.draft-actions .button{margin-top:10px}#form-status{font-size:11px;color:var(--brand-black);line-height:1.8;min-height:18px;margin:12px 0 0}
.site-footer{padding-top:55px;padding-bottom:23px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}.footer-brand .brand-name{font-size:34px}.footer-brand .brand-caption{font-size:7px}.site-footer>div:first-child>p{font-size:10px;color:var(--muted);line-height:1.8;margin:20px 0 0}.footer-links{display:flex;gap:28px;align-items:flex-start;padding-top:14px;font-size:11px}.footer-links a:hover{text-decoration:underline}.footer-bottom{flex:0 0 100%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:21px;margin-top:22px;font-size:9px;color:var(--muted)}
@media(min-width:1500px){.hero{gap:65px}.hero-copy{max-width:690px}}@media(max-width:1100px){.section-shell{padding-left:40px;padding-right:40px}.site-header{padding:0 40px}.desktop-nav{gap:22px}.hero{gap:27px;padding-top:50px;padding-bottom:55px;min-height:600px}.hero h1{font-size:61px}.hero-art{flex-basis:39%;padding-right:20px}.hero-photo{height:435px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:10px}.hero-actions .button{font-size:10px;padding:13px 16px}.quality-seal{width:103px;height:103px;left:-36px}.quality-seal strong{font-size:38px}.photo-side-note{right:-2px}.value-strip{gap:24px;font-size:10px}.story-section{gap:55px}.portfolio-layout{gap:34px}.beans-photo{flex-basis:42%}.quality-inner,.origin-section,.contact-layout{gap:50px}.quality-heading h2{font-size:39px}.contact-intro h2{font-size:43px}.coffee-item h3{font-size:23px}}
@media(max-width:800px){.section-shell{padding-left:28px;padding-right:28px}.site-header{padding:0 28px;height:87px;gap:20px}.desktop-nav{gap:17px;font-size:11px}.header-cta{font-size:11px}.brand-name{font-size:33px}.brand-caption{font-size:7px;letter-spacing:2px}.hero{gap:22px;padding-top:45px;min-height:550px}.hero h1{font-size:50px}.hero-description{font-size:13px;line-height:1.85}.hero-art{flex-basis:41%;padding-right:17px}.hero-photo{height:360px}.quality-seal{width:90px;height:90px;left:-27px}.quality-seal strong{font-size:32px}.quality-seal>span,.quality-seal small{font-size:5.5px;letter-spacing:.7px}.quality-seal strong span{font-size:22px}.hero-bottom{margin-top:25px;font-size:9px}.hero-actions{gap:8px;align-items:flex-start;flex-direction:column}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:22px}.value-strip{gap:17px;padding:20px;flex-wrap:wrap;font-size:9px}.value-strip i:last-of-type,.value-strip span:last-child{display:none}.story-section{padding-top:75px;padding-bottom:75px;gap:30px}.story-aside{flex-basis:30%}.story-monogram{font-size:180px;width:180px}.story-monogram:after{width:120px;height:120px;top:20px;left:40px}.story-monogram span{right:0;bottom:-38px;font-size:8px}.story-copy h2{font-size:37px}.story-lead{font-size:16px}.story-copy>p:not(.story-lead){font-size:12px}.section-heading{gap:30px}.section-heading h2{font-size:37px}.section-heading>p{max-width:240px;font-size:12px}.portfolio-layout{gap:25px}.beans-photo{flex-basis:40%}.beans-photo img{height:440px}.photo-label{left:20px;bottom:45px}.photo-label strong{font-size:25px}.photo-label span{font-size:6px;letter-spacing:1.5px}.beans-photo figcaption{left:15px;right:10px;line-height:1.6}.coffee-item h3{font-size:21px}.coffee-item summary{gap:12px}.coffee-content{padding-left:24px;font-size:12px}.quality-inner{gap:30px;padding-top:65px;padding-bottom:65px}.quality-heading h2{font-size:33px}.quality-values{flex-basis:43%}.quality-values article{gap:15px}.quality-values p{font-size:11px}.origin-section{gap:35px;padding-top:70px;padding-bottom:70px}.origin-section h2{font-size:36px}.origin-copy{padding-top:30px}.contact-layout{gap:30px}.contact-intro{flex-basis:34%}.contact-intro h2{font-size:36px}.contact-intro>p:not(.section-label){font-size:12px}.form-grid{gap:14px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:nth-child(2){order:3;flex:0 0 100%;margin-top:-10px}.footer-links{gap:20px}}
@media(max-width:640px){html{scroll-padding-top:25px}.section-shell{padding-left:24px;padding-right:24px}.site-header{height:83px;padding:0 24px;gap:16px}.desktop-nav{display:none}.header-cta{margin-left:auto;font-size:10px}.header-cta span{margin-left:8px}.menu-toggle{display:block;margin-right:-9px}.brand-name{font-size:32px}.brand-caption{font-size:6px;letter-spacing:2px;margin-top:9px}.hero{flex-direction:column;align-items:stretch;gap:35px;padding-top:39px;padding-bottom:38px}.hero h1{font-size:clamp(47px,10.5vw,64px);margin-bottom:24px}.hero-description{font-size:13px;max-width:340px;margin-bottom:23px}.hero-actions{flex-direction:row;align-items:center;gap:17px}.hero-actions .button{font-size:10px;padding:13px 16px}.hero-actions .text-link{font-size:9px}.hero-bottom{margin-top:24px;font-size:9px}.hero-art{flex:auto;width:100%;padding:0 20px 0 28px}.hero-photo{height:365px;border-radius:190px 190px 2px 2px}.quality-seal{left:0;top:51%;width:103px;height:103px}.quality-seal strong{font-size:38px}.quality-seal>span,.quality-seal small{font-size:6px}.photo-side-note{right:0;font-size:7px;letter-spacing:2px}.value-strip{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;font-size:8px;text-align:center;padding:18px 24px}.value-strip i:nth-of-type(2){display:none}.value-strip i:last-of-type,.value-strip span:last-child{display:block}.story-section{padding-top:60px;padding-bottom:62px;gap:0;display:block}.story-aside .section-label{margin-bottom:26px}.story-monogram{display:none}.story-copy h2{font-size:41px;line-height:1.13;margin-bottom:25px}.story-lead{font-size:16px}.story-copy>p:not(.story-lead){font-size:13px}.story-copy .text-link{font-size:11px}.section-label{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}.portfolio-section{padding-top:56px;padding-bottom:36px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:40px;margin-bottom:22px}.section-heading>p{max-width:100%;font-size:12px}.portfolio-layout{flex-direction:column;gap:27px}.beans-photo{width:100%;flex:auto}.beans-photo img{height:290px}.photo-label{left:24px;bottom:38px}.photo-label strong{font-size:28px}.beans-photo figcaption{left:24px;font-size:7px}.coffee-collection{width:100%}.coffee-item h3{font-size:25px}.coffee-item summary{padding:20px 0;gap:16px}.coffee-content{font-size:12px;padding-left:29px}.portfolio-footnote{margin-top:22px;font-size:9px}.quality-inner{display:block;padding-top:56px;padding-bottom:54px}.quality-heading h2{font-size:38px}.quality-heading>p:last-child{font-size:12px;max-width:100%;margin-bottom:35px}.quality-values article{gap:21px;padding-bottom:21px;margin-bottom:21px}.quality-values h3{font-size:15px}.quality-values p{font-size:12px}.quality-signature{font-size:74px;right:9px;bottom:-23px}.origin-section{display:block;padding-top:58px;padding-bottom:57px}.origin-section h2{font-size:39px;margin-bottom:23px}.origin-copy{padding-top:0}.origin-copy>p:not(.story-lead){font-size:13px}.gallery-note{margin-top:23px}.contact-section{padding-top:55px;padding-bottom:50px}.contact-layout{flex-direction:column;gap:32px}.contact-intro{flex:auto}.contact-intro h2{font-size:42px}.contact-intro>p:not(.section-label){font-size:13px}.channel-row{font-size:11px}.form-grid{gap:17px 13px}.form-field input,.form-field select,.form-field textarea{font-size:14px;padding:12px 10px}.form-field label{font-size:10px}.field-hint{font-size:10px}.contact-card .button{font-size:11px}.site-footer{padding-top:42px;padding-bottom:23px}.footer-links{flex-direction:column;gap:11px;padding-top:3px;font-size:10px}.footer-bottom{font-size:8px;margin-top:7px;padding-top:17px}.site-footer>div:first-child>p{font-size:9px}.footer-brand .brand-name{font-size:31px}}
@media(max-width:360px){.section-shell{padding-left:19px;padding-right:19px}.site-header{padding:0 19px}.hero h1{font-size:44px}.hero-actions{gap:13px}.hero-actions .text-link{font-size:8px}.hero-photo{height:310px}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.section-heading h2,.story-copy h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}.hero-art:hover .hero-photo img{transform:none}}

/* Contacto directo por WhatsApp: disponible al recorrer toda la página. */
.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  z-index: 40;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-height: 54px;
  padding: 14px 21px;
  border-radius: 32px;
  background: #a35051;
  color: #fff;
  box-shadow: 0 5px 24px #211e1e26;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  transition: background .2s, transform .2s;
}
.whatsapp-float:hover {
  background: #803d40;
  transform: translateY(-2px);
}
.whatsapp-float svg {
  width: 25px;
  height: 25px;
  flex-shrink: 0;
}
.whatsapp-contact {
  margin-top: 22px;
  background: #a35051;
  color: #fff;
}
.whatsapp-contact:hover {
  background: #803d40;
}
.channel-row a {
  color: #a35051;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-footer {
  padding-bottom: 100px;
}
@media (max-width: 640px) {
  .whatsapp-float {
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    min-height: 48px;
    padding: 11px 16px;
    gap: 9px;
    font-size: 11px;
  }
  .whatsapp-float svg {
    width: 23px;
    height: 23px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-float:hover {
    transform: none;
  }
}

/* Logotipo oficial y jerarquía cromática Camargo Café. */
.brand-logo{display:block;width:118px;height:auto;object-fit:contain}.footer-brand .brand-logo{width:130px}.button-primary{background:var(--brand-red)}.button-primary:hover{background:#803d40}
@media(max-width:800px){.brand-logo{width:104px}.footer-brand .brand-logo{width:116px}}
@media(max-width:640px){.brand-logo{width:94px}.footer-brand .brand-logo{width:108px}}

/* Catálogo principal: cinco productos reales, con imágenes verticales completas. */
.products-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.product-card{min-width:0;display:flex;flex-direction:column;background:#f8f4ed;border-top:2px solid var(--brand-red)}
.product-figure{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--cream)}
.product-figure img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .4s ease}
.product-card:hover .product-figure img{transform:scale(1.025)}
.product-figure figcaption{position:absolute;left:10px;right:10px;bottom:10px;width:max-content;max-width:calc(100% - 20px);background:var(--brand-black);color:#fff;padding:5px 9px;font-size:8px;letter-spacing:.5px;line-height:1.5}
.product-card-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:17px 15px 16px}
.product-type{margin:0 0 9px;color:var(--brand-red);font-size:8px;font-weight:650;letter-spacing:1.2px;line-height:1.5}
.product-card h3{margin:0 0 10px;font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.23;letter-spacing:-.4px}
.product-card-body>p:not(.product-type){margin:0 0 15px;color:var(--muted);font-size:10px;line-height:1.8}
.product-card .product-interest{margin-top:auto;font-size:10px;gap:8px;padding-bottom:5px}
.product-card .product-interest span{font-size:14px}
.portfolio-section .section-heading>p{max-width:360px}
@media(max-width:1120px){.products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card h3{font-size:22px}.product-card-body>p:not(.product-type){font-size:11px}}
@media(max-width:640px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-figure figcaption{font-size:7px}.product-card-body{padding:14px 12px}.product-card h3{font-size:18px}.product-card-body>p:not(.product-type){font-size:10px}.product-card .product-interest{font-size:9px}}
@media(max-width:360px){.products-grid{gap:10px}.product-card-body{padding:12px 10px}.product-card h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.product-figure img{transition:none}.product-card:hover .product-figure img{transform:none}}

/* Los identificadores de redes son largos: permitir su ajuste en pantallas estrechas. */
.channel-row a{overflow-wrap:anywhere;text-align:right}
@media(max-width:640px){.channel-row{gap:8px;font-size:10px}.channel-row strong{flex:0 0 auto}.channel-row a{min-width:0}}
