/* Steel, graphite and pencil: decorative marks never cover the artwork. */
:root{--accent:#c7cfd2;--muted:#b7bdc0;background:#141617}
body{background:radial-gradient(ellipse at 88% 5%,#343a3c55,transparent 38%),repeating-linear-gradient(122deg,#ffffff02 0 1px,transparent 1px 7px),#141617}
header{border-bottom-color:#52595c;position:relative}
.brand i{width:16px;height:16px;border:3px dashed #bcc5c9;background:transparent;border-radius:50%;vertical-align:middle}
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;right:-3%;top:0;width:370px;height:370px;max-width:75vw;background:url('gear-sketch.svg') center/contain no-repeat;opacity:.18}
h1,h2,h3{font-family:"Segoe UI",Arial,sans-serif;font-weight:700;font-stretch:normal}
h1{font-size:clamp(2.5rem,4.8vw,4.6rem);line-height:1.14;letter-spacing:-.025em}
h2{line-height:1.2;letter-spacing:-.015em}
h3{letter-spacing:0}
.brand{letter-spacing:.09em}
h1 em{color:#d7dddf;position:relative;display:inline-block}
h1 em::after{content:"";display:block;height:8px;margin-top:10px;background:repeating-linear-gradient(174deg,transparent 0 2px,#a5afb17a 2px 3px,transparent 3px 5px);transform:rotate(-1deg)}
.eyebrow{color:#bec8cd;font-family:Consolas,"Courier New",monospace;letter-spacing:.14em}
.button{background:linear-gradient(160deg,#e1e5e6,#a4afb4);border-color:#e0e5e6;border-radius:5px;color:#171b1d;box-shadow:inset 0 1px #ffffff70,0 4px 14px #0002}
.button:hover{background:linear-gradient(160deg,#f0f2f2,#bcc6ca)}
.button.secondary,.card-cta{background:linear-gradient(145deg,#353a3d,#24282a);color:#edf0f1;border-color:#626b70;box-shadow:inset 0 1px #ffffff0b}
.button.secondary:hover,.card-cta:hover{background:#41494d}
.featured,.gallery figure,.commission-panel,.enquiry-form{background:linear-gradient(145deg,#303537,#202426);border-color:#535c60;border-radius:10px;box-shadow:inset 0 1px #ffffff0b,0 16px 35px #0003}
.featured{position:relative;transform:rotate(-.6deg)}
.featured::after{content:"";position:absolute;inset:6px;border:1px solid #ccd4d41c;border-radius:7px;pointer-events:none;transform:rotate(.35deg)}
.art-frame{background:#171b1d;border:1px solid #626b7044;border-radius:4px;padding:12px}
.art-frame:hover{background:#353d41}
.gallery figure{transition:border-color .2s,box-shadow .2s}
.gallery figure:hover{border-color:#889498;box-shadow:inset 0 1px #ffffff12,0 20px 40px #0004}
.paper-crop{box-shadow:0 2px 9px #0004}
.intro-strip{border-color:#5c666a;border-bottom-style:dashed;font-family:Consolas,"Courier New",monospace}
section{border-color:#41494c;position:relative}
.section-top h2::after,#commissions h2::after,#questions h2::after{content:"";display:block;width:76px;height:7px;margin-top:18px;background:repeating-linear-gradient(135deg,#b0babd88 0 1px,transparent 1px 4px)}
.steps li::before{border:2px dashed #8e9b9f;background:#1f2527;color:#dce2e4;font-family:Consolas,monospace}
.product-meta,.commission-meta,details{border-color:#535c60}
.portrait-slot{background:repeating-linear-gradient(135deg,#ffffff03 0 1px,transparent 1px 5px),linear-gradient(130deg,#343b3e,#1c2022);border-color:#586165;border-radius:10px}
.portrait-slot .monogram{color:#b5bfc1;font-family:Georgia,serif;font-style:italic;font-weight:400;text-shadow:2px 2px #111;transform:rotate(-7deg)}
input,select,textarea{background:#191e20;border-color:#616c71;border-radius:4px}
dialog{background:#22292c;border-color:#748186;border-radius:10px}
.viewer-controls button,.viewer-top button{background:#343e42;border-color:#657277}
.wall.garage{background:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 36px),linear-gradient(120deg,#384044,#737e83)}
.builder-credit{color:#b7bfc2}
@media(max-width:760px){.hero::before{width:230px;height:230px;top:20px;right:0;opacity:.12}.featured{transform:none}.hero h1{font-size:clamp(2.35rem,9.5vw,3.8rem);line-height:1.14;letter-spacing:-.02em}}
@media(prefers-reduced-motion:reduce){.gallery figure{transition:none}}

.launch-gallery{grid-template-columns:minmax(0,760px);justify-content:center}.availability-badge{display:inline-block;margin:2px 5px 8px;padding:8px 12px;border:1px solid #7e8b91;border-radius:4px;color:#e1e7e9;font-size:12px;font-weight:700;letter-spacing:.04em}.launch-gallery .fine{padding:0 5px}

/* Portfolio finishing: consistent cards and distinct display captions. */
.gallery{gap:28px;align-items:stretch}
.gallery figure{display:flex;flex-direction:column;padding:16px}
.gallery .art-frame{flex:1;display:grid;align-content:center;min-width:0}
.gallery figcaption{align-items:flex-start;padding:20px 4px 14px;flex-wrap:wrap;line-height:1.45}
.gallery figcaption strong{font-size:18px;font-weight:600}
.gallery figcaption span{padding-top:4px}
.gallery .availability-badge{align-self:flex-start;margin:0 4px 5px;background:#151b1e66}
.portfolio-notice{max-width:880px;line-height:1.75;margin:0 0 28px;padding-left:16px;border-left:2px solid #66767d}
.room{overflow:hidden;border:1px solid #4e5a60;border-radius:10px;background:#23292c}
.wall{border-radius:0;height:350px}
.room figcaption{padding:20px 23px;display:grid;gap:7px}
.room figcaption strong{font-size:20px;letter-spacing:-.015em;color:#edf0f1;font-weight:600}
.room figcaption span{font-size:12px;color:#b7c0c4;line-height:1.6}
@media(max-width:760px){.gallery{gap:22px}.gallery figure{padding:12px}.wall{height:280px}.room figcaption{padding:18px}.commission-meta{flex-wrap:wrap;gap:20px}nav{gap:14px}.nav-cta{white-space:nowrap}}
