
:root{
  --ivory:#f2efe9;--paper:#f7f4ef;--ink:#24211e;--brown:#4a352b;
  --terracotta:#9c5c3b;--olive:#6f735a;--line:#d8d0c5;--muted:#7b746d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.serif{font-family:"Cormorant Garamond",Georgia,serif}
.topbar{font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:9px 16px;background:#2a2724;color:#f4efe7}
header{position:sticky;top:0;z-index:50;background:rgba(247,244,239,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,208,197,.7)}
.nav{height:76px;max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 34px}
.logo{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:.25em;font-size:27px;font-weight:600}
.navlinks{display:flex;gap:28px;font-size:12px;letter-spacing:.11em;text-transform:uppercase}
.navlinks.right{justify-content:flex-end}
.iconbtn{background:none;border:0;cursor:pointer;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.mobile-menu{display:none}
.hero{min-height:78vh;display:grid;grid-template-columns:1.03fr .97fr;border-bottom:1px solid var(--line)}
.hero-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#f5f1ea,#ece4d9)}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(55px,7vw,112px);line-height:.86;font-weight:500;margin:0 0 28px}
.hero p{max-width:560px;font-size:17px;color:#554f49;margin:0 0 34px}
.cta{display:inline-flex;align-items:center;gap:10px;width:max-content;border-bottom:1px solid var(--ink);padding:0 0 7px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.hero-visual{position:relative;overflow:hidden;background:#d8c8b8}
.hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(.95)}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,20,15,.22),transparent 50%)}
.hero-mark{position:absolute;left:32px;bottom:28px;color:#fff;z-index:2;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.trust{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.trust div{padding:17px;text-align:center;font-size:11px;letter-spacing:.13em;text-transform:uppercase;border-right:1px solid var(--line)}
.trust div:last-child{border-right:0}
.section{max-width:1440px;margin:auto;padding:110px 34px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}
.section h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:.95;margin:0}
.section-head p{max-width:430px;color:var(--muted);font-size:14px;margin:0}
.products{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--paper);position:relative}
.card-img{aspect-ratio:.82;background:#ebe7e1;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .5s ease;padding:5.5%;background:#ede9e4}
.card:hover .card-img img{transform:scale(1.018)}
.card-info{padding:20px 18px 24px}
.card-code{font-size:10px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.card-name{font-family:"Cormorant Garamond",Georgia,serif;font-size:26px;margin:8px 0 4px}
.card-price{font-size:14px}
.editorial{display:grid;grid-template-columns:1.1fr .9fr;min-height:680px;background:#34281f;color:#f5efe8}
.editorial-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.6) sepia(.08)}
.editorial-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}
.editorial-copy .eyebrow{color:#cdbfb4}
.editorial-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(50px,6vw,94px);font-weight:500;line-height:.9;margin:0 0 30px}
.editorial-copy p{max-width:520px;color:#ded2c8;font-size:16px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.tile{background:var(--paper);min-height:620px;position:relative;overflow:hidden}
.tile img{width:100%;height:100%;object-fit:cover}
.tile-copy{position:absolute;inset:auto 0 0 0;padding:42px;background:linear-gradient(transparent,rgba(20,15,12,.72));color:white}
.tile-copy h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:54px;line-height:.95;font-weight:500;margin:0 0 12px}
.tile-copy p{max-width:480px}
.manifesto{padding:130px 7vw;text-align:center;background:#e7ded2}
.manifesto .small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#675d55}
.manifesto blockquote{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,6vw,88px);line-height:1;margin:35px auto;max-width:1100px}
.manifesto p{max-width:700px;margin:auto;color:#5c544d}
.footer{background:#26211e;color:#efe7de;padding:75px 34px 34px}
.footer-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}
.footer h4{font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 20px;color:#cfc3b8}
.footer a,.footer p{font-size:13px;color:#efe7de;display:block;margin:8px 0}
.footer-brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:44px;letter-spacing:.2em}
.footer-bottom{max-width:1440px;margin:60px auto 0;padding-top:25px;border-top:1px solid #4d433d;font-size:11px;color:#a99d94;display:flex;justify-content:space-between}
.page-hero{max-width:1440px;margin:auto;padding:95px 34px 50px}
.page-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(58px,7vw,100px);font-weight:500;margin:0}
.page-hero p{max-width:620px;color:var(--muted)}
.catalog{max-width:1440px;margin:auto;padding:0 34px 100px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 18px}
.product-card .card-img{aspect-ratio:.82;background:#ede9e4}
.product-card .card-name{font-size:30px}
.product-page{max-width:1440px;margin:auto;padding:60px 34px 110px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px}
.gallery-main{background:#ebe7e1;aspect-ratio:1/1;overflow:hidden}
.gallery-main img{width:100%;height:100%;object-fit:contain;object-position:center;background:#ede9e4;padding:3%}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.thumb{aspect-ratio:1/1;background:#eee9e2;border:1px solid transparent;cursor:pointer}
.thumb.active{border-color:var(--ink)}
.thumb img{width:100%;height:100%;object-fit:contain;background:#ede9e4}
.product-info{padding-top:35px;position:sticky;top:115px;height:max-content}
.product-code{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.product-info h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:64px;line-height:.95;font-weight:500;margin:16px 0}
.product-info .price{font-size:20px;margin:0 0 28px}
.product-info .desc{font-size:15px;color:#59534d;max-width:520px}
.detail-list{list-style:none;padding:0;margin:28px 0;border-top:1px solid var(--line)}
.detail-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.buybtn{width:100%;padding:18px 20px;border:0;background:#2c2825;color:#fff;font-size:12px;letter-spacing:.17em;text-transform:uppercase;cursor:pointer}
.buybtn:hover{background:#493a31}
.note{font-size:11px;color:var(--muted);margin-top:12px}
.legal{max-width:900px;margin:auto;padding:90px 34px 120px}
.legal h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:64px;font-weight:500}
.legal h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;margin-top:42px}
.legal p,.legal li{font-size:14px;color:#4f4943}
.requisites{display:grid;grid-template-columns:220px 1fr;border-top:1px solid var(--line)}
.requisites div{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.requisites .k{color:var(--muted)}
.cart-drawer{position:fixed;top:0;right:-450px;width:min(450px,100%);height:100vh;background:#f8f5f0;z-index:100;box-shadow:-15px 0 40px rgba(0,0,0,.12);transition:right .35s ease;display:flex;flex-direction:column}
.cart-drawer.open{right:0}
.cart-head{padding:26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.cart-items{padding:20px;flex:1;overflow:auto}
.cart-item{display:grid;grid-template-columns:86px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:86px;height:102px;object-fit:cover}
.cart-item h4{font-family:"Cormorant Garamond",Georgia,serif;font-size:21px;margin:0}
.cart-total{padding:22px;border-top:1px solid var(--line)}
.cart-total .row{display:flex;justify-content:space-between;margin-bottom:18px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:90;opacity:0;visibility:hidden;transition:.25s}
.overlay.show{opacity:1;visibility:visible}
.checkout{max-width:1100px;margin:auto;padding:80px 34px 120px;display:grid;grid-template-columns:1fr .7fr;gap:70px}
.form label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:18px 0 7px}
.form input,.form textarea,.form select{width:100%;padding:14px;border:1px solid var(--line);background:#fff;font:inherit}
.order-box{background:#eee7dd;padding:28px;height:max-content}
.order-box h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;margin-top:0}
.payment-placeholder{border:1px solid var(--line);padding:16px;margin-top:20px;font-size:13px;background:#faf8f4}
@media(max-width:900px){
  .nav{padding:0 18px;grid-template-columns:1fr auto}.navlinks{display:none}.navlinks.right{display:flex}.navlinks.right a{display:none}
  .mobile-menu{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:90px 24px 70px}.hero-visual{height:58vh}
  .trust{grid-template-columns:1fr}.trust div{border-right:0;border-bottom:1px solid var(--line)}
  .section{padding:80px 18px}.section-head{align-items:flex-start;flex-direction:column}.products{grid-template-columns:1fr 1fr}
  .editorial{grid-template-columns:1fr}.editorial-image{height:520px}.editorial-copy{padding:80px 24px}.two-col{grid-template-columns:1fr}.tile{min-height:500px}
  .footer-grid{grid-template-columns:1fr 1fr}.catalog{padding:0 18px 80px}.catalog-grid{grid-template-columns:1fr 1fr}
  .product-page{grid-template-columns:1fr;padding:30px 18px 80px;gap:25px}.product-info{position:static;padding-top:10px}
  .product-info h1{font-size:48px}.page-hero{padding:65px 18px 35px}.checkout{grid-template-columns:1fr;padding:50px 18px 90px}
}
@media(max-width:560px){
  .products,.catalog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hero h1{font-size:58px}.tile-copy h3{font-size:42px}
}

.card.interior-card .card-img img{object-fit:cover;padding:0;background:transparent}
@media(max-width:900px){
  .products{grid-template-columns:1fr 1fr}
  .card-img{aspect-ratio:.86}
}
@media(max-width:560px){
  .products{grid-template-columns:1fr}
  .card-img{aspect-ratio:1/1.15}
  .card-img img{padding:8%}
  .card.interior-card .card-img img{padding:0}
}

.hero-atmosphere img{object-position:center}
.epoch-story{display:grid;grid-template-columns:1.05fr .95fr;min-height:690px;background:#eee8df}
.epoch-story-image{overflow:hidden}
.epoch-story-image img{width:100%;height:100%;object-fit:cover}
.epoch-story-copy{padding:7vw 6vw;display:flex;flex-direction:column;justify-content:center}
.epoch-story-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(46px,5.2vw,82px);font-weight:500;line-height:.88;margin:0 0 28px}
.epoch-story-copy p{max-width:540px;color:#5e5750;margin-bottom:28px}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#f7f4ef}
.category-tile{min-height:580px;position:relative;overflow:hidden}
.category-tile>img{width:100%;height:100%;object-fit:cover}
.category-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,15,12,.58),rgba(20,15,12,.05) 58%)}
.category-overlay{position:absolute;z-index:2;left:34px;right:34px;bottom:34px;color:#fff}
.category-overlay .eyebrow{color:#ece3d8;margin-bottom:10px}
.category-overlay h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:48px;line-height:.92;font-weight:500;margin:0 0 18px}
.category-overlay span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}
.category-overlay.darktext{color:#fff}
.bottom-editorial{display:grid;grid-template-columns:1fr .9fr 1fr;min-height:590px;background:#f1ece4}
.bottom-photo{overflow:hidden}
.bottom-photo img{width:100%;height:100%;object-fit:cover}
.bottom-copy{padding:5vw 4vw;display:flex;flex-direction:column;justify-content:center}
.bottom-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(46px,5vw,78px);line-height:.9;font-weight:500;margin:0 0 24px}
.bottom-copy p{max-width:420px;color:#5d554f;margin-bottom:28px}
.manifesto.compact{padding:85px 7vw}
.manifesto.compact blockquote{font-size:clamp(38px,5vw,70px)}
@media(max-width:900px){
 .hero{grid-template-columns:1fr}
 .hero-copy{order:2;padding:56px 24px 60px}
 .hero-visual{order:1;height:48vh}
 .epoch-story{grid-template-columns:1fr}
 .epoch-story-image{height:440px}
 .epoch-story-copy{padding:65px 24px}
 .category-grid{grid-template-columns:1fr}
 .category-tile{min-height:460px}
 .bottom-editorial{grid-template-columns:1fr}
 .bottom-photo{height:440px}
 .bottom-copy{padding:65px 24px}
}
@media(max-width:560px){
 .nav{height:64px}
 .logo{font-size:22px}
 .hero-visual{height:42vh}
 .hero h1{font-size:48px}
 .hero p{font-size:15px}
 .section{padding:64px 16px}
 .section h2{font-size:42px}
 .products{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;background:transparent;border:0;padding-bottom:8px}
 .products .card{min-width:76vw;scroll-snap-align:start;border:1px solid var(--line)}
 .card-img{aspect-ratio:.86}
 .card-info{padding:18px}
 .epoch-story-image,.bottom-photo{height:360px}
 .epoch-story-copy h2,.bottom-copy h2{font-size:45px}
 .category-tile{min-height:420px}
 .category-overlay{left:24px;right:24px;bottom:26px}
 .category-overlay h3{font-size:42px}
 .manifesto.compact{padding:62px 20px}
 .manifesto.compact blockquote{font-size:39px}
}

.hero-atmosphere img{object-position:center 52%}
@media(max-width:900px){
  .hero-atmosphere img{object-position:center 48%}
}
@media(max-width:560px){
  .hero-atmosphere{height:50vh}
  .hero-atmosphere img{object-position:center 45%}
}

/* v5 approved hero */
.hero-approved{
  position:relative;
  min-height:680px;
  display:block;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#ddd2c5;
}
.hero-approved-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-approved-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(247,244,239,.95) 0%,
      rgba(247,244,239,.88) 26%,
      rgba(247,244,239,.40) 46%,
      rgba(247,244,239,0) 62%);
}
.hero-approved-copy{
  position:relative;
  z-index:2;
  width:min(42%,560px);
  padding:78px 0 78px 5.5vw;
  display:flex;
  min-height:680px;
  flex-direction:column;
  justify-content:center;
}
.hero-approved-copy .eyebrow{
  margin-bottom:22px;
  color:#5f5953;
}
.hero-approved-copy h1{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(58px,6.2vw,98px);
  line-height:.86;
  font-weight:500;
  margin:0 0 26px;
}
.hero-approved-copy p{
  font-size:16px;
  line-height:1.45;
  color:#4e4944;
  margin:0 0 28px;
}
@media(max-width:900px){
  .hero-approved{min-height:620px}
  .hero-approved-copy{width:52%;min-height:620px;padding-left:5vw}
  .hero-approved-copy h1{font-size:58px}
  .hero-approved-shade{
    background:linear-gradient(90deg,
      rgba(247,244,239,.96) 0%,
      rgba(247,244,239,.91) 34%,
      rgba(247,244,239,.48) 56%,
      rgba(247,244,239,0) 72%);
  }
}
@media(max-width:560px){
  .hero-approved{min-height:560px}
  .hero-approved-bg{
    object-position:62% center;
  }
  .hero-approved-shade{
    background:linear-gradient(90deg,
      rgba(247,244,239,.97) 0%,
      rgba(247,244,239,.93) 46%,
      rgba(247,244,239,.38) 72%,
      rgba(247,244,239,.05) 100%);
  }
  .hero-approved-copy{
    width:68%;
    min-height:560px;
    padding:50px 0 45px 24px;
  }
  .hero-approved-copy h1{
    font-size:45px;
    line-height:.88;
    margin-bottom:20px;
  }
  .hero-approved-copy p{
    font-size:13px;
    line-height:1.5;
  }
  .hero-approved-copy .eyebrow{font-size:9px;line-height:1.45}
}

.category-tile[href="catalog.html#gifts"] > img{
  object-fit:contain;
  object-position:center;
  background:#eee9e2;
}

/* v8: lock the hero to the exact approved visual */
.hero-reference{
  width:100%;
  background:#efe9df;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-reference img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

/* gifts tile: show both agate bookends fully and large */
.category-tile[href="catalog.html#gifts"] > img{
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  background:transparent !important;
}

/* bottom-right bookends should read as a real editorial image, not a tiny object */
.bottom-editorial .bottom-photo:last-child img{
  object-fit:cover;
  object-position:center 58%;
}

@media(max-width:1100px){
  /* phone/tablet layout: no squeezed 3-column content */
  .category-grid{grid-template-columns:1fr !important}
  .category-tile{min-height:520px}
  .bottom-editorial{grid-template-columns:1fr !important}
  .bottom-photo{height:480px}
  .products{
    display:flex !important;
    overflow-x:auto;
    gap:12px;
    background:transparent;
    border:0;
    scroll-snap-type:x mandatory;
    padding-bottom:10px;
  }
  .products .card{
    min-width:min(72vw,390px);
    scroll-snap-align:start;
    border:1px solid var(--line);
  }
}
@media(max-width:560px){
  .category-tile{min-height:430px}
  .bottom-photo{height:390px}
}

/* v9 lower sections unified to EPOCH; hero untouched */
.epoch-story,.category-grid,.bottom-editorial{background:#f1ece4}
.epoch-story-image img,.category-tile>img,.bottom-photo img{filter:saturate(.94) contrast(.985)}
.category-tile{background:#ece6dc}
.category-tile[href="catalog.html#gifts"]>img,
.category-tile[href="#"]>img{
  object-fit:contain!important;
  object-position:center!important;
  padding:22px!important;
  background:#eee9e1!important;
}
.category-tile[href="catalog.html#interior"]>img{
  object-fit:cover!important;
  object-position:center 50%!important;
}
.bottom-editorial .bottom-photo:first-child img{
  object-fit:cover;
  object-position:center 54%;
}
.bottom-editorial .bottom-photo:last-child img{
  object-fit:cover;
  object-position:center 70%;
}
@media(max-width:900px){
  .epoch-story-image{height:420px}
  .category-grid{grid-template-columns:1fr!important}
  .category-tile{min-height:460px}
  .bottom-editorial{grid-template-columns:1fr!important}
  .bottom-photo{height:420px}
}
