@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800&family=Oswald:wght@500;600;700&display=swap');

:root{
  --black:#0d0d0d;
  --black-2:#151515;
  --cream:#efe6d1;
  --cream-dim:#bdb4a1;
  --red:#7b1f1f;
  --red-hot:#a12c27;
  --line:#342f2b;
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--black);
  color:var(--cream);
  font-family:"Oswald",Arial,sans-serif;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
p{line-height:1.65}
.grain{
  position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:50;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}

.site-header{
  height:88px;padding:0 max(24px,calc((100vw - var(--max))/2));
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:20;background:rgba(13,13,13,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:baseline;gap:8px;font-family:"Barlow Condensed",sans-serif;font-weight:900;letter-spacing:-1px}
.brand-main{font-size:28px}
.brand-sub{font-size:18px;color:var(--red-hot);letter-spacing:2px}
.desktop-nav{display:flex;gap:34px;font-size:14px;letter-spacing:1.5px;text-transform:uppercase}
.desktop-nav a{opacity:.8}
.desktop-nav a:hover{opacity:1;color:#fff}

.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 22px;background:var(--red-hot);border:1px solid var(--red-hot);
  color:white;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  transform:skew(-4deg);transition:.18s ease;
  box-shadow:6px 6px 0 #3a0b0b;
}
.button:hover{transform:skew(-4deg) translate(-2px,-2px);box-shadow:9px 9px 0 #3a0b0b}
.button-small{padding:10px 16px;font-size:13px}
.button-ghost{background:transparent;border-color:#756d60;box-shadow:none;color:var(--cream)}
.button-ghost:hover{border-color:var(--cream);box-shadow:none}

.hero{
  min-height:calc(100vh - 88px);max-width:var(--max);margin:auto;
  padding:80px 24px 65px;position:relative;display:flex;align-items:center;
  border-left:1px solid var(--line);border-right:1px solid var(--line);
  background:
    radial-gradient(circle at 80% 20%, rgba(123,31,31,.32), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.025) 25%, transparent 25%) 0 0/24px 24px;
}
.hero-stripe{position:absolute;left:0;top:12%;bottom:12%;width:9px;background:var(--red-hot)}
.hero-content{max-width:920px}
.eyebrow{font-size:13px;letter-spacing:4px;color:#d55d53;font-weight:700;text-transform:uppercase}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;margin:0;text-transform:uppercase}
h1{
  font-size:clamp(68px,10.2vw,145px);line-height:.78;letter-spacing:-4px;
  margin:24px 0 30px;font-weight:900;
}
h1 span{color:transparent;-webkit-text-stroke:2px var(--cream);text-stroke:2px var(--cream)}
.hero-copy{max-width:650px;color:var(--cream-dim);font-size:19px}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
.hero-stamp{
  position:absolute;right:38px;bottom:38px;width:150px;height:150px;border:2px solid #665f55;
  border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  transform:rotate(-7deg);color:#938a7b;text-align:center;font-size:11px;letter-spacing:2px;
}
.hero-stamp strong{font-family:"Barlow Condensed";font-size:38px;color:var(--cream);line-height:1}

.ticker{overflow:hidden;background:var(--cream);color:var(--black);padding:14px 0;transform:rotate(-1deg) scale(1.02)}
.ticker>div{display:flex;gap:24px;justify-content:center;white-space:nowrap;font-family:"Barlow Condensed";font-size:19px;font-weight:900;letter-spacing:1.5px}
.ticker i{color:var(--red-hot);font-style:normal}

.section{max-width:var(--max);margin:auto;padding:120px 24px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:start;margin-bottom:55px}
.section h2,.mobile-section h2,.cta h2{font-size:clamp(56px,8vw,105px);line-height:.84;letter-spacing:-2px;font-weight:900}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.service-card{background:var(--black);padding:38px;min-height:255px;position:relative}
.service-card:hover{background:var(--black-2)}
.card-number{font-family:"Barlow Condensed";font-size:14px;color:#8a8172}
.service-card h3{font-size:42px;margin:40px 0 8px}
.service-card p{color:var(--cream-dim);max-width:430px;margin:0}

.mobile-section{
  max-width:var(--max);margin:auto;padding:90px 24px;display:grid;grid-template-columns:1.45fr .8fr;
  gap:60px;align-items:center;border:1px solid var(--line);
  background:linear-gradient(120deg,var(--red) 0 53%,var(--black-2) 53%);
}
.mobile-section .eyebrow{color:#f0a49f}
.mobile-section h2 span{color:var(--black)}
.mobile-copy p:not(.eyebrow){max-width:650px;font-size:18px;color:#e9d9cb;margin-bottom:30px}
.mobile-badge{
  aspect-ratio:1;border:2px solid var(--cream);border-radius:50%;display:flex;flex-direction:column;
  justify-content:center;align-items:center;text-align:center;transform:rotate(5deg);padding:20px
}
.mobile-badge span{font-size:18px;letter-spacing:3px}
.mobile-badge strong{font-family:"Barlow Condensed";font-size:52px;line-height:1;color:#d55d53}
.mobile-badge small{margin-top:18px;letter-spacing:2px;color:var(--cream-dim)}

.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.about .section-heading{display:block;margin:0}
.about-copy{padding-top:38px}
.about-copy .lead{font-family:"Barlow Condensed";font-size:34px;font-weight:700;line-height:1.15;margin-top:0}
.about-copy p:not(.lead){color:var(--cream-dim);font-size:18px}

.cta{
  max-width:var(--max);margin:auto;padding:120px 24px;border:1px solid var(--line);
  background:radial-gradient(circle at 85% 30%,rgba(161,44,39,.28),transparent 35%);
}
.cta>p:not(.eyebrow){color:var(--cream-dim);font-size:18px}
.contact-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.contact-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:70px;padding-top:24px;border-top:1px solid var(--line);color:#8f8779;text-transform:uppercase;letter-spacing:2px;font-size:12px}

footer{
  max-width:var(--max);margin:auto;padding:45px 24px;display:grid;grid-template-columns:1fr 1fr 1fr;
  align-items:center;border-left:1px solid var(--line);border-right:1px solid var(--line);color:#716a60;font-size:12px;
}
footer p{text-align:center}
.footer-tag{text-align:right;font-weight:700;letter-spacing:1px;color:#9d9486}

@media(max-width:800px){
  .desktop-nav{display:none}
  .site-header{height:76px}
  .hero{min-height:720px;padding-top:70px;align-items:flex-start}
  h1{letter-spacing:-2px;margin-top:18px}
  h1 span{-webkit-text-stroke:1px var(--cream)}
  .hero-stamp{width:105px;height:105px;right:24px;bottom:30px}
  .hero-stamp strong{font-size:28px}
  .section{padding:85px 20px}
  .section-heading{grid-template-columns:1fr;margin-bottom:35px}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:220px;padding:28px}
  .mobile-section{grid-template-columns:1fr;background:linear-gradient(160deg,var(--red) 0 66%,var(--black-2) 66%);padding:70px 20px}
  .mobile-section h2 span{color:var(--cream)}
  .mobile-badge{width:min(300px,75vw);margin:20px auto 0}
  .about{grid-template-columns:1fr;gap:20px}
  .about-copy{padding-top:0}
  .cta{padding:85px 20px}
  footer{grid-template-columns:1fr;gap:15px;text-align:center}
  .footer-brand{justify-content:center}
  footer p,.footer-tag{text-align:center;margin:0}
}


.brand-logo{
  display:flex;
  align-items:center;
  height:68px;
  overflow:hidden;
}
.brand-logo img{
  display:block;
  height:76px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 2px 0 rgba(0,0,0,.35));
}
.hero-logo{
  display:block;
  width:min(420px,58vw);
  max-height:210px;
  object-fit:contain;
  object-position:left center;
  margin:0 0 18px -18px;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}
.contact-meta a{
  transition:.18s ease;
}
.contact-meta a:hover{
  color:var(--cream);
}
.footer-brand img{
  height:90px;
}
@media(max-width:800px){
  .brand-logo{height:58px}
  .brand-logo img{height:64px}
  .hero-logo{
    width:min(360px,78vw);
    max-height:175px;
    margin-left:-14px;
  }
  .footer-brand img{height:78px}
}


.photo-band{
  max-width:var(--max);margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;
  min-height:390px;border-left:1px solid var(--line);border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);gap:1px;background:var(--line);
}
.photo-band figure,.work-gallery figure{margin:0;position:relative;overflow:hidden;background:#111}
.photo-band img,.work-gallery img,.area-photo img{
  width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82) contrast(1.08);
  transition:transform .45s ease,filter .45s ease;
}
.photo-band figure:hover img,.work-gallery figure:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.04)}
.photo-band figcaption{
  position:absolute;left:22px;bottom:20px;background:rgba(13,13,13,.82);padding:9px 12px;
  font-size:11px;letter-spacing:2px;color:var(--cream);border-left:3px solid var(--red-hot);
}
.service-area{
  max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;
  border:1px solid var(--line);background:var(--black-2);
}
.area-photo{min-height:680px;overflow:hidden}
.area-photo img{object-position:center center}
.area-copy{padding:75px 55px;display:flex;flex-direction:column;justify-content:center}
.area-copy h2{font-size:clamp(55px,7vw,92px);line-height:.84;letter-spacing:-2px}
.area-copy h2 span{color:var(--red-hot)}
.address-label{font-size:12px;letter-spacing:3px;color:#8f8779;margin:40px 0 5px}
.area-copy address{font-family:"Barlow Condensed";font-style:normal;font-size:31px;font-weight:800;line-height:1.05;text-transform:uppercase}
.area-copy>p:not(.eyebrow):not(.address-label){color:var(--cream-dim);font-size:17px}
.area-note{font-size:13px!important;border-left:3px solid var(--red-hot);padding-left:14px}
.area-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.work-gallery{
  max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;
  height:500px;gap:1px;background:var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);
}
@media(max-width:800px){
  .photo-band{grid-template-columns:1fr 1fr;min-height:0}
  .photo-band .photo-wide{grid-column:1/-1;height:240px}
  .photo-band figure:not(.photo-wide){height:260px}
  .service-area{grid-template-columns:1fr}
  .area-photo{min-height:460px}
  .area-copy{padding:60px 20px}
  .area-copy address{font-size:27px}
  .work-gallery{height:auto;grid-template-columns:1fr}
  .work-gallery figure{height:340px}
}


.tab-nav{
  gap:12px;
}
.tab-nav a{
  border:1px solid var(--line);
  padding:9px 12px;
  background:#111;
}
.tab-nav a:hover{
  background:var(--red);
  color:#fff;
}
.header-call{
  min-width:104px;
}
.hero-contact{
  margin-bottom:18px;
}
.quick-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:20px;
}
.quick-links a{
  font-size:12px;
  letter-spacing:2px;
  color:#a9a091;
  border-bottom:1px solid #4d463f;
  padding-bottom:4px;
}
.quick-links a:hover{
  color:var(--cream);
  border-color:var(--cream);
}
.contact-strip{
  max-width:var(--max);
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  padding:24px;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#121212;
}
.contact-strip>div:first-child{
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
}
.contact-strip span{
  font-size:12px;
  letter-spacing:3px;
  color:#9b9284;
}
.contact-strip strong{
  font-family:"Barlow Condensed";
  font-size:38px;
  color:var(--cream);
}
.contact-strip-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.contact-strip-actions a{
  border:1px solid #5a5148;
  padding:10px 14px;
  font-size:12px;
  letter-spacing:2px;
  font-weight:700;
}
.contact-strip-actions a:first-child{
  background:var(--red-hot);
  border-color:var(--red-hot);
  color:white;
}
.contact-strip-actions a:hover{
  border-color:var(--cream);
}
.owner-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}
.owner-points span{
  border:1px solid var(--line);
  background:#111;
  padding:9px 11px;
  font-size:11px;
  letter-spacing:1.4px;
  color:#c0b7a7;
}
.brand-logo img{
  background:#000;
  border-radius:2px;
}
.hero-logo{
  width:min(480px,65vw);
  max-height:260px;
}
@media(max-width:900px){
  .tab-nav{
    display:none;
  }
}
@media(max-width:800px){
  .contact-strip{
    align-items:flex-start;
    flex-direction:column;
  }
  .contact-strip strong{
    font-size:32px;
  }
  .contact-strip-actions{
    width:100%;
  }
  .contact-strip-actions a{
    flex:1;
    text-align:center;
  }
}


/* ===== Refined professional design overrides ===== */
:root{
  --black:#111111;
  --black-2:#181818;
  --cream:#f3ecdf;
  --cream-dim:#c9c1b4;
  --red:#7d201e;
  --red-hot:#9a2b27;
  --line:#2f2c29;
  --max:1180px;
}

body{
  background:#111;
  letter-spacing:.01em;
}

.grain{
  opacity:.025;
}

.site-header{
  height:82px;
  background:rgba(17,17,17,.96);
  border-bottom:1px solid #2b2927;
}

.brand-logo{
  height:62px;
}

.brand-logo img{
  height:62px;
  max-width:190px;
  object-fit:contain;
  background:transparent;
  border-radius:0;
  filter:none;
}

.desktop-nav{
  gap:28px;
  font-size:13px;
}

.desktop-nav a{
  opacity:.75;
  padding:8px 0;
  border:none;
  background:none;
  transition:opacity .2s ease,color .2s ease;
}

.desktop-nav a:hover{
  opacity:1;
  color:var(--cream);
}

.header-contact-link{
  border:1px solid #514b45;
  padding:10px 15px;
  font-size:12px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  transition:.2s ease;
}

.header-contact-link:hover{
  border-color:#8a8178;
  background:#191919;
}

.hero{
  min-height:690px;
  padding-top:90px;
  padding-bottom:90px;
  background:
    radial-gradient(circle at 82% 25%, rgba(125,32,30,.18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.018) 25%, transparent 25%) 0 0/28px 28px;
}

.hero-stripe{
  width:4px;
  background:var(--red);
}

h1{
  font-size:clamp(62px,8.8vw,126px);
  line-height:.86;
  letter-spacing:-2.5px;
  margin:22px 0 28px;
}

h1 span{
  -webkit-text-stroke:1px var(--cream);
}

.hero-copy{
  max-width:670px;
  font-size:18px;
}

.button{
  padding:14px 20px;
  transform:none;
  box-shadow:none;
  border-radius:2px;
  transition:.2s ease;
}

.button:hover{
  transform:translateY(-1px);
  box-shadow:none;
  background:#ad312d;
}

.button-ghost:hover{
  background:#181818;
}

.hero-stamp{
  opacity:.75;
  border-width:1px;
}

.ticker{
  transform:none;
  background:#e8dfd1;
  padding:11px 0;
}

.ticker>div{
  font-size:16px;
  gap:18px;
  letter-spacing:1.2px;
}

.photo-band{
  min-height:340px;
}

.photo-band img,
.work-gallery img,
.area-photo img{
  filter:saturate(.88) contrast(1.03);
}

.photo-band figure:hover img,
.work-gallery figure:hover img{
  transform:none;
  filter:saturate(.95) contrast(1.03);
}

.photo-band figcaption{
  background:rgba(17,17,17,.78);
  border-left:2px solid var(--red);
  font-size:10px;
}

.section{
  padding:100px 24px;
}

.section-heading{
  margin-bottom:42px;
}

.section h2,
.mobile-section h2,
.cta h2,
.area-copy h2{
  letter-spacing:-1.4px;
  line-height:.89;
}

.service-grid{
  gap:1px;
}

.service-card{
  min-height:245px;
  padding:34px;
}

.service-card h3{
  font-size:34px;
  margin:34px 0 10px;
}

.service-card p{
  font-family:Arial,sans-serif;
  font-size:15px;
  line-height:1.7;
}

.mobile-section{
  padding:82px 48px;
  background:
    linear-gradient(115deg, rgba(125,32,30,.92) 0 52%, #181818 52%);
}

.mobile-section h2 span{
  color:#f3ecdf;
}

.mobile-copy p:not(.eyebrow){
  font-family:Arial,sans-serif;
  font-size:16px;
  line-height:1.75;
}

.mobile-badge{
  border-width:1px;
}

.mobile-badge strong{
  font-size:46px;
}

.service-area{
  background:#151515;
}

.area-photo{
  min-height:620px;
}

.area-copy{
  padding:68px 52px;
}

.area-copy>p:not(.eyebrow):not(.address-label),
.area-note{
  font-family:Arial,sans-serif;
}

.area-copy address{
  font-size:28px;
}

.about{
  gap:80px;
}

.about-copy .lead{
  font-size:30px;
}

.about-copy p:not(.lead){
  font-family:Arial,sans-serif;
  font-size:16px;
  line-height:1.75;
}

.owner-points{
  gap:7px;
}

.owner-points span{
  background:#151515;
  font-size:10px;
  letter-spacing:1.2px;
}

.work-gallery{
  height:440px;
}

.contact-section{
  padding:100px 24px;
  background:
    radial-gradient(circle at 90% 20%,rgba(125,32,30,.16),transparent 34%);
}

.contact-intro{
  max-width:760px;
  margin-bottom:48px;
}

.contact-intro>p:not(.eyebrow){
  max-width:650px;
  color:var(--cream-dim);
  font-family:Arial,sans-serif;
  line-height:1.7;
}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}

.contact-card{
  background:#141414;
  padding:30px;
  min-height:160px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.contact-card>span{
  font-size:10px;
  letter-spacing:2.2px;
  color:#9d9488;
  margin-bottom:10px;
}

.contact-card>a:not(.text-link),
.contact-card>strong,
.contact-card address{
  font-family:"Barlow Condensed",sans-serif;
  font-size:26px;
  font-weight:700;
  color:var(--cream);
  font-style:normal;
  line-height:1.12;
}

.contact-card small{
  display:block;
  margin-top:8px;
  color:#8e867b;
  font-family:Arial,sans-serif;
  font-size:12px;
}

.text-link{
  display:inline-block;
  margin-top:10px;
  color:#c9b6a4;
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
  border-bottom:1px solid #554d46;
  padding-bottom:2px;
}

footer{
  padding:38px 24px;
}

.footer-brand img{
  height:72px;
  max-width:190px;
}

@media(max-width:900px){
  .desktop-nav{display:none}
}

@media(max-width:800px){
  .site-header{height:72px}
  .brand-logo img{height:54px;max-width:155px}
  .hero{
    min-height:620px;
    padding-top:70px;
    padding-bottom:70px;
  }
  h1{
    font-size:clamp(54px,15vw,88px);
    letter-spacing:-1.5px;
  }
  .hero-stamp{
    width:95px;
    height:95px;
    right:20px;
    bottom:22px;
  }
  .section{
    padding:72px 20px;
  }
  .mobile-section{
    padding:64px 20px;
    background:linear-gradient(160deg,var(--red) 0 63%,#181818 63%);
  }
  .area-copy{
    padding:56px 20px;
  }
  .contact-section{
    padding:72px 20px;
  }
  .contact-grid{
    grid-template-columns:1fr;
  }
  .contact-card{
    min-height:135px;
  }
  .work-gallery{
    height:auto;
  }
  .footer-brand img{
    height:64px;
  }
}
