@font-face{font-family:SangBleu;src:url("assets/SangBleuOGSans-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Simplon;src:url("assets/SimplonBPMono-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
:root{--black:#111;--grey:#6f6f6f;--line:#dedede}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--black);font-family:Simplon,monospace;font-weight:300}
.header{position:fixed;z-index:30;top:0;left:0;right:0;height:110px;padding:28px 42px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;transition:height .35s ease,padding .35s ease,background .35s ease,box-shadow .35s ease}
.header.scrolled{height:70px;padding:14px 28px;background:rgba(255,255,255,.96);box-shadow:0 1px 0 rgba(0,0,0,.08);backdrop-filter:blur(8px)}
.brand,.cart-button{pointer-events:auto}
.brand{display:block;line-height:0}
.dupont-logo{width:210px;height:auto;object-fit:contain;object-position:left top;mix-blend-mode:multiply;transition:width .35s ease}
.header.scrolled .dupont-logo{width:105px}
.cart-button{position:relative;border:0;background:transparent;width:44px;height:44px;padding:8px;cursor:pointer;display:grid;place-items:center;margin-top:-2px}
.cart-button svg{width:24px;height:24px;fill:none;stroke:#111;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.cart-count{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#111;color:#fff;font:300 9px/17px Simplon,monospace;text-align:center;display:none}
.cart-count.visible{display:block}
.header.scrolled .cart-button{margin-top:-2px}
.intro{max-width:1180px;margin:190px auto 110px;padding:0 42px;text-align:center}
.eyebrow{font-size:11px;letter-spacing:.2em;margin:0 0 22px}
.intro h1,.collection h2{font-family:SangBleu,serif;font-weight:400;line-height:1.05;margin:0}
.intro h1{font-size:clamp(38px,5.2vw,76px)}
.products{max-width:1500px;margin:0 auto;padding:0 42px;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.product-card{min-width:0}
.carousel{position:relative;background:#080808;aspect-ratio:4/3;overflow:hidden}
.product-image{width:100%;height:100%;object-fit:cover;display:none}
.product-image.active{display:block}
.arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.88);width:44px;height:44px;border-radius:50%;font-size:30px;line-height:40px;cursor:pointer}
.prev{left:18px}.next{right:18px}
.dots{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:7px}
.dot{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.45}
.dot.active{opacity:1}
.product-info{padding:28px 4px 0}
.product-number{font-size:10px;letter-spacing:.2em;margin:0 0 12px}
.product-info h2{font-family:SangBleu,serif;font-weight:400;font-size:32px;line-height:1.05;margin:0 0 12px}.set-title-line{display:block;font-size:1em;line-height:1.05}
.components{font-size:12px;line-height:1.6;color:#555;max-width:650px;margin:0}
.price{font-family:SangBleu,serif;font-size:28px;margin:20px 0}
.buy{background:#111;color:#fff;border:1px solid #111;padding:15px 28px;font:300 11px Simplon,monospace;letter-spacing:.18em;cursor:pointer;transition:.2s}
.buy:hover{background:#fff;color:#111}
.availability-note{font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:#777;margin:10px 0 0}
.collection{max-width:1180px;margin:170px auto 150px;padding:0 42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:center}
.collection-mark{background:#111;padding:50px 35px}
.collection-mark img{width:100%;height:auto}
.collection-copy h2{font-size:clamp(38px,4.2vw,62px);margin-bottom:28px}
.collection-copy p:not(.eyebrow){font-family:SangBleu,serif;font-size:18px;line-height:1.55;max-width:700px}
footer{border-top:1px solid var(--line);padding:28px 42px 40px;display:flex;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:.08em}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
footer a{color:inherit;text-decoration:none}
.modal{position:fixed;inset:0;display:none;z-index:20}
.modal.open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.modal-panel{position:absolute;right:0;top:0;height:100%;width:min(520px,100%);background:#fff;padding:55px 45px;overflow:auto}
.modal-close{position:absolute;right:25px;top:20px;background:none;border:0;font-size:30px;cursor:pointer;font-weight:200}
.modal-panel h2{font-family:SangBleu,serif;font-size:38px;font-weight:400;margin:0 0 8px}
.modal-product{font-size:12px;line-height:1.5;color:#555}
.quantity-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:25px 0}
.qty{display:flex;align-items:center}
.qty button{width:35px;height:35px;border:1px solid var(--line);background:#fff;font-size:20px;cursor:pointer}
.qty input{width:45px;height:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-left:0;border-right:0;text-align:center;font:300 12px Simplon}
label{display:block;font-size:10px;letter-spacing:.08em;margin:0 0 17px}
label input{display:block;width:100%;border:0;border-bottom:1px solid #aaa;padding:11px 0;font:300 14px Simplon;outline:none}
label input:focus{border-bottom-color:#111}
.full{width:100%;margin-top:10px}
.trust-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:8px 0 12px}.trust-badge{display:flex;align-items:center;gap:8px;min-width:0}.trust-icon{width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px}.trust-icon svg{width:22px;height:22px;fill:#222}.stripe-mark{border:1px solid #222;border-radius:50%;font-family:SangBleu,serif;font-size:15px;font-weight:400}.trust-badge strong{display:block;font-size:9px;letter-spacing:.08em;font-weight:400;text-transform:uppercase;white-space:nowrap}.trust-badge small{display:block;font-size:8px;line-height:1.35;color:#777;margin-top:2px}.checkout-note{margin:10px 0 0}.demo-note{font-size:10px;line-height:1.5;color:#666}.demo-note{margin-top:14px}

@media(max-width:800px){
.header{height:85px;padding:22px}.dupont-logo{width:155px}.header.scrolled{height:62px;padding:13px 18px}.header.scrolled .dupont-logo{width:90px}.cart-button{width:40px;height:40px}.cart-button svg{width:22px;height:22px}.intro{margin-top:135px}
.intro{margin:125px auto 70px;padding:0 22px}
.products{grid-template-columns:1fr;gap:80px;padding:0 22px}
.collection{grid-template-columns:1fr;gap:45px;margin:110px auto 90px;padding:0 22px}
.collection-mark{padding:35px 25px}
footer{padding:24px 22px;display:block}.footer-links{margin-top:16px;flex-wrap:wrap;gap:12px 20px}
.modal-panel{padding:50px 25px}.trust-badges{grid-template-columns:1fr;gap:12px}.trust-badge small{font-size:8.5px}
}
.cart-items{margin:18px 0 10px}.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #ddd}.cart-item small{display:block;margin-top:5px;opacity:.65;font-size:.72rem}.cart-controls{display:flex;align-items:center;gap:10px}.cart-controls button{width:28px;height:28px;border:1px solid #ccc;background:#fff;cursor:pointer}.cart-total{display:flex;justify-content:space-between;padding:16px 0 20px;border-top:1px solid #222;margin-top:8px}.cart-total strong{font-size:1.1rem}@media(max-width:600px){.cart-item{grid-template-columns:1fr auto}.cart-item>strong{grid-column:2}.cart-item small{font-size:.65rem}}

@media(max-width:480px){.product-info h2{font-size:clamp(27px,8vw,32px)}.set-title-line{font-size:1em}}

/* Responsive refinements — iPhone / iPad */
@media (max-width: 800px){
  .header{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right));}
  .header.scrolled{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right));}
  .intro h1{font-size:clamp(36px, 10vw, 58px);}
  .components{font-size:11px;line-height:1.55;}
  .availability-note{font-size:10px;line-height:1.45;letter-spacing:.07em;}
  .buy{min-height:48px;}
  .arrow{width:42px;height:42px;}
}
@media (max-width: 480px){
  .intro{margin-top:125px;padding-left:18px;padding-right:18px;}
  .products{padding-left:18px;padding-right:18px;gap:68px;}
  .product-info{padding-top:24px;}
  .product-info h2{font-size:clamp(27px,8vw,32px);}
  .availability-note{font-size:10px;}
  .modal-panel{width:100%;padding-left:20px;padding-right:20px;padding-bottom:max(30px, env(safe-area-inset-bottom));}
  .trust-badge strong{font-size:9px;}
  .cart-button{margin-right:0;}
}
