/* Route 257 Direct — Piece 1 shell dress.
   Colors are taken from the owner's template artwork: deep navy blues,
   Route reds, chrome and aged-brass metalwork, warm cream and tan.
   Black text where reading matters. Everything centered. */

:root{
  --navy-950:#060f22;
  --navy-900:#0a1c3a;
  --navy-800:#10294f;
  --navy-700:#1d3a68;
  --red-700:#7e0a1d;
  --red-600:#a50d24;
  --red-500:#d21f36;
  --cream:#f7ecd4;
  --cream-2:#efe0bd;
  --tan:#d9c49a;
  --brass:#b08d4f;
  --brass-dark:#7d6a3f;
  --steel-1:#f4f0e4;
  --steel-2:#cfc8b8;
  --steel-3:#9aa0a8;
  --ink:#14161a;
  --ink-navy:#17233c;
  --gold:#e9b949;
  --serif:"Playfair Display","PlayfairDisplay",Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 50% -10%, #1b3a6b 0%, transparent 60%),
    linear-gradient(180deg, var(--navy-950), #03081a);
  color:var(--cream);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.45;
  text-align:center;
}
img,video{max-width:100%;display:block}
a{color:inherit}

/* ---------- the riveted frame that wraps every page ---------- */
.frame{
  max-width:540px;
  margin:10px auto 18px;
  padding:14px 12px 16px;
  position:relative;
  background:linear-gradient(165deg,#33383f 0%,#1b1e24 34%,#262a31 62%,#14161a 100%);
  border:3px solid var(--brass-dark);
  border-radius:24px;
  box-shadow:0 10px 34px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.25), inset 0 0 0 2px rgba(217,180,110,.18);
}
.frame::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:21px;
  background-image:
    radial-gradient(circle at center,#fdf6dd 0 2.6px,#a8874e 3.4px 5px,#3a3f47 5.8px 6.6px,transparent 7.4px),
    radial-gradient(circle at center,#fdf6dd 0 2.6px,#a8874e 3.4px 5px,#3a3f47 5.8px 6.6px,transparent 7.4px),
    radial-gradient(circle at center,#fdf6dd 0 2.6px,#a8874e 3.4px 5px,#3a3f47 5.8px 6.6px,transparent 7.4px),
    radial-gradient(circle at center,#fdf6dd 0 2.6px,#a8874e 3.4px 5px,#3a3f47 5.8px 6.6px,transparent 7.4px);
  background-size:20px 20px;background-repeat:no-repeat;
  background-position:5px 5px, calc(100% - 5px) 5px, 5px calc(100% - 5px), calc(100% - 5px) calc(100% - 5px);
}

/* ---------- shared metalwork ---------- */
.plaque{
  background:linear-gradient(180deg,var(--steel-1) 0%,#e6dfca 48%,var(--steel-2) 58%,#efe8d5 100%);
  color:var(--ink-navy);
  border:2px solid var(--brass-dark);
  border-radius:10px;
  box-shadow:inset 0 1px 0 #fff, inset 0 -1px 0 rgba(0,0,0,.25), 0 3px 8px rgba(0,0,0,.5);
  padding:8px 12px;
}
.ribbon{
  background:linear-gradient(180deg,var(--red-500) 0%,var(--red-600) 55%,var(--red-700) 100%);
  color:var(--cream);
  border:2px solid #d9b878;
  border-radius:9px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 3px 8px rgba(0,0,0,.5);
  padding:7px 12px;
  letter-spacing:.06em;
}
.panel{
  background:linear-gradient(165deg,var(--navy-700) 0%,var(--navy-800) 42%,var(--navy-900) 100%);
  border:2px solid var(--brass);
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 4px 12px rgba(0,0,0,.5);
  padding:14px 12px;
}
.chrome-word{
  font-weight:900;letter-spacing:.02em;
  background:linear-gradient(180deg,#ffffff 0%,#d7dbe0 38%,#787f88 52%,#eef1f4 66%,#aab0b8 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.65));
}
.script{font-style:italic;font-weight:600;color:var(--cream-2)}
.star{color:var(--gold);letter-spacing:.18em;text-shadow:0 1px 2px rgba(0,0,0,.6)}

/* ---------- header ---------- */
.masthead{display:flex;align-items:center;gap:10px;padding:2px 2px 8px}
.masthead .wheel{width:86px;height:86px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 3px 5px rgba(0,0,0,.6))}
.masthead .titles{flex:1 1 auto;min-width:0}
.masthead .wordmark{font-size:31px;line-height:1.04;margin:0}
.masthead .palm{
  flex:0 0 auto;max-width:118px;
  font-style:italic;font-weight:700;font-size:16.5px;line-height:1.2;color:var(--ink-navy);
  transform:rotate(2deg);
}
.tagline-plaque{margin:0 2px 10px;font-weight:800;letter-spacing:.05em;font-size:16.5px}
.tagline-plaque .tick{color:var(--red-600);font-weight:900}

/* ---------- nav pills ---------- */
.nav{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:0 0 12px}
.pill{
  flex:1 1 30%;min-width:100px;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 8px;border-radius:999px;text-decoration:none;
  font-weight:700;font-size:16.5px;color:var(--cream);
  background:linear-gradient(180deg,var(--navy-700),var(--navy-900));
  border:2px solid #c9a45c;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 3px 7px rgba(0,0,0,.5);
}
.pill.active{background:linear-gradient(180deg,var(--red-500),var(--red-700));border-color:#e8c987}
.pill .ic{font-size:15px}
.nav-five .pill{flex:1 1 28%;min-width:104px;font-size:15px;padding:8px 4px}

/* ---------- hero / media bands ---------- */
.media-band{
  border:3px solid var(--brass);border-radius:16px;overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.55), inset 0 0 0 2px rgba(0,0,0,.35);
  margin:0 0 12px;background:#000;
}
.hero-flex{display:flex;gap:0}
.hero-flex .vid{flex:1 1 62%}
.hero-flex .sign{
  flex:1 1 38%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:10px 8px;color:var(--ink-navy);
  background:linear-gradient(180deg,#caa06a,#a67c44 60%,#8a6535);
  border-left:3px solid var(--brass-dark);
}
.hero-flex .sign img{width:76px;height:76px;object-fit:contain}
.hero-flex .sign p{margin:0;font-weight:800;font-size:16px;line-height:1.25}
.hero-flex video,.media-band video{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}

/* ---------- welcome band ---------- */
.welcome-grid{display:grid;grid-template-columns:44% 56%;gap:0}
.welcome-grid .rep{position:relative}
.welcome-grid .rep img,.welcome-grid .rep video{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3.4;border-radius:10px}
.welcome-copy{padding:2px 4px 2px 12px;text-align:center}
.welcome-copy .script{font-size:21px;display:block}
.welcome-copy .name-plaque{margin:6px 0 8px;font-size:21px;font-weight:900;letter-spacing:.03em}
.welcome-copy p{margin:0 0 10px;font-size:16.5px}
.checks{list-style:none;margin:0 0 12px;padding:0;text-align:left;display:inline-block}
.checks li{font-size:16px;margin:5px 0;padding-left:30px;position:relative}
.checks li::before{
  content:"✓";position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;
  background:linear-gradient(180deg,var(--red-500),var(--red-700));color:#fff;
  font-size:14px;font-weight:900;display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 3px rgba(0,0,0,.5);
}
.btn-red{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(180deg,var(--red-500),var(--red-600) 55%,var(--red-700));
  color:var(--cream);font-family:var(--serif);font-weight:800;font-size:18px;letter-spacing:.03em;
  border:2px solid #e8c987;border-radius:999px;padding:11px 22px;cursor:pointer;text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 4px 10px rgba(0,0,0,.5);
  width:100%;
}
.btn-red .play{
  width:26px;height:26px;border-radius:50%;background:var(--cream);color:var(--red-700);
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;
}

/* ---------- tiles ---------- */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.tile{
  text-decoration:none;color:var(--ink-navy);
  background:linear-gradient(180deg,var(--steel-1),#ddd5bf 70%,var(--steel-2));
  border:2px solid var(--brass-dark);border-radius:12px;overflow:hidden;
  box-shadow:inset 0 1px 0 #fff, 0 4px 9px rgba(0,0,0,.5);
  display:flex;flex-direction:column;
}
.tile img{width:100%;height:86px;object-fit:cover}
.tile .t-label{padding:8px 6px 10px;font-weight:900;font-size:16.5px;line-height:1.2;letter-spacing:.02em}
.tile .t-icon{font-size:40px;padding:12px 0 2px;line-height:1}
.tile .t-stars{font-size:21px;padding:10px 0 0}

/* ---------- reviews ---------- */
.reviews-band .ribbon{font-size:19px;font-weight:800;margin-bottom:10px}
.quote{background:rgba(247,236,212,.06);border:1.5px solid rgba(217,180,110,.5);border-radius:12px;padding:12px 12px 10px;margin:0 0 10px}
.quote p{margin:0 0 6px;font-size:17.5px;font-style:italic;color:var(--cream)}
.quote .star{font-size:16px}

/* ---------- book page ---------- */
.page-title{font-size:27px;margin:2px 0 8px;font-weight:900;letter-spacing:.04em}
.page-title .star{font-size:19px;vertical-align:middle}
.carrier-card{display:grid;grid-template-columns:46% 54%;padding:0;overflow:hidden;margin-bottom:12px;text-align:center}
.carrier-card img{width:100%;height:100%;object-fit:cover;min-height:190px}
.carrier-card .cc-body{padding:14px 12px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.carrier-card h3{margin:0;font-size:24px;font-weight:900;letter-spacing:.03em;color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.6)}
.carrier-card .cc-sub{margin:0;font-size:16px;color:var(--cream-2)}
.price-plaque{font-weight:800;font-size:16px}
.price-plaque .amount{display:block;font-size:29px;font-weight:900;color:var(--red-600);line-height:1.1}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}
.trust .tr{
  background:linear-gradient(180deg,var(--navy-700),var(--navy-900));
  border:2px solid var(--brass);border-radius:12px;padding:10px 4px 9px;
  font-weight:800;font-size:14.5px;line-height:1.25;color:var(--cream);
}
.trust .tr .ic{display:block;font-size:24px;margin-bottom:5px;color:var(--gold)}
.more-panel{display:none;margin:0 0 12px}
.more-panel.open{display:block}

/* ---------- office dashboard ---------- */
.dash-head{padding:6px 4px 4px}
.dash-head .wheel-big{width:118px;height:118px;object-fit:contain;margin:0 auto}
.dash-title{font-size:29px;margin:8px 0 10px;font-weight:900;letter-spacing:.05em}
.dash-row{display:flex;gap:8px;margin:0 0 12px}
.dash-row>*{min-width:0}
.today-pill{
  flex:1 1 auto;display:flex;align-items:center;gap:9px;text-align:left;
  background:linear-gradient(180deg,var(--navy-700),var(--navy-900));
  border:2px solid var(--brass);border-radius:12px;padding:8px 12px;color:var(--cream);
}
.today-pill .cal{font-size:24px}
.today-pill small{display:block;font-size:14.5px;color:var(--cream-2)}
.today-pill strong{font-size:16.5px}
.dash-select{
  flex:0 1 46%;width:46%;min-width:0;font-family:var(--serif);font-weight:700;font-size:15px;color:var(--cream);
  background:linear-gradient(180deg,var(--navy-700),var(--navy-900));
  border:2px solid var(--brass);border-radius:12px;padding:8px 10px;text-align:center;
}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}
.stat{
  background:linear-gradient(180deg,var(--navy-700),var(--navy-900));
  border:2px solid var(--brass);border-radius:12px;padding:9px 3px 8px;color:var(--cream);
}
.stat .ic{font-size:21px;display:block}
.stat .num{display:block;font-size:21px;font-weight:900;line-height:1.15}
.stat .lab{font-size:13.5px;line-height:1.2;display:block;color:var(--cream-2)}
.stats .stat:nth-child(n+5){grid-column:span 1}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.door{
  text-decoration:none;color:var(--cream);
  background:linear-gradient(180deg,var(--navy-700),var(--navy-900));
  border:2px solid var(--brass);border-radius:12px;padding:11px 6px 10px;
  display:flex;flex-direction:column;align-items:center;gap:3px;
}
.door .ic{font-size:24px}
.door .d-title{font-weight:800;font-size:16px;line-height:1.2}
.door .d-sub{font-size:12.5px;line-height:1.3;color:var(--cream-2)}
.door.hot{background:linear-gradient(180deg,var(--red-500),var(--red-700));border-color:#e8c987}
.door.hot .d-sub{color:#ffe9c9}
.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 4px}
.action{
  text-decoration:none;font-weight:800;font-size:14.5px;line-height:1.25;color:var(--ink-navy);
  background:linear-gradient(180deg,var(--steel-1),var(--steel-2));
  border:2px solid var(--brass-dark);border-radius:10px;padding:10px 4px;
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.action .ic{font-size:19px}
.action.red{background:linear-gradient(180deg,var(--red-500),var(--red-700));color:var(--cream);border-color:#e8c987}

/* ---------- contact ---------- */
.form-card{padding:0;overflow:hidden;text-align:center}
.form-head{border-radius:0;border-left:0;border-right:0;border-top:0;font-size:20px;font-weight:900;letter-spacing:.05em}
.form-body{padding:14px 14px 16px}
.field{margin:0 0 11px;text-align:left}
.field label{display:block;font-weight:700;font-size:15.5px;margin:0 0 5px;color:var(--cream)}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--serif);font-size:18px;color:var(--ink);
  background:var(--cream);border:2px solid var(--brass-dark);border-radius:10px;padding:11px 12px;
}
.field textarea{min-height:104px;resize:vertical}
.field .req{color:#ff8f9d}
.checks-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:2px 0 12px;text-align:left}
.checks-grid label{font-size:16px;display:flex;gap:8px;align-items:center;cursor:pointer}
.checks-grid input{width:21px;height:21px;accent-color:var(--red-600)}
.form-note{font-size:15px;color:var(--cream-2);margin:10px 0 0}
.form-status{display:none;margin:12px 0 0;padding:11px 12px;border-radius:10px;font-size:16px}
.form-status.show{display:block}
.form-status.ok{background:#e9f5e3;color:#20421a;border:2px solid #7ba05b}
.form-status.warn{background:#fdf3d8;color:#5c430a;border:2px solid var(--brass)}
.contact-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 6px}
.contact-tiles .ct{font-weight:900;font-size:16px;color:var(--ink-navy)}
.contact-tiles .ct .ic{
  display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto 6px;
  border-radius:50%;background:linear-gradient(180deg,var(--red-500),var(--red-700));color:#fff;font-size:21px;
  box-shadow:0 2px 5px rgba(0,0,0,.45);
}

/* ---------- generic inner pages ---------- */
.mini-mast{display:flex;align-items:center;gap:10px;justify-content:center;padding:2px 0 10px}
.mini-mast img{width:58px;height:58px;object-fit:contain}
.mini-mast .wordmark{font-size:23px}
.backrow{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:12px 0 2px}
.note-line{font-size:15px;color:var(--cream-2);margin:8px 0 0}
.big-quote p{font-size:19px}

/* ---------- winged star footer ---------- */
.wingfoot{margin-top:12px}
.wingfoot .wf-band{
  display:flex;align-items:center;gap:6px;
  background:linear-gradient(180deg,var(--navy-800),var(--navy-950));
  border:2px solid var(--brass-dark);border-radius:12px;padding:8px 10px;
}
.wingfoot .wing{flex:1 1 auto;height:16px;border-radius:4px;
  background:
    repeating-linear-gradient(180deg,#e8ebef 0 3px,#9aa0a8 3px 6px,#6d747d 6px 9px);
  clip-path:polygon(0 30%,100% 0,100% 100%,0 70%);
  opacity:.9;
}
.wingfoot .wing.r{transform:scaleX(-1)}
.wingfoot .wf-stars{font-size:19px;flex:0 0 auto}
.credit{font-size:13.5px;color:#b9ac8d;margin:8px 0 0;letter-spacing:.04em}

/* ---------- small screens ---------- */
@media (max-width:430px){
  body{font-size:17px}
  .masthead .wordmark{font-size:26px}
  .masthead .wheel{width:72px;height:72px}
  .masthead .palm{max-width:96px;font-size:15px}
  .welcome-grid{grid-template-columns:1fr}
  .welcome-grid .rep img,.welcome-grid .rep video{aspect-ratio:16/9}
  .welcome-copy{padding:10px 2px 0}
  .checks{display:block;text-align:left}
  .carrier-card{grid-template-columns:1fr}
  .carrier-card img{min-height:0;aspect-ratio:16/8}
  .trust{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(3,1fr)}
  .doors{grid-template-columns:repeat(2,1fr)}
  .actions{grid-template-columns:repeat(2,1fr)}
  .hero-flex{flex-direction:column}
  .hero-flex .sign{border-left:0;border-top:3px solid var(--brass-dark);flex-direction:row;padding:8px}
  .hero-flex .sign img{width:52px;height:52px}
}
