*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.invisible{visibility:hidden}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bone:#f4efe9;--bone-2:#ebe3d8;--espresso:#1a1714;--espresso-2:#2a2520;--ink:#1a1714;--muted:#6f655b;--brass:#c8a06a;--brass-deep:#a8814b;--line:rgba(26,23,20,.12);--serif:"Cormorant Garamond","Noto Serif SC",Georgia,serif;--serif-zh:"Noto Serif SC","Cormorant Garamond",serif;--sans:"Inter","Noto Serif SC",system-ui,sans-serif;--maxw:1240px;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bone);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body,body[data-lang=zh]{font-family:var(--sans)}a{color:inherit;text-decoration:none}canvas,img{display:block;max-width:100%}body[data-lang=en] [data-lang-zh],body[data-lang=zh] [data-lang-en]{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.7rem;border:1px solid transparent;border-radius:2px;font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.35s var(--ease);background:none}.btn--solid{background:var(--espresso);color:var(--bone)}.btn--solid:hover{background:var(--brass-deep);transform:translateY(-2px)}.btn--ghost{border-color:currentColor;color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--bone)}.btn--block{width:100%}.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1.2rem,4vw,3rem);transition:.4s var(--ease)}.nav--scrolled{background:hsla(33,33%,94%,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:.8rem;padding-bottom:.8rem}.nav__logo{display:flex;align-items:center;gap:.6rem}.nav__mark{display:grid;place-items:center;width:34px;height:34px;background:var(--espresso);color:var(--brass);font-size:1.25rem;border-radius:2px}.nav__mark,.nav__name{font-family:var(--serif);font-weight:700}.nav__name{font-size:1.5rem;letter-spacing:.18em}.nav__links{display:flex;gap:2.2rem}.nav__links a{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;position:relative;padding:.2rem 0;color:var(--ink)}.nav__links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--brass-deep);transition:.35s var(--ease)}.nav__links a:hover:after{width:100%}.nav__actions{display:flex;align-items:center;gap:1rem}.lang-toggle{background:none;border:1px solid var(--line);border-radius:2px;padding:.4rem .7rem;font-family:var(--sans);font-size:.75rem;letter-spacing:.08em;cursor:pointer;color:var(--ink);transition:.3s var(--ease)}.lang-toggle:hover{border-color:var(--ink);background:var(--ink);color:var(--bone)}.cart-btn{position:relative;background:none;border:none;cursor:pointer;color:var(--ink);display:grid;place-items:center}.cart-badge{position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;padding:0 4px;background:var(--brass-deep);color:#fff;border-radius:9px;font-size:.66rem;font-weight:600;display:grid;place-items:center;transition:transform .3s var(--ease)}.cart-badge.pulse{transform:scale(1.4)}.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav__burger span{width:24px;height:2px;background:var(--ink);transition:.3s var(--ease)}.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;background:radial-gradient(120% 90% at 70% 20%,#fbf7f1 0,var(--bone) 45%,var(--bone-2) 100%);overflow:hidden}.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.hero__photo{z-index:0;background:url(/hero.webp) 50%/cover no-repeat;transform:scale(1.1);transition:transform .25s ease-out;will-change:transform}.hero:after,.hero__photo{position:absolute;inset:0;pointer-events:none}.hero:after{content:"";z-index:1;background:linear-gradient(100deg,hsla(33,33%,94%,.97),hsla(33,33%,94%,.82) 28%,hsla(33,33%,94%,.34) 58%,hsla(33,33%,94%,.04))}.hero__content{position:relative;z-index:2;max-width:560px;padding:0 clamp(1.2rem,5vw,4.5rem);pointer-events:none}.hero__content .btn,.hero__content a{pointer-events:auto}.hero__eyebrow{font-size:.78rem;letter-spacing:.32em;color:var(--brass-deep);margin-bottom:1.4rem;font-weight:500}.hero__title{font-family:var(--serif);font-weight:600;font-size:clamp(2.7rem,6vw,4.6rem);line-height:1.04;letter-spacing:-.01em;margin-bottom:1.4rem}body[data-lang=zh] .hero__title{font-family:var(--serif-zh);letter-spacing:.02em;line-height:1.18}.hero__sub{font-size:1.05rem;color:var(--muted);max-width:420px;margin-bottom:2.2rem}.hero__cta{display:flex;gap:1rem;flex-wrap:wrap}.hero__hint{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:2;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:.8}.marquee{background:var(--espresso);color:var(--bone);overflow:hidden;padding:.9rem 0}.marquee__track{display:flex;gap:2.5rem;white-space:nowrap;width:-moz-max-content;width:max-content;animation:marquee 26s linear infinite;font-size:.8rem;letter-spacing:.22em}.marquee__track span{color:var(--bone)}.marquee__track span:nth-child(2n){color:var(--brass)}@keyframes marquee{to{transform:translateX(-50%)}}.section{max-width:var(--maxw);margin:0 auto;padding:clamp(4.5rem,10vw,8rem) clamp(1.2rem,4vw,2rem)}.section__head{max-width:640px;margin-bottom:3.5rem}.section__eyebrow{font-size:.76rem;letter-spacing:.3em;color:var(--brass-deep);font-weight:600;margin-bottom:1rem}.section__title{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;letter-spacing:-.01em}body[data-lang=zh] .section__title{font-family:var(--serif-zh);letter-spacing:.02em}.section__lead{margin-top:1.1rem;color:var(--muted);font-size:1.05rem;max-width:520px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.45s var(--ease);display:flex;flex-direction:column}.card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(26,23,20,.35)}.card__art{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background-color:#e2d6c4;background-size:cover;background-position:50%;background-repeat:no-repeat}.card__art:after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(26,23,20,0);transition:background .4s var(--ease)}.card:hover .card__art:after{background:rgba(26,23,20,.12)}.card__cat,.card__view{z-index:2}.card__cat{top:.9rem;left:.9rem;font-size:.66rem;letter-spacing:.16em;color:var(--brass-deep);background:hsla(0,0%,100%,.85);padding:.25rem .6rem;border-radius:2px}.card__cat,.card__view{position:absolute;text-transform:uppercase}.card__view{bottom:.9rem;right:.9rem;display:inline-flex;align-items:center;gap:.4rem;background:rgba(26,23,20,.9);color:var(--bone);border:none;cursor:pointer;font-size:.7rem;letter-spacing:.1em;padding:.5rem .8rem;border-radius:2px;opacity:0;transform:translateY(8px);transition:.4s var(--ease)}.card:hover .card__view{opacity:1;transform:translateY(0)}.card__view svg{width:14px;height:14px}.card__body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.card__name{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1.1}body[data-lang=zh] .card__name{font-family:var(--serif-zh)}.card__desc{font-size:.88rem;color:var(--muted);flex:1}.card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:.6rem}.card__price{font-size:1.15rem;font-weight:500}.card__add{background:none;border:1px solid var(--ink);border-radius:2px;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.55rem .9rem;transition:.3s var(--ease);color:var(--ink)}.card__add:hover{background:var(--ink);color:var(--bone)}.craft{background:var(--espresso);color:var(--bone)}.craft__grid{max-width:var(--maxw);margin:0 auto;padding:clamp(4rem,8vw,6.5rem) clamp(1.2rem,4vw,2rem);display:grid;grid-template-columns:.9fr 1.4fr;gap:clamp(2rem,5vw,4rem);align-items:start}.craft__head .section__title{color:var(--bone)}.craft__head .btn--light{margin-top:1.6rem}.craft__items{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.craft__item{border-top:1px solid hsla(33,33%,94%,.2);padding-top:1.4rem}.craft__num{font-size:2.4rem;color:var(--brass);display:block}.craft__item h3,.craft__num{font-family:var(--serif);margin-bottom:.6rem}.craft__item h3{font-size:1.45rem;font-weight:600}body[data-lang=zh] .craft__item h3{font-family:var(--serif-zh)}.craft__item p{font-size:.9rem;color:hsla(33,33%,94%,.72)}.btn--light{border-color:hsla(33,33%,94%,.5);color:var(--bone)}.btn--light:hover{background:var(--bone);color:var(--espresso)}.about{max-width:var(--maxw);margin:0 auto;padding:clamp(4.5rem,10vw,8rem) clamp(1.2rem,4vw,2rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.about__media{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:linear-gradient(150deg,#3a322a,#1a1714 60%,#2a2520);display:grid;place-items:center}.about__media:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 22px,hsla(34,46%,60%,.06) 22px 23px)}.about__badge{position:relative;font-family:var(--serif);color:var(--brass);font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:.2em;border:1px solid hsla(34,46%,60%,.4);padding:1.4rem 1.8rem;border-radius:2px}.about__text p{color:var(--muted);margin-top:1.1rem}.about__text .section__title{margin-top:.6rem}.about__legal{margin-top:1.6rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}.contact{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2rem) clamp(4.5rem,10vw,8rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}.contact__list{list-style:none;margin-top:2rem;gap:1.4rem}.contact__list,.contact__list li{display:flex;flex-direction:column}.contact__list li{gap:.2rem;border-bottom:1px solid var(--line);padding-bottom:1.4rem}.contact__label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep)}.contact__list a{font-size:1.15rem;transition:color .3s var(--ease)}.contact__list a:hover{color:var(--brass-deep)}.contact__form{background:#fff;border:1px solid var(--line);border-radius:4px;padding:clamp(1.6rem,3vw,2.4rem);gap:1.1rem;align-self:start}.contact__form,.field{display:flex;flex-direction:column}.field{gap:.4rem}.field label{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field input,.field textarea{font-family:var(--sans);font-size:.95rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:2px;background:var(--bone);color:var(--ink);transition:.3s var(--ease);resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--brass-deep);background:#fff}.form__note{font-size:.85rem;color:var(--brass-deep)}.footer{background:var(--espresso);color:var(--bone);padding:clamp(3rem,6vw,4.5rem) clamp(1.2rem,4vw,3rem) 2rem}.footer__top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.2fr 2fr;gap:clamp(2rem,5vw,4rem);padding-bottom:2.5rem;border-bottom:1px solid hsla(33,33%,94%,.16)}.footer__brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem}.footer__brand .nav__name{color:var(--bone)}.footer__tagline{font-size:.92rem;color:hsla(33,33%,94%,.7);max-width:34ch;margin-bottom:1.5rem}.footer__news{display:flex;gap:.5rem;max-width:340px}.footer__news input{flex:1;background:hsla(33,33%,94%,.06);border:1px solid hsla(33,33%,94%,.2);border-radius:2px;padding:.7rem .8rem;color:var(--bone);font-family:var(--sans);font-size:.88rem}.footer__news input::-moz-placeholder{color:hsla(33,33%,94%,.45)}.footer__news input::placeholder{color:hsla(33,33%,94%,.45)}.footer__news input:focus{outline:none;border-color:var(--brass)}.footer__news button{background:var(--brass);color:var(--espresso);border:none;border-radius:2px;padding:.7rem 1.1rem;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:.3s var(--ease)}.footer__news button:hover{background:#fff}.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer__cols h4{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:1rem;font-weight:600}.footer__cols p{font-size:.9rem;color:hsla(33,33%,94%,.74);margin-bottom:.4rem}.footer__cols a:hover{color:var(--brass)}.footer__bottom{max-width:var(--maxw);margin:1.6rem auto 0;font-size:.8rem;color:hsla(33,33%,94%,.55);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer__legal a:hover{color:var(--brass)}.drawer-overlay{position:fixed;inset:0;background:rgba(26,23,20,.45);z-index:80;opacity:0;visibility:hidden;transition:.4s var(--ease)}.drawer-overlay.open{opacity:1;visibility:visible}.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:var(--bone);z-index:90;transform:translateX(100%);transition:transform .45s var(--ease);display:flex;flex-direction:column;box-shadow:-20px 0 50px -30px rgba(0,0,0,.5)}.drawer.open{transform:translateX(0)}.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.6rem;border-bottom:1px solid var(--line)}.drawer__head h3{font-family:var(--serif);font-size:1.6rem;font-weight:600}body[data-lang=zh] .drawer__head h3{font-family:var(--serif-zh)}.drawer__close{background:none;border:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--ink)}.drawer__body{flex:1;overflow-y:auto;padding:1.2rem 1.6rem;display:flex;flex-direction:column;gap:1rem}.drawer__empty{color:var(--muted);text-align:center;margin-top:3rem}.cart-item{display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1rem}.cart-item__art{width:64px;height:64px;flex:none;border-radius:3px;background:linear-gradient(160deg,#efe7da,#e2d6c4);display:grid;place-items:center;overflow:hidden}.cart-item__art svg{width:78%;height:78%}.cart-item__info{flex:1}.cart-item__name{font-family:var(--serif);font-size:1.15rem;font-weight:600;line-height:1.1}body[data-lang=zh] .cart-item__name{font-family:var(--serif-zh)}.cart-item__price{font-size:.85rem;color:var(--muted)}.qty{display:inline-flex;align-items:center;gap:.6rem;margin-top:.4rem}.qty button{width:24px;height:24px;border:1px solid var(--line);background:#fff;border-radius:2px;cursor:pointer;font-size:1rem;line-height:1;color:var(--ink)}.qty button:hover{border-color:var(--ink)}.qty span{min-width:18px;text-align:center;font-size:.9rem}.cart-item__remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.75rem;letter-spacing:.06em;text-decoration:underline}.cart-item__remove:hover{color:var(--ink)}.drawer__foot{padding:1.4rem 1.6rem 1.8rem;border-top:1px solid var(--line)}.drawer__total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.1rem;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.drawer__total strong{font-family:var(--serif);font-size:1.7rem;color:var(--ink)}.drawer__note{font-size:.76rem;color:var(--muted);margin-top:.8rem;text-align:center}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:1.2rem}.modal.open{display:flex}.modal__backdrop{position:absolute;inset:0;background:rgba(26,23,20,.6);backdrop-filter:blur(6px)}.modal__panel{position:relative;z-index:2;width:min(960px,96vw);max-height:92vh;background:var(--bone);border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;box-shadow:0 40px 90px -40px rgba(0,0,0,.6);animation:pop .5s var(--ease)}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}.modal__close{position:absolute;top:1rem;right:1rem;z-index:5;width:40px;height:40px;border:none;border-radius:50%;background:hsla(0,0%,100%,.85);font-size:1.6rem;line-height:1;cursor:pointer;color:var(--ink);transition:.3s var(--ease)}.modal__close:hover{background:#fff;transform:rotate(90deg)}.modal__canvas{width:100%;height:100%;min-height:360px;background:radial-gradient(120% 100% at 50% 30%,#fbf7f1,#e2d6c4)}.modal__photo{min-height:360px;display:grid;place-items:center;padding:1.6rem;overflow:hidden;background:radial-gradient(120% 100% at 50% 30%,#fbf7f1,#e2d6c4)}.tilt{display:grid;place-items:center;width:100%;perspective:1000px}.tilt__inner{transition:transform .18s ease-out;will-change:transform;max-width:100%}.tilt__inner img{display:block;max-width:100%;max-height:56vh;border-radius:6px;box-shadow:0 30px 60px -30px rgba(26,23,20,.5)}.modal__info{padding:clamp(1.6rem,3vw,2.6rem);display:flex;flex-direction:column;justify-content:center}.modal__cat{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:.7rem}.modal__name{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600;line-height:1.05;margin-bottom:.9rem}body[data-lang=zh] .modal__name{font-family:var(--serif-zh)}.modal__desc{color:var(--muted);margin-bottom:1.6rem}.modal__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.modal__price{font-family:var(--serif);font-size:1.9rem;font-weight:600}.modal__hint{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);opacity:.75}.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(120%);z-index:120;background:var(--espresso);color:var(--bone);padding:.9rem 1.5rem;border-radius:3px;font-size:.88rem;letter-spacing:.04em;transition:transform .45s var(--ease);box-shadow:0 16px 40px -20px rgba(0,0,0,.6)}.toast.show{transform:translateX(-50%) translateY(0)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}@media(max-width:960px){.craft__grid,.grid{grid-template-columns:repeat(2,1fr)}.about,.contact{grid-template-columns:1fr}.about__media{aspect-ratio:16/10;order:-1}.modal__panel{grid-template-columns:1fr;max-height:94vh;overflow-y:auto}.modal__canvas,.modal__photo{min-height:280px}}@media(max-width:640px){.nav__links{position:fixed;inset:0 0 auto 0;top:0;flex-direction:column;background:var(--bone);padding:5.5rem 2rem 2rem;gap:1.4rem;transform:translateY(-100%);transition:.45s var(--ease);box-shadow:0 20px 40px -24px rgba(0,0,0,.3);border-bottom:1px solid var(--line)}.nav__links.open{transform:translateY(0)}.nav__links a{font-size:1.05rem}.nav__burger{display:flex}.craft__grid,.grid{grid-template-columns:1fr}.hero__content{padding-top:4rem}.footer__cols{grid-template-columns:1fr;gap:1.8rem}}.nav__links a.is-active{color:var(--brass-deep)}.nav__links a.is-active:after{width:100%}.page-hero{max-width:var(--maxw);margin:0 auto;padding:clamp(7rem,12vw,9.5rem) clamp(1.2rem,4vw,2rem) clamp(2.5rem,5vw,3.5rem);text-align:center}.page-hero__title{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,6vw,4rem);line-height:1.04;letter-spacing:-.01em;margin:.8rem 0}body[data-lang=zh] .page-hero__title{font-family:var(--serif-zh);letter-spacing:.02em}.page-hero__lead{color:var(--muted);font-size:1.1rem;max-width:560px;margin:0 auto}.section--top{padding-top:1rem}.section__head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;max-width:none}.section__head--row .btn{flex:none}.intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}.intro__body{color:var(--muted);font-size:1.1rem;line-height:1.75}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line);padding-top:2.5rem}.stat{display:flex;flex-direction:column;gap:.3rem}.stat__n{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);font-weight:600;color:var(--ink);line-height:1}.stat__l{font-size:.84rem;color:var(--muted);letter-spacing:.04em}.mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.mat__art{aspect-ratio:5/4;border-radius:4px;margin-bottom:1.1rem;border:1px solid var(--line);background-size:cover;background-position:50%;background-repeat:no-repeat}.mat__art--wood{background-image:url(/materials/wood.png)}.mat__art--leather{background-image:url(/materials/leather.jpg)}.mat__art--steel{background-image:url(/materials/steel.jpg)}.mat h3{font-family:var(--serif);font-size:1.55rem;font-weight:600;margin-bottom:.5rem}body[data-lang=zh] .mat h3{font-family:var(--serif-zh)}.mat p{color:var(--muted);font-size:.92rem}.testi{background:var(--bone-2)}.testi__inner{max-width:var(--maxw);margin:0 auto;padding:clamp(4.5rem,9vw,7rem) clamp(1.2rem,4vw,2rem)}.testi__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}.testi blockquote{background:#fff;border:1px solid var(--line);border-radius:4px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1.2rem}.testi blockquote p{font-family:var(--serif);font-size:1.3rem;line-height:1.4;color:var(--ink)}body[data-lang=zh] .testi blockquote p{font-family:var(--serif-zh);font-size:1.15rem}.testi cite{font-style:normal;font-size:.85rem;color:var(--brass-deep);letter-spacing:.04em}.cta-band{background:var(--espresso);color:var(--bone);text-align:center;padding:clamp(4rem,9vw,7rem) clamp(1.2rem,4vw,2rem)}.cta-band .section__title{color:var(--bone);max-width:18ch;margin:0 auto .8rem}.cta-band p{color:hsla(33,33%,94%,.72);max-width:48ch;margin:0 auto 2rem}.cta-band .btn--solid{background:var(--brass);color:var(--espresso)}.cta-band .btn--solid:hover{background:#fff}.cta-band--soft{background:var(--bone-2)}.cta-band--soft,.cta-band--soft .section__title{color:var(--ink)}.cta-band--soft p{color:var(--muted)}.cta-band--soft .btn--solid{background:var(--espresso);color:var(--bone)}.cta-band--soft .btn--solid:hover{background:var(--brass-deep)}.filterbar{max-width:var(--maxw);margin:0 auto;padding:.5rem clamp(1.2rem,4vw,2rem);display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.filter{background:none;border:1px solid var(--line);border-radius:999px;padding:.55rem 1.2rem;cursor:pointer;font-size:.8rem;letter-spacing:.06em;color:var(--muted);transition:.3s var(--ease)}.filter:hover{border-color:var(--ink);color:var(--ink)}.filter.is-active{background:var(--espresso);color:var(--bone);border-color:var(--espresso)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.step{background:#fff;border:1px solid var(--line);border-radius:4px;padding:1.8rem;transition:.4s var(--ease)}.step:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(26,23,20,.35)}.step__n{font-size:2rem;color:var(--brass-deep);display:block;margin-bottom:.6rem}.step h3,.step__n{font-family:var(--serif)}.step h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}body[data-lang=zh] .step h3{font-family:var(--serif-zh)}.step p{color:var(--muted);font-size:.92rem}.split{max-width:var(--maxw);margin:0 auto;padding:clamp(3.5rem,8vw,6rem) clamp(1.2rem,4vw,2rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.split--reverse .split__media{order:2}.split__media{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;display:grid;place-items:end start;padding:1.4rem;background-color:#1a1714;background-size:cover;background-position:50%;background-repeat:no-repeat}.split__media:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,23,20,.6),rgba(26,23,20,.25))}.split__media--joinery{background-image:url(/craft/joinery.webp)}.split__media--sustain{background-image:url(/craft/lumber.jpg)}.split__media--story{background-image:url(/craft/workshop.jpg);place-items:center;padding:0}.split__tag{position:relative;font-size:.72rem;letter-spacing:.2em;color:var(--brass);border:1px solid hsla(34,46%,60%,.4);padding:.4rem .8rem;border-radius:2px}.split__text p{color:var(--muted);margin-top:1.1rem}.split__text .section__title{margin-top:.5rem}.ticks{list-style:none;margin-top:1.4rem;display:flex;flex-direction:column;gap:.7rem}.ticks li{position:relative;padding-left:1.6rem;color:var(--ink);font-size:.95rem}.ticks li:before{content:"";position:absolute;left:0;top:.5em;width:.7rem;height:.7rem;border:2px solid var(--brass-deep);border-radius:2px;transform:rotate(45deg)}.timeline{list-style:none;max-width:760px;margin:0 auto;position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.45rem;top:.4rem;bottom:.4rem;width:2px;background:var(--line)}.timeline li{position:relative;padding:0 0 2.2rem 1.6rem}.timeline li:before{content:"";position:absolute;left:-1.62rem;top:.35rem;width:14px;height:14px;border-radius:50%;background:var(--brass-deep);border:3px solid var(--bone)}.timeline__y{font-family:var(--serif);font-size:1.3rem;color:var(--brass-deep);font-weight:600;display:block;margin-bottom:.2rem}.timeline h3{font-size:1.15rem;font-weight:600;margin-bottom:.3rem}.timeline p{color:var(--muted);font-size:.92rem}.values{background:var(--espresso);color:var(--bone)}.values__inner{max-width:var(--maxw);margin:0 auto;padding:clamp(4rem,8vw,6.5rem) clamp(1.2rem,4vw,2rem)}.values .section__title{color:var(--bone)}.values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}.value{border-top:2px solid var(--brass);padding-top:1.3rem}.value h3{font-family:var(--serif);font-size:1.7rem;font-weight:600;margin-bottom:.6rem;color:var(--brass)}body[data-lang=zh] .value h3{font-family:var(--serif-zh)}.value p{color:hsla(33,33%,94%,.74)}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}.member{text-align:center}.member__art{aspect-ratio:1;border-radius:4px;margin-bottom:1rem;border:1px solid var(--line);background-color:#e7ddcd;background-size:cover;background-position:50%;background-repeat:no-repeat;filter:grayscale(.12);transition:filter .4s var(--ease),transform .4s var(--ease)}.member:hover .member__art{filter:grayscale(0);transform:translateY(-3px)}.member h3{font-family:var(--serif);font-size:1.35rem;font-weight:600}body[data-lang=zh] .member h3{font-family:var(--serif-zh)}.member p{color:var(--muted);font-size:.85rem;letter-spacing:.03em}.showcase{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}.scase{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.45s var(--ease)}.scase:hover{transform:translateY(-5px);box-shadow:0 24px 50px -26px rgba(26,23,20,.32)}.scase--wide{grid-column:span 2}.scase__art{aspect-ratio:16/10;position:relative}.scase--lg .scase__art{aspect-ratio:4/3}.scase--wide .scase__art{aspect-ratio:24/9}.scase__art{background-size:cover;background-position:50%;background-repeat:no-repeat;background-color:#e2d6c4}.scase__art--1{background-image:url(/showcase/1-cherry-creek.jpg)}.scase__art--2{background-image:url(/showcase/2-boulder-dining.jpg)}.scase__art--3{background-image:url(/showcase/3-lodo-loft.jpg)}.scase__art--4{background-image:url(/showcase/4-atlas-office.webp)}.scase__art--5{background-image:url(/showcase/5-highlands-bedroom.jpg)}.scase__art--6{background-image:url(/showcase/6-union-showroom.jpg)}.scase__body{padding:1.4rem 1.5rem 1.6rem}.scase__cat{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep)}.scase__body h3{font-family:var(--serif);font-size:1.5rem;font-weight:600;margin:.3rem 0 .5rem}body[data-lang=zh] .scase__body h3{font-family:var(--serif-zh)}.scase__body p{color:var(--muted);font-size:.92rem}.map{margin-top:2rem;border-radius:4px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3}.map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3) contrast(1.05)}.contact__formtitle{font-family:var(--serif);font-size:1.7rem;font-weight:600;margin-bottom:.4rem}body[data-lang=zh] .contact__formtitle{font-family:var(--serif-zh)}.field select{font-family:var(--sans);font-size:.95rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:2px;background:var(--bone);color:var(--ink)}.field select:focus{outline:none;border-color:var(--brass-deep);background:#fff}.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:.8rem}.faq__item{background:#fff;border:1px solid var(--line);border-radius:4px;padding:1.1rem 1.4rem}.faq__item summary{cursor:pointer;font-family:var(--serif);font-size:1.25rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}body[data-lang=zh] .faq__item summary{font-family:var(--serif-zh);font-size:1.1rem}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";color:var(--brass-deep);font-size:1.5rem;transition:transform .3s var(--ease)}.faq__item[open] summary:after{transform:rotate(45deg)}.faq__item p{color:var(--muted);margin-top:.8rem;font-size:.95rem}@media(max-width:960px){.intro__grid{grid-template-columns:1fr;gap:1.2rem}.stats{grid-template-columns:repeat(2,1fr);gap:1.8rem}.mat-grid,.process,.split,.testi__grid{grid-template-columns:1fr}.split--reverse .split__media{order:-1}.values__grid{grid-template-columns:1fr}.team{grid-template-columns:repeat(2,1fr)}.craft__grid{grid-template-columns:1fr}.craft__items{grid-template-columns:repeat(2,1fr)}.showcase{grid-template-columns:1fr}.scase--wide{grid-column:auto}.section__head--row{flex-direction:column;align-items:flex-start}.footer__top{grid-template-columns:1fr;gap:2.2rem}}@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}.craft__items{grid-template-columns:1fr}.footer__cols,.team{grid-template-columns:1fr 1fr}.footer__bottom{flex-direction:column}}.card__foot{justify-content:stretch}.card__add--block{width:100%;text-align:center;padding:.7rem 1rem}