:root{
  --bg:#ffffff; --card:#ffffff; --muted:#f4f4f5; --border:#e5e7eb;
  --fg:#0a0a0a; --fg-70:rgba(10,10,10,.7); --fg-80:rgba(10,10,10,.8); --fg-60:rgba(10,10,10,.6);
  --primary:#0a0a0a; --primary-fg:#ffffff;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul{margin:0}
ul{padding:0;list-style:none}
.container{max-width:72rem;margin:0 auto;padding:0 1rem}
.narrow{max-width:64rem;margin:0 auto;padding:0 1rem}
.text-center{text-align:center}
.bold{font-weight:600}
.muted-text{color:var(--fg-70)}
.wide{max-width:64rem}
.narrow-text{max-width:36rem;margin-left:auto;margin-right:auto}
.small{font-size:.875rem}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}
.py-24{padding:6rem 1rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;padding:.875rem 1.75rem;font-size:.875rem;font-weight:600;transition:opacity .2s,background .2s;cursor:pointer;border:0}
.btn-primary{background:var(--primary);color:var(--primary-fg)}
.btn-primary:hover{opacity:.9}
.btn-ghost{background:var(--card);color:var(--fg);border:1px solid var(--border)}
.btn-ghost:hover{background:var(--muted)}
.btn-lg{padding:1rem 2rem}

/* Nav */
header.nav-wrap{position:sticky;top:1rem;z-index:50;padding:0 1rem}
nav.nav{max-width:72rem;margin:0 auto;border-radius:9999px;background:var(--card);box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid var(--border);padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem;padding-left:.5rem}
.brand img{height:2.25rem;width:2.25rem;border-radius:9999px;object-fit:cover}
.brand span{font-weight:600}
.nav-links{display:none;gap:2rem;font-size:.875rem;font-weight:500;color:var(--fg-80)}
.nav-links a:hover{color:var(--primary)}
@media(min-width:768px){.nav-links{display:flex;align-items:center}}

/* Sections */
section{padding:5rem 1rem}
.hero{padding:4rem 1rem 3rem}
.hero h1{font-size:3rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
@media(min-width:768px){.hero h1{font-size:4.5rem}}
.hero p.lead{margin-top:2rem;max-width:48rem;margin-left:auto;margin-right:auto;color:var(--fg-80);font-size:1rem}
@media(min-width:768px){.hero p.lead{font-size:1.125rem}}
.hero .tag{margin-top:1.5rem;font-weight:700}
.hero .cta{margin-top:2rem}
.hero-img{margin-top:3.5rem;width:100%;height:520px;object-fit:cover;border-radius:1.5rem}

h2{font-size:1.875rem;font-weight:700}
@media(min-width:768px){h2{font-size:2.25rem}}
.h-xl{font-size:2.25rem;font-weight:800;letter-spacing:-.02em}
@media(min-width:768px){.h-xl{font-size:3rem}}
.h-md{font-size:1.5rem;font-weight:700}
.lead-lg{color:var(--fg-80);font-size:1.125rem}
.section-lead{margin-top:.75rem;color:var(--fg-70);font-size:1.125rem;max-width:48rem}

/* Grid helpers */
.grid{display:grid;gap:2rem}
.grid-3{grid-template-columns:1fr}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-values{grid-template-columns:1fr;align-items:center;gap:3rem}
@media(min-width:768px){.grid-values{grid-template-columns:repeat(2,1fr)}}
.grid-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}
@media(min-width:768px){.grid-projects{grid-template-columns:repeat(4,1fr)}}
.grid-projects img{width:100%;height:11rem;object-fit:cover;border-radius:1rem}
@media(min-width:768px){.grid-projects img{height:13rem}}
.grid-why{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:3.5rem}
@media(min-width:640px){.grid-why{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-why{grid-template-columns:repeat(5,1fr)}}

/* Service card */
.card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;overflow:hidden;display:flex;flex-direction:column}
.card > img{width:100%;height:14rem;object-fit:cover}
.card .body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.25rem;font-weight:700}
.card p{margin-top:.75rem;color:var(--fg-70);flex:1}
.card .more{margin-top:1.25rem;color:var(--primary);font-weight:600;font-size:.875rem}

.muted-bg{background:var(--muted)}
.values-img{width:100%;height:20rem;object-fit:cover;border-radius:1.5rem}

/* Why cards */
.why{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem}
.why img{width:100%;height:7rem;object-fit:cover;border-radius:.75rem}
.why h3{margin-top:1rem;font-weight:700;font-size:1rem}
.why p{margin-top:.5rem;font-size:.875rem;color:var(--fg-70)}

/* Contact */
.contact-grid{display:grid;gap:3rem;grid-template-columns:1fr}
@media(min-width:1024px){.contact-grid{grid-template-columns:repeat(2,1fr)}}
form.contact{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}
form.contact input,form.contact textarea{width:100%;background:var(--card);border:1px solid var(--border);padding:.875rem 1.25rem;outline:none;font:inherit;color:inherit}
form.contact input{border-radius:9999px}
form.contact textarea{border-radius:1.5rem;resize:vertical}
form.contact input:focus,form.contact textarea:focus{border-color:var(--primary)}
.contact-card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem}
.contact-card h3{font-size:1.5rem;font-weight:700}
.contact-card ul{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem;color:var(--fg-80)}
.contact-card a{color:var(--primary)}
.divider{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.divider h4{font-weight:700}

/* About */
.about-narrow{max-width:56rem}
.about-body{color:var(--fg-80);line-height:1.7}

/* Layout plan + download */
.layout-section{padding:4rem 1rem}
.layout-section img{margin-top:2rem;width:100%;border-radius:1.5rem;border:1px solid var(--border);background:#fff;object-fit:contain}
.download-card{max-width:72rem;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;text-align:center}
@media(min-width:768px){.download-card{padding:3rem}}

footer{padding:2.5rem 1rem;background:var(--card);border-top:1px solid var(--border)}
.footer-inner{max-width:72rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem}
@media(min-width:768px){.footer-inner{flex-direction:row}}
.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.875rem;color:var(--fg-70)}
.footer-links a:hover{color:var(--primary)}
.copy{font-size:.875rem;color:var(--fg-60)}
