:root{--ink:#17231f;--green:#35564a;--cream:#f5f2eb;--paper:#fffefa;--muted:#777b73;--line:#deded4;--rust:#a75b3e;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.announcement{height:34px;background:#233b32;color:#e8e8db;display:flex;align-items:center;justify-content:center;gap:18px;font-size:10px;letter-spacing:.07em}.announcement a{color:#d5bb8d}.site-header{height:82px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid rgba(34,44,38,.08);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}.brand-mark{width:36px;height:36px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font:600 22px var(--serif)}.brand strong{display:block;letter-spacing:.19em;font-size:15px;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.22em;margin-top:4px;color:var(--muted)}nav{display:flex;gap:32px;margin-left:4%}nav a,.header-actions{font-size:11px}nav a{color:#515850;transition:color .2s}nav a:hover,.text-link:hover{color:var(--rust)}.header-actions{display:flex;align-items:center;gap:20px}.language-picker select{border:0;background:transparent;color:var(--ink);font-size:11px;cursor:pointer}.member-link{background:none;border:0;display:flex;align-items:center;gap:7px;cursor:pointer;color:var(--ink);font-size:11px}.user-icon{font-size:18px}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 20px;min-height:48px;font-size:11px;font-weight:600;letter-spacing:.015em;cursor:pointer;transition:all .2s}.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:#233b32;transform:translateY(-1px)}.button-small{min-height:38px;padding:10px 14px}.menu-toggle{display:none}.hero{min-height:598px;background:#f3f0e8;position:relative;padding:76px 9% 68px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:5%;overflow:hidden}.hero:after{content:'';position:absolute;width:500px;height:500px;border:1px solid #dcd9cd;border-radius:50%;right:-205px;top:-210px;pointer-events:none}.hero-copy{max-width:490px;z-index:1}.eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.14em;color:#68766d;font-weight:600}.eyebrow-line{height:1px;width:28px;background:#a97b59}.hero h1,.section h2,.capability-copy h2,.video-copy h2,.about-grid h2,.contact-left h2{font:500 clamp(42px,5.3vw,70px)/1.06 var(--serif);letter-spacing:-.04em;margin:21px 0}.hero h1 em,.section h2 em,.capability-copy h2 em,.about-grid h2 em,.contact-left h2 em{font-weight:500;color:var(--green)}.hero-copy>p,.capability-copy>p,.video-copy>p,.contact-left>p{font-size:14px;line-height:1.85;color:#656c65;max-width:440px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.text-link{background:none;border:0;font-size:11px;font-weight:600;cursor:pointer;color:var(--green);padding:0}.text-link span{margin-left:6px}.hero-proof{display:flex;align-items:center;gap:12px;color:#758078;font-size:10px;margin-top:45px}.proof-avatars{display:flex}.proof-avatars i{font-style:normal;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#d8c8ac;border:2px solid var(--cream);margin-right:-7px;color:#344b40;font:12px var(--serif)}.proof-avatars i:nth-child(2){background:#b4c1b2}.proof-avatars i:nth-child(3){background:#c49b7e}.hero-art{height:425px;max-width:530px;width:100%;justify-self:end;position:relative}.frame-art{position:absolute;inset:28px 28px 22px 52px;background:#c9b18d;padding:13px;box-shadow:0 22px 40px #29382b24;transform:rotate(1.2deg)}.frame-art img{width:100%;height:100%;object-fit:cover;display:block;background:#ddd4c3}.art-label{position:absolute;z-index:2;left:0;top:0;font-size:9px;letter-spacing:.16em;line-height:1.7;color:#697267}.art-caption{position:absolute;left:54px;bottom:0;right:30px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;color:#6e7168}.hero-seal{position:absolute;right:0;top:66px;width:66px;height:66px;border:1px solid #7d8b7a;border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--green);font:9px/1.25 var(--serif);background:#f4f0e6dd}.hero-bottom{position:absolute;bottom:17px;left:9%;right:9%;display:flex;justify-content:space-between;color:#81847c;font-size:9px;letter-spacing:.07em}.trust-strip{min-height:125px;background:#e9e8de;padding:28px 9%;display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;align-items:center;gap:28px}.trust-strip>div:not(.strip-note){display:flex;align-items:baseline;gap:11px;border-right:1px solid #cfd0c4}.trust-strip b{font:500 28px var(--serif);color:var(--green)}.trust-strip span{font-size:10px;color:#6b7169}.strip-note{font:15px/1.6 var(--serif);color:#626c63;max-width:290px}.section{padding:106px 9% 96px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section h2,.capability-copy h2,.about-grid h2,.contact-left h2{font-size:clamp(38px,4vw,54px)}.section h2{margin-bottom:0}.section-heading>.text-link{margin-bottom:10px}.collection-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.collection-card{display:block;min-width:0}.collection-visual{height:300px;position:relative;overflow:hidden;background:#dfd8c8}.card-large .collection-visual{height:370px}.collection-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s}.collection-card:hover .collection-visual img{transform:scale(1.045)}.visual-tag{position:absolute;left:14px;bottom:14px;font-size:8px;letter-spacing:.15em;background:#f7f4eced;padding:7px 9px;color:#3b5145}.collection-meta{display:flex;align-items:center;justify-content:space-between;padding:15px 1px}.collection-meta h3{font:500 19px var(--serif);margin:0 0 3px}.collection-meta p{font-size:10px;margin:0;color:#7b7d75}.arrow-circle{height:30px;width:30px;border:1px solid #bfc3b8;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:14px}.member-teaser{margin-top:33px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;display:flex;align-items:center;gap:16px}.teaser-icon{width:34px;height:34px;border-radius:50%;background:#e2e6da;display:grid;place-items:center;color:var(--green)}.member-teaser>div:nth-child(2){flex:1}.member-teaser b{font:500 16px var(--serif)}.member-teaser p{font-size:10px;color:#797b73;margin:2px 0 0}.capabilities{background:#e8e7dc;display:grid;grid-template-columns:1fr 1fr;min-height:570px}.capability-art{padding:54px 8% 54px 15%;display:grid;place-items:center}.studio-window{height:430px;width:min(100%,480px);position:relative;overflow:hidden;background:linear-gradient(135deg,#bdc0a8 0 25%,#e7dfcc 25% 100%);box-shadow:0 18px 38px #3447381d}.window-light{position:absolute;inset:0 42% 0 0;background:linear-gradient(90deg,#9caa96,#d5d7c6);opacity:.7}.canvas-stack{position:absolute;inset:12% 13% 18% 26%;background:#f4efe2;box-shadow:0 10px 25px #28392b33;transform:rotate(-3deg);padding:14px}.canvas-stack i,.canvas-stack b,.canvas-stack em{position:absolute;display:block}.canvas-stack i{width:48%;height:51%;border-radius:55% 45% 52% 48%;background:#c48862;left:27%;top:21%;transform:rotate(-22deg)}.canvas-stack b{width:68%;height:32%;background:#526b5a;left:18%;bottom:10%;clip-path:polygon(0 100%,38% 6%,57% 60%,77% 17%,100% 100%)}.canvas-stack em{width:35%;height:44%;background:#d5bc91;right:3%;top:11%;border-radius:50%}.brush{position:absolute;bottom:8%;width:8px;height:90px;background:#674c3d;border-radius:8px;transform:rotate(35deg)}.brush-a{left:16%}.brush-b{left:22%;height:70px;background:#9c7755;transform:rotate(52deg)}.studio-caption{position:absolute;left:15px;bottom:13px;color:#fff;font-size:8px;line-height:1.5;letter-spacing:.12em;text-shadow:0 1px 5px #0006}.capability-copy{padding:88px 12% 70px 10%;max-width:640px}.cap-list{margin:27px 0 25px;border-top:1px solid #ccd0c4}.cap-list>div{display:grid;grid-template-columns:34px 1fr 24px;align-items:center;padding:13px 0;border-bottom:1px solid #ccd0c4}.cap-list>div>span{font-size:9px;color:#8d745c}.cap-list b{display:block;font:500 15px var(--serif)}.cap-list small{color:#737970;font-size:10px}.cap-list i{font-style:normal;color:#6a756c}.button-outline{border-color:#718077;color:var(--green);background:transparent}.button-outline:hover{background:var(--green);color:#fff}.video-section{padding:98px 9%;display:grid;grid-template-columns:.72fr 1.28fr;gap:8%;align-items:center;background:#faf9f4}.video-copy h2{font-size:clamp(38px,4.2vw,55px);line-height:1.14}.video-copy .text-link{display:inline-block;margin-top:20px}.video-frame{min-width:0}.video-placeholder{height:330px;position:relative;background:#d9d7c8;overflow:hidden}.video-placeholder>img{width:100%;height:100%;object-fit:cover;display:block}.video-placeholder:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#12231c91)}.video-photo-label{position:absolute;z-index:1;left:20px;right:20px;bottom:17px;color:#fff;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.11em}.video-caption{display:flex;justify-content:space-between;color:#71766c;font-size:8px;letter-spacing:.11em;padding-top:12px}.about-section{padding:88px 9% 75px;background:#dce2d7}.about-grid{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:end}.about-grid h2{margin:20px 0 0}.about-grid p{font-size:13px;line-height:1.9;color:#5f6e62}.about-grid .text-link{display:inline-block;margin-top:9px}.about-stats{margin-top:52px;padding-top:26px;border-top:1px solid #b9c4b8;display:grid;grid-template-columns:repeat(4,1fr)}.about-stats div{display:flex;flex-direction:column;gap:4px;border-right:1px solid #b9c4b8;padding-left:23px}.about-stats div:first-child{padding-left:0}.about-stats div:last-child{border:0}.about-stats span{font:500 29px var(--serif);color:#35564a}.about-stats small{font-size:9px;color:#69766b}.contact-section{padding:100px 9%;display:grid;grid-template-columns:1fr .85fr;gap:9%;background:#f5f2eb}.contact-left h2{margin:20px 0}.contact-left>p{max-width:390px}.contact-details{display:flex;flex-direction:column;gap:12px;margin-top:30px}.contact-details a,.contact-details button{display:flex;align-items:center;gap:11px;border:0;background:none;padding:0;text-align:left;color:#445d4f;font-size:12px}.contact-details button{cursor:pointer}.contact-details small{color:#888;font-size:9px}.inquiry-form{background:#fffefa;padding:27px 29px;box-shadow:0 12px 35px #303a3010}.form-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.form-heading b{font:500 20px var(--serif)}.form-heading span{font-size:9px;color:#8a887c}.inquiry-form>label:not(.consent){display:block;margin:12px 0}.inquiry-form label>span{display:block;font-size:10px;margin-bottom:5px;color:#4d594f}.inquiry-form input:not([type=checkbox]),.inquiry-form select,.inquiry-form textarea,.member-modal input{width:100%;border:1px solid #e0e1d9;background:#fbfaf6;padding:11px 12px;font-size:11px;color:var(--ink);outline:none}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus,.member-modal input:focus{border-color:#7b9988}.inquiry-form textarea{resize:vertical}.consent{display:flex;gap:9px;align-items:flex-start;color:#747a72;font-size:9px;margin:13px 0}.consent input{margin-top:2px;accent-color:var(--green)}.consent span{display:inline!important}.form-submit{width:100%;justify-content:space-between}.form-feedback{font-size:10px;color:var(--green);min-height:15px;margin:8px 0 0}.footer{background:#243b32;color:#e7e9df;padding:44px 9% 18px}.footer-main{display:grid;grid-template-columns:1.1fr 1.4fr 1fr .8fr;gap:5%;align-items:start;padding-bottom:37px}.brand-light{color:#f3f0e8}.brand-light .brand-mark{color:#e8e4d8;border-color:#aab4a7}.brand-light small{color:#c4c6b9}.footer-main>p{font:15px/1.6 var(--serif);color:#c9cec2;max-width:230px;margin:0}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:9px;font-size:10px;color:#d2d8cd}.footer-contact span{color:#adb9ad}.footer-bottom{border-top:1px solid #ffffff24;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#afbaae;font-size:9px}.footer-bottom>div{display:flex;gap:16px}.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:30;padding:12px 16px;background:#35564a;color:#fff;box-shadow:0 7px 24px #12251c38;border-radius:30px;display:flex;gap:9px;align-items:center;font-size:11px;cursor:pointer}.chat-launcher b{font-size:15px}.chat-ping{height:7px;width:7px;background:#a8c78f;border-radius:50%}.chat-panel{display:none;position:fixed;z-index:31;right:24px;bottom:80px;width:310px;background:#fffefa;box-shadow:0 12px 42px #14231e32;border:1px solid #e1e2d9}.chat-panel.open{display:block}.chat-head{display:flex;align-items:center;gap:10px;background:#35564a;color:#fff;padding:14px}.chat-agent{height:32px;width:32px;border:1px solid #d8e0d3;border-radius:50%;display:grid;place-items:center;font:18px var(--serif)}.chat-head>div:nth-child(2){flex:1}.chat-head b,.chat-head small{display:block}.chat-head b{font-size:11px}.chat-head small{font-size:8px;color:#d0ded0}.chat-head button{background:none;border:0;color:#fff;font-size:20px;cursor:pointer}.chat-body{padding:17px;display:flex;flex-direction:column;gap:9px}.chat-body p{font-size:11px;color:#687269;margin:0 0 4px}.chat-body a{font-size:10px;color:#35564a;border:1px solid #e1e3d9;padding:9px}.chat-compose{border-top:1px solid #e4e5dd;padding:12px;display:grid;grid-template-columns:1fr 30px;gap:6px}.chat-compose input{border:1px solid #e3e4dc;padding:8px;font-size:10px}.chat-compose button{border:0;background:#35564a;color:#fff}.chat-compose small{grid-column:1/-1;color:#92958d;font-size:8px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#101c18a8;display:none;place-items:center;padding:18px}.modal-backdrop.open{display:grid}.member-modal{width:min(760px,100%);min-height:430px;background:#faf9f3;display:grid;grid-template-columns:.8fr 1fr;position:relative;box-shadow:0 25px 70px #0004}.modal-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:24px;z-index:1;cursor:pointer;color:#45554b}.modal-art{background:#d2c9b2;padding:30px;display:grid;place-items:center}.modal-art-inner{width:100%;height:100%;min-height:360px;background:#f0e8d7;position:relative;overflow:hidden;display:flex;align-items:flex-start;padding:23px;font:10px/1.6 var(--sans);letter-spacing:.17em;color:#35564a}.modal-sun{position:absolute;width:125px;height:125px;border-radius:50%;background:#c68764;right:18%;top:18%}.modal-wave{position:absolute;width:150%;height:58%;bottom:-7%;left:-20%;border-radius:50% 48% 0 0;background:#4c6758;transform:rotate(-17deg)}.modal-content{padding:64px 42px 42px}.modal-content h2{font:500 35px var(--serif);margin:17px 0 8px}.modal-content>p{color:#727970;font-size:11px;line-height:1.75}.modal-label{display:block;margin:24px 0 6px;font-size:10px;font-weight:600}.modal-submit{width:100%;margin-top:11px;justify-content:space-between}.modal-privacy,.demo-note{display:block;margin-top:12px;font-size:8px;color:#898d84;line-height:1.5}.demo-note{padding:8px;background:#f0ede2;color:#756a58}.resend{margin-top:12px;font-size:10px}.success-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e1e9df;color:#35564a;font-size:20px;margin-top:20px}.member-modal h3{font:500 23px var(--serif)}.member-modal [hidden]{display:none!important}.footer a:hover{color:#e2c49b}.video-placeholder img,.collection-visual img,.frame-art img{color:#41564a}.privacy-modal-copy{font-size:11px}@media(max-width:900px){.site-header{padding:0 4%}.site-header nav{gap:16px}.header-actions{gap:12px}.hero{padding-left:7%;padding-right:7%;gap:3%}.trust-strip{padding-left:7%;padding-right:7%}.section,.video-section,.about-section,.contact-section{padding-left:7%;padding-right:7%}.capability-copy{padding-right:8%}.collection-visual{height:250px}.card-large .collection-visual{height:315px}}@media(max-width:680px){.announcement{font-size:8px;gap:8px}.site-header{height:68px}.menu-toggle{display:block;border:0;background:none;font-size:21px;color:var(--green);order:3}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;padding:18px 7%;background:#fffefa;box-shadow:0 8px 14px #16251b15;flex-direction:column;gap:18px;margin:0}.site-header nav.open{display:flex}.header-actions{margin-left:auto;margin-right:15px}.header-actions .button{display:none}.member-link{font-size:0}.user-icon{font-size:19px}.hero{padding:56px 7% 55px;grid-template-columns:1fr;gap:26px}.hero h1{font-size:48px}.hero-copy>p{font-size:12px}.hero-art{height:330px;width:92%;justify-self:center}.frame-art{inset:25px 16px 18px 27px}.hero-seal{right:-4px;top:46px;width:54px;height:54px;font-size:8px}.hero-bottom{left:7%;right:7%}.trust-strip{grid-template-columns:1fr 1fr;gap:17px;padding:25px 7%}.trust-strip>div:nth-child(2){border:0}.strip-note{grid-column:1/-1;max-width:none}.section{padding:67px 7%}.section-heading{display:block}.section-heading>.text-link{display:inline-block;margin-top:20px}.collection-grid{grid-template-columns:1fr 1fr;gap:10px}.card-large{grid-column:1/-1}.card-large .collection-visual{height:340px}.collection-visual{height:215px}.collection-meta h3{font-size:16px}.collection-meta p{font-size:9px}.member-teaser{align-items:flex-start;flex-wrap:wrap}.member-teaser>div:nth-child(2){min-width:75%}.member-teaser>button{margin-left:50px}.capabilities{grid-template-columns:1fr}.capability-art{padding:35px 9%}.studio-window{height:330px}.capability-copy{padding:35px 8% 60px}.video-section{padding:66px 7%;grid-template-columns:1fr;gap:30px}.video-placeholder{height:245px}.video-photo-label{font-size:7px;gap:10px}.about-section{padding:65px 7%}.about-grid{grid-template-columns:1fr;gap:18px}.about-stats{grid-template-columns:1fr 1fr;gap:22px}.about-stats div:nth-child(2){border:0}.about-stats div:nth-child(3){padding-left:0}.contact-section{padding:65px 7%;grid-template-columns:1fr;gap:32px}.inquiry-form{padding:22px}.footer{padding:36px 7% 18px}.footer-main{grid-template-columns:1fr 1fr;gap:25px}.footer-main>p{font-size:13px}.footer-bottom{align-items:flex-start;flex-direction:column}.chat-launcher{right:14px;bottom:14px}.chat-panel{right:12px;bottom:70px;width:min(330px,calc(100% - 24px))}.member-modal{grid-template-columns:1fr;max-width:420px;max-height:90vh;overflow:auto}.modal-art{display:none}.modal-content{padding:48px 28px 30px}.modal-content h2{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.brand-logo{width:48px;height:46px;object-fit:contain;display:block;background:#fff}.brand-image{display:inline-flex;align-items:center}.brand-image .custom-logo{width:auto;max-width:54px;max-height:50px;object-fit:contain}.video-placeholder iframe{width:100%;height:100%;display:block;border:0}

.series-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;margin:0 0 8px}.series-filters a{font-size:10px;border:1px solid #cfd4c9;border-radius:24px;padding:7px 13px;color:#3f5c4f;background:#faf9f4}.series-filters a:hover{background:#35564a;color:#fff}.news-section{background:#ebe9df}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.news-card{display:block;background:#fffefa;min-width:0}.news-image{height:205px;background:#d8d5c8;position:relative;overflow:hidden}.news-image img{width:100%;height:100%;object-fit:cover;display:block}.news-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:#35564a;display:grid;place-items:center}.news-copy{padding:17px}.news-copy small{font-size:9px;color:#788076}.news-copy h3{font:500 19px/1.35 var(--serif);margin:8px 0}.news-copy p{font-size:10px;line-height:1.7;color:#777}.single-shell{min-height:65vh;padding:70px 9%;background:#f5f2eb}.single-shell h1{font:500 clamp(35px,5vw,58px)/1.1 var(--serif);max-width:850px}.single-shell .entry-content{max-width:820px;line-height:1.85;color:#555}.single-shell .entry-image{max-width:900px;margin:25px 0}.single-shell .entry-image img{width:100%;height:auto}.single-shell .entry-video{aspect-ratio:16/9;max-width:900px;margin:28px 0}.single-shell .entry-video iframe{width:100%;height:100%;border:0}.single-shell .back-link{color:#35564a;font-size:11px}.empty-state{font-size:12px;color:#777;padding:20px 0}.archive-intro{padding:50px 9% 15px}.archive-intro h1{font:500 48px var(--serif)}@media(max-width:680px){.news-grid{grid-template-columns:1fr}.news-image{height:220px}.single-shell{padding:50px 7%}.archive-intro{padding:40px 7% 10px}.archive-intro h1{font-size:38px}}

.factory-photo{display:block;width:100%;height:430px;object-fit:cover;align-self:stretch}.capability-art:has(.factory-photo){padding:54px 8% 54px 15%}@media(max-width:680px){.factory-photo{height:330px}.capability-art:has(.factory-photo){padding:35px 9%}}

/* Company strength, partner directory and factory gallery */
.hero-email{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.2rem;color:#5c5145;font-size:.82rem;text-decoration:none}.hero-email strong,.partners-email strong,.email-link strong{color:#b75b19;font-weight:700}
.capability-subnav{display:flex;flex-wrap:wrap;gap:1.15rem;margin:1.3rem 0 0;padding-top:1rem;border-top:1px solid rgba(32,30,27,.12)}
.capability-subnav a{font-size:.78rem;color:#574f46;text-decoration:none}.capability-subnav a:hover,.email-link:hover,.partners-email:hover{color:#b75b19}
.cooperation-detail{padding-top:3.5rem;padding-bottom:5.5rem;background:#f7f4ed}
.cooperation-subnav{display:flex;align-items:center;gap:1.2rem;margin-bottom:2.7rem;padding-bottom:1rem;border-bottom:1px solid rgba(32,30,27,.14)}
.cooperation-subnav span{margin-right:auto;font-size:.66rem;letter-spacing:.15em;color:#8a7d6e}.cooperation-subnav a{font-size:.78rem;color:#574f46;text-decoration:none}.cooperation-subnav a:hover{color:#b75b19}
.cooperation-detail .section-heading>p{max-width:450px;color:#70675e;line-height:1.7}
.reason-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0 4rem}
.reason-card{min-height:210px;padding:1.4rem 1.35rem;background:#fff;border:1px solid rgba(51,45,37,.08)}.reason-card>span{font-size:.68rem;letter-spacing:.1em;color:#bd6a2b}.reason-card h3{margin:1.1rem 0 .65rem;font:600 1.15rem/1.2 'Playfair Display',Georgia,serif;color:#27231e}.reason-card p{margin:0;color:#71685f;font-size:.84rem;line-height:1.65}
.partners-panel{padding-top:2.5rem;border-top:1px solid rgba(32,30,27,.14)}.partners-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.8rem}.partners-heading h3{margin:.45rem 0;font:600 clamp(1.8rem,3vw,2.55rem)/1.1 'Playfair Display',Georgia,serif;color:#28231e}.partners-heading p{max-width:520px;margin:0;color:#756b61;line-height:1.6}.partners-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem}.partner-logo{height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.75rem;background:#fff;border:1px solid rgba(50,44,36,.08);text-align:center}.partner-logo img{display:block;max-width:100%;width:100%;height:70px;object-fit:contain}.partner-logo span{font-size:.68rem;line-height:1.2;color:#71675d}.partners-email{display:inline-block;margin-top:1.6rem;color:#564c41;text-decoration:none;font-size:.88rem}
.factory-showcase{padding-top:5.8rem;padding-bottom:5.5rem;background:#efebe2}.factory-showcase .section-heading>div:last-child{max-width:470px}.factory-showcase .section-heading p{margin:0 0 .7rem;color:#71685e;line-height:1.7}.email-link{display:inline-block;color:#4f473e;text-decoration:none;font-size:.84rem}.factory-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:2rem 0 2.4rem;background:#fff}.factory-facts>div{padding:1.2rem 1.35rem;border-right:1px solid #e8e2d8}.factory-facts>div:last-child{border-right:0}.factory-facts b{display:block;font:600 1.55rem/1.2 'Playfair Display',Georgia,serif;color:#b75b19}.factory-facts span{display:block;margin-top:.35rem;color:#756b61;font-size:.75rem}
.factory-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.factory-card{overflow:hidden;background:#fff;border:1px solid rgba(50,44,36,.08)}.factory-card-image{height:185px;background:#e8e1d5;overflow:hidden}.factory-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.factory-card:hover .factory-card-image img{transform:scale(1.035)}.factory-card-copy{padding:1rem 1.05rem 1.15rem}.factory-card-copy>span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#b75b19}.factory-card-copy h3{margin:.45rem 0 .35rem;font:600 1.08rem/1.2 'Playfair Display',Georgia,serif;color:#29251f}.factory-card-copy p{margin:0;color:#746a60;font-size:.78rem;line-height:1.55}.factory-attribution{margin:1rem 0 0;color:#81776d;font-size:.68rem}
.about-extra{margin-top:.85rem!important;color:#71675d}.about-photo-grid{padding:1rem 0 3rem}.about-photo-grid .factory-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.about-photo-grid .factory-card-image{height:230px}.about-photo-grid .factory-card-copy p{display:none}
@media(max-width:900px){.reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.factory-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.cooperation-subnav{gap:.75rem;flex-wrap:wrap}.cooperation-subnav span{width:100%;margin-bottom:.2rem}.reason-grid{grid-template-columns:1fr}.reason-card{min-height:0}.partners-heading{display:block}.partners-heading .text-link{display:inline-block;margin-top:1rem}.partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.partner-logo{height:102px}.partner-logo img{height:60px}.factory-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.factory-facts>div:nth-child(2){border-right:0}.factory-facts>div:nth-child(-n+2){border-bottom:1px solid #e8e2d8}.factory-gallery,.about-photo-grid .factory-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.factory-card-image,.about-photo-grid .factory-card-image{height:145px}.factory-card-copy{padding:.8rem}.factory-card-copy h3{font-size:.92rem}.factory-card-copy p{font-size:.72rem}.factory-showcase{padding-top:4rem;padding-bottom:4rem}}
@media(min-width:901px){.factory-facts{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.factory-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.factory-facts{gap:1px;background:#e8e2d8}.factory-facts>div,.factory-facts>div:nth-child(2),.factory-facts>div:nth-child(-n+2){border:0;background:#fff}}
.credentials-note{margin:0 0 1rem;color:#64594d;font-size:.8rem;line-height:1.6}

/* Five-image hero carousel */
.hero-art{height:clamp(360px,38vw,540px);max-width:640px}
.hero-carousel{position:absolute;inset:0;overflow:hidden;background:#d6d0c3;box-shadow:0 22px 40px #29382b24}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}
.hero-slide-caption{position:absolute;left:0;right:0;bottom:0;padding:3.2rem 1.5rem 1.2rem;color:#fff;background:linear-gradient(transparent,#18251fd1);font-size:.68rem;letter-spacing:.16em}
.hero-carousel-controls{position:absolute;z-index:3;left:50%;bottom:1rem;display:flex;align-items:center;gap:.8rem;transform:translateX(-50%);padding:.32rem .55rem;border-radius:2rem;background:#17251f70;backdrop-filter:blur(5px)}
.hero-carousel-controls button{border:0;color:#fff;background:transparent;cursor:pointer}
.hero-carousel-prev,.hero-carousel-next{width:1.7rem;height:1.7rem;border-radius:50%;font-size:1.2rem;line-height:1}
.hero-carousel-prev:hover,.hero-carousel-next:hover{background:#ffffff30}
.hero-carousel-dots{display:flex;align-items:center;gap:.45rem}
.hero-carousel-dot{width:.42rem;height:.42rem;padding:0;border-radius:50%;background:#ffffff80!important}
.hero-carousel-dot.is-active{width:1rem;border-radius:1rem;background:#fff!important}
@media(max-width:680px){.hero-art{height:330px;width:100%}.hero-carousel-controls{bottom:.65rem}.hero-slide-caption{padding-bottom:2.7rem;font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
.member-products{margin-top:2.5rem;padding:2.2rem;background:#e8e4d9}
.member-products-heading{margin-bottom:1.3rem}
.member-products-heading h3{margin:.4rem 0;font:500 clamp(1.8rem,3vw,2.5rem)/1.15 var(--serif)}
.member-products-heading p{margin:0;color:#71685f;font-size:.9rem}
.member-products .series-filters{display:none}
.member-gate{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem;background:#fffefa}
.member-gate h3{margin:.45rem 0;font:500 1.5rem var(--serif)}
.member-gate p{margin:0;color:#71685f;line-height:1.6}
.member-gate-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.member-gate-actions .button{white-space:nowrap}
.member-login-link{display:block;margin:1.25rem auto 0;text-align:center;color:#35564a;font-size:.86rem}
.member-auth-feedback{min-height:1.3em;margin:.8rem 0 0;color:#35564a;font-size:.85rem}
.member-access-dialog{min-height:0;max-width:480px;display:block;width:min(480px,100%)}
.member-access-dialog .modal-content{padding:55px 42px 42px}
@media(max-width:680px){.member-products{padding:1.2rem}.member-gate{align-items:flex-start;flex-direction:column;gap:1rem}.member-access-dialog .modal-content{padding:48px 28px 30px}}

/* ===== Responsive image normalisation · 2026-11-06 =====
   Problem: every image container used a fixed pixel height (300/370/430/330/205/185px)
   that only jumped at three breakpoints, so the aspect ratio drifted continuously
   as the viewport width changed. Fix: drive height from aspect-ratio instead.
   This block is appended last on purpose — remove it to roll back. */

/* 1) Global safety net: images never overflow their container. */
img { max-width: 100%; }
iframe { max-width: 100%; }

/* 2) Ratio-driven containers (height follows width, no jumps). */
.hero-art { height: auto; aspect-ratio: 5 / 4; width: 100%; max-width: 640px; }
.collection-visual,
.card-large .collection-visual { height: auto; aspect-ratio: 4 / 3; }
.news-image { height: auto; aspect-ratio: 16 / 10; }
.factory-card-image,
.about-photo-grid .factory-card-image { height: auto; aspect-ratio: 4 / 3; }
.factory-photo { height: auto; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; align-self: center; }
.video-placeholder { height: auto; aspect-ratio: 16 / 9; }
.studio-window { height: auto; aspect-ratio: 1 / 1; }
.capability-art { display: grid; align-items: center; }

/* 3) Partner logos: keep their own proportions, never stretch to a fixed box. */
.partner-logo img {
  width: auto; height: auto;
  max-width: 100%; max-height: 64px;
  object-fit: contain;
}
.partner-logo { height: auto; min-height: 108px; }

/* 4) At each breakpoint we only retune the ratio — never swap to a pixel height. */
@media (max-width: 1100px) {
  .hero-art { aspect-ratio: 1 / 1; }
}
@media (max-width: 900px) {
  .collection-visual,
  .card-large .collection-visual { aspect-ratio: 1 / 1; }
  .factory-photo { aspect-ratio: 16 / 10; }
  .factory-card-image,
  .about-photo-grid .factory-card-image { aspect-ratio: 1 / 1; }
}
@media (max-width: 680px) {
  .hero-art { height: auto; aspect-ratio: 4 / 3; width: 100%; }
  .collection-visual,
  .card-large .collection-visual { height: auto; aspect-ratio: 1 / 1; }
  .factory-photo { aspect-ratio: 4 / 3; }
  .video-placeholder { height: auto; aspect-ratio: 16 / 9; }
  .news-image { height: auto; aspect-ratio: 16 / 10; }
  .factory-card-image,
  .about-photo-grid .factory-card-image { height: auto; aspect-ratio: 1 / 1; }
  .studio-window { height: auto; aspect-ratio: 1 / 1; }
  .partner-logo { min-height: 96px; }
  .partner-logo img { max-height: 56px; }
}
@media (max-width: 420px) {
  .collection-visual,
  .card-large .collection-visual { aspect-ratio: 4 / 5; }
  .factory-photo { aspect-ratio: 1 / 1; }
}
/* ===== end responsive image normalisation ===== */

/* ===== Mobile overflow guard · 2026-11-06 =====
   Original 1fr columns were minmax(auto,1fr); long unbreakable content pushed the
   second column past the viewport. Use minmax(0,1fr) + min-width:0 instead. */
@media (max-width: 680px) {
  .collection-grid,
  .trust-strip,
  .footer-main,
  .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-grid > *, .trust-strip > *, .footer-main > *, .about-stats > *,
  .section-heading > *, .member-teaser > * { min-width: 0; }
  .member-teaser > div:nth-child(2) { min-width: 0; }
  h1, h2, h3, p, b, small, span, a, button, label { overflow-wrap: break-word; }
}
/* ===== end mobile overflow guard ===== */

/* ===== Language picker · 2026-11-06 ===== */
.language-picker select { max-width: 96px; }
@media (max-width: 680px) {
  .header-actions { gap: 8px; margin-right: 8px; }
  .language-picker select { max-width: 74px; font-size: 10px; }
}
/* ===== end language picker ===== */

/* ===== CJK headline typography · 2026-11-06 =====
   The serif display face is sized for Latin text; CJK glyphs are full-width,
   so the same size wraps Chinese/Japanese/Korean headlines into broken lines. */
body[data-lang="zh"] .hero-copy h1,
body[data-lang="ja"] .hero-copy h1,
body[data-lang="ko"] .hero-copy h1 {
  font-size: clamp(29px, 3vw, 42px);
  line-height: 1.36;
  letter-spacing: .01em;
}
body[data-lang="zh"] .section-heading h2,
body[data-lang="ja"] .section-heading h2,
body[data-lang="ko"] .section-heading h2 { line-height: 1.38; }
/* ===== end CJK typography ===== */
