@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101111;--panel:#191b1b;--ink:#f5f3ed;--muted:#bdbeb8;--accent:#dcfa53;--line:#333633;--display:"Barlow Condensed","Arial Narrow",Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:.95}h1,h2{font-family:var(--display);text-transform:uppercase;font-weight:800}h1{font-size:clamp(66px,10vw,152px);letter-spacing:-.035em}h1 span{color:var(--accent)}h2{font-size:clamp(44px,6.5vw,90px);letter-spacing:-.015em}h3{font-size:1.3rem}.shell{width:min(100% - 8vw,1320px);margin-inline:auto}.skip{position:absolute;top:-4em;left:1em;z-index:5;background:var(--accent);color:#111;padding:.6em}.skip:focus{top:1em}
.header{border-bottom:1px solid var(--line)}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:83px}.brand{display:block;flex:none;width:clamp(126px,20vw,184px)}
.top nav{display:flex;align-items:center;gap:clamp(15px,3vw,40px);font-size:.92rem;white-space:nowrap}.top nav a{color:var(--muted)}.top nav a:hover,.top nav [aria-current]{color:var(--accent)}.top-phone{border:1px solid var(--line);padding:10px 15px;white-space:nowrap;font-weight:700}.top-phone span{color:var(--accent);margin-left:.5em}
.hero{position:relative;isolation:isolate;display:grid;align-items:end;min-height:520px;overflow:hidden;background:#202422}.hero-home{min-height:min(690px,76svh)}.hero>img,.hero:after{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center 50%}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#090b0bf0 0%,#090b0bb8 34%,#090b0b23 86%),linear-gradient(0deg,#0d0f0fd1,transparent 50%)}.hero-inner{padding-block:88px 64px}.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.19em;color:var(--accent);margin-bottom:18px}.intro{max-width:440px;margin-top:22px;color:#efeee7;font-size:clamp(1rem,2vw,1.2rem)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.button{display:inline-flex;align-items:center;gap:16px;background:var(--accent);color:#101111;padding:13px 19px;font-weight:700;border:1px solid var(--accent)}.button:hover{background:#f0ff9b}.ghost{color:var(--ink);background:#161818a0;border-color:#ffffff66}.ghost:hover{background:#343936}
.section{padding-block:clamp(56px,8vw,105px)}.section-head{display:flex;gap:16px;align-items:end;justify-content:space-between;margin-bottom:26px}.section-head p,.service-text p,.workshop p:not(.eyebrow),.about p,.details address,.details dl{color:var(--muted)}.services,.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service{display:grid;grid-template-rows:auto 1fr;background:var(--panel);border:1px solid var(--line)}.service img,.tile img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-text{padding:24px;display:grid;grid-template-columns:1fr auto;gap:12px}.service-text h3{font:700 clamp(30px,4vw,50px)/.95 var(--display);text-transform:uppercase}.service-text p{grid-column:1/-1}.service-text span,.text-link,.details a{color:var(--accent)}.service:hover,.tile:hover{border-color:var(--accent)}.tile{display:block;border:1px solid var(--line);background:var(--panel)}.tile img{aspect-ratio:3/2}
.workshop{display:grid;grid-template-columns:1.1fr 1fr;background:var(--panel);margin-bottom:clamp(56px,8vw,105px)}.workshop img{height:100%;min-height:290px;object-fit:cover}.workshop>div{padding:clamp(25px,5vw,66px)}.workshop h2{font-size:clamp(45px,5.5vw,76px)}.workshop p:not(.eyebrow),.about p{margin-block:18px}.text-link{font-weight:700;display:inline-block;margin-top:8px}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:32px}.about p:first-child{margin-top:0}
footer{background:#171919;border-top:1px solid var(--line)}.footer-grid{padding-block:60px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid h2{font-size:clamp(43px,5.5vw,76px)}.details h3{margin-bottom:16px}.details address{font-style:normal;margin-bottom:8px}.details dl{display:grid;grid-template-columns:auto auto;justify-content:start;gap:4px 14px;margin:0}.details dd{margin:0}.footer-bottom,.socials{display:flex;flex-wrap:wrap;gap:18px}.footer-bottom{justify-content:space-between;border-top:1px solid var(--line);padding-block:18px;color:var(--muted);font-size:.88rem}.socials a{display:flex;align-items:center;gap:6px}.socials img{width:17px;height:17px;object-fit:contain}
dialog{width:min(96vw,1200px);max-width:none;max-height:95dvh;background:#111;color:var(--ink);border:1px solid var(--line);padding:0}dialog::backdrop{background:#000d}.viewer{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:50px 8px 12px}.viewer img{width:100%;height:min(73dvh,850px);object-fit:contain}.viewer button{border:1px solid var(--line);background:var(--panel);color:var(--ink);width:40px;height:40px;cursor:pointer;font-size:1.6rem}.viewer [data-close]{position:absolute;top:6px;right:8px}.viewer output{grid-column:1/-1;text-align:center;color:var(--muted)}
@media(max-width:760px){.top{flex-wrap:wrap;gap:12px;padding-top:13px}.top nav{order:3;width:100%;justify-content:space-between;gap:9px;padding-bottom:12px;font-size:.85rem}.top-phone{font-size:.85rem;padding:7px 10px}.hero,.hero-home{min-height:520px}.hero:after{background:linear-gradient(0deg,#090b0bf5 5%,#090b0b32 90%)}.hero-inner{padding-block:60px 40px}.services,.workshop,.about{grid-template-columns:1fr}.service img{aspect-ratio:16/9}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.workshop img{min-height:0;aspect-ratio:16/10}}
@media(max-width:365px){.top nav{font-size:.75rem}.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.footer-credits a,.privacy-policy a{text-decoration:underline;text-underline-offset:.18em}
.privacy-policy{max-width:760px;overflow-wrap:anywhere}
.privacy-policy h1{font-size:clamp(46px,8vw,96px);margin-bottom:24px}
.privacy-policy h2{font-size:clamp(30px,5vw,46px);margin:34px 0 12px}
.privacy-policy p+p{margin-top:16px}
.privacy-policy a{color:var(--accent)}
