/* ============================================================
   Crestwind Media — a small press that also takes commissions.
   Identity: warm press stock, deep ink, copper. Oversized
   numerals, a letterpress rate card, an asymmetric grid.
   ============================================================ */

:root{
  --paper:#FBF7F0;
  --paper-2:#F2EBDE;
  --ink:#12161B;
  --navy:#1B2A3A;
  --ink-2:#4B535E;
  --ink-3:#847B6E;
  --rule:#E0D6C6;
  --copper:#B25B33;
  --gold:#C08A3E;
  --wrap:1180px;
  --gut:clamp(20px,5vw,56px);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 15% 8%,rgba(178,91,51,.045),transparent 42%),
                   radial-gradient(circle at 85% 22%,rgba(27,42,58,.05),transparent 46%);
  background-attachment:fixed;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--copper);text-underline-offset:3px;}
a:hover{color:var(--navy);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100;}

h1,h2,h3,h4{font-family:"Fraunces","Georgia",serif;font-weight:600;line-height:1.1;letter-spacing:-.014em;margin:0;}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0 0 14px;}

.sec-head{display:flex;align-items:flex-start;gap:clamp(16px,3vw,36px);margin-bottom:38px;}
.sec-head .fig{font-family:"Fraunces",serif;font-size:clamp(46px,7vw,84px);line-height:.8;color:var(--copper);opacity:.28;font-weight:600;flex:none;}
.sec-head .txt{flex:1;border-top:2px solid var(--ink);padding-top:14px;}
.sec-head h2{font-size:clamp(26px,3.6vw,40px);}
.sec-head .sub{color:var(--ink-2);margin:10px 0 0;max-width:56ch;}

.btn{display:inline-block;padding:14px 26px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  transition:background .18s,border-color .18s,color .18s;}
.btn:hover{background:var(--copper);border-color:var(--copper);color:#fff;}
.btn--ghost{background:none;color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:var(--paper);}
.btn--copper{background:var(--copper);border-color:var(--copper);color:#fff;}
.btn--copper:hover{background:var(--ink);border-color:var(--ink);}

.masthead{border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:50;}
.masthead .wrap{display:flex;align-items:center;gap:26px;height:76px;}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);margin-right:auto;}
.logo .mark{width:28px;height:28px;flex:none;display:grid;place-items:center;color:var(--copper);}
.logo .mark svg{display:block;}
.logo .name{font-family:"Fraunces",serif;font-size:19px;}
.logo .name span{color:var(--ink-3);font-weight:400;}
.navlinks{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center;}
.navlinks a{text-decoration:none;color:var(--ink-2);font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;}
.navlinks a:hover,.navlinks a[aria-current]{color:var(--copper);}
.navlinks .cta a{background:var(--copper);color:#fff;padding:9px 16px;}
.navlinks .cta a:hover{background:var(--ink);color:#fff;}
@media (max-width:920px){
  .masthead .wrap{height:auto;padding-top:14px;padding-bottom:14px;flex-wrap:wrap;gap:10px 18px;}
  .navlinks{gap:14px;width:100%;flex-wrap:wrap;}
  .navlinks a{font-size:11px;}
}

.hero{padding:clamp(48px,8vw,92px) 0 clamp(36px,5vw,64px);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,60px);align-items:center;}
.hero h1{font-size:clamp(36px,5.8vw,68px);letter-spacing:-.024em;}
.hero h1 em{font-style:italic;color:var(--copper);}
.hero .lede{font-size:clamp(16.5px,1.5vw,19.5px);color:var(--ink-2);max-width:48ch;margin:22px 0 28px;}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;}
.fan{display:flex;justify-content:center;align-items:flex-end;}
.fan img{width:38%;border:1px solid rgba(18,22,27,.14);box-shadow:0 14px 34px rgba(18,22,27,.22);}
.fan img:nth-child(1){transform:rotate(-9deg) translateX(26%);z-index:1;}
.fan img:nth-child(2){transform:rotate(-2deg);z-index:3;}
.fan img:nth-child(3){transform:rotate(7deg) translateX(-26%);z-index:2;}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr;}.fan{order:-1;max-width:400px;margin:0 auto 12px;}}

.strip{background:var(--navy);color:#E7DFD2;}
.strip .wrap{display:flex;flex-wrap:wrap;gap:10px 44px;padding:20px 0;align-items:baseline;}
.strip div{display:flex;align-items:baseline;gap:9px;}
.strip b{font-family:"Fraunces",serif;font-size:24px;color:var(--gold);font-weight:600;}
.strip span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#A9B4C0;}

section{padding:clamp(50px,6.5vw,84px) 0;}
.band{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}

.rates{border-top:2px solid var(--ink);}
.rate{display:grid;grid-template-columns:1fr auto;gap:8px 24px;padding:26px 0;border-bottom:1px solid var(--rule);align-items:baseline;}
.rate h3{font-size:clamp(20px,2.4vw,25px);margin-bottom:6px;}
.rate .spec{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);font-weight:600;margin:0 0 10px;}
.rate p{color:var(--ink-2);margin:0;max-width:60ch;font-size:16px;}
.rate .price{grid-column:2;grid-row:1;justify-self:end;text-align:right;font-family:"Fraunces",serif;
  font-size:clamp(30px,4vw,42px);line-height:1;color:var(--ink);font-weight:600;}
.rate .price .from{display:block;font-family:"Inter",sans-serif;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:6px;}
.rate .tiers{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.rate .tier{border:1px solid var(--rule);background:var(--paper);padding:8px 14px;font-size:13.5px;color:var(--ink-2);}
.rate .tier b{color:var(--ink);font-family:"Fraunces",serif;font-size:15px;}
@media (max-width:640px){
  .rate{grid-template-columns:1fr;}
  .rate .price{grid-column:1;grid-row:auto;justify-self:start;text-align:left;margin-top:10px;}
}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);}
.steps article{background:var(--paper);padding:26px 22px;}
.steps .n{font-family:"Fraunces",serif;font-size:13px;color:var(--copper);display:block;margin-bottom:12px;letter-spacing:.06em;}
.steps h3{font-size:18px;margin-bottom:8px;}
.steps p{color:var(--ink-2);font-size:15px;margin:0;}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.steps{grid-template-columns:1fr;}}

.shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,28px);}
.shelf figure{margin:0;}
.shelf img{border:1px solid rgba(18,22,27,.14);box-shadow:0 8px 20px rgba(18,22,27,.14);}
.shelf figcaption{margin-top:12px;}
.shelf .t{font-family:"Fraunces",serif;font-size:16.5px;line-height:1.2;display:block;}
.shelf .t a{color:var(--ink);text-decoration:none;}
.shelf .t a:hover{color:var(--copper);}
.shelf .s{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;display:block;}
@media (max-width:820px){.shelf{grid-template-columns:1fr 1fr;}}

.kidlist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:10px;}
.kidlist article{background:var(--paper);padding:24px 22px;}
.kidlist h3{font-size:19px;margin-bottom:8px;}
.kidlist p{color:var(--ink-2);font-size:15px;margin:0;}
.kidlist .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);font-weight:600;margin-bottom:10px;}
@media (max-width:820px){.kidlist{grid-template-columns:1fr;}}

.answer{background:var(--paper-2);border-left:3px solid var(--copper);padding:22px 26px;margin:26px 0;}
.answer .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-weight:600;}
.answer p{margin:0;color:var(--ink);}

.faq details{border-bottom:1px solid var(--rule);padding:18px 0;}
.faq summary{cursor:pointer;list-style:none;font-family:"Fraunces",serif;font-size:19px;display:flex;justify-content:space-between;gap:18px;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--copper);font-size:22px;line-height:1;}
.faq details[open] summary::after{content:"\2013";}
.faq p{color:var(--ink-2);margin:14px 0 2px;max-width:72ch;}

.cta{background:var(--ink);color:#D8D2C8;}
.cta h2{color:#fff;font-size:clamp(26px,3.6vw,40px);max-width:22ch;}
.cta p{color:#9AA2AC;max-width:54ch;margin:18px 0 26px;}
.cta .btn{background:var(--copper);border-color:var(--copper);color:#fff;}
.cta .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink);}

footer{background:var(--paper-2);border-top:2px solid var(--ink);padding:46px 0 32px;font-size:14px;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;}
footer h4{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-family:"Inter",sans-serif;font-weight:700;margin-bottom:14px;}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:9px;}
footer a{color:var(--ink-2);text-decoration:none;}
footer a:hover{color:var(--copper);}
.colophon{border-top:1px solid var(--rule);margin-top:32px;padding-top:20px;color:var(--ink-3);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;}}

.doc{max-width:780px;}
.doc h1{font-size:clamp(32px,4.6vw,48px);margin-bottom:18px;}
.doc h2{font-size:23px;margin:36px 0 12px;}
.doc p,.doc li{color:var(--ink-2);}
.doc ul{padding-left:20px;}
.doc li{margin-bottom:9px;}
.summary{background:var(--paper-2);border-left:3px solid var(--copper);padding:20px 24px;margin:26px 0 8px;}
.summary p{margin:0;color:var(--ink);}
.summary .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;}
.updated{font-size:13px;color:var(--ink-3);margin-top:12px;}
.crumbs{font-size:12.5px;letter-spacing:.05em;color:var(--ink-3);padding-top:26px;}
.crumbs a{color:var(--ink-3);}
.entry{display:grid;grid-template-columns:200px 1fr;gap:clamp(22px,3.4vw,44px);padding:34px 0;align-items:start;}
.entry .art img{border:1px solid rgba(18,22,27,.14);box-shadow:0 10px 24px rgba(18,22,27,.16);}
.entry .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;}
.entry .meta .no{color:var(--copper);font-family:"Fraunces",serif;letter-spacing:.06em;}
.entry h1,.entry h3{font-size:clamp(23px,2.6vw,32px);margin-bottom:8px;}
.entry .line{font-family:"Fraunces",serif;font-style:italic;font-size:19px;color:var(--navy);margin:0 0 14px;}
.entry .desc{color:var(--ink-2);margin:0 0 18px;max-width:62ch;}
.entry .acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.entry .acts .small{font-size:13px;color:var(--ink-3);}
@media (max-width:700px){.entry{grid-template-columns:130px 1fr;gap:20px;}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}html{scroll-behavior:auto;}}
