@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --harbor:#283A4D;      /* logo navy */
  --harbor-deep:#1B2836; /* deeper navy, footer/dark surfaces */
  --fog:#EDEFF2;         /* logo light cool grey */
  --fog-soft:#FAFBFC;    /* near-white, cooler */
  --moss:#6B7A8A;        /* logo slate — used for eyebrows/labels */
  --brygge:#3D5B78;      /* steel-blue accent, replaces warm rust */
  --gold:#9AAAB8;        /* cool muted accent for dividers/notes */
  --ink:#1E2833;         /* body text, cool near-navy */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--fog-soft);line-height:1.6;}
h1,h2,h3{font-family:'Jost',sans-serif;font-weight:600;letter-spacing:-0.01em;}
a{color:inherit;}

/* ===== NAV ===== */
nav{
  position:sticky;top:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 6%;
  background:var(--fog-soft);
  color:var(--ink);
  border-bottom:1px solid rgba(30,40,51,.08);
}
nav{padding:14px 6%;}
nav .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
nav .logo img{height:48px;width:auto;display:block;}
@media (max-width:800px){
  nav .logo img{height:40px;}
}
nav .links a{color:var(--ink);text-decoration:none;font-size:1.08rem;font-weight:500;letter-spacing:.02em;margin-left:30px;opacity:.75;}
nav .links a:hover, nav .links a.active{opacity:1;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--brygge);}

/* ===== PAGE HERO (small, non-fullscreen, used on subpages) ===== */
.page-hero{
  padding:70px 6% 60px;
  background:linear-gradient(120deg,var(--harbor) 0%, #2b4d5f 100%);
  color:var(--fog-soft);
}
.page-hero .eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-bottom:14px;}
.page-hero h1{font-size:clamp(2rem,4.5vw,3.2rem);max-width:20ch;}
.page-hero p{max-width:56ch;margin-top:16px;opacity:.9;font-size:1.02rem;}

section{padding:90px 6%;}
.section-inner{max-width:1100px;margin:0 auto;}
.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--moss);margin-bottom:14px;font-weight:600;}

/* ===== CARDS ===== */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:rgba(30,40,51,.12);}
.card{background:var(--fog-soft);padding:34px 30px;}
.card h3{font-size:1.05rem;margin-bottom:8px;font-weight:500;}
.card p{font-size:.9rem;color:#6b665c;}
.card .icon{font-size:1.5rem;display:block;margin-bottom:14px;}

.btn-primary{display:inline-block;background:var(--brygge);color:var(--fog-soft);padding:14px 26px;border-radius:2px;text-decoration:none;font-weight:600;font-size:.95rem;transition:transform .2s;}
.btn-primary:hover{transform:translateY(-2px);}
.btn-ghost{display:inline-block;border:1px solid rgba(30,40,51,.3);color:var(--ink);padding:13px 25px;border-radius:2px;text-decoration:none;font-weight:500;font-size:.95rem;}

.link-card{
  display:block;background:var(--fog-soft);border:1px solid rgba(30,40,51,.12);
  padding:36px;text-decoration:none;color:var(--ink);transition:border-color .2s;
}
.link-card:hover{border-color:var(--brygge);}
.link-card .eyebrow{margin-bottom:10px;}
.link-card h3{font-size:1.3rem;margin-bottom:10px;}
.link-card p{color:#6b665c;font-size:.92rem;}
.link-card .arrow{margin-top:16px;font-size:.85rem;color:var(--brygge);font-weight:600;}

footer{padding:36px 6%;background:var(--harbor-deep);color:rgba(250,248,243,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;}

@media (max-width:800px){
  nav .links a{display:none;}
  nav .links a.book-btn{display:inline-block;}
}
a:focus-visible,button:focus-visible{outline:2px solid var(--brygge);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.btn-primary{transition:none;}}
