:root{--ink:#090a0b;--paper:#f3f3f0;--muted:#a8a8a3;--accent:#f4ff4b;--line:rgba(255,255,255,.16)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#fff;font-family:Inter,Arial,sans-serif;font-size:16px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
figure,h1,h2,h3,p{margin-top:0}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(9,10,11,.95);position:relative;z-index:10;border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;align-items:center;width:max-content;font:700 1rem/.9 "Barlow Condensed",sans-serif;letter-spacing:.08em}
.brand i{width:100%;height:1px;background:#fff;margin:4px 0}
nav{display:flex;align-items:center;gap:30px;font-size:.9rem}
nav a{color:#dadad6;transition:.2s}
nav a:hover{color:var(--accent)}
.nav-book{border:1px solid var(--accent);padding:12px 18px;color:var(--accent)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:10px 14px}
.hero{min-height:calc(100vh - 88px);position:relative;display:flex;align-items:center;padding:8vw 6vw;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,6,.97) 0%,rgba(4,5,6,.75) 45%,rgba(4,5,6,.1) 82%),linear-gradient(0deg,rgba(4,5,6,.72),transparent 50%)}
.hero-content{position:relative;max-width:820px}
.eyebrow{text-transform:uppercase;color:var(--accent);font:600 .75rem/1 Inter,sans-serif;letter-spacing:.2em;margin-bottom:24px}
.hero h1,.intro h2,.services h2,.work h2,.reviews h2,.team h2,.visit h2,.final-cta h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.025em}
.hero h1{font-size:clamp(4rem,8vw,8rem);line-height:.82;margin-bottom:32px}
.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #fff}
.hero-copy{max-width:520px;color:#deded9;line-height:1.7;font-size:1.08rem}
.hero-actions,.visit-links{display:flex;align-items:center;gap:20px;margin-top:36px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 22px;font-weight:600;font-size:.9rem}
.button.primary{background:var(--accent);color:var(--ink)}
.button.ghost{border:1px solid var(--line)}
.rating{position:absolute;right:5vw;bottom:40px;display:flex;gap:12px;align-items:center;background:rgba(9,10,11,.9);padding:15px 18px;font-size:.85rem}
.rating span{color:var(--accent);letter-spacing:.12em}
.rating small{color:var(--muted)}

.intro{background:var(--paper);color:var(--ink);padding:120px 8vw;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}
.intro h2,.story h2,.section-heading h2,.team h2,.visit h2,.final-cta h2{font-size:clamp(3.6rem,7vw,7rem);line-height:.87;margin:0}
.intro h2 span{color:transparent;-webkit-text-stroke:1px var(--ink)}
.intro-copy{line-height:1.8;color:#50514e;max-width:520px}
.intro-copy p:last-child{margin-bottom:0}
.shop-gallery{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:4px;background:var(--ink);padding:4px}
.shop-gallery figure{height:620px;margin:0;overflow:hidden}
.shop-gallery img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .5s}
.shop-gallery figure:hover img{transform:scale(1.025)}
.shop-gallery-main img{object-position:center 45%}
.story{padding:130px 8vw;display:grid;grid-template-columns:1fr .8fr;gap:9vw;background:#0e1011}
.story h2{margin-bottom:48px}
.story h2 span{color:transparent;-webkit-text-stroke:1px #fff}
.story-copy{padding-top:32px;border-top:1px solid var(--line);color:#c7c8c3;line-height:1.8}
.story-copy p{margin-bottom:22px}
.story-copy strong{display:block;margin-top:35px;color:var(--accent);font:600 1.35rem/1.3 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.04em}
.story-founders{display:flex;align-items:center;gap:10px;color:#bfc0bb;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.story-founders i{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-style:normal;font-weight:700}
.story-founders b{margin:0 8px;color:#666;font-weight:400}
.services,.work,.reviews,.team,.visit,.final-cta{padding:120px 8vw}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}
.section-heading>p{max-width:390px;color:var(--muted);line-height:1.7}
.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:8px;font-size:.9rem}
.work{background:#141617}
.work-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.work-grid figure{margin:0;aspect-ratio:4/5;overflow:hidden;background:#222}
.work-grid img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .4s}
.work-grid figure:hover img{transform:scale(1.03)}

.reviews{background:var(--paper);color:var(--ink)}
.reviews-heading{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end;margin-bottom:58px}
.reviews-heading h2{font-size:clamp(3.6rem,7vw,7rem);line-height:.87;margin:0}
.reviews-heading h2 span{color:transparent;-webkit-text-stroke:1px var(--ink)}
.reviews-score{display:grid;grid-template-columns:auto auto;column-gap:15px;align-items:center;min-width:250px;padding:24px 0;border-top:1px solid #c9cac6;border-bottom:1px solid #c9cac6}
.reviews-score strong{font:700 4rem/.8 "Barlow Condensed",sans-serif;grid-row:1/3}
.reviews-score>span,.review-stars{color:#d8e500;letter-spacing:.12em}
.reviews-score small{color:#666;line-height:1.45}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#d3d4cf}
.review-card{background:var(--ink);color:#fff;padding:34px;min-height:330px;display:flex;flex-direction:column}
.review-stars{font-size:.9rem;margin-bottom:30px}
.review-card blockquote{font:500 1.35rem/1.55 Inter,sans-serif;margin:0 0 35px}
.review-card footer{margin-top:auto;padding:22px 0 0;display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--line);font-size:.78rem}
.review-card cite{font-style:normal;font-weight:700;font-size:1rem}
.review-card footer span{color:var(--muted);text-align:right}
.reviews-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:38px}

.services{background:var(--ink)}
.service-list{border-top:1px solid var(--line)}
.service-list>a{display:grid;grid-template-columns:60px 1fr 90px 90px;gap:25px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:.2s}
.service-list>a:hover{padding-left:12px;background:rgba(255,255,255,.025)}
.service-list span{color:var(--accent);font-size:.76rem}
.service-list h3{font:600 2rem/1 "Barlow Condensed";text-transform:uppercase;margin-bottom:8px}
.service-list p{color:var(--muted);margin:0;font-size:.88rem}
.service-list strong{font:600 1.35rem Inter}
.service-list b{font-size:.8rem;color:var(--accent)}
.team{background:var(--paper);color:var(--ink)}
.team>h2{margin-bottom:60px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c9cac6}
.team-card{min-height:390px;background:var(--paper);padding:34px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}
.team-card:hover{background:#e7e8e4}
.team-card>span{color:#747671;font-size:.75rem}
.team-card div>p:first-child{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#777}
.team-card h3{font:700 3.6rem/.9 "Barlow Condensed";text-transform:uppercase;margin-bottom:20px}
.team-card .bio{font-size:.93rem;line-height:1.65;color:#545550}
.team-card a{font-size:.85rem;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:8px;width:max-content}
.visit{display:grid;grid-template-columns:1fr .85fr;gap:9vw;align-items:start}
.visit address{font-style:normal;font-size:1.1rem;line-height:1.7;color:#c7c7c2;margin-top:32px}
.phone{display:inline-block;margin-top:18px;font-size:1.15rem}
.hours{border-top:1px solid var(--line);padding-top:28px}
.hours dl{margin:0}
.hours dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.hours dt{color:#cdcdc8}
.hours dd{margin:0;color:var(--muted)}
.final-cta{text-align:center;background:#151718}
.final-cta h2{margin-bottom:40px}
.final-cta .button{min-width:220px}
footer{padding:45px 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}
footer .brand{color:#fff}
footer p{margin:0}
footer p:last-child{text-align:right}
.mobile-book{display:none}

@media(max-width:1100px){.work-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){.site-header{height:72px}
.menu-toggle{display:block}
nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);padding:24px 5vw;flex-direction:column;align-items:stretch;gap:22px}
nav.open{display:flex}
.hero{min-height:760px;padding:100px 6vw 130px}
.hero h1{font-size:clamp(3.8rem,16vw,6.2rem)}
.hero-shade{background:linear-gradient(90deg,rgba(4,5,6,.91),rgba(4,5,6,.28)),linear-gradient(0deg,rgba(4,5,6,.92),transparent 55%)}
.rating{left:6vw;right:auto;bottom:34px}
.intro,.story,.visit{grid-template-columns:1fr;padding:85px 6vw}
.intro,.story{gap:38px}
.story-copy{padding-top:30px}
.shop-gallery{grid-template-columns:1fr 1fr}
.shop-gallery figure{height:390px}
.shop-gallery-main{grid-column:1/-1}
.services,.work,.reviews,.team,.final-cta{padding:85px 6vw}
.reviews-heading{grid-template-columns:1fr;gap:38px}
.reviews-score{max-width:300px}
.reviews-grid{grid-template-columns:1fr 1fr}
.section-heading{display:block}
.section-heading>a,.section-heading>p{margin-top:25px}
.work-grid{grid-template-columns:1fr 1fr}
.team-grid{grid-template-columns:1fr}
.team-card{min-height:300px}
.service-list>a{grid-template-columns:35px 1fr auto}
.service-list b{display:none}
.visit{gap:65px}
footer{grid-template-columns:1fr;gap:25px;text-align:left;padding-bottom:100px}
footer p:last-child{text-align:left}
.mobile-book{display:flex;position:fixed;z-index:20;left:16px;right:16px;bottom:14px;background:var(--accent);color:var(--ink);justify-content:space-between;padding:16px 20px;font-weight:700;box-shadow:0 10px 40px rgba(0,0,0,.45)}
}

@media(max-width:520px){.hero-actions{align-items:stretch;flex-direction:column}
.hero-actions .button{width:100%}
.rating small{display:none}
.shop-gallery{grid-template-columns:1fr}
.shop-gallery-main{grid-column:auto}
.shop-gallery figure{height:420px}
.work-grid{gap:3px}
.reviews-grid{grid-template-columns:1fr}
.review-card{min-height:290px;padding:28px}
.service-list h3{font-size:1.55rem}
.service-list>a{gap:15px}
.service-list strong{font-size:1.05rem}
.team-card h3{font-size:3rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}
