/* American Maids & Floor Cleaning Specialists — preview redesign (It's Physics, IP-D11)
   Luxury dark cinematic: deep blacks, gold accents, elegant serif type. */
:root{
  --black:#0b0a08; --black-2:#12100c; --black-3:#1a1712;
  --gold:#c9a24b; --gold-2:#e6c76f; --gold-soft:rgba(201,162,75,.14);
  --cream:#f4ecdd; --muted:#b9ad93; --line:rgba(201,162,75,.22);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--cream);font-family:var(--sans);
  line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--gold);color:#0b0a08}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-2);text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:.01em}
.eyebrow{display:inline-block;font-size:12px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;font-weight:600}
.sec{padding:96px 0}
.sec-title{font-size:clamp(34px,4.4vw,54px);margin-bottom:16px;color:var(--cream)}
.sec-sub{color:var(--muted);max-width:640px;font-size:18px}
.center{text-align:center}.center .sec-sub{margin:0 auto}

/* ---------- header / nav ---------- */
.site-head{position:fixed;inset:0 0 auto 0;z-index:100;
  background:rgba(11,10,8,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{font-family:var(--serif);font-size:22px;color:var(--cream);letter-spacing:.04em}
.brand b{color:var(--gold-2);font-weight:700}
.brand small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted);margin-top:2px}
nav.main{display:flex;gap:34px}
nav.main a{color:var(--cream);font-size:14.5px;letter-spacing:.06em;position:relative;padding:6px 0}
nav.main a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:var(--gold);transition:width .3s ease}
nav.main a:hover::after,nav.main a.active::after{width:100%}
nav.main a.active{color:var(--gold-2)}
.head-cta{display:flex;align-items:center;gap:18px}
.phone-link{color:var(--cream);font-weight:600;font-size:15px;white-space:nowrap}
.phone-link:hover{color:var(--gold-2)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#131009;font-weight:700;font-size:15px;letter-spacing:.02em;padding:14px 30px;
  border:none;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(201,162,75,.35)}
.btn.ghost{background:transparent;color:var(--gold-2);outline:1px solid var(--gold);
  outline-offset:-1px}
.btn.ghost:hover{background:var(--gold-soft);box-shadow:none}
.burger{display:none;background:none;border:none;cursor:pointer;padding:10px}
.burger span{display:block;width:26px;height:2px;background:var(--cream);margin:6px 0;transition:.3s}

/* ---------- top sections ---------- */
.top{min-height:92vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;
  padding:190px 0 110px}
.top-bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.08);will-change:transform}
.top::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,10,8,.62) 0%,rgba(11,10,8,.35) 45%,var(--black) 100%)}
.top::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 45% at 50% 60%,transparent 60%,rgba(11,10,8,.55) 100%)}
.top-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 24px;width:100%}
.top h1{font-size:clamp(44px,6.4vw,84px);max-width:12em;color:#fff;
  text-shadow:0 4px 40px rgba(0,0,0,.5)}
.top h1 em{font-style:italic;color:var(--gold-2)}
.top p.lead{font-size:clamp(17px,2vw,21px);color:#e9e0cc;max-width:600px;margin:22px 0 34px}
.top-actions{display:flex;gap:16px;flex-wrap:wrap}
.trust-strip{position:relative;z-index:2;border-top:1px solid var(--line);
  background:rgba(11,10,8,.72);backdrop-filter:blur(10px)}
.trust-in{display:flex;justify-content:space-between;align-items:center;gap:20px;
  max-width:1180px;margin:0 auto;padding:20px 24px;flex-wrap:wrap}
.trust-in .t{font-family:var(--serif);font-size:19px;color:var(--cream)}
.trust-in .t b{color:var(--gold-2);font-size:26px;margin-right:8px}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--black-2);padding:16px 0}
.ticker-track{display:flex;gap:64px;width:max-content;animation:tick 30s linear infinite}
.ticker-track span{font-family:var(--serif);font-size:20px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);white-space:nowrap}
.ticker-track span i{font-style:normal;color:var(--muted);margin-right:64px}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- reveal / counters ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.counter{background:var(--black-2);border:1px solid var(--line);padding:34px 20px;text-align:center;
  position:relative;overflow:hidden}
.counter::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.counter .num{font-family:var(--serif);font-size:clamp(38px,4vw,54px);color:var(--gold-2)}
.counter .lbl{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:8px}

/* ---------- cards / grids ---------- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--black-2);border:1px solid var(--line);overflow:hidden;
  transition:transform .35s ease,border-color .35s ease}
.card:hover{transform:translateY(-8px);border-color:var(--gold)}
.card .ph{aspect-ratio:16/10;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.card:hover .ph img{transform:scale(1.06)}
.card .tx{padding:28px}
.card .tx h3{font-size:26px;margin-bottom:10px;color:var(--cream)}
.card .tx p{color:var(--muted);font-size:15.5px;margin-bottom:18px}
.card .tx a.more{font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.photo{border:1px solid var(--line);overflow:hidden;position:relative}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.photo:hover img{transform:scale(1.05)}
.photo .cap{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;
  background:linear-gradient(180deg,transparent,rgba(11,10,8,.9));font-family:var(--serif);
  font-size:19px;color:var(--cream)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.step{background:var(--black-2);border:1px solid var(--line);padding:40px 32px;position:relative}
.step .n{font-family:var(--serif);font-size:64px;color:var(--gold);opacity:.9;line-height:1}
.step h3{font-size:26px;margin:14px 0 10px}
.step p{color:var(--muted);font-size:15.5px}

/* ---------- faq ---------- */
.faq{max-width:820px;margin:48px auto 0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:none;color:var(--cream);text-align:left;cursor:pointer;
  font-family:var(--serif);font-size:21px;padding:22px 8px;display:flex;
  justify-content:space-between;align-items:center;gap:16px}
.faq-q:hover{color:var(--gold-2)}
.faq-q .pm{color:var(--gold);font-size:26px;line-height:1;flex:none}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.faq-a p{color:var(--muted);padding:0 8px 26px;font-size:16px;max-width:700px}

/* ---------- cta band ---------- */
.cta-band{background:linear-gradient(135deg,#171208,#0b0a08 60%);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);text-align:center;padding:88px 24px;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;
  background:radial-gradient(50% 80% at 50% 100%,rgba(201,162,75,.14),transparent 70%)}
.cta-band h2{font-size:clamp(32px,4.6vw,56px);margin-bottom:14px;position:relative}
.cta-band p{color:var(--muted);margin-bottom:30px;position:relative}
.cta-band .top-actions{justify-content:center;position:relative}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);background:#080706;padding:64px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}
.foot-grid h4{font-family:var(--sans);font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px}
.foot-grid p,.foot-grid li{color:var(--muted);font-size:15px}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:10px}
.foot-grid a{color:var(--muted)}
.foot-grid a:hover{color:var(--gold-2)}
.logo-chip{display:inline-block;background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:16px}
.logo-chip img{height:44px;width:auto}
.foot-base{border-top:1px solid var(--line);padding-top:22px;display:flex;
  justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13.5px}

/* ---------- service detail rows ---------- */
.svc{border-top:1px solid var(--line);padding:72px 0}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc .tag{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);
  font-weight:700;margin-bottom:12px;display:block}
.svc h2{font-size:clamp(30px,3.6vw,44px);margin-bottom:14px}
.svc p.body{color:var(--muted);font-size:17px;margin-bottom:18px}
.check{list-style:none;margin:18px 0 26px}
.check li{padding:10px 0 10px 38px;position:relative;color:var(--cream);font-size:16px}
.check li::before{content:"";position:absolute;left:0;top:14px;width:20px;height:20px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a24b' stroke-width='2.5'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/contain}

/* ---------- areas ---------- */
.area-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.area-pills span{border:1px solid var(--line);color:var(--cream);padding:10px 20px;
  font-size:14.5px;letter-spacing:.04em;transition:.3s}
.area-pills span:hover{border-color:var(--gold);color:var(--gold-2)}

/* ---------- contact ---------- */
.form-box{background:var(--black-2);border:1px solid var(--line);padding:44px}
.field{margin-bottom:20px}
.field label{display:block;font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:#0b0a08;border:1px solid var(--line);
  color:var(--cream);padding:14px 16px;font-family:var(--sans);font-size:15.5px;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field textarea{min-height:130px;resize:vertical}
.contact-lines{display:grid;gap:26px}
.contact-line{background:var(--black-2);border:1px solid var(--line);padding:30px}
.contact-line h3{font-size:24px;margin-bottom:8px;color:var(--gold-2)}
.contact-line p{color:var(--muted)}

/* ---------- review cards ---------- */
.review-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.review{background:var(--black-2);border:1px solid var(--line);padding:36px 30px}
.stars{color:var(--gold);font-size:20px;letter-spacing:4px;margin-bottom:14px}
.review p{color:var(--cream);font-family:var(--serif);font-size:20px;font-style:italic;margin-bottom:16px}
.review .who{color:var(--muted);font-size:14px}

/* ---------- misc ---------- */
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:0 auto;max-width:1180px}
.quote-strip{background:var(--black-2);border-left:3px solid var(--gold);padding:34px 38px;
  font-family:var(--serif);font-size:24px;font-style:italic;color:var(--cream);margin:40px 0}
.mini-top{padding:190px 0 70px;position:relative;overflow:hidden}
.mini-top::before{content:"";position:absolute;inset:0;
  background:radial-gradient(70% 90% at 50% 0%,rgba(201,162,75,.10),transparent 70%)}
.mini-top h1{font-size:clamp(40px,5.6vw,68px);position:relative}
.mini-top p.lead{color:var(--muted);font-size:19px;max-width:680px;margin-top:18px;position:relative}

@media(max-width:960px){
  .grid2,.grid3,.grid4,.steps,.counters,.review-strip{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  nav.main,.head-cta .phone-link{display:none}
  .burger{display:block}
  nav.main.open{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;
    background:#0b0a08;border-bottom:1px solid var(--line);padding:20px 24px 30px;gap:6px}
  nav.main.open a{padding:12px 0;font-size:17px}
}
@media(max-width:640px){
  .grid2,.grid3,.grid4,.steps,.counters,.review-strip{grid-template-columns:1fr}
  .sec{padding:64px 0}.head-cta .btn{padding:11px 18px;font-size:13.5px}
  .top{padding:150px 0 80px}
}
