:root { --bg:#100506; --panel:#17090b; --red:#c9082d; --soft:#eadfe0; --muted:#aa999c; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--bg); color:#fff; font-family:Arial,Helvetica,sans-serif; } a { color:inherit; text-decoration:none; }.wrap { width:min(1240px,calc(100% - 40px)); margin-inline:auto; }
.header { background:#120607; border-bottom:1px solid rgba(201,8,45,.65); }.header-main { min-height:130px; display:grid; grid-template-columns:1.25fr 1fr .8fr auto; gap:30px; align-items:center; }.logo,.hero-logo { display:flex; align-items:center; gap:14px; }.logo-emblem { width:60px; height:60px; display:grid; place-items:center; border:3px solid var(--red); border-radius:50%; color:#fff; font-weight:900; font-size:20px; box-shadow:inset 0 0 0 5px #2c1115; }.logo small,.logo strong,.hero-logo small,.hero-logo strong { display:block; line-height:1; letter-spacing:.055em; }.logo small { color:#d4c9ca; font-size:13px; }.logo strong { margin-top:8px; font-size:25px; }.contact-detail { display:flex; gap:14px; align-items:center; }.contact-detail b { color:var(--red); font-size:25px; }.contact-detail strong,.contact-detail small { display:block; }.contact-detail strong { font-size:15px; }.contact-detail small { margin-top:8px; color:var(--muted); font-size:13px; }.call-button,.red-button { background:var(--red); color:#fff; font-family:Georgia,serif; font-weight:700; letter-spacing:.08em; }.call-button { padding:22px 30px; }.call-button b { margin-left:12px; }.nav { height:84px; display:flex; align-items:center; gap:56px; font-family:Georgia,serif; letter-spacing:.04em; }.nav a { color:#fff; }.nav a.active,.nav a:hover { color:var(--red); }
.hero { min-height:690px; display:grid; grid-template-columns:1fr 1.15fr; gap:50px; align-items:center; padding-block:100px 80px; }.hero-copy { padding-right:20px; }.hero-logo { margin-bottom:34px; }.hero-logo .large { width:92px; height:92px; font-size:32px; border-width:4px; }.hero-logo small { color:#bbaeb0; font-size:24px; font-weight:700; letter-spacing:.12em; }.hero-logo strong { margin-top:7px; font-size:49px; letter-spacing:.035em; }.hero h1 { margin:0; max-width:650px; font-size:clamp(45px,4.9vw,72px); line-height:1.02; letter-spacing:-.035em; }.hero h1 em { display:block; font-weight:400; }.hero p { max-width:610px; margin:30px 0; color:#c8bbbd; font-family:Georgia,serif; font-size:19px; line-height:1.7; }.red-button { display:inline-flex; gap:30px; padding:20px 28px; }.hero-photo { position:relative; min-height:500px; border-radius:24px 0 24px 0; overflow:hidden; box-shadow:0 0 0 1px rgba(201,8,45,.35); }.hero-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,5,6,.18),transparent 60%); }.hero-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center; filter:saturate(.82) contrast(1.08); }
@media(max-width:900px){.header-main{grid-template-columns:1fr auto;min-height:104px}.contact-detail{display:none}.nav{height:68px;gap:30px}.hero{grid-template-columns:1fr;padding-top:70px}.hero-photo{min-height:470px}.hero-copy{padding:0}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1240px)}.header-main{min-height:88px}.logo-emblem{width:47px;height:47px}.logo small{font-size:9px}.logo strong{font-size:17px}.call-button{padding:15px 13px;font-size:12px}.nav{overflow:auto;gap:26px;font-size:13px}.hero{padding-block:54px;gap:36px}.hero-logo .large{width:70px;height:70px}.hero-logo small{font-size:15px}.hero-logo strong{font-size:30px}.hero p{font-size:17px}.hero-photo{min-height:350px}}
.about-section { background:#f4efef; color:#211719; padding:110px 0; }.two-column { display:grid; grid-template-columns:.9fr 1.1fr; gap:9%; align-items:center; }.section-photo { min-height:600px; position:relative; overflow:hidden; border-radius:0 24px 0 24px; }.section-photo img { position:absolute; width:100%; height:100%; object-fit:cover; filter:grayscale(.12); }.shop-photo img { object-position:center; }.shop-photo span { position:absolute; left:0; bottom:0; padding:15px 20px; background:var(--red); color:#fff; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.section-copy .kicker,.section-title .kicker,.contact-section .kicker { color:var(--red); }.kicker { display:block; margin-bottom:20px; font-size:12px; font-weight:900; letter-spacing:.16em; }.section-copy h2,.section-title h2,.promise-section h2,.contact-section h2 { margin:0; font-size:clamp(42px,4.8vw,68px); line-height:1; letter-spacing:-.045em; }.section-copy .intro { margin:32px 0 15px; font-family:Georgia,serif; font-size:22px; line-height:1.5; }.section-copy>p:not(.intro) { color:#665b5d; line-height:1.8; }.owner-row { display:flex; gap:55px; margin:36px 0; padding:28px 0; border-block:1px solid #d8cecf; }.owner-row small,.owner-row strong { display:block; }.owner-row small { font-size:10px; color:#87797b; letter-spacing:.11em; }.owner-row strong { margin-top:7px; font-size:18px; }.text-link { color:var(--red); font-family:Georgia,serif; font-weight:700; letter-spacing:.06em; }
.services-section { padding:110px 0 120px; background:#16090b; }.section-title { max-width:760px; margin-bottom:55px; }.section-title p { max-width:680px; color:#b9abad; font-family:Georgia,serif; font-size:18px; line-height:1.7; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #56323a; border-left:1px solid #56323a; }.service-grid article { min-height:430px; border-right:1px solid #56323a; border-bottom:1px solid #56323a; transition:.2s ease; overflow:hidden; }.service-grid article:hover { background:#240e12; }.service-image { height:170px; overflow:hidden; }.service-image img { width:100%;height:100%;object-fit:cover;filter:saturate(.65) contrast(1.08);transition:.3s; }.service-grid article:hover .service-image img { transform:scale(1.035);filter:saturate(.9); }.service-body { padding:27px 32px 32px; }.service-num { color:var(--red); font-weight:900; }.service-grid h3 { margin:22px 0 12px; font-family:Georgia,serif; font-size:25px; }.service-grid p { min-height:70px; color:#b9abad; line-height:1.6; }.service-grid a { color:var(--red); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.promise-section { padding:75px 0; background:var(--red); }.promise-inner { display:grid; grid-template-columns:1.1fr 1fr auto; align-items:center; gap:7%; }.promise-section .kicker { color:#fff; opacity:.7; }.promise-section p { font-family:Georgia,serif; font-size:18px; line-height:1.65; }.red-button.light { background:#fff; color:#241113; white-space:nowrap; }
.contact-section { padding:110px 0; background:#f4efef; color:#211719; }.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; }.contact-grid>div:first-child p { max-width:460px; color:#6f6264; font-family:Georgia,serif; font-size:18px; line-height:1.7; }.contact-cards { border-top:1px solid #d8cecf; }.contact-cards a { display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:30px; padding:28px 0; border-bottom:1px solid #d8cecf; }.contact-cards small { color:#8e7d80; font-weight:900; letter-spacing:.1em; }.contact-cards strong { font-size:19px; }.contact-cards span { color:var(--red); font-weight:700; }
footer { padding:75px 0 25px; background:#0b0304; }.footer-grid { display:grid; grid-template-columns:1.5fr .8fr 1fr; gap:8%; padding-bottom:55px; }.footer-grid h3 { margin:0 0 20px; font-family:Georgia,serif; }.footer-grid p { color:#a99a9c; line-height:1.9; }.copyright { padding-top:24px; border-top:1px solid #32171c; color:#806e71; font-size:12px; }
@media(max-width:900px){.two-column,.contact-grid{grid-template-columns:1fr}.section-photo{min-height:480px}.service-grid{grid-template-columns:repeat(2,1fr)}.promise-inner{grid-template-columns:1fr;gap:25px}.promise-inner .red-button{justify-self:start}.contact-grid{gap:50px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>.logo{grid-column:1/-1}}
@media(max-width:560px){.about-section,.services-section,.contact-section{padding:75px 0}.section-photo{min-height:360px}.owner-row{flex-direction:column;gap:22px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:400px}.promise-section{padding:62px 0}.contact-cards a{grid-template-columns:1fr;gap:7px}.footer-grid{grid-template-columns:1fr}.footer-grid>.logo{grid-column:auto}}

/* Service detail pages */
.service-hero { padding:62px 0 95px; background:#100506; }.breadcrumbs { display:flex; gap:10px; align-items:center; margin-bottom:55px; color:#9f8e91; font-size:12px; text-transform:uppercase; letter-spacing:.07em; }.breadcrumbs a:hover { color:var(--red); }.breadcrumbs b { color:#fff; }.service-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }.service-hero h1 { margin:0; font-size:clamp(48px,5.7vw,80px); line-height:.98; letter-spacing:-.05em; }.service-hero p { max-width:650px; margin:28px 0; color:#c6b8ba; font-family:Georgia,serif; font-size:20px; line-height:1.7; }.service-actions { display:flex; flex-wrap:wrap; gap:14px; }.outline-button { display:inline-flex; align-items:center; padding:18px 25px; border:1px solid #76535a; font-family:Georgia,serif; font-weight:700; }.detail-photo { min-height:480px; position:relative; overflow:hidden; border-radius:22px 0; box-shadow:14px 14px 0 #270d12; }.detail-photo img { position:absolute; width:100%; height:100%; object-fit:cover; }
.detail-content { padding:105px 0; background:#f4efef; color:#211719; }.detail-grid { display:grid; grid-template-columns:1fr .9fr; gap:10%; align-items:start; }.detail-content h2,.faq-section h2,.related-services h2,.detail-cta h2 { margin:0 0 30px; font-size:clamp(38px,4.2vw,62px); line-height:1; letter-spacing:-.045em; }.check-list { padding:0; list-style:none; border-top:1px solid #d5c8ca; }.check-list li { position:relative; padding:18px 10px 18px 38px; border-bottom:1px solid #d5c8ca; font-weight:700; }.check-list li:before { content:'✓'; position:absolute; left:6px; color:var(--red); }.included-card { padding:46px; background:#16090b; color:#fff; box-shadow:10px 10px 0 var(--red); }.included-card ul { padding:0; list-style:none; }.included-card li { padding:13px 0; border-top:1px solid #4a2930; color:#c8bbbd; }.included-card a { display:inline-block; margin-top:22px; color:var(--red); font-weight:900; text-transform:uppercase; font-size:12px; letter-spacing:.07em; }
.faq-section { padding:100px 0; background:#fff; color:#211719; }.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.faq-grid article { padding:32px; border:1px solid #ddd1d3; }.faq-grid h3 { margin:0 0 14px; font-family:Georgia,serif; font-size:22px; }.faq-grid p { margin:0; color:#6b5c5f; line-height:1.7; }.related-services { padding:100px 0; background:#16090b; }.related-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #56323a; border-left:1px solid #56323a; }.related-grid a { min-height:220px; padding:32px; border-right:1px solid #56323a; border-bottom:1px solid #56323a; }.related-grid span,.related-grid b { color:var(--red); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.related-grid h3 { margin:55px 0 20px; font-size:24px; }.detail-cta { padding:80px 0; background:var(--red); }.detail-cta .wrap { display:flex; justify-content:space-between; align-items:center; gap:40px; }.detail-cta h2 { margin-bottom:12px; }.detail-cta p { margin:0; font-family:Georgia,serif; font-size:18px; }.footer-grid a:hover { color:#fff; }
@media(max-width:900px){.service-hero-grid,.detail-grid{grid-template-columns:1fr}.detail-photo{min-height:430px}.detail-grid{gap:60px}.related-grid{grid-template-columns:1fr}.detail-cta .wrap{align-items:flex-start;flex-direction:column}.faq-grid{grid-template-columns:1fr}}
@media(max-width:560px){.service-hero{padding-top:42px}.breadcrumbs{margin-bottom:38px;flex-wrap:wrap}.detail-photo{min-height:320px}.detail-content,.faq-section,.related-services{padding:72px 0}.included-card{padding:32px 24px}.service-actions{flex-direction:column}.service-actions a{justify-content:center}.detail-cta{padding:65px 0}}
