:root{--cream:#f8f2e7;--cream2:#fffdf7;--ink:#2b2721;--terra:#bb6b44;--teal:#2f6d72;--teal-dk:#20302f;--gold:#b08d4f;--line:#e7dcc6;--muted:#8a7a63;--chambray:#a4bdcb;--sea:#245e64}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:"Jost",system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
main{display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 48px}
.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.serif{font-family:"Cormorant Garamond",serif}
.btn{display:inline-block;text-decoration:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:13px 26px;border-radius:24px;margin:6px 8px 0 0}
.btn-fill{background:var(--terra);color:#fff;font-weight:600}
.btn-line{border:1px solid #cdbfa4;color:#3a352d}
/* top bar + dropdown (shared) */
.topbar{background:#fffdf7;border-bottom:1px solid #e7dcc6;position:sticky;top:0;z-index:20}
.topbar .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 46px;gap:26px}
.tb-left{justify-self:start;display:flex;align-items:center;gap:30px}
.tb-logo{justify-self:center}
.tb-logo img{height:84px;display:block}
.tb-right{justify-self:end;display:flex;align-items:center;gap:20px}
.tb-nav a{text-decoration:none;color:#2b2721;font-size:12.5px;letter-spacing:.15em;text-transform:uppercase}
.tb-nav .caret{font-size:9px;color:var(--terra);margin-left:4px}
.tb-cta{background:transparent;color:#2b2721 !important;border:1px solid #2b2721;padding:10px 24px;border-radius:24px;font-weight:500 !important;letter-spacing:.15em !important;text-transform:uppercase;font-size:11.5px;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.tb-cta:hover{background:var(--terra);color:#fff !important;border-color:var(--terra)}
.tb-nav .drop{position:relative;display:flex;align-items:center}
.drop-menu{position:absolute;top:52px;left:-20px;background:var(--cream2);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(45,60,62,.20);padding:10px 0;min-width:250px;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .16s,transform .16s,visibility .16s;z-index:40}
.drop:hover .drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.drop-menu a{display:block;padding:11px 24px;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:#3a352d}
.drop-menu a:hover{background:#eef3f0;color:var(--teal)}
.drop-menu .dv{height:1px;background:#eadfc9;margin:8px 18px}
/* footer */
.foot{background:#ece4d2;color:#6a6153;padding:60px 40px 28px;border-top:1px solid #e2d5bd}
.foot a{color:#574f42;text-decoration:none;transition:color .15s}
.foot a:hover{color:var(--terra)}
.foot-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1.35fr 1.1fr;gap:44px;padding-bottom:40px;border-bottom:1px solid #ddceb2}
.fmark{font-family:"Cormorant Garamond",serif;font-size:29px;color:#2b2721;margin-bottom:12px}
.ftag{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:18px;color:#857a66;line-height:1.5;margin-bottom:18px;max-width:270px}
.fig{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.05em;color:var(--terra)}
.fh{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:15px}
.fcol a{display:block;font-family:"Cormorant Garamond",serif;font-size:18px;margin-bottom:9px}
.foot-bar{max-width:1180px;margin:20px auto 0;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;color:#9a8b72}
.foot-bar a{color:#9a8b72}
@media(max-width:820px){.foot{padding:48px 24px 26px}.foot-in{grid-template-columns:1fr 1fr;gap:30px}.foot-bar{flex-direction:column;gap:8px;text-align:center;justify-content:center}}
/* responsive */
@media(max-width:820px){
  .topbar .wrap{padding:12px 20px;gap:14px}.tb-logo img{height:54px}
  .tb-left{gap:16px}.tb-nav a{font-size:10.5px;letter-spacing:.05em}
  .wrap{padding:0 22px}
}
/* stories archive + tag (shared) */
.stories-head{text-align:center;padding:80px 40px 40px}
.stories-head .eyebrow{color:var(--teal);margin-bottom:14px}
.stories-head h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:62px;line-height:1;color:#23201c;margin-bottom:14px}
.stories-head p{font-family:"Cormorant Garamond",serif;font-size:22px;color:#5a544a;max-width:620px;margin:0 auto}
.story-grid{padding:20px 0 80px}
.story-grid .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.story-card{text-decoration:none;color:inherit;display:block}
.story-card .ph{overflow:hidden;box-shadow:0 12px 30px rgba(70,55,38,.14);margin-bottom:18px}
.story-card img{width:100%;height:250px;object-fit:cover;transition:transform .4s}
.story-card:hover img{transform:scale(1.04)}
.story-card h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:27px;line-height:1.15;color:#23201c;margin-bottom:8px}
.story-card .ex{font-family:"Cormorant Garamond",serif;font-size:18px;color:#5a544a;line-height:1.5;margin-bottom:10px}
.story-card .meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pagination{display:flex;justify-content:center;gap:26px;padding:0 0 70px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra)}
.pagination a{text-decoration:none}
@media(max-width:820px){.story-grid .grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}}

/* header search */
.tb-search{background:none;border:0;padding:0;margin-left:-6px;cursor:pointer;color:#2b2721;display:inline-flex;align-items:center;opacity:.75;transition:opacity .15s,color .15s}
.tb-search:hover{opacity:1;color:var(--terra)}

/* ============ component kit: reading experience + editor cards ============ */
/* movement & highlights (reusable) */
.hl{color:var(--terra);font-style:italic}
.post-content mark,.post-content .hl{background:none;color:var(--terra);font-style:italic}
.post-content>p:first-of-type::first-letter{font-family:"Cormorant Garamond",serif;float:left;font-size:64px;line-height:.7;padding:10px 12px 0 0;color:var(--terra)}
.post-content p.lead,.post-content .lead{font-size:24px;line-height:1.55;color:#3a342b}
/* pull quotes */
.post-content blockquote{border-left:3px solid var(--terra);padding:2px 0 2px 24px;margin:32px 0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:24px;line-height:1.5;color:#4a443b}
.post-content blockquote.kg-blockquote-alt{border:0;text-align:center;font-size:31px;line-height:1.35;color:var(--terra);max-width:660px;margin:38px auto;padding:8px 20px}
/* callout / aside */
.post-content .kg-callout-card{display:flex;gap:13px;align-items:flex-start;background:var(--cream2);border:1px solid var(--line);border-left:4px solid var(--terra);border-radius:8px;padding:20px 24px;margin:32px 0;font-family:"Cormorant Garamond",serif;font-size:19px;line-height:1.55;color:#463f34}
.post-content .kg-callout-emoji{font-size:21px;line-height:1.4}
/* button */
.post-content .kg-button-card{margin:32px 0;text-align:center}
.post-content .kg-btn{display:inline-block;background:var(--terra);color:#fff !important;font-family:"Jost",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:14px 30px;border-radius:26px;text-decoration:none}
/* images + galleries + captions */
.post-content figure{margin:30px 0}
.post-content .kg-image{margin:0 auto}
.post-content .kg-gallery-container{display:flex;flex-direction:column;gap:10px}
.post-content .kg-gallery-row{display:flex;gap:10px}
.post-content .kg-gallery-image img{width:100%}
.post-content figcaption{text-align:center;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:16px;color:var(--muted);margin-top:9px}
.post-content hr{border:0;height:1px;background:var(--line);width:120px;margin:42px auto}
/* bookmark */
.post-content .kg-bookmark-card{margin:32px 0}
.post-content .kg-bookmark-container{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;background:var(--cream2)}
.post-content .kg-bookmark-content{padding:18px 20px;flex:1 1 auto}
.post-content .kg-bookmark-title{font-family:"Cormorant Garamond",serif;font-size:20px;color:#23201c;margin-bottom:4px}
.post-content .kg-bookmark-description{font-family:"Cormorant Garamond",serif;font-size:16px;color:#5a544a}
.post-content .kg-bookmark-thumbnail img{width:170px;height:100%;object-fit:cover}
/* category chips (archive + home) */
.chips-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 40px 8px}
.chips-row a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6a6152;text-decoration:none;border:1px solid var(--line);border-radius:20px;padding:8px 16px;transition:all .15s}
.chips-row a:hover,.chips-row a.on{background:var(--terra);color:#fff;border-color:var(--terra)}
/* featured post (archive) */
.feat-story{max-width:1180px;margin:0 auto 20px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.feat-story .fim{overflow:hidden;box-shadow:0 18px 42px rgba(70,55,38,.16)}
.feat-story .fim img{width:100%;height:420px;object-fit:cover}
.feat-story .cat{color:var(--terra);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.feat-story h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:40px;line-height:1.08;color:#23201c;margin-bottom:14px}
.feat-story .ex{font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.55;color:#5a544a;margin-bottom:16px;max-width:460px}
.feat-story .rd{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);text-decoration:none;font-weight:600}
.story-card .cat{color:var(--terra);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
/* post: author + related */
.post-author{max-width:740px;margin:64px auto 0;padding:40px 0 44px;border-top:1px solid var(--line);display:flex;gap:24px;align-items:flex-start}
.post-author img{width:74px;height:74px;border-radius:50%;object-fit:cover;flex-shrink:0}
.post-author .pa-name{font-family:"Cormorant Garamond",serif;font-size:23px;color:#23201c;margin-bottom:6px}
.post-author .pa-bio{font-family:"Cormorant Garamond",serif;font-size:17px;color:#5a544a;line-height:1.58;max-width:540px}
.related{background:var(--cream2);border-top:1px solid var(--line);padding:64px 0}
.related .rh{text-align:center;font-family:"Cormorant Garamond",serif;font-size:15px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin-bottom:34px}
@media(max-width:820px){.feat-story{grid-template-columns:1fr;gap:22px}.feat-story .fim img{height:300px}.feat-story h2{font-size:32px}}

/* post + archive layout base */
.post{padding:0}
.post .narrow{max-width:740px}
.post-head{text-align:center;padding:74px 40px 26px}
.post-head .eyebrow{color:var(--teal);margin-bottom:15px}
.post-head .cat{color:var(--terra);font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.post-head h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:52px;line-height:1.08;color:#23201c;margin:0 auto 14px;max-width:840px}
.post-meta{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.post-feat{max-width:1080px;margin:14px auto 40px;padding:0 40px}
.post-feat img{width:100%;max-height:560px;object-fit:cover}
.post-content{margin:0 auto;font-family:"Cormorant Garamond",serif;font-size:21px;line-height:1.7;color:#332f28}
.post-content p{margin:0 0 22px}
.post-content h3{font-family:"Cormorant Garamond",serif;color:#23201c;margin:36px 0 12px;font-weight:600;font-size:26px}
.post-content h2{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:35px;line-height:1.12;letter-spacing:.004em;color:#221e17;margin:50px 0 14px}

.post-content a{color:var(--terra);text-decoration:underline}
.post-content ul,.post-content ol{margin:0 0 22px 24px}.post-content li{margin-bottom:8px}

/* stories light + featured */
.stories-head,.chips-row,.story-grid,.pagination{background:var(--cream2)}
.post{background:var(--cream2)}
.feat-story{margin:0 auto 44px;padding:0 0 40px;border-bottom:1px solid var(--line)}
.feat-story .fim img{border-radius:0}
.callout-inf{border-left:3px solid var(--terra);padding:4px 0 4px 26px;margin:32px 0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:23px;line-height:1.55;color:var(--terra)}
.callout-inf .inf{display:none}


.feat-story,.feat-story h2,.feat-story .ex{text-decoration:none;color:inherit}

.feat-story *{text-decoration:none}

/* post end-cap: subscribe + comments */
.post-sub{background:var(--teal-dk);color:#eef0e8;text-align:center;padding:62px 40px;margin-top:14px}
.post-sub .k{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#c7b58f;margin-bottom:12px}
.post-sub h3{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:36px;color:#fdf9ef;margin-bottom:10px}
.post-sub p{font-family:"Cormorant Garamond",serif;font-size:19px;color:#d9d2c4;max-width:520px;margin:0 auto 22px}
.ps-form{display:flex;gap:10px;justify-content:center;max-width:470px;margin:0 auto;flex-wrap:wrap}
.ps-form input{flex:1 1 240px;border:0;border-radius:26px;padding:14px 20px;font-size:15px;font-family:"Jost",sans-serif}
.ps-form button{border:0;border-radius:26px;padding:14px 28px;background:var(--terra);color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer}
.post-comments{background:var(--cream2);padding:0 40px 56px}
.post-comments .pc-in{max-width:740px;margin:0 auto;border-top:1px solid var(--line);padding-top:52px}
.post-comments .ch{text-align:center;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:25px;color:#4a443b;margin-bottom:30px}

/* large / full-width images for image-rich posts */
.post-content .kg-width-wide{position:relative;left:50%;transform:translateX(-50%);width:min(1120px,94vw)}
.post-content .kg-width-wide img{width:100%}
.post-content .kg-width-full{position:relative;left:50%;transform:translateX(-50%);width:100vw}
.post-content .kg-width-full img{width:100%}

/* post subtitle (excerpt) + script signoff */
.post-head .post-subtitle{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:25px;line-height:1.4;color:#6a6152;max-width:650px;margin:2px auto 16px}
.post-signoff{font-family:"Caveat",cursive;font-size:44px;color:var(--terra);line-height:1;margin:34px 0 6px}

.post-feat figcaption{text-align:center;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:16px;color:var(--muted);margin-top:10px}


.photo-credit{text-align:center;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:16px;line-height:1.5;color:var(--muted);padding:10px 40px 6px}
.photo-credit a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.photo-credit a:hover{color:var(--terra)}
