@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600&family=Cormorant+Garamond:wght@400;500;600&family=DM+Serif+Display&family=Italiana&family=Jost:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600&family=Prata&display=swap');

:root{
  --accent:#a47c48;
  --accent-rgb:164,124,72;
  --accent-soft:#d7c5ae;
  --paper:#f4f0e9;
  --paper-2:#ebe4da;
  --ink:#191714;
  --muted:#655f58;
  --line:rgba(25,23,20,.16);
  --heading-font:"Bodoni Moda", Georgia, serif;
  --body-font:"Jost", Arial, sans-serif;
  --notice-height:38px;
  --header-height:80px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:calc(var(--notice-height) + var(--header-height));
  color:var(--ink);
  background:var(--paper);
  font-family:var(--body-font);
  overflow-x:hidden;
}
body.menu-open,
body.modal-open{overflow:hidden}

a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
svg{display:block}
::selection{background:var(--accent);color:#fff}

.skip-link{
  position:fixed;
  top:-80px;
  left:14px;
  z-index:30000;
  padding:12px 16px;
  color:#fff;
  background:#111;
}
.skip-link:focus{top:8px}

.demo-notice{
  position:fixed;
  inset:0 0 auto;
  z-index:12000;
  min-height:var(--notice-height);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:8px 18px;
  color:#fff;
  background:#171512;
  border-bottom:1px solid rgba(255,255,255,.13);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
}
.demo-notice span,
.demo-notice a{color:var(--accent-soft)}
.demo-notice i{width:3px;height:3px;border-radius:50%;background:var(--accent)}
.demo-notice strong{font-size:8px}
.demo-notice a{text-decoration:none;border-bottom:1px solid currentColor}

.site-header{
  position:fixed;
  top:var(--notice-height);
  left:0;
  right:0;
  z-index:11000;
  height:var(--header-height);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:30px;
  padding:0 4vw;
  background:rgba(244,240,233,.9);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.brand-symbol{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:var(--ink);
}
.brand-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2}
.brand strong{
  display:block;
  font:500 22px/1 var(--heading-font);
  letter-spacing:.12em;
}
.brand small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:7px;
  font-weight:700;
  letter-spacing:.16em;
}

.site-header nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
}
.site-header nav a{
  position:relative;
  text-decoration:none;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.site-header nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:1px;
  background:var(--accent);
  transition:right .22s ease;
}
.site-header nav a:hover::after,
.site-header nav a:focus-visible::after{right:0}

.header-cta{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  color:#fff;
  background:var(--ink);
  text-decoration:none;
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.menu-button{
  display:none;
  min-width:50px;
  min-height:42px;
  border:1px solid var(--line);
  color:var(--ink);
  background:transparent;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.customizer{
  position:fixed;
  right:18px;
  top:calc(var(--notice-height) + var(--header-height) + 18px);
  z-index:11500;
}
.customizer-toggle{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  color:#fff;
  background:rgba(25,23,20,.94);
  border:1px solid rgba(var(--accent-rgb),.55);
  box-shadow:0 15px 45px rgba(0,0,0,.2);
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.customizer-toggle svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}

.customizer-panel{
  display:none;
  width:min(340px,calc(100vw - 36px));
  max-height:calc(100svh - var(--notice-height) - var(--header-height) - 90px);
  overflow:auto;
  margin-top:8px;
  padding:20px;
  color:#fff;
  background:rgba(25,23,20,.98);
  border:1px solid rgba(var(--accent-rgb),.4);
  box-shadow:0 28px 80px rgba(0,0,0,.32);
}
.customizer.open .customizer-panel{display:grid;gap:20px}

.customizer-title{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:17px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.customizer-title small{color:var(--accent-soft);font-size:8px;font-weight:800;letter-spacing:.14em}
.customizer-title h2{margin:4px 0 0;font:500 34px/1 var(--heading-font)}
.customizer-title button{
  width:36px;
  height:36px;
  color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.16);
  font-size:22px;
}
.customizer-panel section{display:grid;gap:12px}
.control-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.control-heading h3{margin:0;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.control-heading span{color:#b9b0a7;font-size:8px;letter-spacing:.06em}
.theme-swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}
.theme-swatches button{
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:var(--swatch);
}
.theme-swatches button.active{outline:2px solid #fff;outline-offset:2px}

.customizer-panel label{
  display:grid;
  gap:7px;
  color:#c7beb5;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.colour-input-row{display:grid;grid-template-columns:54px 1fr;gap:8px}
.customizer-panel input,
.customizer-panel select{
  width:100%;
  min-height:42px;
  padding:9px 10px;
  color:#fff;
  background:#29251f;
  border:1px solid rgba(255,255,255,.16);
  outline:none;
}
.customizer-panel input[type="color"]{padding:4px}
.customizer-panel input:focus,
.customizer-panel select:focus{border-color:var(--accent)}

.lock-button{
  min-height:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 12px;
  color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.16);
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.lock-button b{color:#afa69d;font-size:8px}
.lock-button.locked{color:#111;background:var(--accent-soft);border-color:var(--accent-soft)}
.lock-button.locked b{color:#111}

.master-lock,.reset-button{
  min-height:42px;
  border:1px solid rgba(255,255,255,.18);
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.master-lock{color:#111;background:var(--accent-soft)}
.master-lock.locked{color:#fff;background:var(--accent)}
.reset-button{color:#fff;background:transparent}

.hero{
  position:relative;
  min-height:calc(100svh - var(--notice-height) - var(--header-height));
  overflow:hidden;
  isolation:isolate;
  background:#82786e;
}
.hero-image{
  position:absolute;
  inset:0;
  background-image:url("https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?auto=format&fit=crop&w=2200&q=90");
  background-position:center;
  background-size:cover;
  transform:scale(1.018);
  z-index:-3;
}
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(17,14,12,.66) 0%,rgba(17,14,12,.2) 53%,rgba(17,14,12,.28) 100%),
    linear-gradient(180deg,rgba(0,0,0,.12),transparent 40%,rgba(0,0,0,.36));
}
.hero-content{
  width:min(650px,84vw);
  padding:clamp(110px,16vh,190px) 0 120px 7vw;
  color:#fff;
}
.eyebrow{
  margin:0 0 18px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.eyebrow.dark{color:var(--muted)}
.hero h1{
  margin:0;
  max-width:670px;
  font:400 clamp(68px,8vw,130px)/.79 var(--heading-font);
  letter-spacing:-.055em;
}
.hero-copy{
  max-width:390px;
  margin:28px 0 26px;
  font-size:15px;
  line-height:1.7;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}

.button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 20px;
  border:1px solid transparent;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.button-light{color:#111;background:#fff}
.button-outline{color:#fff;background:transparent;border-color:rgba(255,255,255,.75)}
.button-dark{color:#fff;background:var(--ink)}
.button:hover{transform:translateY(-2px)}

.hero-categories{
  position:absolute;
  top:50%;
  right:5vw;
  width:min(330px,28vw);
  transform:translateY(-50%);
  border-top:1px solid rgba(255,255,255,.45);
}
.hero-categories a{
  display:flex;
  align-items:center;
  gap:15px;
  padding:16px 2px;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.25);
  text-decoration:none;
}
.hero-categories span{font-size:8px;font-weight:800;letter-spacing:.12em}
.hero-categories strong{font:500 20px/1 var(--heading-font)}

.hero-scroll{
  position:absolute;
  left:7vw;
  bottom:32px;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:8px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-scroll span{margin-left:10px}

.signature-strip{
  overflow:hidden;
  padding:15px 0;
  color:#fff;
  background:var(--ink);
}
.signature-track{
  width:max-content;
  display:flex;
  align-items:center;
  gap:24px;
  padding-inline:24px;
  animation:marquee 24s linear infinite;
}
.signature-track span{font-size:8px;font-weight:800;letter-spacing:.13em}
.signature-track i{width:4px;height:4px;border-radius:50%;background:var(--accent)}
@keyframes marquee{to{transform:translateX(-35%)}}

.section{padding:clamp(82px,10vw,145px) 7vw}
.intro{
  display:grid;
  grid-template-columns:.15fr 1fr .8fr;
  gap:7vw;
  align-items:start;
}
.section-index{font-size:9px;font-weight:800;letter-spacing:.1em}
.intro h2,
.section-heading h2,
.editorial-copy h2,
.bespoke-content h2,
.price-intro h2{
  margin:0;
  font:400 clamp(50px,6.7vw,96px)/.88 var(--heading-font);
  letter-spacing:-.05em;
}
.intro-copy{
  max-width:530px;
  padding-top:36px;
  color:var(--muted);
  font-size:14px;
  line-height:1.82;
}
.intro-copy p{margin:0 0 20px}
.text-link{
  display:inline-flex;
  gap:12px;
  margin-top:8px;
  color:var(--ink);
  text-decoration:none;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.section-heading{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:8vw;
  align-items:end;
  margin-bottom:40px;
}
.section-heading>p{
  max-width:520px;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
}

.collection-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:26px;
}
.collection-filters button{
  min-height:38px;
  padding:9px 14px;
  color:var(--muted);
  background:transparent;
  border:1px solid var(--line);
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.collection-filters button.active{color:#fff;background:var(--ink);border-color:var(--ink)}

.collection-grid{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:18px;
}
.collection-card{
  position:relative;
  min-height:480px;
  overflow:hidden;
  background:#d6cec4;
}
.collection-card-tall{grid-row:span 2;min-height:978px}
.collection-card-wide{grid-column:span 2;min-height:550px}
.collection-card[hidden]{display:none}
.collection-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .75s cubic-bezier(.2,.8,.2,1);
}
.collection-card:hover img{transform:scale(1.035)}
.collection-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(13,11,9,.72));
}
.collection-content{
  position:absolute;
  inset:auto 28px 28px;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  color:#fff;
}
.collection-content span{grid-column:1/-1;margin-bottom:7px;font-size:8px;font-weight:700;letter-spacing:.13em}
.collection-content h3{margin:0;font:500 clamp(29px,3.5vw,48px)/1 var(--heading-font)}
.collection-content button{
  padding:0 0 5px;
  color:#fff;
  background:transparent;
  border:0;
  border-bottom:1px solid currentColor;
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.editorial{
  display:grid;
  grid-template-columns:1.03fr .97fr;
  min-height:780px;
}
.editorial-image{min-height:620px}
.editorial-image img{width:100%;height:100%;object-fit:cover}
.editorial-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:8vw;
  background:var(--accent-soft);
}
.editorial-copy>p:not(.eyebrow){
  max-width:510px;
  margin:27px 0;
  color:#4f4942;
  font-size:14px;
  line-height:1.82;
}

.craft{background:#faf8f4}
.craft-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.craft-grid article{
  min-height:300px;
  padding:26px;
  border-right:1px solid var(--line);
}
.craft-grid article:last-child{border-right:0}
.craft-grid span{font-size:8px;font-weight:800;letter-spacing:.1em}
.craft-grid svg{
  width:42px;
  margin-top:36px;
  fill:none;
  stroke:var(--accent);
  stroke-width:1.3;
}
.craft-grid h3{margin:30px 0 14px;font:500 34px/1 var(--heading-font)}
.craft-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.72}

.bespoke{
  position:relative;
  min-height:780px;
  overflow:hidden;
  color:#fff;
  isolation:isolate;
  background:#29231e;
}
.bespoke-photo{
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:url("https://images.unsplash.com/photo-1602751584552-8ba73aad10e1?auto=format&fit=crop&w=2100&q=90");
  background-position:center;
  background-size:cover;
}
.bespoke-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(18,15,12,.82),rgba(18,15,12,.17) 72%);
}
.bespoke-content{
  width:min(660px,84vw);
  padding:clamp(125px,16vw,220px) 0 130px 7vw;
}
.bespoke-content>p:not(.eyebrow){
  max-width:520px;
  margin:28px 0;
  font-size:14px;
  line-height:1.82;
}

.website-price{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:8vw;
  align-items:start;
}
.price-intro>p:not(.eyebrow){
  max-width:550px;
  margin:28px 0 32px;
  color:var(--muted);
  line-height:1.8;
}
.contact-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.contact-links a{
  min-height:105px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:15px;
  border:1px solid var(--line);
  text-decoration:none;
  overflow-wrap:anywhere;
}
.contact-links small{
  margin-bottom:auto;
  color:var(--accent);
  font-size:8px;
  font-weight:800;
  letter-spacing:.11em;
}
.contact-links strong{font-size:12px}

.price-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
}
.form-heading{grid-column:1/-1;padding-bottom:15px;border-bottom:1px solid var(--line)}
.form-heading small{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.13em}
.form-heading h3{margin:6px 0;font:500 42px/1 var(--heading-font)}
.form-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.price-form label{
  display:grid;
  gap:7px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.price-form input,
.price-form select,
.price-form textarea{
  width:100%;
  min-height:48px;
  padding:11px 12px;
  color:var(--ink);
  background:#f8f5f0;
  border:1px solid rgba(25,23,20,.15);
  outline:none;
  text-transform:none;
}
.price-form textarea{resize:vertical}
.price-form input:focus,
.price-form select:focus,
.price-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.15)}
.price-form [aria-invalid="true"]{border-color:#b42318}
.field-error{min-height:12px;color:#b42318;font-size:8px;letter-spacing:0;text-transform:none}
.full{grid-column:1/-1}

footer{
  display:grid;
  grid-template-columns:1.1fr .8fr .9fr;
  gap:50px;
  padding:70px 7vw 105px;
  color:#fff;
  background:#171512;
}
.footer-brand{display:grid;justify-items:start;align-content:start;gap:8px}
.footer-brand .brand-symbol{color:var(--accent-soft)}
.footer-brand>strong{font:500 28px/1 var(--heading-font);letter-spacing:.13em}
.footer-brand small{color:#a99f95;font-size:8px;letter-spacing:.11em}
.footer-nav,.footer-contact{display:grid;align-content:start;gap:10px}
.footer-nav strong,.footer-contact strong{margin-bottom:5px;color:var(--accent-soft);font-size:9px;letter-spacing:.1em}
.footer-nav a,.footer-contact a{color:#cec5bc;text-decoration:none;font-size:11px}
.footer-note{
  grid-column:1/-1;
  margin:20px 0 0;
  padding-top:24px;
  color:#938a81;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:10px;
  line-height:1.72;
}

.mobile-actions{display:none}

.product-modal{
  width:min(880px,calc(100vw - 30px));
  padding:0;
  color:var(--ink);
  background:var(--paper);
  border:0;
  box-shadow:0 40px 120px rgba(0,0,0,.38);
}
.product-modal::backdrop{background:rgba(15,13,11,.72);backdrop-filter:blur(5px)}
.modal-close{
  position:absolute;
  z-index:3;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  color:#fff;
  background:rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.3);
  font-size:24px;
}
.product-modal[open]{display:grid;grid-template-columns:1fr .85fr}
.modal-media{
  min-height:580px;
  background-position:center;
  background-size:cover;
}
.modal-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px}
.modal-copy h2{margin:0;font:500 55px/.95 var(--heading-font)}
.modal-copy>p:not(.eyebrow){margin:24px 0;color:var(--muted);line-height:1.75}

.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s ease,transform .7s ease;
}
.reveal.visible{opacity:1;transform:none}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

@media(max-width:1000px){
  :root{--header-height:72px}
  .site-header{grid-template-columns:auto auto 1fr;gap:12px}
  .menu-button{display:block}
  .site-header nav{
    position:fixed;
    top:calc(var(--notice-height) + var(--header-height));
    left:0;
    right:0;
    display:none;
    padding:24px 4vw;
    background:var(--paper);
    border-bottom:1px solid var(--line);
  }
  .site-header nav.open{display:grid;justify-items:start;gap:20px}
  .header-cta{justify-self:end}
  .hero-categories{display:none}
  .hero-content{width:min(680px,92vw)}
  .intro{grid-template-columns:auto 1fr}
  .intro-copy{grid-column:2}
  .collection-card-tall{min-height:780px}
  .editorial{grid-template-columns:1fr}
  .editorial-image{height:650px}
  .craft-grid{grid-template-columns:1fr 1fr}
  .craft-grid article:nth-child(2){border-right:0}
  .craft-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .website-price{grid-template-columns:1fr}
}

@media(max-width:700px){
  :root{--notice-height:54px;--header-height:66px}
  body{padding-bottom:60px}
  .demo-notice{
    flex-wrap:wrap;
    align-content:center;
    gap:3px 7px;
    padding:6px 10px;
    line-height:1.25;
  }
  .demo-notice strong{width:100%}
  .site-header{padding:0 13px}
  .brand-symbol{width:32px;height:32px}
  .brand strong{font-size:16px}
  .brand small{font-size:5.8px}
  .header-cta{display:none}
  .customizer{right:10px;top:calc(var(--notice-height) + var(--header-height) + 10px)}
  .customizer-toggle{min-height:40px;padding:9px 11px}
  .theme-swatches{grid-template-columns:repeat(8,1fr)}
  .hero{min-height:720px}
  .hero-image{background-position:62% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(17,14,12,.72),rgba(17,14,12,.16)),linear-gradient(180deg,transparent,rgba(0,0,0,.35))}
  .hero-content{width:100%;padding:105px 20px 110px}
  .hero h1{font-size:64px;line-height:.84}
  .hero-copy{max-width:300px;font-size:13px}
  .hero-actions{display:grid;justify-items:start}
  .hero-scroll{left:20px}
  .section{padding:80px 20px}
  .intro{grid-template-columns:1fr;gap:25px}
  .intro-copy{grid-column:auto;padding-top:0}
  .section-heading{grid-template-columns:1fr;gap:22px}
  .collection-grid{grid-template-columns:1fr}
  .collection-card,
  .collection-card-tall,
  .collection-card-wide{grid-column:auto;grid-row:auto;min-height:520px}
  .collection-content{inset:auto 20px 20px}
  .editorial-image{height:510px}
  .editorial-copy{padding:75px 20px}
  .craft-grid{grid-template-columns:1fr}
  .craft-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .bespoke{min-height:710px}
  .bespoke-photo{background-position:62% center}
  .bespoke-content{width:100%;padding:125px 20px}
  .website-price{gap:50px}
  .contact-links{grid-template-columns:1fr}
  .contact-links a{min-height:85px}
  .price-form{grid-template-columns:1fr;padding:20px}
  .form-heading,.full{grid-column:auto}
  footer{grid-template-columns:1fr;padding:60px 20px 95px}
  .footer-note{grid-column:auto}
  .mobile-actions{
    position:fixed;
    inset:auto 0 0;
    z-index:12500;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    background:#171512;
    border-top:1px solid rgba(255,255,255,.13);
  }
  .mobile-actions a{
    min-height:58px;
    display:grid;
    place-items:center;
    color:#fff;
    text-decoration:none;
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .mobile-actions a:last-child{color:#111;background:var(--accent-soft)}
  .product-modal[open]{display:grid;grid-template-columns:1fr}
  .modal-media{min-height:400px}
  .modal-copy{padding:35px 24px}
  .modal-copy h2{font-size:44px}
}
