:root{
  /* Charcoal slate + copper/bronze + cream paper */
  --navy:#1f2b35; --navy-dark:#151d24; --navy-light:#34465a;
  --gold:#b26f3a; --gold-dark:#8c5426; --gold-light:#c98a52; --gold-pale:#e3c4a2;
  --paper:#f6f1e7; --white:#fff;
  --ink:#1e252b; --muted:#5f6a72; --line:#e3dbcd; --soft:#efe8db;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--paper)}
a{color:var(--gold-dark)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--navy)}
h1{font-size:2.6rem;margin:.4rem 0 1rem} h2{font-size:1.9rem;margin:0 0 .8rem} h3{font-size:1.25rem;margin:0 0 .5rem}
p{margin:0 0 1rem} ul{margin:.2rem 0 1.2rem;padding-left:1.25rem} li{margin:.35rem 0}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--gold-dark)}
.lead{font-size:1.18rem;color:#3f4a52}
.gold-rule{width:56px;height:4px;background:var(--gold);margin:1rem 0}
/* header */
.site-header{background:var(--navy-dark);color:#fff;position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px}
.brand{color:#fff;text-decoration:none;font-family:Georgia,serif;font-size:1.28rem;line-height:1.15}
.brand small{display:block;font-family:-apple-system,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-pale);margin-top:3px}
.nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nav a{color:#e6e1d8;text-decoration:none;padding:8px 10px;border-radius:6px;font-size:.95rem}
.nav a:hover,.nav a.active{background:rgba(255,255,255,.12);color:#fff}
.nav .cta{background:var(--gold);color:#fff;font-weight:700}
.site-header{border-bottom:3px solid var(--gold)}
.nav .cta:hover{background:var(--gold-light)}
.menu-btn{display:none;background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:6px;padding:8px 12px}
/* hero */
.hero{background:var(--navy);color:#fff;padding:64px 0 56px}
.hero h1{color:#fff} .hero p{color:#e9e3d8;max-width:760px}
.hero .eyebrow{color:var(--gold-pale)}
.btn{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:8px;border:0;cursor:pointer}
.btn:hover{background:var(--gold-light)} .btn-outline{display:inline-block;border:1px solid #fff;color:#fff;text-decoration:none;padding:11px 19px;border-radius:8px;margin-left:10px}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--navy);color:#fff} .btn-dark:hover{background:var(--navy-light)}
.hero-note{margin-top:22px;padding:14px 16px;background:rgba(255,255,255,.08);border-left:4px solid var(--gold);max-width:760px;font-size:.95rem}
/* sections */
.section{padding:56px 0} .section.soft{background:var(--soft)} .section.paper{background:var(--paper)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 1px 2px rgba(21,29,36,.04),0 8px 24px rgba(21,29,36,.06)}
.card h3 a{color:var(--navy);text-decoration:none} .card h3 a:hover{text-decoration:underline}
.card p{color:#4c565e}
.callout{border-left:4px solid var(--gold);background:#fff;padding:20px 22px;border-radius:0 10px 10px 0}
.steps{counter-reset:step}
.step{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.step-num{width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:1.2rem}
.checklist{list-style:none;padding:0} .checklist li{padding-left:28px;position:relative}
.checklist li:before{content:"✓";position:absolute;left:0;color:var(--gold-dark);font-weight:800}
.faq details{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:10px 0;background:#fff}
.faq summary{font-weight:700;color:var(--navy);cursor:pointer}
.badge{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:.85rem;margin:0 6px 8px 0}
/* forms */
form label{display:block;font-weight:700;margin:14px 0 4px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfc5b4;border-radius:8px;font:inherit}
textarea{min-height:110px} .form-note{font-size:.9rem;color:var(--muted)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* footer */
.site-footer{background:var(--navy-dark);color:#cfc8bc;padding:44px 0 28px;margin-top:0}
.site-footer a{color:#f1ebe0} .site-footer h3{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.small{font-size:.88rem;color:#a49c8f}
/* photos */
.hero{position:relative;background-color:var(--navy)}
.hero-home{background-image:linear-gradient(100deg,rgba(21,29,36,.94) 0%,rgba(21,29,36,.82) 48%,rgba(21,29,36,.45) 100%),url("../img/hero-cranes.jpg");background-size:cover;background-position:center 30%;padding:96px 0 84px}
.hero-photo{background-size:cover;background-position:center;padding:76px 0 64px}
.card.has-img{padding:0;overflow:hidden}
.card.has-img .card-body{padding:22px 24px 6px}
.card-img{display:block;width:100%;height:190px;object-fit:cover;border-bottom:3px solid var(--gold)}
.photo-strip{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-top:30px}
.photo-strip figure{margin:0;position:relative;border-radius:12px;overflow:hidden;min-height:240px;background:var(--navy)}
.photo-strip img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.photo-strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;color:#fff;font-size:.88rem;letter-spacing:.04em;background:linear-gradient(transparent,rgba(21,29,36,.85))}
.page-figure{margin:0 0 1.4rem;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.page-figure img{display:block;width:100%;height:260px;object-fit:cover}
@media(max-width:800px){
  .photo-strip{grid-template-columns:1fr} .hero-home{padding:64px 0 56px}
  h1{font-size:2.05rem} .grid2,.grid3,.field-row,.footer-grid{grid-template-columns:1fr}
  .menu-btn{display:block}
  .nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:10px 0}
  .nav.open{display:flex}
  .header-inner{flex-wrap:wrap}
  .btn-outline{margin-left:0;margin-top:10px}
}
