/* Amanda Bussett Homes — shared site styles
   Brand tokens from My Brand.md. --hot-pink uses the value already approved
   in the Relocation Guide (#e8326a) since the exact "bright hot pink" code
   is still an open item in Amanda's hub. Swap this one line when she pins
   down the real code and every page updates at once. */
:root{
  --charcoal:#313131;
  --white:#ffffff;
  --dusty-pink:#ebd6dc;
  --bright-pink:#ffcbf2;
  --mauve:#6b595a;
  --gold:#c9a227;
  --hot-pink:#e8326a;
  --cream:#fdf9fb;
  --line:#e8dde0;
  --font-display:'Fraunces', serif;
  --font-body:'Nunito Sans','Helvetica Neue',Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--mauve);
  font-family:var(--font-body);
  line-height:1.6;
}
a{color:var(--hot-pink);text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}

h1,h2,h3,h4{font-family:var(--font-display);color:var(--charcoal);margin:0;line-height:1.15;}

.kicker{
  font-family:var(--font-display);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.16em;
  color:var(--gold);
  text-transform:uppercase;
}

.italic-lead{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500;
  color:var(--hot-pink);
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:15px;
  padding:14px 30px;
  border-radius:30px;
  border:none;
  cursor:pointer;
  text-align:center;
}
.btn-primary{background:var(--hot-pink);color:var(--white);}
.btn-primary:hover{background:#d12b5e;}
.btn-secondary{background:var(--white);color:var(--hot-pink);border:2px solid var(--hot-pink);}
.btn-secondary:hover{background:var(--dusty-pink);}

/* ---- Site header ---- */
.site-header{
  padding:22px 0;
  background-color:var(--cream);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23e8b2c6' fill-opacity='0.55'%3E%3Cpath transform='translate(8,10) rotate(18)' d='M13 2 3 14h7l-1 8 11-14h-8l1-6z'/%3E%3Cpath transform='translate(68,62) rotate(18)' d='M13 2 3 14h7l-1 8 11-14h-8l1-6z'/%3E%3Cpath transform='translate(2,78) rotate(12) scale(0.55)' d='M12 2 3 21h7l-2 7 12-17h-8z'/%3E%3C/g%3E%3Cg fill='%23c9a227' fill-opacity='0.5'%3E%3Cpath transform='translate(52,18)' d='M4 0 L5 3 L8 4 L5 5 L4 8 L3 5 L0 4 L3 3 Z'/%3E%3Cpath transform='translate(94,88)' d='M4 0 L5 3 L8 4 L5 5 L4 8 L3 5 L0 4 L3 3 Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:120px 120px;
  border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.brand-mark{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:19px;color:var(--charcoal);letter-spacing:.01em;}
.brand-mark span{font-weight:500;color:var(--mauve);}
.bolt{flex-shrink:0;}
.site-nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.site-nav a{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--charcoal);}
.site-nav a:hover{color:var(--hot-pink);}
.site-nav a.nav-cta{background:var(--hot-pink);color:var(--white);padding:9px 20px;border-radius:24px;}
.site-nav a.nav-cta:hover{background:#d12b5e;color:var(--white);}

/* ---- Site footer ---- */
.site-footer{
  background:var(--charcoal);
  color:#e9e2e3;
  padding:52px 0 30px;
  margin-top:80px;
}
.site-footer .foot-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:30px;}
.site-footer h4{color:var(--white);font-size:16px;margin-bottom:10px;}
.site-footer p, .site-footer a{color:#d8cdd0;font-size:14.5px;line-height:1.7;}
.site-footer a:hover{color:var(--bright-pink);}
.foot-disclaimer{border-top:1px solid #4a4344;padding-top:22px;font-size:11.5px;line-height:1.6;color:#a99fa1;text-align:center;}

/* ---- Sections ---- */
section{padding:78px 0;}
.section-alt{background:var(--white);}

/* ---- Cards ---- */
.card{background:var(--dusty-pink);border-radius:16px;padding:26px 28px;}
.card h3, .card-title{font-family:var(--font-display);font-weight:700;color:var(--charcoal);}

/* ---- Forms ---- */
.form-card{background:var(--white);border-radius:20px;padding:36px;box-shadow:0 18px 50px rgba(49,49,49,.08);border:1px solid var(--line);}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--charcoal);margin-bottom:6px;}
.form-group input, .form-group select{
  width:100%;
  padding:12px 14px;
  border-radius:9px;
  border:1.5px solid var(--line);
  font-family:var(--font-body);
  font-size:15px;
  color:var(--charcoal);
  background:var(--cream);
}
.form-group input:focus, .form-group select:focus{outline:2px solid var(--hot-pink);border-color:var(--hot-pink);}
.form-note{font-size:12.5px;color:var(--mauve);margin-top:14px;line-height:1.5;}
.form-submit{width:100%;justify-content:center;font-size:16px;padding:15px;margin-top:6px;}
.form-success{display:none;text-align:center;padding:20px 0;}
.form-success h4{font-size:22px;margin-bottom:10px;color:var(--hot-pink);font-style:italic;}
.form-error{display:none;background:#fdf1de;border:1px solid var(--gold);color:var(--charcoal);border-radius:9px;padding:12px 14px;font-size:13.5px;margin-top:12px;}

@media (max-width:720px){
  section{padding:52px 0;}
  .site-nav{gap:16px;}
  .form-card{padding:24px;}
}

/* ---- Hero with photo ---- */
.hero-flex{display:flex;align-items:center;gap:48px;flex-wrap:wrap;}
.hero-flex>.hero-copy{flex:1;min-width:300px;text-align:left;}
.hero-photo-wrap{position:relative;flex:0 0 auto;width:300px;margin-left:auto;}
.hero-photo-wrap::before{
  content:"";
  position:absolute;
  top:-14px;left:-14px;
  width:100%;height:100%;
  background:var(--dusty-pink);
  border-radius:22px;
  z-index:0;
}
.hero-photo{
  position:relative;
  z-index:1;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:top center;
  border-radius:20px;
  box-shadow:0 20px 50px rgba(49,49,49,.18);
}
.hero-bolt{
  position:absolute;
  z-index:2;
  width:38px;height:38px;
  bottom:-16px;
  right:-16px;
  background:var(--white);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(49,49,49,.15);
}
@media (max-width:760px){
  .hero-flex{justify-content:center;}
  .hero-flex>.hero-copy{text-align:center;}
  .hero-photo-wrap{width:220px;margin:0 auto;order:-1;}
}
