/* Jason Rosenberg AI Studio blog. Colors: charcoal #14110e, cream #F4EFE6, gold #D4B06A (hover #e3c483),
   dark gold text #8a6a2c. No navy. Lining figures everywhere. */
:root{--m:40px;--hh:64px;--ch:#14110e;--cr:#F4EFE6;--gd:#D4B06A;--gd2:#e3c483;--dg:#8a6a2c}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:calc(var(--hh) + 12px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{background:#fff;color:#000;font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.2;font-variant-numeric:lining-nums;font-feature-settings:"lnum";-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%;height:auto}
.wrap{padding-left:var(--m);padding-right:var(--m)}
.lbl{font-size:15px;font-weight:700;letter-spacing:-.03em;text-transform:none}
.pf{font-family:"Playfair Display",Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum"}
/* header (same as the homepage) */
.hd{position:fixed;top:0;left:0;right:0;height:var(--hh);z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#000;color:#fff;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.hd.hd-off{transform:translateY(-100%)}
.hd .brand{display:flex;flex-direction:column;line-height:1.1;font-size:15px;font-weight:700;letter-spacing:-.03em;text-transform:none;white-space:nowrap}
.tagl{color:#F2CC6E;font-size:10.5px;font-weight:700;letter-spacing:.12em;margin-top:4px}
.hd nav{display:flex;gap:24px;margin-left:auto}
.hd nav a{font-size:20px;font-weight:700;letter-spacing:-.03em;text-transform:none;position:relative;padding-bottom:3px}
.hd nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.hd nav a:hover::after,.hd nav a.on::after{transform:scaleX(1);transform-origin:left}
.hdbtn{background:var(--gd);color:#111!important;font-weight:700;font-size:14px;padding:9px 18px;border-radius:40px;white-space:nowrap;margin-left:20px;transition:background .25s}
.hdbtn:hover{background:#F2CC6E}
.burger{display:none;width:28px;height:28px;position:relative;flex:none}
.burger i{position:absolute;left:2px;right:2px;height:2px;background:currentColor}.burger i:first-child{top:9px}.burger i:last-child{top:17px}
.menu{display:none}
main{padding-top:var(--hh)}
/* shared bits */
.kick{color:var(--gd);font-size:13px;font-weight:700;letter-spacing:.01em;text-transform:none;margin:0 0 12px}
.btn-g{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;background:var(--gd);color:#0a0806;font-weight:700;font-size:16px;transition:background .3s}
.btn-g:hover{background:var(--gd2)}
.rule{display:block;width:56px;height:2px;background:var(--gd);margin:0 0 22px}
/* listing hero */
.bh{background:var(--ch);color:#fff;padding-top:96px;padding-bottom:80px}
.bh h1{font-family:"Playfair Display",Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum";font-weight:600;color:var(--gd);font-size:clamp(44px,5vw,72px);line-height:1.05;letter-spacing:-.01em;max-width:14em;margin:0 0 20px}
.bh p.sub{font-size:clamp(17px,1.4vw,20px);line-height:1.5;max-width:40em;color:#E8E1D4}
/* cards */
.bl{background:var(--cr);color:var(--ch);padding-top:72px;padding-bottom:96px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(20,17,14,.08);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,17,14,.14)}
.card .ci{aspect-ratio:16/9;overflow:hidden;background:#2b2724}.card .ci img{width:100%;height:100%;object-fit:cover}
.card .cb{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.meta{font-size:13px;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--dg)}
.card h2,.card h3{font-family:"Playfair Display",Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum";font-weight:600;font-size:26px;line-height:1.15;color:var(--ch)}
.card p.d{font-size:16px;line-height:1.5;color:#3a332c;flex:1}
.card .more{font-weight:700;color:var(--dg);font-size:15px}
.card:hover .more{text-decoration:underline}
/* CTA band */
.cta{background:var(--ch);color:#fff;padding-top:80px;padding-bottom:88px}
.cta h2{font-family:"Playfair Display",Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum";font-weight:600;color:var(--gd);font-size:clamp(34px,3.6vw,52px);line-height:1.08;max-width:16em;margin:0 0 16px}
.cta p{font-size:18px;line-height:1.55;max-width:38em;color:#E8E1D4;margin:0 0 26px}
.cta .acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.cta .acts a.l{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:700}
/* post */
.ph{background:var(--ch);color:#fff;padding-top:64px;padding-bottom:56px}
.crumb{font-size:13px;font-weight:700;letter-spacing:.01em;text-transform:none;color:#cfc8bd;margin:0 0 26px}
.crumb a{color:var(--gd)}.crumb a:hover{text-decoration:underline}
.ph h1{font-family:"Playfair Display",Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum";font-weight:600;color:#fff;font-size:clamp(38px,4.4vw,64px);line-height:1.06;letter-spacing:-.01em;max-width:18em;margin:0 0 20px}
.ph .dek{font-size:clamp(17px,1.4vw,20px);line-height:1.5;max-width:40em;color:#E8E1D4;margin:0 0 22px}
.ph .meta{color:var(--gd)}
.hero{max-width:1200px;margin:0 auto;padding:40px var(--m) 0}
.hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px}
.art{max-width:872px;margin:0 auto;padding:48px var(--m) 24px;font-size:18px;line-height:1.7;color:#1e1a16}
.art p{margin:0 0 1.15em}
.art h2{font-family:"Playfair Display",Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum";font-weight:600;font-size:clamp(28px,2.4vw,34px);line-height:1.15;color:var(--ch);margin:1.7em 0 .55em}
.art h2::before{content:"";display:block;width:40px;height:2px;background:var(--gd);margin:0 0 16px}
.art h3{font-size:21px;font-weight:700;margin:1.4em 0 .5em}
.art ul,.art ol{margin:0 0 1.2em 1.3em}.art li{margin:0 0 .45em;padding-left:.25em}
.art ol{background:var(--cr);border-left:3px solid var(--gd);border-radius:0 10px 10px 0;padding:18px 22px 14px 46px;margin-left:0}
.art ol li::marker{color:var(--dg);font-weight:700}
.art ul li::marker{color:var(--gd)}
.art a{color:var(--dg);text-decoration:underline;text-underline-offset:3px}
.art strong{font-weight:700;color:#000}
.art blockquote{border-left:3px solid var(--gd);background:var(--cr);padding:16px 22px;margin:0 0 1.2em;border-radius:0 10px 10px 0}
.endcta{max-width:872px;margin:8px auto 72px;padding:0 var(--m)}
.endcta .box{background:var(--ch);color:#fff;border-radius:16px;padding:34px 34px 30px}
.endcta h2{font-family:"Playfair Display",Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum";font-weight:600;color:var(--gd);font-size:30px;line-height:1.15;margin:0 0 12px}
.endcta p{font-size:17px;line-height:1.6;color:#E8E1D4;margin:0 0 22px}
.endcta .acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.endcta .acts a.l{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.endcta .tel{margin:18px 0 0;font-size:15px;color:#cfc8bd}.endcta .tel a{color:#fff;font-weight:700}
.byline{max-width:872px;margin:0 auto 40px;padding:0 var(--m);display:flex;gap:16px;align-items:center;font-size:15px;line-height:1.5;color:#3a332c}
.byline img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 20%;flex:none}
.byline b{color:#000}
.rel{background:var(--cr);color:var(--ch);padding-top:64px;padding-bottom:80px}
.rel h2.t{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.04em;margin:0 0 26px}
.rel .cards{grid-template-columns:repeat(2,1fr);max-width:1000px}
/* footer (same as the homepage) */
footer{padding-top:56px;padding-bottom:var(--m)}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--m);border-top:1px solid #000;padding-top:16px;line-height:1.35}
.fgrid a{text-decoration:underline}
.word{font-weight:700;letter-spacing:-.07em;line-height:.8;white-space:nowrap;text-transform:none;margin-top:56px;padding-bottom:.04em}
.mbook{display:none}
@media (max-width:1180px) and (min-width:821px){.hd nav{gap:16px}.hd nav a{font-size:16px}.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){
 :root{--m:20px;--hh:56px}
 .hd nav{display:none}.burger{display:block}
 .hd .brand{font-size:11px!important;min-width:0;margin-right:8px}
 .tagl{font-size:7.6px!important;letter-spacing:.06em!important;margin-top:3px}
 .hdbtn{font-size:10.5px!important;padding:7px 9px!important;margin-left:auto;margin-right:12px;flex:none}
 .menu.open{display:flex;flex-direction:column;gap:18px;position:fixed;top:var(--hh);left:0;right:0;z-index:59;background:#000;color:#fff;padding:24px var(--m) 32px}
 .menu a{font-size:32px;font-weight:700;letter-spacing:-.05em;text-transform:none}
 .bh{padding-top:56px;padding-bottom:48px}
 .bl{padding-top:40px;padding-bottom:56px}
 .cards,.rel .cards{grid-template-columns:1fr;gap:22px}
 .card h2,.card h3{font-size:24px}
 .ph{padding-top:36px;padding-bottom:36px}.crumb{margin-bottom:18px}
 .hero{padding-top:20px}.hero img{border-radius:10px}
 .art{padding-top:30px;font-size:17px}
 .art ol{padding:16px 16px 12px 38px}
 .endcta{margin-bottom:48px}.endcta .box{padding:26px 20px 24px}.endcta h2{font-size:26px}
 .btn-g{width:100%}
 .cta{padding-top:56px;padding-bottom:60px}
 .rel{padding-top:44px;padding-bottom:56px}
 .fgrid{grid-template-columns:1fr;gap:18px}
 .word{margin-top:40px}
}
@media (max-width:768px){
 .mbook{display:flex;align-items:center;justify-content:center;position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:70;height:52px;border-radius:999px;background:var(--gd);color:#0a0806;font-weight:700;font-size:16px;box-shadow:0 8px 28px rgba(0,0,0,.45);transform:translateY(calc(100% + 24px + env(safe-area-inset-bottom,0px)));opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}
 .mbook.show{transform:none;opacity:1;pointer-events:auto}
 footer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}
/* phone header: one clean row, nothing overlapping (Facebook/Instagram/Android in-app browsers enlarge text). Desktop unchanged. */
.hdbtn .hb-s{display:none}
@media (max-width:480px){
 .hd{gap:10px}
 .hd .brand{flex:1 1 auto;min-width:0;margin-right:0!important;white-space:normal;overflow:hidden;font-size:13px!important;line-height:1.08}
 .hd .brand .bn{display:block}
 .hd .brand .bn1,.hd .brand .bn2{white-space:nowrap}
 .hd .brand .bn2{font-size:.8em;letter-spacing:0}
 .hd .tagl{font-size:8.5px!important;letter-spacing:.06em!important;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:clip}
 .hd .tagl .tgc{display:none}
 .hdbtn{flex:none;margin-left:0!important;margin-right:4px!important;padding:8px 12px!important;font-size:12px!important;line-height:1.1}
 .hdbtn .hb-l{display:none}
 .hdbtn .hb-s{display:inline}
 .burger{flex:none}
}
/* hdfit.js adds .hd-tight only when the brand would otherwise be clipped (large text settings) */
@media (max-width:820px){.hd .brand{overflow:hidden}.hd.hd-tight .hdbtn .hb-l,.hd.hd-tight .hdbtn .hb-s{display:none}.hd.hd-tight .hdbtn::after{content:"Book"}}
@media (max-width:359px){.hd{gap:8px;padding-left:14px;padding-right:14px}.hd .brand{font-size:11.5px!important}.hd .tagl{font-size:7.5px!important}.hdbtn{margin-right:0!important;padding:7px 9px!important;font-size:10.5px!important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.card .ci img{object-fit:contain}
