/* nd.css — shared styles for the "New Direction" pages (blue / gold / ivory) */

:root{
  --ivory:#F6F1E6;
  --ivory-2:#EAE1CE;
  --terra:#1D3E72;
  --terra-deep:#142C54;
  --coral:#D7A748;
  --gold:#D7A748;
  --gold-2:#E3BF6F;
  --teal-deep:#0B1E3C;
  --ink:#0B1E3C;
  --ink-2:#3B4A66;
  --muted:rgba(11,30,60,.6);
  --line:rgba(11,30,60,.14);
  --line-gold:rgba(215,167,72,.5);
  --display:"Bodoni Moda",Georgia,serif;
  --ui:"Hanken Grotesk",system-ui,sans-serif;
  --pad:clamp(20px,5vw,80px);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--ui);
  background:var(--ivory);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
em{font-style:italic;}
img{display:block;max-width:100%;}
a{color:inherit;}
.display{font-family:var(--display);font-weight:500;line-height:1;}
.eyebrow{
  font-family:var(--ui);font-size:12px;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;
}
.container{max-width:1240px;margin:0 auto;}
.nd-section{padding:clamp(60px,8vw,120px) var(--pad);}

/* ===== Top bar ===== */
.topbar{
  position:absolute;top:0;left:0;right:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px var(--pad);
}
.tb-logo{height:46px;width:auto;filter:brightness(0) invert(1);}
.tb-nav{display:flex;gap:34px;align-items:center;}
.tb-nav a{
  color:rgba(255,255,255,.85);text-decoration:none;
  font-size:14px;font-weight:500;letter-spacing:.02em;
}
.tb-nav a:hover{color:#fff;}
.tb-nav a.current{color:var(--coral);}
.tb-cta{
  border:1px solid rgba(255,255,255,.5);color:#fff;
  padding:11px 22px;border-radius:100px;font-size:13px;font-weight:600;
  letter-spacing:.04em;cursor:pointer;background:transparent;
  transition:all .2s;text-decoration:none;display:inline-block;
}
.tb-cta:hover{background:#fff;color:var(--ink);}
@media(max-width:860px){.tb-nav{display:none;}}

/* ===== Page head ===== */
.page-head{
  background:var(--terra);color:var(--ivory);
  padding:160px var(--pad) clamp(56px,7vw,96px);
  position:relative;overflow:hidden;
}
.page-head::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 80% at 0% 100%, rgba(58,92,150,.55), transparent 60%),
    radial-gradient(90% 70% at 100% 0%, rgba(10,24,52,.6), transparent 55%);
}
.page-head>.container{position:relative;z-index:1;}
.ph-eyebrow{color:var(--coral);margin-bottom:24px;
  display:inline-flex;align-items:center;gap:14px;}
.ph-eyebrow::before{content:"";width:42px;height:1px;background:var(--coral);display:inline-block;}
.page-head h1{
  font-family:var(--display);font-weight:500;
  font-size:clamp(44px,6.4vw,92px);line-height:.96;letter-spacing:-.01em;max-width:18ch;
}
.page-head h1 em{color:var(--coral);}
.page-head p{
  margin-top:26px;max-width:62ch;font-size:clamp(15px,1.2vw,18px);
  line-height:1.6;color:rgba(250,244,234,.82);
}
.page-head p a{color:var(--gold-2);}

/* ===== Buttons ===== */
.btn{
  font-family:var(--ui);font-weight:600;font-size:15px;letter-spacing:.02em;
  padding:15px 28px;border-radius:100px;cursor:pointer;border:none;
  transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:10px;
}
.btn-arrow{transition:transform .2s;}
.btn:hover .btn-arrow{transform:translateX(4px);}
.btn-primary{background:var(--terra);color:var(--ivory);}
.btn-primary:hover{background:var(--terra-deep);transform:translateY(-2px);}
.btn-primary[disabled]{opacity:.55;cursor:not-allowed;transform:none;}
.btn-ivory{background:var(--ivory);color:var(--terra-deep);}
.btn-ivory:hover{background:#fff;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--ivory);border:1px solid rgba(250,244,234,.45);}
.btn-ghost:hover{border-color:var(--ivory);}
.btn-outline{background:transparent;color:var(--terra);border:1px solid var(--line-gold);}
.btn-outline:hover{border-color:var(--terra);}
.btn-back{background:transparent;color:var(--ink-2);padding-left:6px;padding-right:6px;}
.btn-back:hover{color:var(--terra);}

/* ===== Footer ===== */
footer{background:var(--ink);color:rgba(250,244,234,.7);padding:60px var(--pad);display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:center;}
footer img{height:42px;filter:brightness(0) invert(1);}
footer .legal{font-size:13px;}

/* ===== CTA strip ===== */
.cta{background:var(--ink);color:var(--ivory);text-align:center;padding:clamp(64px,8vw,110px) var(--pad);}
.cta .eyebrow{color:var(--coral);}
.cta h2{font-family:var(--display);font-weight:500;font-size:clamp(32px,4.6vw,58px);line-height:1.02;margin-top:18px;}
.cta h2 em{color:var(--coral);}
.cta-actions{display:flex;justify-content:center;gap:16px;margin-top:32px;flex-wrap:wrap;}

/* ===== Section heading ===== */
.sec-head{margin-bottom:48px;}
.sec-head .eyebrow{color:var(--terra);}
.sec-head h2{font-family:var(--display);font-weight:500;font-size:clamp(30px,4vw,52px);line-height:1.04;margin-top:16px;letter-spacing:-.01em;}
.sec-head h2 em{color:var(--terra);}

/* ===== Form fields (shared) ===== */
.form-stack{display:flex;flex-direction:column;gap:22px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:560px){.form-row{grid-template-columns:1fr;}}
.field-label{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;}
.field{
  width:100%;font-family:var(--ui);font-size:15px;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:6px;
  padding:13px 16px;transition:border-color .2s,box-shadow .2s;
}
.field:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(29,62,114,.12);}
.field.error{border-color:#b4452f;}
textarea.field{resize:vertical;min-height:90px;}
.field-err{color:#b4452f;font-size:12px;margin-top:6px;}

/* chip toggles (occasion / topic) */
.chip{
  font-family:var(--ui);font-size:13px;font-weight:600;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);border-radius:100px;
  padding:9px 16px;cursor:pointer;transition:all .2s;
}
.chip:hover{border-color:var(--terra);color:var(--terra);}
.chip.active{background:var(--terra);border-color:var(--terra);color:var(--ivory);}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;}
