:root{
  --ink:#111; --paper:#fff; --mist:#f4f4f2; --mist2:#eaeae7; --line:#e6e6e6; --line2:#dedbd6;
  --muted:#8a8a8a; --muted2:#a0a0a0; --muted3:#6e6e6e; --muted4:#5f5f5c; --muted5:#8f8f8b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
a:hover{opacity:.6}
h1,h2,h3,h4,p,dl,dd,dt{margin:0}
button{font-family:inherit}
img{max-width:100%}
.eyebrow{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.wrap{padding-left:clamp(16px,3vw,34px);padding-right:clamp(16px,3vw,34px)}

/* Header */
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}
.nav-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:62px}
.nav-links{display:flex;gap:clamp(12px,1.8vw,26px);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.nav-links a.active{opacity:.5}
.brand{font-size:14px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;white-space:nowrap}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:clamp(12px,1.8vw,24px);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.cta-btn{background:var(--ink);color:#fff;border:none;padding:9px 16px;cursor:pointer;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.cart-btn{background:none;border:none;padding:0;cursor:pointer;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.hairline{height:1px;background:var(--line)}

/* Cart drawer */
.scrim{position:fixed;inset:0;z-index:70;background:rgba(17,17,17,.28);opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);z-index:80;background:#fff;display:flex;flex-direction:column;transform:translateX(101%);transition:transform .38s cubic-bezier(.4,0,.2,1)}
.cart-drawer.open{transform:translateX(0)}
.cart-head{padding:21px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.cart-head span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.cart-head button{background:none;border:none;cursor:pointer;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cart-body{flex:1;overflow-y:auto;padding:0 26px}
.cart-empty{font-size:13px;line-height:1.7;color:var(--muted);margin:28px 0}
.cart-line{display:flex;gap:16px;padding:22px 0;border-bottom:1px solid #eee}
.cart-line .thumb{width:64px;height:80px;flex:none;background:var(--mist) center/cover no-repeat}
.cart-line .info{flex:1;min-width:0}
.cart-line .name{font-size:13.5px}
.cart-line .variant{font-size:11.5px;color:var(--muted);margin-top:3px}
.cart-line .qty-row{display:flex;align-items:center;gap:12px;margin-top:14px}
.cart-line .qty-row button{width:22px;height:22px;border:1px solid #ddd;background:none;cursor:pointer;line-height:1;font-size:12px}
.cart-line .qty-row span{font-size:12.5px;min-width:12px;text-align:center}
.cart-line .qty-row .line-total{margin-left:auto;font-size:12.5px}
.cart-foot{padding:22px 26px 26px;border-top:1px solid var(--line)}
.cart-foot .row{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
.cart-foot .row.ship{font-size:11.5px;color:var(--muted);margin-bottom:18px}
.cart-foot .note{font-size:10.5px;line-height:1.6;color:var(--muted2);margin:12px 0 0}
.checkout-btn{width:100%;padding:15px;background:var(--ink);color:#fff;border:none;cursor:pointer;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;display:block;text-align:center}
.checkout-btn[disabled]{opacity:.4;cursor:default;pointer-events:none}

/* Checkout page */
.checkout-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(40px,5vw,80px);align-items:start}
@media (max-width:860px){.checkout-grid{grid-template-columns:1fr}}
.checkout-grid .col-summary{position:sticky;top:100px}
@media (max-width:860px){.checkout-grid .col-summary{position:static}}

.co-line{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.co-line:first-child{padding-top:0}
.co-line .thumb{width:76px;height:95px;flex:none;background:var(--mist) center/cover no-repeat}
.co-line .info{flex:1;min-width:0;display:flex;flex-direction:column}
.co-line .row-top{display:flex;justify-content:space-between;gap:12px}
.co-line .name{font-size:14px}
.co-line .variant{font-size:11.5px;color:var(--muted);margin-top:3px}
.co-line .price{font-size:13.5px;white-space:nowrap}
.co-qty{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px}
.co-qty button{width:24px;height:24px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.co-qty button:hover{border-color:var(--ink)}
.co-qty span{font-size:12.5px;min-width:14px;text-align:center}
.co-remove{font-size:10.5px;letter-spacing:.06em;color:var(--muted2);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;margin-left:14px}
.co-remove:hover{color:var(--ink)}

.summary-card{border:1px solid var(--line);padding:clamp(24px,3vw,32px);background:#fff}
.summary-card h2{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted2);font-weight:400;margin-bottom:20px}
.summary-row{display:flex;justify-content:space-between;font-size:13px;padding:9px 0;color:var(--muted3)}
.summary-row.total{border-top:1px solid var(--line);margin-top:8px;padding-top:16px;font-size:15px;color:var(--ink)}
.summary-row.total .num{font-weight:600}
.pay-btn{width:100%;padding:16px;background:var(--ink);color:#fff;border:none;cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:18px}
.pay-btn:disabled{opacity:.5;cursor:default}
.pay-btn:hover:not(:disabled){opacity:.88}
.trust-note{font-size:11px;color:var(--muted2);margin-top:16px;text-align:center;line-height:1.6}
.empty-cart{border:1px solid var(--line);padding:clamp(30px,5vw,50px);text-align:center}
.empty-cart p{font-size:13.5px;line-height:1.8;color:var(--muted3);margin-bottom:20px}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.mobile-panel{display:none;flex-direction:column;gap:2px;background:#fff;border-top:1px solid var(--line)}
.mobile-panel a,.mobile-panel button.link{display:block;padding:14px clamp(16px,3vw,34px);font-size:12.5px;letter-spacing:.06em;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer}
.mobile-panel.open{display:flex}
@media (max-width:760px){
  .nav-links{display:none}
  .nav-right a{display:none}
  .nav-row{grid-template-columns:auto 1fr auto}
  .burger{display:block;order:1}
  .brand{order:2;text-align:center;font-size:11px;letter-spacing:.22em}
  .nav-right{order:3;justify-content:flex-end}
}

/* Hero (home) */
.hero{position:relative;height:calc(100vh - 63px);min-height:440px;background:var(--mist);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:760px){
  .hero img{object-position:75% center}
}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.5) 22%,rgba(0,0,0,.16) 45%,rgba(0,0,0,0) 68%)}
.hero .down{position:absolute;right:clamp(16px,3vw,34px);bottom:clamp(20px,3vw,34px);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff}

/* Page hero (inner pages) */
.page-hero{padding:clamp(40px,6vw,88px) 0 clamp(26px,4vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,4vw,60px);align-items:end}
.page-hero h1{font-size:clamp(26px,4.2vw,58px);line-height:1.08;letter-spacing:-.025em;max-width:22ch;font-weight:400}
.page-hero p{font-size:13.5px;line-height:1.8;color:var(--muted3);max-width:52ch}
.page-hero.stack{grid-template-columns:1fr;align-items:center;justify-items:center;text-align:center;gap:14px;padding:clamp(28px,4vw,48px) 0 clamp(18px,2.5vw,26px)}
.page-hero.stack h1{margin:0 auto}
.page-hero.stack p{max-width:60ch;margin:0 auto;text-align:left}
.page-hero.stack.match-width h1{max-width:none;white-space:nowrap;font-size:clamp(26px,4.7vw,44px)}
.page-hero.stack.match-width p{margin:0 auto;text-align:left}
@media (max-width:1040px){
  .page-hero.stack.match-width h1{white-space:normal;font-size:clamp(20px,5.5vw,28px);max-width:100%}
  .page-hero.stack.match-width p{max-width:100% !important}
}
.page-hero.stack p.one-line{max-width:none;white-space:nowrap}
@media (max-width:900px){
  .page-hero.stack p.one-line{white-space:normal;max-width:60ch}
}

/* Collections grid (home) */

/* Section titles */
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:clamp(20px,3vw,32px)}
.section-head .nav-arrows{display:flex;gap:18px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.section-head button{background:none;border:none;padding:0;cursor:pointer;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.section-head button:disabled{color:var(--muted2);cursor:default;opacity:.5}
.section-lede{font-size:clamp(18px,2.6vw,32px);line-height:1.3;letter-spacing:-.015em;margin:4px 0 16px;white-space:nowrap}
.section-intro{font-size:13.5px;line-height:1.8;color:var(--muted3);margin:0 0 clamp(24px,3vw,36px)}
@media (max-width:760px){
  .section-lede{white-space:normal;font-size:clamp(18px,5vw,26px)}
  .section-intro{max-width:100% !important}
}

section{padding:clamp(56px,8vw,120px) 0}
section.tight{padding-top:0}
section.tight-bottom{padding-bottom:clamp(24px,3vw,34px)}

/* Carousel (home) */
.track-outer{overflow:hidden}
.track{display:flex;gap:clamp(12px,1.6vw,22px);transition:transform .55s cubic-bezier(.4,0,.2,1)}
.proj-card{flex:0 0 clamp(240px,26vw,400px);display:block}
.proj-box{aspect-ratio:3/4;background:var(--mist) center/cover no-repeat}
.proj-meta{display:flex;justify-content:space-between;gap:12px;margin-top:12px}
.proj-meta span:first-child{font-size:13px}
.proj-meta span:last-child{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}
.proj-card p{font-size:12.5px;line-height:1.6;color:var(--muted3);margin-top:4px}

/* Boutique teaser (home) */
.link-underline{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px}
.products{display:flex;flex-wrap:wrap;gap:clamp(12px,1.6vw,22px)}
.product{flex:0 0 clamp(240px,26vw,400px);display:flex;flex-direction:column}
.product .box{display:block;aspect-ratio:3/4;background:var(--mist) center/cover no-repeat}
.product .meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.product .meta span{font-size:13px}
.product p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:4px;flex:1}
@media (max-width:760px){
  .section-head .nav-arrows{display:none}
  .track-outer{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .track{scroll-snap-type:x proximity}
  .proj-card{scroll-snap-align:start}
  .products{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .product{scroll-snap-align:start}
}
.btn-line{margin-top:14px;padding:11px;background:none;border:1px solid var(--ink);cursor:pointer;font-size:10px;letter-spacing:.16em;text-transform:uppercase;display:inline-block;text-align:center}
.btn-line:hover{background:var(--ink);color:#fff;opacity:1}
.btn-line.btn-lg{padding:15px 28px;font-size:10.5px}

/* Savoir-faire teaser (home) */
.savoir{background:var(--mist)}
.savoir-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,4vw,64px);align-items:start}
.savoir-img{aspect-ratio:4/5;background:var(--mist2);overflow:hidden}
.savoir-img img{width:100%;height:100%;object-fit:cover;display:block}
.savoir-text{max-width:50ch}
.savoir-text h2.title{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:var(--muted5);margin-bottom:26px}
.savoir-text p.lede{font-size:clamp(20px,2.6vw,32px);line-height:1.3;letter-spacing:-.015em;margin-bottom:22px}
.savoir-text p.desc{font-size:13.5px;line-height:1.85;color:var(--muted4);margin-bottom:16px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;border-top:1px solid var(--line2);padding-top:20px;margin:12px 0 28px}
.stats .num{font-size:26px;letter-spacing:-.02em}
.stats .lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted5);margin-top:5px}

/* Pro section (home) */
.pro-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:clamp(26px,4vw,44px)}
.pro-head span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.pro-claim{font-size:clamp(24px,3.6vw,50px);line-height:1.15;letter-spacing:-.02em;max-width:26ch;margin-bottom:clamp(32px,5vw,60px)}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(22px,3vw,48px)}
.pro-item{border-top:1px solid var(--line);padding-top:18px}
.pro-item .idx{font-size:10.5px;color:#b0b0b0;margin-bottom:12px}
.pro-item h3{font-size:14px;font-weight:400;margin-bottom:10px}
.pro-item p{font-size:12.5px;line-height:1.8;color:var(--muted3)}
.pro-actions{margin-top:clamp(30px,4vw,52px);display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center}
.btn-dark{background:var(--ink);color:#fff;padding:15px 28px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;border:none;cursor:pointer;display:inline-block}

/* Partners */
#partenaires{padding-top:clamp(20px,2.5vw,32px)}
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line)}
.partner-tile{background:#fff;height:104px;display:grid;place-items:center;padding:14px 22px}
.partner-tile img{max-height:56px;width:auto;max-width:115px;object-fit:contain}

/* Closing CTA band */

/* Forms (contact) */
.field{margin-bottom:18px}
.field label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted3);margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;border:1px solid #ddd;background:#fff;padding:11px 12px;font-size:13.5px;font-family:inherit;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--ink);outline-offset:1px}
.field textarea{resize:vertical;min-height:96px}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px}
.submit-btn{width:100%;padding:15px;background:var(--ink);color:#fff;border:none;cursor:pointer;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.submit-btn:disabled{opacity:.5;cursor:default}
.form-status{margin-top:14px;font-size:12.5px;line-height:1.6;min-height:1em}
.chip{display:none;align-items:center;gap:10px;background:#fff;border:1px solid var(--ink);padding:10px 14px;font-size:12px;margin-bottom:18px}
.chip.show{display:inline-flex}
.chip button{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:0}
.success-box{border:1px solid var(--line);padding:clamp(26px,4vw,42px)}
.success-box h2{font-size:22px;font-weight:400;letter-spacing:-.015em;margin-bottom:12px}
.success-box p{font-size:13.5px;line-height:1.85;color:var(--muted3);margin-bottom:22px}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,80px)}
#contactForm{display:grid;gap:22px}
.info-list{border-top:1px solid var(--line)}
.info-row{padding:16px 0;border-bottom:1px solid var(--line)}
.info-row .lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted2);margin-bottom:5px}
.info-row a,.info-row span{font-size:14px}

/* Boutique page */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(22px,3vw,44px)}
.shop-card{display:flex;flex-direction:column}
.shop-card .main-box{aspect-ratio:4/5;background:var(--mist) center/cover no-repeat;cursor:zoom-in}
.shop-thumbs{display:flex;align-items:center;gap:4px;margin-top:6px}
.thumb-track-outer{overflow:hidden;flex:1;min-width:0}
.thumb-track{display:flex;gap:6px;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.thumb-track div{flex:0 0 72px;aspect-ratio:1;background:var(--mist) center/cover no-repeat;cursor:zoom-in}
.thumb-nav{flex:none;background:none;border:none;cursor:pointer;font-size:17px;color:var(--muted3);padding:0 4px;line-height:1;height:72px}
.thumb-nav:disabled{opacity:.2;cursor:default}
.thumb-nav:hover:not(:disabled){color:var(--ink)}
.shop-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.shop-head h2{font-size:clamp(17px,1.9vw,22px);font-weight:400;letter-spacing:-.01em}
.shop-card p.desc{font-size:13.5px;line-height:1.8;color:var(--muted4);margin:18px 0 20px;min-height:5.4em}
.specs{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:12.5px;margin-bottom:24px}
.specs dt{color:var(--muted2);font-size:10px;letter-spacing:.14em;text-transform:uppercase;align-self:center}
.faq-list{max-width:1000px}
.faq-row{border-top:1px solid var(--line2);padding:22px 0;display:grid;grid-template-columns:minmax(170px,1fr) 2fr;gap:16px 40px}
.faq-row h3{font-size:13.5px;font-weight:400}
.faq-row p{font-size:13px;line-height:1.8;color:var(--muted4)}
@media (max-width:900px){
  .faq-row{grid-template-columns:1fr;gap:8px}
}

/* Realisations page */
.filter-row{display:flex;flex-wrap:wrap;gap:22px;border-bottom:1px solid var(--line);padding-bottom:12px}
.filter-btn{background:none;border:none;padding:0;cursor:pointer;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#a8a8a3}
.filter-btn.active{color:var(--ink)}
.real-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,420px));gap:clamp(24px,3vw,48px)}
.real-card{display:block}
.real-card:hover{opacity:1}
.real-card .img-box{position:relative;aspect-ratio:4/5;background:var(--mist) center/cover no-repeat}
.cat-tag{position:absolute;top:12px;left:12px;background:#fff;color:var(--ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px}
.real-card:hover .img-box{opacity:.85}
.real-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.real-head h2{font-size:17px;font-weight:400;letter-spacing:-.01em}
.real-head span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.real-card p.desc{font-size:13px;line-height:1.8;color:var(--muted4);margin-top:14px}
.real-card p.credit{font-size:11.5px;line-height:1.7;color:var(--muted2);margin-top:10px}
.steps-list{max-width:1000px}
.step-row{border-top:1px solid var(--line2);padding:22px 0;display:grid;grid-template-columns:auto minmax(130px,1fr) 2fr;gap:14px 34px;align-items:baseline}
.step-row .n{font-size:11px;color:#a8a8a3}
.step-row h3{font-size:13.5px;font-weight:400}
.step-row p{font-size:13px;line-height:1.8;color:var(--muted4)}
@media (max-width:900px){
  .step-row{grid-template-columns:auto 1fr;gap:6px 14px}
  .step-row p{grid-column:1/-1;margin-top:2px}
}

/* Atelier page */
.craft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(20px,3vw,42px)}
.craft-box{aspect-ratio:1;margin-bottom:14px;background:var(--mist2) center/cover no-repeat}
.craft-item h3{font-size:15px;font-weight:400;letter-spacing:-.01em}
.craft-item .fr{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted5);margin:5px 0 11px}
.craft-item p{font-size:12.5px;line-height:1.8;color:var(--muted4)}
.craft-item.round{text-align:center}
.craft-item.round .craft-box{width:132px;height:132px;border-radius:50%;margin:0 auto 18px}
.craft-item.round .jp-kana{font-weight:400;color:var(--muted2);font-size:13px;margin-left:5px}
.craft-item.round p{text-align:left}
.wood-row{border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:minmax(84px,auto) 1fr;gap:14px 26px}
.wood-row span:first-child{font-size:13px}
.wood-row span:last-child{font-size:12.5px;line-height:1.75;color:var(--muted3)}

/* Footer */
footer.site{background:#fff;border-top:1px solid var(--line);padding:clamp(46px,6vw,80px) 0 26px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:38px 28px}
.foot-brand{font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;margin-bottom:14px}
.foot-desc{font-size:12.5px;line-height:1.75;color:var(--muted);max-width:28ch;margin:0}
.foot-logo{height:136px;width:auto;display:block;margin-left:22px}
.foot-col-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);margin-bottom:14px}
.foot-links{display:flex;flex-direction:column;gap:9px;font-size:12.5px}
.foot-atelier{display:flex;flex-direction:column;gap:9px;font-size:12.5px;color:#555}
.foot-icons{display:flex;gap:14px}
.foot-icons a{width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--ink)}
.foot-icons a:hover{opacity:.75}
.foot-icons svg{width:16px;height:16px}
.foot-news p{font-size:12.5px;line-height:1.7;color:var(--muted);margin:0 0 14px}
.news-form{display:flex;border-bottom:1px solid #ddd}
.news-form input{flex:1;background:none;border:none;padding:8px 0;font-size:12.5px;outline:none;color:var(--ink)}
.news-form button{background:none;border:none;cursor:pointer;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.news-status{font-size:11px;color:var(--muted3);margin-top:8px;min-height:1em}
.foot-bottom{margin-top:clamp(38px,5vw,64px);padding-top:18px;border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:10.5px;letter-spacing:.05em;color:var(--muted2)}
.foot-bottom .push{margin-left:auto}

/* Lightbox */
.shop-card .main-box,.shop-swatches div{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,10,10,.94);display:none;align-items:center;justify-content:center;padding:clamp(20px,5vw,60px)}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;display:block;user-select:none}
.lightbox-media{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.lightbox-media img,.lightbox-media video{max-width:100%;max-height:85vh;object-fit:contain;display:block;cursor:default}
.media-thumb{position:relative}
.media-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.media-play::after{content:"";width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 0 3px rgba(0,0,0,.6))}
.lb-play-toggle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:none;border:none;padding:0}
.lb-play-toggle .icon{width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}
.lb-play-toggle .icon::after{content:"";width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff;margin-left:4px}
.lb-play-toggle.playing .icon{display:none}
.lightbox-close{position:absolute;top:18px;right:20px;z-index:2;background:none;border:none;color:#fff;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:10px}
.lightbox-nav{position:absolute;top:0;bottom:0;width:64px;z-index:1;background:none;border:none;color:#fff;font-size:30px;cursor:pointer;line-height:1;opacity:.85;display:flex;align-items:center}
.lightbox-nav:hover{opacity:1}
.lightbox-prev{left:0;justify-content:flex-start;padding-left:14px}
.lightbox-next{right:0;justify-content:flex-end;padding-right:14px}
.lightbox-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#fff;font-size:10.5px;letter-spacing:.14em}
@media (max-width:600px){
  .lightbox-nav{font-size:24px;padding:8px 10px}
  .lightbox-close{top:10px;right:12px}
}

/* Project detail page */
.pd-detail{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.pd-media{display:flex;flex-direction:column;gap:2px}
.pd-media img{width:100%;display:block}
.pd-info{position:sticky;top:63px;padding:clamp(50px,7vw,90px) clamp(28px,3vw,48px);text-align:center;display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 63px)}
.pd-info h1{font-size:clamp(26px,2.6vw,34px);line-height:1.2;letter-spacing:-.01em;font-weight:400;margin-bottom:14px}
.pd-meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin-bottom:26px}
.pd-desc{font-size:13.5px;line-height:1.85;color:var(--muted4);max-width:36ch;margin-bottom:16px;text-align:left}
.pd-credit{font-size:11.5px;color:var(--muted2);margin-bottom:28px}
@media (max-width:900px){
  .pd-detail{grid-template-columns:1fr}
  .pd-info{position:static;min-height:0;padding:clamp(32px,6vw,48px) clamp(16px,3vw,34px)}
}

.proj-edge-nav{position:fixed;bottom:24px;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:22px;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.proj-edge-nav:hover{background:var(--ink);color:#fff;opacity:1}
.proj-edge-prev{left:24px}
.proj-edge-next{right:24px}
@media (max-width:600px){
  .proj-edge-nav{width:40px;height:40px;font-size:18px;bottom:16px}
  .proj-edge-prev{left:12px}
  .proj-edge-next{right:12px}
}

/* Legal pages */
.legal-list{padding-bottom:clamp(56px,8vw,100px)}
.legal-section{border-top:1px solid var(--line);padding:24px 0}
.legal-section .n{font-size:10.5px;color:var(--muted2);margin-bottom:8px}
.legal-section h2{font-size:14px;font-weight:400;letter-spacing:-.005em;margin-bottom:10px}
.legal-section p{font-size:13px;line-height:1.85;color:var(--muted4)}
.legal-block{padding-bottom:clamp(56px,8vw,100px)}
.legal-block h2{font-size:14px;font-weight:400;margin:32px 0 12px;padding-top:20px;border-top:1px solid var(--line)}
.legal-block h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal-block p{font-size:13px;line-height:1.85;color:var(--muted4);margin-bottom:10px}
.legal-block a{border-bottom:1px solid var(--muted2)}
