@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#24262a;--silver:#a8adb5;--line:rgba(65,70,78,.18);--muted:#777d85}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#e9e9e7;color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}
.ambient{position:fixed;z-index:-5;pointer-events:none;filter:blur(85px);border-radius:50%;opacity:.85}.ambient-one{width:65vw;height:65vw;left:-20vw;top:-15vh;background:radial-gradient(circle,#fff 0%,#d6d9dc 38%,transparent 72%)}.ambient-two{width:65vw;height:65vw;right:-20vw;top:25vh;background:radial-gradient(circle,#cfd2d5 0%,#f4f4f2 48%,transparent 73%)}.ambient-three{width:55vw;height:55vw;left:20vw;bottom:-25vh;background:radial-gradient(circle,#fff 0%,#d8dadd 45%,transparent 73%)}
.floating-words{position:fixed;inset:-10vh -10vw;z-index:-3;overflow:hidden;pointer-events:none;filter:blur(8px);opacity:.22}.float-word{position:absolute;color:#777e87;font-weight:800;letter-spacing:-.08em;white-space:nowrap;text-shadow:1px 1px 0 #fff,2px 3px 0 #c8cbd0,4px 6px 8px #a9adb4;animation:drift var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay);transform:rotate(var(--angle));font-size:var(--size)}@keyframes drift{0%{translate:-2vw -3vh;rotate:-4deg}100%{translate:5vw 5vh;rotate:5deg}}
.grain{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:absolute;top:0;width:100%;z-index:10;backdrop-filter:blur(22px);background:rgba(247,247,245,.35)}.wordmark,.footer-logo{font-weight:800;font-size:25px;letter-spacing:-2px}.wordmark span,.footer-logo span{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:3px}.main-nav{display:flex;gap:32px;text-transform:uppercase;font-size:10px;letter-spacing:1.7px}.main-nav a,.cart-link{transition:opacity .2s,transform .2s}.cart-link{font-size:10px;letter-spacing:1.6px}.cart-link span{margin-left:8px}
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 20px 60px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:min(78vw,920px);height:min(40vw,440px);border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.65),rgba(211,215,219,.28) 43%,transparent 70%);filter:blur(25px);z-index:-1}.hero-kicker,.eyebrow{font-size:9px;letter-spacing:2.5px;color:#737982;text-transform:uppercase}.pulse{display:inline-block;width:6px;height:6px;background:#9ea4ab;border-radius:50%;margin-right:8px;box-shadow:0 0 12px #aeb4bd}
.hero-logo-wrap{position:relative;perspective:1000px;margin:25px 0 12px;isolation:isolate}.hero-logo{font-size:clamp(100px,24vw,310px);line-height:.85;font-weight:800;letter-spacing:-.105em;padding-right:.1em;background:linear-gradient(110deg,#5f646c 0%,#f9fafb 7%,#9da3ab 14%,#fff 20%,#737983 28%,#fdfdfd 36%,#8e949d 43%,#fff 49%,#666d77 56%,#f8f9fa 64%,#a3a9b1 72%,#fff 80%,#727983 89%,#e9ebee 95%,#646b75 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1.2px rgba(74,80,89,.65);filter:drop-shadow(.7px .7px 0 #fff) drop-shadow(1.5px 1.8px 0 #e0e3e7) drop-shadow(2.5px 3px 0 #aeb3bb) drop-shadow(4px 5px 0 #777e88) drop-shadow(6px 8px 0 #555c66) drop-shadow(0 18px 25px rgba(70,76,84,.35));transform-style:preserve-3d;animation:slowRotate 32s linear infinite;cursor:default;touch-action:auto;user-select:none;position:relative;z-index:1;backface-visibility:visible;will-change:transform}.logo-reflection{position:absolute;left:0;right:0;top:88%;font-size:clamp(100px,24vw,310px);line-height:.85;font-weight:800;letter-spacing:-.105em;padding-right:.1em;transform:scaleY(-.35);transform-origin:top;opacity:.14;filter:blur(3px);background:linear-gradient(#a5aab2,transparent);background-clip:text;-webkit-background-clip:text;color:transparent;pointer-events:none;animation:reflectionRotate 32s linear infinite}.logo-glint{position:absolute;top:5%;left:-20%;width:22%;height:90%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);filter:blur(9px);transform:skewX(-20deg);pointer-events:none;animation:glint 5s ease-in-out infinite;mix-blend-mode:screen}@keyframes slowRotate{from{transform:rotateX(8deg) rotateY(0deg)}to{transform:rotateX(8deg) rotateY(360deg)}}@keyframes reflectionRotate{from{transform:scaleY(-.35) rotateX(8deg) rotateY(0deg)}to{transform:scaleY(-.35) rotateX(8deg) rotateY(360deg)}}@keyframes glint{0%,45%{left:-25%;opacity:0}55%{opacity:.8}80%,100%{left:110%;opacity:0}}
.hero-subtitle{font-size:10px;letter-spacing:4px;margin:32px 0}.shop-now{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;background:#24262a;color:white;padding:17px 22px;font-size:10px;letter-spacing:2px;border:1px solid #24262a;cursor:pointer;transition:background .25s,color .25s,transform .25s,box-shadow .25s}.shop-now:hover{background:rgba(255,255,255,.4);color:#22252a;transform:translateY(-4px);box-shadow:0 12px 28px #7e858d30}.shop-now span{font-size:17px}.hero-bottom{position:absolute;bottom:25px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#7e838a}.scroll-cue{position:absolute;right:5vw;bottom:70px;font-size:8px;letter-spacing:1px;color:#8a9098;writing-mode:vertical-rl}.scroll-cue span{font-size:18px}
.section-shell{padding:110px 7vw}.shop-section{background:rgba(255,255,255,.22);backdrop-filter:blur(25px);border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.section-heading h1,.contact h2{font-size:clamp(38px,7vw,82px);font-weight:600;letter-spacing:-.075em;margin:15px 0 0;line-height:.95}.silver-dot{color:#9ba1a9}.section-note{font-size:11px;line-height:1.8;color:var(--muted)}.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 24px}.category-tab{background:rgba(255,255,255,.32);border:1px solid var(--line);padding:11px 15px;border-radius:30px;font-size:10px;letter-spacing:.5px;cursor:pointer;transition:transform .2s,background .2s,color .2s}.category-tab.active,.category-tab:hover{background:#25282d;color:#fff;border-color:#25282d;transform:translateY(-2px)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{min-width:0;cursor:pointer;transition:transform .3s}.product-card:hover{transform:translateY(-7px)}.product-art{aspect-ratio:4/5;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(220,223,226,.48) 55%,rgba(199,203,208,.5));position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.65);box-shadow:0 12px 35px rgba(85,90,98,.05);transition:box-shadow .3s,transform .3s}.product-card:hover .product-art{box-shadow:0 22px 50px rgba(85,90,98,.17)}.product-art:after{content:"SAMPLE / 001";position:absolute;bottom:13px;left:14px;font-size:8px;letter-spacing:1.5px;color:#7c8188}.garment{position:relative;width:48%;height:61%;background:linear-gradient(110deg,#202225,#555a61 22%,#292c31 46%,#101113 72%,#4e535a);clip-path:polygon(23% 0,38% 0,44% 7%,56% 7%,62% 0,77% 0,100% 19%,84% 35%,73% 26%,77% 100%,23% 100%,27% 26%,16% 35%,0 19%);filter:drop-shadow(0 22px 15px rgba(20,22,26,.23));transform:rotate(-3deg);transition:transform .4s}.product-card:hover .garment{transform:rotate(2deg) scale(1.06)}.garment.light{background:linear-gradient(110deg,#c8cbd0,#f9f9f9 30%,#b6bac1 58%,#f4f4f5 75%,#a6abb2)}.garment.olive{background:linear-gradient(110deg,#41443b,#777a68 30%,#34372f 65%,#777a6b)}.product-meta{display:flex;justify-content:space-between;gap:10px;padding:15px 1px}.product-name{font-size:11px;font-weight:700}.product-detail{font-size:9px;color:var(--muted);margin-top:6px}.product-price{font-size:11px;white-space:nowrap}
.manifesto{position:relative;min-height:490px}.manifesto-content{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:end;margin-top:35px}.manifesto h2{font-size:clamp(48px,9vw,115px);line-height:.85;letter-spacing:-.09em;font-weight:600;margin:0}.manifesto h2 span{color:#a4a9b1;text-shadow:1px 1px white,2px 3px 0 #d0d3d7,4px 6px 12px #b3b7bd}.manifesto-content p{font-size:13px;line-height:2;color:#666c74;max-width:340px}.manifesto-stamp{position:absolute;right:8%;top:35px;border:1px solid #b7bbc1;border-radius:50%;width:95px;height:95px;display:grid;place-content:center;text-align:center;font-size:9px;letter-spacing:1px;line-height:1.6;color:#8b9199;transform:rotate(12deg);transition:transform .4s}.manifesto-stamp:hover{transform:rotate(35deg) scale(1.1)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:rgba(231,233,235,.25);backdrop-filter:blur(22px);border-top:1px solid var(--line)}.contact-card{align-self:center}.contact-card>p{font-size:12px;color:#737982;line-height:1.8}.contact-link{display:flex;justify-content:space-between;max-width:340px;border-bottom:1px solid #9ea3aa;padding:20px 0;font-size:10px;letter-spacing:2px}.small-note{font-size:9px!important;color:#92979d!important}footer{display:flex;align-items:center;justify-content:space-between;padding:27px 5vw;font-size:8px;letter-spacing:1.3px;color:#777d85;border-top:1px solid var(--line)}.modal{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(31,33,37,.35);backdrop-filter:blur(14px)}.modal-card{position:relative;z-index:1;width:min(900px,100%);display:grid;grid-template-columns:1.1fr 1fr;background:rgba(247,247,245,.93);backdrop-filter:blur(30px);border:1px solid white;box-shadow:0 30px 90px #35383c30;animation:modalIn .35s cubic-bezier(.2,.8,.2,1)}@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}.modal-close{position:absolute;right:14px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer;z-index:2;transition:transform .2s}.modal-close:hover{transform:rotate(90deg)}.gallery{padding:16px;background:rgba(230,232,234,.3)}.gallery-main .product-art{aspect-ratio:4/4.4}.gallery-main .product-art.back .garment{transform:rotate(3deg) scaleX(-1)}.gallery-main .product-art.detail .garment{transform:scale(1.25) rotate(-6deg);filter:drop-shadow(0 20px 12px #3334)}.gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.thumb{border:1px solid transparent;background:transparent;padding:0;cursor:pointer;position:relative}.thumb .product-art{aspect-ratio:1}.thumb .garment{height:58%;width:45%}.thumb span{display:block;font-size:8px;letter-spacing:1px;padding:7px}.thumb.active{border-color:#8d949d}.modal-info{padding:45px 30px;align-self:center}.modal-info h2{font-size:32px;letter-spacing:-1.5px}.modal-info p{font-size:11px;line-height:1.8;color:#747982}.modal-price{margin:20px 0;font-weight:600}.detail-label{font-size:9px!important;letter-spacing:1.5px;margin:25px 0 10px}.size-options{display:flex;gap:8px;margin-bottom:18px}.size-option{min-width:42px;padding:12px 10px;border:1px solid var(--line);background:transparent;cursor:pointer;transition:all .2s}.size-option:hover,.size-option.active{background:#25282d;color:#fff;border-color:#25282d;transform:translateY(-2px)}.modal-action{width:100%}
.magnetic{transition:transform .2s ease,opacity .2s}.magnetic:hover{opacity:.75}
@media(max-width:650px){.topbar{height:64px;padding:0 5vw}.main-nav{gap:13px;font-size:8px}.wordmark{font-size:22px}.hero-bottom span:last-child{display:none}.section-shell{padding:75px 5vw}.section-heading{align-items:start;flex-direction:column}.section-note{margin:0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.manifesto-content{grid-template-columns:1fr;gap:20px}.manifesto-stamp{width:72px;height:72px;right:5%;top:15px;font-size:7px}.contact{grid-template-columns:1fr}.modal-card{grid-template-columns:1fr;max-height:90vh;overflow:auto}.gallery-main .product-art{aspect-ratio:1.2}.modal-info{padding:25px}.hero-subtitle{letter-spacing:2px}.hero-logo{font-size:clamp(92px,25vw,170px)}.logo-reflection{font-size:clamp(92px,25vw,170px)}footer{gap:15px;flex-wrap:wrap}footer>span{display:none}.scroll-cue{display:none}}

/* Real GLB model in the home hero */
.model-hero{width:min(76vw,760px);height:clamp(270px,42vw,510px);margin:10px auto 8px;perspective:none;position:relative;isolation:isolate}
#model-stage{width:100%;height:100%;position:relative;overflow:visible}
#model-canvas{display:block;width:100%;height:100%;outline:none}
#model-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:3px;color:rgba(90,96,105,.65);pointer-events:none}
@media(max-width:650px){.model-hero{width:94vw;height:clamp(250px,72vw,390px);margin:12px auto}}



/* NUVON — Shopping bag */
.cart-link {
  cursor: pointer;
}

.bag-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 50;
  width: min(420px, 100%);
  height: 100dvh;
  padding: 28px;
  background: #f3f3f1;
  border-left: 1px solid rgba(65,70,78,.18);
  box-shadow: -20px 0 60px #24262a20;
  transform: translateX(105%);
  visibility: hidden;
  transition: transform .3s ease, visibility .3s;
  overflow-y: auto;
}

.bag-panel.open {
  transform: translateX(0);
  visibility: visible;
}

.bag-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.bag-header h2 {
  font-size: 24px;
  letter-spacing: -1px;
}

.bag-close,
.bag-remove {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
}

.bag-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}

.bag-item p {
  margin: 6px 0;
  color: var(--muted);
  font-size: 11px;
}

.bag-footer {
  padding-top: 24px;
}

.bag-total {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 22px;
}

.bag-empty {
  padding: 35px 0;
  font-size: 12px;
  color: var(--muted);
}

.bag-checkout {
  width: 100%;
  justify-content: space-between;
}

.bag-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: #24262a55;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.bag-overlay.open {
  opacity: 1;
  visibility: visible;
}
