:root {
  --wine: #521925;
  --wine-dark: #310d19;
  --wine-mid: #7b2d42;
  --red: #b51a38;
  --rose: #d38d99;
  --ivory: #fcf7f5;
  --cream: #f6eeee;
  --cream2: #f0e5e5;
  --ink: #302227;
  --muted: #756d6e;
  --white: #fff;
  --border: rgba(83, 25, 38, .15);
  --font-heading: 'Montserrat', 'Arial', sans-serif;
  --font-body: 'DM Sans', Arial, sans-serif;
  --container: 1220px;
}
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 106px; }
body { margin: 0; font-family: var(--font-body); color: var(--ink); background: var(--ivory); -webkit-font-smoothing: antialiased; overflow-x: clip; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img, svg { display: block; }
img { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, video:focus-visible { outline: 3px solid #da5573; outline-offset: 4px; }
::selection { background: #bb4d66; color: white; }
.container { width: min(calc(100% - 96px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 999; top: -120px; left: 14px; padding: 13px 20px; background: white; color: var(--wine); border-radius: 0 0 14px 14px; }
.skip-link:focus { top: 0; }
.topline { height: 28px; background: var(--wine); color: #edc4cd; display:flex; align-items:center; justify-content: space-between; gap: 30px; padding: 0 5%; font: 600 9px/1 var(--font-heading); letter-spacing: .28em; }
.topline span:first-child,.topline span:last-child {height:1px;background:rgba(255,255,255,.24); flex:1}
.site-header { height: 94px; position: sticky; top: 0; z-index: 100; background: rgba(252,247,245,.96); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(83,25,38,.09); transition:height .25s, box-shadow .25s; }
.site-header.scrolled { height: 78px; box-shadow: 0 8px 24px rgba(61,21,29,.06); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap: 28px; }
.brand { display: flex; align-items: center; gap:12px; flex-shrink:0; }
.brand-mark { width:66px; height:66px; display:grid; place-items:center; }
.brand-mark img { width:66px; height:65px; object-fit:contain; }
.brand-name {display:flex;flex-direction:column; gap:3px;color:var(--wine);white-space:nowrap;}
.brand-name small {font:700 8px/1.1 var(--font-heading);letter-spacing:.22em;}
.brand-name strong {font:900 22px/.95 var(--font-heading);letter-spacing:-.055em;}
.desktop-nav {display:flex; align-items:center;gap:clamp(15px,2.1vw,31px);margin-left:auto;}
.desktop-nav a { position:relative;color:#4c3e41;font-weight:700;font-size:12px;transition:color .2s; }
.desktop-nav a::after {content:"";position:absolute;bottom:-10px;left:0;width:0;height:2px;background:var(--red);transition:width .25s;}
.desktop-nav a:hover,.desktop-nav a.active {color:var(--red);}
.desktop-nav a:hover::after,.desktop-nav a.active::after {width:100%;}
.header-cta {display:inline-flex;align-items:center;gap:18px;background:var(--wine);color:white;padding:15px 17px;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap;transition:transform .2s,background .2s;}
.header-cta svg,.btn svg,.text-link svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;}
.header-cta:hover,.btn-primary:hover {background:var(--red);transform:translateY(-2px);}
.header-cta:hover svg,.btn:hover svg,.text-link:hover svg {transform:translateX(4px);}
.menu-toggle {display:none;position:relative;width:45px;height:45px;border:1px solid var(--border);background:transparent;border-radius:4px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;z-index:200;}
.menu-toggle span {display:block;width:20px;height:2px;background:var(--wine);transition:transform .25s,opacity .25s;}
.menu-toggle[aria-expanded="true"] span:nth-child(1) {transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0;}
.menu-toggle[aria-expanded="true"] span:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}
.mobile-nav {display:none;}
/* Hero */
.hero {position:relative;min-height:700px; background: radial-gradient(ellipse at 67% 29%,#fffefd 0%,var(--ivory) 44%,#f8eeee 100%);overflow:hidden;}
.hero-texture {pointer-events:none;position:absolute;inset:0;opacity:.6;background-image:linear-gradient(to right,rgba(95,49,56,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(95,49,56,.035) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,transparent 0%,black 78%);}
.hero-layout {position:relative;z-index:1;display:grid;grid-template-columns: 1.03fr 1fr;min-height:660px;align-items:center;gap:45px;padding-block:65px 60px;}
.hero-content {padding-bottom:18px;max-width:630px;}
.eyebrow {display:flex;align-items:center;gap:14px;color:var(--wine-mid);font:800 11px/1.4 var(--font-heading);letter-spacing:.24em;}
.eyebrow-line {width:45px;height:2px;background:var(--red);}
h1,h2,h3,p {margin-top:0;}
h1,h2 {font-family:var(--font-heading);letter-spacing:-.055em;}
.hero h1 {font-weight:800;font-size:clamp(42px,4.5vw,72px);line-height:1.11;margin:31px 0 28px;color:var(--wine-dark);}
.hero h1 span:not(.dot) {color:var(--red);}
.hero h1 .dot {color:var(--red);}
.hero-lead {max-width:500px;color:#62545a;line-height:1.85;font-size:16px;margin-bottom:30px;}
.hero-actions {display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;font-size:12px;font-weight:800;transition:.23s;}
.btn-primary {border-radius:4px;padding:0 22px;color:white;background:var(--wine);box-shadow:0 12px 24px rgba(80,22,36,.14);}
.btn-text {color:var(--wine);gap:14px;}
.btn-text:hover {color:var(--red);}
.btn-play {display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(93,31,45,.28);}
.btn-play svg {width:17px;height:17px;fill:currentColor;stroke:none;transform:translateX(1px);}
.hero-under {display:flex;align-items:center;gap:12px;margin-top:75px;color:#8f7d83;font-size:10px;letter-spacing:.16em;font-weight:800;}
.line-detail {height:1px;width:34px;background:var(--rose);}
.hero-visual {height:540px;position:relative;min-width:0;}
.hero-orbit {position:absolute;inset:14px -28px 0 75px;border:1px solid #e7cbd0;border-radius:50% 50% 4px 50%;transform:rotate(11deg);}
.hero-photo-frame {position:absolute;left:10%;top:8%;width:85%;height:72%;background:#ddd;border:12px solid white;box-shadow:0 20px 55px rgba(75,25,35,.17);border-radius:160px 160px 15px 15px;overflow:hidden;}
.hero-photo {width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.05);transition:transform .8s;}
.hero-photo-frame:hover .hero-photo {transform:scale(1.055);}
.hero-photo-frame:after {content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(27,8,14,.67));pointer-events:none;}
.hero-photo-overlay {position:absolute;z-index:1;bottom:23px;left:24px;right:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;color:white;font:700 9px/1.35 var(--font-heading);letter-spacing:.12em;}
.hero-photo-overlay span:first-child {font-weight:900;font-size:24px;letter-spacing:-.04em;}
.hero-small-photo {position:absolute;right:-8px;bottom:2%;width:43%;height:37%;border:9px solid #fff;background:#ddd;box-shadow:0 12px 35px rgba(66,24,35,.16);border-radius:7px;overflow:hidden;}
.hero-small-photo img {height:100%;width:100%;object-fit:cover;filter:saturate(.85);}
.hero-seal {position:absolute;left:-4%;bottom:5%;width:173px;height:173px;border-radius:50%;background:var(--wine);border:6px solid var(--ivory);color:white;box-shadow:0 12px 34px rgba(53,14,25,.19);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;transform:rotate(-9deg);}
.hero-seal .seal-small,.hero-seal span:last-child {font:700 9px/1.35 var(--font-heading);letter-spacing:.1em;max-width:138px;}
.hero-seal strong {font:800 32px/1 var(--font-heading);letter-spacing:-.07em;}
.hero-corner {position:absolute;right:10px;top:1px;color:#c699a3;font:800 12px/1 var(--font-heading);letter-spacing:.1em;}
.hero-corner span {color:var(--red);}
.hero-bottom {position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding-bottom:26px;color:#917982;font-size:10px;font-weight:800;letter-spacing:.14em;}
.hero-bottom a {color:var(--wine);}
.hero-bottom a span {font-size:19px;vertical-align:middle;margin-left:9px;}
.metrics {background:#fff;border-block:1px solid #f0e6e7;}
.metrics-grid {display:grid;grid-template-columns:repeat(4,1fr);}
.metric {padding:35px 25px 35px 10px;display:flex;flex-direction:column;gap:6px;position:relative;}
.metric:not(:last-child)::after {content:"";width:1px;height:55px;position:absolute;right:7%;top:50%;transform:translateY(-50%);background:#e9d8da;}
.metric-number {font:800 clamp(31px,3vw,45px)/1.2 var(--font-heading);color:var(--wine);letter-spacing:-.07em;}
.metric-plus {color:var(--red);font-size:.65em;vertical-align:top;}
.metric-label {color:#7d6c71;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.09em;}
/* Shared typography */
.section {padding-block:clamp(84px,9vw,138px);}
.section-kicker {display:inline-flex;align-items:center;gap:11px;margin-bottom:28px;font:800 10px/1.5 var(--font-heading);letter-spacing:.18em;color:var(--wine-mid);text-transform:uppercase;}
.section-kicker span {color:var(--red);border:1px solid #dbb7c0;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;letter-spacing:0;font-size:10px;}
.section-kicker.light {color:#ebc6cd;}
.section-kicker.light span {border-color:#9b6271;color:#fff;}
h2 {font-size:clamp(34px,4.1vw,59px);font-weight:800;line-height:1.17;color:var(--wine-dark);}
h2 em {font-style:normal;color:var(--red);}
/* About */
.about {background:var(--ivory);}
.about-grid {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(52px,7vw,110px);}
.about-visual {height:580px;position:relative;}
.about-main-image {position:absolute;top:0;left:0;width:84%;height:80%;background:#e8dede;overflow:hidden;border-radius:170px 12px 12px 12px;}
.about-main-image img {width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.04);}
.about-secondary-image {position:absolute;bottom:2%;right:0;width:56%;height:41%;border:11px solid var(--ivory);border-radius:9px;box-shadow:0 16px 36px rgba(79,35,46,.11);overflow:hidden;}
.about-secondary-image img {width:100%;height:100%;object-fit:cover;}
.about-vertical-label {position:absolute;top:40px;right:4%;writing-mode:vertical-rl;letter-spacing:.24em;font:800 9px var(--font-heading);color:#b8828e;}
.about-photo-number {position:absolute;bottom:15%;left:6px;color:#b08c93;letter-spacing:.16em;font:800 10px var(--font-heading);}
.about-copy h2 {margin-bottom:22px;}
.about-copy .section-intro {font-size:16px;line-height:1.9;color:#6e6065;max-width:500px;margin-bottom:26px;}
.about-facts {border-top:1px solid #e7d5d9;}
.about-fact {display:grid;grid-template-columns:45px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid #e7d5d9;align-items:start;}
.fact-index {font:800 11px var(--font-heading);color:#b46073;padding-top:5px;}
.about-fact h3 {font:800 16px/1.5 var(--font-heading);letter-spacing:-.025em;margin-bottom:4px;color:var(--wine);}
.about-fact p {font-size:13px;color:#82777a;margin:0;line-height:1.6;}
.text-link {margin-top:26px;display:inline-flex;align-items:center;gap:18px;color:var(--red);font-size:13px;font-weight:800;padding-bottom:9px;border-bottom:1px solid var(--red);}
/* Capacity */
.capacity {position:relative;overflow:hidden;padding:100px 0 115px;background:linear-gradient(125deg,#330d19 0%,#5a1c2c 62%,#772b40 100%);color:white;}
.capacity::before {content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,transparent 0%,rgba(25,2,11,.25) 100%);}
.capacity-decoration {position:absolute;right:-80px;top:-240px;width:790px;height:790px;border-radius:50%;border:1px solid rgba(245,223,225,.1);box-shadow:0 0 0 65px rgba(255,255,255,.02),0 0 0 170px rgba(255,255,255,.018);}
.capacity-inner {position:relative;display:grid;grid-template-columns:1.1fr .85fr;align-items:center;gap:100px;}
.capacity h2 {color:white;margin-bottom:17px;max-width:600px;}
.capacity h2 em {color:#f5b6c0;}
.capacity-left > p {color:#e6c5cd;font-size:15px;line-height:1.8;max-width:480px;}
.capacity-number {display:flex;flex-direction:column;gap:13px;margin-top:58px;padding-top:23px;border-top:1px solid rgba(255,255,255,.25);width:max-content;max-width:100%;}
.capacity-number span {font:800 11px var(--font-heading);color:#f6c8d2;letter-spacing:.2em;}
.capacity-number strong {font:800 clamp(63px,7.6vw,114px)/1 var(--font-heading);letter-spacing:-.085em;color:#fff;}
.capacity-right {display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;align-self:stretch;align-items:center;}
.cap-card {min-height:280px;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:30px 23px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.07);backdrop-filter:blur(12px);}
.cap-card-top {transform:translateY(-27px);}
.cap-card-bottom {transform:translateY(37px);background:rgba(255,248,248,.94);color:var(--wine);}
.cap-card > span {font:800 10px/1.2 var(--font-heading);letter-spacing:.15em;color:#fad6dd;}
.cap-card-bottom > span {color:#9e4e63;}
.cap-card strong {font:800 60px/1 var(--font-heading);letter-spacing:-.08em;}
.cap-card strong small {font:700 17px var(--font-heading);letter-spacing:-.02em;}
.cap-card-bottom strong span {font-size:36px;color:var(--red);}
.cap-card p {color:#835666;font-size:13px;font-weight:700;margin:0;}
.plant-columns {display:flex;gap:6px;}
.plant-columns span {flex:1;border:1px solid rgba(255,255,255,.24);padding:11px 8px;text-align:center;font-size:12px;font-weight:800;}
.capacity-outline {position:absolute;inset:10% -30px 5% 20px;border:1px solid rgba(255,255,255,.12);transform:rotate(-6deg);pointer-events:none;}
/* Process */
.processes {background:#fff;}
.section-heading {display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:46px;}
.section-heading > div {max-width:730px;}
.section-heading h2 {margin-bottom:0;}
.section-heading > p {max-width:335px;margin:0 0 7px;color:#75676b;font-size:14px;line-height:1.9;}
.process-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.process-card {position:relative;min-height:285px;background:#fbf7f7;border:1px solid #eee2e5;padding:26px 23px 28px;display:flex;flex-direction:column;overflow:hidden;transition:background .35s,border-color .35s,transform .35s,box-shadow .35s;}
.process-card:before {content:"";position:absolute;inset:0 0 auto auto;width:120px;height:120px;border-radius:50%;border:1px solid #eedce0;transform:translate(45%,-50%);transition:transform .4s;}
.process-card:hover {background:#fff;border-color:#d2a1ad;transform:translateY(-7px);box-shadow:0 20px 40px rgba(88,31,43,.08);}
.process-card:hover:before {transform:translate(30%,-33%);}
.process-index {font:800 11px var(--font-heading);color:#ba6679;letter-spacing:.12em;}
.process-icon {width:63px;height:63px;display:flex;align-items:center;margin-top:24px;margin-bottom:auto;color:var(--wine-mid);}
.process-icon svg {width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.process-card h3 {font:800 clamp(15px,1.35vw,19px)/1.45 var(--font-heading);letter-spacing:-.035em;max-width:240px;min-height:55px;color:var(--wine);margin:29px 0 24px;}
.process-card-line {height:3px;width:43px;background:var(--red);transition:width .35s;}
.process-card:hover .process-card-line {width:100%;}
.process-footer {display:flex;align-items:center;gap:22px;margin-top:50px;color:#a18e92;font:800 9px var(--font-heading);letter-spacing:.15em;white-space:nowrap;}
.hairline {flex:1;background:#ead9dd;height:1px;}
/* Garments */
.garments {background:var(--cream);}
.garment-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.garment-card {min-height:525px;border:1px solid #e6d4d8;padding:27px 34px 31px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;}
.garment-card:hover {transform:translateY(-6px);box-shadow:0 20px 35px rgba(75,25,38,.08);}
.garment-shirt {background:linear-gradient(140deg,#fff7f7,#eddde0);}
.garment-leggings {background:linear-gradient(135deg,#e9d5db,#d4bbc3);}
.garment-card::before {content:"";position:absolute;left:50%;top:50%;width:360px;height:360px;border-radius:50%;border:1px solid rgba(116,56,73,.11);transform:translate(-50%,-52%);box-shadow:0 0 0 58px rgba(117,53,73,.028),0 0 0 118px rgba(117,53,73,.023);}
.garment-topline {display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;color:#8c5363;font:800 10px var(--font-heading);letter-spacing:.17em;}
.mini-asterisk {font-size:22px;line-height:1;color:#bc7989;}
.garment-art {position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;min-height:330px;}
.garment-art svg {width:min(100%,430px);height:auto;max-height:340px;filter:drop-shadow(5px 20px 13px rgba(75,31,41,.1));transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.garment-card:hover .garment-art svg {transform:translateY(-8px) rotate(-1deg);}
.garment-caption {position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;border-top:1px solid rgba(98,36,52,.2);padding-top:17px;}
.garment-caption span {font:800 9px var(--font-heading);letter-spacing:.17em;color:#965d6b;}
.garment-caption h3 {font:800 clamp(27px,3vw,37px)/1.15 var(--font-heading);letter-spacing:-.055em;color:var(--wine);margin:6px 0 0;}
.garment-arrow {border:1px solid #cfa7b0;border-radius:50%;width:41px;height:41px;display:grid;place-items:center;}
/* Certifications */
.certifications {background:#fff;}
.cert-layout {display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:90px;}
.cert-intro h2 {margin-bottom:18px;}
.cert-intro p {max-width:410px;font-size:16px;line-height:1.9;color:#75676b;}
.cert-grid {display:grid;grid-template-columns:repeat(2,1fr);border-left:1px solid #eadbde;border-top:1px solid #eadbde;}
.cert-name {min-height:116px;display:grid;place-items:center;padding:16px;border-right:1px solid #eadbde;border-bottom:1px solid #eadbde;text-align:center;font:800 clamp(18px,1.9vw,28px)/1.3 var(--font-heading);letter-spacing:-.05em;color:var(--wine);transition:background .25s,color .25s;}
.cert-name:hover {background:#f8eff1;color:var(--red);}
.cert-name-last {grid-column:span 2;}
/* Video */
.video-section {position:relative;background:linear-gradient(135deg,#360e1c,#571a2b 65%,#65243a);color:#fff;overflow:hidden;}
.video-backdrop {position:absolute;left:-15%;bottom:-55%;width:850px;height:850px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.02),0 0 0 200px rgba(255,255,255,.015);}
.video-layout {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.video-copy h2 {color:#fff;max-width:610px;}
.video-copy h2 em {color:#f0abb9;}
.video-copy > p {max-width:510px;color:#eacbd1;font-size:15px;line-height:1.9;margin-bottom:35px;}
.video-subimage {width:76%;height:155px;position:relative;border:1px solid rgba(255,255,255,.25);overflow:hidden;border-radius:4px;}
.video-subimage img {width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.72) brightness(.65);}
.video-subimage > div {position:absolute;inset:0;display:flex;align-items:start;justify-content:center;flex-direction:column;gap:6px;padding:26px;background:linear-gradient(90deg,rgba(39,7,19,.8),transparent 90%);}
.video-subimage span {font:800 10px var(--font-heading);letter-spacing:.16em;color:#e8b2bf;}
.video-subimage strong {font:800 19px var(--font-heading);letter-spacing:-.02em;}
.video-display {position:relative;max-width:390px;justify-self:center;width:100%;}
.video-stitch {position:absolute;inset:-22px;border:1px dashed rgba(245,203,212,.5);border-radius:26px;}
.video-wrapper {position:relative;aspect-ratio:478 / 850;background:#180e13;border:2px solid rgba(255,228,235,.82);border-radius:18px;box-shadow:0 0 0 6px rgba(255,245,249,.10),0 35px 70px rgba(13,1,8,.35),0 0 48px rgba(231,159,179,.16);overflow:hidden;}
.video-wrapper video {display:block;width:100%;height:100%;object-fit:contain;background:#100a0d;}
.video-start {position:absolute;z-index:5;left:50%;bottom:15%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:11px;background:transparent;border:0;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8);font:800 11px var(--font-heading);letter-spacing:.13em;white-space:nowrap;cursor:pointer;transition:opacity .25s;}
.video-start[hidden] {display:none;}
.play-circle {width:76px;height:76px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;background:rgba(94,29,45,.84);box-shadow:0 7px 23px rgba(0,0,0,.3);transition:transform .25s,background .25s;}
.video-start:hover .play-circle {transform:scale(1.07);background:var(--red);}
.play-circle svg {width:26px;height:26px;fill:#fff;transform:translateX(2px);}
.video-caption {display:flex;justify-content:space-between;gap:10px;margin-top:22px;color:#d6a7b4;font:800 9px var(--font-heading);letter-spacing:.15em;}
/* Closing and footer */
.closing {position:relative;background:var(--ivory);padding:90px 0 92px;text-align:center;overflow:hidden;}
.closing:before,.closing:after {content:"";position:absolute;border:1px solid #e8cbd0;border-radius:50%;width:380px;height:380px;top:50%;transform:translateY(-50%);}
.closing:before {left:-295px;}
.closing:after {right:-295px;}
.closing-inner {position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;}
.closing-logo {display:grid;place-items:center;border-radius:50%;height:155px;width:155px;background:#fff6f6;border:1px solid #f0dfe2;margin-bottom:28px;box-shadow:0 15px 40px rgba(81,20,37,.07);}
.closing-logo img {width:130px;height:128px;object-fit:contain;}
.closing-label {font:800 10px var(--font-heading);letter-spacing:.19em;color:#9b5769;}
.closing h2 {font-size:clamp(32px,4vw,54px);margin:17px 0 12px;}
.closing h2 strong {color:var(--red);}
.closing p {font-size:15px;color:#74666b;line-height:1.8;}
.closing-return {margin-top:21px;display:inline-flex;align-items:center;gap:24px;padding:14px 20px;border:1px solid #b9979f;color:var(--wine);font-size:12px;font-weight:800;transition:background .2s,color .2s;}
.closing-return:hover {background:var(--wine);color:#fff;}
.closing-return span {font-size:18px;}
.footer {background:var(--wine-dark);color:#dcb7c1;}
.footer-inner {min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;}
.footer nav {display:flex;align-items:center;gap:28px;}
.footer nav a:hover {color:white;}
.footer-inner > span:last-child {font:800 10px var(--font-heading);letter-spacing:.12em;}
/* Reveal animations */
.js .reveal {opacity:0;transform:translateY(25px);transition:opacity .75s ease, transform .75s cubic-bezier(.2,.65,.25,1);}
.js .reveal.is-visible {opacity:1;transform:translateY(0);}
.js .reveal.delay-1 {transition-delay:.11s;}
.js .reveal.delay-2 {transition-delay:.19s;}
.js .reveal.delay-3 {transition-delay:.27s;}
@media (max-width: 1160px) {
  .container {width:min(calc(100% - 64px),var(--container));}
  .desktop-nav {gap:15px;}
  .desktop-nav a {font-size:11px;}
  .header-cta {padding:13px 14px;}
  .hero-layout {gap:26px;}
  .hero h1 {font-size:clamp(43px,4.7vw,64px);}
  .hero-seal {left:-5%;}
  .about-grid {gap:60px;}
  .capacity-inner {gap:48px;}
  .cert-layout {gap:50px;}
}
@media (max-width: 950px) {
  .site-header {height:78px;}
  .site-header.scrolled {height:73px;}
  .desktop-nav,.header-cta {display:none;}
  .menu-toggle {display:flex;}
  .mobile-nav {display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:18px 32px 35px;box-shadow:0 25px 30px rgba(36,10,19,.15);height:calc(100dvh - 78px);max-height:calc(100dvh - 78px);overflow:auto;transform:translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s,transform .25s;}
  .site-header.nav-visible .mobile-nav {opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}
  .mobile-nav a {font:800 17px/1.4 var(--font-heading);padding:15px 0;border-bottom:1px solid #ead8dc;color:var(--wine);}
  .mobile-nav a:last-child {color:var(--red);}
  .hero-layout {grid-template-columns:1fr;gap:25px;padding-block:70px 40px;min-height:initial;}
  .hero-content {max-width:760px;}
  .hero h1 {max-width:700px;font-size:clamp(44px,6.4vw,72px);}
  .hero-under {margin-top:35px;}
  .hero-visual {height:490px;width:min(680px,100%);justify-self:center;margin-top:20px;}
  .hero-photo-frame {left:14%;width:73%;height:78%;}
  .hero-small-photo {right:2%;width:37%;}
  .hero-seal {left:3%;bottom:2%;}
  .about-grid {gap:48px;}
  .about-visual {height:500px;}
  .about-main-image {width:88%;}
  .process-grid {grid-template-columns:repeat(2,1fr);}
  .cert-layout {grid-template-columns:1fr;gap:24px;}
  .cert-intro {max-width:650px;}
  .video-layout {gap:40px;}
  .capacity-inner {gap:25px;}
  .capacity-right {gap:8px;}
  .cap-card {padding:23px 16px;}
}
@media (max-width: 690px) {
  html {scroll-padding-top:73px;}
  .container {width:calc(100% - 38px);}
  .topline {height:22px;font-size:7px;letter-spacing:.18em;}
  .site-header {height:70px;}
  .site-header.scrolled {height:68px;}
  .brand-mark,.brand-mark img {width:54px;height:54px;}
  .brand {gap:8px;}
  .brand-name small {font-size:7px;letter-spacing:.14em;}
  .brand-name strong {font-size:19px;}
  .mobile-nav {padding:14px 22px 28px;height:calc(100dvh - 70px);max-height:calc(100dvh - 70px);}
  .hero-layout {padding-top:49px;gap:8px;}
  .eyebrow {font-size:9px;letter-spacing:.17em;}
  .eyebrow-line {width:26px;}
  .hero h1 {margin:25px 0 20px;font-size:clamp(37px,9vw,54px);line-height:1.13;}
  .hero-lead {font-size:14px;line-height:1.8;}
  .hero-actions {gap:16px;}
  .btn {font-size:11px;}
  .btn-primary {padding:0 18px;min-height:51px;}
  .btn-play {height:34px;width:34px;}
  .hero-under {margin-top:29px;font-size:8px;}
  .hero-visual {height:390px;margin-top:15px;}
  .hero-photo-frame {height:75%;width:81%;left:12%;top:6%;border-width:7px;border-radius:120px 120px 12px 12px;}
  .hero-photo-overlay {left:14px;right:14px;bottom:14px;font-size:7px;}
  .hero-photo-overlay span:first-child {font-size:17px;}
  .hero-small-photo {right:0;bottom:0;width:42%;height:40%;border-width:6px;}
  .hero-seal {left:-1%;bottom:1%;width:131px;height:131px;border-width:4px;gap:6px;}
  .hero-seal strong {font-size:25px;}
  .hero-seal .seal-small,.hero-seal span:last-child {font-size:7px;}
  .hero-orbit {inset:10px -7px 0 40px;}
  .hero-bottom {padding-bottom:21px;gap:12px;font-size:8px;}
  .hero-bottom span:first-child {max-width:65%;line-height:1.5;}
  .metrics-grid {grid-template-columns:repeat(2,1fr);padding-block:9px;}
  .metric {padding:24px 13px 24px 7px;}
  .metric:nth-child(2)::after {display:none;}
  .metric:nth-child(-n+2) {border-bottom:1px solid #e9d8da;}
  .metric:not(:last-child)::after {right:7%;height:40px;}
  .metric-number {font-size:clamp(27px,8vw,40px);}
  .metric-label {font-size:9px;line-height:1.5;}
  .section {padding-block:76px;}
  .section-kicker {font-size:9px;letter-spacing:.12em;margin-bottom:21px;}
  h2 {font-size:clamp(33px,8.2vw,46px);}
  .about-grid {grid-template-columns:1fr;gap:44px;}
  .about-visual {height:365px;order:2;}
  .about-copy {order:1;}
  .about-main-image {height:88%;width:85%;border-radius:130px 10px 10px 10px;}
  .about-secondary-image {width:47%;height:39%;}
  .about-copy .section-intro {font-size:14px;}
  .about-fact h3 {font-size:15px;}
  .capacity {padding:80px 0 100px;}
  .capacity-inner {grid-template-columns:1fr;gap:57px;}
  .capacity-left > p {font-size:14px;}
  .capacity-number {margin-top:33px;}
  .capacity-number strong {font-size:clamp(55px,14vw,82px);}
  .capacity-right {max-width:540px;gap:12px;}
  .cap-card {min-height:235px;}
  .cap-card strong {font-size:52px;}
  .cap-card strong small {font-size:13px;}
  .plant-columns {flex-wrap:wrap;}
  .plant-columns span {min-width:100%;padding:8px;}
  .section-heading {display:block;margin-bottom:32px;}
  .section-heading h2 {margin-bottom:17px;}
  .section-heading > p {font-size:13px;max-width:470px;}
  .process-grid {gap:11px;}
  .process-card {min-height:240px;padding:17px 15px 20px;}
  .process-icon {width:48px;height:48px;margin-top:24px;}
  .process-icon svg {width:45px;height:45px;}
  .process-card h3 {font-size:13px;line-height:1.45;min-height:54px;margin:20px 0 18px;}
  .process-footer {margin-top:33px;gap:11px;font-size:7px;text-align:center;white-space:normal;}
  .garment-grid {grid-template-columns:1fr;gap:16px;}
  .garment-card {min-height:470px;padding:22px 24px;}
  .garment-art {min-height:290px;}
  .cert-grid {grid-template-columns:repeat(2,1fr);}
  .cert-name {min-height:93px;font-size:clamp(15px,4.5vw,23px);}
  .cert-intro p {font-size:14px;}
  .video-layout {grid-template-columns:1fr;gap:45px;}
  .video-copy h2 {max-width:500px;}
  .video-copy > p {font-size:14px;}
  .video-subimage {display:none;}
  .video-display {max-width:min(360px,calc(100% - 44px));}
  .video-caption {font-size:8px;}
  .closing {padding:72px 0;}
  .closing-logo {height:135px;width:135px;}
  .closing-logo img {width:112px;height:112px;}
  .closing h2 {font-size:clamp(26px,7vw,38px);line-height:1.3;overflow-wrap:anywhere;}
  .closing p {font-size:14px;}
  .footer-inner {padding:26px 0;min-height:0;flex-direction:column;gap:16px;text-align:center;font-size:10px;}
  .footer nav {gap:18px;}
}
@media (max-width: 380px) {
  .container {width:calc(100% - 30px);}
  .hero h1 {font-size:35px;}
  .hero-visual {height:335px;}
  .hero-seal {width:111px;height:111px;}
  .hero-seal strong {font-size:21px;}
  .hero-photo-overlay span:last-child {display:none;}
  .hero-actions {gap:10px;}
  .btn {font-size:10px;gap:8px;}
  .metric-number {font-size:26px;}
  .process-card {padding-inline:11px;}
  .cap-card {padding-inline:11px;}
  .cap-card strong {font-size:42px;}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}
  .js .reveal {opacity:1;transform:none;}
}
