:root{--paper:#f9f4ed;--ink:#31241f;--wine:#6c3743;--soft:#f1e3df;--line:#dfcec5;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.brand{font-family:var(--serif);font-weight:400;line-height:1.06}h1{font-size:clamp(3rem,6.1vw,6rem);letter-spacing:-.06em}h1 em{color:var(--wine)}h2{font-size:clamp(2.5rem,5vw,4.1rem);letter-spacing:-.05em;margin-bottom:1.25rem}h3{font-size:1.75rem;margin-bottom:.8rem}p{max-width:59ch}p+p{margin-top:1rem}.wrap{max-width:1240px;width:calc(100% - 96px);margin:auto}.header{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 0;border-bottom:1px solid var(--line);gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-size:1.65rem}.brand span{display:grid;place-items:center;border:1px solid #a47572;border-radius:50%;width:44px;height:44px;color:var(--wine);font-style:italic}.brand small,.eyebrow{display:block;font:700 .7rem/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase}.brand small{margin-top:.25rem}.header nav{display:flex;gap:1.8rem}.header nav a{text-decoration:none;font-size:.9rem}.header nav a:hover{text-decoration:underline}.eyebrow{color:var(--wine);margin-bottom:1rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;background:var(--wine);color:#fff;text-decoration:none;padding:.78rem 1.18rem;border:1px solid var(--wine);border-radius:4px;font-weight:650;font-size:.88rem}.button:hover{background:#512734;color:#fff}.outline{color:var(--wine);background:transparent}.hero{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding:3rem 0 4.4rem}.hero-copy>p:not(.eyebrow){margin:1.5rem 0;color:#564641}.hero figure{position:relative}.hero img{aspect-ratio:4/4.4;object-position:48% 20%;border-radius:48% 48% 5px 5px / 33% 33% 5px 5px}.hero figcaption{position:absolute;bottom:1rem;left:1rem;background:var(--paper);padding:.55rem .9rem;font-family:var(--serif);font-size:1.25rem;border-radius:3px}.hero figcaption span{display:block;font:.76rem var(--sans);color:#654e46}.services,.steps,.contact{padding:4.8rem 0}.services{background:var(--soft)}.cards,.gallery,.steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.cards article{border:1px solid #d9c2bc;padding:1.6rem;background:var(--paper);border-radius:5px}.cards .featured{background:var(--wine);color:white;border-color:var(--wine)}.cards a{display:inline-block;margin-top:1.1rem;font-size:.86rem;text-underline-offset:.2em}.about{display:grid;grid-template-columns:.7fr 1fr;gap:clamp(2rem,8vw,8rem);align-items:center;padding:5rem 0}.about img{height:auto;aspect-ratio:4/5;border-radius:5px}.steps{border-block:1px solid var(--line)}.steps ol{list-style:none;padding:0;margin:1.8rem 0}.steps li{border-top:1px solid var(--line);padding:1rem 0}.space{padding:5rem 0}.gallery img{aspect-ratio:3/4;border-radius:4px;object-position:center 40%}.contact{background:#522b36;color:white;text-align:center}.contact .eyebrow{color:#f0d1d7}.contact p{margin-inline:auto}.contact .button{margin-top:1.2rem}.light{background:var(--paper);color:var(--wine);border-color:var(--paper)}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 0;font-size:.85rem}.skip{position:absolute;left:.5rem;top:.5rem;transform:translateY(-160%);padding:.5rem;background:white;z-index:2}.skip:focus{transform:none}:focus-visible{outline:2px solid #a45d67;outline-offset:4px}
@media(max-width:820px){.wrap{width:calc(100% - 48px)}.header nav{gap:.8rem}.hero{gap:1.5rem}.cards article{padding:1rem}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.header{flex-wrap:wrap}.header nav{order:3;width:100%;justify-content:space-between;padding-top:.45rem}.hero,.about{grid-template-columns:1fr}.hero,.about,.space,.steps,.services,.contact{padding-block:2.8rem}.hero img{aspect-ratio:4/4.2}.about img{max-width:330px}.cards,.steps ol{grid-template-columns:1fr}.gallery{gap:.45rem}.gallery img{aspect-ratio:2/3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.header nav a[aria-current="page"]{color:var(--wine);text-decoration:underline;text-underline-offset:.35em}
.catalog-intro{padding-block:4rem 3rem}
.catalog-intro h1{max-width:14ch}
.catalog-intro>p:not(.eyebrow){margin-top:1.25rem}
.categories{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.categories a{border:1px solid #b7948a;border-radius:2rem;padding:.45rem .9rem;text-decoration:none;color:var(--wine);font-weight:650;font-size:.88rem}
.categories a:hover{background:var(--soft)}
.catalog-link{margin-top:1.3rem}
.catalog-band{background:var(--soft)}
.catalog-section,.laser-section{display:grid;gap:clamp(2rem,7vw,6rem);padding-block:4.5rem}
.catalog-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr)}
.catalog-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1.75rem}
.catalog-items article{border-top:1px solid #bb9f94;padding-top:1rem}
.catalog-items h3{margin-bottom:.55rem}
.laser-section{grid-template-columns:1fr 1fr;align-items:center}
.laser-section img{height:auto;aspect-ratio:3/2;border-radius:5px}
.laser-section figcaption{font-size:.78rem;margin-top:.4rem;color:#65504a}
@media(max-width:720px){.catalog-section,.laser-section{grid-template-columns:1fr;padding-block:3rem}}
@media(max-width:470px){.catalog-items{grid-template-columns:1fr}.catalog-intro{padding-top:2.75rem}}

.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;column-gap:.75rem}
.contact-social{border-color:#d8a7b1;background:transparent}
