/* ============================================================
   TMG HarbourTown Mortgage — Sprint 1 site styles
   Visual direction: bold and confident (full-color blocks, large type)
   Brand: TMG Orange #D55C19, HarbourTown Grey #444547, TMG Grey #63666A
   Font: Open Sans (approved web fallback for Slate Pro)
   ============================================================ */

:root{
  --orange:#D55C19;
  --orange-dark:#B44A12;
  --ht-grey:#444547;
  --tmg-grey:#63666A;
  --white:#FFFFFF;
  --ink:#2B2C2D;
  --paper:#FAF9F7;
  --yellow:#F4E5B1;
  --taupe:#DAD7CB;
  --green:#ABC380;
  --blue:#A0D0CB;
  --maxw:1180px;
  --radius:14px;
  --shadow:0 18px 40px rgba(40,40,40,.14);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Open Sans","Segoe UI",Arial,sans-serif;
  color:var(--ht-grey);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--orange);text-decoration:none;}
a:hover{text-decoration:underline;}

h1,h2,h3{font-weight:800;line-height:1.08;color:var(--ht-grey);margin:0 0 .4em;letter-spacing:-.01em;}
h1{font-size:clamp(2.4rem,5.2vw,4rem);}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);}
h3{font-size:clamp(1.2rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
.eyebrow{
  text-transform:uppercase;letter-spacing:.16em;font-weight:800;
  font-size:.8rem;color:var(--orange);margin:0 0 .8rem;display:block;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.lead{font-size:1.2rem;max-width:46ch;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;font-weight:800;font-size:1.02rem;
  padding:16px 30px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:transform .08s ease, background .15s ease;
  text-decoration:none;line-height:1;
}
.btn:hover{text-decoration:none;transform:translateY(-2px);}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-dark);color:#fff;}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-ghost:hover{background:#fff;color:var(--ht-grey);}
.btn-dark{background:var(--ht-grey);color:#fff;}
.btn-dark:hover{background:#2f3032;color:#fff;}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:8px;}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eee;}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;max-width:1320px;margin:0 auto;}
.brand img{width:230px;height:auto;aspect-ratio:5.39/1;}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;}
.nav-links a{color:var(--ht-grey);font-weight:700;font-size:.98rem;}
.nav-links a:hover{color:var(--orange);text-decoration:none;}
.nav-cta{display:flex;align-items:center;gap:12px;}
.has-drop{position:relative;}
.has-drop{padding-bottom:4px;}
.dropdown{
  position:absolute;top:100%;left:0;background:#fff;border:1px solid #eee;border-radius:12px;
  box-shadow:var(--shadow);padding:10px;min-width:250px;display:none;z-index:60;
}
.has-drop:hover .dropdown,.has-drop:focus-within .dropdown,.has-drop.open .dropdown{display:block;}
.dropdown a{display:block;padding:10px 14px;border-radius:8px;}
.dropdown a:hover{background:var(--paper);}
.menu-toggle{display:none;background:none;border:0;font-size:1.7rem;cursor:pointer;color:var(--ht-grey);}

/* ---------- Sections / color blocks ---------- */
.section{padding:88px 0;}
.section-tight{padding:60px 0;}
.bg-white{background:#fff;}
.bg-paper{background:var(--paper);}
.bg-dark{background:var(--ht-grey);color:#f2f2f2;}
.bg-dark h1,.bg-dark h2,.bg-dark h3{color:#fff;}
.bg-orange{background:var(--orange);color:#fff;}
.bg-orange h1,.bg-orange h2,.bg-orange h3{color:#fff;}
.bg-orange .eyebrow{color:#ffe3cf;}
.bg-yellow{background:var(--yellow);}
.bg-blue{background:var(--blue);}
.bg-green{background:var(--green);}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:96px 0;}
.hero h1{margin-bottom:.25em;}
.hero .lead{color:inherit;opacity:.96;}
.hero-art{
  min-height:320px;border-radius:var(--radius);background:
   linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,0)),
   repeating-linear-gradient(45deg,rgba(0,0,0,.06) 0 18px,rgba(0,0,0,0) 18px 36px);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);
  font-weight:700;text-align:center;padding:24px;border:1px dashed rgba(255,255,255,.35);
}
.trust-line{margin-top:18px;font-weight:700;opacity:.95;}

/* ---------- Hero background image (Halifax harbour, reused from old site) ---------- */
.heroimg-harbour{
  background-image:linear-gradient(rgba(22,32,42,.60),rgba(20,28,38,.78)),
   url('https://tmgharbourtown.ca/wp-content/uploads/2024/01/HarbourFront-Development-Group-4.jpg');
  background-size:cover;background-position:center;
}
.heroimg-harbour .hero-inner{grid-template-columns:1fr;max-width:760px;}
.heroimg-harbour .hero-art{display:none;}
.heroimg-harbour-night{
  background-image:linear-gradient(rgba(18,22,31,.66),rgba(14,17,24,.84)),
   url('https://tmgharbourtown.ca/wp-content/uploads/2024/02/TMG-HarbourTown-Mortgage.jpg');
  background-size:cover;background-position:center;
}
.heroimg-harbour-night .hero-inner{grid-template-columns:1fr;max-width:760px;}
.heroimg-harbour-night .hero-art{display:none;}
/* real photo in an orange/coloured hero's art slot */
.hero-photo{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:var(--radius);display:block;box-shadow:0 18px 40px rgba(40,40,40,.22);}

/* ---------- Trust strip ---------- */
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.trust-strip li{list-style:none;font-weight:700;color:var(--ht-grey);padding:18px;background:#fff;border-radius:12px;box-shadow:0 8px 22px rgba(40,40,40,.06);}

/* ---------- Cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:36px;}
.cards.cards-5{grid-template-columns:repeat(5,1fr);align-items:start;}
.cards.cards-5 .card{padding:24px;}
.cards.cards-6{grid-template-columns:repeat(3,1fr);align-items:start;}
.cards-5 .card p,.cards-6 .card p{flex:initial;}
@media (max-width:1000px){.cards.cards-5,.cards.cards-6{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.cards.cards-5,.cards.cards-6{grid-template-columns:1fr;}}
.card{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;border-top:6px solid var(--orange);}
.card h3{margin-bottom:.4em;}
/* cards always have a white background, so keep their headings dark even inside coloured sections */
.bg-dark .card h3,.bg-orange .card h3,.bg-green .card h3,.bg-blue .card h3{color:var(--ht-grey);}
.card p{color:var(--tmg-grey);flex:1;}
.card .btn{align-self:flex-start;margin-top:10px;}
.card .tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--orange);margin-bottom:10px;}

/* color accents per card (bold treatment) */
.card.c1{border-top-color:var(--orange);}
.card.c2{border-top-color:var(--ht-grey);}
.card.c3{border-top-color:var(--blue);}
.card.c4{border-top-color:var(--green);}
.card.c5{border-top-color:var(--tmg-grey);}

/* ---------- "Not sure?" full-width routing banner ---------- */
.notsure{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ht-grey);color:#fff;border-radius:var(--radius);padding:30px 34px;margin-top:22px;flex-wrap:wrap;box-shadow:var(--shadow);}
.notsure>div{flex:1;min-width:280px;}
.notsure .tag{color:#ffd9c2;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;display:block;margin-bottom:8px;}
.notsure h3{color:#fff;margin:0 0 6px;}
.notsure p{color:#e3e1dc;margin:0;max-width:70ch;}
.notsure .btn{flex-shrink:0;}

/* ---------- Feature lists / steps ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.checklist{list-style:none;margin:0;padding:0;}
.checklist li{padding:12px 0 12px 38px;position:relative;border-bottom:1px solid rgba(0,0,0,.08);font-weight:600;}
.checklist li:before{content:"";position:absolute;left:0;top:18px;width:18px;height:18px;border-radius:50%;background:var(--orange);}
.bg-dark .checklist li{border-bottom-color:rgba(255,255,255,.14);}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-top:30px;counter-reset:step;}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:24px;}
.bg-paper .step,.bg-white .step{background:#fff;border-color:#eee;box-shadow:0 8px 22px rgba(40,40,40,.06);}
.step .num{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;margin-bottom:12px;}
.step h3{font-size:1.1rem;}

/* ---------- Two-option (talk vs apply) ---------- */
.options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px;}
.option{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);border-top:6px solid var(--ht-grey);}
.option.primary{border-top-color:var(--orange);}

/* ---------- Form section ---------- */
.formband{background:var(--paper);}
.form-shell{max-width:760px;margin:0 auto;background:#fff;border-radius:var(--radius);padding:36px;box-shadow:var(--shadow);}
.form-note{font-size:.9rem;color:var(--tmg-grey);margin-top:14px;}
.pipedriveWebForms{min-height:120px;}

/* ---------- CTA band ---------- */
.cta-band{text-align:center;}
.cta-band .btn{margin-top:10px;}

/* ---------- Testimonial placeholders ---------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:30px;}
.quote{background:#fff;border-left:5px solid var(--orange);border-radius:10px;padding:26px;box-shadow:0 8px 22px rgba(40,40,40,.06);}
.placeholder{outline:2px dashed #c9c4ba;background:repeating-linear-gradient(45deg,#f3f0ea 0 12px,#fbfaf7 12px 24px);color:#8a857b;border-radius:10px;padding:20px;font-weight:700;text-align:center;}

/* ---------- Footer ---------- */
.site-footer{background:var(--ht-grey);color:#d9d9d9;padding:60px 0 30px;}
.site-footer a{color:#f0d6c4;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;}
.foot-brand .wordmark{font-weight:800;font-size:1.35rem;color:#fff;letter-spacing:-.01em;}
.site-footer h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.site-footer li{margin-bottom:10px;}
.licence{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:.85rem;color:#b7b7b7;}
/* internal review flags are hidden from the public build (entity/licence now confirmed) */
.flag{display:none !important;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;padding:64px 0;}
  .hero-art{min-height:200px;}
  .split,.options{grid-template-columns:1fr;gap:28px;}
  .trust-strip{grid-template-columns:1fr 1fr;}
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 24px;border-bottom:1px solid #eee;gap:14px;}
  .nav-links.open{display:flex;}
  .dropdown{position:static;display:block;box-shadow:none;border:0;padding:6px 0 6px 12px;min-width:0;}
  .menu-toggle{display:block;}
  .section{padding:60px 0;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px;}
}
@media (max-width:560px){
  .trust-strip{grid-template-columns:1fr;}
  .brand img{width:180px;}
  .foot-grid{grid-template-columns:1fr;gap:24px;}
	.notsure .btn{width:100%;text-align:center;white-space:normal;}
	.btn{max-width:100%;white-space:normal;}
}
