:root{--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--sans:var(--font-sans);--serif:var(--font-sans);--mono:var(--font-sans)}
html{scroll-padding-top:105px}body{font-family:var(--font-sans);background:#fff;color:#20243e}
h1,h2,h3{font-family:var(--font-sans);font-weight:600;letter-spacing:-.035em}h1 em,h2 em{font-style:normal;font-weight:600}
a,button,select,summary{outline-offset:5px}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #08756c}
.wrap{width:min(1160px,calc(100% - 100px));max-width:none;padding:0;margin:0 auto}
.skip{position:absolute;top:-60px;left:15px;background:#18213f;color:#fff;padding:10px 18px;z-index:400;border-radius:12px}.skip:focus{top:12px}
.site-header.header{height:100px;max-width:none;padding:0 max(50px,calc((100% - 1160px)/2));margin:0;border-bottom:1px solid #dce3ee;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:200}
.brand{display:flex;align-items:center;gap:16px;line-height:1.3;font-size:12px;letter-spacing:1.5px;font-weight:700;color:#20243e;flex-shrink:0}.brand small{display:block;font-size:8px;letter-spacing:1.8px;font-weight:400;margin-top:5px}
.monogram{font-family:var(--font-sans);font-size:43px;font-weight:700;letter-spacing:-2px}.monogram span{color:#147c75}
.site-header #navigation{display:flex;gap:24px;align-items:center;font-size:12px;position:static;padding:0;background:transparent;border:0}
.site-header #navigation a{color:#454e70;position:relative;white-space:nowrap}.site-header #navigation a:hover,.site-header #navigation a[aria-current=page]{color:#08756c}
.site-header #navigation a[aria-current=page]:after{content:'';position:absolute;height:2px;background:#147c75;left:0;right:0;bottom:-7px}
.site-header #navigation .nav-shop{border:0;background:#18213f;color:#fff;padding:10px 17px;border-radius:999px}.site-header #navigation .nav-shop:hover{background:#253253}.site-header #navigation .nav-shop[aria-current=page]:after{display:none}
.site-header .menu-toggle{display:none;align-items:center;gap:12px;background:transparent;border:1px solid #dce3ee;padding:8px 12px;border-radius:10px;font:inherit;font-size:12px;color:#20243e}
.site-footer{background:#18213f;color:#fff;padding:50px 0 26px;margin-top:0;border:0;font-family:var(--font-sans)}
.site-footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;padding:0;margin-bottom:35px}.site-footer .brand{color:#fff}.site-footer .monogram span{color:#a7e0d7}
.site-footer p{color:#c5d0e5;font-size:13px;line-height:1.7;margin:18px 0 0;max-width:390px}.site-footer .eyebrow{font-size:9px;letter-spacing:2px;color:#a7e0d7;margin:6px 0 17px;font-weight:700}
.site-footer .footer-grid>div>a:not(.brand){display:block;font-size:12px;color:#d9e2f2;line-height:2.25}.site-footer a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #ffffff24;padding-top:20px;display:flex;justify-content:space-between;gap:22px;align-items:center}.site-footer .footer-bottom p{margin:0;font-size:10px;max-width:none}.footer-bottom>a,.footer-bottom .text-button{font-size:11px;color:#d9e2f2}
.text-button{background:none;border:0;font:inherit;cursor:pointer}.btn,.button{border-radius:999px}.filter-btn,.text-button{border-radius:10px}
.sec{padding:78px 0}.page-hero{padding:70px 0;background:radial-gradient(ellipse at 0 0,#313864,transparent 60%),linear-gradient(125deg,#1b2344,#17213e 65%,#173c4a);isolation:isolate}
.page-hero:before{content:'';position:absolute;width:400px;height:400px;right:-110px;top:-200px;border:1px solid #aacbd526;border-radius:50%;box-shadow:0 0 0 45px #aacbd508;pointer-events:none;z-index:-1}
.page-hero h1{max-width:900px;font-size:clamp(36px,4.4vw,58px)}.page-hero p{max-width:780px;color:#d2d9eb;font-size:16px}.page-hero .label{color:#a7e0d7}
.do-section,.recent-sec{background:#fff}.do-card,.recent-card{background:#f0f8fb;border:1px solid #dce3ee;border-radius:14px}.do-card h4,.recent-card h4{font-size:20px;letter-spacing:-.025em;font-weight:600;color:#20243e}.do-card p,.recent-card p{font-size:14px;color:#596278}
.sidebar-card,.pub-item,.contact-method{background:#f0f8fb;border-color:#dce3ee;border-radius:14px}.sidebar-card:nth-child(even){background:#eef0fc}.pub-item h4{font-size:17px}.pub-year{font-family:var(--font-sans);font-weight:600}.contact-method a{overflow-wrap:anywhere}
.content-split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.writing-split{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:50px;align-items:start}
.writing-books-banner{background:#eef0fc;border-radius:14px;padding:32px;margin-bottom:38px}.writing-books-banner h2{font-size:32px;margin-bottom:12px}.writing-books-banner p{font-size:14px;margin-bottom:23px}
.geo-strip{background:linear-gradient(125deg,#18213f,#193f49);isolation:isolate}.geo-bg{background:url('../assets/books/botanical-pattern.webp') right/380px auto;opacity:.07;z-index:-1}.geo-inner{display:block}.geo-text{max-width:800px}.geo-text h2{font-size:42px}.geo-text p{color:#d2d9eb}.geo-country{border-color:#a7e0d742;font-size:11px;letter-spacing:.5px;color:#a7e0d7}
.writing-band{background:radial-gradient(ellipse at 100% 0,#35405e,transparent 60%),#18213f}.writing-band p{color:#d2d9eb}.writing-band .label{color:#a7e0d7}
.home-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 5% 5%,#313864,transparent 50%),linear-gradient(125deg,#1b2344,#17213e 60%,#173c4a);padding:64px 0;color:#fff}
.home-hero:before{content:'';position:absolute;width:560px;height:560px;left:-350px;top:90px;border:1px solid #aacbd51c;border-radius:50%;box-shadow:0 0 0 65px #aacbd506,0 0 0 130px #aacbd504;z-index:-1;pointer-events:none}
.home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;line-height:1.5;margin-bottom:25px}
.home-copy .eyebrow{color:#afded8}.home-copy h1{font-size:clamp(48px,5.2vw,72px);line-height:1.08;letter-spacing:-.045em;margin-bottom:25px;font-weight:600}.home-copy h1 span{color:#9cddd4}
.home-lead{color:#d2d9eb;font-size:17px;line-height:1.8;max-width:460px;margin-bottom:28px}.home-actions{display:flex;gap:14px;flex-wrap:wrap}.btn-mint{background:#a7e0d7;color:#18213f}.btn-mint:hover{background:#c4efe8}
.home-note{font-size:11px;line-height:1.8;color:#b6c2d8;margin-top:35px}.home-portrait{margin:0;border:1px solid #d1e5ef24;border-radius:120px 120px 12px 12px;overflow:hidden;background:#18213f;box-shadow:0 25px 65px #060e252e}
.home-portrait img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center;scale:1.02}.home-portrait figcaption{padding:28px 25px 25px;background:#18213f;position:relative;font-size:13px;line-height:1.6;color:#d2d9eb}.home-portrait figcaption>span{display:block;font-size:9px;letter-spacing:2px;color:#a7e0d7;margin-bottom:7px}
.home-ribbon{display:flex;gap:30px;align-items:center;justify-content:center;flex-wrap:wrap;padding:22px;background:#dff4f0;color:#185b59;font-size:9px;letter-spacing:1.8px}.home-ribbon i{font-style:normal;color:#126f68;font-size:14px}
.home-books{background:#eef0fc}.section-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:42px}.section-top h2{font-size:43px;line-height:1.12}.section-top .label{color:#126f68}
.home-book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-book-card{display:flex;flex-direction:column;background:#fff;border-radius:14px;padding:30px;gap:25px;border:1px solid #e0e3f3}.home-book-card:nth-child(2){background:#fbe4e1}.home-book-card:nth-child(3){background:#dff4f0}.home-book-card .label{font-size:8px;letter-spacing:1.7px;color:#126f68;margin-bottom:13px}
.home-book-card h3{font-size:25px;line-height:1.2;margin-bottom:13px;color:#20243e}.home-book-card p{font-size:13px;color:#626d82;line-height:1.6;margin-bottom:17px}.card-link{font-size:11px;font-weight:600;color:#126f68}
.home-cover{width:145px;aspect-ratio:943/1500;position:relative;overflow:hidden;align-self:center;box-shadow:6px 11px 18px #17213e30;border-radius:2px;background:#17213e}.home-cover img{width:100%;height:100%;object-fit:contain}.home-cover-spread{aspect-ratio:947/1483}.home-cover-spread img{position:absolute;right:0;top:0;width:211.193242%;max-width:none;height:100%;object-fit:fill}
.books-page .site-footer .footer-grid{width:min(1160px,calc(100% - 100px))}.books-page .hero.wrap{padding-top:65px;padding-bottom:65px}.books-page .hero-copy .eyebrow{margin-bottom:27px}.books-page .hero h1{font-size:clamp(42px,4.65vw,66px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-book-card{transition:box-shadow .3s,transform .3s}.home-book-card:hover{box-shadow:0 14px 30px #18213f12;transform:translateY(-3px)}}
@media(max-width:1050px){.site-header.header{padding:0 30px}.site-header #navigation{gap:17px}.wrap{width:calc(100% - 60px)}.home-grid{gap:55px}.content-split,.about-grid{gap:50px}.site-footer .footer-grid{gap:45px}.home-book-card{padding:24px}.books-page .site-footer .footer-grid{width:calc(100% - 60px)}}
@media(max-width:900px){.site-header #navigation{display:none;position:absolute;top:99px;left:0;right:0;background:#fff;padding:25px 30px;border-bottom:1px solid #dce3ee;box-shadow:0 10px 20px #18213f0a;flex-wrap:wrap;gap:23px}.site-header #navigation.open{display:flex}.site-header .menu-toggle{display:flex}.home-grid{grid-template-columns:1.2fr .8fr;gap:35px}.home-copy h1{font-size:58px}.home-portrait{border-radius:85px 85px 12px 12px}.content-split,.writing-split{grid-template-columns:1fr;gap:35px}.home-book-grid{gap:16px}.home-book-card{padding:22px}.home-book-card h3{font-size:23px}.home-cover{width:125px}}
@media(max-width:720px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.site-header.header{height:85px;padding:0 20px;gap:15px}.brand{gap:12px;font-size:11px}.brand small{font-size:7px;letter-spacing:1.4px}.monogram{font-size:37px}.site-header #navigation{top:84px;padding:23px 20px}.site-header .menu-toggle{font-size:11px;padding:7px 10px}.sec{padding:55px 0}.page-hero{padding:48px 0}.page-hero h1{font-size:39px}.page-hero p{font-size:15px}.home-hero{padding:42px 0}.home-grid{grid-template-columns:1fr;gap:35px}.home-copy h1{font-size:57px}.home-copy .eyebrow{font-size:8px}.home-lead{font-size:15px}.home-portrait{max-width:380px;width:100%;justify-self:center;border-radius:100px 100px 12px 12px}.home-note{margin-top:25px}.home-ribbon{gap:13px;padding:18px 15px;font-size:7px;letter-spacing:1px}.home-ribbon i{font-size:9px}.section-top{align-items:start;flex-direction:column}.section-top h2{font-size:37px}.home-book-grid{grid-template-columns:1fr}.home-book-card{display:grid;grid-template-columns:105px minmax(0,1fr);gap:22px;padding:25px}.home-cover{width:105px}.home-book-card>div:last-child{align-self:center}.home-book-card h3{font-size:24px}.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.site-footer .footer-grid>div:first-child{grid-column:1/-1}.site-footer .footer-grid,.books-page .site-footer .footer-grid{width:calc(100% - 40px)}.footer-bottom{flex-direction:column;align-items:start}.geo-text h2{font-size:35px}.books-page .hero.wrap{padding-top:40px;padding-bottom:40px}.books-page .hero h1{font-size:48px}}
@media(max-width:390px){.brand small{letter-spacing:1px}.site-header.header{gap:10px}.home-book-card{grid-template-columns:85px minmax(0,1fr);padding:20px;gap:18px}.home-cover{width:85px}.home-book-card h3{font-size:21px}.home-actions .btn{padding:.72rem 1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.fade-up{opacity:1;transform:none}.do-card:hover,.recent-card:hover,.proj-card:hover,.contact-method:hover,.btn:hover{transform:none}}
[hidden]{display:none!important}

.pt-a{background:linear-gradient(135deg,#fbe4e1,#b96559)}.pt-g{background:linear-gradient(135deg,#dff4f0,#4ca59c)}.pt-m{background:linear-gradient(135deg,#253253,#147c75)}

/* CV revision: natural portrait proportions and clearer content hierarchy. */
.home-hero{padding:48px 0}.home-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:70px}
.home-portrait{max-width:360px;width:100%;justify-self:end;padding:16px;border-radius:28px;background:#ffffff0b}
.home-portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;scale:1;border-radius:12px}
.home-portrait figcaption{padding:18px 8px 4px;background:transparent}
.books-page .author-portrait{border-radius:28px}.books-page .portrait-frame{aspect-ratio:auto;border-radius:12px}
.books-page .portrait-frame img{height:auto;aspect-ratio:auto;object-fit:contain;scale:1}
.section-nav{display:flex;flex-wrap:wrap;gap:12px;padding:24px 0;border-bottom:1px solid #dce3ee}
.section-nav a{padding:9px 15px;border:1px solid #dce3ee;border-radius:999px;font-size:12px;color:#185b59;background:#f0f8fb}
.section-nav a:hover{background:#dff4f0}.sec h2{margin-bottom:28px}.section-lead{max-width:730px;margin-bottom:30px}
.section-tint{background:#f1f6fc}.proposal-section{background:#eef0fc}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.work-card{background:#fff;border:1px solid #dce3ee;border-radius:18px;padding:28px;min-width:0}
.work-card h3{font-size:23px;line-height:1.25;margin:16px 0 14px;color:#20243e}.work-card p{font-size:14px;line-height:1.75;margin-bottom:16px}.work-card p:last-child{margin-bottom:0}
.work-status{display:inline-block;background:#dff4f0;color:#185b59;border-radius:9px;font-size:10px;font-weight:600;letter-spacing:.025em;padding:7px 10px;line-height:1.5}
.proposal-section .work-status{background:#e8e6fa;color:#4a407d}.work-card .work-role{font-weight:600;color:#354361;font-size:12px;margin-bottom:5px}.work-card .work-place{font-size:12px;color:#596278;margin-bottom:16px}
.biography-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:65px;align-items:start}.biography-copy p{margin-bottom:22px;line-height:1.85}.biography-copy h3{font-size:27px;margin:32px 0 18px}.biography-aside{display:grid;gap:24px}
.bio-portrait{margin:0;border:1px solid #dce3ee;border-radius:22px;padding:14px;background:#f0f8fb}.bio-portrait img{display:block;width:100%;height:auto;border-radius:10px}.bio-portrait figcaption{font-size:12px;line-height:1.7;padding:16px 4px 3px;color:#454e70}
.fact-panel{background:#f0f8fb;border:1px solid #dce3ee;padding:28px;border-radius:18px;margin-top:24px}.biography-aside .fact-panel{margin-top:0}.fact-panel p{font-size:14px;line-height:1.8}.fact-panel a{color:#126f68;overflow-wrap:anywhere;font-size:14px}
.detail-list{padding-left:18px;margin:0}.detail-list li{margin-bottom:13px;line-height:1.7;font-size:14px}.tl-body p{font-size:13px;line-height:1.75;margin:10px 0 0}.tl-item{padding-bottom:28px}
.pub-list{display:grid;gap:20px}.pub-item{background:#fff;border:1px solid #dce3ee;padding:28px}.pub-item h3{font-size:22px;line-height:1.35;margin-bottom:12px}.pub-item p{font-size:14px;margin:10px 0}.pub-item .pub-authors,.pub-item .pub-source{font-size:12px;color:#596278;line-height:1.7}.source-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.inline-text-link{text-decoration:underline;color:#126f68}
@media(max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid{gap:40px}.biography-grid{gap:40px;grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:720px){.home-grid,.biography-grid{grid-template-columns:1fr;gap:32px}.home-hero{padding:40px 0}.home-portrait{justify-self:center;max-width:330px;border-radius:24px}.work-grid{grid-template-columns:1fr}.work-card{padding:24px}.biography-aside{max-width:360px;width:100%;justify-self:center}.biography-copy h2{font-size:36px}.sec h2{margin-bottom:24px}.pub-item{padding:23px}.section-nav{gap:8px}.section-nav a{font-size:11px;padding:8px 12px}}

.content-split>div>p{margin-bottom:22px}.detail-list{list-style:disc}.work-card .detail-list{margin-top:18px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.work-card{transition:transform .25s,box-shadow .25s}.work-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #18213f0a}}

/* Site-wide alternating surfaces and readable supporting text. */

:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait){
  --panel-fill:#1c2948;
  --panel-title:#ffffff;
  --panel-copy:#dce5f6;
  --panel-accent:#b5eee2;
  --panel-edge:#647ba0;
  --panel-badge:#c6eee4;
  --panel-badge-text:#153d3d;
}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.sidebar-card,.recent-card,.proj-card,.contact-method,.other-book,.idea,.faq-list details):nth-child(even),
.portfolio-page .biography-aside .fact-panel{
  --panel-fill:#e7f1f5;
  --panel-title:#18213f;
  --panel-copy:#354361;
  --panel-accent:#12635e;
  --panel-edge:#849dad;
  --panel-badge:#1c2948;
  --panel-badge-text:#ffffff;
}
.books-page .ideas-grid .idea:nth-child(odd),
.portfolio-page .home-portrait{
  --panel-fill:#e7f1f5;
  --panel-title:#18213f;
  --panel-copy:#354361;
  --panel-accent:#12635e;
  --panel-edge:#849dad;
  --panel-badge:#1c2948;
  --panel-badge-text:#ffffff;
}
.books-page .ideas-grid .idea:nth-child(even){
  --panel-fill:#1c2948;
  --panel-title:#ffffff;
  --panel-copy:#dce5f6;
  --panel-accent:#b5eee2;
  --panel-edge:#647ba0;
  --panel-badge:#c6eee4;
  --panel-badge-text:#153d3d;
}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait){
  background:var(--panel-fill);
  color:var(--panel-title);
  border:1px solid var(--panel-edge);
  border-top:4px solid var(--panel-accent);
  border-radius:18px;
  box-shadow:0 8px 24px #18213f16;
}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) :is(h2,h3,h4,h5,summary){color:var(--panel-title)}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) :is(p,li,figcaption,.work-role,.work-place,.pub-authors,.pub-source,.pub-year,.idea-index){color:var(--panel-copy)}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) :is(.label,.eyebrow,.category,.card-link,.text-button,.idea-link,.work-place,.pub-year){color:var(--panel-accent)}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) a:not(.btn):not(.button){color:var(--panel-accent)}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) :is(.btn-ol,.button.outline){border-color:var(--panel-accent);color:var(--panel-title);background:transparent}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) :is(.btn-ol,.button.outline):hover{background:var(--panel-badge);color:var(--panel-badge-text)}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) .button.dark{background:var(--panel-badge);color:var(--panel-badge-text);border-color:var(--panel-badge)}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) :is(.work-status,.small-stamp,.tag){background:var(--panel-badge);color:var(--panel-badge-text);border:1px solid var(--panel-edge)}
.books-page .other-book .book-subtitle,
.books-page .other-book p:not(.category){color:var(--panel-copy)!important}
.books-page .other-book .category{color:var(--panel-accent)}
.books-page .author-portrait figcaption,
.portfolio-page .home-portrait figcaption{background:transparent;color:var(--panel-title)}
.books-page .author-portrait figcaption span,
.portfolio-page .home-portrait figcaption>span{color:var(--panel-accent)}
.portfolio-page .do-card .do-icon{color:#18213f}
.books-page .ideas-grid{gap:18px;border:0}
.books-page .ideas-grid .idea{padding:28px 24px;min-width:0;min-height:290px}
.books-page .ideas-grid .idea:hover{background:var(--panel-fill)}
.books-page .faq-list{display:grid;gap:14px}
.books-page .faq-list details{padding:20px 24px}
.books-page .faq-list summary:after{color:var(--panel-accent)}
.books-page .direct-panel{border-radius:18px}
.books-page .direct-panel .shop-illustration{border-radius:14px 14px 0 0}
.portfolio-page .home-book-card{color:var(--panel-title)}
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait):focus-visible,
:is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait) :is(a,button,summary):focus-visible{outline:3px solid var(--panel-accent);outline-offset:5px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  :is(.portfolio-page,.books-page) :is(.do-card,.home-book-card,.work-card,.pub-item,.fact-panel,.sidebar-card,.recent-card,.proj-card,.contact-method,.writing-books-banner,.other-book,.direct-panel,.idea,.faq-list details,.bio-portrait,.author-portrait,.home-portrait):hover{box-shadow:0 14px 32px #18213f24}
}

/* Supporting copy stays readable on desktop and mobile. */
.portfolio-page .do-card .btn{font-size:15px!important;min-height:46px}
body{font-size:16px;line-height:1.75}
.label,.eyebrow,.category,.home-copy .eyebrow,.section-top .label{font-size:12px;line-height:1.6;letter-spacing:1.5px}
.site-header #navigation{font-size:14px;gap:18px}
.site-header .menu-toggle{font-size:14px}
.site-header .brand{font-size:13px}.site-header .brand small{font-size:10px;letter-spacing:1.1px}
.btn,.button,.retailer-actions .button,.text-button,.card-link,.reading-links,.reading-links button,.filter-btn{font-size:15px;line-height:1.5}
.site-header #navigation .nav-shop{padding:11px 17px}
.section-nav a{font-size:14px;padding:10px 16px}
.home-note,.home-portrait figcaption,.bio-portrait figcaption,.hero-foot,.hero-foot small{font-size:14px;line-height:1.75}
.home-portrait figcaption>span,.author-portrait figcaption,.author-portrait figcaption span{font-size:13px;line-height:1.75}
.home-ribbon,.topic-ribbon,.geo-country{font-size:12px;line-height:1.6;letter-spacing:1px}
.home-ribbon,.topic-ribbon{gap:20px}
.work-card p,.do-card p,.home-book-card p,.pub-item p,.fact-panel p,.detail-list li,.tl-body p,
.books-page .featured-detail>p,.books-page .other-book p:not(.category),.books-page .direct-panel p,
.books-page .about p:not(.eyebrow):not(.about-lead),.books-page .faq-list p{font-size:16px;line-height:1.75}
.books-page .other-book .book-subtitle{font-size:16px!important;line-height:1.6}
.work-card .work-role,.work-card .work-place,.pub-item .pub-authors,.pub-item .pub-source{font-size:14px;line-height:1.7}
.work-status,.small-stamp,.format-badges span,.idea-index,.section-heading>span{font-size:13px;line-height:1.6;letter-spacing:.025em}
.work-card h3,.do-card h4,.home-book-card h3,.pub-item h3{font-size:25px;line-height:1.3}
.home-book-card .label,.other-book .category{font-size:12px;line-height:1.6;letter-spacing:1px}
.fact-panel a,.tl-org,.tl-period,.idea-link{font-size:14px;line-height:1.7}
.books-page .purchase label,.books-page .purchase select,.books-page .faq-list summary{font-size:16px;line-height:1.6}
.books-page .purchase select{min-height:48px}
.books-page .fine-print{font-size:14px!important;color:#4b5d70!important;line-height:1.65}
.books-page .ideas-head>p,.books-page .direct>div:first-child>p:last-child{font-size:16px;line-height:1.75}
.books-page .idea h3{font-size:25px;line-height:1.35}
.books-page .art-label,.books-page .art-caption>span{font-size:12px;line-height:1.5;letter-spacing:1px}
.books-page .art-caption>span{max-width:175px}
.site-footer p,.site-footer .footer-grid>div>a:not(.brand){font-size:15px;line-height:1.9}
.site-footer .eyebrow{font-size:12px}.site-footer .brand{font-size:13px}.site-footer .brand small{font-size:10px}
.site-footer .footer-bottom p,.site-footer .footer-bottom>a,.site-footer .footer-bottom .text-button{font-size:13px;line-height:1.7}
.books-page dialog{background:#1c2948;color:#fff;border:1px solid #647ba0;border-radius:18px}
.books-page .dialog-toolbar{background:#1c2948;color:#fff;border-color:#647ba0}
.books-page .dialog-toolbar span{font-size:12px;line-height:1.6}
.books-page .dialog-toolbar button{color:#fff}
.books-page #reader-content p{font-size:18px;color:#dce5f6;line-height:1.8}
.books-page #reader-content .eyebrow{font-size:12px;color:#b5eee2}
.books-page #reader-content h2{color:#fff}
.books-page #reader-content .button.dark{background:#c6eee4;color:#153d3d;border-color:#c6eee4}
@media(max-width:1050px){.site-header #navigation{gap:14px}}
@media(max-width:1000px){.books-page .ideas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .site-header .brand{font-size:12px}.site-header .brand small{font-size:9px;letter-spacing:.8px}
  .site-header .menu-toggle{font-size:14px;padding:8px 10px}
  .home-ribbon,.topic-ribbon{gap:12px;padding:18px 20px}
  .home-book-card{grid-template-columns:90px minmax(0,1fr);padding:24px;gap:20px}.home-cover{width:90px}
  .home-book-card h3,.work-card h3{font-size:24px}
  .books-page .other-book{grid-template-columns:90px minmax(0,1fr);gap:20px;padding:24px}
  .books-page .shelf-cover{width:90px}.books-page .other-book .inline-links{flex-wrap:wrap;gap:12px}
  .books-page .other-book h3{font-size:27px}
  .books-page .direct-panel .shop-illustration{margin:-28px -28px 25px}
  .books-page .faq-list details{padding:18px 20px}
}
@media(max-width:480px){
  .home-book-card,.books-page .other-book{grid-template-columns:1fr;gap:24px}
  .home-cover,.books-page .shelf-cover{width:125px;justify-self:center;align-self:center}
  .books-page .ideas-grid{grid-template-columns:1fr}.books-page .ideas-grid .idea{min-height:0;gap:18px}
  .books-page .idea h3{margin:8px 0 12px}.books-page .art-caption{gap:14px}
  .books-page .art-caption p{font-size:24px}.books-page .art-caption>span{max-width:140px}
}
