@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;0,800;1,600;1,700&family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400&display=swap');

.page{
    --navy:#04192e;
    --slate:#5a7797;
    --soft:#d0deee;
    --ice:#eaf1f8;
    --berry:#962547;
    --blush:#f5b9c1;
    --ink:#26121c;
    --paper:#ffffff;
    --serif:"Playfair Display", Georgia, serif;
    --sans:"Lato", "Proxima Nova", "Helvetica Neue", Arial, sans-serif;
  }

  .page, .page *{box-sizing:border-box;}

  .page{
    width:100%;
    max-width:8.5in;
    margin:0 auto;
    background:var(--paper);
    font-family:var(--sans);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
  }

  /* ---------- masthead ---------- */
  .masthead{
    background:var(--navy);
    color:#fff;
    padding:.30in .5in .28in;
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
  }
  .mark{
    font-family:var(--serif);
    font-weight:700;
    font-style:italic;
    font-size:19pt;
    letter-spacing:.005em;
    line-height:1;
    white-space:nowrap;
  }
  .mark .star{ color:var(--soft); font-style:normal; font-size:13pt; padding:0 .04em; vertical-align:.06em;}
  .masthead .kicker{
    font-size:7.6pt;
    letter-spacing:.20em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--soft);
    text-align:right;
    line-height:1.5;
  }

  .body{padding:.34in .5in .18in;flex:1;}

  /* ---------- hero ---------- */
  .hero{display:flex;gap:.34in;align-items:flex-start;}
  .hero-copy{flex:1;min-width:0;}
  h1{
    font-family:var(--serif);
    font-weight:800;
    font-size:27.5pt;
    line-height:1.06;
    margin:0 0 .12in;
    color:var(--navy);
    letter-spacing:-.012em;
  }
  h1 em{font-style:italic;font-weight:700;color:var(--berry);}
  .lede{
    font-size:10.2pt;
    line-height:1.52;
    margin:0;
    color:#2c3a49;
    max-width:4.5in;
  }
  .lede strong{font-weight:700;color:var(--navy);}

  .portrait{
    width:1.62in;
    flex:none;
    border-radius:14px;
    overflow:hidden;
    background:var(--ice);
    border:1px solid var(--soft);
  }
  .portrait img{display:block;width:100%;}
  .portrait .cap{
    background:var(--berry);
    color:#fff;
    padding:.09in .12in .1in;
    font-size:7.2pt;
    line-height:1.35;
  }
  .portrait .cap b{
    display:block;
    font-family:var(--serif);
    font-weight:700;
    font-size:10pt;
    letter-spacing:.005em;
    margin-bottom:.02in;
  }
  .portrait .cap span{color:var(--blush);}

  /* ---------- highlight bar ---------- */
  .highlight{
    background:var(--soft);
    color:var(--navy);
    padding:.115in .17in;
    margin:.24in 0 .26in;
    font-size:9.6pt;
    line-height:1.45;
    border-radius:4px;
  }
  .highlight b{font-family:var(--serif);font-style:italic;font-weight:700;}

  /* ---------- section labels ---------- */
  .label{
    font-size:7.4pt;
    letter-spacing:.19em;
    text-transform:uppercase;
    font-weight:900;
    color:var(--slate);
    margin:0 0 .1in;
    display:flex;
    align-items:center;
    gap:.1in;
  }
  .label::after{content:"";height:1px;background:var(--soft);flex:1;}

  /* ---------- signature: hiring calendar ---------- */
  .calendar{display:flex;gap:.09in;margin-bottom:.26in;}
  .cal{
    flex:1;
    background:var(--ice);
    border-radius:9px;
    padding:.12in .12in .14in;
    border-top:3px solid var(--slate);
  }
  .cal.peak{background:#fdf0f2;border-top-color:var(--berry);}
  .cal .when{
    font-size:7.2pt;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--slate);
    margin-bottom:.045in;
  }
  .cal.peak .when{color:var(--berry);}
  .cal .what{
    font-family:var(--serif);
    font-weight:700;
    font-size:10pt;
    color:var(--navy);
    line-height:1.15;
    margin-bottom:.06in;
  }
  .cal p{margin:0;font-size:7.9pt;line-height:1.42;color:#33414f;}

  /* ---------- two columns ---------- */
  .cols{display:flex;gap:.36in;margin-bottom:.24in;}
  .col-main{flex:1.42;min-width:0;}
  .col-side{flex:1;min-width:0;}

  .phase{display:flex;gap:.13in;margin-bottom:.145in;}
  .phase .wk{
    flex:none;
    width:.72in;
    font-size:7.2pt;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--berry);
    padding-top:.028in;
    line-height:1.3;
  }
  .phase .txt{font-size:9pt;line-height:1.45;color:#2c3a49;}
  .phase .txt b{
    font-family:var(--serif);
    font-weight:700;
    font-size:10pt;
    color:var(--navy);
    display:block;
    line-height:1.2;
    margin-bottom:.025in;
  }

  .pills{display:flex;flex-wrap:wrap;gap:.055in;margin-bottom:.2in;}
  .pill{
    background:var(--ice);
    border:1px solid var(--soft);
    color:var(--navy);
    border-radius:999px;
    padding:.045in .105in;
    font-size:7.8pt;
    font-weight:700;
    line-height:1.3;
  }
  .pill.hot{background:var(--navy);border-color:var(--navy);color:#fff;}

  .toolbox{font-size:8.4pt;line-height:1.5;color:#33414f;margin:0;}
  .toolbox b{color:var(--navy);font-weight:900;}

  /* ---------- straight talk ---------- */
  .straight{
    border-left:3px solid var(--berry);
    padding:.02in 0 .02in .17in;
    margin-bottom:.24in;
  }
  .straight h3{
    font-family:var(--serif);
    font-size:11.5pt;
    font-weight:700;
    font-style:italic;
    color:var(--navy);
    margin:0 0 .05in;
  }
  .straight p{margin:0;font-size:9pt;line-height:1.5;color:#2c3a49;}

  /* ---------- pricing ---------- */
  .price{
    background:var(--navy);
    color:#fff;
    border-radius:11px;
    padding:.19in .24in;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.28in;
  }
  .price .nums{display:flex;gap:.34in;flex:none;}
  .price .n b{
    font-family:var(--serif);
    font-size:19pt;
    font-weight:700;
    line-height:1;
    display:block;
  }
  .price .n span{
    font-size:7.2pt;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--soft);
    font-weight:700;
    display:block;
    margin-top:.045in;
  }
  .price .ask{font-size:8.8pt;line-height:1.48;color:#dce7f3;}
  .price .ask b{color:#fff;font-weight:900;}

  /* ---------- footer ---------- */
  .footer{
    background:var(--navy);
    color:var(--soft);
    padding:.13in .5in;
    font-size:7.6pt;
    letter-spacing:.055em;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:auto;
    border-top:1px solid rgba(208,222,238,.22);
  }
  .footer .mark{font-size:12pt;color:#fff;}
  .footer .mark .star{font-size:8.5pt;}

  /* ---------- print ---------- */
  @page{size:letter portrait;margin:0;}
  @media print{
    .page{width:8.5in;height:11in;}
    *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  }
  @media (max-width:900px){
    .calendar,.cols,.hero,.price{flex-direction:column;}
    .price .nums{gap:.3in;}
  }