:root{
  --ink:#0a0a0a;
  --ink-2:#141414;
  --bone:#f3f1ea;
  --bone-dim:#a8a49a;
  --blood:#8a0f0f;
  --line:#2a2a2a;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{background:var(--ink);color:var(--bone);font-family:'Inter',sans-serif;overflow-x:hidden;}
::selection{background:var(--blood);color:var(--bone);}
h1,h2,h3,.logo{font-family:'Unbounded',sans-serif;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

/* NAV */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,10,10,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1100px;margin:0 auto;}
.logo{font-size:20px;font-weight:800;letter-spacing:.02em;}
.logo span{color:var(--blood);}
.navlinks{display:flex;gap:28px;font-size:14px;font-weight:500;color:var(--bone-dim);}
.navlinks a{position:relative;padding:4px 0;transition:color .25s;}
.navlinks a:hover,.navlinks a:focus-visible,.navlinks a.active{color:var(--bone);}
.navlinks a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--blood);transition:width .3s;}
.navlinks a:hover::after,.navlinks a.active::after{width:100%;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{width:22px;height:2px;background:var(--bone);display:block;}

/* PAGE HERO (non-home pages) */
.page-hero{padding:150px 24px 60px;text-align:center;border-bottom:1px solid var(--line);}
.page-hero .eyebrow{font-size:13px;color:var(--blood);font-weight:600;margin-bottom:14px;}
.page-hero h1{font-size:clamp(34px,7vw,64px);font-weight:800;}

/* HOME HERO */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:120px 24px 60px;}
.hero-tag{font-size:13px;letter-spacing:.08em;color:var(--blood);margin-bottom:18px;font-weight:600;}
.hero h1{font-size:clamp(42px,10vw,110px);line-height:.95;font-weight:800;letter-spacing:-.01em;}
.hero h1 em{font-style:normal;color:var(--blood);}
.hero p{max-width:480px;margin:22px auto 34px;color:var(--bone-dim);font-size:16px;line-height:1.6;}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;font-weight:600;font-size:14px;border-radius:2px;transition:transform .2s,background .2s,color .2s;border:1px solid var(--bone);}
.btn-solid{background:var(--bone);color:var(--ink);}
.btn-solid:hover{transform:translateY(-2px);background:var(--blood);color:var(--bone);border-color:var(--blood);}
.btn-outline{border-color:var(--line);color:var(--bone);}
.btn-outline:hover{transform:translateY(-2px);border-color:var(--bone);}
.needle{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:1px;height:50px;background:linear-gradient(var(--blood),transparent);animation:drip 2.2s ease-in-out infinite;}
@keyframes drip{0%,100%{opacity:.2;height:30px;}50%{opacity:1;height:50px;}}

section{padding:100px 0;}
.eyebrow{font-size:13px;color:var(--blood);font-weight:600;margin-bottom:10px;}
h2{font-size:clamp(30px,5vw,48px);font-weight:600;margin-bottom:20px;max-width:560px;}
.lead{color:var(--bone-dim);max-width:520px;font-size:16px;line-height:1.7;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:50px;}
.about-mark{aspect-ratio:1;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
.about-mark svg{width:70%;height:70%;stroke:var(--bone);}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
.stat b{display:block;font-family:'Unbounded',sans-serif;font-size:30px;color:var(--blood);}
.stat span{font-size:13px;color:var(--bone-dim);}

/* SERVICES */
.svc-list{margin-top:44px;border-top:1px solid var(--line);}
.svc{display:flex;justify-content:space-between;align-items:center;padding:26px 4px;border-bottom:1px solid var(--line);transition:padding-left .3s,background .3s;}
.svc:hover{padding-left:14px;background:var(--ink-2);}
.svc h3{font-size:20px;font-weight:600;font-family:'Inter',sans-serif;}
.svc p{color:var(--bone-dim);font-size:14px;margin-top:4px;max-width:400px;}
.svc .price{font-family:'Unbounded',sans-serif;color:var(--blood);font-size:15px;white-space:nowrap;}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;}
.gitem{aspect-ratio:1;background:var(--ink-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;cursor:pointer;}
.gitem svg{width:60%;height:60%;stroke:var(--bone);transition:transform .5s ease,stroke .5s ease;}
.gitem:hover svg{transform:scale(1.12) rotate(-3deg);stroke:var(--blood);}
.gitem:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gitem:nth-child(1) svg{width:38%;height:38%;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;margin-top:44px;}
.info-row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
.info-row b{display:block;font-size:14px;margin-bottom:4px;}
.info-row span{color:var(--bone-dim);font-size:14px;line-height:1.6;}
.contact-cta{border:1px solid var(--line);padding:40px 30px;display:flex;flex-direction:column;gap:14px;align-self:start;}
.contact-cta h3{font-family:'Unbounded',sans-serif;font-size:20px;margin-bottom:6px;}
.contact-cta .btn{justify-content:center;width:100%;}
.map-dot{width:8px;height:8px;border-radius:50%;background:var(--blood);display:inline-block;margin-right:8px;box-shadow:0 0 0 4px rgba(138,15,15,.25);}

footer{border-top:1px solid var(--line);padding:36px 0;text-align:center;color:var(--bone-dim);font-size:13px;}

.float-wa{position:fixed;right:20px;bottom:20px;z-index:90;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.4);transition:transform .25s;}
.float-wa:hover{transform:scale(1.08);}
.float-wa svg{width:26px;height:26px;fill:#fff;}

@media (max-width:820px){
  .navlinks{position:fixed;top:64px;left:0;right:0;background:var(--ink);flex-direction:column;padding:20px 24px;gap:0;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s;}
  .navlinks.open{transform:translateY(0);}
  .navlinks a{padding:14px 0;border-bottom:1px solid var(--line);width:100%;}
  .burger{display:flex;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .gitem:nth-child(1){grid-column:span 2;grid-row:span 1;aspect-ratio:2/1.1;}
}
