@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;}
}