﻿:root{
  --bg:#ffffff;
  --text:#161616;
  --muted:#5f5b57;
  --line:rgba(22,22,22,.12);
  --accent:#d65f4d;
  --soft:#f6f3f1;
  --shadow:0 10px 28px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",sans-serif;
  color:var(--text);
  background:var(--bg);
  letter-spacing:0;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1260px,calc(100% - 60px));margin:0 auto}
.section{padding:42px 0}
.hidden{display:none}

.site-header{
  background:#fff;
  border-bottom:1px solid rgba(22,22,22,.08);
}
.header-inner{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.brand{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  line-height:0;
}
.brand-logo{
  width:132px;
  height:72px;
  max-width:none;
  max-height:72px;
  object-fit:contain;
}
.site-nav{display:flex;gap:48px;align-items:center;justify-content:center;flex-wrap:wrap}
.site-nav a{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.18em;
  padding:8px 0 12px;
  position:relative;
}
.site-nav a.active::after,
.site-nav a:hover::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:48px;
  height:2px;
  background:var(--accent);
}

.hero{
  position:relative;
  min-height:640px;
  overflow:hidden;
  border-bottom:1px solid rgba(22,22,22,.08);
  background:#fff;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:contrast(1.02) saturate(.96);
}
.hero-overlay{
  position:relative;
  z-index:2;
  width:min(100%,1260px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:flex-start;
}
.hero-overlay::before{
  content:none;
}
.hero-copy{
  position:relative;
  z-index:2;
  width:min(400px,32%);
  margin:0;
  padding:88px 0 88px 54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
}
.hero-copy .text{max-width:330px}
.section-kicker,
.center-title{
  margin:0 0 12px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:#252525;
}
.section-kicker::after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  background:var(--accent);
  margin-top:14px;
}
h1{
  margin:0 0 20px;
  font-size:60px;
  line-height:1;
  letter-spacing:.1em;
  font-weight:400;
  position:relative;
  padding-bottom:18px;
}
h1::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:2px;
  background:var(--accent);
}
.lead{
  margin:0 0 20px;
  font-size:14px;
  line-height:2;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:500;
}
.text{
  margin:0 0 18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.95;
  font-weight:400;
}

.hero-contact{
  min-height:430px;
}
.hero-overlay-contact{
  align-items:center;
}
.hero-copy-contact{
  width:min(420px,34%);
  padding-top:58px;
  padding-bottom:58px;
}
.hero-copy-contact .text{
  max-width:360px;
}

.story-grid{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:52px;
  align-items:start;
}
.story-shell{
  padding-top:58px;
  padding-bottom:56px;
  background:#fff;
}
.story-layout{
  display:grid;
  grid-template-columns:minmax(340px,360px) minmax(420px,1fr);
  gap:42px 64px;
  align-items:start;
}
.story-text{
  padding-top:2px;
  max-width:360px;
}
.story-text .text{max-width:320px}
.signature{
  margin:28px 0 4px;
  font-family:cursive;
  font-size:42px;
  line-height:1;
  color:#2b2b2b;
}
.signature-note{
  margin:0;
  font-size:14px;
  color:var(--muted);
}
.photo-placeholder{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.story-photo{
  min-height:410px;
  background:url('../img/hero-sculpture.jpg') center/cover no-repeat;
}
.story-photo--bw{
  filter:grayscale(1) contrast(1.05);
}
.story-claim{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  margin-top:2px;
}
.story-claim .center-title{
  margin:0;
  letter-spacing:.22em;
}
.principles-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(22,22,22,.08);
  border-bottom:1px solid rgba(22,22,22,.08);
  margin-top:4px;
}
.principle{
  min-height:210px;
  padding:28px 18px 16px;
  text-align:center;
  border-right:1px solid rgba(22,22,22,.08);
}
.principle:last-child{border-right:none}
.icon{
  width:34px;height:34px;margin:0 auto 16px;
  display:grid;place-items:center;
  font-size:20px;color:#222;
}
.principle h3{
  margin:0 0 10px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-weight:500;
}
.principle p{
  margin:0 auto;
  max-width:220px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}

.insp-grid{
  display:grid;
  grid-template-columns:1.15fr .9fr 1fr;
  gap:18px;
  align-items:stretch;
}
.tile{
  min-height:300px;
}
.photo-left{
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(247,244,240,.18)),
    url('../img/hero-sculpture.jpg') center/cover no-repeat;
  filter:grayscale(1) contrast(1.05);
}
.photo-right{
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(247,244,240,.18)),
    url('../img/hero-sculpture.jpg') center/cover no-repeat;
  filter:grayscale(1) contrast(1.05);
}
.text-tile{
  padding:28px 30px;
  background:#f5f0ee;
  border:none;
  box-shadow:none;
}
.text-tile .text{max-width:100%}
.strong{font-weight:700;color:#222}

.cta{
  background:#f5f0ee;
  border-top:1px solid rgba(22,22,22,.08);
  border-bottom:1px solid rgba(22,22,22,.08);
  padding:28px 0;
}
.cta-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr auto;
  gap:28px;
  align-items:center;
}
.cta-title{
  margin:0;
  font-size:23px;
  line-height:1.35;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.cta-desc .text{max-width:260px;margin:0}
.cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:240px;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(22,22,22,.28);
  background:#fff;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  box-shadow:none;
}
.cta-button span{margin-left:14px}

.contact-panel{
  background:#fff;
  padding:0;
}
.contact-grid-page{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:0;
  align-items:stretch;
  background:#fff;
}
.contact-info{
  padding:42px 42px 34px 58px;
  border-right:1px solid rgba(22,22,22,.08);
}
.contact-info .section-kicker,
.contact-form-page .section-kicker{
  margin-bottom:24px;
}
.contact-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:16px;
  margin-bottom:24px;
}
.contact-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:#333;
  font-size:18px;
}
.contact-item h3,
.mini-feature h3{
  margin:0 0 8px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:500;
}
.contact-item p,
.mini-feature p{
  margin:0;
  font-size:13px;
  line-height:1.75;
  color:var(--muted);
}
.follow-row{
  padding-top:14px;
  margin-top:22px;
  border-top:1px solid rgba(22,22,22,.08);
}
.follow-title{
  margin:0 0 14px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.footer-social-contact{
  gap:16px;
  justify-content:flex-start;
}
.contact-form-page{
  padding:42px 58px 34px 34px;
  background:#fff;
}
.contact-form-page input,
.contact-form-page select,
.contact-form-page textarea{
  width:100%;
  border:1px solid rgba(22,22,22,.12);
  background:#fff;
  padding:13px 14px;
  margin-bottom:14px;
  color:#222;
  font:inherit;
  border-radius:0;
}
.contact-form-page textarea{resize:vertical;min-height:155px}
.contact-form-page select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, #666 50%), linear-gradient(135deg, #666 50%, transparent 50%);background-position:calc(100% - 18px) 55%, calc(100% - 12px) 55%;background-size:6px 6px, 6px 6px;background-repeat:no-repeat}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.submit-btn{
  margin-top:4px;
  width:100%;
  min-height:46px;
  border:none;
  background:#000;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  cursor:pointer;
}

.home-page{
  background:#fff;
}
.home-hero{
  position:relative;
  min-height:675px;
  overflow:hidden;
  border-bottom:1px solid rgba(22,22,22,.08);
}
.home-hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(1.04);
}
.home-hero-inner{
  position:relative;
  z-index:1;
  min-height:675px;
  display:flex;
  align-items:center;
}
.home-hero-copy{
  width:min(520px,48%);
  padding-left:34px;
}
.home-hero-copy h1{
  margin-bottom:32px;
  font-size:45px;
  letter-spacing:.24em;
  white-space:nowrap;
}
.home-hero-copy h1::after{
  bottom:-14px;
  width:62px;
}
.home-hero-copy .lead{
  margin-bottom:34px;
  font-size:19px;
  line-height:1.55;
  letter-spacing:.32em;
}
.home-btn{
  min-width:220px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:0 20px;
  border:1px solid #000;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.home-btn-dark{
  background:#000;
  color:#fff;
}
.home-about{
  padding:70px 0 76px;
  border-bottom:1px solid rgba(22,22,22,.08);
}
.home-about-grid{
  display:grid;
  grid-template-columns:minmax(250px,330px) 1fr;
  gap:74px;
  align-items:center;
}
.home-about-copy{
  padding-left:24px;
}
.home-about-copy .section-kicker{
  font-size:24px;
  letter-spacing:.24em;
  margin-bottom:30px;
}
.home-about-copy .section-kicker::after{
  width:58px;
  margin-top:20px;
}
.home-about-copy .text{
  max-width:300px;
}
.home-about-copy .home-btn{
  margin-top:18px;
}
.home-about-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.home-about-images img,
.home-gallery-grid img{
  width:100%;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(1.06);
}
.home-about-images img{
  aspect-ratio:1.15 / 1;
}
.home-gallery{
  padding:44px 0 58px;
  border-bottom:1px solid rgba(22,22,22,.08);
}
.home-gallery-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.home-gallery-grid img{
  aspect-ratio:1.55 / 1;
}

.bottom-band{
  position:relative;
  overflow:hidden;
  background:url('../img/hero-sculpture.jpg') center/cover no-repeat;
  padding:28px 0;
  border-top:1px solid rgba(22,22,22,.08);
  border-bottom:1px solid rgba(22,22,22,.08);
}
.bottom-band::before{
  content:none;
}
.bottom-band > .container{
  position:relative;
  z-index:1;
  background:transparent;
}
.bottom-band-grid{
  display:block;
}
.bottom-band-text{
  max-width:760px;
  padding:18px 0 10px 38px;
  background:transparent;
}
.band-title{
  margin:0 0 18px;
  font-size:23px;
  line-height:1.28;
  letter-spacing:.18em;
  text-transform:uppercase;
  max-width:360px;
}
.band-desc{max-width:340px;margin-bottom:26px}
.mini-features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.mini-feature{
  padding-right:12px;
  border-right:1px solid rgba(22,22,22,.12);
}
.mini-feature:last-child{border-right:none}
.mini-feature .icon{
  width:30px;height:30px;margin:0 0 12px;
  font-size:18px;
}
.bottom-band-photo{display:none}

.catalog-hero{
  min-height:360px;
}
.catalog-hero .hero-copy{
  width:min(450px,36%);
  padding-top:78px;
  padding-bottom:78px;
}
.catalog-hero .hero-copy .text{
  max-width:320px;
}
.catalog-shell{
  padding:0;
}
.catalog-tabs{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  padding:16px 0 24px;
}
.catalog-tab{
  min-height:34px;
  padding:0 16px;
  border:1px solid transparent;
  background:transparent;
  color:#262626;
  text-transform:uppercase;
  letter-spacing:.16em;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.catalog-tab.active{
  background:#000;
  color:#fff;
}
.catalog-shell .catalog-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:8px;
  align-items:start;
}
.catalog-shell .catalog-item{
  display:flex;
  flex-direction:column;
  border:1px solid rgba(22,22,22,.08);
  background:#fff;
  overflow:hidden;
  min-width:0;
  width:100%;
  align-self:start;
}
.catalog-shell .catalog-item.hidden{display:none !important}
.catalog-shell .catalog-item-media{
  display:block;
  width:100%;
  aspect-ratio:1 / 1.08;
  overflow:hidden;
  line-height:0;
}
.catalog-shell .catalog-item-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.catalog-shell .catalog-item-body{
  padding:10px 14px 12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.catalog-shell .catalog-item-title{
  margin:0 !important;
  font-size:12px;
  line-height:1.1;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;
}
.catalog-shell .catalog-item-dimensions{
  margin:0 !important;
  font-size:11px;
  line-height:1.5;
  color:var(--muted);
}
.catalog-shell .catalog-item-price{
  margin:0 !important;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.catalog-shell .catalog-item-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px;
  min-height:34px;
  width:max-content;
  padding:0 14px;
  border:1px solid #000 !important;
  background:#000 !important;
  color:#fff !important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
  text-decoration:none !important;
  margin-top:4px;
}
.catalog-shell .catalog-item-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.catalog-bottom{
  margin-top:0;
}
.catalog-bottom .bottom-band-text{
  padding:32px 34px 26px 56px;
}
.catalog-bottom .band-title{
  position:relative;
  padding-left:22px;
  margin-bottom:18px;
  max-width:390px;
}
.catalog-bottom .band-title::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:2px;
  height:72px;
  background:var(--accent);
}
.catalog-bottom .band-desc{
  max-width:340px;
  margin-left:22px;
}
.catalog-bottom .mini-features{
  margin-top:26px;
}
.site-footer{
  padding:22px 0 28px;
}
.footer-inner{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:24px;
  align-items:center;
  font-size:12px;
  color:#222;
}
.footer-links,
.footer-social{
  display:flex;
  gap:34px;
  align-items:center;
  justify-content:center;
}
.footer-links a{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.footer-social a{
  width:34px;height:34px;
  display:grid;place-items:center;
  color:#222;
  border:1px solid rgba(22,22,22,.14);
  border-radius:50%;
  background:#fff;
  transition:.2s ease;
}
.footer-social a:hover{
  transform:translateY(-1px);
  border-color:rgba(22,22,22,.3);
}
.footer-social svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:1.7;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  overflow:visible;
}

.legal{
  padding:0;
  height:0;
  overflow:hidden;
}

.product-page{
  background:#fff;
}
.product-intro{
  padding:28px 0 42px;
  border-bottom:1px solid rgba(22,22,22,.08);
}
.breadcrumbs{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px;
  color:#333;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.breadcrumbs a:hover{
  color:var(--accent);
}
.product-hero-grid{
  display:grid;
  grid-template-columns:minmax(380px,1.2fr) minmax(110px,160px) minmax(280px,.88fr);
  gap:22px;
  align-items:start;
}
.product-gallery{
  display:contents;
}
.product-main-img,
.product-thumbs img,
.product-wide-img,
.product-detail-images img{
  width:100%;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(1.05);
}
.product-main-img{
  aspect-ratio:1 / 1.2;
  min-height:480px;
}
.product-thumbs{
  display:grid;
  gap:22px;
}
.product-thumbs img{
  aspect-ratio:1 / 1;
}
.product-summary{
  padding:4px 0 0 10px;
}
.product-summary h1{
  margin-bottom:28px;
  font-size:34px;
  line-height:1.1;
  letter-spacing:.22em;
  white-space:normal;
}
.product-summary h1::after{
  bottom:-12px;
}
.product-price{
  margin:34px 0 4px;
  font-size:18px;
  font-weight:700;
  letter-spacing:.04em;
}
.product-tax{
  margin:0 0 22px;
  color:var(--muted);
  font-size:11px;
}
.product-actions{
  display:grid;
  gap:14px;
  margin-bottom:32px;
}
.product-btn{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 18px;
  border:1px solid rgba(22,22,22,.28);
  background:#fff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.product-btn-dark{
  border-color:#000;
  background:#000;
  color:#fff;
}
.product-specs{
  display:grid;
  gap:20px;
  margin:0;
}
.product-specs div{
  position:relative;
  padding-left:34px;
}
.product-specs div::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  width:18px;
  height:18px;
  border:1px solid rgba(22,22,22,.32);
  border-radius:50%;
}
.product-specs dt{
  margin-bottom:4px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
}
.product-specs dd{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}
.product-story,
.product-detail-section{
  padding:42px 0;
  border-bottom:1px solid rgba(22,22,22,.08);
}
.product-story-grid{
  display:grid;
  grid-template-columns:minmax(260px,360px) 1fr;
  gap:72px;
  align-items:start;
}
.product-copy{
  padding-top:8px;
}
.product-copy .text{
  max-width:360px;
  line-height:1.8;
}
.product-copy p:not(.section-kicker){
  max-width:360px;
  margin:0 0 18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}
.product-wide-img{
  aspect-ratio:2.3 / 1;
  min-height:320px;
}
.product-detail-grid{
  display:grid;
  grid-template-columns:minmax(230px,310px) 1fr;
  gap:60px;
  align-items:start;
}
.product-detail-copy h2{
  margin:20px 0 6px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.product-detail-copy .text{
  margin-bottom:10px;
}
.product-detail-images{
  display:grid;
  grid-template-columns:1.15fr .9fr;
  gap:24px;
}
.product-detail-main{
  aspect-ratio:1 / 1.05;
  height:100%;
}
.product-detail-stack{
  display:grid;
  gap:24px;
}
.product-detail-stack img{
  aspect-ratio:1.45 / 1;
}

.atelier-collection{
  background:#fff;
}
.atelier-hero{
  position:relative;
  min-height:380px;
  overflow:hidden;
  border-bottom:1px solid rgba(22,22,22,.08);
  background:#efefef;
}
.atelier-hero__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:grayscale(1) contrast(1.03);
}
.atelier-hero__inner{
  position:relative;
  z-index:1;
  min-height:380px;
  display:flex;
  align-items:flex-start;
}
.atelier-hero__copy{
  width:min(480px,38%);
  padding:76px 0 72px 36px;
}
.atelier-hero__eyebrow{
  margin:0 0 14px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.28em;
  color:#222;
}
.atelier-hero__copy h1{
  font-size:56px;
  letter-spacing:.18em;
}
.atelier-panel{
  padding:18px 0 0;
}
.atelier-filters{
  display:flex;
  justify-content:center;
  gap:12px 14px;
  flex-wrap:wrap;
  padding:12px 0 22px;
}
.atelier-filter{
  min-height:34px;
  padding:0 15px;
  border:1px solid transparent;
  background:transparent;
  color:#222;
  text-transform:uppercase;
  letter-spacing:.16em;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.atelier-filter.is-active{
  background:#000;
  color:#fff;
}
.atelier-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.atelier-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#fff;
  border:1px solid rgba(22,22,22,.08);
  overflow:hidden;
}
.atelier-card.hidden{
  display:none !important;
}
.atelier-card__media{
  display:block;
  width:100%;
  aspect-ratio:1 / 1.12;
  overflow:hidden;
}
.atelier-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:grayscale(1) contrast(1.04);
}
.atelier-card__body{
  padding:14px 16px 16px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}
.atelier-card__meta{
  display:grid;
  gap:4px;
}
.atelier-card__title{
  margin:0;
  font-size:13px;
  line-height:1.2;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:600;
}
.atelier-card__dimensions{
  margin:0;
  font-size:11px;
  line-height:1.55;
  color:var(--muted);
}
.atelier-card__price{
  margin:0;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
}
.atelier-card__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  align-self:flex-start;
  min-height:34px;
  padding:0 14px;
  border:1px solid #000;
  background:#000;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.atelier-card__link:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.atelier-card--empty{
  min-height:180px;
}
.atelier-bottom{
  margin-top:32px;
}
.atelier-bottom .bottom-band-text{
  padding:32px 34px 26px 56px;
}

@media (max-width: 1100px){
  .site-nav{gap:26px}
  .hero{min-height:560px}
  .hero-copy{padding:72px 28px 72px 34px;width:min(420px,40%)}
  .contact-grid-page{
    grid-template-columns:1fr;
  }
  .contact-info{
    border-right:none;
    border-bottom:1px solid rgba(22,22,22,.08);
    padding:36px 36px 28px;
  }
  .contact-form-page{padding:36px}
  .bottom-band-text{padding:0 28px 10px}
  .catalog-bottom .bottom-band-text{padding:28px 24px 18px}
  .catalog-bottom .band-title{padding-left:18px}
  .catalog-bottom .band-title::before{height:64px}
  .catalog-bottom .band-desc{margin-left:18px}
  .mini-features{grid-template-columns:1fr 1fr 1fr}
  .story-layout,
  .cta-grid,
  .insp-grid,
  .footer-inner{
    grid-template-columns:1fr;
  }
  .story-photo,
  .story-text{
    max-width:none;
  }
  .principles-grid{grid-template-columns:repeat(2,1fr)}
  .cta-button{min-width:0;width:100%}
  .cta-desc .text{max-width:none}
  .footer-links,.footer-social{justify-content:flex-start;flex-wrap:wrap;gap:18px}
  .catalog-hero .hero-copy{width:min(100%,450px)}
  .catalog-shell .catalog-list{
    width:100%;
  }
  .catalog-shell .catalog-item-body{
    padding:10px 12px 12px;
  }
  .atelier-hero__copy{
    width:min(100%,480px);
    padding:58px 0 52px 28px;
  }
  .atelier-hero__copy h1{
    font-size:44px;
  }
  .atelier-grid{
    gap:18px;
  }
  .atelier-bottom .bottom-band-text{
    padding:28px 24px 18px;
  }
}

@media (max-width: 760px){
  .container{width:min(100% - 28px,1260px)}
  .header-inner{
    min-height:auto;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:10px;
    padding:12px 0 14px;
  }
  .site-nav{
    gap:10px 14px;
    font-size:10px;
    letter-spacing:.14em;
    justify-content:center;
    text-align:center;
  }
  .brand-logo{
    width:104px;
    height:57px;
    max-height:57px;
  }
  .hero{min-height:auto}
  .hero-overlay{min-height:320px}
  .hero-copy{
    padding:28px 18px 32px;
    width:100%;
    max-width:340px;
  }
  h1{
    font-size:32px;
    line-height:1.05;
    letter-spacing:.12em;
  }
  .lead{
    font-size:12px;
    line-height:1.55;
    letter-spacing:.16em;
  }
  .text{
    font-size:12px;
    line-height:1.8;
  }
  .cta,
  .home-about,
  .home-gallery,
  .product-story,
  .product-detail-section{
    padding-top:28px;
    padding-bottom:28px;
  }
  .principles-grid{grid-template-columns:1fr}
  .principle{border-right:none;border-bottom:1px solid var(--line)}
  .principle:last-child{border-bottom:none}
  .story-shell{padding-top:32px;padding-bottom:32px}
  .story-layout{gap:18px}
  .story-photo,.tile{min-height:220px}
  .cta-title{font-size:18px;line-height:1.35}
  .cta-grid{gap:18px}
  .cta-button{width:100%;min-width:0}
  .hero-contact{min-height:auto}
  .hero-copy-contact{
    width:100%;
    max-width:340px;
    padding-top:28px;
    padding-bottom:28px;
  }
  .contact-info,
  .contact-form-page{padding-left:18px;padding-right:18px}
  .contact-item{gap:12px;margin-bottom:18px}
  .contact-icon{width:28px;height:28px;font-size:16px}
  .follow-row{padding-top:12px;margin-top:16px}
  .form-row,
  .mini-features{grid-template-columns:1fr}
  .mini-feature{border-right:none;border-bottom:1px solid rgba(22,22,22,.12);padding-bottom:14px}
  .mini-feature:last-child{border-bottom:none}
  .band-title{font-size:18px;line-height:1.3}
  .catalog-bottom .bottom-band-text{padding:22px 18px 14px}
  .catalog-bottom .band-title{padding-left:14px}
  .catalog-bottom .band-title::before{height:54px}
  .catalog-bottom .band-desc{margin-left:14px}
  .catalog-hero .hero-copy{
    width:100%;
    max-width:340px;
  }
  .catalog-tabs{justify-content:center;gap:10px 8px;padding:10px 0 18px}
  .catalog-tab{
    min-height:32px;
    padding:0 12px;
    font-size:10px;
    letter-spacing:.12em;
  }
  .catalog-shell .catalog-list{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .catalog-shell .catalog-item-body{
    padding:10px 12px 12px;
  }
  .catalog-shell .catalog-item-btn{
    width:100% !important;
    justify-content:center !important;
  }
  .home-hero,
  .home-hero-inner{
    min-height:360px;
  }
  .home-hero-copy{
    width:100%;
    max-width:340px;
    padding-left:0;
  }
  .home-hero-copy h1{
    font-size:28px;
    letter-spacing:.12em;
    white-space:normal;
  }
  .home-hero-copy .lead{
    font-size:12px;
  }
  .home-about{
    padding:34px 0;
  }
  .home-about-copy .section-kicker{
    font-size:18px;
    margin-bottom:20px;
  }
  .home-about-images,
  .home-gallery-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .home-gallery{
    padding:24px 0 32px;
  }
  .home-btn{
    width:100%;
    min-width:0;
    max-width:260px;
    min-height:44px;
    justify-content:center;
  }
  .breadcrumbs{
    align-items:flex-start;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:20px;
  }
  .product-intro{
    padding-top:22px;
  }
  .product-hero-grid,
  .product-story-grid,
  .product-detail-grid,
  .product-detail-images{
    grid-template-columns:1fr;
  }
  .product-main-img{
    min-height:0;
    aspect-ratio:1 / 1.18;
  }
  .product-thumbs{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
  }
  .catalog-shell .catalog-item-media{
    aspect-ratio:1 / 1.12;
  }
  .catalog-shell .catalog-item-title{
    font-size:11px;
  }
  .catalog-shell .catalog-item-dimensions{
    font-size:10px;
  }
  .catalog-shell .catalog-item-price{
    font-size:11px;
  }
  .catalog-shell .catalog-item-btn{
    min-height:32px;
  }
  .atelier-hero{
    min-height:auto;
  }
  .atelier-hero__inner{
    min-height:300px;
  }
  .atelier-hero__copy{
    width:100%;
    max-width:340px;
    padding:28px 18px 32px;
  }
  .atelier-hero__copy h1{
    font-size:32px;
    letter-spacing:.12em;
  }
  .atelier-filters{
    gap:10px 8px;
    padding:10px 0 18px;
  }
  .atelier-filter{
    min-height:32px;
    padding:0 12px;
    font-size:10px;
    letter-spacing:.12em;
  }
  .atelier-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .atelier-card__body{
    padding:12px 12px 14px;
  }
  .atelier-card__link{
    width:100%;
    justify-content:center;
  }
  .atelier-bottom{
    margin-top:20px;
  }
  .atelier-bottom .bottom-band-text{
    padding:22px 18px 14px;
  }
  .product-summary h1{
    font-size:24px;
    letter-spacing:.14em;
  }
  .product-story,
  .product-detail-section{
    padding:28px 0;
  }
  .product-wide-img,
  .product-detail-main,
  .product-detail-stack img{
    min-height:0;
    aspect-ratio:1.25 / 1;
  }
  .product-actions{
    gap:10px;
    margin-bottom:24px;
  }
  .product-btn{
    min-height:40px;
    justify-content:center;
  }
  .product-specs{
    gap:16px;
  }
  .product-specs div{
    padding-left:28px;
  }
  .product-specs div::before{
    width:14px;
    height:14px;
  }
  .footer-inner{
    gap:14px;
    text-align:center;
    justify-items:center;
  }
  .footer-links,
  .footer-social{
    justify-content:center;
    gap:14px;
  }
  .site-footer{
    padding:18px 0 22px;
  }
}

@media (max-width: 480px){
  .container{width:min(100% - 20px,1260px)}
  .header-inner{
    gap:8px;
    padding:10px 0 12px;
  }
  .brand-logo{
    width:92px;
    height:50px;
    max-height:50px;
  }
  .site-nav{
    gap:8px 12px;
    font-size:9px;
    letter-spacing:.11em;
  }
  .hero-overlay{min-height:280px}
  .hero-copy,
  .home-hero-copy,
  .hero-copy-contact,
  .catalog-hero .hero-copy{
    max-width:100%;
  }
  .home-hero,
  .home-hero-inner{
    min-height:320px;
  }
  .home-hero-copy h1{
    font-size:24px;
  }
  .home-hero-copy .lead{
    letter-spacing:.12em;
  }
  h1{
    font-size:28px;
  }
  .text{
    font-size:11px;
    line-height:1.75;
  }
  .catalog-tabs{
    gap:8px 6px;
  }
  .catalog-tab{
    padding:0 10px;
  }
  .catalog-shell .catalog-list{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .catalog-shell .catalog-item-body{padding:10px 10px 11px}
  .catalog-shell .catalog-item-title{font-size:11px;letter-spacing:.1em}
  .catalog-shell .catalog-item-dimensions{font-size:10px;line-height:1.45}
  .catalog-shell .catalog-item-price{font-size:11px}
  .atelier-hero__copy{
    max-width:100%;
  }
  .atelier-hero__inner{
    min-height:260px;
  }
  .atelier-card__body{
    padding:12px 10px 13px;
  }
  .atelier-card__title{
    font-size:11px;
    letter-spacing:.1em;
  }
  .atelier-card__dimensions{
    font-size:10px;
    line-height:1.45;
  }
  .atelier-card__price{
    font-size:11px;
  }
  .footer-links{
    gap:10px;
    flex-wrap:wrap;
  }
  .footer-social{
    gap:10px;
    flex-wrap:wrap;
  }
}
