:root{
  --ink:#111214;
  --muted:#686b66;
  --lime:#bada55;
  --lime-dark:#8fae35;
  --paper:#f7f7f2;
  --white:#fff;
  --line:#dfe2d7;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-wrap{max-width:var(--max);height:82px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto}
.brand-mark{width:50px;height:50px;border:3px solid var(--ink);display:grid;place-items:center;font-weight:900;letter-spacing:-2px;font-size:17px;position:relative}
.brand-mark:after{content:"";position:absolute;width:8px;height:8px;background:var(--lime);right:-5px;bottom:-5px}
.brand-copy,.footer-brand>div{display:flex;flex-direction:column;line-height:1}
.brand-copy strong,.footer-brand strong{font-size:16px;letter-spacing:.12em}
.brand-copy small,.footer-brand small{font-size:8px;letter-spacing:.25em;margin-top:6px;color:#6b6f68}
.nav{display:flex;gap:30px;font-size:14px;font-weight:700}
.nav a{padding:30px 0;position:relative}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:3px;background:var(--lime);transition:.25s}
.nav a:hover:after{right:0}
.login{font-size:13px;border:1px solid var(--ink);padding:10px 17px}
.menu-btn{display:none;border:0;background:none;font-size:26px}
.hero{min-height:670px;position:relative;overflow:hidden;background:var(--white);display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#fff 0%,#fff 55%,#eef1e7 100%)}
.hero-inner{position:relative;z-index:2;width:min(650px,90%);margin-left:max(28px,calc((100% - var(--max))/2));padding:85px 0}
.eyebrow,.section-tag{font-size:12px;font-weight:800;letter-spacing:.2em;color:#72766d}
.eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px}
.eyebrow:before{content:"";width:38px;height:3px;background:var(--lime)}
h1{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.035em;font-size:clamp(64px,9vw,126px);line-height:.83;margin:0 0 30px}
h1 span,h2 em{color:var(--lime-dark);font-style:normal}
.lead{max-width:650px;font-size:18px;line-height:1.8;letter-spacing:.02em;color:#454843}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 25px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.btn-primary{background:var(--lime);border:1px solid var(--lime)}
.btn-primary:hover{background:#a9ca46}
.btn-ghost{border:1px solid var(--ink)}
.hero-art{position:absolute;right:4%;top:13%;width:min(41vw,530px);height:520px;z-index:1;transform:rotate(-8deg)}
.hero-art:before{content:"";position:absolute;width:410px;height:410px;border-radius:50%;background:var(--lime);right:0;top:25px;opacity:.95}
.art-card{position:absolute;background:#151617;color:#fff;box-shadow:0 22px 45px rgba(0,0,0,.17);display:flex;flex-direction:column;justify-content:space-between;padding:25px}
.art-card span{font-size:12px;letter-spacing:.2em;color:#c8d1b0}
.art-card b{font-size:68px;line-height:1}
.card-a{width:270px;height:350px;right:120px;top:45px;transform:rotate(7deg)}
.card-b{width:250px;height:320px;right:10px;top:145px;background:#bada55;color:#111;transform:rotate(17deg)}
.card-b span{color:#111}
.card-c{width:210px;height:270px;right:255px;top:225px;background:#fff;color:#111;transform:rotate(-2deg);border:1px solid #ddd}
.card-c span{color:#555}
.promise{max-width:var(--max);margin:-45px auto 0;position:relative;z-index:5;background:#151617;color:#fff;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 15px 40px rgba(0,0,0,.13)}
.promise>div{padding:30px 25px;display:flex;align-items:center;gap:15px;border-right:1px solid #383a38}
.promise>div:last-child{border-right:0}
.promise-icon{width:34px;height:34px;border:1px solid #68705a;display:grid;place-items:center;color:var(--lime);font-weight:900}
.promise strong{font-size:14px;letter-spacing:.04em}
.section{max-width:var(--max);margin:auto;padding:110px 28px}
.about{max-width:980px;text-align:center}
.about h2,.services h2,.cta h2{font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:clamp(42px,6vw,72px);line-height:.95;letter-spacing:-.025em;margin:15px 0 25px}
.about p{max-width:820px;margin:auto;color:var(--muted);font-size:17px;line-height:1.9}
.services{padding-top:70px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}
.service-card{min-height:350px;padding:30px;background:#fff;border:1px solid var(--line);position:relative;overflow:hidden}
.service-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:#f0f2e8;right:-55px;bottom:-55px}
.service-card.featured{background:#151617;color:#fff}
.service-card.featured:after{background:var(--lime)}
.service-number{font-size:12px;letter-spacing:.2em;color:var(--lime-dark);font-weight:800}
.service-card h3{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:43px;line-height:.95;text-transform:uppercase;margin:80px 0 20px}
.service-card p{max-width:280px;color:#767a72}
.featured p{color:#c8cbc4}
.cta{background:#151617;color:#fff;padding:95px max(28px,calc((100% - var(--max))/2));display:flex;align-items:end;justify-content:space-between;gap:40px}
.cta .section-tag{color:#bfc4b9}
.cta h2{font-size:clamp(48px,6vw,78px);margin-bottom:20px}
.cta p{color:#bfc4b9}
.phone{font-size:clamp(22px,3vw,36px);font-weight:800;white-space:nowrap;border-bottom:3px solid var(--lime);padding-bottom:8px}
.phone span{color:var(--lime);margin-left:10px}
.footer{max-width:var(--max);margin:auto;padding:35px 28px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;color:#73776e;font-size:12px}
.footer-brand{display:flex;align-items:center;gap:10px;color:var(--ink);margin-right:auto}
.footer-brand .brand-mark{width:42px;height:42px;font-size:14px}
@media(max-width:900px){
  .hero{min-height:720px}
  .hero-inner{margin:0 auto;padding:90px 28px;width:100%}
  .hero-art{opacity:.22;right:-100px;top:170px;width:500px}
  .promise{margin:0 20px}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:280px}
  .service-card h3{margin-top:55px}
  .cta{display:block}
  .phone{display:inline-block;margin-top:35px}
}
@media(max-width:700px){
  .nav-wrap{height:70px;padding:0 18px}
  .nav,.login{display:none}
  .menu-btn{display:block}
  .nav.open{display:flex;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 20px;flex-direction:column;gap:0}
  .nav.open a{padding:15px 0}
  .nav.open a:after{display:none}
  .hero{min-height:650px}
  .hero-inner{padding:75px 22px}
  .lead{font-size:16px}
  .hero-art{right:-170px;top:210px;transform:scale(.85) rotate(-8deg);opacity:.14}
  .promise{margin:0;grid-template-columns:1fr}
  .promise>div{border-right:0;border-bottom:1px solid #383a38;padding:20px}
  .promise>div:last-child{border-bottom:0}
  .section{padding:80px 22px}
  .about p{font-size:16px}
  .cta{padding:75px 22px}
  .footer{padding:28px 22px}
}

/* Inner pages */
.inner-hero{background:#fff;padding:110px max(28px,calc((100% - var(--max))/2));border-bottom:1px solid var(--line)}
.inner-hero h1{font-size:clamp(60px,8vw,105px);margin:18px 0 25px}
.inner-hero p{max-width:720px;color:var(--muted);font-size:19px;line-height:1.8}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.two-col h2{font-family:Impact,Arial,sans-serif;text-transform:uppercase;font-size:clamp(44px,5vw,66px);line-height:.95;margin:15px 0}
.two-col p{color:var(--muted);font-size:17px;line-height:1.9;margin:0 0 25px}
.dark-band{background:#151617;color:#fff;padding:100px max(28px,calc((100% - var(--max))/2))}
.dark-band h2{font-family:Impact,Arial,sans-serif;text-transform:uppercase;font-size:clamp(48px,6vw,76px);line-height:.95;margin:18px 0 0}
.process{padding-top:20px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.process-grid>div{border-top:3px solid var(--lime);padding:25px;background:#fff}.process-grid b{color:var(--lime-dark);font-size:13px;letter-spacing:.15em}.process-grid h3{font-family:Impact,Arial,sans-serif;text-transform:uppercase;font-size:35px;margin:40px 0 10px}.process-grid p{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.big-phone{display:inline-block;font-size:clamp(35px,5vw,65px);font-weight:900;margin:20px 0;border-bottom:4px solid var(--lime)}.muted{color:var(--muted)}.contact-form{display:grid;gap:18px}.contact-form label{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;padding:15px;border:1px solid #ccd0c6;background:#fff;font:inherit;resize:vertical}.contact-form button{justify-self:start;border:0;cursor:pointer}
@media(max-width:700px){.inner-hero{padding:75px 22px}.inner-hero h1{font-size:64px}.inner-hero p{font-size:16px}.two-col,.contact-grid{grid-template-columns:1fr;gap:35px}.process-grid{grid-template-columns:1fr}.dark-band{padding:75px 22px}}
