/* Hearth Science design tokens: the only place colors, type and spacing are defined. */
:root{
--charcoal:#1C1A17;--off-white:#F6F2EB;--teal:#1E5C52;--amber:#C4621D;--stone:#EEEAE0;--bark:#2A2119;--amber-ink:#A85014;--amber-ember:#D9772F;
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",system-ui,sans-serif;
--side:48px;--pad:80px;--pad-c:40px;--max:1320px;--radius:2px;--hair:.5px;
--bg:var(--off-white);--fg:var(--charcoal);--head:var(--charcoal);--link:var(--teal);--quiet:rgb(28 26 23/.7);--eyebrow:var(--amber-ink);--btn-bg:var(--teal);--btn-fg:var(--off-white);--rule:rgb(28 26 23/.28);
--field:rgb(28 26 23/.05);--field-b:rgb(28 26 23/.55);--focus:var(--teal);--err:var(--amber-ink)}
@font-face{font-family:"Cormorant Garamond";font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/cg-300.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:300;font-style:italic;font-display:swap;src:url(/fonts/cg-300i.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/cg-400.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/cg-400i.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/cg-600.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:300;font-display:swap;src:url(/fonts/in-300.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(/fonts/in-400.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(/fonts/in-500.woff2) format("woff2")}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--off-white);color:var(--charcoal);font:300 16px/1.75 var(--sans);overflow-x:hidden}
img,video,iframe{max-width:100%;display:block}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:.5px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--off-white);color:var(--charcoal);padding:12px;z-index:50}.skip:focus{left:8px;top:8px}
/* section themes */
.t-paper,.t-paper-bold,.t-stone,.t-stone-bold,.t-paper-teal{--fg:var(--charcoal);--link:var(--teal);--btn-bg:var(--teal);--btn-fg:var(--off-white);--eyebrow:var(--amber-ink);--quiet:rgb(28 26 23/.7)}
.t-paper{--bg:var(--off-white);--head:var(--charcoal)}.t-paper-bold{--bg:var(--off-white);--head:var(--teal)}
.t-stone{--bg:var(--stone);--head:var(--charcoal)}.t-stone-bold{--bg:var(--stone);--head:var(--teal)}
.t-paper-teal{--bg:var(--off-white);--head:var(--teal);--fg:var(--teal)}
.t-teal,.t-amber,.t-ink{--fg:var(--off-white);--head:var(--off-white);--link:var(--off-white);--quiet:rgb(246 242 235/.8);--rule:rgb(246 242 235/.3);--field:rgb(246 242 235/.06);--field-b:rgb(246 242 235/.45);--focus:var(--off-white);--err:var(--amber-ember)}
.t-teal{--err:var(--off-white);--bg:var(--teal);--btn-bg:var(--off-white);--btn-fg:var(--teal);--eyebrow:var(--off-white)}
.t-amber{--err:var(--off-white);--bg:var(--amber-ink);--btn-bg:var(--off-white);--btn-fg:var(--charcoal);--eyebrow:var(--off-white)}
.t-ink{--bg:var(--charcoal);--btn-bg:var(--off-white);--btn-fg:var(--charcoal);--eyebrow:var(--amber-ember)}
.sec{position:relative;background:var(--bg);color:var(--fg);padding:var(--pad) var(--side);overflow:hidden}
.sec.compact{padding-block:var(--pad-c)}
.wrap{position:relative;max-width:var(--max);margin:auto;display:flex;flex-direction:column;gap:28px}
.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.col{grid-column:var(--gc,1/-1);display:flex;flex-direction:column;gap:14px;min-width:0}
.col.center{text-align:center;align-items:center}
.media-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlay{position:absolute;inset:0;background:rgb(28 26 23/var(--ov,.62))}
.has-media{--fg:var(--off-white);--head:var(--off-white);--link:var(--off-white);--eyebrow:var(--amber-ember);--btn-bg:var(--off-white);--btn-fg:var(--charcoal);--quiet:rgb(246 242 235/.85);background:var(--charcoal);min-height:560px;display:flex;align-items:center}
.has-media .wrap{width:100%}
.hero{padding-top:calc(81px + 72px)}
.t-paper-hero{}
.pause{position:absolute;right:20px;bottom:20px;width:44px;height:44px;padding:6px;display:flex;align-items:center;justify-content:center;background:none;color:var(--off-white);border:0;cursor:pointer}.pause .i-play{display:none}.pause.is-paused .i-play{display:block}.pause.is-paused .i-pause{display:none}
/* type */
h1,h2,h3,h4{font-family:var(--serif);color:var(--head);margin:0;letter-spacing:-.02em;font-weight:300}
h1,.h-hero{font-size:clamp(42px,5vw,68px);line-height:1.05}
h2,.h-sec{font-size:clamp(32px,3.6vw,42px);line-height:1.15}
h3,.h-sub{font-size:clamp(26px,2.9vw,32px);line-height:1.15}
h4,.h-card{font-size:26px;line-height:1.2;font-weight:400;letter-spacing:0}
h1 em,.hero h2 em{color:var(--amber-ember)}
.t-paper h1 em,.t-paper-teal h1 em,.t-stone h1 em,.t-paper-bold h1 em,.t-stone-bold h1 em,.t-paper h2 em,.t-stone h2 em,.t-paper-bold h2 em,.t-stone-bold h2 em,.t-paper-teal h2 em{color:var(--amber-ink)}
.t-teal h1 em,.t-amber h1 em,.t-teal h2 em,.t-amber h2 em{color:inherit}
.has-media h1 em,.has-media h2 em{color:var(--amber-ember)}
.num{font-family:var(--serif);font-size:clamp(42px,5vw,56px);line-height:1;font-weight:300;letter-spacing:-.02em}
p{margin:0}.col>p,.col>ul,.col>ol,.body{max-width:520px}.center>p{margin-inline:auto}
.wide>p,.wide>ul,.wide>ol{max-width:720px}
strong{font-weight:500}ul,ol{margin:0;padding-left:20px}li{margin-bottom:8px}
.small{font-size:14px;line-height:1.7}
.eyebrow{font:500 12px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow);max-width:none!important}
.eyebrow strong{font-weight:500}
.quote{font:italic 300 30px/1.5 var(--serif);color:var(--head);max-width:640px}.quote strong,.quote em{font-weight:300}
.cite{font-size:14px;line-height:1.7;color:var(--quiet)}
figure{margin:0}.fig img{width:100%;height:auto}
.fig.logo-size img{max-width:280px}
details{border-top:var(--hair) solid var(--rule);padding:14px 0}details:last-of-type{border-bottom:var(--hair) solid var(--rule)}
summary{font:400 26px/1.2 var(--serif);color:var(--head);cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font:300 22px var(--sans)}details[open] summary::after{content:"\2212"}
details>div{padding-top:8px;display:flex;flex-direction:column;gap:12px;max-width:640px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:14px 28px;background:var(--btn-bg);color:var(--btn-fg);border:0;border-radius:var(--radius);font:500 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn.ghost{background:none;color:var(--link);padding:14px 0;text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:6px}
.btns{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.hero-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:640px;margin-top:12px}
.hero-btns .btn{padding-inline:12px}
.hero-btns .btn.ghost{background:none;border:.5px solid var(--off-white);text-decoration:none;color:var(--off-white)}
.credit .wrap{flex-direction:row;flex-wrap:wrap;gap:12px 36px;align-items:baseline;justify-content:center}
.credit .eyebrow{letter-spacing:.14em;color:var(--off-white)}
.credit .cname{font:italic 300 22px/1.2 var(--serif)}.credit .cname a{text-decoration:none}
/* stat tiles */
.stats .col{border-top:var(--hair) solid var(--rule);padding-top:20px}
/* glance */
.glance{background:var(--charcoal);--head:var(--off-white);color:var(--off-white);padding:24px;border-radius:var(--radius);display:grid;align-self:stretch}
.glance .lbl{font:500 12px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--amber-ember);margin-bottom:8px}
.glance dl{margin:0}.glance div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:var(--hair) solid rgb(246 242 235/.3)}
.glance dt{font:500 12px/1.6 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgb(246 242 235/.8)}.glance dd{margin:0;font:400 20px/1.25 var(--serif);text-align:right}.glance .price dd{color:var(--amber-ember)}
.spec-tbl{display:grid;gap:0;max-width:720px;width:100%}.spec-tbl div{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:20px;padding:14px 0;border-top:var(--hair) solid var(--rule)}
.spec-tbl dt{font-family:var(--serif);font-size:22px;line-height:1.3;color:var(--head)}.spec-tbl dd{margin:0}.spec-tbl{margin:0}
/* video embed */
.embed{position:relative;aspect-ratio:16/9;width:100%}.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* header */
.hdr{position:absolute;inset:0 0 auto;z-index:20;height:81px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 var(--side);--nav:var(--charcoal);color:var(--nav)}
body[data-hero=dark] .hdr{--nav:var(--off-white)}
.hdr a{color:var(--nav)}
.logo img{height:46px;width:46px;object-fit:contain}
.nav{display:flex;gap:clamp(12px,1.6vw,26px);align-items:center;list-style:none;margin:0;padding:0}
.nav li{margin:0}.nav a{display:inline-flex;align-items:center;min-height:44px;font:500 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
.hdr-m{display:none;align-items:center;gap:12px}
.hdr-m .btn{padding:0 16px;--btn-bg:var(--teal);--btn-fg:var(--off-white)}body[data-hero=dark] .hdr-m .btn{--btn-bg:var(--off-white);--btn-fg:var(--charcoal)}
.menu-btn{width:44px;height:44px;background:none;border:0;color:var(--nav);cursor:pointer;padding:10px}.menu-btn span{display:block;height:1px;background:currentColor;margin:6px 0}
.menu{position:fixed;inset:0;background:var(--charcoal);color:var(--off-white);z-index:40;padding:20px;display:none;flex-direction:column}
.menu.open{display:flex}.menu a{display:flex;align-items:center;min-height:52px;color:var(--off-white);font:300 30px/1.2 var(--serif);text-decoration:none;border-bottom:.5px solid rgb(246 242 235/.3)}
.menu-close{align-self:flex-end;width:44px;height:44px;background:none;border:0;color:var(--off-white);font:300 28px var(--sans);cursor:pointer}
/* footer */
.deep .offers{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px}
.offer{background:var(--off-white);padding:32px;border-left:4px solid var(--amber);display:flex;flex-direction:column;gap:12px}
.offer.first{grid-column:1/-1}.offer.half{grid-column:span 6}
.offer .ohead{display:flex;justify-content:space-between;gap:24px;align-items:baseline;flex-wrap:wrap}
.mail .row{align-items:center}
.ft{--link:var(--off-white);font-size:13px;line-height:1.5}
.ft .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.ft ul{list-style:none;padding:0}.ft li{margin:0}.ft li a{display:inline-flex;align-items:center;min-height:32px;text-decoration:none;font-weight:400}
.ft .fh{font:500 12px/1.5 var(--sans);letter-spacing:.18em;color:rgb(246 242 235/.72);margin-bottom:8px}
.ft .brand{font:300 32px/1.15 var(--serif);color:var(--off-white)}
.ft .tag{font:500 12px/1.5 var(--sans);letter-spacing:.18em;color:var(--amber-ember);margin:4px 0 16px}
.ft .desc{color:rgb(246 242 235/.72);margin-bottom:16px;max-width:320px}
/* forms */
.form{display:flex;flex-direction:column;gap:22px;width:100%;max-width:640px}
.fld{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;min-width:0}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lbl-f,legend{font:400 14px/1.5 var(--sans);color:var(--fg);padding:0}
.req{font:300 13px/1.5 var(--sans);color:var(--quiet);margin-left:6px}
.hint{font:300 14px/1.5 var(--sans);color:var(--quiet);white-space:pre-line}
.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea,.form select{width:100%;min-height:48px;padding:12px 14px;font:300 16px/1.4 var(--sans);color:var(--fg);background:var(--field);border:1px solid var(--field-b);border-radius:var(--radius)}
.form textarea{min-height:110px;resize:vertical}.form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23777' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.form select option{color:var(--charcoal);background:var(--off-white)}
.opt{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;line-height:1.5;cursor:pointer}
.opt input{width:20px;height:20px;accent-color:var(--teal);flex:none;margin:0}
.t-ink .opt input,.t-teal .opt input,.t-amber .opt input{accent-color:var(--off-white)}
.likert{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}.likert th,.likert td{padding:10px 6px;border-top:var(--hair) solid var(--rule);font-weight:400;text-align:center}.likert td:first-child,.likert th:first-child{text-align:left;width:46%}
.likert input{width:20px;height:20px;accent-color:var(--teal)}
.notice{background:rgb(30 92 82/.07);border:var(--hair) solid var(--rule);padding:12px 14px;font-size:14px;line-height:1.6}
.t-ink .notice,.t-teal .notice,.t-amber .notice{background:rgb(246 242 235/.08)}
.err{color:var(--err);font:400 14px/1.5 var(--sans);display:none}.err::before{content:"\26A0\FE0E  "}.invalid .err{display:block}
.hp{position:absolute;left:-9999px}
.ok{font-size:16px}
.buy-slot[hidden]{display:none}
.sub-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px}
/* responsive */
@media(max-width:1180px){.nav{display:none}.hdr-m{display:flex}}
@media(max-width:1023px){.row{grid-template-columns:1fr}.col{grid-column:1/-1}.ft .cols{grid-template-columns:1fr 1fr}.ft .bcol{grid-column:1/-1}}
@media(max-width:599px){:root{--side:20px;--pad:56px}h1,.h-hero{font-size:42px}h2,.h-sec{font-size:32px}.quote{font-size:24px}.ft .cols{grid-template-columns:1fr}.pair{grid-template-columns:1fr}.btn[type=submit]{width:100%}
.offer.first,.offer.half{grid-column:1/-1}.deep .offers{gap:8px}.hero-btns{grid-template-columns:1fr}.hdr{padding:0 20px}.spec-tbl div{grid-template-columns:1fr;gap:4px}
.likert thead{display:none}.likert tr{display:block;border-top:var(--hair) solid var(--rule);padding:12px 0}.likert td{display:flex;justify-content:space-between;align-items:center;border:0;min-height:44px;padding:0;text-align:left;width:auto!important}.likert td:first-child{display:block;min-height:0;padding-bottom:6px}.likert td[data-l]::before{content:attr(data-l)}}
@media(prefers-reduced-motion:reduce){.vid{display:none}}
.sub-row{grid-column:1/-1;width:100%}
.card{grid-column:span 3;background:var(--off-white);color:var(--charcoal);--head:var(--charcoal);border-top:4px solid var(--bar,var(--amber));padding:24px;display:flex;flex-direction:column;gap:10px}
.pay{display:grid;grid-template-columns:1fr 1fr;width:100%}.payc{background:var(--bg);color:var(--fg);padding:32px;display:flex;flex-direction:column;gap:12px;border:var(--hair) solid var(--rule)}
.stages{list-style:none;padding:0;width:100%;max-width:none!important}.stages li{display:grid;grid-template-columns:96px 1fr;gap:20px;padding:20px 0;border-top:var(--hair) solid var(--rule);margin:0}.stages .num{color:var(--eyebrow);font-size:42px}.stages h3{margin-bottom:6px}
.pr{color:var(--amber-ember)}
@media(max-width:1023px){.card{grid-column:span 6}.pay{grid-template-columns:1fr}}
@media(max-width:599px){.card{grid-column:1/-1}.sub-row{gap:8px}.stages li{grid-template-columns:64px 1fr}}
.has-media .eyebrow{color:var(--off-white)}
.hdr a.btn{color:var(--btn-fg)}
.center .form,.col .form{text-align:left}
.center .form{align-self:center}
@media(min-width:1024px){.fig.book-lg{width:125%;max-width:none;margin-left:-12.5%}}

/* Books page and shared book styles */
.dhero{padding-bottom:64px}.dcenter{max-width:640px;display:flex;flex-direction:column;gap:14px}.dhero h1{font-size:clamp(48px,6vw,76px)}
.dspeed h2{font-size:clamp(36px,4.2vw,56px);line-height:1.1}.dspeed .row{align-items:end}
.dlink{display:inline-flex;align-items:center;min-height:44px;font:500 12px/1.4 var(--sans);letter-spacing:.08em;color:var(--link);text-underline-offset:6px}
.dfeature{display:grid;grid-template-columns:4fr 6fr;gap:72px;align-items:center;padding:32px 0 72px}.dfeature .dimg img{width:100%;max-width:400px;margin:auto}
.dbody{display:flex;flex-direction:column;gap:12px;min-width:0}.dtitle{color:inherit;text-decoration:none}.dtitle:hover{text-decoration:underline}
.dsub{font:italic 300 22px/1.3 var(--serif);max-width:520px}.dquote{margin:12px 0;padding-left:20px;border-left:4px solid var(--amber);font:italic 300 24px/1.45 var(--serif);max-width:560px}.dquote cite{display:block;font:300 14px/1.7 var(--sans);margin-top:6px}
.dbuy{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}.dprice{font:300 22px/1 var(--serif);color:var(--head)}.dprice.lg{font-size:36px}
.dcur{font:500 12px/1.5 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--eyebrow)}
.dtwo{display:grid;grid-template-columns:1fr 1fr;gap:64px}.dcard{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;align-items:center}.dcard .dimg img{width:100%;height:210px;object-fit:contain}.dcard .dimg img[src*='body-as-verb']{transform:scale(1.22);transform-origin:center}.rep{visibility:hidden}
.dcover{height:210px;width:140px;background:var(--charcoal);color:var(--off-white);display:flex;align-items:flex-end;padding:14px;font:300 17px/1.15 var(--serif);border-radius:2px}
.dshelf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}.shelf-item{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.shelf-item .eyebrow{min-height:18px}.simg{display:block;height:170px;width:100%}.simg img{height:170px;width:auto;max-width:100%;object-fit:contain;object-position:left bottom}
.h-title{font:400 20px/1.2 var(--serif);letter-spacing:0}.shelf-item .small{font-size:13.5px;line-height:1.6}.shelf-item .dprice{margin-top:auto;padding-top:4px}.dlinks{display:flex;flex-direction:column}
@media(max-width:1023px){.dfeature,.dtwo{grid-template-columns:1fr}.dshelf{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1023px){.rep{visibility:visible}}
@media(max-width:599px){.dcard{grid-template-columns:110px minmax(0,1fr);gap:16px}.dcard .dimg img{height:160px}.dcover{width:100px;height:150px;font-size:13px;padding:10px}.dshelf{grid-template-columns:1fr 1fr;gap:28px 16px}.dfeature{gap:24px}.dquote{font-size:20px}}
.dspecial{--btn-bg:var(--off-white);--btn-fg:var(--charcoal);background:var(--bark);color:var(--off-white);padding:20px 28px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:32px}.dspecial p{max-width:760px}.dspecial strong{font-weight:500}
@media(max-width:599px){.dspecial{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}}
.dgroup{display:flex;flex-direction:column;gap:16px;min-width:0}.dlabel{font:500 14px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow)}
.dfeature{padding-top:8px}
.dspecial-text{display:flex;flex-direction:column;gap:6px}.dspecial h3{color:var(--off-white);font:600 clamp(24px,2.4vw,30px)/1.2 var(--serif);letter-spacing:0}.dspecial .dspecial-text p{max-width:none}
.dwrap{padding-top:0}
.dbookhero{align-items:center}.dbookhero .fig img{max-height:520px;width:auto;margin:auto}
@media(max-width:599px){.dbookhero .fig img{max-height:380px}}
.dpanel{position:relative;width:100%}
@media(min-width:1024px){.dpanel .btn{position:absolute;left:5.05%;top:62.5%;--btn-bg:var(--teal);--btn-fg:var(--off-white)}}
@media(max-width:1023px){.dpanel{display:flex;flex-direction:column;align-items:flex-start;gap:14px}}
.rbook{text-align:center}.rbook .fig img{max-height:420px;width:auto;margin:auto}.rbook .rbook-note{font-size:.8125rem;line-height:1.4;margin:.5rem 0 0}.rbook .fig+.rbook-note{margin-top:1rem}.rbook .rbook-note+.rbook-note{margin-top:.125rem}
.legal{max-width:46rem}.legal h2{margin-top:2.5rem}.legal h3{margin-top:1.75rem}.legal ul{padding-left:1.25rem}.legal li{margin-bottom:.625rem}
