h1{font-size:clamp(2.55rem,4.6vw,4.65rem);line-height:1.08}
h2{font-size:clamp(1.95rem,3.2vw,3.25rem);line-height:1.1}
.hero{min-height:760px}
.hero-copy{padding-bottom:62px}
.hero h1{max-width:680px;font-size:clamp(2.25rem,3.65vw,3.65rem)}
.proof b{font-size:1.35rem;font-weight:700}
.app-tab{display:block;text-align:left}
.app-tab strong{display:flex;justify-content:space-between;color:inherit;font-size:1.05rem}
.app-tab small{display:block;max-width:560px;margin-top:7px;color:#69767a;font-size:.82rem;font-weight:400;line-height:1.45}
.product-families{background:#f4f2ee;padding:86px 0 92px}
.product-families>.shell>.label{margin:0 0 28px}
.product-family-grid{display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.58);color:#29363d;border-top:1px solid #d7d4ce;border-left:1px solid #d7d4ce}
.product-family{display:grid;grid-template-columns:48px 1fr;gap:18px;min-height:122px;padding:26px 30px;border-right:1px solid #d7d4ce;border-bottom:1px solid #d7d4ce}
.product-family:nth-child(even){border-right:0}
.product-family .icon{font-size:1.55rem;filter:grayscale(1);opacity:.78}
.product-family:nth-child(4n+1) .icon{filter:grayscale(1) sepia(1) saturate(5) hue-rotate(315deg)}
.product-family:nth-child(4n+2) .icon{filter:grayscale(1) sepia(1) saturate(4) hue-rotate(350deg)}
.product-family h3{margin:0 0 7px;color:#29363d;font-size:1.03rem;letter-spacing:0}
.product-family p{margin:0;color:#69767c;font-size:.82rem}
.map-wrap:before{display:none!important}
.quality{display:block;padding:110px 0;background:#f4f1e8}
.quality-inner{width:min(var(--max),calc(100% - 80px));margin:auto}
.quality-main{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}
.quality-copy{padding:0}
.quality-copy h2{max-width:520px}
.quality-copy p:not(.label){font-size:1rem}
.quality-proof{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0;background:transparent;color:var(--ink)}
.quality-proof article{min-height:170px;padding:28px;background:#fff;border:1px solid #dedbd2}
.quality-proof b{color:#9ebf4b;font-size:.74rem}
.quality-proof h3{margin:16px 0 9px;color:var(--ink);font-size:1.08rem}
.quality-proof p{margin:0;color:#687479;font-size:.84rem}
.certifications{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:60px;padding-top:34px;border-top:1px solid #d4d1c8}
.certification{min-height:168px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #dedbd2;text-align:center}
.certification img{width:auto;max-width:150px;height:80px;object-fit:contain;filter:grayscale(1)}
.certification span{margin-top:14px;color:#6f7677;font-size:.69rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.positioning{padding:110px 0;background:#f4f1e8}
.positioning-intro{max-width:760px;color:#5c696e}
.comparison{width:100%;margin-top:45px;border-collapse:collapse;background:#fff}
.comparison th,.comparison td{padding:18px;border:1px solid #d8d6ce;text-align:center;font-size:.86rem}
.comparison th:first-child,.comparison td:first-child{text-align:left}
.comparison th{background:#141918;color:#fff;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
.comparison th:last-child{color:#e4a235}
.comparison .yes{color:var(--wine);font-size:1.25rem;font-weight:800}
.comparison .partial{color:#c68a00;font-weight:800}
.comparison-note{margin-top:12px;color:#777f80;font-size:.74rem;font-style:italic}
.contacts{grid-template-columns:repeat(2,1fr)}
@media(max-width:980px){.quality-main{grid-template-columns:1fr}.quality-copy{margin-bottom:30px}.quality-inner{width:calc(100% - 44px)}.certifications{grid-template-columns:1fr 1fr}.comparison-wrap{overflow-x:auto}.contacts{grid-template-columns:1fr 1fr}.product-family-grid{grid-template-columns:1fr}}
@media(max-width:620px){h1{font-size:2.5rem}h2{font-size:2rem}.hero h1{font-size:2.1rem}.quality{padding:75px 0}.quality-inner{width:calc(100% - 30px)}.quality-proof,.certifications,.contacts{grid-template-columns:1fr}.product-family{border-right:0}.comparison{min-width:760px}}

/* Keep the product image stable while the platform tabs change. */
.applications{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(420px,.72fr);height:780px;min-height:780px}
.applications-media{position:relative;inset:auto;width:100%;min-width:0;min-height:780px}
.applications-panel{margin-left:0;min-width:0;height:780px;overflow:hidden;justify-content:center;padding-top:60px;padding-bottom:60px}
.app-tab.active{font-size:1rem;font-weight:700}
.applications .app-copy{display:none}
.applications-panel h2{font-size:clamp(2rem,2.7vw,2.75rem);line-height:1.08}
.applications .app-tabs{margin-top:30px;margin-bottom:0}
.applications .app-tab{padding:14px 0}
.applications .app-tab small{display:block;max-width:480px;font-weight:400;line-height:1.35}
.portfolio-meta{display:none}
.product-family .icon,.product-family:nth-child(4n+1) .icon,.product-family:nth-child(4n+2) .icon{filter:none;opacity:.95}
.facility-heading{align-items:start}
.facility-heading>p:last-child{padding-top:48px}
@media(max-width:980px){.facility-heading>p:last-child{padding-top:0}}
@media(max-width:980px){.applications{display:block;height:auto;min-height:0}.applications-media{position:absolute;inset:0 0 auto;height:470px;min-height:0}.applications-panel{margin:0;height:auto;overflow:visible}}

/* Restrained motion for the product presentation. */
.applications-media img{animation:application-image-drift 12s ease-in-out infinite alternate;transition:opacity .45s ease,transform .45s ease}
.applications-media.is-changing img{opacity:.35;transform:scale(1.02)}
.hero-image img{object-position:78% center}
.app-tab{transition:color .25s ease, padding-left .25s ease}
.app-tab:hover,.app-tab:focus-visible{padding-left:8px;color:var(--wine)}
.app-tab.active{padding-left:8px}
.app-copy p.active{animation:application-copy-reveal .5s ease both}
@keyframes application-image-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes application-copy-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.applications-media img,.app-copy p.active{animation:none}.app-tab{transition:none}}

@media(max-width:980px){.menu{width:46px;height:42px;padding:10px 9px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--navy);background:#fff;color:var(--navy);letter-spacing:0}.menu span{display:block;width:24px;height:2px;background:var(--navy);transition:transform .2s ease,opacity .2s ease}.menu[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu[aria-expanded="true"] span:nth-child(2){opacity:0}.menu[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}}
@media(prefers-reduced-motion:reduce){.menu span{transition:none}}

/* Structured mobile navigation panel. */
@media(max-width:980px){
  .header{height:72px;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav{position:relative}
  .brand{position:relative;z-index:42;min-width:0}
  .brand-name{font-size:.94rem}
  .brand-name small{font-size:.5rem}
  .menu{position:relative;z-index:42;flex:0 0 auto;border-radius:2px;cursor:pointer}
  .links{position:fixed;z-index:41;inset:72px 0 0;display:flex;gap:0;align-items:stretch;padding:24px max(22px,calc((100vw - 720px)/2)) 32px;background:rgba(255,255,255,.985);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
  .links.open{display:flex;opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition-delay:0s}
  .links a{display:flex;align-items:center;min-height:58px;padding:0 4px;border-bottom:1px solid var(--line);color:var(--navy);font-size:1.08rem;font-weight:700;letter-spacing:-.01em}
  .links a:first-child{border-top:1px solid var(--line)}
  .links a:hover,.links a:focus-visible{padding-left:12px;color:var(--wine);outline:none}
  .links .contact-link{min-height:54px;margin-top:22px;padding:0 18px;border:0;background:var(--wine);color:#fff;justify-content:space-between}
  .links .contact-link:after{content:'\2192';font-size:1.25rem}
  .links .contact-link:hover,.links .contact-link:focus-visible{padding-left:22px;color:#fff;background:#7f1822}
}
@media(max-width:620px){
  .links{padding:18px 20px 26px}
  .links a{min-height:54px;font-size:1rem}
  .brand img{width:35px;height:35px}
}

/* Accessible keyboard focus remains visible across navigation and controls. */
:where(a,button,input,select,textarea):focus-visible{
  outline:3px solid #f4a261!important;
  outline-offset:3px!important;
}

/* Interactive ingredient catalogue, adapted to Patacon's product portfolio. */
.portfolio{padding:105px 0 95px;background:#f6f7f5}
.ingredient-catalog-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:end;margin-bottom:48px}
.ingredient-catalog-head .label{margin:0 0 18px}
.ingredient-catalog-head h2{max-width:600px;margin:0;color:var(--navy)}
.ingredient-catalog-head>p{max-width:650px;margin:0 0 8px;color:#607790;font-size:1.05rem;line-height:1.65}
.ingredient-catalog{border-top:1px solid #cad1cd}
.catalog-toolbar{display:grid;grid-template-columns:1.25fr 1fr .85fr auto;gap:18px;align-items:end;padding:28px 0 22px}
.catalog-categories{display:flex;gap:7px;margin:0;padding:0;border:0}
.catalog-categories legend,.catalog-control label{display:block;width:100%;margin:0 0 8px;color:#687479;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.catalog-categories legend{position:absolute;transform:translateY(-21px)}
.catalog-category{min-height:48px;padding:0 15px;border:1px solid #d3d9d5;background:#fff;color:var(--navy);font-weight:700;cursor:pointer}
.catalog-category b{margin-left:7px;color:#8a9597;font-size:.72rem}
.catalog-category.active{border-color:var(--wine);background:var(--wine);color:#fff}
.catalog-category.active b{color:#fff}
.catalog-control input,.catalog-control select{width:100%;height:48px;border:1px solid #d3d9d5;border-radius:0;background:#fff;padding:0 14px;color:var(--ink);font:inherit}
.catalog-control input:focus,.catalog-control select:focus{outline:3px solid rgba(152,40,44,.14);border-color:var(--wine)}
.organic-control{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border:1px solid #d3d9d5;background:#fff;color:var(--navy);font-size:.85rem;font-weight:700;white-space:nowrap;cursor:pointer}
.organic-control input{width:17px;height:17px;accent-color:var(--wine)}
.catalog-status{display:flex;justify-content:flex-end;gap:5px;padding:10px 0 18px;color:#758084;font-size:.78rem}
.catalog-status strong{color:var(--wine)}
.ingredient-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d3d9d5;border-left:1px solid #d3d9d5}
.ingredient-card{position:relative;min-height:190px;padding:30px 23px 25px;border-right:1px solid #d3d9d5;border-bottom:1px solid #d3d9d5;background:#fff;overflow:hidden}
.ingredient-card[hidden]{display:none}
.ingredient-card h3{margin:0 0 20px;color:var(--navy);font-size:1.38rem}
.format-code{position:absolute;top:0;left:0;right:0;height:7px}
.format-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0;color:#9aa2a5;font-size:.76rem;font-weight:400;line-height:1.35}
.format-tags span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid #d9ddde;background:#fff;font:inherit;color:inherit}

/* Contemporary hero palette focused on global fruit and vegetable ingredients. */
.hero-copy{background:linear-gradient(145deg,#173f4d 0%,#102f3c 100%)}

/* Homepage image carousel */
.hero-carousel{position:relative;display:block;height:clamp(650px,calc(100vh - 82px),900px);min-height:0;padding:0;overflow:hidden;background:#17333d;color:#fff}
.hero-track,.hero-slide{position:absolute;inset:0}
.hero-slide{display:flex;align-items:flex-end;padding:0 max(40px,calc((100vw - var(--max))/2)) 92px;background-image:linear-gradient(90deg,rgba(7,25,32,.82) 0%,rgba(7,25,32,.58) 34%,rgba(7,25,32,.12) 65%,rgba(7,25,32,.18) 100%),var(--hero-image);background-position:var(--hero-position,center);background-size:cover;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .8s ease,visibility .8s ease,transform 6.5s ease}
.hero-slide.active{z-index:1;opacity:1;visibility:visible;transform:scale(1)}
.hero-slide-copy{width:min(680px,70vw);position:relative;z-index:2}
.hero-eyebrow{margin:0 0 18px;color:#f4b27f;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.hero-carousel h1,.hero-carousel h2{max-width:760px;margin:0 0 22px;color:#fff;font-size:clamp(3rem,5.1vw,5.4rem);line-height:.98;letter-spacing:-.045em}
.hero-slide-copy>p:not(.hero-eyebrow){max-width:590px;margin:0 0 30px;color:rgba(255,255,255,.88);font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.55}
.hero-cta{display:inline-flex;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.65);color:#fff;font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.hero-cta:after{content:'→';font-size:1rem;transition:transform .2s ease}.hero-cta:hover:after{transform:translateX(4px)}
.hero-control{position:absolute;z-index:3;top:30%;width:48px;height:48px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(10,32,39,.25);color:#fff;font-size:2rem;line-height:1;cursor:pointer;backdrop-filter:blur(4px);transform:translateY(-50%)}
.hero-prev{left:24px}.hero-next{right:24px}.hero-control:hover{background:rgba(10,32,39,.62)}
.hero-dots{position:absolute;z-index:3;right:max(40px,calc((100vw - var(--max))/2));bottom:32px;display:flex;gap:10px}
.hero-dots button{width:34px;height:3px;padding:0;border:0;background:rgba(255,255,255,.4);cursor:pointer}.hero-dots button.active{background:#fff}
@media(max-width:980px){.hero-carousel{height:calc(100svh - 72px);min-height:680px}.hero-slide{padding:0 45px 90px}.hero-slide-copy{width:min(680px,82vw)}.hero-carousel h1,.hero-carousel h2{font-size:clamp(2.8rem,8vw,4.7rem)}.hero-prev{left:14px}.hero-next{right:14px}.hero-dots{right:45px}}
@media(max-width:620px){.hero-carousel{min-height:650px}.hero-slide{padding:0 24px 86px;background-image:linear-gradient(90deg,rgba(7,25,32,.82),rgba(7,25,32,.34)),var(--hero-image)}.hero-slide-copy{width:calc(100vw - 48px)}.hero-carousel h1,.hero-carousel h2{font-size:clamp(2.45rem,12vw,3.7rem)}.hero-control{top:25%;bottom:auto;width:38px;height:38px}.hero-prev{left:24px}.hero-next{left:auto;right:24px}.hero-dots{right:24px;bottom:41px}.hero-dots button{width:22px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
.links{gap:22px}
.bulk-wine-section{padding:115px 0;background:#102f3c;color:#fff}
.bulk-wine-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:end;margin-bottom:54px}
.bulk-wine-heading .label{color:#f4b27f}
.bulk-wine-heading h2{max-width:650px;margin:0;color:#fff}
.bulk-wine-heading>div:last-child>p{max-width:680px;margin:0 0 24px;color:#c8d4d7;font-size:1.08rem;line-height:1.7}
.bulk-wine-heading .arrow{color:#fff}
.bulk-wine-visuals{display:grid;grid-template-columns:1.55fr .85fr;gap:14px}
.bulk-wine-visuals figure{position:relative;height:520px;margin:0;overflow:hidden;background:#0b252f}
.bulk-wine-visuals img{width:100%;height:100%;object-fit:cover}
.bulk-wine-visuals figure:nth-child(2) img{object-position:center}
.bulk-wine-visuals figcaption{position:absolute;inset:auto 0 0;padding:32px 24px 17px;background:linear-gradient(transparent,rgba(5,25,35,.88));color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.04em}
.bulk-wine-capacity-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:7vw;align-items:start;margin:62px 0 30px;padding-top:30px;border-top:1px solid rgba(255,255,255,.24)}
.bulk-wine-capacity-head .label{color:#f4b27f}
.bulk-wine-capacity-head>p:last-child{max-width:760px;margin:0;color:#c8d4d7;font-size:1.02rem;line-height:1.65}
.bulk-wine-capacity{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.34)}
.bulk-wine-capacity>div{display:flex;min-height:180px;flex-direction:column;align-items:center;padding:30px 24px 20px;text-align:center}
.bulk-wine-capacity>div+div{padding-left:24px;border-left:1px solid rgba(255,255,255,.22)}
.bulk-wine-capacity b{display:flex;min-height:1.05em;align-items:flex-end;justify-content:center;margin-bottom:14px;color:#f4b27f;font-size:clamp(2.15rem,3.1vw,3.4rem);font-weight:500;line-height:1;letter-spacing:-.035em;white-space:nowrap}
.bulk-wine-capacity span{display:block;min-height:2.9em;max-width:220px;color:#fff;font-size:.9rem;line-height:1.45}
@media(max-width:980px){.bulk-wine-section{padding:90px 0}.bulk-wine-heading{grid-template-columns:1fr;gap:24px}.bulk-wine-visuals{grid-template-columns:1fr 1fr}.bulk-wine-visuals figure{height:390px}.bulk-wine-capacity{grid-template-columns:1fr 1fr}.bulk-wine-capacity>div:nth-child(3){border-left:0}.bulk-wine-capacity-head{grid-template-columns:1fr;gap:16px}}
@media(max-width:620px){.bulk-wine-section{padding:72px 0}.bulk-wine-visuals{grid-template-columns:1fr}.bulk-wine-visuals figure{height:310px}.bulk-wine-capacity{grid-template-columns:1fr}.bulk-wine-capacity>div,.bulk-wine-capacity>div+div{min-height:0;align-items:flex-start;padding:24px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.22);text-align:left}.bulk-wine-capacity b,.bulk-wine-capacity span{min-height:0;justify-content:flex-start}}
.products-catalog-link{align-self:flex-start;margin-top:30px;color:var(--wine);font-size:.95rem}
.catalog-note{margin:18px 0;color:#737f82;font-size:.78rem}
.catalog-more{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;min-height:54px;margin-top:22px;border:1px solid var(--navy);background:transparent;color:var(--navy);font-weight:800;cursor:pointer}
.catalog-more b{color:var(--wine);font-size:1.2rem}
.catalog-more-close{display:none}.ingredient-catalog[data-expanded="true"] .catalog-more-open{display:none}.ingredient-catalog[data-expanded="true"] .catalog-more-close{display:inline}.ingredient-catalog[data-expanded="true"] .catalog-more b{transform:rotate(45deg)}
.catalog-wine{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:24px 27px;border-left:5px solid var(--wine);background:#fbf3f3;color:var(--navy);text-decoration:none}
.catalog-wine span{display:flex;flex-direction:column;gap:5px}.catalog-wine small{color:#7a8588;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.catalog-wine strong{font-size:1.28rem}.catalog-wine>b{color:var(--wine);font-size:.84rem}
.catalog-wine:hover b{text-decoration:underline}
@media(max-width:1100px){.catalog-toolbar{grid-template-columns:1fr 1fr}.organic-control{align-self:end}.ingredient-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.portfolio{padding:75px 0 68px}.ingredient-catalog-head{grid-template-columns:1fr;gap:20px;margin-bottom:36px}.catalog-toolbar{grid-template-columns:1fr}.catalog-categories{padding-top:21px;overflow-x:auto}.catalog-category{flex:1;min-width:max-content}.ingredient-grid{grid-template-columns:1fr 1fr}.catalog-wine{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){.ingredient-grid{grid-template-columns:1fr}.ingredient-card{min-height:0}.catalog-status{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.links{transition:none}}

/* Static, fully visible product overview. */
.applications{display:grid;grid-template-columns:minmax(0,55%) minmax(440px,45%);height:auto;min-height:0;overflow:visible}
.applications-media{position:relative;inset:auto;width:100%;height:auto;min-height:760px}
.applications-media img{height:100%;object-fit:cover;object-position:68% center;animation:none!important;transition:none!important;transform:none!important}
.applications-panel{margin:0;min-width:0;height:auto;min-height:760px;overflow:visible;padding:72px clamp(42px,4.2vw,76px);justify-content:center}
.applications-panel h2{max-width:590px;font-size:clamp(2rem,3vw,3.5rem);line-height:1.06}
.simple-platform,.simple-platform *{transition:none!important;animation:none!important}
.simple-platform-link{display:inline-flex;align-items:center;gap:9px;margin-top:11px;color:var(--wine);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.simple-platform-link:hover{text-decoration:underline}
.ingredient-icon{display:grid;place-items:center;width:38px;height:38px;margin:0 0 12px;border:1px solid #dde2df;border-radius:50%;background:#f7f8f6;color:var(--navy);line-height:1}
.ingredient-icon svg{width:25px;height:25px;display:block;overflow:visible}
@media(max-width:980px){.applications{display:block;height:auto;min-height:0;padding-top:0}.applications-media{position:relative;inset:auto;height:470px;min-height:0}.applications-panel{height:auto;min-height:0;overflow:visible;padding:70px 44px}}
@media(max-width:620px){.applications-media{height:360px}.applications-panel{padding:58px 24px}.applications-panel h2{font-size:2.25rem}}

/* Show the complete embedded sourcing map and its legend. */
.map-wrap iframe{height:1020px}
@media(max-width:720px){.map-wrap iframe{height:1060px}}

/* Tighter transition from the product portfolio to the wine facility. */
.portfolio{padding-bottom:55px}
.facility{padding-top:70px}
@media(max-width:620px){.portfolio{padding-bottom:40px}.facility{padding-top:60px}}

/* Product hierarchy and facility update from Instrucciones 2. */
.product-accordion{border-top:1px solid var(--line)}
.product-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--navy);font:700 .95rem Arial;text-align:left;cursor:pointer}
.product-toggle span{color:var(--wine);font-size:1.25rem;font-weight:400;transition:transform .2s ease}
.product-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
.product-detail{display:none;padding:11px 0 15px;color:#66747a;font-size:.85rem;border-bottom:1px solid var(--line)}
.product-detail.open{display:block}
.product-external{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--navy);font-size:.95rem}
.product-external a{color:var(--wine);font-size:.82rem;font-weight:700;text-decoration:none}
.product-external a:hover{text-decoration:underline}
.facility-gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:300px 300px;gap:14px}
.facility-photo{position:relative;margin:0;overflow:hidden;background:var(--soft)}
.facility-photo-wide{grid-row:1/3}
.facility-photo img{width:100%;height:100%;object-fit:cover}
.facility-photo:first-child img{object-position:center}
.facility-photo:nth-child(2) img{object-position:center 35%}
.facility-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 15px;background:linear-gradient(transparent,rgba(5,25,35,.82));color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.03em}
.capacity-strip{grid-template-columns:repeat(5,1fr);gap:1px;margin-top:14px;padding:14px;background:#ecefed;color:var(--ink);box-shadow:0 14px 34px rgba(19,47,63,.08)}
.capacity-strip div{position:relative;min-height:154px;padding:30px 26px 25px;border:0;background:#fff}
.capacity-strip div:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--wine)}
.capacity-strip div:nth-child(even):before{background:var(--orange)}
.capacity-strip b{display:block;margin-bottom:14px;color:var(--wine);font-size:clamp(2rem,2.6vw,2.75rem);font-weight:500;line-height:1;letter-spacing:-.035em}
.capacity-strip span{display:block;max-width:210px;color:#66747a;font-size:.86rem;line-height:1.45}
.facility-lower.single{grid-template-columns:1fr;margin-top:58px}
.facility-lower.single>div{max-width:1080px}
.bulk-wine-cta{margin-top:30px;padding:22px 24px;border-left:5px solid var(--wine);background:#fbf3f3}
.bulk-wine-cta strong{display:block;color:var(--wine);font-size:1.2rem;text-transform:uppercase}
.bulk-wine-cta p{margin:8px 0 0;color:#596a70}
.bulk-wine-cta a{color:var(--wine);font-weight:700}
.contacts{grid-template-columns:repeat(2,1fr)}
.form.extended{grid-template-columns:repeat(4,1fr)}
.form.extended .message-field{grid-column:1/4}
@media(max-width:980px){
  .facility-gallery{grid-template-columns:1fr 1fr;grid-template-rows:430px 250px 250px}
  .facility-photo-wide{grid-column:1/3;grid-row:auto}
  .capacity-strip{grid-template-columns:repeat(2,1fr)}
  .capacity-strip div{min-height:138px}
  .contacts{grid-template-columns:1fr}
  .form.extended{grid-template-columns:1fr 1fr}
  .form.extended .message-field{grid-column:1/3}
}
@media(max-width:620px){
  .capability-grid{display:block;padding-top:20px}
  .capability-grid:before,.capability-pillar:before{display:none}
  .capability-pillar{margin-top:26px}
  .facility-gallery{display:block}
  .facility-photo{height:300px;margin-bottom:10px}
  .capacity-strip{grid-template-columns:1fr;padding:10px}
  .capacity-strip div{min-height:0;padding:24px 22px}
  .capacity-strip span{max-width:none}
  .form.extended{grid-template-columns:1fr}
  .form.extended .message-field{grid-column:auto}
}

/* Tighter vertical rhythm across the long-form page. */
.intro{padding:90px 0 82px}
.sourcing{padding-top:78px}
.sourcing-top{align-items:start;margin-bottom:34px}
.sourcing-top>p:last-child{padding-top:42px}
.reach-points{margin-bottom:36px}
.reach-points-three{grid-template-columns:repeat(3,1fr)}
.portfolio{padding-top:82px;padding-bottom:36px}
.portfolio-head{margin-bottom:40px}
.facility{padding-top:52px;padding-bottom:82px}
.facility-heading{margin-bottom:40px}
.facility-lower.single{margin-top:40px}
.quality{padding:82px 0}
.certifications{margin-top:42px;padding-top:28px}
.positioning{padding:82px 0}
.comparison{margin-top:34px}
.value{padding:84px 0}
.value-head{margin-bottom:44px}
.process{padding:84px 0}
.process-grid{margin-top:42px}
.contact{padding-top:86px}
.contacts{margin-top:40px}
.inquiry{margin-top:56px}
@media(max-width:980px){
  .intro{padding:76px 0 70px}
  .portfolio{padding-top:72px;padding-bottom:30px}
  .facility{padding-top:46px;padding-bottom:72px}
  .quality,.positioning,.value,.process{padding:72px 0}
  .contact{padding-top:72px}
  .sourcing-top>p:last-child{padding-top:0}
}
@media(max-width:620px){
  .intro{padding:62px 0 58px}
  .sourcing{padding-top:60px}
  .portfolio{padding-top:60px;padding-bottom:24px}
  .facility{padding-top:40px;padding-bottom:60px}
  .quality,.positioning,.value,.process{padding:60px 0}
  .contact{padding-top:60px}
  .inquiry{margin-top:42px}
  .reach-points-three{grid-template-columns:1fr}
}

/* Patacon Group organizational hierarchy. */
.group-structure{padding:82px 0 88px}
.group-heading{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-areas:"label copy" "title copy";column-gap:8vw;align-items:start;text-align:left}
.group-heading .label{grid-area:label;margin-bottom:18px}
.group-heading h2{grid-area:title;max-width:560px;margin:0}
.group-heading>p:last-child{grid-area:copy;max-width:700px;margin:38px 0 0;color:#607790;font-size:1.12rem}
.org-chart{max-width:1320px;margin:42px auto 0;color:var(--navy)}
.org-root{position:relative;width:46%;margin:0 auto;padding:22px 28px;border:1px solid #c8ceca;text-align:center}
.org-root:after{content:"";position:absolute;left:50%;top:100%;height:38px;border-left:1px solid #c8ceca}
.org-root h3,.org-company h3,.org-units h4{margin:0;text-transform:uppercase;letter-spacing:-.015em}
.org-root h3{font-size:1.55rem}
.org-root p,.org-company p{margin:5px 0 0;color:#607790;font-size:1rem}
.org-branches{position:relative;display:grid;grid-template-columns:.34fr .66fr;gap:22px;padding-top:38px}
.org-branches:before{content:"";position:absolute;top:37px;left:17%;right:33%;border-top:1px solid #c8ceca}
.org-branch{position:relative;padding-top:24px}
.org-branch:before{content:"";position:absolute;left:50%;top:0;height:24px;border-left:1px solid #c8ceca}
.org-company{position:relative;padding:20px 22px;border:1px solid #c8ceca;background:#fff;text-align:center}
.org-company:after{content:"";position:absolute;left:50%;top:100%;height:28px;border-left:1px solid #c8ceca}
.org-company h3{font-size:1.22rem}
.org-company.featured{border:2px solid var(--wine);background:#fbf3f3;box-shadow:0 12px 30px rgba(148,31,41,.08)}
.org-company.featured h3{color:var(--wine)}
.org-units{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:28px}
.org-units:before{content:"";position:absolute;left:12.5%;right:12.5%;top:27px;border-top:1px solid #c8ceca}
.org-units.single{display:block}
.org-units.single:before{display:none}
.org-units article{position:relative;min-height:140px;padding:22px 18px;border:1px solid #c8ceca;background:#fff;text-align:center}
.org-units article:before{content:"";position:absolute;left:50%;bottom:100%;height:12px;border-left:1px solid #c8ceca}
.org-units h4{color:var(--wine);font-size:1rem}
.org-units p{margin:9px 0 0;color:#607790;font-size:.86rem;line-height:1.55}
.org-units i{display:inline-block;width:5px;height:5px;margin:0 5px 2px;border-radius:50%;background:#f29470}
@media(max-width:980px){
  .group-structure{padding:72px 0}
  .group-heading{grid-template-columns:1fr;grid-template-areas:"label" "title" "copy";gap:0}
  .group-heading h2{max-width:680px}
  .group-heading>p:last-child{max-width:760px;margin-top:22px}
  .org-root{width:64%}
  .org-branches{grid-template-columns:1fr;gap:34px;padding-top:34px}
  .org-branches:before{display:none}
  .org-branch{padding-top:0}
  .org-branch:before{display:none}
  .org-company:after{display:none}
  .org-units{grid-template-columns:repeat(2,1fr);padding-top:24px}
  .org-units:before,.org-units article:before{display:none}
}
@media(max-width:620px){
  .group-structure{padding:60px 0}
  .group-heading>p:last-child{font-size:1rem}
  .org-root{width:100%;padding:19px 16px}
  .org-root:after{display:none}
  .org-branches{margin-top:26px;padding-top:0}
  .org-company{padding:18px 14px}
  .org-units{display:grid;grid-template-columns:1fr;gap:10px}
  .org-units:before{display:none}
  .org-units article{min-height:0;padding:19px 15px}
  .org-units article:before{height:10px}
}
