:root{--terroir-bg:#fafafa;--terroir-text:#1a1a1a;--terroir-text-muted:#666;--terroir-accent:#c4673e;--terroir-wine:#722f37;--terroir-tan:#d4c4b0;--terroir-lake-shallow:#e6f2ff;--terroir-lake-deep:#1a365d;--terroir-sea-level:#4a90a4}.terroir-page{background:var(--terroir-bg);color:var(--terroir-text);min-height:100vh;overflow-x:hidden}.terroir-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;position:relative}.terroir-section-inner{max-width:1200px;width:100%;margin:0 auto}.terroir-headline{font-family:Playfair Display,serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;line-height:1.1;margin-bottom:24px;letter-spacing:-.02em}.terroir-subhead{font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:400;max-width:600px;line-height:1.5;margin-bottom:48px}.terroir-stat-label,.terroir-subhead{font-family:Inter,sans-serif;color:var(--terroir-text-muted)}.terroir-stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.terroir-stat-value{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:var(--terroir-text)}.lakes-section{background:linear-gradient(180deg,var(--terroir-bg) 0,#f0f4f8 100%)}.lakes-header{text-align:center;margin-bottom:48px}.lakes-visualization{width:100%;max-width:1000px;margin:0 auto}.lakes-chart{width:100%;height:auto}.lake-profile{cursor:pointer}.lake-wedge{transition:transform .2s ease-out,filter .2s ease-out,opacity .2s ease-out;transform-origin:top center}.lake-wedge.hovered{transform:translateY(-8px);filter:brightness(1.1)}.lake-wedge.dimmed{filter:brightness(.75);opacity:.6}.lake-label{font-size:11px;font-weight:500}.lake-depth-label,.lake-label{font-family:Inter,sans-serif;fill:var(--terroir-text);text-anchor:middle}.lake-depth-label{font-size:12px;font-weight:600}.sea-level-grid{pointer-events:none}.grid-line{stroke-linecap:round}.grid-line-horizontal:first-child{stroke-width:1.5}.grid-dot{transform-origin:center center}.sea-level-label{font-weight:500;fill:var(--terroir-sea-level)}.below-sea-level-callout,.sea-level-label{font-family:Inter,sans-serif;font-size:11px}.below-sea-level-callout .callout-lake-name{fill:var(--terroir-lake-deep);font-weight:600}.below-sea-level-callout .callout-depth{fill:var(--terroir-text-muted);font-size:10px;font-weight:500}.below-sea-level-connector{transition:opacity .3s ease}.lake-tooltip{position:fixed;background:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 4px 20px rgba(0,0,0,.15);pointer-events:none;z-index:100;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;max-width:200px}.lake-tooltip.visible{opacity:1;transform:translateY(0)}.lake-tooltip-name{font-family:Playfair Display,serif;font-size:1.125rem;font-weight:600;margin-bottom:8px;color:var(--terroir-text)}.lake-tooltip-stats{display:grid;grid-gap:4px;gap:4px}.lake-tooltip-stat{font-family:Inter,sans-serif;font-size:.8125rem;color:var(--terroir-text-muted)}.lake-tooltip-stat strong{color:var(--terroir-text);font-weight:600}.lakes-legend{display:flex;justify-content:center;gap:32px;margin-top:32px;flex-wrap:wrap}.lakes-legend-item{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:.875rem;color:var(--terroir-text-muted)}.lakes-legend-swatch{width:24px;height:12px;border-radius:2px}.progress-indicator{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;z-index:50}.progress-dot{width:10px;height:10px;border-radius:50%;background:var(--terroir-tan);border:2px solid var(--terroir-tan);cursor:pointer;transition:all .3s ease}.progress-dot.active,.progress-dot:hover{background:var(--terroir-accent);border-color:var(--terroir-accent)}.progress-dot.active{transform:scale(1.3)}@media (max-width:767px){.progress-indicator{display:none}}.intro-section{text-align:center;background:var(--terroir-bg)}.intro-section .terroir-headline{max-width:800px}.intro-section .terroir-subhead{margin-left:auto;margin-right:auto}.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:48px;color:var(--terroir-text-muted);animation:bounce 2s infinite}.scroll-hint-text{font-family:Inter,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.scroll-hint-arrow{width:24px;height:24px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(8px)}60%{transform:translateY(4px)}}.climate-section{background:linear-gradient(180deg,#f0f4f8 0,var(--terroir-bg) 100%)}.climate-header{text-align:center;margin-bottom:48px}.climate-content{display:flex;align-items:center;justify-content:center;gap:64px;flex-wrap:wrap}.climate-chart-container{display:flex;flex-direction:column;align-items:center}.climate-chart{width:100%;max-width:400px;height:auto}.climate-legend{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap;justify-content:center}.climate-legend-item{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:.8125rem;color:var(--terroir-text-muted)}.legend-line{width:20px;height:3px;border-radius:2px}.legend-line.legend-high{background:var(--terroir-accent)}.legend-line.legend-low{background:var(--terroir-lake-deep)}.legend-bar{width:6px;height:16px;background:var(--terroir-sea-level);border-radius:3px}.climate-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:32px;gap:32px}.climate-stat{text-align:center}.climate-stat-value{display:block;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;color:var(--terroir-text);line-height:1.1}.climate-stat-label{display:block;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--terroir-text-muted);margin-top:4px}.climate-note{max-width:600px;margin:48px auto 0;text-align:center}.climate-note p{font-family:Inter,sans-serif;font-size:.9375rem;font-style:italic;color:var(--terroir-text-muted);line-height:1.6}@media (max-width:767px){.climate-content{flex-direction:column;gap:40px}.climate-stats{gap:24px}.climate-stat-value{font-size:2rem}.climate-legend{gap:16px}}.land-section{background:linear-gradient(180deg,var(--terroir-bg) 0,#f5f0e8 100%)}.land-header{text-align:center;margin-bottom:48px}.land-content{display:flex;flex-direction:column;gap:48px}.cross-section-container{width:100%;max-width:900px;margin:0 auto}.cross-section-chart{width:100%;height:auto;border-radius:8px;overflow:hidden}.geo-timeline{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;padding:0 16px}.timeline-item{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:180px}.timeline-date{font-family:Playfair Display,serif;font-size:1.125rem;font-weight:600;color:var(--terroir-accent);margin-bottom:4px}.timeline-event{font-family:Inter,sans-serif;font-size:.8125rem;color:var(--terroir-text-muted);line-height:1.4}.soil-types{max-width:700px;margin:0 auto}.soil-types-title{font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--terroir-text-muted);text-align:center;margin-bottom:20px}.soil-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.soil-card{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.soil-swatch{width:32px;height:32px;border-radius:4px;flex-shrink:0}.soil-info{display:flex;flex-direction:column}.soil-name{font-size:.8125rem;font-weight:600;color:var(--terroir-text)}.soil-desc,.soil-name{font-family:Inter,sans-serif}.soil-desc{font-size:.6875rem;color:var(--terroir-text-muted)}@media (max-width:767px){.geo-timeline{flex-direction:column;align-items:center;gap:24px}.timeline-item{max-width:100%;flex-direction:row;text-align:left;gap:12px}.timeline-date{min-width:100px;font-size:.875rem}.soil-grid{grid-template-columns:1fr}}@media (min-width:768px) and (max-width:1023px){.soil-grid{grid-template-columns:repeat(2,1fr)}}.vines-section{background:linear-gradient(180deg,#f5f0e8,#f9f5f0)}.vines-header{text-align:center;margin-bottom:48px}.vines-content{display:flex;flex-direction:column;gap:48px}.wine-timeline{width:100%;max-width:1000px;margin:0 auto;padding:80px 40px}.timeline-track{position:relative;height:200px;background:var(--terroir-tan);height:4px;border-radius:2px;margin-top:100px}.timeline-progress{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--terroir-wine) 0,var(--terroir-accent) 100%);border-radius:2px;transform-origin:left center}.timeline-years{position:absolute;width:100%;top:20px}.year-marker{position:absolute;transform:translateX(-50%)}.year-label{font-family:Inter,sans-serif;font-size:.75rem;color:var(--terroir-text-muted)}.timeline-milestone{position:absolute;transform:translateX(-50%);z-index:10}.timeline-milestone.above{bottom:100%;padding-bottom:20px}.timeline-milestone.below{top:100%;padding-top:20px}.milestone-dot{position:absolute;width:16px;height:16px;background:var(--terroir-wine);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);left:50%;transform:translateX(-50%)}.timeline-milestone.above .milestone-dot{bottom:12px}.timeline-milestone.below .milestone-dot{top:12px}.milestone-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:140px;margin:0 auto}.milestone-year{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:var(--terroir-wine);margin-bottom:4px}.milestone-event{font-family:Inter,sans-serif;font-size:.75rem;color:var(--terroir-text);line-height:1.4;margin-bottom:4px}.milestone-count{font-family:Inter,sans-serif;font-size:.6875rem;font-weight:600;color:var(--terroir-accent);text-transform:uppercase;letter-spacing:.05em}.wine-stats{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;padding:32px 0}.wine-stat{text-align:center;min-width:120px}.wine-stat.highlight{position:relative}.wine-stat.highlight:before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:40px;height:3px;background:var(--terroir-wine);border-radius:2px}.wine-stat-value{display:block;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;color:var(--terroir-text);line-height:1.1}.wine-stat.highlight .wine-stat-value{font-size:3rem;color:var(--terroir-wine)}.wine-stat-label{display:block;font-family:Inter,sans-serif;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--terroir-text-muted);margin-top:4px}.varietals-section{max-width:800px;margin:0 auto}.varietals-title{font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--terroir-text-muted);text-align:center;margin-bottom:24px}.varietals-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.varietal-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 12px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);text-align:center;transition:transform .2s ease,box-shadow .2s ease}.varietal-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.varietal-icon{font-size:2rem}.varietal-info{display:flex;flex-direction:column;gap:4px}.varietal-name{font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:var(--terroir-text)}.varietal-desc{font-family:Inter,sans-serif;font-size:.6875rem;color:var(--terroir-text-muted)}@media (max-width:767px){.wine-timeline{padding:60px 16px}.timeline-track{margin-top:60px}.milestone-content{max-width:100px}.milestone-year{font-size:1rem}.milestone-event{font-size:.6875rem}.wine-stats{gap:24px}.wine-stat-value{font-size:2rem}.wine-stat.highlight .wine-stat-value{font-size:2.5rem}.varietals-grid{grid-template-columns:repeat(2,1fr);gap:12px}.varietal-card{padding:16px 8px}.varietal-icon{font-size:1.5rem}}@media (min-width:768px) and (max-width:1023px){.wine-timeline{padding:80px 24px}.varietals-grid{grid-template-columns:repeat(4,1fr)}}.harvest-section{background:linear-gradient(180deg,#f9f5f0 0,var(--terroir-bg) 100%)}.harvest-header{text-align:center;margin-bottom:48px}.harvest-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:48px;gap:48px;max-width:900px;margin:0 auto 48px}.harvest-stat-group{display:flex;flex-direction:column;gap:24px}.stat-group-title{font-family:Inter,sans-serif;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--terroir-accent);text-align:center}.stat-group-cards{display:flex;flex-direction:column;gap:16px}.harvest-stat{background:#fff;border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease}.harvest-stat:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.harvest-stat.highlight{background:linear-gradient(135deg,var(--terroir-wine) 0,#8b3a42 100%)}.harvest-stat.highlight .harvest-stat-value{color:#fff}.harvest-stat.highlight .harvest-stat-label{color:hsla(0,0%,100%,.85)}.harvest-stat-value{display:block;font-family:Playfair Display,serif;font-size:3rem;font-weight:700;color:var(--terroir-text);line-height:1;margin-bottom:8px}.harvest-stat-label{display:block;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--terroir-text-muted)}.harvest-products{max-width:700px;margin:0 auto 48px}.products-title{font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--terroir-text-muted);text-align:center;margin-bottom:24px}.products-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:16px;gap:16px}.product-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:#fff;border-radius:12px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.05)}.product-icon{font-size:1.75rem}.product-name{font-family:Inter,sans-serif;font-size:.6875rem;font-weight:500;color:var(--terroir-text)}.harvest-cta{text-align:center;padding-top:32px}.cta-text{font-size:1.125rem;color:var(--terroir-text-muted);margin-bottom:20px}.cta-button,.cta-text{font-family:Inter,sans-serif}.cta-button{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;background:var(--terroir-wine);color:#fff;font-size:1rem;font-weight:600;border-radius:8px;text-decoration:none;transition:background .2s ease,transform .2s ease}.cta-button:hover{background:#8b3a42;transform:translateY(-2px)}.cta-arrow{width:20px;height:20px}@media (max-width:767px){.harvest-stats-grid{grid-template-columns:1fr;gap:32px}.harvest-stat-value{font-size:2.5rem}.harvest-stat{padding:20px 16px}.products-grid{grid-template-columns:repeat(3,1fr);gap:12px}.product-icon{font-size:1.5rem}.product-name{font-size:.625rem}.cta-button{width:100%;justify-content:center;padding:14px 24px}}@media (min-width:768px) and (max-width:1023px){.products-grid{grid-template-columns:repeat(3,1fr)}}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.stagger-in>*{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.stagger-in.visible>:first-child{transition-delay:0s;opacity:1;transform:translateY(0)}.stagger-in.visible>:nth-child(2){transition-delay:.1s;opacity:1;transform:translateY(0)}.stagger-in.visible>:nth-child(3){transition-delay:.2s;opacity:1;transform:translateY(0)}.stagger-in.visible>:nth-child(4){transition-delay:.3s;opacity:1;transform:translateY(0)}.stagger-in.visible>:nth-child(5){transition-delay:.4s;opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.fade-in,.lake-bar,.progress-dot,.scroll-hint,.stagger-in>*{transition:none;animation:none}.fade-in,.stagger-in>*{opacity:1;transform:none}}@media (max-width:767px){.terroir-section{padding:60px 16px}.lakes-legend{gap:16px}.lakes-legend-item{font-size:.75rem}.lake-label{font-size:9px}.lake-depth-label{font-size:10px}}@media (min-width:768px) and (max-width:1023px){.terroir-section{padding:80px 32px}}.climate-bar-chart-container{width:100%;max-width:900px;margin:0 auto;position:relative}.climate-bar-chart{width:100%;height:auto;display:block}.climate-content-tight{display:flex;flex-direction:column;gap:1rem}.temp-bar{transition:opacity .2s ease}.temp-bar:hover{opacity:.8}.temp-grid-line{pointer-events:none}.month-label,.temp-grid-label{-webkit-user-select:none;-moz-user-select:none;user-select:none}.climate-tooltip,.growing-season-zone{pointer-events:none}.climate-tooltip{background:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:10;min-width:120px;opacity:0;transition:opacity .15s ease}.climate-tooltip.visible{opacity:1}.climate-tooltip-title{font-weight:600;margin-bottom:.5rem;color:var(--terroir-text);font-size:.95rem}.climate-tooltip-stats{font-size:.85rem;color:var(--terroir-text-muted);line-height:1.6}.climate-tooltip-stats strong{color:var(--terroir-text)}.climate-mini-charts{display:flex;gap:20px;width:100%;max-width:900px;margin-left:auto;margin-right:auto}.climate-mini-chart{flex:1 1;min-width:0;background:rgba(0,0,0,.02);border-radius:8px;padding:.75rem;position:relative}.climate-mini-chart svg{width:100%;height:auto;display:block}.precip-area,.precip-dot,.precip-line{pointer-events:none}.snow-bar{transition:opacity .2s ease}.snow-bar:hover{opacity:.9}.climate-stats-row-tight{display:flex;justify-content:center;align-items:center;gap:1rem;padding:.5rem 0;flex-wrap:wrap;margin:0}.climate-stat-item{display:flex;align-items:baseline;gap:.4rem}.climate-stat-item .climate-stat-value{font-size:1.25rem;font-weight:600;color:var(--terroir-text);font-family:var(--font-sans)}.climate-stat-item .climate-stat-label{font-size:.85rem;color:var(--terroir-text-muted);font-family:var(--font-sans)}.climate-stat-divider{color:var(--terroir-tan);font-size:.75rem;opacity:.6}.climate-note-tight{margin:0;padding:0}.climate-note-tight p{text-align:center;color:var(--terroir-text-muted);font-size:.95rem;font-style:italic;max-width:600px;margin:0 auto}@media (max-width:768px){.climate-content-tight{gap:.75rem}.climate-mini-charts{flex-direction:column;gap:.75rem}.climate-mini-chart{flex:none;width:100%}.climate-stats-row-tight{flex-direction:column;gap:.5rem}.climate-stat-divider{display:none}.climate-stat-item{flex-direction:column;align-items:center;gap:.1rem}.climate-tooltip{display:none}}@media (max-width:480px){.climate-mini-chart{padding:.5rem}}