/* Google Fonts: Cormorant Garamond (Serif) & Manrope (Sans) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Manrope:wght@300;400;500;600;700&display=swap');

:root{--background:#f8f5ef;--foreground:#302725;--card:#f8f5ef;--card-foreground:#302725;--popover:#f8f5ef;--popover-foreground:#302725;--primary:#4f1123;--primary-foreground:#f8f5ef;--secondary:#ede6dc;--secondary-foreground:#4f1123;--muted:#eee8de;--muted-foreground:#71655e;--accent:#e7dccf;--accent-foreground:#4f1123;--destructive:#a2262b;--border:#dcd3c6;--input:#dcd3c6;--ring:#996b34;--radius:0;--bordeaux:#421020;--gold:#d8b97b;--ivory:#f8f5ef;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Manrope",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--ivory);color:var(--foreground);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;font:inherit}button:disabled{cursor:default;opacity:.35}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible){outline-offset:6px;outline:2px solid #ba8b48}:is(input:focus-visible,textarea:focus-visible){outline-offset:1px;outline:2px solid #996b34}::selection{color:#421020;background:#d8b97b}img{object-fit:cover;max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}section[id]{scroll-margin-top:0}.skip-link{z-index:100;background:var(--ivory);color:var(--bordeaux);padding:12px;position:fixed;top:-80px;left:15px}.skip-link:focus{top:10px}.site-header{z-index:30;height:110px;color:var(--ivory);border-bottom:1px solid #ffffff25;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5.1%;transition:background .35s,box-shadow .35s;display:grid;position:absolute;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#360c1aef;height:86px;position:fixed;box-shadow:0 4px 25px #23081015}.desktop-nav,.nav-right{align-items:center;gap:30px;display:flex}.desktop-nav a,.corporate-nav{font-size:14px;position:relative}.desktop-nav a:after,.corporate-nav:after,.footer-links a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .3s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.corporate-nav:hover:after,.footer-links a:hover:after{transform:scaleX(1)}.wordmark{text-align:center;flex-direction:column;gap:7px;display:flex}.wordmark>span{font-family:var(--serif);letter-spacing:3px;font-size:27px;line-height:1.2}.wordmark small{letter-spacing:3px;color:#dbbd91;font-size:12px}.nav-right{justify-content:flex-end;gap:21px}.nav-divider{background:#ffffff40;width:1px;height:18px}.language-button{background:0 0;border:0;min-width:26px;padding:8px 0;font-size:14px}.nav-explore{width:39px;height:39px;color:var(--gold);border:1px solid #d8b97b66;border-radius:50%;justify-content:center;align-items:center;transition:background .3s;display:flex}.nav-explore:hover{background:#d8b97b22}.mobile-menu.icon-button{display:none}.icon-button{background:0 0;border:0;justify-content:center;align-items:center;min-width:42px;min-height:42px;display:flex}.hero{height:min(940px,100svh);min-height:780px;color:var(--ivory);isolation:isolate;background:#340c17;position:relative;overflow:hidden}.hero-photo,.hero-shade{z-index:-1;position:absolute;inset:0}.hero-photo{transform:translateY(var(--parallax,0px));will-change:transform;left:15%;overflow:hidden}.hero-photo img{object-fit:cover;object-position:64% 50%;width:100%;height:100%;animation:2.5s ease-out both heroPhoto}.hero-shade{background:linear-gradient(90deg,#300b18 0%,#300b18f8 15%,#300b189e 39%,#300b1800 68%),linear-gradient(#22071150,#0000 15% 82%,#210a17b3)}.hero-content{width:61%;padding:185px 0 135px 8.2%;position:relative}.eyebrow{letter-spacing:2px;font-size:12px;font-weight:500;line-height:1.6}.hero-kicker{color:#dfc492;align-items:center;gap:16px;animation:1s .1s both fadeUp;display:flex}.short-line{background:#cfb480;width:29px;height:1px}.hero h1{letter-spacing:-3.5px;margin:29px 0 26px;font-size:clamp(78px,7.6vw,124px);line-height:.94;animation:1.15s .22s both fadeUp}.hero h1 em{color:#e4c899}.hero-description{color:#e7d9d4;font-size:16px;line-height:1.9;animation:1.15s .38s both fadeUp}.button{letter-spacing:.1px;border:1px solid #0000;justify-content:center;align-items:center;gap:32px;min-height:56px;padding:16px 25px;font-size:14px;font-weight:500;transition:background .3s,color .3s,border-color .3s,transform .3s;display:inline-flex}.button svg{flex-shrink:0;transition:transform .3s}.button:hover svg{transform:translate(3px,-2px)}.button:hover{transform:translateY(-2px)}.button-ivory{color:#3b1420;background:#f4eee3}.button-ivory:hover{background:#e8d1aa}.hero-content .button{margin-top:29px;animation:1.15s .5s both fadeUp}.hero-caption{text-align:right;flex-direction:column;gap:7px;animation:1.2s .65s both fadeUp;display:flex;position:absolute;bottom:110px;right:5.3%}.hero-caption span:first-child{letter-spacing:2px;color:#e5c897;font-size:12px}.hero-caption span:last-child{font-family:var(--serif);font-size:22px;font-style:italic}.hero-bottom{letter-spacing:1.8px;color:#decab8;justify-content:space-between;align-items:center;font-size:12px;display:flex;position:absolute;bottom:28px;left:5.1%;right:5.1%}.hero-bottom>span{align-items:center;gap:18px;display:flex}.hero-bottom i{background:#b1967c;width:18px;height:1px}.hero-bottom a{align-items:center;gap:13px;display:flex}.hero-bottom svg{animation:2.5s infinite bob}.brand-ribbon{color:#4c1827;background:#e9d5af;border-bottom:1px solid #d9c297;align-items:center;height:62px;display:flex;overflow:hidden}.ribbon-track{width:max-content;animation:48s linear infinite ribbon;display:flex}.ribbon-track>span{white-space:nowrap;letter-spacing:3px;align-items:center;gap:44px;padding-right:44px;font-size:12px;font-weight:500;display:flex}.ribbon-track b{font-size:21px;font-weight:400}.section-space{padding:112px 7.2%}.section-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px;display:flex}.muted-eyebrow{color:#816647}.section-heading h2,.maison-copy h2{letter-spacing:-1.7px;color:#421b27;margin-top:20px;font-size:clamp(52px,5.25vw,81px);line-height:1.03}.section-heading h2 em,.maison-copy h2 em,.closing-section h2 em{color:#82612f}.section-heading>p{color:#766960;max-width:330px;margin:0 0 9px;font-size:16px;line-height:1.9}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:29px;display:grid}.collection-image{aspect-ratio:1/1.13;text-align:left;background:#ede5d9;border:0;width:100%;display:block;position:relative;overflow:hidden}.collection-image img{object-fit:cover;width:100%;height:100%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.collection-image:hover img{transform:scale(1.055)}.image-topline{letter-spacing:1.5px;color:#452937;justify-content:space-between;align-items:center;font-size:12px;display:flex;position:absolute;top:21px;left:22px;right:22px}.image-topline span:first-child{font-size:14px}.card-signature .image-topline{color:#ead1ab}.image-explore{color:#492131;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf4e675;border:1px solid #71524a70;border-radius:50%;justify-content:center;align-items:center;width:43px;height:43px;transition:transform .3s,background .3s;display:flex;position:absolute;bottom:20px;right:19px}.collection-image:hover .image-explore{background:#faf4e6;transform:rotate(45deg)}.collection-badge{color:#f5e5cc;letter-spacing:1.2px;background:#4d1929;padding:9px 12px;font-size:12px;position:absolute;bottom:26px;left:22px}.collection-info{padding-top:23px}.collection-info>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.collection-info h3{color:#421b27;font-size:37px;line-height:1.2}.collection-price{font-family:var(--serif);white-space:nowrap;font-size:30px}.collection-price small{font-size:12px;font-family:var(--sans)}.collection-info>p{color:#7c6f65;margin-top:7px;font-size:14px;line-height:1.6}.text-link{color:#502d32;background:0 0;border:0;border-bottom:1px solid #a08a6c;align-items:center;gap:25px;padding:0 0 7px;font-size:14px;transition:gap .3s;display:inline-flex}.text-link:hover{gap:35px}.collection-info .text-link{margin-top:24px}.collection-note{color:#84776b;text-align:center;margin-top:41px;font-size:12px;line-height:1.8}.maison-section{grid-template-columns:1fr 1fr;align-items:center;gap:8.5%;padding:20px 7.2% 120px;display:grid}.maison-image{background:#e4d7ce;align-self:stretch;min-height:680px;position:relative}.maison-image>img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;position:absolute;inset:0}.brand-seal{background:#4c1223;border:1px solid #bd965b;border-radius:50%;width:117px;height:117px;padding:16px;position:absolute;top:37px;right:-43px;transform:rotate(-12deg);box-shadow:0 0 0 7px #f8f5ef}.brand-seal img{object-fit:contain;width:100%;height:100%}.image-footnote{letter-spacing:1.2px;color:#4c2530;font-size:12px;position:absolute;bottom:23px;left:25px}.maison-copy{padding:28px 0}.maison-copy h2{margin:21px 0 25px}.maison-copy>p{color:#7a6c62;max-width:450px;font-size:16px;line-height:1.9}.maison-copy .story-intro{font-size:23px;font-family:var(--serif);color:#503439;margin-bottom:16px;line-height:1.5}.detail-list{margin-top:30px}.detail-list>div{border-top:1px solid #dbd1c1;gap:22px;padding:18px 0;display:flex}.detail-list>div>span{color:#97754d;padding-top:4px;font-size:12px}.detail-list h3{color:#44212b;font-size:24px;line-height:1.2}.detail-list p{color:#7a6c62;max-width:370px;margin-top:6px;font-size:14px;line-height:1.8}.corporate-section{color:#f4ece0;isolation:isolate;background:#3b1120;position:relative;overflow:hidden}.corporate-background{z-index:-1;background:radial-gradient(at 90% 20%,#702d354f,#0000 58%),linear-gradient(110deg,#2d101c,#4e1729);position:absolute;inset:0}.corporate-layout{grid-template-columns:1.2fr 1fr;gap:9%;padding:109px 8.2% 143px;display:grid}.corporate-heading .eyebrow{color:#d3b382}.corporate-heading h2{letter-spacing:-1.8px;margin-top:28px;font-size:clamp(60px,6.1vw,94px);line-height:1.05}.corporate-heading h2 em{color:#dabb89}.corporate-copy{max-width:380px;padding-top:4px}.corporate-mark{object-fit:contain;width:73px;height:73px;margin-bottom:23px}.corporate-copy>p{color:#e2cfc8;font-size:17px;line-height:1.8}.corporate-services{color:#e0c3b3;flex-direction:column;gap:11px;margin:23px 0 27px;font-size:14px;display:flex}.corporate-services span{padding-left:17px;position:relative}.corporate-services span:before{content:"";background:#d6b984;width:4px;height:4px;position:absolute;top:8px;left:0;transform:rotate(45deg)}.button-outline{color:#f0dfc5;background:0 0;border-color:#d2b98990}.button-outline:hover{color:#421020;background:#d2b989}.corporate-copy>small{color:#b89990;margin-top:17px;font-size:12px;line-height:1.7;display:block}.corporate-watermark{font-family:var(--serif);letter-spacing:8px;white-space:nowrap;color:#dbb78109;pointer-events:none;font-size:clamp(85px,14.8vw,240px);line-height:1;position:absolute;bottom:-36px;left:-10px}.closing-section{text-align:center;padding-top:105px;padding-bottom:104px}.closing-section h2{letter-spacing:-1.5px;color:#431d2a;margin:25px 0 31px;font-size:clamp(50px,5.5vw,84px);line-height:1.06}.button-bordeaux{color:#fcf6ec;background:#4c1526;border-color:#4c1526}.button-bordeaux:hover{background:#6b233a;border-color:#6b233a}.closing-section p{color:#837367;margin-top:20px;font-size:12px}footer{background:#f0eade;border-top:1px solid #ddd2c2;padding:0 5.2%}.footer-main{justify-content:space-between;align-items:center;gap:40px;min-height:157px;display:flex}.footer-brand{align-items:center;gap:18px;display:flex}.footer-brand>img{object-fit:contain;width:65px;height:65px}.footer-brand>span{font-family:var(--serif);letter-spacing:2px;color:#4f2630;font-size:24px}.footer-brand small{font-family:var(--sans);letter-spacing:2.4px;color:#88724f;margin-top:6px;font-size:12px;display:block}.footer-links{color:#624a43;gap:34px;font-size:14px;display:flex}.footer-links a{position:relative}.back-top{color:#6b453c;border:1px solid #c7b598;border-radius:50%;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.footer-bottom{color:#8b7b6d;letter-spacing:.6px;border-top:1px solid #d8cdba;justify-content:space-between;align-items:center;gap:20px;min-height:69px;font-size:12px;display:flex}.footer-bottom>span:nth-child(2){letter-spacing:1.5px}.motion-control{background:0 0;border:0;align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex}.reveal{opacity:0;transition:opacity .9s var(--delay,0s),transform .9s var(--delay,0s);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{transition:none!important;animation:none!important}html[data-motion=off] .reveal{opacity:1;transform:none}html[data-motion=off] .hero-photo{transform:none}.product-dialog{background:var(--ivory);grid-template-columns:.9fr 1.1fr;max-height:90svh;overflow:auto;border:0!important;gap:0!important;width:min(1040px,100vw - 48px)!important;max-width:1040px!important;padding:0!important}.dialog-x{z-index:3;color:#4c1526;background:#f8f5eff0;border-radius:50%;position:absolute;top:13px;right:14px}.product-dialog-image{background:#eaded1;min-height:650px;position:relative}.product-dialog-image>img{object-fit:cover;width:100%;height:100%;position:absolute}.product-dialog-image>span{letter-spacing:2px;color:#633e3c;text-align:center;font-size:12px;position:absolute;bottom:24px;left:22px;right:22px}.product-dialog-image.signature>span{color:#e6cbaa}.product-dialog-body{padding:52px 38px 35px}.product-title{color:#421b27;justify-content:space-between;align-items:baseline;gap:15px;display:flex;font-family:var(--serif)!important;margin:13px 0 15px!important;font-size:43px!important;font-weight:400!important;line-height:1.2!important}.product-title>span{white-space:nowrap;font-size:27px}.product-description{color:#7a6a60!important;font-size:16px!important;line-height:1.75!important}.product-dialog h4{font-family:var(--serif);color:#4f2b32;margin:23px 0 12px;font-size:24px}.fruit-list{margin:0;padding:0;list-style:none}.fruit-list li{color:#624e44;border-top:1px solid #e0d7c9;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;line-height:1.5;display:flex}.fruit-list li>span:last-child{text-align:right;color:#897664;white-space:nowrap}.product-note{color:#8a7869;margin:18px 0;font-size:12px;line-height:1.8}.product-dialog-body>.button{width:100%;min-height:50px}.enquiry-dialog{max-height:92svh;overflow:auto;border:0!important;gap:0!important;width:calc(100vw - 32px)!important;max-width:620px!important;padding:43px 38px 33px!important}.enquiry-title{color:#48202c;letter-spacing:-.8px;font-family:var(--serif)!important;margin:15px 0 13px!important;font-size:43px!important;font-weight:400!important;line-height:1.1!important}.enquiry-description{color:#786b61!important;font-size:14px!important;line-height:1.85!important}.enquiry-form{margin-top:25px}.enquiry-form>label,.form-row label{color:#604d42;margin:17px 0 8px;font-size:14px;font-weight:500;display:block}.enquiry-form>label:first-child{margin-top:0}.enquiry-form input,.enquiry-form textarea,.enquiry-select{color:#4f322d;background:0 0;min-height:46px;padding:11px 13px;width:100%!important;box-shadow:none!important;border:1px solid #d6cbb9!important;border-radius:0!important;font-size:16px!important}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#9a8d80}.enquiry-select{height:auto!important}.collection-select-menu{background:#f8f5ef!important}.collection-select-menu [role=option]{padding:10px!important;font-size:14px!important}.form-row{grid-template-columns:1fr 1.25fr;gap:20px;display:grid}.quantity-control{border:1px solid #d6cbb9;align-items:center;height:46px;display:flex}.quantity-control button{color:#755747;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:100%;display:flex}.quantity-control input{text-align:center;-webkit-appearance:textfield;appearance:textfield;min-width:0;min-height:40px;border:0!important;padding:8px 0!important}.quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none}.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none}.enquiry-form textarea{resize:vertical;min-height:85px}.subtotal{border-top:1px solid #d6cbb9;justify-content:space-between;align-items:center;gap:20px;margin-top:21px;padding:21px 0;display:flex}.subtotal>span{color:#604639;font-size:14px}.subtotal small{color:#97816c;margin-top:4px;font-size:12px;line-height:1.7;display:block}.subtotal strong{font-family:var(--serif);white-space:nowrap;color:#4f2130;font-size:30px;font-weight:400}.enquiry-form>.button{width:100%}.prepared-enquiry{margin-top:24px}.draft-label{color:#665334;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.enquiry-summary{resize:vertical;width:100%;height:245px;font-family:var(--sans);color:#655044;background:#f0eade;border:1px solid #d6cbb9;padding:16px;font-size:14px;line-height:1.85}.enquiry-actions{gap:12px;margin-top:20px;display:flex}.enquiry-actions .button{flex:1;gap:12px}.button-light{color:#4f2130;background:#e9dfcf;border-color:#e9dfcf}.copy-status{color:#756445;min-height:22px;margin:10px 0;font-size:12px;line-height:1.7}.mobile-nav-sheet{color:#f8f0e5;background:#3f1222!important;gap:12px!important;width:min(90vw,400px)!important;padding:48px 30px!important}.mobile-nav-sheet [data-slot=sheet-title]{color:#efd7ac;font-family:var(--serif);letter-spacing:2px;font-size:24px;font-weight:400}.mobile-nav-sheet [data-slot=sheet-description]{color:#bfa58c;letter-spacing:2px;font-size:12px}.mobile-nav-sheet nav{flex-direction:column;gap:0;margin-top:50px;display:flex}.mobile-nav-sheet nav a{font-family:var(--serif);border-bottom:1px solid #b693752f;justify-content:space-between;align-items:center;padding:20px 0;font-size:32px;display:flex}.mobile-nav-sheet>span{letter-spacing:2px;color:#ba9e7d;margin-top:auto;font-size:12px}.is-chinese h1,.is-chinese h2,.is-chinese h3,.is-chinese .enquiry-title{font-family:"Songti SC","Noto Serif CJK SC","SimSun",var(--serif);letter-spacing:.03em;line-height:1.3}.is-chinese .hero h1{margin:28px 0;font-size:clamp(48px,5.6vw,83px)}.is-chinese .section-heading h2,.is-chinese .maison-copy h2{font-size:clamp(36px,3.8vw,58px)}.is-chinese .corporate-heading h2{font-size:clamp(45px,4.4vw,68px)}.is-chinese .closing-section h2{font-size:clamp(35px,4vw,64px)}.is-chinese em{font-style:normal}.is-chinese .collection-info h3{font-size:27px}.is-chinese .enquiry-title{font-size:32px!important}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes heroPhoto{0%{opacity:.2;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}@keyframes ribbon{to{transform:translate(-50%)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (min-width:1650px){.hero-content{padding-top:205px}.hero-photo{left:24%}.section-space{padding-left:max(7.2%,50vw - 715px);padding-right:max(7.2%,50vw - 715px)}}@media (max-width:1150px){.desktop-nav,.nav-right{gap:20px}.site-header{padding:0 4%}.wordmark>span{letter-spacing:2px;font-size:23px}.nav-explore{display:none}.hero-content{padding-top:183px;padding-left:7%}.hero h1{font-size:89px}.hero{min-height:800px}.hero-photo{left:8%}.hero-kicker{letter-spacing:1.3px}.collection-grid{gap:22px}.section-space{padding:90px 6%}.maison-section{gap:9%;padding:10px 6% 95px}.maison-image{min-height:660px}.collection-info h3{font-size:33px}.maison-copy h2{font-size:61px}.corporate-layout{gap:8%;padding:95px 7% 125px}.corporate-heading h2{font-size:76px}.footer-links{gap:24px}}@media (max-width:850px){.site-header{grid-template-columns:1fr auto 1fr;height:90px;padding:0 5%}.site-header.is-scrolled{height:75px}.desktop-nav,.corporate-nav,.nav-divider{display:none}.mobile-menu.icon-button{justify-self:start;display:flex}.nav-right{gap:0}.wordmark>span{font-size:24px}.wordmark small{letter-spacing:2px;font-size:12px}.hero{height:100svh;min-height:790px;max-height:950px}.hero-content{width:75%;padding-top:173px;padding-left:7%}.hero-photo{left:0}.hero-photo img{object-position:65% 50%}.hero-shade{background:linear-gradient(90deg,#300b18f7,#300b18bd 35%,#300b1825 85%),linear-gradient(#0000 50%,#210a1780)}.hero h1{font-size:91px}.hero-caption{bottom:95px;right:6%}.section-space{padding:80px 6%}.section-heading{align-items:flex-start;gap:30px}.section-heading h2{font-size:61px}.section-heading>p{max-width:245px;margin-top:48px;font-size:16px}.collection-grid{gap:20px}.collection-image{aspect-ratio:1/1.2}.image-topline{letter-spacing:.5px;font-size:12px;top:14px;left:14px;right:14px}.collection-info h3{font-size:28px}.collection-price{font-size:25px}.collection-info>p{min-height:44px;font-size:14px}.collection-info .text-link{gap:10px;margin-top:18px;font-size:14px}.collection-badge{letter-spacing:.2px;padding:6px 8px;font-size:12px;bottom:18px;left:12px}.image-explore{width:32px;height:32px;bottom:13px;right:12px}.image-explore svg{width:17px}.maison-section{grid-template-columns:.85fr 1fr;gap:7%;padding:0 6% 80px}.maison-image{min-height:745px}.brand-seal{width:87px;height:87px;padding:12px;top:28px;right:-28px}.maison-copy h2{font-size:51px}.detail-list>div{gap:15px;padding:16px 0}.detail-list h3{font-size:21px}.corporate-layout{gap:6%;padding:80px 7% 110px}.corporate-heading h2{font-size:65px}.corporate-copy>p{font-size:16px}.corporate-copy .button{gap:18px;padding:14px 17px;font-size:14px}.corporate-watermark{letter-spacing:3px;bottom:-10px}.footer-main{flex-wrap:wrap;gap:30px;padding:35px 0}.footer-brand>span{font-size:21px}.footer-links{gap:20px;font-size:14px}.footer-brand>img{width:55px;height:55px}.back-top{display:none}.product-dialog{grid-template-columns:.85fr 1.15fr;width:calc(100vw - 28px)!important}.product-dialog-body{padding:47px 25px 25px}.product-title{font-size:35px!important}.product-title>span{font-size:25px}}@media (max-width:600px){html{scroll-padding-top:75px}.site-header{height:83px;padding:0 18px}.site-header.is-scrolled{height:72px}.wordmark>span{letter-spacing:1.8px;font-size:22px}.wordmark small{letter-spacing:1.5px;font-size:12px}.language-button{padding:10px;font-size:14px}.hero{height:108svh;min-height:870px;max-height:1080px}.hero-photo{inset:255px -20px -5px -36%;transform:none}.hero-photo img{object-position:70% 80%;object-fit:cover}.hero-shade{background:linear-gradient(#300b18 0% 22%,#300b18b3 43%,#300b1800 67%,#230a1770 90%,#230a17c0 100%)}.hero-content{width:100%;padding:133px 28px 0}.hero-kicker{letter-spacing:1px;gap:12px;font-size:12px}.short-line{flex-shrink:0;width:20px}.hero h1{letter-spacing:-2.3px;margin:25px 0 22px;font-size:clamp(68px,17.5vw,89px);line-height:.95}.hero-description{max-width:330px;font-size:16px;line-height:1.8}.hero-content .button{gap:24px;min-height:48px;margin-top:23px;padding:13px 18px;font-size:14px}.hero-caption{bottom:89px;right:25px}.hero-caption span:first-child{letter-spacing:1.1px;font-size:12px}.hero-caption span:last-child{font-size:21px}.hero-bottom{letter-spacing:.6px;font-size:12px;bottom:26px;left:25px;right:25px}.hero-bottom>span{gap:0;font-size:0}.hero-bottom>span i{display:none}.hero-bottom>span:before{content:"SIBU, SARAWAK";font-size:12px}.hero-bottom a{gap:7px;max-width:140px}.brand-ribbon{height:49px}.ribbon-track>span{letter-spacing:2px;gap:29px;padding-right:29px;font-size:12px}.ribbon-track b{font-size:18px}.section-space{padding:67px 25px}.section-heading{margin-bottom:33px;display:block}.eyebrow{letter-spacing:1.8px;font-size:12px}.section-heading h2{margin-top:17px;font-size:59px}.section-heading>p{max-width:330px;margin:23px 0 0;font-size:16px;line-height:1.85}.collection-grid{grid-template-columns:1fr;gap:41px}.collection-image{aspect-ratio:1/1.035}.image-topline{letter-spacing:1.2px;font-size:12px;top:20px;left:20px;right:20px}.image-explore{width:42px;height:42px;bottom:20px;right:20px}.image-explore svg{width:22px}.collection-badge{letter-spacing:1px;padding:8px 12px;font-size:12px;bottom:25px;left:20px}.collection-info{padding-top:18px}.collection-info h3{font-size:37px}.collection-price{font-size:31px}.collection-info>p{min-height:0;margin-top:5px;font-size:14px}.collection-info .text-link{gap:25px;margin-top:18px;font-size:14px}.collection-note{text-align:left;margin-top:29px;font-size:12px}.maison-section{grid-template-columns:1fr;gap:38px;padding:4px 25px 61px}.maison-image{height:470px;min-height:0}.brand-seal{width:94px;height:94px;padding:13px;top:23px;right:17px;box-shadow:0 0 0 5px #f8f5ef}.image-footnote{letter-spacing:.5px;font-size:12px;bottom:20px;left:20px}.maison-copy{padding:0}.maison-copy h2{margin:20px 0 22px;font-size:58px}.maison-copy .story-intro{max-width:340px;margin-bottom:18px;font-size:25px}.maison-copy>p{font-size:16px;line-height:1.85}.detail-list{margin-top:29px}.detail-list>div{gap:20px;padding:18px 0}.detail-list h3{font-size:25px}.detail-list p{font-size:14px}.corporate-layout{grid-template-columns:1fr;gap:36px;padding:64px 28px 79px}.corporate-heading h2{letter-spacing:-1.3px;margin-top:23px;font-size:64px;line-height:1.06}.corporate-copy{max-width:100%;padding-top:0}.corporate-mark{display:none}.corporate-copy>p{max-width:330px;font-size:16px}.corporate-services{gap:12px;margin:22px 0 25px;font-size:14px}.corporate-copy .button{gap:29px;min-height:53px;padding:14px 20px;font-size:14px}.corporate-copy>small{max-width:320px;font-size:12px}.corporate-watermark{letter-spacing:3px;font-size:74px;bottom:-6px;left:-8px}.closing-section{padding:70px 22px 64px}.closing-section h2{letter-spacing:-1.1px;margin:24px 0 30px;font-size:49px;line-height:1.07}.closing-section>.reveal>.eyebrow{letter-spacing:1px;font-size:12px}.closing-section .button{gap:25px;min-height:52px;padding:14px 20px;font-size:14px}.closing-section p{max-width:320px;margin:18px auto 0;font-size:12px;line-height:1.7}footer{padding:0 25px}.footer-main{min-height:0;padding:33px 0 29px;display:block}.footer-brand{gap:15px}.footer-brand>img{width:56px;height:56px}.footer-brand>span{letter-spacing:2px;font-size:23px}.footer-links{justify-content:space-between;gap:12px;margin-top:27px;font-size:14px}.footer-bottom{flex-wrap:wrap;justify-content:space-between;gap:11px;min-height:95px;padding:20px 0;position:relative}.footer-bottom>span:nth-child(2){order:3;width:100%;font-size:12px}.motion-control{padding:0;font-size:12px}.product-dialog{grid-template-columns:1fr;max-height:92svh;width:calc(100vw - 24px)!important}.product-dialog-image{height:285px;min-height:0}.product-dialog-image>img{object-position:50% 49%}.product-dialog-image>span{font-size:12px;bottom:14px}.product-dialog-body{padding:26px 23px}.product-title{margin:12px 0 15px!important;font-size:39px!important}.product-title>span{font-size:29px}.product-description{font-size:16px!important;line-height:1.8!important}.dialog-x{min-width:39px;min-height:39px;top:10px;right:10px}.enquiry-dialog{max-height:93svh;width:calc(100vw - 24px)!important;padding:37px 23px 25px!important}.enquiry-title{max-width:280px;font-size:37px!important}.enquiry-description{font-size:14px!important}.enquiry-form{margin-top:20px}.form-row{grid-template-columns:1fr 1.15fr;gap:12px}.form-row label{font-size:14px}.enquiry-actions{gap:8px}.enquiry-actions .button{gap:8px;padding:13px 10px;font-size:14px}.subtotal strong{font-size:29px}.is-chinese .hero h1{margin:24px 0;font-size:clamp(47px,12vw,65px);line-height:1.35}.is-chinese .hero-content{padding-top:130px}.is-chinese .hero-description{font-size:16px}.is-chinese .section-heading h2,.is-chinese .maison-copy h2{font-size:39px;line-height:1.35}.is-chinese .corporate-heading h2{font-size:44px}.is-chinese .closing-section h2{font-size:35px}.is-chinese .collection-info h3{font-size:30px}.is-chinese .enquiry-title{font-size:28px!important}.is-chinese .detail-list h3{font-size:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.hero-photo{transform:none}}@media (max-width:600px){.site-header{grid-template-columns:42px minmax(0,1fr) 42px}.wordmark>span{letter-spacing:1.25px;white-space:nowrap;font-size:clamp(18px,5.5vw,22px)}.wordmark small{letter-spacing:1px;font-size:12px}.language-button{white-space:nowrap;padding:10px 0}.hero h1{letter-spacing:-1.8px;font-size:clamp(43px,14.2vw,74px);line-height:1.03}.hero-shade{background:linear-gradient(#300b18 0% 22%,#300b18c9 43%,#300b1825 66%,#230a1770 90%,#230a17c0 100%)}}.image-topline span:last-child{color:#4c2530;letter-spacing:1px;background:#f8f0e3ed;padding:4px 7px;font-size:12px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes scroll-fade-reveal-b{0%{--scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-b:0px}}@keyframes scroll-fade-reveal-s{0%{--scroll-fade-s:0px}to{--scroll-fade-s:var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}@keyframes scroll-fade-reveal-e{0%{--scroll-fade-e:var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-e:0px}}@keyframes tw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}


/* ==========================================================================
   SOLID LUXURY MODAL STYLES (Fixing Transparent Overlay & Form Controls)
   ========================================================================== */

/* Modal Backdrop Overlay */
.modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(20, 4, 10, 0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 999;
  display: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.modal-overlay.active {
  display: block;
  opacity: 1;
}

/* Modal Containers */
.modal-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.97);
  z-index: 1000;
  display: none;
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  background: transparent;
  pointer-events: none;
}

.modal-container.active,
.modal-container.enquiry-active {
  display: block;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: auto;
}

/* Solid Enquiry Dialog Card */
.enquiry-dialog {
  display: block !important;
  background: #f8f5ef !important;
  background-color: #f8f5ef !important;
  color: #302725 !important;
  position: relative !important;
  max-height: 90svh;
  overflow-y: auto;
  border: 1px solid #d6cbb9 !important;
  border-radius: 4px !important;
  gap: 0 !important;
  width: min(670px, calc(100vw - 32px)) !important;
  max-width: 670px !important;
  padding: 42px 38px 34px !important;
  box-shadow: 0 30px 80px -10px rgba(26, 6, 14, 0.6), 0 0 0 1px rgba(214, 203, 185, 0.8) !important;
  isolation: isolate;
}

/* Solid Product Details Dialog Card */
.product-dialog {
  display: grid !important;
  grid-template-columns: 0.9fr 1.1fr !important;
  background: #f8f5ef !important;
  background-color: #f8f5ef !important;
  color: #302725 !important;
  position: relative !important;
  max-height: 90svh;
  overflow-y: auto;
  border: 1px solid #d6cbb9 !important;
  border-radius: 4px !important;
  gap: 0 !important;
  width: min(1040px, calc(100vw - 48px)) !important;
  max-width: 1040px !important;
  padding: 0 !important;
  box-shadow: 0 30px 80px -10px rgba(26, 6, 14, 0.6), 0 0 0 1px rgba(214, 203, 185, 0.8) !important;
  isolation: isolate;
}

/* Close Button */
.dialog-x {
  z-index: 20 !important;
  color: #4c1526 !important;
  background: #f0e6d8 !important;
  border: 1px solid #d6cbb9 !important;
  border-radius: 50% !important;
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.2s, color 0.2s !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.dialog-x:hover {
  background: #4c1526 !important;
  color: #f8f5ef !important;
  border-color: #4c1526 !important;
  transform: scale(1.05) !important;
}

/* Modal Typography */
.enquiry-dialog .muted-eyebrow {
  color: #816647 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  font-weight: 600 !important;
}

.enquiry-title {
  color: #48202c !important;
  letter-spacing: -0.5px !important;
  font-family: var(--serif) !important;
  margin: 14px 0 10px !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}

.enquiry-description {
  color: #786b61 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin-bottom: 22px !important;
}

/* Form Controls with Opaque, Refined Surfaces */
.enquiry-form > label,
.form-row label {
  color: #604d42 !important;
  margin: 16px 0 7px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  display: block !important;
}

.enquiry-form > label:first-child {
  margin-top: 0 !important;
}

/* Dropdown Select with Custom Gold/Brown Chevron */
select.enquiry-select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  color: #4f322d !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234f322d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  min-height: 48px !important;
  padding: 12px 40px 12px 14px !important;
  width: 100% !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid #d6cbb9 !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  font-family: var(--sans) !important;
  cursor: pointer !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

select.enquiry-select:focus {
  outline: none !important;
  border-color: #ba8b48 !important;
  box-shadow: 0 0 0 3px rgba(186, 139, 72, 0.18) !important;
}

/* Text, Date, and Textarea Inputs */
.enquiry-form input[type="text"],
.enquiry-form input[type="date"],
.enquiry-form textarea {
  color: #4f322d !important;
  background-color: #ffffff !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  width: 100% !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid #d6cbb9 !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  font-family: var(--sans) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.enquiry-form input[type="text"]:focus,
.enquiry-form input[type="date"]:focus,
.enquiry-form textarea:focus {
  outline: none !important;
  border-color: #ba8b48 !important;
  box-shadow: 0 0 0 3px rgba(186, 139, 72, 0.18) !important;
  background-color: #ffffff !important;
}

.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder {
  color: #a39587 !important;
}

.enquiry-form textarea {
  resize: vertical !important;
  min-height: 90px !important;
  line-height: 1.6 !important;
}

/* Form Row Grid */
.form-row {
  grid-template-columns: 1fr 1.2fr !important;
  gap: 16px !important;
  display: grid !important;
}

@media (max-width: 540px) {
  .form-row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}

/* Quantity Control Stepper */
.quantity-control {
  border: 1px solid #d6cbb9 !important;
  background: #ffffff !important;
  align-items: center !important;
  height: 48px !important;
  display: flex !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.quantity-control button {
  color: #755747 !important;
  background: #f7f2ea !important;
  border: 0 !important;
  flex-shrink: 0 !important;
  justify-content: center !important;
  align-items: center !important;
  width: 44px !important;
  height: 100% !important;
  display: flex !important;
  cursor: pointer !important;
  transition: background 0.15s, color 0.15s !important;
}

.quantity-control button:hover {
  background: #ede3d3 !important;
  color: #421020 !important;
}

.quantity-control input {
  text-align: center !important;
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
  min-width: 0 !important;
  height: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #4f322d !important;
}

/* Subtotal Row */
.subtotal {
  border-top: 1px solid #e0d7c9 !important;
  margin-top: 24px !important;
  padding-top: 18px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
}

.subtotal span {
  font-size: 14px !important;
  color: #604d42 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.subtotal small {
  font-size: 11px !important;
  color: #8a7869 !important;
}

.subtotal strong {
  font-family: var(--serif) !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  color: #421b27 !important;
}

/* Form Action Button */
.enquiry-form .button-bordeaux {
  color: #fcf6ec !important;
  background: #4c1526 !important;
  border: 1px solid #4c1526 !important;
  width: 100% !important;
  min-height: 52px !important;
  justify-content: center !important;
  gap: 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  margin-top: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: background 0.25s, transform 0.2s !important;
}

.enquiry-form .button-bordeaux:hover {
  background: #6b233a !important;
  border-color: #6b233a !important;
  transform: translateY(-2px) !important;
}

/* Prepared Draft State */
.prepared-enquiry {
  margin-top: 20px;
}

.draft-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2e6040;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}

.enquiry-summary {
  width: 100% !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #3b2820 !important;
  background-color: #ffffff !important;
  border: 1px solid #d6cbb9 !important;
  padding: 14px !important;
  resize: vertical !important;
  min-height: 210px !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.enquiry-actions {
  display: flex !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

.enquiry-actions .button {
  flex: 1 !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  justify-content: center !important;
  gap: 8px !important;
}

.button-whatsapp {
  color: #ffffff !important;
  background: #25D366 !important;
  border: 1px solid #25D366 !important;
  width: 100% !important;
  min-height: 48px !important;
  justify-content: center !important;
  margin-top: 12px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  transition: background 0.2s, transform 0.2s !important;
}

.button-whatsapp:hover {
  background: #1ebc57 !important;
  border-color: #1ebc57 !important;
  transform: translateY(-2px) !important;
}

.copy-status {
  font-size: 12px !important;
  color: #8c6823 !important;
  margin-top: 8px !important;
  min-height: 18px !important;
  font-weight: 500 !important;
}

/* Product Dialog Layout & Details */
.product-dialog-image {
  background: #eaded1 !important;
  min-height: 560px !important;
  position: relative !important;
  overflow: hidden !important;
}

.product-dialog-image > img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
}

.product-dialog-image > span {
  letter-spacing: 2px !important;
  color: #633e3c !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  position: absolute !important;
  bottom: 24px !important;
  left: 22px !important;
  right: 22px !important;
  background: rgba(248, 245, 239, 0.9) !important;
  padding: 6px 12px !important;
  backdrop-filter: blur(4px) !important;
}

.product-dialog-image.signature > span {
  color: #e6cbaa !important;
  background: rgba(48, 11, 24, 0.85) !important;
}

.product-dialog-body {
  padding: 44px 36px 32px !important;
  display: flex !important;
  flex-direction: column !important;
}

.product-title {
  color: #421b27 !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 15px !important;
  display: flex !important;
  font-family: var(--serif) !important;
  margin: 12px 0 12px !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.product-title > span {
  white-space: nowrap !important;
  font-size: 26px !important;
  color: #421b27 !important;
}

.product-description {
  color: #7a6a60 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.fruit-list {
  margin: 16px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.fruit-list li {
  color: #624e44 !important;
  border-top: 1px solid #e0d7c9 !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 9px 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  display: flex !important;
}

.fruit-list li > span:last-child {
  text-align: right !important;
  color: #897664 !important;
  white-space: nowrap !important;
  font-weight: 500 !important;
}

.product-note {
  color: #8a7869 !important;
  margin: 18px 0 !important;
  font-size: 12px !important;
  line-height: 1.75 !important;
}

@media (max-width: 850px) {
  .product-dialog {
    grid-template-columns: 1fr !important;
    max-height: 88svh !important;
  }
  .product-dialog-image {
    min-height: 320px !important;
    max-height: 380px !important;
  }
}

@media (max-width: 600px) {
  .enquiry-dialog {
    padding: 32px 20px 24px !important;
    width: calc(100vw - 20px) !important;
    max-height: 94svh !important;
  }
}

/* Mobile Navigation Sheet */
.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(26, 6, 14, 0.75);
  backdrop-filter: blur(4px);
  z-index: 998;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mobile-nav-overlay.active {
  display: block;
  opacity: 1;
}

.mobile-nav-sheet {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 999;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 10px 0 40px rgba(0, 0, 0, 0.35);
}

.mobile-nav-sheet.active {
  transform: translateX(0);
}

/* Reveal Animation */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}



/* ==========================================================================
   FAQ ACCORDION, CONCIERGE CONTACT & CUSTOMER TERMS MODAL
   ========================================================================== */

.faq-section {
  background: var(--ivory);
  border-top: 1px solid #e0d7c9;
}

.faq-layout {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 64px;
  align-items: start;
}

@media (max-width: 900px) {
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.concierge-card {
  background: #f4eee3;
  border: 1px solid #dcd3c6;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.concierge-card h3 {
  font-family: var(--serif);
  font-size: 26px;
  color: #421b27;
  margin: 0;
}

.concierge-card p {
  font-size: 14px;
  line-height: 1.7;
  color: #63534b;
  margin: 0;
}

.concierge-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 14px;
  color: #55443b;
}

.concierge-item svg {
  color: #8c6823;
  margin-top: 2px;
  flex-shrink: 0;
}

.concierge-item strong {
  display: block;
  color: #3b1420;
  font-weight: 600;
  margin-bottom: 2px;
}

.concierge-item a {
  color: #4c1526;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.faq-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #dcd3c6;
}

/* Native Details / Summary FAQ Accordion */
details.faq-item {
  border-bottom: 1px solid #dcd3c6;
  display: block;
}

details.faq-item > summary.faq-question {
  width: 100%;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 22px 0 !important;
  background: none !important;
  border: none !important;
  text-align: left !important;
  font-family: var(--serif) !important;
  font-size: 21px !important;
  color: #421b27 !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none;
  transition: color 0.2s;
}

details.faq-item > summary.faq-question::-webkit-details-marker,
details.faq-item > summary.faq-question::marker {
  display: none !important;
}

details.faq-item > summary.faq-question:hover {
  color: #8c6823 !important;
}

details.faq-item .faq-chevron {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}

details.faq-item[open] .faq-chevron {
  transform: rotate(180deg) !important;
}

details.faq-item .faq-answer {
  color: #63534b !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  padding: 0 0 22px 0 !important;
  display: block !important;
}

/* Customer Terms Modal */
.terms-dialog {
  display: block !important;
  background: #f8f5ef !important;
  color: #302725 !important;
  position: relative !important;
  max-height: 88svh;
  overflow-y: auto;
  border: 1px solid #d6cbb9 !important;
  border-radius: 4px !important;
  width: min(780px, calc(100vw - 32px)) !important;
  max-width: 780px !important;
  padding: 44px 40px 36px !important;
  box-shadow: 0 30px 80px -10px rgba(26, 6, 14, 0.6) !important;
}

@media (max-width: 600px) {
  .terms-dialog {
    padding: 34px 22px 26px !important;
  }
}

.terms-dialog h2 {
  font-family: var(--serif);
  font-size: 34px;
  color: #421b27;
  margin: 12px 0 18px;
}

.terms-dialog h3 {
  font-family: var(--serif);
  font-size: 20px;
  color: #4c1526;
  margin: 22px 0 8px;
  border-bottom: 1px solid #e0d7c9;
  padding-bottom: 6px;
}

.terms-dialog p,
.terms-dialog li {
  font-size: 14px;
  line-height: 1.75;
  color: #63534b;
  margin-bottom: 12px;
}

.terms-dialog ul {
  padding-left: 20px;
  margin-bottom: 16px;
  list-style: disc;
}

.footer-policy-links {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  color: #8c786a;
}

.footer-policy-links button {
  background: none;
  border: none;
  color: inherit;
  font-size: inherit;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  white-space: nowrap;
}

.footer-policy-links button:hover {
  color: #421020;
}

.footer-policy-links .policy-sep,
.footer-meta-row .meta-sep {
  color: #ba9e7d;
  user-select: none;
}

.footer-meta-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: #8b7b6d;
}



/* Chinese Typography for FAQ & Concierge */
.is-chinese #faq-headline {
  font-family: "Songti SC", "Noto Serif CJK SC", "SimSun", var(--serif) !important;
  font-size: clamp(34px, 4vw, 50px) !important;
}

.is-chinese .faq-question {
  font-family: "Songti SC", "Noto Serif CJK SC", "SimSun", var(--serif) !important;
  font-size: 20px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
}

.is-chinese .faq-answer {
  font-size: 15px !important;
  line-height: 1.85 !important;
}

.is-chinese .concierge-card h3 {
  font-family: "Songti SC", "Noto Serif CJK SC", "SimSun", var(--serif) !important;
}



/* ==========================================================================
   LUXURY CART DRAWER, CHECKOUT, PAYMENT & CERTIFICATE
   ========================================================================== */

/* Header Cart Button & Badge */
.nav-cart-btn {
  position: relative;
  width: 40px;
  height: 40px;
  color: var(--gold);
  border: 1px solid rgba(216, 185, 123, 0.5);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
}

.nav-cart-btn:hover {
  background: rgba(216, 185, 123, 0.2);
  transform: scale(1.05);
}

.cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #4c1526;
  color: #f8f5ef;
  border: 1px solid #d8b97b;
  font-size: 11px;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Header Account Button */
.nav-account-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 14px;
  color: var(--gold);
  border: 1px solid rgba(216, 185, 123, 0.45);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.5px;
  transition: all 0.25s ease;
  text-decoration: none;
}

.nav-account-btn:hover {
  background: rgba(216, 185, 123, 0.18);
  border-color: rgba(216, 185, 123, 0.85);
  transform: translateY(-1px);
}

.nav-account-btn.logged-in {
  background: rgba(76, 21, 38, 0.65);
  border-color: #d8b97b;
  color: #f7ede0;
}

@media (max-width: 768px) {
  .nav-account-btn {
    padding: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    justify-content: center;
  }
  .nav-account-btn span {
    display: none;
  }
}

/* Card Quick Add to Cart Button */
.collection-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  gap: 12px;
}

.btn-card-add-cart {
  background: #f4eee3;
  color: #421020;
  border: 1px solid #dcd3c6;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.btn-card-add-cart:hover {
  background: #e8d1aa;
  border-color: #ba8b48;
  transform: translateY(-1px);
}

/* Cart Drawer (Slide-Over) */
.cart-drawer-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(20, 4, 10, 0.78);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1001;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cart-drawer-overlay.active {
  display: block;
  opacity: 1;
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(480px, 100vw);
  background: #f8f5ef;
  z-index: 1002;
  box-shadow: -10px 0 50px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.cart-drawer.active {
  transform: translateX(0);
}

.cart-drawer-header {
  padding: 24px 28px;
  border-bottom: 1px solid #e0d7c9;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cart-drawer-header h3 {
  font-family: var(--serif);
  font-size: 26px;
  color: #421b27;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.cart-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.cart-empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #7a6a60;
}

.cart-empty-state svg {
  color: #d8b97b;
  margin-bottom: 16px;
}

.cart-empty-state h4 {
  font-family: var(--serif);
  font-size: 24px;
  color: #421b27;
  margin-bottom: 8px;
}

.cart-item {
  display: grid;
  grid-template-columns: 75px 1fr auto;
  gap: 16px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid #e8dfd2;
}

.cart-item-img {
  width: 75px;
  height: 75px;
  object-fit: cover;
  background: #eaded1;
  border: 1px solid #dcd3c6;
}

.cart-item-details h4 {
  font-family: var(--serif);
  font-size: 19px;
  color: #421b27;
  margin: 0 0 4px;
}

.cart-item-price {
  font-size: 14px;
  font-weight: 600;
  color: #755747;
}

.cart-item-remove {
  background: none;
  border: none;
  color: #a2262b;
  font-size: 12px;
  cursor: pointer;
  padding: 4px 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cart-item-stepper {
  display: flex;
  align-items: center;
  border: 1px solid #d6cbb9;
  background: #ffffff;
  width: fit-content;
  margin-top: 8px;
}

.cart-item-stepper button {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #4f322d;
  cursor: pointer;
}

.cart-item-stepper button:hover {
  background: #f0e6d8;
}

.cart-item-stepper span {
  width: 28px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #3b1420;
}

.cart-drawer-footer {
  padding: 22px 28px 26px;
  border-top: 1px solid #e0d7c9;
  background: #faf7f2;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cart-subtotal-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: #604d42;
}

.cart-total-row {
  display: flex;
  justify-content: space-between;
  font-size: 20px;
  font-weight: 700;
  color: #3b1420;
  padding-top: 12px;
  border-top: 1px solid #e0d7c9;
}

.free-shipping-pill {
  background: #e9f5ed;
  color: #1a6332;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid #bce2c7;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Cart Drawer Fulfillment Selector */
.cart-fulfillment-selector {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 2px;
}

.cart-fulfillment-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cart-fulfillment-label {
  font-size: 11px;
  font-weight: 700;
  color: #786b61;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.fulfillment-pill-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #ede6d8;
  padding: 3px;
  border-radius: 6px;
  gap: 4px;
}

.fulfillment-pill-btn {
  background: transparent;
  border: none;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 600;
  color: #6a574d;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s ease;
  min-height: 38px;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.fulfillment-pill-btn * {
  pointer-events: none;
}

.fulfillment-pill-btn:hover {
  color: #421020;
}

.fulfillment-pill-btn.active {
  background: #ffffff;
  color: #421020;
  box-shadow: 0 1px 4px rgba(66, 16, 32, 0.12);
}

.pill-tag-free {
  background: #1a6332;
  color: #ffffff;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 3px;
  font-weight: 700;
  text-transform: uppercase;
}

/* Multi-Step Checkout Modal */
.checkout-dialog {
  display: block !important;
  background: #f8f5ef !important;
  color: #302725 !important;
  position: relative !important;
  max-height: 92svh;
  overflow-y: auto;
  border: 1px solid #d6cbb9 !important;
  border-radius: 4px !important;
  width: min(840px, calc(100vw - 32px)) !important;
  max-width: 840px !important;
  padding: 38px 40px 32px !important;
  box-shadow: 0 30px 80px -10px rgba(26, 6, 14, 0.6) !important;
}

@media (max-width: 650px) {
  .checkout-dialog {
    padding: 30px 20px 24px !important;
  }
}

.checkout-steps {
  display: flex;
  border-bottom: 1px solid #e0d7c9;
  margin: 16px 0 24px;
  gap: 20px;
}

.checkout-step-tab {
  background: none;
  border: none;
  padding: 10px 0 14px;
  font-size: 13px;
  font-weight: 600;
  color: #8c786a;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}

.checkout-step-tab.active {
  color: #421020;
}

.checkout-step-tab.active::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: #4c1526;
}

.step-badge {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e2d7c7;
  color: #4f322d;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.checkout-step-tab.active .step-badge {
  background: #4c1526;
  color: #f8f5ef;
}

/* Checkout Step 1 Fulfillment Mode Dual Cards */
.fulfillment-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 580px) {
  .fulfillment-cards-grid {
    grid-template-columns: 1fr;
  }
}

.fulfillment-card {
  background: #ffffff;
  border: 1px solid #d6cbb9;
  border-radius: 4px;
  padding: 14px 16px;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.fulfillment-card * {
  pointer-events: none;
}

.fulfillment-card:hover {
  border-color: #ba8b48;
}

.fulfillment-card.active {
  border-color: #4c1526;
  background: #fbf5ed;
  box-shadow: 0 0 0 1px #4c1526;
}

.fulfillment-card-radio {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #bdafa3;
  margin-top: 2px;
  flex-shrink: 0;
  position: relative;
  transition: border-color 0.2s;
}

.fulfillment-card.active .fulfillment-card-radio {
  border-color: #4c1526;
}

.fulfillment-card.active .fulfillment-card-radio::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4c1526;
}

.fulfillment-card-content {
  flex: 1;
}

.fulfillment-card-title {
  font-size: 13px;
  font-weight: 700;
  color: #421020;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 3px;
}

.fulfillment-card-sub {
  font-size: 12px;
  color: #786b61;
  line-height: 1.4;
}

.pickup-free-badge {
  background: #e9f5ed;
  color: #1a6332;
  border: 1px solid #bce2c7;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: auto;
}

/* Boutique Showroom Info Card */
.pickup-showroom-card {
  background: #ffffff;
  border: 1px solid #d6cbb9;
  border-left: 4px solid #ba8b48;
  border-radius: 4px;
  padding: 16px 18px;
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pickup-showroom-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #8f651f;
  background: #fdf6ea;
  padding: 3px 8px;
  border-radius: 3px;
  width: fit-content;
}

.pickup-showroom-title {
  font-family: var(--serif);
  font-size: 18px;
  color: #421b27;
  margin: 2px 0 0;
}

.pickup-showroom-address,
.pickup-showroom-hours {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: #55443b;
  line-height: 1.5;
}

.pickup-showroom-address svg,
.pickup-showroom-hours svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: #ba8b48;
}

.pickup-showroom-note {
  font-size: 12px;
  color: #8c786a;
  font-style: italic;
  margin: 6px 0 0;
  padding-top: 8px;
  border-top: 1px dashed #e8decb;
  line-height: 1.5;
}

/* Payment Selector Tabs & Cards */
.payment-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 16px 0 24px;
}

@media (max-width: 600px) {
  .payment-tabs {
    grid-template-columns: repeat(2, 1fr);
  }
}

.payment-tab-btn {
  background: #ffffff;
  border: 1px solid #d6cbb9;
  padding: 14px 10px;
  text-align: center;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #55443b;
  transition: border-color 0.2s, background 0.2s;
}

.payment-tab-btn.active {
  border-color: #4c1526;
  background: #fbf5ed;
  color: #421020;
  box-shadow: 0 0 0 1px #4c1526;
}

/* DuitNow QR Box */
.duitnow-box {
  background: #ffffff;
  border: 1px solid #d6cbb9;
  padding: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.duitnow-qr-wrap {
  width: 170px;
  height: 170px;
  padding: 10px;
  background: #ffffff;
  border: 2px solid #ed1b24; /* DuitNow brand red */
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.duitnow-qr-wrap svg {
  width: 100%;
  height: 100%;
}

/* FPX Bank Grid */
.fpx-bank-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

@media (max-width: 500px) {
  .fpx-bank-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.bank-option {
  border: 1px solid #d6cbb9;
  background: #ffffff;
  padding: 12px 10px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  color: #3b1420;
  transition: all 0.2s;
}

.bank-option.active {
  border-color: #4c1526;
  background: #fdf8f0;
  box-shadow: 0 0 0 1px #4c1526;
}

/* Order Confirmation & Certificate */
.certificate-box {
  background: #ffffff;
  border: 2px solid #d8b97b;
  padding: 36px 32px;
  position: relative;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.certificate-seal {
  width: 70px;
  height: 70px;
  margin: 0 auto 16px;
}

.cert-stamp {
  display: inline-block;
  border: 2px solid #1a6332;
  color: #1a6332;
  padding: 4px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 12px;
  transform: rotate(-3deg);
}

/* Ribbon Color Picker in Product Modal */
.ribbon-picker {
  display: flex;
  gap: 10px;
  margin: 10px 0 18px;
}

.ribbon-option {
  border: 1px solid #d6cbb9;
  background: #ffffff;
  padding: 8px 14px;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: #55443b;
  transition: all 0.2s;
}

.ribbon-option.active {
  border-color: #4c1526;
  background: #fbf5ed;
  color: #421020;
}

.ribbon-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
}

.btn-quick-sentiment {
  background: #ffffff;
  border: 1px solid #d6cbb9;
  color: #604d42;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-quick-sentiment:hover {
  background: #fdf8f0;
  border-color: #ba8b48;
  color: #421020;
}

/* ==========================================================================
   COMPREHENSIVE RESPONSIVE ENHANCEMENTS (Mobile, Tablet & Small Screens)
   ========================================================================== */

/* 1. Global Viewport & iOS Safari Optimization */
html, body {
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100vw !important;
  -webkit-overflow-scrolling: touch;
}

/* Prevent iOS Safari automatic viewport zooming on form focus */
@media (max-width: 768px) {
  input, select, textarea, .enquiry-select {
    font-size: 16px !important;
  }
}

/* 2. Responsive Site Header & Navigation */
@media (max-width: 850px) {
  .site-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 76px !important;
    padding: 0 16px !important;
  }

  .site-header.is-scrolled {
    height: 68px !important;
    padding: 0 16px !important;
  }

  .mobile-menu.icon-button {
    display: flex !important;
    min-width: 40px !important;
    min-height: 40px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    flex-shrink: 0 !important;
  }

  .wordmark {
    flex: 1 !important;
    text-align: center !important;
    padding: 0 8px !important;
  }

  .wordmark > span {
    font-size: clamp(17px, 5vw, 23px) !important;
    letter-spacing: 1.5px !important;
    white-space: nowrap !important;
  }

  .wordmark small {
    font-size: 10.5px !important;
    letter-spacing: 1.2px !important;
  }

  .nav-right {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    justify-content: flex-end !important;
  }

  .nav-cart-btn {
    width: 38px !important;
    height: 38px !important;
  }

  .language-button {
    min-width: 32px !important;
    padding: 6px 4px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: var(--ivory) !important;
  }

  .desktop-nav, .corporate-nav, .nav-divider, .nav-explore {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .site-header {
    padding: 0 12px !important;
  }

  .wordmark > span {
    font-size: 16px !important;
    letter-spacing: 1px !important;
  }

  .wordmark small {
    font-size: 9.5px !important;
  }

  .nav-right {
    gap: 4px !important;
  }
}

/* Mobile Drawer */
.mobile-nav-sheet {
  width: min(85vw, 360px) !important;
  padding: 36px 24px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
}

.mobile-nav-sheet nav a,
.mobile-nav-sheet nav button.mobile-nav-link,
.mobile-nav-sheet nav .mobile-nav-link {
  font-family: var(--serif) !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
  padding: 16px 0 !important;
  color: #f8f0e5 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #b693752f !important;
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
  text-align: left !important;
  text-decoration: none !important;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box !important;
}

.mobile-nav-sheet nav .mobile-nav-link svg {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  opacity: 0.85;
}

/* 3. Hero Section Mobile Optimization */
@media (max-width: 850px) {
  .hero {
    height: auto !important;
    min-height: 680px !important;
    padding-bottom: 90px !important;
  }

  .hero-content {
    width: 100% !important;
    padding: 125px 20px 30px !important;
    box-sizing: border-box !important;
  }

  .hero h1 {
    font-size: clamp(42px, 12vw, 76px) !important;
    line-height: 1.05 !important;
    margin: 18px 0 16px !important;
    letter-spacing: -1.2px !important;
    word-break: break-word;
  }

  .hero-description {
    font-size: 15px !important;
    line-height: 1.75 !important;
    max-width: 100% !important;
  }

  .hero-photo {
    inset: 0 !important;
    left: 0 !important;
    opacity: 0.38 !important;
  }

  .hero-photo img {
    object-position: center !important;
  }

  .hero-caption {
    position: static !important;
    text-align: left !important;
    margin-top: 24px !important;
  }

  .hero-bottom {
    position: static !important;
    margin-top: 24px !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
  }
}

/* 4. The Collection Grid & Card Actions */
@media (max-width: 1024px) and (min-width: 681px) {
  .collection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

@media (max-width: 680px) {
  .collection-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .section-space {
    padding: 60px 18px !important;
  }

  .collection-image {
    aspect-ratio: 1 / 1.05 !important;
  }
}

.collection-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  gap: 10px;
}

@media (max-width: 480px) {
  .collection-card-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .collection-card-actions .text-link {
    justify-content: center !important;
    width: 100% !important;
    padding: 6px 0 !important;
  }

  .btn-card-add-cart {
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    font-size: 13px !important;
  }
}

/* 5. Our Maison Section */
@media (max-width: 950px) {
  .maison-section {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    padding: 20px 20px 70px !important;
  }

  .maison-image {
    height: clamp(280px, 58vw, 420px) !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  .brand-seal {
    width: 82px !important;
    height: 82px !important;
    padding: 10px !important;
    top: 16px !important;
    right: 16px !important;
  }

  .maison-copy h2 {
    font-size: clamp(34px, 8.5vw, 50px) !important;
    margin: 14px 0 16px !important;
  }
}

/* 6. Corporate Gifting Section */
@media (max-width: 950px) {
  .corporate-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 70px 20px 90px !important;
  }

  .corporate-heading h2 {
    font-size: clamp(34px, 8.5vw, 56px) !important;
    margin-top: 16px !important;
  }

  .corporate-copy .button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 48px !important;
  }
}

/* 7. FAQ & Concierge Section */
@media (max-width: 950px) {
  .faq-layout {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

@media (max-width: 600px) {
  .concierge-card {
    padding: 24px 18px !important;
    gap: 16px !important;
  }

  details.faq-item > summary.faq-question {
    font-size: clamp(16px, 4.2vw, 19px) !important;
    padding: 16px 0 !important;
    gap: 12px !important;
  }

  details.faq-item .faq-answer {
    font-size: 13.5px !important;
    line-height: 1.75 !important;
    padding-bottom: 16px !important;
  }
}

/* 8. Footer Section */
@media (max-width: 600px) {
  footer {
    padding: 0 20px !important;
  }

  .footer-main {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 32px 0 24px !important;
  }

  .footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 20px !important;
    margin-top: 14px !important;
    width: 100% !important;
  }

  .footer-links a {
    font-size: 14.5px !important;
    color: #5a443d !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 20px 0 calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid #e2d7c7 !important;
    width: 100% !important;
  }

  .footer-policy-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    width: 100% !important;
  }

  .footer-policy-links button {
    white-space: nowrap !important;
    font-size: 12px !important;
    color: #7a6659 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }

  .footer-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 8px !important;
    width: 100% !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    color: #948577 !important;
    text-transform: uppercase !important;
  }
}

/* 9. Slide-over Luxury Cart Drawer */
.cart-drawer {
  width: min(420px, 100vw) !important;
}

@media (max-width: 480px) {
  .cart-drawer-header {
    padding: 16px 18px !important;
  }

  .cart-drawer-header h3 {
    font-size: 21px !important;
  }

  .cart-drawer-body {
    padding: 16px 18px !important;
    gap: 14px !important;
  }

  .cart-item {
    grid-template-columns: 60px 1fr auto !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
  }

  .cart-item-img {
    width: 60px !important;
    height: 60px !important;
  }

  .cart-item-details h4 {
    font-size: 17px !important;
  }

  .cart-item-stepper button {
    width: 32px !important;
    height: 32px !important;
  }

  .cart-item-stepper span {
    width: 26px !important;
    font-size: 13px !important;
  }

  .cart-drawer-footer {
    padding: 16px 18px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 12px !important;
  }

  .cart-subtotal-row {
    font-size: 13px !important;
  }

  .cart-total-row {
    font-size: 18px !important;
  }
}

/* 10. Product Detail Modal */
.product-modal-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
}

.product-modal-actions #btn-add-cart-from-modal {
  flex: 1.4;
}

.product-modal-actions #btn-add-cart-from-modal:disabled {
  background: #f0ebe6 !important;
  color: #9a8f87 !important;
  border-color: #e2dbd4 !important;
  cursor: not-allowed !important;
  pointer-events: auto !important;
  opacity: 0.8 !important;
}

.product-modal-actions #btn-enquire-from-product {
  flex: 1;
}

@media (max-width: 850px) {
  .product-dialog {
    grid-template-columns: 1fr !important;
    max-height: 90svh !important;
    width: min(94vw, 560px) !important;
  }

  .product-dialog-image {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 260px !important;
  }

  .product-dialog-body {
    padding: 22px 18px 24px !important;
  }

  .product-title {
    font-size: clamp(26px, 6vw, 34px) !important;
    margin: 8px 0 10px !important;
  }

  .ribbon-picker {
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 8px 0 14px !important;
  }

  .ribbon-option {
    flex: 1 1 calc(33.333% - 6px) !important;
    min-width: 100px !important;
    justify-content: center !important;
    padding: 7px 10px !important;
    font-size: 11.5px !important;
  }
}

@media (max-width: 480px) {
  .product-modal-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .product-modal-actions button {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
  }
}

/* 11. Multi-Step Checkout Modal */
.checkout-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.checkout-actions-row {
  display: flex;
  gap: 12px;
  margin-top: 18px;
}

.checkout-actions-row .btn-back {
  flex: 0.8;
  justify-content: center;
  min-height: 48px;
}

.checkout-actions-row .btn-next {
  flex: 1.2;
  justify-content: center;
  min-height: 48px;
}

@media (max-width: 650px) {
  .checkout-dialog {
    width: min(95vw, 600px) !important;
    max-height: 92svh !important;
    padding: 24px 16px 20px !important;
  }

  .checkout-dialog h2 {
    font-size: 26px !important;
    margin: 6px 0 4px !important;
  }

  .checkout-steps {
    gap: 6px !important;
    margin: 10px 0 16px !important;
    justify-content: space-between !important;
  }

  .checkout-step-tab {
    padding: 6px 2px 8px !important;
    font-size: 11px !important;
    gap: 4px !important;
  }

  .step-badge {
    width: 18px !important;
    height: 18px !important;
    font-size: 10px !important;
  }

  .checkout-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .payment-tabs {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    margin: 12px 0 18px !important;
  }

  .payment-tab-btn {
    padding: 12px 6px !important;
    font-size: 11.5px !important;
  }

  .duitnow-box {
    padding: 18px 12px !important;
  }

  .duitnow-qr-wrap {
    width: 140px !important;
    height: 140px !important;
  }

  .fpx-bank-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .bank-option {
    padding: 10px 8px !important;
    font-size: 11.5px !important;
    justify-content: center !important;
  }

  .btn-quick-sentiment {
    font-size: 11px !important;
    padding: 6px 10px !important;
  }
}

@media (max-width: 420px) {
  .checkout-actions-row {
    flex-direction: column-reverse !important;
    gap: 8px !important;
  }

  .checkout-actions-row .btn-back,
  .checkout-actions-row .btn-next {
    width: 100% !important;
    min-height: 44px !important;
  }
}

/* 12. Order Confirmation Certificate Modal */
.cert-actions-row {
  display: flex;
  gap: 10px;
}

.cert-actions-row .button {
  flex: 1;
}

@media (max-width: 600px) {
  .certificate-box {
    padding: 22px 14px !important;
  }

  .certificate-box h2 {
    font-size: clamp(22px, 5.5vw, 30px) !important;
  }

  .certificate-seal {
    width: 52px !important;
    height: 52px !important;
    margin-bottom: 8px !important;
  }

  .cert-stamp {
    font-size: 10.5px !important;
    padding: 3px 10px !important;
  }

  .cert-actions-row {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .cert-actions-row .button {
    width: 100% !important;
    min-height: 44px !important;
  }
}

/* ==========================================================================
   LIVE ORDER STATUS TRACKER ON PRESENTATION CERTIFICATE & LOOKUP MODAL
   ========================================================================== */

/* Embedded Certificate Tracker Block */
.cert-tracker-block {
  background: #faf7f2;
  border: 1px solid #e2d7c7;
  border-radius: 6px;
  padding: 16px 18px;
  margin: 18px 0 20px;
  text-align: left;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}

.cert-tracker-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ece4d8;
}

.cert-tracker-mode {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #6b4d3c;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.cert-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  border: 1px solid #1a6332;
  background: #f0f8f2;
  color: #1a6332;
}

.cert-status-badge.active-state {
  border-color: #ba8b48;
  background: #fdf9f1;
  color: #7d5718;
}

.cert-status-badge.pickup-ready {
  border-color: #4c1526;
  background: #fdf5f7;
  color: #4c1526;
}

.cert-pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
  animation: certDotPulse 1.8s infinite ease-in-out;
}

@keyframes certDotPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(0.75); }
}

/* 4-Stage Stepper: Desktop Horizontal */
.cert-stepper-wrap {
  margin: 18px 0 16px;
  position: relative;
}

.cert-stepper-horizontal {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.cert-stepper-bg {
  position: absolute;
  top: 15px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: #e3d9cb;
  z-index: 1;
}

.cert-stepper-fill {
  position: absolute;
  top: 15px;
  left: 12.5%;
  height: 2px;
  background: #4c1526;
  z-index: 1;
  transition: width 0.4s ease;
}

.cert-step-item {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  padding: 0 4px;
}

.cert-step-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #d4c7b5;
  color: #8c786a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
  transition: all 0.3s ease;
}

.cert-step-item.completed .cert-step-circle {
  background: #1a6332;
  border-color: #1a6332;
  color: #ffffff;
}

.cert-step-item.active .cert-step-circle {
  background: #4c1526;
  border-color: #4c1526;
  color: #ffffff;
  box-shadow: 0 0 0 3px rgba(216, 185, 123, 0.45);
}

.cert-step-title {
  font-size: 11.5px;
  font-weight: 700;
  color: #421b27;
  margin-top: 8px;
  line-height: 1.25;
}

.cert-step-item.pending .cert-step-title {
  color: #9c8c80;
  font-weight: 500;
}

.cert-step-desc {
  font-size: 10px;
  color: #7a6c62;
  margin-top: 2px;
  line-height: 1.35;
  max-width: 125px;
}

/* 4-Stage Stepper: Mobile Vertical (< 620px) */
.cert-stepper-vertical {
  display: none;
}

@media (max-width: 620px) {
  .cert-stepper-horizontal {
    display: none;
  }

  .cert-stepper-vertical {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    padding-left: 32px;
    margin: 14px 0;
  }

  .cert-vstep-line {
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 12px;
    width: 2px;
    background: #e3d9cb;
    z-index: 1;
  }

  .cert-vstep-fill {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 2px;
    background: #4c1526;
    z-index: 1;
    transition: height 0.4s ease;
  }

  .cert-vstep-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    position: relative;
    z-index: 2;
  }

  .cert-vstep-circle {
    position: absolute;
    left: -32px;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #d4c7b5;
    color: #8c786a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
  }

  .cert-vstep-item.completed .cert-vstep-circle {
    background: #1a6332;
    border-color: #1a6332;
    color: #ffffff;
  }

  .cert-vstep-item.active .cert-vstep-circle {
    background: #4c1526;
    border-color: #4c1526;
    color: #ffffff;
    box-shadow: 0 0 0 3px rgba(216, 185, 123, 0.45);
  }

  .cert-vstep-content {
    display: flex;
    flex-direction: column;
  }

  .cert-vstep-title {
    font-size: 12px;
    font-weight: 700;
    color: #421b27;
  }

  .cert-vstep-item.pending .cert-vstep-title {
    color: #9c8c80;
    font-weight: 500;
  }

  .cert-vstep-desc {
    font-size: 11px;
    color: #7a6c62;
    margin-top: 1px;
    line-height: 1.35;
  }
}

/* Telemetry Grid on Certificate */
.cert-telemetry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  border-top: 1px solid #ece4d8;
  padding-top: 12px;
  box-sizing: border-box;
  width: 100%;
}

@media (max-width: 540px) {
  .cert-telemetry-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
}

.cert-telemetry-cell {
  background: #ffffff;
  border: 1px solid #e8decb;
  border-radius: 4px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.cert-telemetry-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f4ede2;
  color: #4c1526;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cert-telemetry-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  flex: 1;
  gap: 2px;
}

.cert-telemetry-label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #8c786a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cert-telemetry-val {
  font-size: 11.5px;
  font-weight: 700;
  color: #421b27;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  min-width: 0;
}

.cert-temp-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: #edf6ef;
  border: 1px solid #a8d5b5;
  color: #1a6332;
  border-radius: 10px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
  margin-left: 4px;
  flex-shrink: 0;
}

/* Standalone Order Lookup Modal (#tracking-modal-container) */
.desktop-nav .nav-link-track {
  background: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: 14px;
  position: relative;
  cursor: pointer;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  -webkit-appearance: none;
  appearance: none;
}
.desktop-nav .nav-link-track:after {
  content: "";
  transform-origin: 0;
  background: currentColor;
  height: 1px;
  transition: transform 0.3s;
  position: absolute;
  bottom: -7px;
  left: 0;
  right: 0;
  transform: scaleX(0);
}
.desktop-nav .nav-link-track:hover:after {
  transform: scaleX(1);
}

.mobile-nav-sheet nav button.mobile-nav-link {
  font-family: inherit;
  font-size: inherit;
  padding: inherit;
}

#tracking-modal-container.active,
#tracking-modal-container.enquiry-active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, -50%) scale(1) !important;
  -webkit-transform: translate(-50%, -50%) scale(1) !important;
  pointer-events: auto !important;
}

#tracking-modal-container .checkout-dialog {
  max-width: 660px !important;
  width: min(660px, calc(100vw - 32px)) !important;
  padding: 34px 32px 28px !important;
}

@media (max-width: 650px) {
  #tracking-modal-container .checkout-dialog {
    padding: 24px 18px 20px !important;
  }
}

.tracking-nav-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  padding-right: 44px; /* reserve space so close button .dialog-x never overlaps */
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 650px) {
  .tracking-nav-bar {
    padding-right: 40px;
    margin-bottom: 12px;
  }
}

.tracking-back-btn {
  background: transparent;
  border: none;
  color: #7b6251;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s;
  -webkit-appearance: none;
  appearance: none;
}

.tracking-back-btn:hover {
  color: #4c1526;
  text-decoration: underline;
}

.tracking-order-id-badge {
  font-family: monospace;
  font-size: 13px;
  font-weight: 700;
  color: #4c1526;
  background: #f3ecdf;
  padding: 4px 10px;
  border-radius: 4px;
  border: 1px solid #dfd4c3;
  letter-spacing: 0.5px;
}

.tracking-secondary-btn {
  color: #4c1526 !important;
  background: #ffffff !important;
  border: 1px solid #d4c4af !important;
  border-radius: 2px;
  font-weight: 600;
  justify-content: center;
  min-height: 44px;
  font-size: 13.5px;
  letter-spacing: 0.3px;
  transition: all 0.25s ease;
  box-shadow: 0 1px 3px rgba(76, 21, 38, 0.04);
  width: 100%;
  display: inline-flex;
  align-items: center;
}

.tracking-secondary-btn:hover {
  background: #f7f1e6 !important;
  border-color: #ba8b48 !important;
  color: #3b1120 !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(76, 21, 38, 0.08);
}

.tracking-search-form {
  margin: 16px 0 12px;
}

.tracking-empty-alert {
  background: #faf4ec;
  border: 1px dashed #d8caa8;
  padding: 16px 18px;
  border-radius: 4px;
  text-align: center;
  color: #6b584b;
  font-size: 13px;
  line-height: 1.6;
  margin-top: 14px;
}

.tracking-recent-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.tracking-chip {
  background: #ffffff;
  border: 1px solid #dcd3c6;
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12px;
  color: #4f322d;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  transition: all 0.2s;
}

.tracking-chip:hover {
  border-color: #4c1526;
  background: #faf4ec;
}

.tracking-chip strong {
  color: #4c1526;
  font-family: monospace;
}

.tracking-chip-badge {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 10px;
  background: #f0e6d6;
  color: #6a5340;
  text-transform: uppercase;
}

.recent-order-row {
  background: #ffffff;
  border: 1px solid #e3dacd;
  border-radius: 4px;
  padding: 10px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.recent-order-row:hover {
  border-color: #4c1526;
  background-color: #fbf7f2;
  box-shadow: 0 2px 8px rgba(76, 21, 38, 0.06);
}

/* ==========================================================================
   PRINT STYLESHEET (CLEAN GIFT PRESENTATION CERTIFICATE)
   ========================================================================== */
@media print {
  body * {
    visibility: hidden !important;
  }

  #order-success-modal,
  #order-success-modal * {
    visibility: visible !important;
  }

  #order-success-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: visible !important;
    z-index: 99999 !important;
  }

  #order-success-modal .checkout-dialog {
    box-shadow: none !important;
    border: none !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 10px !important;
    background: #ffffff !important;
  }

  #btn-close-success,
  #btn-order-whatsapp-sync,
  .cert-actions-row,
  .dialog-x {
    display: none !important;
  }

  #certificate-print-area {
    box-shadow: none !important;
    border: 2px solid #ba8b48 !important;
    margin: 0 auto !important;
    padding: 24px !important;
    max-width: 700px !important;
    background: #ffffff !important;
    page-break-inside: avoid !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  @page {
    margin: 12mm;
    size: auto;
  }
}

/* ==========================================================================
   CUSTOMER AUTH MODAL & ACCOUNT ORDERS
   ========================================================================== */
#customer-auth-modal.active,
#customer-auth-modal.enquiry-active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, -50%) scale(1) !important;
  -webkit-transform: translate(-50%, -50%) scale(1) !important;
  pointer-events: auto !important;
}

#customer-auth-modal .checkout-dialog {
  max-width: 480px !important;
  width: min(480px, calc(100vw - 32px)) !important;
  padding: 34px 30px 28px !important;
}

@media (max-width: 650px) {
  #customer-auth-modal .checkout-dialog {
    padding: 24px 18px 20px !important;
  }
}

/* Customer Auth Dialog Components */
.auth-tabs-nav {
  display: flex;
  border-bottom: 1px solid #e2d8c9;
  margin-bottom: 22px;
  gap: 16px;
}

.auth-tab-btn {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 8px 4px 12px;
  font-family: var(--serif);
  font-size: 16px;
  color: #8c786a;
  cursor: pointer;
  transition: all 0.2s ease;
}

.auth-tab-btn.active {
  color: #4c1526;
  border-bottom-color: #4c1526;
  font-weight: 700;
}

.auth-form-group {
  margin-bottom: 15px;
}

.auth-form-group label {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: #5c473c;
  margin-bottom: 6px;
  letter-spacing: 0.3px;
}

.auth-form-group input {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #d6cbb9;
  background: #fff;
  border-radius: 3px;
  font-size: 15px;
  color: #382522;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.auth-form-group input:focus {
  outline: none;
  border-color: #4c1526;
  box-shadow: 0 0 0 3px rgba(76, 21, 38, 0.12);
}

.auth-alert-box {
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 13px;
  margin-bottom: 15px;
  line-height: 1.4;
  display: none;
}

.auth-alert-error {
  background: #fdf2f2;
  border: 1px solid #f2c7c7;
  color: #8c2637;
}

.auth-alert-success {
  background: #f0f8f3;
  border: 1px solid #cce8d6;
  color: #1a6338;
}

.auth-toggle-link {
  background: none;
  border: none;
  color: #8c7155;
  font-size: 13px;
  cursor: pointer;
  padding: 4px 0;
  text-decoration: underline;
  margin-top: 14px;
  display: inline-block;
  transition: color 0.2s;
}

.auth-toggle-link:hover {
  color: #4c1526;
}

/* 6-Digit OTP Verification Box */
.otp-card-container {
  text-align: center;
  padding: 4px 0 10px;
}
.otp-email-highlight {
  font-weight: 700;
  color: #421b27;
  word-break: break-all;
}
.otp-inputs-row {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 22px 0 18px;
}
.otp-digit-input {
  width: 48px;
  height: 56px;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  font-family: 'Cormorant Garamond', Georgia, serif, monospace;
  color: #421b27;
  background: #ffffff;
  border: 1.5px solid #d6cbb9;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: all 0.2s ease;
  caret-color: #ba8b48;
}
.otp-digit-input:focus {
  outline: none;
  border-color: #ba8b48;
  box-shadow: 0 0 0 3px rgba(186, 139, 72, 0.2);
  background: #fdfaf4;
}
.otp-digit-input.filled {
  border-color: #421b27;
  background: #faf6ee;
}
.otp-resend-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 13px;
  color: #7a6a5e;
}
.otp-resend-btn {
  background: none;
  border: none;
  color: #ba8b48;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}
.otp-resend-btn:disabled {
  color: #a8988d;
  cursor: not-allowed;
  text-decoration: none;
}
.otp-change-email-btn {
  background: none;
  border: none;
  color: #8c786a;
  font-size: 12.5px;
  cursor: pointer;
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: underline;
}
.otp-change-email-btn:hover {
  color: #421b27;
}

/* User Account Profile Box */
.customer-profile-card {
  background: #fff;
  border: 1px solid #e8dfcf;
  border-radius: 6px;
  padding: 18px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.customer-avatar-badge {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #4c1526;
  color: #f6efe2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 700;
  border: 1px solid #d8b97b;
  flex-shrink: 0;
}

.customer-profile-info {
  flex: 1;
  min-width: 0;
}

.customer-profile-name {
  font-family: var(--serif);
  font-size: 17px;
  color: #4c1526;
  font-weight: 700;
  margin: 0 0 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-profile-email {
  font-size: 13px;
  color: #7b695e;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Account Orders List in Tracking Modal */
.account-orders-container {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 380px;
  overflow-y: auto;
  padding-right: 4px;
}

.account-order-card {
  background: #ffffff;
  border: 1px solid #e3dacd;
  border-radius: 6px;
  padding: 14px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  text-align: left;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
}

.account-order-card:hover {
  border-color: #ba8b48;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(76, 21, 38, 0.08);
}

.account-order-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.account-order-id {
  font-family: monospace;
  font-size: 14px;
  font-weight: 700;
  color: #4c1526;
  letter-spacing: 0.5px;
}

.account-order-date {
  font-size: 11.5px;
  color: #8b796d;
}

.account-order-summary {
  font-size: 12.5px;
  color: #55443a;
  line-height: 1.35;
}

.account-order-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

.account-order-status-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 12px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  white-space: nowrap;
}

.status-badge-confirmed {
  background: rgba(76, 21, 38, 0.1);
  color: #4c1526;
  border: 1px solid rgba(76, 21, 38, 0.3);
}

.status-badge-preparing {
  background: rgba(186, 139, 72, 0.15);
  color: #8a5e1c;
  border: 1px solid rgba(186, 139, 72, 0.35);
}

.status-badge-intransit {
  background: rgba(26, 120, 70, 0.12);
  color: #116035;
  border: 1px solid rgba(26, 120, 70, 0.3);
}

.status-badge-readypickup {
  background: rgba(26, 120, 70, 0.12);
  color: #116035;
  border: 1px solid rgba(26, 120, 70, 0.3);
}

.status-badge-completed {
  background: rgba(186, 139, 72, 0.2);
  color: #5d4013;
  border: 1px solid rgba(186, 139, 72, 0.5);
}

.account-order-view-cta {
  font-size: 12px;
  font-weight: 600;
  color: #4c1526;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.account-order-view-cta svg {
  transition: transform 0.2s;
}

.account-order-card:hover .account-order-view-cta svg {
  transform: translateX(3px);
}

/* Guest sign-in banner inside tracking modal */
.tracking-auth-banner {
  background: linear-gradient(135deg, rgba(76, 21, 38, 0.05) 0%, rgba(186, 139, 72, 0.08) 100%);
  border: 1px solid #e6dec8;
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

@media (max-width: 580px) {
  .tracking-auth-banner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Out of Stock Collection Styling */
.collection-card.is-out-of-stock .collection-image img {
  filter: grayscale(45%) opacity(0.8);
}
.out-of-stock-overlay {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(140, 38, 55, 0.92);
  color: #ffffff;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  pointer-events: none;
  z-index: 5;
}
.btn-card-add-cart.disabled-out-of-stock {
  background: #f0ebe6 !important;
  color: #9a8f87 !important;
  border-color: #e2dbd4 !important;
  cursor: not-allowed !important;
  pointer-events: auto !important;
}
.btn-card-add-cart.disabled-out-of-stock svg {
  opacity: 0.4;
}

/* ==========================================================================
   CORPORATE GIFTING MULTI-COLLECTION & CUSTOM AMOUNT STUDIO
   ========================================================================== */

/* Mode Switcher Toggle */
.enquiry-mode-toggle {
  display: flex;
  background: #ebe4d8;
  border: 1px solid #dcd1be;
  border-radius: 6px;
  padding: 4px;
  gap: 4px;
  margin: 18px 0 24px;
}

.enquiry-mode-btn {
  flex: 1;
  padding: 10px 14px;
  border: none;
  background: transparent;
  border-radius: 4px;
  font-size: 13.5px;
  font-weight: 500;
  color: #604d42;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--sans);
}

.enquiry-mode-btn.active {
  background: #ffffff;
  color: #4c1526;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(76, 21, 38, 0.08);
}

.enquiry-mode-btn:hover:not(.active) {
  background: rgba(255, 255, 255, 0.5);
  color: #3b1420;
}

/* Corporate Studio Header */
.corp-alloc-intro {
  margin-bottom: 16px;
}

.corp-alloc-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 6px;
}

.corp-alloc-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #421b27 !important;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin: 0 !important;
}

.corp-alloc-badge {
  font-size: 11.5px;
  color: #8c7659;
  background: #fbf6ef;
  border: 1px solid #e8dcce;
  padding: 2px 8px;
  border-radius: 4px;
}

/* Collections List */
.corp-collections-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 18px;
}

.corp-col-card {
  background: #ffffff;
  border: 1px solid #e2d7c5;
  border-radius: 8px;
  padding: 16px 18px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.corp-col-card.has-qty {
  border-color: #d8b97b;
  box-shadow: 0 4px 14px rgba(76, 21, 38, 0.06);
  background: #fffdfa;
}

.corp-col-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.corp-col-thumb {
  width: 52px;
  height: 52px;
  border-radius: 6px;
  object-fit: cover;
  border: 1px solid #e8decb;
  flex-shrink: 0;
  background: #f7f2ea;
}

.corp-col-info {
  flex: 1;
  min-width: 0;
}

.corp-col-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.corp-col-name {
  font-size: 15px;
  color: #3b1420;
  font-family: var(--serif, serif);
  font-weight: 600;
}

.corp-col-base-badge {
  font-size: 11.5px;
  color: #8c7659;
  background: #f7f2ea;
  border: 1px solid #e7dcce;
  padding: 2px 7px;
  border-radius: 4px;
  font-weight: 500;
}

.corp-col-sub {
  font-size: 12px;
  color: #7d7065;
  margin-top: 2px;
  line-height: 1.4;
}

.corp-col-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  background: #faf7f2;
  border: 1px solid #eee5d8;
  border-radius: 6px;
  padding: 12px 14px;
}

.corp-control-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.corp-control-label {
  font-size: 12px;
  font-weight: 600;
  color: #55443b;
  margin: 0 !important;
}

.corp-amount-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}

.corp-custom-flag {
  font-size: 10px;
  font-weight: 700;
  color: #b7791f;
  background: #fff8e6;
  border: 1px solid #f6d28b;
  padding: 1px 5px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.corp-amount-input-wrap {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #d6cbb9;
  border-radius: 4px;
  overflow: hidden;
  height: 40px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.corp-amount-input-wrap:focus-within {
  border-color: #ba8b48;
  box-shadow: 0 0 0 2px rgba(186, 139, 72, 0.18);
}

.corp-currency-prefix {
  padding: 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: #8c7659;
  background: #f7f2ea;
  border-right: 1px solid #d6cbb9;
  height: 100%;
  display: flex;
  align-items: center;
}

.corp-amount-input {
  border: none !important;
  background: transparent !important;
  height: 100% !important;
  min-height: auto !important;
  padding: 0 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #421b27 !important;
  width: 100% !important;
  outline: none !important;
  box-shadow: none !important;
}

.corp-qty-stepper {
  height: 40px !important;
  border-radius: 4px !important;
  overflow: hidden;
}

.corp-qty-stepper button {
  width: 36px !important;
}

.corp-qty-stepper input {
  font-size: 15px !important;
}

.corp-col-line-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed #e8decb;
  font-size: 13px;
}

.corp-line-desc {
  color: #7d7065;
  font-size: 12.5px;
}

.corp-line-val {
  color: #4c1526;
  font-size: 14.5px;
  font-weight: 700;
  font-family: var(--serif, serif);
}

/* Corporate Summary Aggregate Bar */
.corp-alloc-summary-bar {
  background: linear-gradient(135deg, #fdfbf7 0%, #f7f1e6 100%);
  border: 1px solid #ebdccb;
  border-radius: 6px;
  padding: 14px 18px;
  margin-top: 4px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.corp-summary-pill {
  display: flex;
  flex-direction: column;
}

.corp-summary-pill .lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #8c7659;
  font-weight: 600;
}

.corp-summary-pill .val {
  font-size: 19px;
  font-weight: 700;
  color: #421b27;
  font-family: var(--serif, serif);
}

.corp-tier-perk-hint {
  width: 100%;
  font-size: 11.5px;
  color: #1a6332;
  background: #eef7f0;
  border: 1px solid #bce2c7;
  padding: 7px 12px;
  border-radius: 4px;
  margin-top: 4px;
  font-weight: 500;
  line-height: 1.45;
}

@media (max-width: 580px) {
  .corp-col-controls {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* ==========================================================================
   VIP ACCESS PASS GATE (Password Protection)
   ========================================================================== */
#site-password-gate {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: radial-gradient(circle at center, #2e0d19 0%, #15030a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.4s ease;
}

html.site-unlocked #site-password-gate {
  display: none !important;
}

#site-password-gate.access-unlocked {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.site-gate-card {
  width: min(440px, 100%);
  background: #ffffff;
  border: 1px solid #ebdccb;
  border-radius: 8px;
  padding: 40px 32px 34px;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
  box-sizing: border-box;
  position: relative;
}

.site-gate-card.shake {
  animation: gate-shake 0.45s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes gate-shake {
  10%, 90% { transform: translate3d(-2px, 0, 0); }
  20%, 80% { transform: translate3d(4px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-6px, 0, 0); }
  40%, 60% { transform: translate3d(6px, 0, 0); }
}

.site-gate-crest {
  width: 58px;
  height: 58px;
  margin: 0 auto 14px;
  display: block;
}

.site-gate-eyebrow {
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #ba8b48;
  font-weight: 600;
  margin-bottom: 8px;
}

.site-gate-title {
  font-family: var(--serif, serif);
  font-size: 28px;
  color: #421b27;
  margin: 0 0 10px;
  line-height: 1.2;
  font-weight: 500;
}

.site-gate-subtitle {
  font-size: 13.5px;
  color: #6d5b51;
  line-height: 1.5;
  margin: 0 0 24px;
}

.site-gate-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.site-gate-input {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 16px;
  border: 1px solid #d6cbb9;
  border-radius: 4px;
  font-size: 20px;
  letter-spacing: 4px;
  text-align: center;
  color: #421b27;
  background: #fdfbf7;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none;
  appearance: none;
}

.site-gate-input:focus {
  border-color: #ba8b48;
  box-shadow: 0 0 0 3px rgba(186, 139, 72, 0.2);
  background: #ffffff;
}

.site-gate-btn {
  width: 100%;
  min-height: 48px;
  justify-content: center;
  font-size: 14px;
  letter-spacing: 0.5px;
  cursor: pointer;
}

.site-gate-error {
  font-size: 12.5px;
  color: #9c2738;
  background: #fdf2f4;
  border: 1px solid #f5c2c7;
  border-radius: 4px;
  padding: 9px 12px;
  line-height: 1.4;
  text-align: center;
}

.site-gate-footnote {
  margin-top: 24px;
  font-size: 11px;
  letter-spacing: 2px;
  color: #a49182;
  text-transform: uppercase;
}

