/* 第三版修订：优先保证普通浏览器和手机上的可见性、阅读及点击。
   摄影改为独立 JPEG；本文件只做页面排版，不依赖图片蒙版或透明文字。 */
[hidden]{display:none!important}
:root{--muted:#75637f;--header:78px}
.hero h1 em{color:#d2b0f1;background:none;-webkit-text-fill-color:currentColor}
.hero h1{font-size:86px;line-height:1.22;letter-spacing:-4px}
.hero-aura{z-index:0;pointer-events:none}
.hero-eight{z-index:1;pointer-events:none}
.hero-content{z-index:2;min-height:680px}
.hero-copy{position:relative;z-index:3;max-width:610px}
.hero-callout{z-index:3}
.hero-vertical{z-index:3}
.hero-bottom{z-index:4}
.hero-media{position:absolute;right:-150px;top:-12px;width:1090px;height:727px;z-index:1;overflow:hidden;background:#160e1e}
.hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,#140d1d 0%,transparent 34%,transparent 90%,#160f22),linear-gradient(0deg,#160f22,transparent 14%,transparent 91%,#140d1d)}
.hero-media .hero-grapes{position:relative;inset:auto;max-width:100%;width:100%;height:100%;object-fit:contain;opacity:1;z-index:0;mask:none;-webkit-mask:none;mix-blend-mode:normal;animation:none;transform:none;color:#e2ccea;font-size:14px}
.hero-subtitle{font-size:17px;line-height:1.9;color:#d4c3df}
.hero-contact-line{font-size:12px;line-height:1.9;color:#b5a0c2}
.hero-contact-line a{font-size:13px;color:#ddc4f0}
.hero-callout .micro-label{font-size:9px;color:#bea5d0}
.hero-callout p{font-size:14px;color:#f0e3fb}
.hero-actions>.text-link{font-size:14px}
.nav-shell nav{font-size:13px;gap:25px;margin-right:4px}
.nav-shell nav a{min-height:44px;display:inline-flex;align-items:center}
.nav-call{font-size:12px;min-height:42px}
.eyebrow{font-size:12px;letter-spacing:1.8px}
.dark-eyebrow{color:#765984}
.section-note{font-size:15px;color:#71617b;line-height:1.9;max-width:300px}
.section-note a{font-size:13px;color:#76468f}
.macro-card{isolation:isolate}
.macro-card img{z-index:0}
.macro-shade{z-index:1}
.macro-copy{z-index:2}
.image-note{z-index:2;font-size:12px;line-height:1.75;color:#f3e9fa;text-shadow:0 1px 6px #180d26}
.macro-copy .micro-label{font-size:11px}
.character-card>p{font-size:14px;line-height:1.95;color:#695374;max-width:335px}
.card-topline{color:#775586}
.card-keyword{font-size:9px;color:#876694}
.character-card{padding-bottom:36px}
.character-details>div>p{font-size:14px;line-height:1.95;color:#75627f}
.character-footnote{font-size:12px;color:#7e6b86;line-height:1.9}
.detail-index{font-size:12px;color:#8b699e}
.statement-content>.eyebrow{font-size:12px;color:#c9abdd}
.statement-description{font-size:15px;line-height:1.95;color:#d0b7de}
.flavour-notes{font-size:14px;color:#dcc4ea}
.nutrition-overline{font-size:12px;color:#735b80}
.nutrient-name{font-size:13px;color:#765a82}
.nutrient-name>span:last-child{font-size:9px;color:#9982a4}
.nutrient-value>span:last-child{font-size:14px;color:#71507e}
.nutrition-explainer p{font-size:15px;color:#61426f}
.nutrition-explainer p>span{font-size:13px;line-height:1.85;color:#766181}
.nutrition-source{font-size:12px;color:#786482;line-height:1.9}
.nutrition-source a{color:#6b3e80}
.portion-control button{font-size:14px;min-height:44px}
.ritual-grid h3{font-size:21px}
.ritual-grid p{font-size:14px;color:#796284}
.ritual-heading .text-link{font-size:14px;min-height:44px}
.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.95;color:#cfb5dc}
.contact-copy>.eyebrow{font-size:12px;color:#c4a3d8}
.contact-label{font-size:13px;color:#ceb0df}
.contact-card-heading .micro-label{font-size:11px;color:#c09cd3}
.contact-row{margin-top:20px}
.copy-button{font-size:13px;min-height:44px;color:#d1afe6;margin-top:4px}
.contact-tip{font-size:12px;color:#bda0ce;line-height:1.8}
.address-row>p{font-size:17px;line-height:1.95;color:#f0defb;overflow-wrap:anywhere}
.contact-call{font-size:14px;min-height:48px}
.contact-signature>small{font-size:12px;color:#c2a4d2;line-height:1.7}
.footer-brandline{font-size:13px;color:#ccb4db}
.site-footer p{font-size:12px;line-height:1.9;color:#ac97ba}
.site-footer a{color:#c2a5d5}
.guide-list h3{font-size:16px}
.guide-list p{font-size:13px;line-height:1.85;color:#745b80}
.guide-source{font-size:11px;color:#77508c;line-height:2.1;margin-right:9px}
.dialog-close{width:40px;height:40px;right:13px;top:13px}
.guide-done{min-height:48px;font-size:14px}

/* 图片失败时展示独立的可读提示；不让长 alt 被渐变和绝对定位切成一条线。 */
.media-frame{position:relative;background:#251634}
.media-frame img{font-size:14px;color:#e3cbee}
.hero-media.media-frame{position:absolute}
.media-status{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:30px;background:linear-gradient(145deg,#241632,#392149);color:#f6eafd;text-align:center;line-height:1.8}
.media-status-icon{font-size:38px;line-height:1;color:#bd92d9}
.media-status p{font-size:16px;line-height:1.8;max-width:25em}
.media-status button{min-height:46px;padding:11px 20px;border:1px solid #b48acb80;border-radius:100px;background:#cca5e9;color:#291836;font-size:14px;line-height:1.7}
.media-frame[data-image-state="error"]:after{display:none}
.media-frame[data-image-state="error"]>img{visibility:hidden}

/* 新增场景：图像占明确的正常文档区域，避免移动浏览器层合成差异。 */
.vineyard-section{padding:102px 0 81px;background:#10150e;color:#f3f5e9}
.vineyard-section .section-heading h2{font-size:50px;line-height:1.35}
.vineyard-section .section-heading h2 span{color:#c0d297}
.vineyard-section .eyebrow{color:#a8bb92}
.vineyard-section .section-note{color:#bdc9b0;font-size:15px}
.vineyard-figure{margin:0}
.vineyard-photo{height:605px;border-radius:28px;overflow:hidden;background:#20301c}
.vineyard-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.vineyard-photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#101e12b0,transparent 67%);pointer-events:none}
.vineyard-photo-copy{position:absolute;bottom:40px;left:40px;right:30px;color:white}
.vineyard-photo-copy .micro-label{color:#e7efdc;font-size:11px}
.vineyard-photo-copy p{font-size:37px;line-height:1.4;letter-spacing:-1px;font-weight:550;margin-top:16px;text-shadow:0 2px 15px #0a1b1070}
.vineyard-figure figcaption{display:flex;justify-content:space-between;gap:20px;padding:17px 3px 0;color:#b5c3a5;font-size:12px;line-height:1.8}
.vineyard-figure figcaption>span:first-child{letter-spacing:1px;color:#d4dec6}
.vineyard-wordline{border-top:1px solid #a8bb8030;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:42px;padding-top:31px}
.vineyard-wordline>span{font-size:27px;font-weight:550;letter-spacing:-.5px;color:#dce9c8}
.vineyard-wordline p{font-size:13px;line-height:1.9;color:#b8c6a9}
.vineyard-wordline .text-link{color:#d0ddb9;font-size:13px;white-space:nowrap}
.feast-section{padding:94px 0}
.feast-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:64px;align-items:center}
.feast-photo{height:490px;border-radius:28px;overflow:hidden;background:#e1d2b9}
.feast-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.feast-photo .image-note{position:absolute;bottom:21px;left:27px;background:#28182a73;padding:4px 10px;border-radius:20px;font-size:11px}
.feast-copy h2{font-size:39px;line-height:1.4;letter-spacing:-1.6px;margin-top:22px}
.feast-copy h2 em{color:#8251a0}
.feast-copy>p:not(.eyebrow){font-size:15px;line-height:2;color:#796382;margin-top:24px}
.feast-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.feast-tags span{font-size:12px;line-height:1.7;border:1px solid #c4afd0;border-radius:100px;padding:7px 13px;color:#7e598f}
.feast-copy>.text-link{margin-top:30px;font-size:14px;min-height:44px}

@media(min-width:1500px){.hero-content{min-height:750px}.hero-media.media-frame{right:-222px;top:-26px;width:1280px;height:853px}.hero h1{font-size:96px}}
@media(max-width:1100px){.hero h1{font-size:76px;letter-spacing:-3.7px}.hero-copy{max-width:560px}.hero-media.media-frame{width:955px;height:637px;right:-215px;top:37px}.hero-content{min-height:657px}.nav-shell nav{gap:18px;font-size:12px}.nav-shell{gap:17px}.character-card>p{font-size:14px;max-width:90%}.vineyard-section .section-heading h2{font-size:43px}.vineyard-photo{height:560px}.vineyard-wordline{gap:24px}.vineyard-wordline>span{font-size:23px}.feast-grid{gap:42px}.feast-copy h2{font-size:34px}.feast-photo{height:480px}}
@media(max-width:820px){.hero h1{font-size:65px;letter-spacing:-3px}.hero-copy{max-width:485px}.hero-media.media-frame{width:810px;height:540px;right:-205px;top:66px}.hero-content{min-height:626px}.hero-subtitle{font-size:15px}.hero-actions>.text-link{font-size:12px}.hero-contact-line{font-size:11px}.hero-contact-line a{font-size:12px}.nav-shell nav{gap:15px;font-size:11px}.nav-call{font-size:10px}.section-note{font-size:14px}.character-card{padding:25px}.character-card h3{font-size:23px}.character-card>p{font-size:13px;max-width:100%;line-height:1.9}.character-stack{gap:17px}.card-keyword{position:static;display:block;writing-mode:horizontal-tb;margin-top:15px;font-size:9px;letter-spacing:1px}.character-details>div>p{font-size:13px}.character-footnote{font-size:12px}.nutrition-toolbar{gap:18px}.nutrient-name{font-size:12px}.nutrient-value{font-size:36px}.nutrient-value>span:last-child{font-size:12px}.nutrition-source{font-size:11px}.ritual-grid h3{font-size:18px}.ritual-grid p{font-size:13px}.contact-copy>p:not(.eyebrow){font-size:14px}.contact-label{font-size:12px}.contact-card-heading .micro-label{font-size:9px}.contact-phone{font-size:27px}.address-row>p{font-size:15px}.contact-tip{font-size:11px}.contact-call{font-size:12px}.vineyard-section{padding:76px 0 66px}.vineyard-section .section-heading h2{font-size:37px}.vineyard-section .section-note{font-size:13px}.vineyard-photo{height:520px}.vineyard-photo-copy{bottom:31px;left:30px}.vineyard-photo-copy p{font-size:31px}.vineyard-wordline{flex-wrap:wrap;gap:22px}.vineyard-wordline>span{font-size:25px}.vineyard-wordline p{font-size:13px}.vineyard-wordline .text-link{min-height:44px}.feast-section{padding:75px 0}.feast-grid{gap:31px}.feast-copy h2{font-size:29px}.feast-copy>p:not(.eyebrow){font-size:14px}.feast-photo{height:435px}.feast-tags{gap:8px}.feast-tags span{font-size:11px;padding:6px 10px}}

/* 手机从正常文档顺序排列标题和主图，不再靠巨大固定高度和负定位“拼”首屏。 */
@media(max-width:600px){
  :root{--header:70px}
  html{scroll-padding-top:88px}
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
  .nav-shell nav a:not([href="#vineyard"]):not([href="#contact"]){display:none}
  .nav-shell nav a{display:inline-flex;min-height:44px;padding:10px 0;font-size:12px}
  .nav-shell nav{gap:20px;white-space:nowrap}
  .brand strong{font-size:16px}
  .brand small{font-size:8px}
  .brand>svg{width:22px}
  .hero{min-height:0}
  .hero-content{display:flex;flex-direction:column;min-height:0;padding-top:45px}
  .hero-copy{max-width:100%;order:0}
  .hero-copy>.eyebrow{font-size:11px;line-height:1.8;letter-spacing:1px}
  .hero h1{font-size:clamp(43px,12.8vw,69px);line-height:1.24;letter-spacing:-2.5px;margin-top:22px;overflow:visible}
  .hero-subtitle{font-size:15px;line-height:1.9;margin-top:22px;color:#d9c7e3;max-width:100%}
  .hero-actions{gap:19px;margin-top:27px;flex-wrap:wrap}
  .hero-actions .button{font-size:13px;min-height:48px;padding:13px 19px;gap:18px}
  .hero-actions .text-link{font-size:13px;min-height:44px;gap:9px}
  .hero-contact-line{font-size:12px;line-height:1.9;margin-top:14px}
  .hero-contact-line a{font-size:13px;white-space:nowrap}
  .hero-media.media-frame{position:relative;order:1;inset:auto;width:calc(100% + 42px);height:auto;aspect-ratio:1 / 1.1;margin:13px -21px 0;z-index:1;background:#130d1b;border-radius:0}
  .hero-media .hero-grapes{width:100%;height:100%;object-fit:cover;object-position:76% center;position:absolute;inset:0;max-width:100%;mix-blend-mode:normal;opacity:1;mask:none;-webkit-mask:none}
  .hero-media:after{background:linear-gradient(0deg,#160f22,transparent 13%,transparent 86%,#140d1d)}
  .hero-eight{font-size:510px;top:360px;right:10px;opacity:.5}
  .hero-bottom{height:auto;min-height:76px;padding-top:16px;padding-bottom:16px;gap:13px}
  .hero-bottom>p{font-size:11px;line-height:1.8;gap:11px;max-width:calc(100% - 49px);align-items:center}
  .mini-index{font-size:9px;white-space:nowrap}
  .round-arrow{flex-shrink:0}
  .feature-ribbon>.wrap{font-size:12px;line-height:1.8;padding-top:22px;padding-bottom:22px;gap:5px;letter-spacing:.2px}
  .feature-ribbon i{font-size:9px}
  .section-heading h2{font-size:36px;line-height:1.35}
  .section-heading .eyebrow{font-size:11px;letter-spacing:1.1px}
  .section-note{font-size:14px;line-height:1.9;margin-top:21px;max-width:100%}
  .section-note a{font-size:13px;min-height:40px;margin-top:9px}
  .macro-card{min-height:435px}
  .macro-copy h3{font-size:33px;line-height:1.45}
  .macro-copy .micro-label{font-size:10px}
  .image-note{font-size:11px;max-width:85%;line-height:1.8}
  .character-stack{grid-template-columns:1fr;gap:17px}
  .character-card{min-height:0;padding:25px 26px 28px}
  .character-card h3{font-size:26px;line-height:1.4;margin-top:16px}
  .character-card>p{font-size:14px;line-height:1.95;margin-top:15px;max-width:100%}
  .card-keyword{position:static;display:block;margin-top:20px;font-size:10px;writing-mode:horizontal-tb;color:#73507f}
  .card-topline>span{font-size:11px}
  .card-topline svg{width:29px;height:29px}
  .character-details h3{font-size:20px;line-height:1.5}
  .character-details>div>p{font-size:14px;line-height:1.95}
  .character-details>div{padding-left:33px}
  .detail-index{font-size:11px}
  .character-footnote{font-size:12px;line-height:1.95}
  .statement-content>.eyebrow{font-size:11px;line-height:1.9;letter-spacing:1px}
  .statement-content h2{font-size:31px;line-height:1.55}
  .statement-description{font-size:14px;line-height:1.9}
  .statement-description br{display:none}
  .flavour-notes{font-size:13px}
  .nutrition-section h2{font-size:32px}
  .nutrition-overline{font-size:12px}
  .nutrition-toolbar{padding:25px 21px;gap:20px}
  .nutrition-toolbar h3{font-size:22px;line-height:1.4}
  .portion-control button{font-size:14px;min-height:45px;padding:9px 11px}
  .nutrient-card{padding:24px 18px;min-height:146px}
  .nutrient-name{font-size:13px;line-height:1.7}
  .nutrient-value{font-size:35px;letter-spacing:-1.3px;margin-top:19px}
  .nutrient-value>span:last-child{font-size:12px;margin-left:4px}
  .nutrition-explainer{padding:24px 20px;gap:12px}
  .nutrition-explainer p{font-size:15px;line-height:1.8}
  .nutrition-explainer p>span{font-size:13px;line-height:1.9}
  .nutrition-source{font-size:12px;line-height:1.9;padding:22px}
  .ritual-heading .eyebrow{font-size:11px;line-height:1.8;letter-spacing:1px}
  .ritual-heading h2{font-size:30px;line-height:1.45}
  .ritual-heading .text-link{font-size:14px;min-height:44px}
  .ritual-grid h3{font-size:20px;line-height:1.5}
  .ritual-grid p{font-size:14px;line-height:1.9}
  .contact-copy>.eyebrow{font-size:11px}
  .contact-copy h2{font-size:39px;line-height:1.4}
  .contact-copy>p:not(.eyebrow){font-size:14px;line-height:1.95}
  .contact-signature{gap:16px;flex-wrap:wrap}
  .contact-signature>small{font-size:11px;letter-spacing:.2px;padding-left:15px}
  .contact-card{padding:28px 23px}
  .contact-label{font-size:13px;line-height:1.8}
  .contact-card-heading .micro-label{font-size:10px;letter-spacing:1.2px}
  .contact-card>h3{font-size:29px;line-height:1.5}
  .contact-phone{font-size:34px;line-height:1.3;letter-spacing:0}
  .address-row>p{font-size:17px;line-height:1.95}
  .copy-button{font-size:14px;min-height:46px;margin-top:3px;gap:10px}
  .copy-button>span{font-size:18px}
  .contact-call{font-size:14px;min-height:50px;gap:13px;padding:14px 17px}
  .contact-tip{font-size:12px;line-height:1.85}
  .footer-brandline{font-size:13px;line-height:1.8}
  .footer-brandline>span:last-child{font-size:9px}
  .site-footer p{font-size:12px;line-height:1.95}
  .mobile-contact{min-height:82px;padding:12px 21px calc(12px + env(safe-area-inset-bottom,0px));gap:15px}
  .mobile-contact strong{font-size:15px}
  .mobile-contact span{font-size:12px;color:#d2b9e0;letter-spacing:.3px}
  .mobile-contact>.button{font-size:14px;min-height:47px;padding:12px 22px;gap:17px}
  .toast{font-size:13px;bottom:calc(98px + env(safe-area-inset-bottom,0px))}
  dialog{max-height:calc(100dvh - 32px);padding:35px 25px}
  dialog h2{font-size:32px;line-height:1.4}
  .guide-list h3{font-size:16px;line-height:1.5}
  .guide-list p{font-size:13px;line-height:1.95}
  .guide-source{font-size:11px;line-height:2.1;margin-right:8px}
  .guide-done{font-size:14px;min-height:49px}
  .vineyard-section{padding:67px 0 60px}
  .vineyard-section .section-heading h2{font-size:35px;line-height:1.42;letter-spacing:-1.2px}
  .vineyard-section .section-heading h2 span{display:block;font-size:clamp(26px,7.5vw,34px);letter-spacing:-1px}
  .vineyard-section .section-note{font-size:14px;line-height:1.9}
  .vineyard-photo{height:auto;aspect-ratio:4/5;border-radius:22px}
  .vineyard-photo>img{position:absolute;inset:0;object-position:70% center}
  .vineyard-photo-copy{bottom:26px;left:24px;right:19px}
  .vineyard-photo-copy .micro-label{font-size:9px;letter-spacing:1.4px}
  .vineyard-photo-copy p{font-size:26px;line-height:1.5;letter-spacing:-.8px}
  .vineyard-figure figcaption{flex-direction:column;gap:3px;padding-top:15px;font-size:12px;line-height:1.85}
  .vineyard-wordline{display:block;padding-top:28px;margin-top:28px}
  .vineyard-wordline>span{font-size:27px;line-height:1.5}
  .vineyard-wordline p{font-size:14px;line-height:1.9;margin-top:17px}
  .vineyard-wordline p br{display:none}
  .vineyard-wordline .text-link{font-size:14px;margin-top:19px}
  .feast-section{padding:67px 0}
  .feast-grid{grid-template-columns:1fr;gap:31px}
  .feast-photo{height:auto;aspect-ratio:4/3;border-radius:23px}
  .feast-photo>img{position:absolute;inset:0;object-position:50% 60%}
  .feast-photo .image-note{left:20px;bottom:16px;font-size:11px}
  .feast-copy h2{font-size:clamp(27px,8.2vw,38px);line-height:1.5;letter-spacing:-1.3px;margin-top:20px}
  .feast-copy>.eyebrow{font-size:11px}
  .feast-copy>p:not(.eyebrow){font-size:15px;line-height:1.95;margin-top:20px}
  .feast-tags{gap:9px;margin-top:24px}
  .feast-tags span{font-size:12px;padding:8px 12px}
  .feast-copy>.text-link{font-size:14px;margin-top:22px}
}
@media(max-width:360px){.nav-shell nav{gap:13px}.nav-shell nav a{font-size:11px}.brand strong{font-size:15px}.hero h1{font-size:43px}.hero-subtitle{font-size:14px}.hero-actions{gap:11px}.hero-actions .button{font-size:12px;padding:13px 16px;gap:10px}.hero-actions .text-link{font-size:12px}.hero-contact-line{font-size:11px}.hero-contact-line a{font-size:12px}.section-heading h2{font-size:32px}.nutrition-section h2{font-size:28px}.character-card h3{font-size:24px}.nutrient-card{padding:22px 15px}.nutrient-value{font-size:30px;letter-spacing:-1.4px}.nutrient-value>span:last-child{font-size:11px;margin-left:3px}.contact-phone{font-size:29px}.contact-copy h2{font-size:35px}.mobile-contact{padding-left:18px;padding-right:18px}.mobile-contact>.button{font-size:13px;padding:12px 17px;gap:11px}.mobile-contact strong{font-size:14px}.mobile-contact span{font-size:11px}.contact-call{font-size:13px;gap:8px}.vineyard-photo-copy p{font-size:23px}.feast-copy h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.hero-media img,.media-frame img{animation:none!important;transition:none!important}}
/* 兼容修补：小字增加对比度，旧 WebView 用明确高度托住绝对定位的场景照片。 */
.portion-control button:not([aria-pressed="true"]) { color: #715681; }
.hero-bottom .mini-index { color: #b6a0c6; font-size: 11px; }
.mobile-contact > .button > span { color: currentColor; font-size: 16px; }
@supports not (aspect-ratio: 1) {
  @media (max-width: 600px) {
    .hero-media.media-frame { height: 110vw; }
    .vineyard-photo { height: calc((100vw - 42px) * 1.25); }
    .feast-photo { height: calc((100vw - 42px) * .75); }
  }
}
