/* Ramirez Pro Home Remodeling — spec build by Sawhorse
   Palette pulled from the client's logo: warm near-black + amber gold.
   Single accent, no second hue. */

:root{
  color-scheme: dark;

  --ground:   #0D0C0A;
  --ground-2: #131110;
  --surface:  #1A1714;
  --surface-2:#221E1A;
  --ink:      #F4F0E8;
  --body:     #CFC5B4;
  --muted:    #9C917E;
  --dim:      #8A8073;
  --line:     #2A2620;
  --line-2:   #3D372E;

  --gold:     #E8B96B;
  --gold-hi:  #F6D79C;
  --gold-dim: #A9843F;
  --gold-bg:  #221B0F;
  --on-gold:  #17120A;

  --f-xs:.76rem; --f-sm:.9rem; --f-base:1.06rem;
  --f-lg:1.22rem; --f-xl:1.6rem; --f-2xl:2.2rem;
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.5rem;
  --s-6:2rem; --s-7:3rem; --s-8:4.5rem; --s-9:6.5rem;

  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Manrope","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--ground);color:var(--body);
  font-family:var(--sans);font-size:var(--f-base);line-height:1.66;font-weight:400;
  -webkit-font-smoothing:antialiased;padding-bottom:76px;
}
@media(min-width:820px){body{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.06;letter-spacing:-.02em;
  margin:0;color:var(--ink);text-wrap:balance}
p{margin:0;max-width:62ch}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}

.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:var(--s-5)}
.narrow{max-width:840px}
section{padding-block:var(--s-8)}
.stack{display:flex;flex-direction:column;gap:var(--s-4)}
.center{text-align:center;align-items:center}
.center p{margin-inline:auto}

/* ---------- the logo's own device: rule · word · rule ---------- */
.eyebrow{
  display:flex;align-items:center;justify-content:center;gap:var(--s-4);
  font-family:var(--sans);font-size:var(--f-xs);font-weight:700;
  letter-spacing:.34em;text-transform:uppercase;color:var(--gold);
}
.eyebrow::before,.eyebrow::after{content:"";height:1px;background:var(--gold-dim);flex:1;max-width:76px}
.eyebrow.left{justify-content:flex-start}
.eyebrow.left::before{display:none}
.eyebrow.left::after{max-width:120px}

/* ---------- logo lockup ---------- */
.logo{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;line-height:1}
.logo-gable{color:var(--gold)}
.logo-name{
  font-family:var(--serif);font-weight:900;color:var(--gold);
  font-size:var(--lname,1.55rem);letter-spacing:.02em;line-height:1;
}
.logo-mid{display:flex;align-items:center;gap:10px;width:100%}
.logo-mid::before,.logo-mid::after{content:"";height:2px;background:var(--gold);flex:1}
.logo-pro{
  font-family:var(--sans);font-weight:800;color:var(--gold);
  font-size:var(--lpro,.9rem);letter-spacing:.26em;padding-inline:2px;
}
.logo-sub{
  font-family:var(--sans);font-weight:600;color:var(--muted);
  font-size:var(--lsub,.56rem);letter-spacing:.36em;text-transform:uppercase;
}

/* ---------- header ---------- */
.site-header{background:var(--ground);border-bottom:1px solid var(--line)}
.header-inner{display:flex;flex-direction:column;align-items:center;gap:var(--s-4);padding-block:var(--s-5) var(--s-4)}
@media(min-width:820px){
  .header-inner{flex-direction:row;justify-content:space-between;padding-block:var(--s-4)}
}
.header-nav{display:none;gap:var(--s-6)}
.header-nav a{font-size:var(--f-sm);font-weight:600;color:var(--muted);text-decoration:none;letter-spacing:.02em}
.header-nav a:hover{color:var(--gold)}
@media(min-width:960px){.header-nav{display:flex}}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);
  font-family:var(--sans);font-weight:700;font-size:var(--f-base);letter-spacing:.01em;
  min-height:54px;padding:var(--s-3) var(--s-6);border-radius:2px;
  text-decoration:none;border:1px solid transparent;white-space:nowrap;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
.btn-gold{background:var(--gold);color:var(--on-gold)}
.btn-gold:hover{background:var(--gold-hi)}
.btn-line{border-color:var(--line-2);color:var(--ink)}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{min-height:46px;font-size:var(--f-sm);padding-inline:var(--s-5)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:var(--s-9) var(--s-8);
  background:
    radial-gradient(120% 90% at 50% -12%, rgba(232,185,107,.14) 0%, rgba(232,185,107,0) 58%),
    var(--ground);
}
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-5)}
.hero h1{font-size:clamp(2.3rem,6.6vw,4.05rem);max-width:16ch;line-height:1.02}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .sub{font-size:var(--f-lg);color:var(--body);max-width:52ch}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3);margin-top:var(--s-3)}
.hero-facts{
  display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3) var(--s-6);
  margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line);
  font-size:var(--f-sm);color:var(--muted);font-weight:600;letter-spacing:.02em;width:100%;
}
.hero-facts span{display:flex;align-items:center;gap:var(--s-2)}
.hero-facts svg{color:var(--gold);flex:none}

/* ---------- services ---------- */
.grid{display:grid;gap:var(--s-4)}
@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:2px;
  padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3);
  transition:border-color .18s ease;
}
.card:hover{border-color:var(--gold-dim)}
.card .n{font-family:var(--sans);font-size:var(--f-xs);font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-dim)}
.card h3{font-size:var(--f-lg)}
.card p{font-size:var(--f-base);color:var(--muted)}
.card .price{
  margin-top:auto;padding-top:var(--s-4);border-top:1px solid var(--line);
  font-size:var(--f-sm);font-weight:600;color:var(--gold);letter-spacing:.01em;
}
.card .price small{display:block;font-weight:400;color:var(--dim);letter-spacing:.02em;margin-top:3px;font-size:.86em}

/* ---------- work ---------- */
.work{display:grid;gap:var(--s-3);grid-template-columns:repeat(2,1fr)}
@media(min-width:800px){.work{grid-template-columns:repeat(3,1fr)}}
.shot{
  aspect-ratio:4/3;border:1px solid var(--line-2);border-radius:2px;
  background:
    repeating-linear-gradient(135deg, rgba(232,185,107,.045) 0 12px, transparent 12px 24px),
    var(--surface);
  display:grid;place-items:center;gap:var(--s-2);text-align:center;padding:var(--s-4);
}
.shot svg{color:var(--gold-dim)}
.shot span{font-size:var(--f-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.needs{
  margin-top:var(--s-5);border-left:2px solid var(--gold);padding:var(--s-2) 0 var(--s-2) var(--s-4);
  font-size:var(--f-sm);color:var(--muted);max-width:70ch;
}

/* ---------- areas ---------- */
.areas{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3);list-style:none;padding:0;margin:0}
.areas li{
  padding:var(--s-3) var(--s-5);border:1px solid var(--line-2);border-radius:999px;
  font-size:var(--f-sm);font-weight:600;color:var(--ink);letter-spacing:.02em;
}

/* ---------- process ---------- */
.steps{display:grid;gap:var(--s-6);counter-reset:st}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{counter-increment:st;padding-top:var(--s-4);border-top:2px solid var(--gold-dim)}
.step::before{
  content:"0" counter(st);font-family:var(--serif);font-weight:900;font-size:1.7rem;
  color:var(--gold);display:block;margin-bottom:var(--s-2);line-height:1;
}
.step h3{font-size:var(--f-lg);margin-bottom:var(--s-2)}
.step p{color:var(--muted);font-size:var(--f-base)}

/* ---------- cta band ---------- */
.band{background:var(--ground-2);border-block:1px solid var(--line)}

/* ---------- footer ---------- */
.site-footer{background:#0A0908;border-top:1px solid var(--line);padding-block:var(--s-8) var(--s-6)}
.foot-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-4);
  padding-bottom:var(--s-6);border-bottom:1px solid var(--line)}
.foot-grid{display:grid;gap:var(--s-5);padding-top:var(--s-6);font-size:var(--f-sm)}
@media(min-width:720px){.foot-grid{grid-template-columns:repeat(3,1fr)}}
.foot-grid h4{font-family:var(--sans);font-size:var(--f-xs);font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-dim);margin:0 0 var(--s-3)}
.foot-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}
.foot-links a{color:var(--muted);text-decoration:none}
.foot-links a:hover{color:var(--gold)}
.foot-legal{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--line);
  font-size:var(--f-xs);color:var(--dim);line-height:1.9}
.marker{color:var(--gold);font-weight:600}

/* ---------- sticky mobile call bar ---------- */
.callbar{
  position:fixed;inset-inline:0;bottom:0;z-index:60;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s-3);
  background:var(--surface);border-top:1px solid var(--line-2);
  padding:var(--s-2) var(--s-4);padding-bottom:max(var(--s-2),env(safe-area-inset-bottom));
}
.callbar .t{font-size:var(--f-xs);color:var(--muted);line-height:1.35}
.callbar .t b{display:block;font-size:var(--f-sm);color:var(--ink);font-weight:700}
@media(min-width:820px){.callbar{display:none}}

.skip{position:absolute;left:-9999px;background:var(--gold);color:var(--on-gold);
  padding:var(--s-3) var(--s-4);z-index:100;text-decoration:none;font-weight:700}
.skip:focus{left:var(--s-4);top:var(--s-4)}
