/* =========================================================
   ARIVAL — Design tokens
   ink navy / paper / amber split-flap / teal / clay accent
   Display: Space Grotesk | Body: Source Serif 4 | Data: IBM Plex Mono
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,500;0,6..96,600;0,6..96,700;1,6..96,500&family=Space+Grotesk:wght@500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --ink:#0F2038;
  --ink-soft:#33456399;
  --paper:#F5F6F3;
  --paper-raised:#FFFFFF;
  --amber:#E8A33D;
  --amber-deep:#C77F1E;
  --teal:#2F6F6B;
  --clay:#B14B3D;
  --line:#D8DCD6;
  --line-strong:#B8BFC2;
  --radius:2px;
  --max:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Source Serif 4', Georgia, serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{
  font-family:'Bodoni Moda', 'Source Serif 4', Georgia, serif;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--ink);
  margin:0 0 0.5em;
}
h1{font-size:clamp(2.2rem,4.4vw,3.6rem); line-height:1.08; font-weight:600;}
h2{font-size:clamp(1.55rem,2.7vw,2.25rem); line-height:1.18; font-weight:600;}
h3{font-size:1.25rem; font-weight:600;}
p{margin:0 0 1em;}
a{color:var(--teal);}
img{max-width:100%;display:block;}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
section{padding:72px 0;}
@media (max-width:640px){section{padding:48px 0;}}

.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal);
  display:inline-block;
  margin-bottom:14px;
}

/* ---------- Nav ---------- */
header.site-header{
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:sticky; top:0; z-index:50;
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0;
}
.brand{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700; font-size:1.5rem; color:var(--ink);
  text-decoration:none;
  display:flex; align-items:baseline; gap:8px;
}
.brand .mark{color:var(--amber-deep);}
nav.main-nav{display:flex; gap:28px; align-items:center;}
nav.main-nav a{
  color:var(--ink); text-decoration:none; font-family:'Bodoni Moda', serif;
  font-size:1.02rem; font-weight:600;
  border-bottom:2px solid transparent; padding-bottom:2px;
}
nav.main-nav a:hover, nav.main-nav a.active{border-bottom-color:var(--amber);}
.nav-cta{
  background:var(--ink); color:var(--paper)!important; padding:10px 18px!important;
  border-radius:var(--radius); border-bottom:none!important;
}
.nav-cta:hover{background:var(--teal); border-bottom:none!important;}

/* dropdown */
.nav-dropdown{position:relative;}
.nav-dropdown-trigger{
  background:none; border:none; cursor:pointer; padding:0 0 2px;
  font-family:'Bodoni Moda', serif; font-size:1.02rem; font-weight:600; color:var(--ink);
  display:flex; align-items:center; gap:4px; border-bottom:2px solid transparent;
}
.nav-dropdown-trigger .caret{font-size:0.65em; opacity:0.6; transition:transform .15s ease; margin-top:1px;}
.nav-dropdown:hover .nav-dropdown-trigger,
.nav-dropdown.open .nav-dropdown-trigger,
.nav-dropdown-trigger.active{border-bottom-color:var(--amber);}
.nav-dropdown.open .caret{transform:rotate(180deg);}
.dropdown-menu{
  display:none; position:absolute; top:100%; left:0; margin-top:14px;
  background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius);
  min-width:200px; padding:8px; box-shadow:0 16px 32px -14px rgba(15,32,56,0.22); z-index:60;
}
.nav-dropdown:hover .dropdown-menu, .nav-dropdown.open .dropdown-menu{display:block;}
.dropdown-menu a{display:block; padding:9px 10px; border-bottom:none!important; font-family:'Bodoni Moda', serif; font-size:0.98rem; font-weight:500; border-radius:2px;}
.dropdown-menu a:hover{background:var(--paper);}
.dropdown-menu a.active{color:var(--teal); font-weight:600;}
.nav-toggle{display:none; background:none; border:1px solid var(--line-strong); border-radius:var(--radius); padding:8px 12px; font-family:'Space Grotesk',sans-serif; font-weight:600;}
@media (max-width:860px){
  nav.main-nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--paper-raised); border-bottom:1px solid var(--line);
    flex-direction:column; padding:16px 24px; gap:16px;
  }
  nav.main-nav.open{display:flex;}
  .nav-toggle{display:inline-block;}
  .nav-dropdown-trigger{width:100%; justify-content:space-between;}
  .dropdown-menu{
    display:none; position:static; box-shadow:none; border:none; margin-top:8px;
    padding:0 0 0 14px; background:transparent; min-width:0;
  }
  .nav-dropdown.open .dropdown-menu{display:block;}
  .nav-dropdown:hover .dropdown-menu{display:none;}
  .nav-dropdown.open:hover .dropdown-menu{display:block;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block; font-family:'Space Grotesk',sans-serif; font-weight:600;
  font-size:0.95rem; padding:13px 26px; border-radius:var(--radius);
  text-decoration:none; border:1.5px solid var(--ink); cursor:pointer;
  transition:transform .12s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--ink); color:var(--paper); }
.btn-primary:hover{background:var(--teal); border-color:var(--teal); color:#fff;}
.btn-ghost{background:transparent; color:var(--ink);}
.btn-ghost:hover{background:var(--ink); color:var(--paper);}
.btn-amber{background:var(--amber); border-color:var(--amber-deep); color:var(--ink);}
.btn-amber:hover{background:var(--amber-deep); color:#fff;}

/* ---------- Hero ---------- */
.hero{padding:64px 0 48px;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
.hero-grid > *{min-width:0;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr; gap:36px;}}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
.hero-sub{font-size:1.15rem; color:var(--ink); max-width:46ch;}

/* ---------- Arrivals board (signature element) ---------- */
.arrivals-board{
  background:var(--ink); border-radius:6px; padding:22px 20px;
  box-shadow:0 18px 40px -18px rgba(15,32,56,0.55);
}
.board-head{
  display:flex; justify-content:space-between; align-items:center;
  color:var(--paper); font-family:'IBM Plex Mono',monospace; font-size:0.72rem;
  letter-spacing:0.14em; text-transform:uppercase; opacity:0.65;
  border-bottom:1px solid #ffffff22; padding-bottom:10px; margin-bottom:10px;
}
.board-row{
  display:flex; justify-content:space-between; align-items:center;
  padding:13px 4px; border-bottom:1px solid #ffffff14;
}
.board-row:last-child{border-bottom:none;}
.board-label{
  color:var(--paper); font-family:'IBM Plex Mono',monospace; font-size:0.92rem;
  letter-spacing:0.03em;
}
.board-status{
  font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:0.85rem;
  color:var(--amber); letter-spacing:0.06em;
  display:inline-block; transition:opacity .28s ease, transform .28s ease;
}
.board-status.flip{opacity:0; transform:translateY(-6px);}
@media (prefers-reduced-motion:reduce){
  .board-status{transition:none;}
}

/* ---------- Cards / grids ---------- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.grid-3 > *, .grid-2 > *{min-width:0;}
@media (max-width:800px){.grid-3,.grid-2{grid-template-columns:1fr;}}
.card{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px;
}
.card h3{margin-bottom:10px;}
.card .eyebrow{margin-bottom:8px;}

.stripe{background:var(--ink); color:var(--paper);}
.stripe .eyebrow{color:var(--amber);}
.stripe h2,.stripe h3{color:var(--paper);}
.stripe a:not(.btn){color:var(--amber);}

.divider-route{
  height:1px; background-image:linear-gradient(to right, var(--line-strong) 60%, transparent 0%);
  background-size:10px 1px; background-repeat:repeat-x; margin:0;
}

/* ---------- Split image/copy sections ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.split > *{min-width:0;}
@media (max-width:860px){.split{grid-template-columns:1fr;}}
.split img{width:100%; height:auto; max-height:480px; object-fit:cover;}
.split img{border-radius:4px;}
.split.reverse .img-col{order:2;}
@media (max-width:860px){.split.reverse .img-col{order:0;}}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
.faq-item summary{
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:1.05rem;
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-size:1.4rem; color:var(--amber-deep); flex-shrink:0;}
.faq-item[open] summary::after{content:'–';}
.faq-item p{margin-top:14px; max-width:70ch;}

/* ---------- Testimonial cards ---------- */
.testimonial{
  background:var(--paper-raised); border:1px solid var(--line); border-left:4px solid var(--amber);
  padding:26px 28px; border-radius:var(--radius);
}
.testimonial p{font-style:italic; font-size:1.05rem;}
.testimonial .who{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:0.9rem; color:var(--teal);}
.placeholder-tag{
  font-family:'IBM Plex Mono',monospace; font-size:0.68rem; text-transform:uppercase;
  letter-spacing:0.1em; color:var(--clay); border:1px solid var(--clay); border-radius:20px;
  padding:2px 10px; display:inline-block; margin-bottom:10px;
}

/* ---------- Forms ---------- */
.form-field{margin-bottom:18px;}
.form-field label{
  display:block; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:0.88rem;
  margin-bottom:6px;
}
.form-field input,.form-field textarea,.form-field select{
  width:100%; padding:12px 14px; border:1.5px solid var(--line-strong); border-radius:var(--radius);
  font-family:'Source Serif 4',serif; font-size:1rem; background:var(--paper-raised); color:var(--ink);
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{
  outline:2px solid var(--teal); outline-offset:1px;
}
.form-note{font-size:0.85rem; color:#33456399;}
.form-success, .form-error{padding:16px 18px; border-radius:var(--radius); margin-top:16px; font-family:'Space Grotesk',sans-serif; font-size:0.95rem;}
.form-success{background:#2F6F6B18; border:1px solid var(--teal); color:var(--teal);}
.form-error{background:#B14B3D18; border:1px solid var(--clay); color:var(--clay);}
.hidden{display:none!important;}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--ink); color:var(--paper); padding:56px 0 28px; margin-top:80px;
}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
footer.site-footer h4{color:var(--paper); font-size:0.85rem; text-transform:uppercase; letter-spacing:0.1em; font-family:'IBM Plex Mono',monospace; margin-bottom:14px;}
footer.site-footer a{color:#F5F6F3cc; text-decoration:none; display:block; margin-bottom:10px; font-size:0.92rem;}
footer.site-footer a:hover{color:var(--amber);}
.footer-bottom{
  border-top:1px solid #ffffff22; margin-top:40px; padding-top:22px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-family:'Source Serif 4', Georgia, serif; font-size:0.85rem; color:#F5F6F399;
}

/* ---------- Page header (interior pages) ---------- */
.page-head{padding:56px 0 40px; border-bottom:1px solid var(--line);}
.page-head p{max-width:65ch; font-size:1.1rem;}

/* ---------- County badge ---------- */
.county-badge{
  display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace;
  font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--teal);
  border:1px solid var(--teal); border-radius:20px; padding:5px 14px; margin-bottom:16px;
}

.skip-link{position:absolute; left:-999px; top:0; background:var(--ink); color:#fff; padding:10px 16px; z-index:100;}
.skip-link:focus{left:16px; top:16px;}

/* ---------- A mark: brand system ---------- */
.brand{display:flex; align-items:center; gap:6px;}
.brand-mark{height:34px; width:auto; display:block;}
.brand-mark-footer{height:26px; width:auto; display:block; filter:brightness(0) invert(1); opacity:0.92;}
.brand-logo-full{height:56px; width:auto; display:block;}
.brand-logo-full-footer{height:64px; width:auto; display:block; filter:brightness(0) invert(1); opacity:0.95;}
.nav-row{min-height:70px;}
footer.site-footer .brand{margin-bottom:14px;}

.divider-mark{
  display:flex; align-items:center; justify-content:center; gap:16px;
  padding:0; margin:0;
}
.divider-mark::before,.divider-mark::after{
  content:''; height:1px; background:var(--line-strong); flex:1; max-width:220px;
}
.divider-mark img{height:16px; width:auto; opacity:0.55; flex-shrink:0;}

.watermark-section{position:relative; overflow:hidden;}
.watermark-section::before{
  content:''; position:absolute; top:50%; left:50%;
  width:900px; height:900px; max-width:140vw;
  background-image:url('images/brand/arival-a-mark-navy.png');
  background-repeat:no-repeat; background-position:center; background-size:contain;
  transform:translate(-50%,-50%); opacity:0.035; pointer-events:none; z-index:0;
}
.service-areas .watermark-section::before{background-image:url('../images/brand/arival-a-mark-navy.png');}
.watermark-section > .wrap{position:relative; z-index:1;}

/* ---------- Relationships Matter quote card ---------- */
.rm-quote{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius);
  padding:34px 30px 28px;
}
.rm-quote img.quote-mark{height:26px; width:auto; margin-bottom:16px; opacity:0.85;}
.rm-quote p{font-style:italic; font-size:1.06rem; margin-bottom:16px;}
.rm-quote .who{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:0.92rem; color:var(--ink);}
.rm-quote .since{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--teal); display:block; margin-top:2px;}
.rm-quote.on-dark{background:#ffffff10; border-color:#ffffff2a;}
.rm-quote.on-dark p{color:#F5F6F3;}
.rm-quote.on-dark .who{color:#F5F6F3;}
.rm-quote.on-dark img.quote-mark{filter:brightness(0) invert(1);}

/* checklist style used on contact page — no emoji, mark-based bullets */
.mark-list{list-style:none; margin:0; padding:0;}
.mark-list li{
  position:relative; padding-left:26px; margin-bottom:10px; font-size:0.98rem;
}
.mark-list li::before{
  content:''; position:absolute; left:0; top:0.35em; width:12px; height:12px;
  background-image:url('images/brand/arival-a-mark-navy.png');
  background-repeat:no-repeat; background-size:contain;
}
.service-areas .mark-list li::before{background-image:url('../images/brand/arival-a-mark-navy.png');}
