@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Caslon Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-4.ttf) format('truetype');
}


:root { --cream: #faf7f1; --sand: #eee7dc; --ink: #333a32; --muted: #6f736a; --terra: #a96649; --line: #dcd8cd; --serif: "Libre Caslon Display",Georgia,serif; --sans: "DM Sans",Arial,sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { background: var(--cream); color: var(--ink); font-family: var(--sans); margin: 0px; font-size: 15px; line-height: 1.7; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { max-width: 100%; display: block; }
h1, h2, h3, p, figure { margin: 0px; }
h1, h2, h3 { font-weight: 400; }
h1, h2 { font-family: var(--serif); letter-spacing: -0.035em; line-height: 1.02; }
h1 { font-size: clamp(62px, 5.8vw, 90px); }
h2 { font-size: clamp(42px, 4.15vw, 64px); }
h3 { font-size: 24px; line-height: 1.3; font-family: var(--serif); }
em { color: var(--terra); font-weight: 400; }
p { color: var(--muted); }
.wrap { width: min(1280px, 100% - 112px); margin: auto; }
.section { padding: 100px 0px; }
.eyebrow { text-transform: uppercase; letter-spacing: 0.17em; color: var(--muted); margin-bottom: 20px; font-size: 10px; font-weight: 650; }
.preview-bar { text-align: center; letter-spacing: 0.075em; background: rgb(232, 223, 210); justify-content: center; align-items: center; gap: 18px; height: 30px; font-size: 10px; display: flex; }
.preview-bar span { color: rgb(118, 111, 100); border-left: 1px solid rgb(188, 179, 166); padding-left: 18px; }
.header { justify-content: space-between; align-items: center; max-width: 1512px; height: 106px; margin: auto; padding: 0px 56px; display: flex; }
.brand { align-items: center; gap: 13px; line-height: 1.1; display: flex; }
.monogram { font-family: var(--serif); letter-spacing: -0.09em; border-right: 1px solid rgb(187, 187, 174); padding-right: 17px; font-size: 52px; line-height: 0.95; }
.brand-dot { color: var(--terra); }
.brand > span + span { letter-spacing: 0.19em; font-size: 20px; }
.brand small { letter-spacing: 0.15em; margin-top: 8px; font-size: 7px; display: block; }
.nav { align-items: center; gap: 32px; font-size: 12px; display: flex; }
.button { border: 1px solid var(--ink); background: var(--ink); color: rgb(255, 253, 247); justify-content: center; align-items: center; gap: 28px; padding: 16px 24px; font-size: 12px; font-weight: 500; line-height: 1.4; transition: background 0.2s, transform 0.2s; display: inline-flex; }
.button:hover { background: rgb(80, 88, 70); transform: translateY(-1px); }
.button span { font-size: 20px; font-weight: 400; }
.nav-cta { gap: 24px; padding: 12px 18px; }
.menu-toggle { display: none; }
.hero { grid-template-columns: 47% 53%; align-items: center; min-height: 650px; padding: 34px 0px 64px; display: grid; }
.hero-copy { padding: 0px 45px 10px 0px; }
.hero-copy .eyebrow { align-items: center; gap: 12px; margin-bottom: 28px; display: flex; }
.tiny-line { background: var(--terra); width: 26px; height: 1px; }
.hero-intro { max-width: 370px; margin-top: 26px; font-size: 15px; line-height: 1.9; }
.hero-actions { flex-wrap: wrap; align-items: center; gap: 25px; margin-top: 30px; display: flex; }
.textlink { color: var(--ink); background: 0px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(161, 163, 152); border-image: none; align-items: center; gap: 17px; padding: 5px 0px; font-size: 12px; display: inline-flex; }
.hero-note { letter-spacing: 0.07em; margin-top: 25px; font-size: 10px; }
.hero-image { height: 565px; margin-left: 14px; position: relative; }
.hero-image > img { object-fit: cover; object-position: 48% center; border-radius: 120px 0px 0px; width: 100%; height: 100%; }
.hero-image figcaption { background: rgba(255, 250, 240, 0.93); align-items: center; gap: 8px; padding: 14px 16px; font-size: 11px; display: flex; position: absolute; bottom: 20px; left: 20px; right: 20px; }
.hero-image figcaption small { color: var(--muted); margin-left: auto; font-size: 8px; }
.caption-dot { background: var(--terra); border-radius: 50%; width: 5px; height: 5px; }
.round-note { background: rgb(238, 227, 208); border: 1px solid rgb(192, 171, 147); border-radius: 50%; flex-direction: column; justify-content: center; align-items: center; width: 106px; height: 106px; font-size: 11px; line-height: 1.3; display: flex; position: absolute; top: 25px; right: -18px; transform: rotate(9deg); }
.round-note em { font-family: var(--serif); color: var(--ink); font-size: 24px; }
.round-note > span { margin-top: 5px; font-size: 20px; }
.promise-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); letter-spacing: 0.08em; justify-content: center; gap: 100px; padding: 22px; font-size: 11px; display: flex; }
.promise-strip span::before { content: "✧"; color: var(--terra); margin-right: 15px; font-size: 15px; }
.section-top { justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 44px; display: flex; }
.section-top > p { max-width: 340px; font-size: 13px; line-height: 1.9; }
.category-list { border-top: 1px solid var(--line); }
.category { text-align: left; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); background: 0px 0px; grid-template-columns: 55px 95px 1fr 50px; align-items: center; gap: 18px; width: 100%; padding: 27px 10px; transition: background 0.2s; display: grid; }
.category:hover { background: rgb(240, 235, 225); }
.category-num { color: var(--terra); font-size: 10px; }
.category-icon { background: rgb(234, 227, 215); border-radius: 50%; place-items: center; width: 65px; height: 65px; font-family: Georgia; font-size: 34px; display: grid; }
.category h3 { font-size: 28px; }
.category p { margin-top: 7px; font-size: 13px; }
.circle-arrow { background: 0px 0px; border: 1px solid rgb(192, 195, 183); border-radius: 50%; flex-shrink: 0; place-items: center; width: 42px; height: 42px; font-size: 20px; display: grid; }
.inspiration { background: rgb(238, 233, 223); }
.pill { white-space: nowrap; border: 1px solid rgb(201, 195, 182); border-radius: 20px; padding: 7px 14px; font-size: 10px; }
.product-grid { grid-template-columns: 1.2fr 1fr; gap: 38px; display: grid; }
.product-photo { position: relative; overflow: hidden; }
.product-photo img { object-fit: cover; width: 100%; height: 370px; transition: transform 0.5s; }
.product:hover img { transform: scale(1.025); }
.secondary { padding-top: 65px; }
.secondary .product-photo img { height: 305px; }
.photo-tag { background: var(--cream); letter-spacing: 0.04em; padding: 6px 12px; font-size: 9px; position: absolute; top: 18px; left: 18px; }
.product-info { align-items: flex-start; gap: 20px; margin-top: 23px; display: flex; }
.product-info .eyebrow { font-size: 9px; }
.product-info h3 { margin-top: 7px; font-size: 31px; }
.product-info p { max-width: 420px; margin-top: 10px; font-size: 12px; }
.product-info .circle-arrow { margin-left: auto; }
.image-disclaimer { color: rgb(125, 125, 112); max-width: 650px; margin-top: 37px; font-size: 10px; }
.process { grid-template-columns: 1fr 1.1fr; gap: 100px; display: grid; }
.process-intro p:not(.eyebrow) { max-width: 320px; margin: 25px 0px; font-size: 14px; }
.steps { margin: 0px; padding: 0px; list-style: none; }
.steps li { border-bottom: 1px solid var(--line); gap: 25px; padding: 22px 0px; display: flex; }
.steps li:first-child { padding-top: 0px; }
.steps li > span { color: var(--terra); padding-top: 5px; font-size: 11px; }
.steps h3 { font-size: 26px; }
.steps p { max-width: 400px; margin-top: 7px; font-size: 13px; }
.about { background: rgb(227, 231, 220); padding: 85px 0px; }
.about-grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; display: grid; }
.atelier-art { background: rgb(213, 196, 170); flex-direction: column; justify-content: center; align-items: center; min-height: 465px; display: flex; position: relative; overflow: hidden; box-shadow: rgba(185, 158, 121, 0.333) 0px 0px 120px inset; }
.atelier-art::before, .atelier-art::after { content: ""; border: 1px solid rgb(184, 158, 126); border-radius: 50%; width: 200px; height: 360px; position: absolute; top: -100px; right: -80px; transform: rotate(32deg); }
.atelier-art::after { width: 310px; height: 500px; top: auto; bottom: -80px; left: -150px; }
.art-word { letter-spacing: 0.45em; font-size: 13px; }
.art-script { font-family: var(--serif); text-align: center; color: rgb(98, 76, 54); margin: 40px 0px; font-size: 62px; line-height: 1.05; transform: rotate(-6deg); }
.art-line { background: rgb(130, 109, 82); width: 35px; height: 1px; }
.art-sign { font-family: var(--serif); margin-top: 20px; font-size: 46px; }
.about h2 { font-size: 57px; }
.about p:not(.eyebrow) { max-width: 420px; margin-top: 21px; font-size: 13px; }
.about .textlink { margin-top: 24px; }
.faq { grid-template-columns: 0.85fr 1.15fr; gap: 80px; display: grid; }
.faq > div > p:not(.eyebrow) { margin-top: 23px; font-size: 13px; }
details { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; justify-content: space-between; gap: 25px; padding: 19px 0px; font-size: 13px; list-style: none; display: flex; }
summary::-webkit-details-marker { display: none; }
summary > span { font-size: 20px; font-weight: 400; line-height: 1; }
details[open] summary > span { transform: rotate(45deg); }
details p { padding-bottom: 20px; font-size: 13px; }
.request-section { background: rgb(238, 231, 220); }
.request-grid { grid-template-columns: 0.78fr 1.22fr; gap: 100px; display: grid; }
.request-intro > p:not(.eyebrow) { max-width: 300px; margin-top: 23px; font-size: 14px; }
.request-intro h2 { font-size: 76px; }
.form-note { border-top: 1px solid rgb(204, 197, 183); gap: 16px; max-width: 330px; margin-top: 40px; padding-top: 28px; display: flex; }
.form-note > span { color: var(--terra); font-size: 28px; line-height: 1; }
.form-note strong { font-size: 12px; font-weight: 550; }
.form-note p { margin: 10px 0px; font-size: 12px; }
.form-note a { font-size: 11px; text-decoration: underline; }
.small { font-size: 11px !important; }
.muted { color: rgb(120, 122, 110); }
.inquiry-form { background: rgb(250, 247, 241); padding: 34px; box-shadow: rgba(123, 102, 67, 0.03) 0px 12px 50px; }
fieldset { border: 0px; margin: 0px 0px 25px; padding: 0px; }
legend { margin-bottom: 12px; font-size: 13px; font-weight: 550; }
.kind-options { grid-template-columns: 1fr 1fr; gap: 8px; display: grid; }
.kind { cursor: pointer; border: 1px solid rgb(212, 213, 201); align-items: center; gap: 9px; padding: 12px; font-size: 11px; display: flex; }
.kind.selected { background: rgb(231, 234, 221); border-color: rgb(127, 137, 118); }
.kind input { accent-color: var(--ink); margin: 0px; }
.upload { text-align: center; background: rgb(240, 236, 227); border: 1px dashed rgb(183, 185, 169); margin-bottom: 22px; padding: 20px; position: relative; }
.upload label { cursor: pointer; flex-direction: column; align-items: center; display: flex; }
.upload strong { font-size: 12px; font-weight: 500; }
.upload span:not(.upload-icon) { color: var(--muted); margin-top: 7px; font-size: 10px; }
.upload small { color: var(--muted); font-size: 9px; }
.upload-icon { margin-bottom: 12px; font-size: 28px; line-height: 1; }
.upload input { width: 100%; max-width: 280px; margin: 14px auto 0px; font-size: 10px; display: block; }
.field { flex-direction: column; gap: 6px; margin-top: 17px; font-size: 11px; display: flex; position: relative; }
.field input, .field textarea, .field select { color: var(--ink); background: 0px 0px; border: 1px solid rgb(207, 206, 195); border-radius: 0px; width: 100%; min-width: 0px; padding: 12px; font-size: 12px; }
.field textarea { resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline-offset: 1px; outline: rgb(154, 171, 141) solid 2px; }
.optional { color: var(--muted); font-size: 9px; position: absolute; right: 0px; }
.form-row { grid-template-columns: 1fr 1fr; gap: 16px; display: grid; }
.field-help { margin-top: 8px; font-size: 9px; }
.consent { gap: 10px; margin-top: 24px; font-size: 10px; line-height: 1.6; display: flex; }
.consent input { accent-color: var(--ink); flex-shrink: 0; align-self: flex-start; margin-top: 3px; }
.submit { justify-content: space-between; width: 100%; margin-top: 20px; }
.form-bottom { text-align: center; margin-top: 11px; font-size: 9px; }
.attachments { margin: 0px; padding: 0px; list-style: none; }
.attachments li { border-bottom: 1px solid var(--line); align-items: center; gap: 12px; padding: 9px 0px; font-size: 11px; display: flex; }
.attachments img, .file-symbol { object-fit: cover; background: rgb(232, 227, 218); width: 44px; height: 44px; }
.file-symbol { place-items: center; display: grid; }
.attachments li > span { overflow-wrap: anywhere; }
.attachments small { color: var(--muted); display: block; }
.attachments button { background: 0px 0px; border: 0px; margin-left: auto; font-size: 24px; }
.message { overflow-wrap: anywhere; background: rgb(231, 234, 221); margin-top: 18px; padding: 14px 16px; font-size: 12px; }
.error { color: rgb(119, 60, 43); background: rgb(244, 223, 212); }
.success a { margin-top: 8px; text-decoration: underline; display: block; }
footer { background: var(--ink); color: rgb(247, 243, 233); padding: 50px 0px 20px; }
.footer-top { justify-content: space-between; align-items: center; gap: 30px; display: flex; }
.footer-top p { color: rgb(197, 203, 188); font-size: 12px; }
.footer-top > div { gap: 24px; font-size: 11px; display: flex; }
.footer-bottom { color: rgb(197, 203, 188); border-top: 1px solid rgb(100, 107, 92); justify-content: space-between; margin-top: 45px; padding-top: 20px; font-size: 9px; display: flex; }
.footer-bottom button { color: inherit; background: 0px 0px; border: 0px; margin-left: 20px; padding: 0px; font-size: 9px; }
.footer-bottom button span { opacity: 0.65; margin-left: 4px; }
dialog { background: var(--cream); color: var(--ink); border: 0px; width: min(640px, 100% - 32px); max-height: 90vh; padding: 32px; box-shadow: rgba(0, 0, 0, 0.267) 0px 20px 90px; }
dialog::backdrop { backdrop-filter: blur(4px); background: rgba(36, 44, 36, 0.66); }
dialog h2 { margin-bottom: 23px; font-size: 40px; }
dialog p { margin: 15px 0px; font-size: 13px; }
.dialog-head { justify-content: space-between; align-items: center; display: flex; }
.dialog-head button { background: 0px 0px; border: 0px; font-size: 28px; }
.dialog-actions { justify-content: space-between; align-items: center; gap: 18px; margin-top: 25px; display: flex; }
dl { grid-template-columns: 120px 1fr; gap: 12px; font-size: 12px; display: grid; }
dt { color: var(--muted); }
dd { overflow-wrap: anywhere; margin: 0px; }
.prewrap { white-space: pre-wrap; }
.skip { z-index: 30; background: rgb(255, 255, 255); padding: 15px; position: fixed; top: -100px; left: 20px; }
.skip:focus { top: 10px; }
:is(a:focus-visible, button:focus-visible, summary:focus-visible) { outline: 2px solid var(--terra); outline-offset: 5px; }
button:disabled { opacity: 0.6; cursor: wait; }
.admin { max-width: 900px; padding: 50px 0px; }
.admin h1 { margin: 20px 0px; font-size: 65px; }
.admin > .eyebrow { margin-top: 35px; }
.request { border: 1px solid var(--line); background: rgb(255, 255, 255); margin-top: 25px; padding: 30px; }
.request h2 { margin-bottom: 12px; font-size: 32px; }
.request p { margin: 10px 0px; }
.request small { margin-top: 20px; font-size: 10px; display: block; }
.filelink { border: 1px solid var(--line); margin: 4px; padding: 8px 14px; font-size: 12px; display: inline-block; }
.empty { border: 1px solid var(--line); margin-top: 30px; padding: 30px; }
.empty a { text-decoration: underline; }
@media (min-width: 1600px) {
  .hero-image { height: 610px; }
}
@media (max-width: 1100px) {
  .wrap { width: calc(100% - 64px); }
  .header { padding: 0px 32px; }
  .nav { gap: 19px; font-size: 11px; }
  .hero { grid-template-columns: 48% 52%; }
  .hero-copy { padding-right: 20px; }
  .hero-actions { gap: 16px; }
  .hero-image { height: 500px; margin-left: 5px; }
  .hero h1 { font-size: 65px; }
  .promise-strip { gap: 35px; }
  .section { padding: 75px 0px; }
  .request-grid { gap: 45px; }
  .process { gap: 60px; }
  .about-grid, .faq { gap: 45px; }
  .inquiry-form { padding: 25px; }
  .footer-top > div { gap: 15px; }
  .product-photo img { height: 310px; }
  .secondary .product-photo img { height: 245px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 20px; }
  .wrap { width: calc(100% - 40px); }
  .preview-bar { gap: 10px; height: 27px; font-size: 8px; }
  .preview-bar span { padding-left: 10px; }
  .header { z-index: 10; height: 85px; padding: 0px 20px; position: relative; }
  .monogram { font-size: 43px; }
  .brand > span + span { font-size: 16px; }
  .brand small { font-size: 6px; }
  .menu-toggle { background: 0px 0px; border: 0px; padding: 10px; font-size: 24px; display: block; }
  .nav { background: var(--cream); flex-direction: column; align-items: stretch; gap: 0px; padding: 20px; font-size: 14px; display: none; position: absolute; top: 85px; left: 0px; right: 0px; box-shadow: rgba(51, 51, 51, 0.133) 0px 15px 25px; }
  .nav > a { padding: 14px; }
  .nav.open { display: flex; }
  .hero { flex-direction: column; align-items: stretch; min-height: 0px; padding: 25px 0px 38px; display: flex; }
  .hero-copy { padding: 0px; }
  .hero-copy .eyebrow { margin-bottom: 22px; font-size: 9px; }
  .hero h1 { font-size: 65px; line-height: 1.02; }
  .hero-intro { max-width: 330px; margin-top: 23px; font-size: 14px; }
  .hero-actions { gap: 19px; margin-top: 26px; }
  .button { gap: 19px; padding: 15px 19px; font-size: 11px; }
  .textlink { gap: 10px; font-size: 11px; }
  .hero-note { margin-top: 19px; font-size: 9px; }
  .hero-image { width: 100%; height: 380px; margin: 35px 0px 0px; }
  .hero-image > img { object-position: center center; border-radius: 85px 0px 0px; }
  .round-note { width: 87px; height: 87px; font-size: 9px; top: 14px; right: -8px; }
  .round-note em { font-size: 21px; }
  .round-note > span { font-size: 16px; }
  .hero-image figcaption { gap: 6px; padding: 12px; font-size: 9px; bottom: 12px; left: 12px; right: 12px; }
  .hero-image figcaption small { font-size: 7px; }
  .promise-strip { letter-spacing: 0px; justify-content: space-between; gap: 12px; padding: 17px 20px; font-size: 8px; }
  .promise-strip span { text-align: center; max-width: 95px; }
  .promise-strip span::before { margin: 0px 0px 3px; display: block; }
  .section { padding: 60px 0px; }
  h2 { font-size: 43px; }
  .section-top { margin-bottom: 28px; display: block; }
  .section-top > p { margin-top: 18px; font-size: 12px; }
  .section-top .pill { margin-top: 20px; display: inline-block; }
  .category { grid-template-columns: 20px 45px 1fr 30px; gap: 11px; padding: 20px 0px; }
  .category-icon { width: 41px; height: 41px; font-size: 25px; }
  .category h3 { font-size: 22px; }
  .category p { font-size: 11px; line-height: 1.65; }
  .category .circle-arrow { width: 30px; height: 30px; font-size: 17px; }
  .category-num { font-size: 8px; }
  .product-grid { grid-template-columns: 1fr; gap: 32px; }
  .secondary { padding-top: 0px; }
  .product-photo img, .secondary .product-photo img { height: 300px; }
  .product-info { margin-top: 17px; }
  .product-info h3 { font-size: 28px; }
  .product-info p { font-size: 12px; }
  .image-disclaimer { margin-top: 26px; font-size: 9px; }
  .process { grid-template-columns: 1fr; gap: 35px; }
  .process-intro p:not(.eyebrow) { max-width: none; }
  .steps li { padding: 20px 0px; }
  .steps h3 { font-size: 25px; }
  .steps p { font-size: 12px; }
  .about { padding: 50px 0px; }
  .about-grid { flex-direction: column; align-items: stretch; gap: 35px; display: flex; }
  .atelier-art { min-height: 320px; }
  .art-script { margin: 25px 0px; font-size: 53px; }
  .art-sign { font-size: 36px; }
  .about h2 { font-size: 46px; }
  .faq { grid-template-columns: 1fr; gap: 25px; }
  .faq h2 br { display: none; }
  .faq h2 { font-size: 43px; }
  .faq > div > p:not(.eyebrow) { margin-top: 15px; }
  .request-grid { grid-template-columns: 1fr; gap: 32px; }
  .request-intro h2 { font-size: 62px; }
  .request-intro > p:not(.eyebrow) { max-width: none; }
  .form-note { max-width: none; margin-top: 25px; padding-top: 22px; }
  .inquiry-form { margin: 0px -5px; padding: 23px 17px; }
  .kind { gap: 6px; padding: 10px 8px; font-size: 10px; }
  .form-row { gap: 12px; }
  .field input, .field textarea, .field select { padding: 10px; font-size: 16px; }
  .field { font-size: 11px; }
  .field-help { font-size: 10px; }
  .consent { font-size: 11px; }
  .form-bottom { font-size: 9px; }
  .footer-top { flex-wrap: wrap; align-items: flex-start; }
  .footer-top > div { justify-content: space-between; width: 100%; font-size: 11px; }
  .footer-top p { font-size: 10px; }
  .footer-bottom { margin-top: 28px; font-size: 9px; display: block; }
  .footer-bottom > div { margin-top: 12px; }
  .footer-bottom button { margin: 0px 15px 0px 0px; font-size: 9px; }
  .dialog-actions { flex-direction: column; align-items: stretch; }
  .dialog-actions .textlink { align-self: flex-start; }
  dialog { padding: 24px; }
  dialog h2 { font-size: 34px; }
  dl { grid-template-columns: 86px 1fr; gap: 12px; }
  .admin { padding: 30px 0px; }
  .admin h1 { font-size: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
.header { height: 155px; }
.logo-mark { mix-blend-mode: multiply; flex-shrink: 0; width: 150px; height: 135px; display: block; position: relative; overflow: hidden; }
.logo-mark img { object-fit: contain; width: 214px; max-width: none; height: 214px; position: absolute; top: -45px; left: -33px; }
footer .logo-mark { mix-blend-mode: normal; background: rgb(255, 255, 255); border-radius: 2px; width: 170px; height: 160px; }
footer .logo-mark img { top: -32px; left: -22px; }
.craft-explainer { max-width: 355px; }
.craft-explainer p { font-size: 13px; line-height: 1.9; }
.craft-number { text-transform: uppercase; letter-spacing: 0.12em; color: var(--terra); margin-bottom: 15px; font-size: 10px; display: block; }
.craft-explainer .textlink { margin-top: 17px; }
.craft-grid { grid-template-columns: repeat(3, 1fr); gap: 26px; display: grid; }
.craft-card figure { margin-bottom: 22px; position: relative; overflow: hidden; }
.craft-card figure img { object-fit: cover; width: 100%; height: 330px; transition: transform 0.4s; }
.craft-card:hover figure img { transform: scale(1.025); }
.craft-card figcaption { background: rgba(250, 247, 241, 0.91); padding: 5px 9px; font-size: 8px; position: absolute; bottom: 12px; left: 12px; }
.craft-card h3 { margin-bottom: 12px; font-size: 28px; }
.craft-card p { font-size: 12px; line-height: 1.9; }
.craft-card .textlink { margin-top: 17px; }
.craft-bottom { border-top: 1px solid var(--line); justify-content: space-between; align-items: center; gap: 45px; margin-top: 42px; padding-top: 30px; display: flex; }
.craft-bottom p { max-width: 650px; font-size: 12px; }
.craft-bottom .button { flex-shrink: 0; }
.plotter-section { background: rgb(233, 232, 223); }
.kind:last-child:nth-child(2n+1) { grid-column: 1 / -1; }
.hero-note { letter-spacing: 0.04em; }
@media (max-width: 1100px) {
  .craft-card figure img { height: 260px; }
  .craft-card h3 { font-size: 25px; }
  .craft-grid { gap: 20px; }
  .craft-explainer { max-width: 310px; }
  .craft-bottom { gap: 30px; }
}
@media (max-width: 760px) {
  .header { height: 116px; }
  .logo-mark { width: 113px; height: 106px; }
  .logo-mark img { width: 164px; height: 164px; top: -33px; left: -26px; }
  .nav { top: 116px; }
  .hero { padding-top: 20px; }
  .craft-grid { grid-template-columns: 1fr; gap: 35px; }
  .craft-card figure img { height: 330px; }
  .craft-card figure { margin-bottom: 17px; }
  .craft-card h3 { font-size: 29px; }
  .craft-card p { font-size: 13px; }
  .craft-explainer { max-width: none; margin-top: 23px; }
  .craft-bottom { margin-top: 30px; padding-top: 25px; display: block; }
  .craft-bottom .button { margin-top: 20px; }
  .craft-card .textlink { margin-top: 14px; }
  footer .logo-mark { width: 142px; height: 135px; }
  footer .logo-mark img { width: 190px; height: 190px; top: -35px; left: -24px; }
}
.shop-section { background: rgb(240, 235, 228); scroll-margin-top: 100px; }
.shop-intro { justify-content: space-between; align-items: center; gap: 32px; margin-bottom: 22px; display: flex; }
.shop-intro > p { max-width: 670px; }
.catalog-hint { color: rgb(117, 103, 92); background: rgb(250, 247, 241); border-left: 2px solid rgb(183, 131, 103); margin: 22px 0px 30px; padding: 14px 18px; font-size: 13px; }
.catalog-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px; display: grid; }
.catalog-card { background: rgb(255, 253, 248); border: 1px solid rgb(226, 216, 202); border-radius: 3px; overflow: hidden; }
.catalog-card figure { margin: 0px; position: relative; }
.catalog-card img { object-fit: cover; width: 100%; height: 330px; display: block; }
.catalog-card figcaption { background: rgba(255, 253, 245, 0.93); padding: 8px 12px; font-size: 11px; position: absolute; bottom: 12px; left: 12px; right: 12px; }
.catalog-copy { padding: 30px; }
.catalog-copy h3 { margin: 10px 0px 16px; font-size: 32px; line-height: 1.2; }
.catalog-price { margin: 22px 0px; font-family: Georgia, serif; font-size: 36px; }
.catalog-price small { color: rgb(116, 107, 98); margin-top: 3px; font-family: inherit; font-size: 13px; display: block; }
.catalog-copy dl { grid-template-columns: 110px 1fr; gap: 12px; margin: 24px 0px; font-size: 14px; line-height: 1.5; display: grid; }
.catalog-copy dd { margin: 0px; }
.catalog-copy dt { color: rgb(118, 107, 97); }
.catalog-grid.single { display: block; }
.catalog-grid.single .catalog-card { grid-template-columns: 1fr 1fr; display: grid; }
.catalog-grid.single .catalog-card figure { min-height: 500px; }
.catalog-grid.single img { height: 100%; position: absolute; inset: 0px; }
.catalog-custom { border-top: 1px solid rgb(218, 206, 191); justify-content: space-between; align-items: center; gap: 25px; margin-top: 36px; padding-top: 26px; display: flex; }
.catalog-custom h3 { margin: 0px 0px 8px; }
.catalog-custom p { margin: 0px; }
.catalog-filters, .admin-tabs { flex-wrap: wrap; gap: 10px; margin: 26px 0px; display: flex; }
.catalog-filters button, .admin-tabs button { color: inherit; background: 0px 0px; border: 1px solid rgb(203, 191, 172); border-radius: 30px; padding: 11px 19px; }
.catalog-filters .active, .admin-tabs .active { color: rgb(255, 255, 255); background: rgb(56, 59, 52); border-color: rgb(56, 59, 52); }
.admin { max-width: 1120px; padding-bottom: 100px; }
.admin h1 { font-size: 64px; }
.admin h2 { font-size: 34px; }
.admin-top, .admin-heading { justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 30px; display: flex; }
.admin-top { margin-bottom: 50px; }
.admin-tabs { border-bottom: 1px solid rgb(216, 205, 191); padding-bottom: 20px; }
.admin-products { margin-top: 30px; }
.admin-products article { border-top: 1px solid rgb(216, 205, 191); align-items: center; gap: 24px; padding: 24px 0px; display: flex; }
.admin-products article img { object-fit: cover; width: 110px; height: 110px; }
.admin-products article > div { flex: 1 1 0%; }
.admin-products h3 { margin: 4px 0px; font-size: 24px; }
.admin-products p { margin: 5px 0px; }
.editor { background: rgb(255, 253, 248); border: 1px solid rgb(216, 205, 191); padding: 30px; }
.editor-grid { grid-template-columns: 1fr 1.4fr; gap: 36px; display: grid; }
.editor-image { object-fit: cover; width: 100%; height: 300px; margin-bottom: 20px; }
.admin .field { margin: 18px 0px; }
.admin-guide { max-width: 760px; }
.admin-guide section { border-bottom: 1px solid rgb(216, 205, 191); margin: 35px 0px; padding-bottom: 22px; }
.admin-guide li { margin: 12px 0px; padding-left: 8px; line-height: 1.6; }
.admin .request small { overflow-wrap: anywhere; margin-top: 18px; font-size: 11px; display: block; }
.order-dialog .field { margin: 18px 0px; }
.button:disabled { opacity: 0.55; cursor: not-allowed; }
@media (max-width: 700px) {
  .shop-intro, .catalog-custom, .admin-heading { display: block; }
  .shop-intro .pill { margin-top: 8px; display: inline-block; }
  .catalog-grid, .catalog-grid.single .catalog-card, .editor-grid { grid-template-columns: 1fr; }
  .catalog-grid.single .catalog-card figure { min-height: 300px; }
  .catalog-copy { padding: 24px; }
  .catalog-copy h3 { font-size: 29px; }
  .catalog-custom .textlink { margin-top: 20px; display: inline-block; }
  .admin-products article { flex-wrap: wrap; gap: 15px; }
  .admin-products article img { width: 75px; height: 90px; }
  .admin-products article .textlink { margin-left: 90px; }
  .admin-top { display: block; }
  .admin-top .pill { margin-top: 20px; display: inline-block; }
  .admin h1 { font-size: 46px; }
  .editor { padding: 18px; }
  .admin-heading .button { margin-top: 10px; }
  .order-dialog .form-row, .editor .form-row { grid-template-columns: 1fr; }
}
.honeypot{position:absolute;left:-9999px}.formstatus{padding:12px}dialog{border:1px solid #dcd8cd;background:#faf7f1;color:#333a32;max-width:650px;width:90%;padding:30px}dialog::backdrop{background:#0007}.admin{max-width:1000px;margin:40px auto;padding:24px}.admin input,.admin textarea,.admin select{display:block;max-width:100%;width:100%;padding:10px;margin:5px 0 16px;border:1px solid #bbb;background:white}.admin button{padding:10px 18px;margin:8px 8px 8px 0}.admin nav{display:flex;gap:20px;margin-bottom:25px}.admin fieldset{margin:22px 0;padding:18px}.admin .check{width:auto;display:inline}.admin .notice{background:#eee7dc;padding:16px;margin:15px 0}.admin table{width:100%;border-collapse:collapse}.admin td,.admin th{text-align:left;padding:9px;border-bottom:1px solid #ccc}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:28px}.catalog-card{border:1px solid var(--line);padding:20px}.catalog-card img{width:100%;height:220px;object-fit:cover}.catalog-card h3{margin:15px 0}.catalog-card p{margin:10px 0}.catalog-card strong{font-size:24px} .request-form input[type=file]{position:static!important;opacity:1!important;width:100%!important;height:auto!important;display:block!important}
