:root{
  --bg:#f7f1e7; --fg:#1c1815; --muted:#6e655e; --card:#efe2d2; --secondary:#ece0cf;
  --primary:#b3bfa1; --accent:#241a1d; --accent-fg:#f7f1e7; --border:#d6c7b4; --earth:#2c2723;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Raleway',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:1.2}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1152px;margin:0 auto;padding:0 24px}
.section{padding:80px 24px}
@media(min-width:1024px){.section{padding:112px 24px}}

/* Navbar */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s;background:transparent}
.nav.scrolled{background:rgba(247,241,231,.95);backdrop-filter:blur(8px);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.nav-inner{max-width:1152px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 24px}
.brand{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;letter-spacing:.02em;color:var(--accent-fg);transition:color .3s}
.nav.scrolled .brand{color:var(--accent)}
.nav-links{display:none;gap:32px;list-style:none}
@media(min-width:768px){.nav-links{display:flex}}
.nav-links a{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-fg);transition:color .3s}
.nav.scrolled .nav-links a{color:var(--fg)}
.nav-links a:hover{color:var(--primary)}
.nav-toggle{display:block;background:none;border:none;cursor:pointer;color:var(--accent-fg);font-size:1.5rem}
.nav.scrolled .nav-toggle{color:var(--fg)}
@media(min-width:768px){.nav-toggle{display:none}}
.mobile-menu{display:none;background:rgba(247,241,231,.95);backdrop-filter:blur(8px);border-top:1px solid var(--border)}
.mobile-menu.open{display:block}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px}
.mobile-menu a{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg)}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:rgba(36,26,29,.6)}
.hero-content{position:relative;z-index:1;text-align:center;padding:0 24px;max-width:1200px;animation:fadeInUp .8s ease-out forwards}
.hero-logo{width:100%;max-width:none;margin:0 auto -24px;filter:brightness(0) invert(1);object-fit:contain}
@media(min-width:768px){.hero-logo{height:28rem;width:auto;margin-bottom:-40px}}
.hero h1{font-size:2.25rem;color:var(--accent-fg);margin-bottom:16px}
@media(min-width:768px){.hero h1{font-size:3.75rem}}
@media(min-width:1024px){.hero h1{font-size:4.5rem}}
.hero .sub{color:rgba(247,241,231,.9);font-size:1.125rem;letter-spacing:.05em;margin-bottom:12px}
@media(min-width:768px){.hero .sub{font-size:1.25rem}}
.hero .name{color:rgba(247,241,231,.7);font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:32px}
.btn-outline{display:inline-block;font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(247,241,231,.6);color:var(--accent-fg);padding:16px 40px;transition:all .3s}
.btn-outline:hover{background:var(--accent-fg);color:var(--accent)}
.btn-solid{display:inline-block;font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;background:var(--accent);color:var(--accent-fg);padding:16px 40px;transition:opacity .3s}
.btn-solid:hover{opacity:.8}

/* Generic sections */
.bg-bg{background:var(--bg)} .bg-secondary{background:var(--secondary)} .bg-accent{background:var(--accent);color:var(--accent-fg)}
.grid-2{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr;gap:80px}}
.section h2{font-size:1.875rem;color:var(--accent);margin-bottom:32px}
.bg-accent h2{color:var(--accent-fg)}
@media(min-width:768px){.section h2{font-size:2.5rem}}
@media(min-width:1024px){.section h2{font-size:3rem}}
.text-block p{color:var(--muted);margin-bottom:20px}
.text-block strong{color:var(--fg)}
.hero-img{width:100%;border-radius:2px;box-shadow:0 10px 30px -10px rgba(0,0,0,.2)}

/* Solution */
.center{max-width:900px;margin:0 auto;text-align:center}
.center p{color:var(--muted);margin-bottom:48px}
.solutions-list{list-style:none;text-align:left;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.solutions-list li{display:flex;gap:16px;align-items:flex-start}
.check{flex-shrink:0;width:20px;height:20px;color:var(--primary);margin-top:2px}

/* Services */
.services-head{text-align:center;margin-bottom:64px}
.services-head p{color:var(--muted);max-width:576px;margin:16px auto 0}
.services-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:640px){.services-grid{grid-template-columns:1fr 1fr;gap:40px}}
.service-card{background:var(--bg);padding:32px;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:box-shadow .3s}
@media(min-width:1024px){.service-card{padding:40px}}
.service-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}
.service-icon{width:32px;height:32px;color:var(--primary);margin-bottom:24px}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:500;color:var(--accent);margin-bottom:12px}
@media(min-width:768px){.service-card h3{font-size:1.5rem}}
.service-card p{color:var(--muted);font-size:.875rem}

/* Locations */
.loc-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:896px;margin:0 auto}
@media(min-width:768px){.loc-grid{grid-template-columns:1fr 1fr}}
.loc-card{display:block;background:var(--secondary);padding:32px;border-radius:2px;transition:box-shadow .3s}
@media(min-width:1024px){.loc-card{padding:40px}}
.loc-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}
.loc-card h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--accent);margin-bottom:16px}
.loc-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;color:var(--muted);font-size:.875rem}
.loc-row svg{flex-shrink:0;width:16px;height:16px;color:var(--primary);margin-top:4px}

/* Contact */
.bg-accent .center p{color:rgba(247,241,231,.8)}
.btn-contact{display:inline-flex;align-items:center;gap:12px;font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(247,241,231,.4);color:var(--accent-fg);padding:16px 40px;transition:all .3s}
.btn-contact:hover{background:var(--accent-fg);color:var(--accent)}
.btn-contact svg{width:16px;height:16px}

/* Footer */
.footer{background:var(--earth);padding:40px 24px;color:rgba(247,241,231,.7)}
.footer-inner{max-width:1152px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px}
@media(min-width:768px){.footer-inner{flex-direction:row}}
.footer-left{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
@media(min-width:768px){.footer-left{align-items:flex-start;text-align:left}}
.footer-logo{height:11rem;width:auto;filter:brightness(0) invert(1);opacity:.8}
@media(min-width:768px){.footer-logo{height:12rem}}
.footer small{font-size:.75rem;color:rgba(247,241,231,.5)}
.footer-right{text-align:center}
@media(min-width:768px){.footer-right{text-align:right}}
.footer-right p{font-size:.75rem;color:rgba(247,241,231,.4);margin-bottom:4px}
.credits{font-size:.75rem;color:rgba(247,241,231,.3);transition:color .3s}
.credits:hover{color:rgba(247,241,231,.6)}

@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
