
:root{
  --navy:#062f5f;
  --deep:#002b55;
  --orange:#f47712;
  --ink:#142033;
  --muted:#5d6978;
  --soft:#f6f8fb;
  --line:#dde6ef;
  --white:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;overflow-x:hidden}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;line-height:1.45}
a{text-decoration:none;color:inherit}

/* Header */
.header{
  min-height:96px;background:white;display:flex;align-items:center;justify-content:space-between;
  padding:10px clamp(18px,4vw,62px);border-bottom:1px solid #e8eef4;position:sticky;top:0;z-index:50;
  gap:22px;width:100%;
}
.logo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto}
.logo img{width:clamp(210px,20vw,330px);height:auto;display:block}
.header-right{display:flex;align-items:center;gap:clamp(14px,2vw,26px);min-width:0}
.nav{display:flex;gap:clamp(12px,1.5vw,24px);align-items:center;flex-wrap:nowrap}
.nav a{font-size:clamp(11px,.78vw,13px);text-transform:uppercase;font-weight:900;color:#111;padding:34px 0 24px;border-bottom:3px solid transparent;white-space:nowrap}
.nav a.active{color:var(--orange);border-bottom-color:var(--orange)}
.phone{font-size:clamp(15px,1.35vw,20px);font-weight:900;color:var(--navy);line-height:1.05;text-align:center;white-space:nowrap}
.phone small{display:block;font-size:clamp(11px,.9vw,14px);color:#23384f}
.top-donate{background:var(--orange);color:#fff;padding:14px 20px;border-radius:4px;text-transform:uppercase;font-weight:900;font-size:clamp(12px,.9vw,14px);box-shadow:0 6px 16px rgba(244,119,18,.25);white-space:nowrap}

/* Homepage hero */
.hero{
  min-height:calc(100vh - 96px);max-height:760px;display:grid;grid-template-columns:minmax(240px,30%) minmax(430px,41%) minmax(260px,29%);
  align-items:center;background:linear-gradient(90deg,#fbf8ee 0%,#fff7e9 51%,#f2f4f7 100%);overflow:hidden;width:100%;
}
.hero-dog{align-self:end;justify-self:end;width:min(340px,88%);height:min(430px,58vh);object-fit:cover;object-position:center;border-radius:20px 20px 0 0}
.hero-copy{padding:clamp(34px,5vw,60px) 0 clamp(30px,4vw,44px) clamp(8px,1vw,16px);z-index:2}
.hero h1{font-family:Georgia,serif;color:var(--navy);font-size:clamp(46px,5.3vw,76px);line-height:.98;letter-spacing:-2px;margin:0 0 20px}
.hero h1 span{display:block;color:var(--orange)}
.hero p{font-size:clamp(17px,1.55vw,22px);color:#222;max-width:650px;margin:0 0 26px}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 22px;border-radius:5px;text-transform:uppercase;font-weight:900;font-size:clamp(13px,1vw,15px)}
.btn.primary{background:var(--navy);color:white}
.btn.secondary{background:white;color:var(--navy);border:2px solid var(--navy)}
.hero-car-wrap{height:100%;width:100%;display:flex;align-items:center;overflow:hidden}
.hero-car-wrap img{height:100%;width:100%;object-fit:cover;object-position:center}

/* Benefits */
.benefit-bar{display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(90deg,#003765,#002a55);padding:0 clamp(18px,4vw,62px);color:white;width:100%}
.benefit{min-height:84px;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:900;border-right:1px solid rgba(255,255,255,.25);font-size:clamp(13px,1vw,16px)}
.benefit:last-child{border-right:0}
.benefit span{font-size:30px}

/* Sections */
.section{padding:clamp(46px,6vw,70px) clamp(24px,7vw,110px)}
.center{text-align:center}
.kicker{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:2px;margin:0 0 8px}
h2{font-family:Georgia,serif;color:var(--navy);font-size:clamp(32px,3.4vw,43px);line-height:1.1;margin:0 0 24px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px;text-align:left}
.step{position:relative;background:white;border:1px solid var(--line);border-radius:8px;padding:22px 18px 22px 108px;min-height:126px;box-shadow:0 10px 25px rgba(0,0,0,.05)}
.step-number{position:absolute;left:0;top:-10px;transform:translateX(-35%);width:40px;height:40px;border-radius:50%;background:var(--orange);color:white;display:grid;place-items:center;font-weight:900;font-size:19px}
.step-icon{position:absolute;left:20px;top:30px;width:70px;height:70px;border-radius:50%;background:#eef5fc;display:grid;place-items:center;font-size:34px}
.step h3{margin:0 0 8px;color:var(--navy);font-size:16px}
.step p{margin:0;font-size:14px;color:#172033}

.mission-impact{display:grid;grid-template-columns:35% 25% 40%;min-height:320px;width:100%}
.mission{background:#edf5fc;padding:44px clamp(26px,6vw,95px)}
.mission-dog{background:url('assets/mission-dog.jpg') center/cover no-repeat;min-height:320px}
.impact{background:linear-gradient(135deg,#003765,#00264d);padding:44px clamp(26px,6vw,95px);color:white}
.impact .kicker,.impact h2{color:white}
.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}
.impact-item{display:flex;gap:14px;font-weight:800;align-items:flex-start}
.impact-item span{font-size:30px}

/* Inner pages */
.page-hero{padding:70px clamp(24px,7vw,110px);background:linear-gradient(135deg,#fff,#f4f8fc)}
.page-hero h1{font-family:Georgia,serif;color:var(--navy);font-size:clamp(42px,5vw,60px);line-height:1.05;margin:0 0 18px}
.page-hero p{font-size:20px;color:var(--muted);max-width:900px}
.page-content{padding:64px clamp(24px,7vw,110px)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{border:1px solid var(--line);background:white;border-radius:10px;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.card h3{margin-top:0;color:var(--navy)}
.two-col{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:42px;align-items:center}
.two-col img{width:100%;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.12)}
details{border:1px solid var(--line);border-radius:10px;padding:22px;margin:14px 0;max-width:920px;background:#fff}
summary{font-weight:900;color:var(--navy);cursor:pointer}

/* Donation page */
.donate-progress{
  display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,5vw,72px);
  border-bottom:1px solid var(--line);color:#7d8793;font-size:13px;gap:18px;width:100%
}
.donate-progress img{width:clamp(180px,20vw,260px);height:auto;flex:0 0 auto;margin-right:auto}
.donate-progress strong{color:var(--navy)}
.donate-wrap{
  display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:34px;
  padding:34px clamp(22px,5vw,72px) 64px;background:linear-gradient(180deg,#fff,#f8fbfd);width:100%
}
.side-note{
  text-align:center;font-family:Georgia,serif;color:var(--navy);font-size:clamp(20px,2vw,27px);font-weight:700;
  align-self:start;position:sticky;top:120px
}
.side-note img{width:100%;max-width:220px;border-radius:12px;margin:0 auto 18px;display:block}
.side-note .quote{line-height:1.18;white-space:normal}
.heart{color:var(--orange);font-size:46px;line-height:1;display:block;margin-top:10px}
.form-title{text-align:center;margin-bottom:24px}
.form-title h1{font-family:Georgia,serif;color:var(--navy);font-size:clamp(34px,3.3vw,42px);margin:0 0 8px}
.form-title p{margin:0;color:#333}
.vehicle-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:980px;margin:auto;width:100%}
fieldset{border:1px solid var(--line);border-radius:12px;background:white;padding:22px;display:grid;gap:13px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
legend{font-family:Georgia,serif;font-size:22px;color:var(--navy);font-weight:900;padding:0 8px}
label{font-size:13px;font-weight:800;color:#222}
input,select,textarea{width:100%;margin-top:5px;padding:12px;border:1px solid #d3dde7;border-radius:6px;font:inherit}
textarea{min-height:90px;resize:vertical}
.radio-row{display:flex;gap:22px;margin-top:8px;flex-wrap:wrap}
.radio-row input{width:auto}
.wide,.submit-row,.form-features{grid-column:1/-1}
.submit-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:white;border:1px solid var(--line);border-radius:12px;padding:20px}
.submit-row button{background:var(--navy);color:white;border:0;border-radius:4px;padding:16px 30px;font-weight:900;font-size:15px;cursor:pointer}
.form-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:#eef5fb;border-radius:12px;padding:20px;color:var(--navy);font-weight:800}

footer{background:#101820;color:white;padding:34px clamp(24px,7vw,110px);display:flex;justify-content:space-between;gap:28px}
footer p{color:#cbd4dd;margin:4px 0}

/* Fit-to-screen / responsive */
@media(max-width:1250px){
  .phone{display:none}
  .nav{gap:14px}
  .top-donate{padding:12px 16px}
}
@media(max-width:1050px){
  .header{position:relative;align-items:flex-start;min-height:auto}
  .header-right{flex-direction:column;align-items:flex-end;gap:10px}
  .nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 18px}
  .nav a{padding:4px 0;font-size:11px}
  .hero{grid-template-columns:1fr;min-height:auto;max-height:none}
  .hero-dog{justify-self:center;order:2;height:auto;max-height:360px;width:min(310px,72vw)}
  .hero-copy{padding:40px 7%;order:1;text-align:left}
  .hero-car-wrap{display:none}
  .benefit-bar,.steps,.cards,.mission-impact,.vehicle-form,.form-features,.donate-wrap{grid-template-columns:1fr}
  .mission-dog{min-height:340px}
  .two-col{grid-template-columns:1fr}
  .donate-progress{flex-wrap:wrap}
  .side-note{position:relative;top:auto;max-width:260px;margin:0 auto}
  .submit-row{grid-template-columns:1fr}
}
@media(max-width:700px){
  .header{display:block;text-align:left}
  .logo img{width:250px}
  .header-right{align-items:flex-start;margin-top:12px}
  .nav{justify-content:flex-start}
  .top-donate{display:inline-block}
  .benefit{justify-content:flex-start;padding:0 18px}
  .hero h1{font-size:42px}
  .btn{width:100%;justify-content:center}
}


/* Final requested revisions */
.donate-progress.no-logo {
  justify-content: center;
  gap: clamp(22px, 5vw, 90px);
  padding: 24px clamp(20px,5vw,72px);
}

.donate-progress.no-logo strong,
.donate-progress.no-logo span {
  white-space: nowrap;
}

.side-note {
  overflow: visible;
}

.side-note img {
  width: 100%;
  max-width: 215px;
  height: auto;
  object-fit: contain;
  object-position: left center;
  border-radius: 0;
  box-shadow: none;
  margin-left: -20px;
}

.hero-dog {
  object-fit: cover;
  object-position: center top;
}

.hero-car-wrap img {
  object-fit: cover;
  object-position: center right;
}

@media(max-width:1050px){
  .donate-progress.no-logo {
    justify-content: flex-start;
    gap: 16px;
  }
  .donate-progress.no-logo strong,
  .donate-progress.no-logo span {
    white-space: normal;
  }
  .side-note img {
    margin-left: 0;
  }
}
