@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fjalla+One&family=Libre+Baskerville:ital@1&display=swap');

:root{--red:#c41f2f;--ink:#171717;--muted:#66645f;--paper:#f4f1eb;--white:#fff;--line:#d9d3c9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{height:94px;padding:12px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,241,235,.96);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:12px;font-family:"Fjalla One",sans-serif;font-size:21px;line-height:.92;text-transform:uppercase;letter-spacing:.025em}
.brand img{width:64px;height:64px;object-fit:cover;object-position:center;border-radius:50%}
nav{display:flex;gap:34px;font-size:14px;font-weight:600}
nav a{position:relative}
nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--red);transition:.2s}
nav a:hover:after{right:0}
.header-call{display:flex;flex-direction:column;text-align:right;font-family:"Fjalla One";font-size:20px;letter-spacing:.02em}
.header-call span{font-family:"DM Sans";font-size:11px;text-transform:uppercase;color:var(--red);letter-spacing:.12em;font-weight:700}
.hero{min-height:calc(100vh - 94px);display:grid;grid-template-columns:1.08fr .92fr;background:var(--ink);color:white}
.hero-photo{min-height:620px;background:linear-gradient(90deg,transparent 72%,rgba(23,23,23,.38)),url('/assets/installation.jpg') center 44%/cover no-repeat}
.hero-copy{padding:clamp(64px,8vw,130px) clamp(34px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.eyebrow{margin:0 0 22px;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1{font-family:"Fjalla One";font-size:clamp(58px,6.2vw,108px);font-weight:400;line-height:.94;letter-spacing:-.025em;text-transform:uppercase;margin-bottom:30px}
h1 em{font-family:"Libre Baskerville";font-size:.63em;font-weight:400;text-transform:none;color:#e9c4c7}
.intro{max-width:560px;color:#d1cdc6;font-size:clamp(17px,1.4vw,21px);line-height:1.6;margin-bottom:34px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{background:var(--red);color:white;padding:17px 22px;font-size:14px;font-weight:700;border:2px solid var(--red);transition:.2s}
.button:hover{background:transparent}
.text-link{font-size:14px;font-weight:600;border-bottom:1px solid #777;padding-bottom:5px}
.text-link span{color:var(--red);margin-left:8px}
.quick-list{display:flex;gap:22px;flex-wrap:wrap;list-style:none;padding:34px 0 0;margin:48px 0 0;border-top:1px solid #353535;color:#a9a69f;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.quick-list li:before{content:"•";color:var(--red);padding-right:8px}
.services{padding:clamp(84px,10vw,150px) clamp(20px,5vw,80px)}
.section-head{display:grid;grid-template-columns:.65fr 1.3fr 1fr;gap:40px;align-items:start;margin-bottom:58px}
.section-head h2,.about h2,.contact h2{font-family:"Fjalla One";font-weight:400;text-transform:uppercase;font-size:clamp(42px,5vw,76px);line-height:1.02;margin-bottom:0}
.section-head>p:last-child{color:var(--muted);line-height:1.7;max-width:430px}
.service-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
.service-card{background:white;min-height:560px;display:grid;grid-template-rows:300px auto;overflow:hidden}
.service-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.83)}
.service-card--wide img{object-position:center}
.service-card>div{padding:28px 30px 34px}
.service-card span{font-size:11px;color:var(--red);font-weight:700;letter-spacing:.14em}
.service-card h3{font-family:"Fjalla One";text-transform:uppercase;font-size:28px;font-weight:400;margin:12px 0}
.service-card p{color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:0}
.about{display:grid;grid-template-columns:1fr 1fr;background:#dedad2}
.about-image{min-height:760px}
.about-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);}
.about-copy{padding:clamp(70px,9vw,140px);display:flex;flex-direction:column;justify-content:center}
.about-copy>p:not(.eyebrow){max-width:600px;color:#55534e;font-size:17px;line-height:1.75}
blockquote{font-family:"Libre Baskerville";font-style:italic;font-size:clamp(25px,3vw,43px);line-height:1.3;margin:30px 0 50px;border-left:4px solid var(--red);padding-left:24px}
.ratings{display:flex;gap:48px;border-top:1px solid #bbb5ab;padding-top:25px}
.ratings div{display:flex;flex-direction:column;gap:6px}
.ratings strong{color:var(--red);font-size:12px;letter-spacing:1px}
.ratings span{font-size:13px;font-weight:700}
.contact{padding:clamp(80px,9vw,140px) clamp(20px,6vw,96px);background:var(--red);color:white;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.contact .eyebrow{color:#ffd4d8}
.contact>div>p:last-child{font-size:17px;color:#f5cfd3}
.contact-actions{border-top:1px solid rgba(255,255,255,.45)}
.contact-actions a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.45);padding:21px 0;font-family:"Fjalla One";font-size:clamp(18px,2vw,28px)}
.contact-actions small{font-family:"DM Sans";text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700}
footer{background:var(--ink);color:#aaa69e;display:flex;justify-content:space-between;padding:25px clamp(20px,5vw,80px);font-size:12px}
footer a{color:white}
@media(max-width:960px){
  nav{display:none}.hero{grid-template-columns:1fr}.hero-photo{min-height:50vh}.hero-copy{min-height:auto}.section-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card--wide{grid-column:1/-1}.about{grid-template-columns:1fr}.about-image{min-height:560px}.contact{grid-template-columns:1fr;gap:45px}
}
@media(max-width:620px){
  .site-header{height:78px;padding:8px 16px}.brand img{width:52px;height:52px}.brand{font-size:17px}.header-call{font-size:16px}.header-call span{font-size:9px}
  .hero{min-height:0}.hero-photo{min-height:55vh;background-position:55% center}.hero-copy{padding:54px 20px 62px}h1{font-size:55px}.intro{font-size:17px}.button{width:100%;text-align:center}.quick-list{margin-top:36px;gap:12px;display:grid}
  .services{padding:75px 16px}.section-head{gap:10px;margin-bottom:35px}.section-head h2,.about h2,.contact h2{font-size:44px}.service-grid{grid-template-columns:1fr}.service-card--wide{grid-column:auto}.service-card{min-height:0;grid-template-rows:270px auto}
  .about-image{min-height:430px}.about-copy{padding:65px 20px}.ratings{gap:18px;justify-content:space-between}blockquote{font-size:25px}
  .contact{padding:70px 20px}.contact-actions a{font-size:18px;gap:15px}.contact-actions small{min-width:50px}footer{padding:24px 20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
