@font-face{font-family:"Charter Web";src:url(fonts/charter-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Charter Web";src:url(fonts/charter-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Charter Web";src:url(fonts/charter-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  --paper:#f5f2ea;
  --ink:#1f1d1a;
  --soft:#5b574f;
  --rule:#d6d0c2;
  --accent:#7a2e1c;
  --tint:#e9e4d8;
  --char:#23211e;
  --accent-lt:#c9624a;
  --serif:"Charter Web",Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.6}
a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{max-width:60rem;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}

/* Header */
.top{border-top:5px solid var(--accent);border-bottom:1px solid var(--ink)}
.mark img{display:block;height:auto;width:190px}
.top .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:1.25rem;padding-bottom:1rem;flex-wrap:wrap}
.mark{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.top nav{font-family:var(--sans);font-size:.9375rem;display:flex;gap:1.5rem}
.top nav a{color:var(--ink);text-decoration:none}
.top nav a:hover{color:var(--accent)}

/* Opening */
.open{padding-top:4rem;padding-bottom:3.5rem}
.open h1{font-size:clamp(2.1rem,5.2vw,3.4rem);line-height:1.12;font-weight:700;letter-spacing:-.015em;margin:0 0 1.25rem;max-width:18ch}
.open p{font-size:1.25rem;color:var(--soft);margin:0 0 2rem;max-width:34rem}
.btn{display:inline-block;font-family:var(--sans);font-size:1rem;font-weight:600;background:var(--ink);color:var(--paper);text-decoration:none;padding:.85rem 1.4rem;border:0;cursor:pointer}
.btn:hover{background:var(--accent);text-decoration:none}

/* Ruled sections with a label column */
.sec{border-top:1px solid var(--rule)}
.sec .wrap{display:grid;grid-template-columns:12rem 1fr;gap:2rem;padding-top:3rem;padding-bottom:3rem}
.sec h2{font-size:1.125rem;font-weight:700;margin:.15rem 0 0;line-height:1.4}
.sec .body{max-width:38rem}
.sec .body > p:first-child{margin-top:0}

/* Shaded bands */
.sec.tint{background:var(--tint);border-top-color:#d3ccbc}
.sec.tint input,.sec.tint textarea{background:var(--paper)}
.sec.dark{background:var(--char);color:var(--paper);border-top:0}
.sec.dark h2{color:var(--accent-lt)}
.sec.dark a{color:var(--paper)}
.sec.dark + .sec{border-top:0}
.sec h2{color:var(--accent)}

/* Price list with dotted leaders */
.prices{list-style:none;margin:0 0 1.75rem;padding:0}
.prices li{display:flex;align-items:baseline;gap:.5rem;padding:.4rem 0}
.prices .name{font-weight:700;font-size:1.25rem}
.prices .dots{flex:1;border-bottom:2px dotted var(--soft);transform:translateY(-.3rem);min-width:2rem}
.prices .amt{font-weight:700;font-size:1.25rem;white-space:nowrap}
.prices .note{display:block;width:100%;font-size:1rem;color:var(--soft);margin-top:-.15rem}
.prices li{flex-wrap:wrap}

.incl{margin:0 0 1.25rem;padding:0;list-style:none;border-top:1px solid var(--rule)}
.incl li{padding:.6rem 0;border-bottom:1px solid var(--rule)}
.small{font-size:.9375rem;color:var(--soft)}

/* Steps as plain prose */
.steps{margin:0;padding:0;list-style:none}
.steps li{margin:0 0 1.1rem}
.steps b{font-weight:700}

/* Questions */
details{border-bottom:1px solid var(--rule)}
details:first-of-type{border-top:1px solid var(--rule)}
summary{cursor:pointer;padding:.85rem 1.75rem .85rem 0;font-weight:700;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:.8rem;font-family:var(--sans);font-weight:400;color:var(--soft)}
details[open] summary::after{content:"\2212"}
details p{margin:0 0 1rem}

/* Form */
form{margin-top:1.5rem}
label{display:block;font-family:var(--sans);font-size:.9375rem;font-weight:600;margin:0 0 .35rem}
.opt{font-weight:400;color:var(--soft)}
input,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fffdf8;border:1px solid var(--soft);border-radius:0;padding:.7rem .8rem;margin:0 0 1.1rem}
textarea{min-height:8rem;resize:vertical}
.hp{position:absolute;left:-9999px}

/* Footer */
.foot{background:var(--char);color:#bdb6a8}
.foot-logo{display:block;width:150px;height:auto;margin-bottom:.4rem}
.foot .wrap{padding-top:2rem;padding-bottom:2.5rem;font-family:var(--sans);font-size:.875rem;color:#bdb6a8;line-height:1.6}
.foot p{margin:0 0 .6rem}
.foot a{color:#e6e0d4}

/* Legal pages */
.doc{padding-top:3rem;padding-bottom:3rem}
.doc .inner{max-width:40rem}
.doc h1{font-size:2.25rem;line-height:1.15;margin:0 0 .5rem}
.doc h2{font-size:1.2rem;margin:2.25rem 0 .5rem}
.doc .updated{color:var(--soft);font-size:1rem;margin:0 0 2rem}

@media (max-width:720px){
  .mark img{width:160px}
  body{font-size:1.0625rem}
  .wrap{padding-left:1.25rem;padding-right:1.25rem}
  .open{padding-top:2.75rem;padding-bottom:2.5rem}
  .open p{font-size:1.125rem}
  .sec .wrap{grid-template-columns:1fr;gap:.75rem;padding-top:2.25rem;padding-bottom:2.25rem}
  .top nav{gap:1.1rem}
}
