/* A dark, photographic collection theme adapted from the supplied visual brief. */
:root{--wine:#8dd9ea;--wine-dark:#eef6fa;--ink:#edf2f6;--muted:#9da8b7;--gold:#7dcfe1;--line:#222c37;--paper:#0b1018;--white:#06090e;--radius:12px;color-scheme:dark}
html{background:#06090e;scroll-padding-top:116px}
body{background:#06090e;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
h1,h2{font-family:inherit;letter-spacing:-.035em;font-weight:650}
h3{letter-spacing:0}
::selection{background:#245c6c;color:#fff}
a:hover{color:#c3f2fa}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:#a7e4f3}
.utility{display:none}
.header{position:sticky;top:18px;margin:18px auto 0;width:min(1110px,calc(100% - 48px));border:1px solid #ffffff1c;border-radius:50px;background:#111722d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 #ffffff05;z-index:40}
.header-inner{width:100%;height:70px;padding:0 20px 0 24px;gap:25px}
.brand{gap:10px}
.brand-mark{border-color:#73c6dd;color:#b7e8f5;box-shadow:inset 0 0 0 3px #101823,inset 0 0 0 4px #294c60;border-radius:11px;width:39px;height:39px;font-size:23px}
.brand-name{font-size:17px;letter-spacing:.08em;color:#f2f7fa}
.brand-sub{font-size:12px;letter-spacing:.08em;color:#a0afbc}
.nav{gap:23px;font-size:14px}
.nav a{padding:23px 0 21px;color:#b2bbc8}
.nav a[aria-current=page]{color:#edfbff;border-color:#85d4e5}
.header-phone{font-size:14px;padding:11px 15px;border-radius:13px;overflow:hidden;color:#fff;background:linear-gradient(to top,#8fe0ed 1px,#0b849e 6px,#103449 13px,#111a28 28px);box-shadow:inset 1px 0 0 #ffffff1a,inset -1px 0 0 #ffffff1a}
.header-phone:hover{color:#fff;filter:brightness(1.15)}
.header-phone svg{width:15px;margin-right:4px}
.skip{background:#123546;color:#fff}
.night-hero{position:relative;isolation:isolate;overflow:hidden;margin-top:-89px;padding:137px 0 38px;background:radial-gradient(ellipse 80% 33% at 50% 65%,#0b334930,transparent 80%),#040609}
.night-stars{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 9% 28%,#d2e9ff66 0 1px,transparent 1.5px),radial-gradient(circle at 85% 14%,#a5d6ff55 0 1px,transparent 1.5px),radial-gradient(circle at 36% 42%,#d4e5ff4d 0 .7px,transparent 1.2px),radial-gradient(circle at 73% 33%,#b7d1ff4d 0 1px,transparent 1.5px),radial-gradient(circle at 16% 55%,#8da6ce4d 0 .7px,transparent 1.3px);background-size:347px 281px,483px 329px,269px 221px,573px 431px,659px 337px;opacity:.7;mask-image:linear-gradient(#000,transparent 90%)}
.night-hero-copy{position:relative;z-index:10;text-align:center;max-width:950px}
.night-badge{position:relative;display:block;text-align:left;margin:0 auto 25px;width:290px;height:40px;border:1px solid #ffffff1d;border-radius:12px;background:linear-gradient(to top,#bee1ff24 0,#bee1ff12 4px,#ffffff03 9px);backdrop-filter:blur(12px)}
.night-badge i{position:absolute;left:4px;top:4px;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(to top,#46afc8 0,#0b859d 5px,#012c3d 13px,#090f25 22px);box-shadow:inset 1px 0 #96dcfa66,inset -1px 0 #96dcfa80}
.night-badge svg{width:17px;height:17px;color:#d5f4ff}
.night-badge span{position:absolute;left:47px;top:0;height:38px;display:flex;align-items:center;font-size:14px;color:#d8e3eb;letter-spacing:.03em;white-space:nowrap}
.night-hero h1{font-size:clamp(42px,4.8vw,69px);font-weight:700;line-height:1.22;letter-spacing:-.025em;margin:0 0 22px}
.night-hero h1 span{display:block}
.night-hero h1 span:last-child{background:linear-gradient(180deg,#fff 25%,#cadce9 80%);background-clip:text;-webkit-background-clip:text;color:transparent}
.night-lede{font-size:16px;color:#9aa7b7;line-height:1.9;margin:0 0 26px}
.night-lede strong{font-weight:400;color:#c3ced9}
.night-actions{display:flex;justify-content:center;align-items:center;gap:25px}
.btn{border-radius:10px;min-height:48px;background:#142532;color:#e8faff;border:1px solid #35596a;font-size:15px}
.btn:hover{background:#1c3544;color:#fff}
.btn-outline{background:transparent;color:#c6d9e4;border-color:#344550}
.btn-outline:hover{background:#162b37;color:#eaffff}
.lumen-btn{position:relative;overflow:hidden;padding:15px 25px;min-height:55px;border:0;border-radius:13px;background:linear-gradient(to top,#9ad9ec 1px,#89dff0 2px,#79e0f1 3px,#61daef 4px,#3ec8e4 5px,#14a8c6 6px,#0596b3 7px,#038aa8 8px,#047796 9px,#006180 10px,#025066 12px,#0a4f5e 13px,#04465a 14px,#073746 16px,#0a2a37 18px,#0d212e 20px,#0f1824 24px,#0a121e 30px,#0a111d 34px,#0a111d);box-shadow:inset 0 3px 3px -2px #b4e4ff1a,inset 1px 0 #ffffff17,inset -1px 0 #ffffff17,1px 0 #98daea2b,-1px 0 #98daea2b,0 0 8px #3cbeeb1a,0 2px 5px -3px #5adcff73}
.lumen-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,#c8f5ffb3,#c8f5ff00 13px),linear-gradient(270deg,#c8f5ffb3,#c8f5ff00 13px);mask:linear-gradient(to top,#000 0,#000 6px,#0006 12px,#00000026 18px,#00000017 24px,#00000005 30px);-webkit-mask:linear-gradient(to top,#000 0,#000 6px,#0006 12px,#00000026 18px,#00000017 24px,#00000005 30px)}
.lumen-btn>span{position:relative;z-index:2;display:flex;align-items:center;gap:9px;color:#fff}
.lumen-btn:hover{background:linear-gradient(to top,#9ad9ec 1px,#14a8c6 6px,#025066 12px,#0a2a37 18px,#0a111d 34px);filter:brightness(1.1)}
.night-phone{display:flex;align-items:center;gap:8px;font-size:14px;color:#aebdcc}
.night-phone svg{width:16px;height:16px}
.night-showcase{position:relative;height:303px;margin-top:12px;pointer-events:none}
.orbit-ring{position:absolute;left:50%;margin-left:-586px;top:-394px;width:1172px;height:657px;perspective:891px;perspective-origin:586px 918px;transform-style:preserve-3d;z-index:1;pointer-events:none}
.orbit-card{position:absolute;left:586px;top:616px;width:130px;height:300px;margin:-150px 0 0 -65px;border-radius:12px;overflow:hidden;background:#0d1420;box-shadow:0 24px 46px #0009,0 3px 8px #0008;backface-visibility:hidden;will-change:transform}
.orbit-photo{height:231px;background:#f5f3ee;padding:8px 5px}
.orbit-photo img{width:100%;height:100%;object-fit:contain}
.orbit-label{padding:12px 10px;color:#f1f5fa}
.orbit-label span{display:block;font-size:9px;letter-spacing:.02em;color:#91a5b8;margin-bottom:5px}
.orbit-label strong{display:block;font-size:12px;line-height:1.5;font-weight:500}
.orbit-edge{position:absolute;inset:0;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff26,inset 0 16px 30px #ffffff0d}
.discovery-dock{position:relative;z-index:12;max-width:930px;margin-top:-65px;padding:25px 30px 18px;background:linear-gradient(140deg,#141c28f5,#0c141efc);border:1px solid #6ca2bc40;border-radius:24px;box-shadow:0 -15px 50px #02040980;backdrop-filter:blur(18px)}
.dock-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.dock-top .eyebrow{font-size:11px;letter-spacing:.17em;margin:0 0 4px;color:#83b8cc}
.dock-top label{font-size:22px;font-weight:500;letter-spacing:.02em}
.orbit-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.orbit-controls button{border:1px solid #ffffff1f;color:#b4c4d2;background:#ffffff03;border-radius:9px;padding:6px 10px;min-height:38px;min-width:38px;font-size:12px}
.orbit-controls button:hover{border-color:#86c7df;color:#fff}
.dock-search{display:flex;align-items:center;gap:13px;padding:8px 9px 8px 18px;border:1px solid #ffffff1c;border-radius:12px;background:#070d14}
.dock-search>svg{width:20px;height:20px;color:#8196a8;flex:none}
.dock-search input{min-width:0;flex:1;border:0;background:transparent;color:#e6f2f7;outline-offset:2px;padding:5px 0;font-size:16px}
.dock-search input::placeholder{color:#7d8b9a}
.dock-search .btn{min-height:39px;padding:8px 16px;font-size:14px}
.dock-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:13px;font-size:13px;color:#acbdcb}
.dock-caption{color:#8593a4;font-size:12px;margin:12px 0 0}
.trust-strip{background:#080d14;border-color:#1b2732}
.trust-grid{padding:27px 0}
.trust-item{border-color:#23323d}
.trust-item strong{font-weight:500;color:#dfeaf0}
.trust-item span{color:#95a3b3}
.section{padding:82px 0}
.section-tint{background:#0b111a}
.section-heading h2{font-size:clamp(27px,2.65vw,37px);font-weight:550}
.section-heading .eyebrow,.eyebrow{font-size:13px;letter-spacing:.13em;color:#85cde0}
.section-heading p{color:#a2adba}
.series-grid{border:0!important;gap:12px}
.series-tile{border:1px solid #26303d!important;background:linear-gradient(150deg,#111924,#0b121a);border-radius:12px;padding:24px 20px;gap:17px}
.series-tile:hover{background:#142330;border-color:#487487!important}
.series-number{color:#8da5b8;font-family:inherit;font-size:12px}
.series-tile p{color:#a0adbc}
.wine-entry,.case-card{background:#101823;border:1px solid #283442;border-radius:14px;overflow:hidden}
.wine-entry:hover{border-color:#6aa5bb;box-shadow:none}
.wine-entry p,.case-card-copy>p:not(.case-kicker){color:#a6b2c1}
.wine-kind{color:#8dd4e5}
.gallery-entry{padding-bottom:21px}
.gallery-entry .wine-thumb{border-radius:0;background:#f5f3ef}
.wine-thumb{background:#f5f3ef;border-radius:7px}
.wine-entry-link,.text-link{color:#9edfee}
.year-groups a{background:#101925;border-color:#2b3947;border-radius:10px}
.year-groups a strong{color:#dcecf3}
.year-groups a span,.year-feature>div>p:not(.eyebrow){color:#a0afbf}
.service-facts{background:#111b27;border-radius:14px;overflow:hidden;border-color:#2c3c4b}
.service-facts>div{border-color:#2c3c4b}
.entity-content p{color:#a5b1bf}
.city-pills a,.service-nav a{border-color:#304450;background:#111f2b;color:#c7dce6;border-radius:8px}
.city-pills a:hover,.service-nav a:hover{background:#1a3442}
.section-cases{background:#070c12}
.case-notice{background:#101d28;color:#afc4d2!important;border-color:#609fb7;border-radius:0 8px 8px 0}
.case-card h3{color:#ecf5fa;font-size:19px}
.case-photo{background:#f5f3ef}
.case-photo>span{background:#fff;color:#4f5e64;border-radius:3px}
.case-story-photo{background:#f5f3ef;color:#344752;border-radius:14px}
.case-story-photo figcaption{color:#52636b}
.case-summary,.case-record dd{color:#aab6c4}
.quick-guides a,.guide-card{border-color:#314858;color:#e3edf3}
.quick-guides a:hover{color:#adebf7;background:#101c27}
.guide-card p,details p,.faq-intro p{color:#a7b3c2}
.contact-band{background:linear-gradient(115deg,#122533,#0b1520);border-top:1px solid #2c4655;border-bottom:1px solid #253948}
.contact-band h2{color:#ecf7fb}
.contact-band p{color:#aac3d0}
.footer{background:#06090e;color:#adbac8;border:0}
.footer p,.footer-contact span,.footer-bottom{color:#96a4b5}
.footer-title{color:#dce6ed!important}
.footer a:hover{color:#b4edf8}
.contact-dialog{color:#e6eff4;background:#0f1925;border:1px solid #395261;border-radius:20px;max-height:90dvh;overflow-y:auto}
.contact-dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}
.dialog-close{color:#d5e8f2}
.contact-dialog>p,.dialog-tip{color:#acb9c7}
.wechat-id{background:#182b39;color:#d3f1fa}
.wechat-qr{background:#fff;color:#415664;border-radius:10px;padding:10px}
.wechat-qr figcaption,.wechat-qr a{color:#415664}
.catalog-head,.page-head{background:radial-gradient(ellipse at 70% 0,#1531486b,transparent 75%),#0b121c;border-bottom:1px solid #24313e;padding-top:57px}
.catalog-head>.wrap>p:not(.eyebrow),.page-head p{color:#adbaca}
.catalog-nav{background:#0e1823;border-color:#2a3a48;border-radius:12px;overflow:hidden}
.catalog-nav a{color:#b6c4d1;border-color:#253440}
.catalog-nav a[aria-current=page]{background:#18313d;color:#c6f0f9;border-color:#466977}
.catalog-nav span{color:#8cb8ca}
.sidebar-help,.catalog-intro-note,.answer-box,.detail-reading .answer-box,.note-box,.about-panel,.detail-check-panel{background:#12212d;color:#b8cad7;border-color:#537e90;border-radius:8px}
.sidebar-help p,.catalog-intro-note p,.answer-box p:last-child{color:#acbdcc}
.filter{background:#0d1822;color:#b0c1d1;border-color:#304858;border-radius:7px}
.filter[aria-pressed=true]{color:#061219;background:#98dcec;border-color:#98dcec}
.search-box{background:#0a1520;border-color:#3b5262;border-radius:9px}
.search-box input{background:transparent;color:#f1f9ff}
.detail-image{background:#f5f3ef;border-radius:14px}
.detail-lede,.detail-caption,.article-meta,.detail-meta dt,.detail-meta dd,.service-city p{color:#a9b8c8}
.price-note{background:#142430;color:#e0f3fb;border-color:#89d1e3;border-radius:0 10px 10px 0}
.price-note p{color:#abbfce}
.related-years a,.year-nav a{background:#12212c;border-color:#355064;color:#bee1f0;border-radius:6px}
.year-group,.year-entry,.year-section{border-color:#2c4151}
.year-entry{background:#0c1721}
.year-entry:hover{background:#162a38}
.info-table th{background:#162937;color:#cde4ef}
.info-table td{color:#bbcbd7}
.enquiry-template,.copy-template textarea,textarea{background:#09131e;color:#d4e5f0;border-color:#3c5a6d}
.mobile-contact{background:#0b1420f5;border-color:#355064;backdrop-filter:blur(16px)}
@media(min-width:1700px){.night-hero{padding-top:159px}.night-showcase{margin-top:30px}}
@media(max-width:1120px){.header{width:calc(100% - 36px)}.header-inner{padding:0 20px}.header-phone{display:none}.nav{gap:24px}.night-hero{padding-top:137px}.night-hero h1{font-size:57px}.night-showcase{margin-top:22px}.discovery-dock{width:calc(100% - 92px)}}
@media(max-width:800px){.header{top:12px;margin-top:12px;width:calc(100% - 30px)}.header-inner{height:64px;padding:0 17px}.brand-name{font-size:16px}.brand-sub{font-size:11px}.brand-mark{width:36px;height:36px}.menu-toggle{display:block;color:#b8e8f5;min-height:44px;min-width:44px}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:#101c29f5;border:1px solid #33495a;border-radius:20px;padding:10px 22px 16px;box-shadow:0 24px 50px #0008;backdrop-filter:blur(16px);flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{padding:13px 3px;font-size:16px;border-bottom:1px solid #263b4c}.night-hero{margin-top:-77px;padding-top:113px}.night-hero h1{font-size:51px}.night-hero-copy{width:calc(100% - 36px)}.night-showcase{margin-top:22px;height:272px}.orbit-ring{transform:scale(.85);transform-origin:586px 466px}.discovery-dock{width:calc(100% - 40px);margin-top:-48px;padding:23px 25px 18px}.dock-top label{font-size:20px}.dock-top .eyebrow{font-size:11px}.section{padding:59px 0}.catalog-head{padding-top:40px}}
@media(max-width:600px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 36px)}.night-hero{padding-top:110px;padding-bottom:25px}.night-badge{width:275px;margin-bottom:22px}.night-badge span{font-size:13px;left:45px}.night-hero h1{font-size:clamp(27px,7.8vw,44px);line-height:1.3;margin-bottom:17px;letter-spacing:-.015em}.night-lede{font-size:14px;line-height:1.9;margin-bottom:21px}.night-lede strong{display:block;max-width:295px;margin:0 auto}.night-lede br{display:none}.night-actions{flex-direction:column;gap:15px}.night-actions .btn{min-height:52px;font-size:15px;padding:14px 24px}.night-phone{font-size:13px}.night-showcase{margin-top:0;height:260px}.orbit-ring{top:-414px;transform:scale(.79);transform-origin:586px 466px}.discovery-dock{width:calc(100% - 28px);margin-top:-45px;padding:20px 17px 16px;border-radius:20px}.dock-top{gap:10px;align-items:flex-start;margin-bottom:15px}.dock-top label{font-size:16px}.dock-top .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:7px}.orbit-controls{gap:4px;margin-top:0}.orbit-controls button{font-size:11px;min-width:32px;min-height:42px;padding:4px 6px}.orbit-controls [data-orbit-prev],.orbit-controls [data-orbit-next]{display:none}.dock-search{gap:8px;padding:7px 7px 7px 10px}.dock-search input{font-size:14px}.dock-search>svg{width:17px}.dock-search .btn{font-size:12px;min-height:39px;padding:8px 10px;gap:0}.dock-search .btn svg{display:none}.dock-links{font-size:12px;gap:9px 18px;margin-top:14px}.dock-caption{font-size:11px;line-height:1.7;margin-top:11px}.trust-grid{padding:13px 0;gap:5px}.trust-item{gap:9px}.trust-item strong{font-size:13px}.trust-item span{font-size:11px}.trust-item svg{width:22px;height:22px}.section-heading h2{font-size:27px}.section-heading p{font-size:15px}.section-heading .eyebrow{font-size:12px}.series-grid{gap:9px}.series-tile{padding:18px 12px;gap:9px}.series-tile h3{font-size:15px}.series-tile p{font-size:13px}.series-number{font-size:11px}.wine-entry h3{font-size:17px}.gallery-entry .wine-entry-copy{padding:0 13px}.gallery-entry p{font-size:14px}.case-card h3{font-size:19px}.footer{padding-bottom:105px}.footer-bottom{font-size:12px}.footer p{font-size:14px}.contact-band h2{font-size:24px}.contact-band p{font-size:15px}.contact-band .btn{font-size:14px}.mobile-contact .btn{font-size:15px}.contact-dialog{padding:28px 21px}.catalog-head h1{font-size:29px}.page-head p{font-size:16px}.case-card-copy>p:not(.case-kicker),.case-record dd{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.orbit-card{will-change:auto}}
/* Keep the consultation controls readable and comfortable on touch screens. */
.header-phone{position:relative}
.header-phone::before{content:"";position:absolute;left:22%;right:38%;top:1px;height:1.5px;background:linear-gradient(90deg,transparent,#a0f0ffb3,transparent);filter:blur(.5px)}
.orbit-controls button{font-size:14px;min-height:44px;min-width:44px}
.dock-links{font-size:14px}
.cities-block{background:#11232e;color:#eef7fb}
@media(max-width:600px){.dock-search input{font-size:16px}.dock-search .btn{font-size:14px;min-height:44px}.dock-links{font-size:14px;gap:10px 16px}.dock-caption{font-size:12px}.orbit-controls button{font-size:13px;min-height:44px}.trust-item strong{font-size:14px}.trust-item span{font-size:12px}.series-tile h3{font-size:16px}.series-tile p{font-size:14px}.night-phone{font-size:14px}}
