:root{color-scheme:dark;--ink:#f8f4f1;--muted:#d2caca;--red:#a51425;--bright:#ff9ca6;--line:#49373d;--base:#110f11}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--ink);font:1rem/1.6 system-ui,sans-serif}
a{color:inherit;text-underline-offset:.23em}
a:hover{color:var(--bright)}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
:focus-visible{outline:3px solid #ff9ca6;outline-offset:4px}
.skip{position:absolute;left:1rem;top:-100px;background:#fff;color:#111;padding:.5rem;z-index:5}
.skip:focus{top:1rem}
.wrap{width:min(1180px,calc(100% - 3rem));margin-inline:auto}
.mast,footer{border-block:1px solid var(--line);background:#151215}
.nav,.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.15rem}
.brand{font:700 1.2rem Georgia,serif;letter-spacing:.07em;text-decoration:none}
.brand span{font:700 .75rem system-ui;letter-spacing:.14em}
nav,.foot>div:nth-child(2){display:flex;flex-wrap:wrap;gap:.65rem 1.4rem}
nav a{font-size:.9rem;text-decoration:none}
.hero{background:radial-gradient(ellipse at 80% 30%,#430f18 0%,#201318 39%,#110f11 74%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.2fr .85fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding-block:clamp(3rem,8vw,7rem)}
.crest{padding:clamp(.25rem,1vw,.7rem);background:linear-gradient(135deg,#e0d7d9,#6f565e 35%,#23191d 58%,#a71e31);border-radius:.3rem;box-shadow:0 1.8rem 4rem #0008;transform:rotate(-2deg)}
.crest img{width:100%;border-radius:.15rem}
h1,h2,h3{font-family:Georgia,serif;font-weight:500;line-height:1.05;margin:0 0 .5em;overflow-wrap:anywhere}
h1{font-size:clamp(2.7rem,7.4vw,6.2rem);letter-spacing:-.056em}
h2{font-size:clamp(1.9rem,4vw,3.6rem);letter-spacing:-.04em}
h3,.catalog h2{font-size:1.55rem}
p{margin:0 0 1rem}
.eyebrow,.num{font-size:.75rem;font-weight:750;letter-spacing:.19em;text-transform:uppercase;color:var(--bright);display:block;margin-bottom:1rem}
.lede{font-size:clamp(1rem,2vw,1.2rem);max-width:37rem;color:var(--muted)}
.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1rem;background:var(--red);border:1px solid transparent;color:#fff;font:700 .9rem/1.35 system-ui;text-decoration:none;cursor:pointer}
.btn:hover{background:#c21f32;color:#fff}
.ghost{background:transparent;border-color:#927981}
.panel{padding-block:clamp(3rem,7vw,5.4rem)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:2rem}
.service{background:linear-gradient(155deg,#271a20,#181518 70%);border:1px solid var(--line);border-top:2px solid #94787e;padding:1.25rem;display:flex;flex-direction:column;align-items:start}
.service p,.spotlight p{color:var(--muted)}
.service a:last-child{margin-top:auto}
.service img{aspect-ratio:1;object-fit:cover;margin-bottom:1rem}
.spotlight{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1.3rem,5vw,3.4rem);border:1px solid #7a3944;background:linear-gradient(115deg,#2c1219,#51121f)}
.spotlight p:last-child{margin-bottom:0}
.project,.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem)}
.product>div:only-child{grid-column:1/-1;max-width:52rem}
.product h1{font-size:clamp(2.4rem,5vw,4.5rem)}
.product-media{display:grid;gap:.75rem;align-content:start}
label{display:block;font-weight:650;margin-bottom:.25rem}
input,select,textarea{display:block;width:min(100%,32rem);padding:.7rem;border:1px solid #977e86;background:#1e191d;color:inherit;font:inherit;margin:0 0 .9rem;border-radius:0}
.rte{max-width:70ch;margin-bottom:1.5rem;overflow-wrap:anywhere}
.cart-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(4.5rem,7rem) auto;align-items:center;gap:.8rem;border-top:1px solid var(--line);padding:1rem 0}
.pagination{margin-top:1.5rem}
.foot{padding-block:2rem}
.foot p{color:var(--muted);margin:0}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wrap{width:calc(100% - 2rem)}.hero-grid,.project,.product{grid-template-columns:1fr}.crest{max-width:24rem}.nav{align-items:flex-start;flex-direction:column}}
@media(max-width:390px){.cards{grid-template-columns:1fr}}
