.hero { display:grid; grid-template-columns:.84fr 1.16fr; min-height:min(43rem,calc(100vh - 7rem)); align-items:stretch; }
.hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:4.5rem clamp(1.4rem,5vw,5rem) 4.5rem 0; }
.display-title { margin:.3rem 0 1.3rem; font:400 var(--text-display)/.99 var(--font-serif); letter-spacing:-.055em; }
.display-title em,.section-title em { color:#89765f; font-weight:400; }
.hero-intro { max-width:26rem; margin:0 0 1.8rem; color:var(--muted); font-size:clamp(1rem,1.4vw,1.15rem); }
.hero-caption { margin:1.4rem 0 0; color:var(--muted); font-size:.66rem; letter-spacing:.04em; }
.hero-media { position:relative; min-height:30rem; align-self:stretch; overflow:hidden; background:var(--soft); }
.hero-media img { width:100%; height:100%; min-height:30rem; object-fit:cover; object-position:58% center; }
.image-caption { position:absolute; right:1rem; bottom:1rem; padding:.4rem .65rem; background:rgba(255,254,250,.88); color:var(--muted); font-size:.65rem; }
.occasion-section { padding-block:5.8rem 6.2rem; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1.2rem; margin-bottom:1.7rem; }
.occasion-grid { display:grid; grid-template-columns:1.1fr .85fr 1.05fr; gap:1rem; align-items:start; }
.occasion-tile { position:relative; min-height:18rem; aspect-ratio:.91; overflow:hidden; background:var(--soft); }
.occasion-2 { margin-top:3rem; aspect-ratio:.88; }
.occasion-3 { margin-top:1.2rem; aspect-ratio:1.03; }
.occasion-tile img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.25,1); }
.occasion-tile:hover img,.product-card-link:hover .product-image img { transform:scale(1.025); }
.occasion-copy { position:absolute; inset:auto 0 0; display:flex; align-items:center; justify-content:space-between; padding:1rem; background:linear-gradient(transparent,rgba(27,25,21,.52)); color:#fff; }
.occasion-copy .eyebrow { margin:0; color:#fff; font-size:.72rem; }
.occasion-arrow { display:grid; width:2rem; height:2rem; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; }
.featured-section { padding:5.6rem 0 6rem; background:var(--paper); }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; }
.product-card { min-width:0; }
.product-image { position:relative; overflow:hidden; aspect-ratio:1.11; background:var(--soft); }
.product-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.25,1); }
.made-tag { position:absolute; top:.75rem; left:.75rem; padding:.35rem .5rem; background:rgba(255,254,250,.9); font-size:.61rem; letter-spacing:.04em; }
.product-card-copy { display:flex; justify-content:space-between; gap:.7rem; padding:.85rem 0; }
.product-card-copy h3 { margin:0 0 .2rem; font-size:.88rem; font-weight:500; }
.product-card-copy p { margin:0; color:var(--muted); font-size:.7rem; }
.price-small { padding-top:.15rem; white-space:nowrap; font-size:.7rem; }
.process-section { display:grid; grid-template-columns:1fr 1fr; gap:5rem; padding-block:7rem; }
.process-intro > p:not(.eyebrow) { max-width:27rem; margin:1.2rem 0 1.5rem; color:var(--muted); }
.process-list { display:grid; align-content:center; gap:0; margin:0; padding:0; list-style:none; }
.process-list li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.15rem 0; border-bottom:1px solid var(--line); }
.process-list li:first-child { border-top:1px solid var(--line); }
.process-number { color:var(--accent); font-size:.7rem; }
.process-list h3 { margin:0 0 .22rem; font-size:.9rem; font-weight:600; }
.process-list p { margin:0; color:var(--muted); font-size:.77rem; }
.custom-banner { padding:5rem 0; background:#eee8de; }
.custom-banner-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.custom-banner p:not(.eyebrow) { max-width:26rem; margin:1rem 0 0; color:var(--muted); }
.page-intro .eyebrow { margin-bottom:.85rem; }
.catalog-tools { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border-block:1px solid var(--line); }
.filter-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.filter-chip { min-height:2.4rem; padding:.55rem .8rem; border:1px solid var(--line); border-radius:var(--radius-pill); font-size:.69rem; }
.filter-chip:hover,.filter-chip.is-active { border-color:var(--dark); background:var(--dark); color:var(--paper); }
.search-form { display:flex; width:min(16rem,38vw); border-bottom:1px solid #a7a093; }
.search-form input { width:100%; min-width:0; height:2.5rem; border:0; background:transparent; color:var(--ink); font:inherit; font-size:.76rem; }
.search-form button { width:2.5rem; border:0; background:transparent; font-size:1.3rem; }
.results-caption { padding:1rem 0 .2rem; color:var(--ink); font-size:.72rem; }
.results-caption span { color:var(--muted); }
.catalog-grid { row-gap:2rem; padding-top:1rem; }
.collection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 1.3rem; }
.collection-image { overflow:hidden; aspect-ratio:1.22; background:var(--soft); }
.collection-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.collection-card:hover .collection-image img { transform:scale(1.02); }
.collection-copy { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; }
.collection-copy .eyebrow { margin:0 0 .35rem; }
.collection-copy h2 { margin:0; font:400 1.55rem var(--font-serif); }
.collection-copy p { max-width:30rem; margin:.35rem 0 0; color:var(--muted); font-size:.78rem; }
.circle-arrow { display:grid; width:2.5rem; height:2.5rem; flex:none; place-items:center; border:1px solid var(--line); border-radius:50%; }
.product-detail { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(2rem,6vw,6rem); align-items:start; padding:1.2rem 0 4rem; }
.gallery-main { overflow:hidden; aspect-ratio:1.04; background:var(--soft); }
.gallery-main img { width:100%; height:100%; object-fit:cover; }
.gallery-thumbs { display:flex; gap:.65rem; margin-top:.8rem; }
.gallery-thumb { width:5rem; height:5rem; padding:0; overflow:hidden; border:1px solid transparent; background:var(--soft); }
.gallery-thumb.is-active { border-color:var(--ink); }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.product-info { position:sticky; top:6rem; padding-block:1.4rem; }
.product-title { margin:.5rem 0 .65rem; font-size:clamp(2.3rem,4.5vw,4rem); line-height:1.04; }
.price-large { margin-bottom:1.15rem; font-size:.86rem; }
.product-description { color:var(--muted); font-size:.91rem; }
.production-note { display:flex; gap:.5rem; align-items:center; margin:1rem 0; padding:.7rem 0; border-block:1px solid var(--line); color:var(--muted); font-size:.71rem; }
.review-note { padding:.75rem .85rem; background:var(--soft); color:#5e594f; font-size:.75rem; }
.customize-form { margin-top:2rem; }
.form-section-heading { margin-bottom:1.3rem; }
.form-section-heading .eyebrow { margin-bottom:.4rem; }
.form-section-heading h2 { margin:0 0 .4rem; font:400 1.65rem var(--font-serif); }
.form-section-heading p:last-child { margin:0; color:var(--muted); font-size:.78rem; }
.form-footnote { margin:.75rem 0 0; color:var(--muted); font-size:.69rem; }
.product-accordion { margin-top:1.5rem; padding:.85rem 0; border-block:1px solid var(--line); font-size:.78rem; }
.product-accordion summary { cursor:pointer; font-weight:600; }
.product-accordion p { margin:.8rem 0 0; color:var(--muted); }
.related-products { padding:3rem 0 1rem; border-top:1px solid var(--line); }
.bag-title-count { display:inline-grid; min-width:2rem; height:2rem; place-items:center; margin-left:.4rem; border-radius:50%; background:var(--soft); font:500 .85rem var(--font-sans); vertical-align:middle; }
.bag-layout,.checkout-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr); gap:clamp(2rem,6vw,6rem); align-items:start; padding-top:1rem; }
.bag-lines { min-height:14rem; }
.bag-line { display:grid; grid-template-columns:7rem minmax(0,1fr) auto; gap:1.2rem; padding:1rem 0; border-top:1px solid var(--line); }
.bag-line img { width:7rem; aspect-ratio:1; object-fit:cover; background:var(--soft); }
.bag-line h2 { margin:0 0 .35rem; font:400 1.25rem var(--font-serif); }
.bag-line p { margin:0 0 .35rem; color:var(--muted); font-size:.72rem; }
.bag-remove { padding:.2rem 0; border:0; background:none; color:var(--muted); font-size:.7rem; text-decoration:underline; }
.bag-summary,.checkout-summary { position:sticky; top:6rem; padding:1.4rem; background:var(--paper); }
.summary-heading { margin:0 0 .6rem; font:400 1.5rem var(--font-serif); }
.bag-summary > p:not(.eyebrow) { color:var(--muted); font-size:.78rem; }
.summary-row { display:flex; justify-content:space-between; gap:.8rem; padding:.75rem 0; border-bottom:1px solid var(--line); font-size:.73rem; }
.summary-total { margin:0 0 1rem; padding-block:1rem; }
.summary-fine { margin:1rem 0 0; color:var(--muted); font-size:.68rem; }
.bag-keep-shopping { margin-top:1rem; }
.bag-layout .empty-state { padding:3rem 1rem; }
.checkout-form-wrap { min-width:0; }
.step-indicator { display:flex; align-items:center; gap:.55rem; margin-bottom:1.3rem; color:var(--muted); font-size:.69rem; }
.step-current { color:var(--ink); font-weight:700; }
.step-line { flex:1; height:1px; background:var(--line); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.checkout-summary { display:grid; gap:.6rem; }
.checkout-summary .notice { margin:.7rem 0; }
.checkout-empty { padding:.8rem 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.checkout-empty a { color:var(--ink); text-decoration:underline; }
.run03-note { color:var(--muted); font-size:.72rem; }
.narrow-content { width:min(44rem,100%); margin-inline:auto; }
.custom-request-form { padding-top:1.2rem; }
.editorial-copy { max-width:38rem; padding:1.2rem 0; }
.editorial-copy p { color:var(--muted); font-size:1rem; }
.editorial-copy h2 { margin:2.5rem 0 .7rem; font:400 2rem var(--font-serif); }
.about-page { padding-top:1.6rem; }
.about-page .breadcrumbs { margin-bottom:0; }
.about-hero { padding-block:clamp(4rem,8vw,7.5rem) clamp(3.5rem,7vw,6.5rem); border-bottom:1px solid var(--line); }
.about-hero > .eyebrow { margin:0 0 1.1rem; }
.about-hero h1 { margin:0; font:400 clamp(2.25rem,4.4vw,4rem)/1.05 var(--font-serif); letter-spacing:-.04em; }
.about-hero-statement { max-width:14ch; margin:1.3rem 0 1.1rem; font:400 clamp(2.7rem,6.7vw,6.5rem)/.99 var(--font-serif); letter-spacing:-.055em; }
.about-byline { margin:0; color:var(--muted); font-size:.72rem; letter-spacing:.04em; }
.about-byline span { padding-inline:.3rem; color:var(--accent); }
.about-section { display:grid; grid-template-columns:minmax(9rem,.65fr) minmax(0,1.35fr); gap:clamp(2rem,8vw,8rem); padding-block:clamp(4.5rem,8vw,8rem); }
.about-year { padding-top:.25rem; color:var(--accent); font:400 clamp(3.5rem,8vw,7rem)/1 var(--font-serif); letter-spacing:-.06em; }
.about-section-label { padding-top:.4rem; }
.about-section-label .eyebrow { margin:0; }
.about-copy { width:min(100%,43rem); }
.about-copy .eyebrow { margin:0 0 .8rem; }
.about-copy h2 { max-width:22ch; margin:0 0 1.2rem; font:400 clamp(1.8rem,3.3vw,3rem)/1.12 var(--font-serif); letter-spacing:-.035em; }
.about-copy p,.about-heart-inner > p:not(.eyebrow) { max-width:43rem; margin:.9rem 0 0; color:var(--muted); font-size:.98rem; line-height:1.85; }
.about-growing { border-top:1px solid var(--line); }
.about-heart { padding-block:clamp(4rem,8vw,7.5rem); border-block:1px solid var(--line); background:var(--paper); }
.about-heart-inner { max-width:58rem; }
.about-heart-inner .eyebrow { margin:0 0 1.2rem; }
.about-heart-inner h2 { max-width:18ch; margin:0; font:400 clamp(2.3rem,5.2vw,4.8rem)/1.05 var(--font-serif); letter-spacing:-.05em; }
.about-heart-inner > p:not(.eyebrow) { max-width:39rem; margin-top:1.5rem; }
.about-continues { border-bottom:1px solid var(--line); }
.about-signature { display:grid; gap:.2rem; margin-top:2.2rem !important; color:var(--ink) !important; }
.about-signature span:first-child { font:400 1.9rem var(--font-serif); }
.about-signature span:last-child { color:var(--accent); font-size:.76rem; letter-spacing:.04em; }
.about-cta { padding-block:clamp(3.5rem,7vw,6rem); background:var(--soft); }
.about-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.about-cta-inner .eyebrow { margin:0 0 .65rem; }
.about-cta-inner h2 { margin:0; font:400 clamp(2rem,4vw,3.4rem)/1.08 var(--font-serif); letter-spacing:-.04em; }
.about-cta-inner p:not(.eyebrow) { margin:.7rem 0 0; color:var(--muted); }
.about-cta-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; }
@media (max-width:900px) {
  .hero { grid-template-columns:.9fr 1.1fr; min-height:34rem; }
  .hero-media,.hero-media img { min-height:34rem; }
  .product-detail { gap:2.3rem; }
  .product-info { position:static; }
  .process-section { gap:3rem; }
}
@media (min-width:701px) and (max-width:850px) {
  .occasion-tile { min-width:0; min-height:0; }
}
@media (max-width:700px) {
  .about-page { padding-top:1rem; }
  .about-hero { padding-block:3.4rem 3.3rem; }
  .about-hero-statement { max-width:13ch; margin-top:1rem; font-size:clamp(2.6rem,11vw,4rem); }
  .about-section { grid-template-columns:1fr; gap:1.1rem; padding-block:3.5rem; }
  .about-year { font-size:3.3rem; }
  .about-heart { padding-block:3.5rem; }
  .about-heart-inner h2 { font-size:clamp(2.25rem,9vw,3.5rem); }
  .about-cta-inner { align-items:flex-start; flex-direction:column; }
  .about-cta-actions { width:100%; flex-direction:column; align-items:stretch; }
  .about-cta-actions .button { width:100%; }
  .hero { grid-template-columns:1fr; min-height:auto; padding-inline:0; }
  .hero-copy { order:1; padding:3rem var(--gutter) 2.5rem; }
  .display-title { font-size:clamp(3.2rem,15vw,5.3rem); }
  .hero-media,.hero-media img { min-height:0; aspect-ratio:1.16; }
  .hero-media img { object-position:60% center; }
  .occasion-section { padding-block:4rem; }
  .occasion-grid { grid-template-columns:1fr 1fr; gap:.65rem; }
  .occasion-tile { min-height:12rem; aspect-ratio:.86; }
  .occasion-2 { margin-top:1.6rem; }
  .occasion-3 { display:none; }
  .section-heading { align-items:start; }
  .section-heading .text-link { padding-top:.3rem; white-space:nowrap; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem .7rem; }
  .product-image { aspect-ratio:.86; }
  .product-card-copy { display:block; padding:.65rem 0; }
  .price-small { display:block; margin-top:.35rem; }
  .featured-section { padding-block:3.6rem; }
  .process-section { grid-template-columns:1fr; gap:2rem; padding-block:4rem; }
  .custom-banner { padding:3.5rem 0; }
  .custom-banner-inner { align-items:flex-start; flex-direction:column; }
  .catalog-tools { align-items:stretch; flex-direction:column; }
  .filter-links { flex-wrap:nowrap; overflow:auto; padding-bottom:.35rem; }
  .filter-chip { flex:none; }
  .search-form { width:100%; }
  .collection-grid { gap:1.2rem .7rem; }
  .collection-copy h2 { font-size:1.2rem; }
  .collection-copy p { font-size:.68rem; }
  .circle-arrow { width:2rem; height:2rem; }
  .product-detail { grid-template-columns:1fr; gap:1.5rem; }
  .gallery-main { aspect-ratio:1.05; }
  .product-info { padding:0; }
  .related-products { padding-top:2rem; }
  .bag-layout,.checkout-layout { grid-template-columns:1fr; gap:1.5rem; }
  .bag-summary,.checkout-summary { position:static; }
  .bag-line { grid-template-columns:5.4rem minmax(0,1fr) auto; gap:.7rem; }
  .bag-line img { width:5.4rem; }
  .form-grid { grid-template-columns:1fr; gap:0; }
}
@media (max-width:390px) { .occasion-grid { grid-template-columns:1fr; } .occasion-2 { display:none; } .product-card-copy h3 { font-size:.8rem; } .collection-grid { grid-template-columns:1fr; } }
