*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#111111;
  --paper:#ffffff;
  --bg2:#f5f5f5;
  --bg3:#e8e8e8;
  --muted:#777777;
  --border:#e5e5e5;
  --r:16px;
  --f:'Inter',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f);font-size:14px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
#nav.scrolled{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom-color:var(--border)}
.nw{max-width:1400px;margin:0 auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:60px}
.nlogo{font-size:14px;font-weight:600;letter-spacing:-.01em;text-decoration:none;color:#fff;transition:color .3s}
#nav.scrolled .nlogo{color:var(--ink)}
.nlinks{display:flex;gap:28px;list-style:none}
.nlinks a{font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.75);transition:color .2s;font-weight:500}
.nlinks a:hover{color:#fff}
#nav.scrolled .nlinks a{color:var(--muted)}
#nav.scrolled .nlinks a:hover{color:var(--ink)}
.nbtn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);padding:8px 18px;font-size:13px;font-weight:500;border-radius:12px;text-decoration:none;transition:all .2s;white-space:nowrap;font-family:var(--f)}
.nbtn:hover{background:#000;color:#fff;border-color:#000}
#nav.scrolled .nbtn{color:var(--ink);border-color:var(--border)}
#nav.scrolled .nbtn:hover{background:#000;color:#fff;border-color:#000}
.nburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.nburger span{width:22px;height:1.5px;background:#fff;transition:background .3s;display:block}
#nav.scrolled .nburger span{background:var(--ink)}

/* MOBILE MENU */
.mmenu{display:none;position:fixed;inset:0;background:var(--paper);z-index:200;flex-direction:column;padding:80px 32px 40px;gap:0}
.mmenu.open{display:flex}
.mmenu a{font-size:22px;font-weight:600;color:var(--ink);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--border)}
.mclose{position:absolute;top:18px;right:24px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink);font-family:var(--f)}

/* HERO */
.hero{height:100vh;min-height:600px;position:relative;background:#888580}
.hero-left{display:flex;flex-direction:column;justify-content:flex-end;padding:80px 56px;z-index:2;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.2) 50%,transparent 100%)}
.hero-eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:20px;font-weight:500}
.hero-title{font-size:clamp(36px,5vw,68px);font-weight:700;line-height:1.0;letter-spacing:-.03em;color:#fff;margin-bottom:14px}
.hero-sub{font-size:22px;color:rgba(255,255,255,.75);margin-bottom:36px;line-height:1.5;font-weight:400}
.hero-btns{display:inline-flex;flex-direction:column;gap:12px;align-self:flex-start}
.btn-dark{background:rgba(255,255,255,.2);color:#fff;border:none;padding:14px 24px;font-size:14px;font-weight:500;border-radius:12px;text-decoration:none;text-align:center;cursor:pointer;transition:all .2s;font-family:var(--f);display:block;width:100%;backdrop-filter:blur(4px)}
.hero-left .btn-dark:hover{background:#000;color:#fff}
.btn-link{font-size:13px;color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:3px;background:none;border:none;cursor:pointer;font-family:var(--f);text-align:center;transition:color .2s;width:100%;display:block;padding:6px 0}
.btn-link:hover{color:#fff}
.hero-right{position:absolute;inset:0;z-index:0}
.hslides{position:absolute;inset:0}
.hslide{position:absolute;inset:0;opacity:0;transition:opacity .8s}
.hslide.active{opacity:1}
.hslide video,.hslide img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.hdots{position:absolute;bottom:24px;right:20px;display:flex;gap:6px;z-index:3}
.hdot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.2);cursor:pointer;transition:background .2s}
.hdot.active{background:rgba(0,0,0,.6)}

/* SHARED */
.wrap{max-width:1400px;margin:0 auto;padding:0 60px}
.section-border{border-top:1px solid var(--border)}
.s-pad{padding:80px 0}
.s-pad-sm{padding:60px 0}
.slabel{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:14px}
.stitle{font-size:clamp(28px,3.5vw,46px);font-weight:700;letter-spacing:-.03em;line-height:1.05}
.ssub{font-size:15px;color:var(--muted);line-height:1.6;max-width:540px}

/* BTN OUTLINE */
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--border);padding:12px 24px;font-size:13px;font-weight:500;border-radius:12px;cursor:pointer;transition:all .2s;font-family:var(--f);text-decoration:none;display:inline-block}
.btn-outline:hover{border-color:var(--ink);background:var(--ink);color:#fff}

/* REVEAL */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s}
.reveal.visible{opacity:1;transform:none}

/* COLLECTION */
.coll-head{padding:80px 20px 32px;padding-left:64px}
.coll-sub{font-size:15px;color:var(--muted);max-width:900px;line-height:1.6;margin:12px 0 0}
.coll-outer{position:relative;display:flex;align-items:center;gap:8px;padding:0 20px;overflow:hidden}
.coll-track{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;max-height:70vh}
.coll-track::-webkit-scrollbar{display:none}
.coll-track.grabbing{cursor:grabbing}
.coll-grid{display:grid;gap:8px;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.cat-item{cursor:pointer;min-width:0}
.cat-thumb{background:var(--bg2);border-radius:var(--r);overflow:hidden;aspect-ratio:2/3;position:relative}
.cat-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:opacity .2s}
.cat-item:hover .cat-thumb img{opacity:.85}
.cat-item.cat-active .cat-thumb{outline:2px solid var(--ink);outline-offset:-2px}
.cat-info{padding:10px 2px}
.cat-name{font-size:14px;font-weight:500;letter-spacing:-.01em;margin-bottom:2px}
.cat-price{font-size:13px;color:var(--muted)}
.cat-ph .cat-thumb{background:var(--bg2)}
.cat-ph .cat-name,.cat-ph .cat-price{color:var(--bg3)}
.cnav{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--paper);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s;flex-shrink:0}
.cnav:hover{border-color:var(--ink);color:var(--ink)}
.cnav:disabled{opacity:.2;pointer-events:none}
.coll-cta{padding:20px 60px 60px;text-align:center}
.coll-cta p{font-size:14px;color:var(--muted);margin-bottom:12px}

/* PRODUCT */
.prod-section{background:var(--paper)}
.prod-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding:60px 0}
.gal-main{background:var(--bg2);border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;position:relative}
.gal-main img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:opacity .25s}
.gal-arrows{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px;pointer-events:none}
.garr{pointer-events:auto;background:rgba(255,255,255,.88);border:none;color:var(--ink);width:36px;height:36px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.garr:hover{background:#fff}
.gal-thumbs{display:flex;gap:8px;margin-top:10px}
.gthumb{width:64px;height:80px;background:var(--bg2);border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s;flex-shrink:0}
.gthumb.active{border-color:var(--ink);border-width:1px}
.gthumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.prod-id{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:10px}
.prod-name{font-size:32px;font-weight:700;letter-spacing:-.02em;margin-bottom:18px}
.prod-desc{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:28px}
.prod-specs{border-top:1px solid var(--border);margin-bottom:28px}
.srow{display:flex;gap:20px;padding:11px 0;border-bottom:1px solid var(--border);font-size:13px}
.srow-k{color:var(--muted);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.06em;width:90px;flex-shrink:0;padding-top:1px}
.prod-price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}
.prod-price{font-size:22px;font-weight:700}
.prod-moq{font-size:13px;color:var(--muted)}
.btn-cfg{width:100%;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:14px;font-size:14px;font-weight:500;border-radius:12px;cursor:pointer;font-family:var(--f);transition:all .2s;margin-bottom:10px}
.btn-cfg:hover{background:var(--ink);color:#fff}
.btn-smp{width:100%;background:transparent;color:var(--muted);border:none;padding:10px;font-size:13px;cursor:pointer;font-family:var(--f);text-decoration:underline;text-underline-offset:3px}
.btn-smp:hover{color:var(--ink)}

/* CRAFT */
.craft-body{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.craft-title{font-size:clamp(24px,3vw,38px);font-weight:700;letter-spacing:-.03em;margin-bottom:24px}
.craft-left-col{display:flex;flex-direction:column;position:relative}
.craft-text-content{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--muted) var(--bg2);padding-right:8px;max-height:calc(((100vw - 120px) / 2) * 0.75 - 80px)}
.craft-text-content::-webkit-scrollbar{width:4px}
.craft-text-content::-webkit-scrollbar-track{background:var(--bg2);border-radius:2px}
.craft-text-content::-webkit-scrollbar-thumb{background:var(--muted);border-radius:2px}
.craft-fade{position:absolute;bottom:0;left:0;right:8px;height:64px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);pointer-events:none;transition:opacity .3s}
.craft-fade.hidden{opacity:0}
.craft-block{margin-bottom:18px}
.craft-block h4{font-size:14px;font-weight:600;margin-bottom:6px}
.craft-block p{font-size:14px;color:var(--muted);line-height:1.65}
.craft-vid-wrap{background:var(--bg2);border-radius:12px;overflow:hidden;aspect-ratio:4/3;align-self:start}
.craft-vid-wrap video{width:100%;height:100%;object-fit:cover;display:block}
.craft-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);margin-top:48px;margin-bottom:48px}
.ctab{padding:16px 0;font-size:13px;font-weight:500;cursor:pointer;border-top:2px solid transparent;color:var(--muted);transition:all .2s;background:none;border-bottom:none;border-left:none;border-right:none;font-family:var(--f);text-align:left}
.ctab.active{border-top-color:var(--ink);color:var(--ink);font-weight:600}
.ctab:hover{color:var(--ink)}

/* WORKS */
.works-title{font-size:clamp(28px,3.5vw,44px);font-weight:700;letter-spacing:-.03em;margin-bottom:8px}
.works-sub{font-size:15px;color:var(--muted);margin-top:0;margin-bottom:0}
.works-scroll-outer{padding:0 60px;overflow:hidden}
.works-scroll-track{display:flex;gap:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;padding-bottom:4px}
.works-scroll-track::-webkit-scrollbar{display:none}
.works-scroll-track.grabbing{cursor:grabbing}
.wcard{background:var(--bg2);border-radius:var(--r);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted);flex-shrink:0;width:calc(25% - 12px)}
.wnav{display:flex;gap:8px;margin-top:20px}
.warr{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s;font-family:var(--f)}
.warr:hover{border-color:var(--ink);color:var(--ink)}
.warr:disabled{opacity:.25;pointer-events:none}

/* CALC */
.calc-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch}
.calc-left{background:var(--bg2);border-radius:var(--r);overflow:hidden;position:relative;min-height:420px;display:flex;align-items:flex-end}
.calc-left img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.calc-left-txt{position:relative;z-index:1;padding:32px;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 100%);width:100%}
.calc-left-h{font-size:52px;font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.02em}
.calc-right h2{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}
.calc-right .csub{font-size:14px;color:var(--muted);margin-bottom:28px;line-height:1.5}
.crow{margin-bottom:20px}
.crow-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;color:var(--muted)}
.cselect{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 14px;font-size:14px;font-family:var(--f);background:var(--paper);color:var(--ink);outline:none;cursor:pointer;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.cselect:focus{border-color:var(--ink)}
.copts{display:flex;gap:8px}
.copt{border:1px solid var(--border);border-radius:12px;padding:9px 0;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;background:var(--paper);color:var(--ink);font-family:var(--f);flex:1;text-align:center}
.copt.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.copt:hover:not(.active){border-color:var(--muted)}
.cqty{display:flex;align-items:center;border:1px solid var(--border);border-radius:12px;overflow:hidden;width:100%}
.cqbtn{width:40px;height:40px;background:none;border:none;font-size:18px;cursor:pointer;color:var(--muted);font-family:var(--f);transition:background .2s}
.cqbtn:hover{background:var(--bg2)}
.cqinput{flex:1;height:40px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font-size:14px;font-weight:500;font-family:var(--f);background:var(--paper);outline:none}
.cmeta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.cmetabox{background:var(--bg2);border-radius:12px;padding:10px 14px;text-align:center}
.cmetalbl{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px}
.cmetaval{font-size:15px;font-weight:600;letter-spacing:-.01em}
.csub-lbl{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.ctotal{font-size:36px;font-weight:700;letter-spacing:-.03em;margin-bottom:4px}
.cdiscl{font-size:12px;color:var(--muted);margin-bottom:18px;line-height:1.5}
.csubmit{width:100%;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:14px;font-size:14px;font-weight:500;border-radius:12px;cursor:pointer;font-family:var(--f);transition:all .2s}
.csubmit:hover{background:var(--ink);color:#fff}

/* HOW */
.how-title{font-size:clamp(32px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin-bottom:52px}
.hsteps{display:grid;grid-template-columns:repeat(5,1fr);gap:24px 24px;grid-template-rows:auto auto}
.hstep-num{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:10px}
.hstep h3{font-size:15px;font-weight:600;margin-bottom:8px;letter-spacing:-.01em}
.hstep p{font-size:13px;color:var(--muted);line-height:1.65}
.hstep-img{background:var(--bg2);border-radius:var(--r);aspect-ratio:3/4;margin-top:0;overflow:hidden}

/* FAQ */
.faq-inner{display:grid;grid-template-columns:260px 1fr;gap:60px}
.faq-side-lbl{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.faq-side-h{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.fqi{border-bottom:1px solid var(--border)}
.fqq{font-size:14px;font-weight:500;padding:17px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:12px;letter-spacing:-.01em}
.fqicon{flex-shrink:0;font-size:18px;color:var(--muted);line-height:1;transition:transform .2s}
.fqi.open .fqicon{transform:rotate(45deg)}
.fqa{font-size:14px;color:var(--muted);line-height:1.65;padding-bottom:17px;display:none}
.fqi.open .fqa{display:block}

/* FOUNDER */
.founder-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:480px;margin-bottom:0}
.founder-img{overflow:hidden}
.founder-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.founder-txt{padding:60px 60px;display:flex;flex-direction:column;justify-content:center}
.founder-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:24px}
.founder-q{font-size:clamp(15px,1.8vw,19px);line-height:1.65;color:var(--ink);margin-bottom:24px}
.founder-sig{font-size:13px;color:var(--muted);font-weight:500}

/* CONTACT */
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact-title{font-size:clamp(28px,3.5vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-bottom:14px}
.contact-sub{font-size:15px;color:var(--muted);line-height:1.6}
.fgroup{margin-bottom:14px}
.flbl{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.finput{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 14px;font-size:14px;font-family:var(--f);background:var(--paper);color:var(--ink);outline:none;transition:border-color .2s}
.finput:focus{border-color:var(--ink)}
.fsubmit{width:100%;background:var(--ink);color:#fff;border:none;padding:14px;font-size:14px;font-weight:500;border-radius:12px;cursor:pointer;font-family:var(--f);transition:background .2s;margin-top:4px}
.fsubmit:hover{background:#2a2a2a}

/* FOOTER */




/* MOBILE */
@media(max-width:900px){
  /* NAV */
  .nw{padding:0 20px}
  .nlinks,.nbtn{display:none}
  .nburger{display:flex}

  /* HERO - full screen, photo behind text */
  .hero{background:#888580;position:relative}
  .hero-right{display:block;position:absolute;inset:0;z-index:0}
  .hslide img{object-position:center center !important;width:100%;height:100%;object-fit:cover}
  .hero-left{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:0 20px 48px;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.3) 50%,transparent 100%)}
  .hero-title{font-size:clamp(36px,10vw,52px);color:#fff}
  .hero-sub{font-size:16px;color:rgba(255,255,255,.8)}
  .hero-eyebrow{color:rgba(255,255,255,.6)}
  .hero-content-wrap{width:100%}

  /* GLOBAL */
  .wrap{padding:0 20px}
  .s-pad{padding:48px 0}
  .s-pad-sm{padding:36px 0}
  .stitle{font-size:clamp(26px,7vw,38px)}

  /* COLLECTION - 2 items visible */
  .coll-head{padding:40px 20px 20px}
  .coll-outer{padding:0 20px}
  .coll-sub{font-size:14px}
  .coll-cta{padding:16px 20px 40px}

  /* PRODUCT CARD */
  .prod-inner{grid-template-columns:1fr;gap:24px;padding:32px 20px}
  .gal-thumbs{gap:6px}
  .gthumb{width:52px;height:66px}
  .prod-name{font-size:24px}
  .prod-desc{font-size:13px}

  /* CRAFT */
  .craft-body{grid-template-columns:1fr;gap:24px;height:auto !important}
  .craft-body > div:first-child{overflow:visible}
  .craft-text-content{max-height:none !important;overflow-y:visible !important}
  .craft-vid-wrap{order:2}
  .craft-body > div:first-child{order:1}
  .craft-tabs{display:flex;overflow-x:auto;gap:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap;border-top:1px solid var(--border);margin:24px -20px 16px;padding:0 20px}
  .craft-tabs::-webkit-scrollbar{display:none}
  .ctab{font-size:12px;padding:12px 16px;flex-shrink:0;white-space:nowrap}
  .craft-title{font-size:clamp(20px,6vw,30px)}

  /* CUSTOMIZATION */
  .custom-grid{grid-template-columns:1fr;gap:1px}
  .custom-item{grid-template-columns:1fr}
  .custom-img-wrap{aspect-ratio:16/9}
  .custom-content{padding:24px 20px}
  .custom-title{font-size:18px}

  /* CALCULATOR */
  .calc-inner{grid-template-columns:1fr;gap:28px;padding:32px 20px}
  .calc-left{min-height:200px;border-radius:12px}
  .calc-left-h{font-size:20px}
  .copts{flex-wrap:wrap}
  .copt{flex:1;min-width:0;padding:9px 4px;font-size:12px}
  .cqty{width:100%}
  .cmeta{gap:8px}

  /* HOW IT WORKS */
  .hsteps{grid-template-columns:1fr;gap:0;display:block}
  .hstep{padding:20px 0;border-bottom:1px solid var(--border)}
  .hstep-img{display:block;aspect-ratio:16/9;margin-top:16px;border-radius:var(--r)}
  .how-title{font-size:clamp(26px,7vw,38px);margin-bottom:28px}
  .how-inner{padding:48px 20px}

  /* FAQ */
  .faq-inner{grid-template-columns:1fr;gap:20px;padding:40px 20px}
  .faq-side-h{font-size:22px}

  /* FOUNDER */
  .founder-wrap{grid-template-columns:1fr;grid-template-rows:300px auto}
  .founder-img img{height:300px;width:100%;object-fit:cover;object-position:center top}
  .founder-txt{padding:32px 20px}
  .founder-q{font-size:14px;line-height:1.6}

  /* CONTACT */
  .contact-inner{grid-template-columns:1fr;gap:36px;padding:40px 20px}
  .contact-title{font-size:clamp(22px,6vw,32px)}

  /* WORKS */
  .works-inner{padding:40px 20px}

  /* FOOTER */
  .footer-main{flex-direction:column;align-items:flex-start;padding:32px 20px;gap:20px}
  .footer-center{flex-direction:column;gap:12px}
  .footer-right{align-items:flex-start}
  .footer-bottom{padding:16px 20px 32px;flex-direction:column;gap:8px;align-items:flex-start}

  /* FORCE PADDING - all text content */
  .craft-block{padding-left:0;padding-right:0}
  .craft-body{padding:0}
  .craft-text-content{padding-right:0}
  
  /* CRAFT - wrap already gives 20px so this just confirms */
  #craft .wrap{padding-left:20px;padding-right:20px}
  
  /* HOW IT WORKS */
  #how .wrap{padding-left:20px;padding-right:20px}
  .hstep{padding-left:0;padding-right:0}
  
  /* CUSTOMIZE - title/subtitle alignment */
  #customize .wrap{padding-left:20px;padding-right:20px}
  .custom-content{padding:20px}
  .custom-grid{margin:0}
}
  
.hero-content-wrap{display:flex;flex-direction:column;align-items:flex-start;width:fit-content}
.hero-content-wrap .hero-btns{width:100%;align-self:stretch}

/* TICKER */
.ticker-wrap{overflow:hidden;background:var(--ink);padding:10px 0;white-space:nowrap}
.ticker{display:inline-flex;animation:ticker 25s linear infinite}
.ticker:hover{animation-play-state:paused}
.ticker-item{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-weight:500;padding:0 32px}
.ticker-item::after{content:'·';margin-left:32px}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}


.craft-body > div:first-child{display:flex;flex-direction:column}
.craft-vid-wrap{align-self:start}




/* CUSTOMIZATION */
.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--border);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.custom-item{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:46vh}
.custom-img-wrap{background:var(--bg2);position:relative;overflow:hidden}
.custom-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.custom-img-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted)}
.custom-img-ph span{writing-mode:horizontal-tb}
.custom-content{padding:32px 28px;display:flex;flex-direction:column;justify-content:flex-start}
.custom-num{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.08em;margin-bottom:8px}
.custom-title{font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.custom-desc{font-size:13px;color:var(--muted);line-height:1.65}
.custom-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:20px}
.custom-swatch{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}
.print-methods{display:flex;flex-direction:column;gap:0;margin-top:16px}
.print-method{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:opacity .15s}
.print-method:first-child{border-top:1px solid var(--border)}
.print-method:hover{opacity:.7}
.print-method.active .print-method-name{color:var(--ink)}
.print-method.active .print-method-desc{color:var(--ink);opacity:.6}
.print-method:not(.active) .print-method-name{color:var(--muted)}
.print-method:not(.active) .print-method-desc{color:var(--muted);opacity:.7}
.print-method-name{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:color .15s}
.print-method-desc{font-size:12px;transition:color .15s}
.print-note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.5}

@media(max-width:900px){
  .custom-grid{grid-template-columns:1fr}
  .custom-item{grid-template-columns:1fr}
  .custom-img-wrap{aspect-ratio:4/3}
}


/* FORM EXTRAS */
.fcheck-wrap{margin:4px 0 16px}
.fcheck-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;color:var(--ink);line-height:1.5}
.fcheck{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--ink);cursor:pointer}
.fattach{display:block;cursor:pointer}
.fattach-inner{border:1px dashed var(--border);border-radius:8px;padding:24px;text-align:center;transition:border-color .2s;display:flex;flex-direction:column;gap:4px;align-items:center}
.fattach:hover .fattach-inner{border-color:var(--muted)}
.fattach-icon{font-size:20px;color:var(--muted)}
.fattach-text{font-size:14px;color:var(--ink);font-weight:500}
.fattach-hint{font-size:12px;color:var(--muted)}


/* FOOTER */
.footer-wrap{border-top:1px solid var(--border);margin-top:40px}
.footer-main{max-width:1400px;margin:0 auto;padding:32px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.footer-logo{font-size:14px;font-weight:700;letter-spacing:-.01em}
.footer-center{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:center}
.footer-center a{font-size:12px;color:var(--muted);text-decoration:none;transition:color .2s;white-space:nowrap}
.footer-center a:hover{color:var(--ink)}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.footer-email{font-size:13px;color:var(--ink);text-decoration:none}
.footer-email:hover{text-decoration:underline}
.footer-socials{display:flex;gap:10px}
.footer-social{color:var(--muted);transition:color .2s;display:flex;align-items:center}
.footer-social:hover{color:var(--ink)}
.footer-bottom{max-width:1400px;margin:0 auto;padding:16px 60px 32px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:12px;color:var(--muted)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:12px;color:var(--muted);text-decoration:none}
.footer-legal a:hover{color:var(--ink)}
@media(max-width:900px){
  .footer-main{flex-direction:column;align-items:flex-start;padding:32px 24px;gap:24px}
  .footer-right{align-items:flex-start}
  .footer-center{gap:6px 16px}
  .footer-bottom{flex-direction:column;gap:12px;align-items:flex-start;padding:16px 24px 32px}
}


.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-info-row{display:flex;flex-direction:column;gap:2px}
.contact-info-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-info-val{font-size:14px;color:var(--ink);text-decoration:none}
.contact-info-val:hover{text-decoration:underline}
.contact-social-link{font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;margin-right:20px;letter-spacing:.04em}
.contact-social-link:hover{color:var(--muted)}


@media(max-width:900px){
  /* GUARANTEE 20px padding on all section content */
  #craft > .wrap,
  #how > .wrap,
  #customize > .wrap,
  #pricing > .wrap,
  #faq > .wrap,
  #works > .wrap,
  #contact > .wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  /* Craft body full width inside padded wrap */
  .craft-body { width: 100%; }
  
  /* How steps full width */
  .hstep { width: 100%; box-sizing: border-box; }
  
  /* Customize grid inside padded wrap */  
  .custom-grid { width: 100%; }
  .custom-content { padding: 20px 16px; }
}


@media(min-width:600px) and (max-width:900px){
  /* TABLET */
  .hsteps{display:block}
  .hstep{padding:20px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
  .hstep-img{margin-top:0;aspect-ratio:1}
  .hstep-num{grid-column:1;grid-row:1}
  .hstep h3{grid-column:1}
  .hstep p{grid-column:1}
  .hstep-img{grid-column:2;grid-row:1/5}
  
  /* Tablet catalog - 3 items */
  .coll-outer{padding:0 20px}
}

/* LIGHTBOX */
#lightbox{
  display:none;position:fixed;inset:0;z-index:1000;
  background:rgba(255,255,255,.97);
  align-items:center;justify-content:center;
}
#lightbox.open{display:flex}
#lightbox-img{
  max-width:90vw;max-height:90vh;
  object-fit:contain;display:block;
  border-radius:8px;
  transition:opacity .2s;
  user-select:none;
}
.lb-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.1);
  color:var(--ink);font-size:24px;
  width:52px;height:52px;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s;
  z-index:1001;
}
.lb-arrow:hover{background:rgba(0,0,0,.12)}
#lb-prev{left:20px}
#lb-next{right:20px}
#lb-close{
  position:absolute;top:20px;right:24px;
  background:none;border:none;color:var(--ink);font-size:28px;
  cursor:pointer;line-height:1;opacity:.5;transition:opacity .2s;
  z-index:1001;
}
#lb-close:hover{opacity:1}
#lb-counter{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  font-size:12px;letter-spacing:.1em;color:var(--muted);
}
@media(max-width:900px){
  .lb-arrow{width:40px;height:40px;font-size:18px}
  #lb-prev{left:8px}
  #lb-next{right:8px}
}

