:root { --ivory:#f2ede3; --paper:#f8f5ee; --graphite:#34383b; --ink:#202426; --rose:#b98270; --champagne:#c8b08a; --line:rgba(52,56,59,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--graphite); font-family:"Helvetica Neue",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.topbar { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; position:absolute; inset:0 0 auto; z-index:10; border-bottom:1px solid rgba(255,255,255,.18); color:white; }
.brand { display:flex; align-items:center; gap:13px; letter-spacing:.22em; }
.brand span { display:flex; flex-direction:column; line-height:1; }
.brand strong { font-size:15px; font-weight:500; }
.brand em { font-size:8px; color:var(--rose); font-style:normal; letter-spacing:.62em; margin-top:7px; }
.topbar nav { display:flex; gap:34px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.topbar nav a { opacity:.78; transition:.2s; }
.topbar nav a:hover { opacity:1; }
.language { display:flex; align-items:center; gap:6px; font-size:11px; }
.language button { border:0; background:none; color:inherit; opacity:.45; cursor:pointer; padding:5px; }
.language button.active { opacity:1; }
.mark { position:relative; display:inline-block; width:76px; height:82px; flex:none; }
.mark:before,.mark:after,.mark i,.mark b { content:""; position:absolute; width:29px; height:55px; top:10px; border:3px solid var(--rose); transform:skewY(-25deg) rotate(20deg); }
.mark:before,.mark i { left:12px; border-right:0; border-radius:80% 0 0 55%; }
.mark:after,.mark b { right:12px; border-left:0; border-radius:0 80% 55% 0; transform:skewY(25deg) rotate(-20deg); }
.mark i,.mark b { opacity:.5; transform:scale(.66) skewY(-25deg) rotate(20deg); }
.mark b { transform:scale(.66) skewY(25deg) rotate(-20deg); }
.markSmall { width:34px; height:38px; transform:scale(.55); transform-origin:center; margin:-12px; }
.hero { min-height:790px; display:grid; grid-template-columns:1fr 1fr; background:linear-gradient(120deg,#2e3335 0%,#3b4042 56%,#262a2c 100%); color:var(--ivory); overflow:hidden; }
.heroCopy { padding:210px 6vw 100px 9vw; position:relative; z-index:2; }
.eyebrow { font-size:10px; letter-spacing:.33em; color:var(--rose); font-weight:600; margin:0 0 26px; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; margin:0; }
h1 { font-size:clamp(64px,7vw,112px); line-height:.92; max-width:670px; }
h2 { font-size:clamp(40px,4.2vw,66px); line-height:1.04; color:var(--ink); }
.lead { font-family:Georgia,"Times New Roman",serif; font-size:18px; line-height:1.75; max-width:580px; color:rgba(242,237,227,.73); margin:38px 0 34px; }
.actions { display:flex; gap:12px; flex-wrap:wrap; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 25px; text-transform:uppercase; letter-spacing:.16em; font-size:10px; transition:.2s; }
.button.primary { background:var(--rose); color:white; }
.button.primary:hover { background:#c6917f; }
.button.secondary { border:1px solid rgba(255,255,255,.4); }
.button.secondary:hover { background:rgba(255,255,255,.08); }
.quiet { margin-top:75px; text-transform:uppercase; letter-spacing:.25em; font-size:9px; opacity:.45; }
.heroArt { position:relative; overflow:hidden; }
.halo { position:absolute; width:610px; height:610px; border:1px solid rgba(200,176,138,.2); border-radius:50%; top:130px; left:4%; box-shadow:0 0 90px rgba(200,176,138,.08) inset; }
.sculpture { position:absolute; width:270px; height:570px; top:150px; left:24%; filter:drop-shadow(30px 30px 40px rgba(0,0,0,.25)); }
.sculpture:before,.sculpture:after,.sculpture span,.sculpture i { content:""; position:absolute; border-radius:50%; border:26px solid var(--rose); width:145px; height:470px; transform:rotate(17deg); }
.sculpture:before { left:10px; border-right-color:transparent; border-bottom-color:transparent; }
.sculpture:after { right:10px; transform:rotate(-17deg); border-left-color:transparent; border-top-color:transparent; opacity:.72; }
.sculpture span { width:80px; height:350px; left:95px; top:65px; border-width:11px; border-color:var(--champagne) transparent var(--champagne) transparent; transform:rotate(12deg); opacity:.8; }
.sculpture i { width:210px; height:210px; top:180px; left:30px; border-width:1px; border-color:rgba(242,237,227,.28); }
.sculpture b { position:absolute; width:13px; height:13px; background:var(--champagne); border-radius:50%; bottom:52px; left:130px; }
.edition { position:absolute; right:8%; bottom:75px; font-family:Georgia,serif; font-size:130px; color:rgba(255,255,255,.035); }
.section { padding:120px 8vw; }
.sectionIntro { max-width:820px; margin:auto; text-align:center; }
.sectionIntro > p:last-child,.collectionHead > p,.craftCopy > p:not(.eyebrow),.consult > p:not(.eyebrow) { font-family:Georgia,serif; line-height:1.8; color:#6f7373; font-size:17px; }
.sectionIntro > p:last-child { max-width:710px; margin:28px auto 0; }
.valueGrid { margin:85px auto 0; max-width:1180px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.valueGrid article { padding:38px 36px; border-right:1px solid var(--line); }
.valueGrid article:last-child { border:0; }
.valueGrid span,.stepGrid span { color:var(--rose); font-size:10px; letter-spacing:.2em; }
h3 { font-family:Georgia,serif; font-weight:400; font-size:23px; margin:28px 0 13px; color:var(--ink); }
.valueGrid p,.stepGrid p { font-family:Georgia,serif; font-size:14px; line-height:1.7; color:#787b7a; }
.craft { display:grid; grid-template-columns:1fr 1fr; min-height:680px; background:var(--ivory); }
.materialArt { position:relative; overflow:hidden; background:linear-gradient(145deg,#b98270,#7b5148 54%,#322e30); }
.materialArt div { position:absolute; width:550px; height:780px; border-radius:50%; border:75px solid rgba(242,237,227,.14); transform:rotate(35deg); left:5%; top:-50px; box-shadow:0 0 80px rgba(0,0,0,.16); }
.materialArt span { position:absolute; width:330px; height:500px; border:1px solid rgba(255,255,255,.28); border-radius:50%; transform:rotate(-28deg); right:12%; top:100px; }
.craftCopy { padding:120px 9vw 90px; display:flex; flex-direction:column; justify-content:center; }
.craftCopy > p:not(.eyebrow) { max-width:600px; margin:30px 0; }
.craftCopy ul { list-style:none; padding:0; margin:10px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:0; }
.craftCopy li { padding:18px 0; border-top:1px solid var(--line); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.collectionHead { display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; align-items:end; max-width:1180px; margin:auto; }
.collectionHead > p { margin:0; }
.collectionGrid { max-width:1180px; margin:70px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.model { height:510px; position:relative; overflow:hidden; padding:30px; display:flex; align-items:flex-end; color:white; background:#414548; }
.model:before,.model:after { content:""; position:absolute; border-radius:50%; }
.model:before { width:320px; height:500px; border:55px solid rgba(255,255,255,.12); left:4%; top:10px; transform:rotate(24deg); }
.model:after { width:190px; height:380px; border:1px solid rgba(255,255,255,.3); right:-20px; top:55px; transform:rotate(-25deg); }
.model2 { background:#ac7a6b; }
.model3 { background:#a9977f; }
.modelLetter { font-family:Georgia,serif; font-size:270px; position:absolute; opacity:.06; left:50%; top:48%; transform:translate(-50%,-50%); }
.model div { position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.45); width:100%; }
.model p { font-size:9px; letter-spacing:.2em; text-transform:uppercase; margin:16px 0 0; }
.model h3 { color:white; margin:8px 0 0; }
.process { background:var(--ivory); }
.processHead { display:flex; justify-content:space-between; align-items:end; max-width:1180px; margin:auto; }
.processHead h2 { max-width:680px; }
.stepGrid { max-width:1180px; margin:70px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:60px; }
.stepGrid article { border-top:1px solid var(--line); padding-top:25px; }
.consult { background:var(--graphite); color:var(--ivory); padding:115px 20px; text-align:center; }
.consult .mark { margin-bottom:20px; }
.consult h2 { color:var(--ivory); max-width:750px; margin:auto; }
.consult > p:not(.eyebrow) { max-width:620px; margin:28px auto 34px; color:rgba(242,237,227,.68); }
.button.light { border:1px solid var(--rose); color:var(--ivory); }
.button.light:hover { background:var(--rose); }
footer { min-height:180px; padding:45px 6vw; background:#282c2e; color:rgba(255,255,255,.62); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:30px; }
.footerBrand { color:white; }
footer p { text-align:center; text-transform:uppercase; letter-spacing:.15em; font-size:9px; line-height:2; }
footer small { opacity:.65; }
footer > div { display:flex; justify-content:flex-end; gap:24px; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
@media (max-width:900px) {
  .topbar nav { display:none; }
  .hero { grid-template-columns:1fr; min-height:900px; }
  .heroCopy { padding:165px 8vw 80px; }
  .heroArt { position:absolute; inset:390px 0 0 30%; opacity:.42; }
  .lead { max-width:520px; }
  .craft { grid-template-columns:1fr; }
  .materialArt { min-height:430px; }
  .collectionHead { grid-template-columns:1fr; gap:25px; }
  .collectionGrid { grid-template-columns:1fr; }
  .model { height:390px; }
  .valueGrid,.stepGrid { grid-template-columns:1fr; }
  .valueGrid article { border-right:0; border-bottom:1px solid var(--line); }
  .stepGrid { gap:35px; }
  .processHead { display:block; }
  footer { grid-template-columns:1fr; text-align:center; }
  .footerBrand,footer > div { justify-content:center; }
}
@media (max-width:560px) {
  .topbar { height:76px; padding:0 20px; }
  .brand strong { font-size:12px; }
  .hero { min-height:820px; }
  .heroCopy { padding:135px 24px 60px; }
  h1 { font-size:58px; }
  .lead { font-size:16px; }
  .actions { flex-direction:column; align-items:stretch; }
  .quiet { margin-top:45px; }
  .heroArt { left:15%; top:410px; transform:scale(.76); transform-origin:top; }
  .section { padding:85px 24px; }
  .craftCopy { padding:85px 24px; }
  .craftCopy ul { grid-template-columns:1fr; }
  .collectionGrid { margin-top:45px; }
  .processHead h2 { font-size:42px; }
  .consult { padding:90px 24px; }
}

/* Supplier-facing market-entry edition */
.partnerSite .topbar { position:absolute; }
.headerCta { border:1px solid rgba(255,255,255,.45); padding:12px 17px; font-size:9px; letter-spacing:.18em; }
.partnerHero { min-height:850px; }
.partnerHero .heroCopy { padding-top:190px; }
.partnerHero h1 { max-width:830px; font-size:clamp(58px,6.3vw,102px); }
.signalBar { background:var(--rose); color:white; padding:20px 5vw; display:flex; align-items:center; justify-content:space-around; gap:25px; font-size:9px; letter-spacing:.23em; }
.signalBar span { white-space:nowrap; }
.supplierVision { background:var(--paper); }
.criteriaSection { padding:120px 8vw; background:var(--graphite); color:var(--ivory); }
.criteriaIntro { max-width:900px; margin:0 auto 65px; text-align:center; }
.criteriaIntro h2 { color:var(--ivory); }
.criteriaIntro > p:last-child { font-family:Georgia,serif; color:rgba(242,237,227,.68); max-width:680px; margin:28px auto 0; line-height:1.8; }
.criteriaGrid { max-width:1180px; margin:auto; display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(255,255,255,.14); }
.criteriaGrid article { padding:45px; min-height:245px; border-bottom:1px solid rgba(255,255,255,.14); }
.criteriaGrid article:nth-child(odd) { border-right:1px solid rgba(255,255,255,.14); }
.criteriaGrid article:nth-last-child(-n+2) { border-bottom:0; }
.criteriaGrid span { font-size:9px; letter-spacing:.23em; color:var(--rose); }
.criteriaGrid h3 { color:var(--ivory); font-size:28px; }
.criteriaGrid p { font-family:Georgia,serif; color:rgba(242,237,227,.62); line-height:1.7; max-width:450px; }
.partnership { background:var(--ivory); }
.partnerFormSection { padding:120px 8vw; display:grid; grid-template-columns:.78fr 1.22fr; gap:8vw; background:var(--paper); }
.formIntro { max-width:520px; }
.formIntro h2 { font-size:clamp(48px,5vw,72px); }
.formIntro > p:not(.eyebrow) { font-family:Georgia,serif; color:#707473; line-height:1.8; font-size:17px; }
.privacyNote { margin-top:45px; border-top:1px solid var(--line); padding-top:28px; display:flex; flex-direction:column; gap:13px; font-family:Georgia,serif; font-size:14px; color:#707473; }
.privacyNote strong { color:var(--ink); font-family:"Helvetica Neue",Arial,sans-serif; text-transform:uppercase; letter-spacing:.18em; font-size:9px; margin-bottom:7px; }
.privacyNote span:before { content:"—"; color:var(--rose); margin-right:10px; }
.partnerForm { background:white; border:1px solid var(--line); padding:50px; box-shadow:0 25px 70px rgba(52,56,59,.08); }
.formGrid { display:grid; grid-template-columns:1fr 1fr; gap:25px 22px; }
.partnerForm label > span,.partnerForm legend { display:block; margin-bottom:9px; text-transform:uppercase; letter-spacing:.13em; color:#676b6c; font-size:9px; font-weight:600; }
.partnerForm input:not([type=checkbox]):not([type=file]),.partnerForm select,.partnerForm textarea { width:100%; border:0; border-bottom:1px solid #c8c7c1; background:transparent; padding:11px 0; color:var(--ink); font:14px "Helvetica Neue",Arial,sans-serif; border-radius:0; outline:none; }
.partnerForm textarea { border:1px solid #d9d7cf; padding:15px; resize:vertical; line-height:1.6; }
.partnerForm input:focus,.partnerForm select:focus,.partnerForm textarea:focus { border-color:var(--rose); }
.partnerForm fieldset { border:0; padding:0; margin:38px 0; }
.checkGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px 20px; }
.checkGrid label { display:flex; gap:8px; color:#616566; font-size:12px; align-items:center; }
.checkGrid input,.consent input { accent-color:var(--rose); }
.full { display:block; }
.uploadBox { border:1px dashed #c4b4a6; background:var(--ivory); min-height:130px; margin-top:28px; padding:30px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; cursor:pointer; }
.uploadBox strong { font-family:Georgia,serif; font-size:18px; font-weight:400; color:var(--ink); }
.uploadBox > span { margin:9px 0 0 !important; text-transform:none !important; letter-spacing:0 !important; font-size:11px !important; font-weight:400 !important; }
.uploadBox input { margin-top:18px; max-width:100%; font-size:11px; }
.uploadBox .error { color:#a33b35 !important; }
.consent { display:flex; gap:11px; align-items:flex-start; margin:25px 0; font-family:Georgia,serif; line-height:1.5; color:#777; }
.consent span { text-transform:none !important; letter-spacing:0 !important; font-size:12px !important; font-weight:400 !important; margin:0 !important; }
.submitButton { border:0; cursor:pointer; width:100%; }
.formFoot { text-align:center; color:#8b8e8d; font-size:10px; line-height:1.6; margin:18px auto 0; max-width:520px; }
.websiteTrap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; }
.resultPage { min-height:100vh; display:grid; place-items:center; background:var(--graphite); padding:24px; }
.resultCard { width:min(680px,100%); text-align:center; background:var(--paper); padding:75px 50px; }
.resultCard h1 { color:var(--ink); font-size:clamp(45px,6vw,70px); }
.resultCard > p:not(.eyebrow) { font-family:Georgia,serif; color:#707473; font-size:17px; line-height:1.7; margin:25px auto 35px; }
@media (max-width:1000px) {
  .headerCta { display:none; }
  .signalBar { overflow:auto; justify-content:flex-start; }
  .partnerFormSection { grid-template-columns:1fr; }
  .formIntro { max-width:760px; }
}
@media (max-width:700px) {
  .criteriaGrid,.formGrid { grid-template-columns:1fr; }
  .criteriaGrid article,.criteriaGrid article:nth-child(odd),.criteriaGrid article:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .criteriaGrid article:last-child { border-bottom:0; }
  .checkGrid { grid-template-columns:1fr 1fr; }
  .partnerFormSection { padding:85px 22px; }
  .partnerForm { padding:30px 22px; }
}
