:root{--navy:#091533;--cream:#fbf7ef;--gold:#b68b3a;--gold-light:#d4b66f;--white:#fffdf8;--ink:#101a35;--rule:#dfcda9}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Libre Baskerville",Georgia,serif}
img{max-width:100%}
a{color:inherit}
.site-header{min-height:116px;padding:12px clamp(24px,3.3vw,52px) 11px;background:var(--navy);border-bottom:2px solid var(--gold);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto;pointer-events:none;cursor:default}
.brand-mark{width:96px;height:82px;object-fit:contain}
.brand:hover .brand-mark,.brand:focus-visible .brand-mark{opacity:1;filter:none;transform:none}
.brand-copy{display:grid;gap:4px}
.brand-title{font:400 clamp(1.55rem,2.2vw,2.12rem)/1 "Libre Baskerville",Georgia,serif;letter-spacing:.025em;text-transform:uppercase}
.brand-name{font:500 .78rem/1.25 Montserrat,Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase}
.brand-support{color:var(--gold-light);font-size:.8rem;font-style:italic}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,2.25vw,36px);font-size:.93rem;white-space:nowrap}
.main-nav a{padding:10px 0 8px;text-decoration:none;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a.active{border-color:var(--gold)}
.menu-button{display:none;border:1px solid var(--gold-light);background:transparent;color:var(--white);padding:10px 13px;font:500 .8rem Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.hero{position:relative;min-height:488px;background:url("assets/hero-window-v2.webp") center center/cover no-repeat;overflow:hidden}
.hero-inner{width:min(1440px,100%);min-height:488px;margin:0 auto;position:relative}
.hero-copy{position:absolute;top:47px;left:4.2%;width:430px;background:rgba(255,253,248,.93);padding:34px 32px 31px;box-shadow:0 9px 24px rgba(9,21,51,.1)}
.hero h1{margin:0;color:var(--navy);font:400 clamp(2.6rem,3.6vw,3.45rem)/1.1 "Libre Baskerville",Georgia,serif;letter-spacing:0}
.gold-rule{display:block;width:64px;height:3px;margin:22px 0 19px;background:var(--gold)}
.hero-copy p{margin:0 0 24px;color:var(--navy);font-size:1rem;line-height:1.58}
.gold-button,.outline-button{display:inline-flex;align-items:center;gap:18px;padding:14px 21px;font:500 .76rem Montserrat,Arial,sans-serif;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}
.gold-button{background:var(--gold);color:var(--white)}
.cover-stage{position:absolute;bottom:34px;left:75%;width:218px;perspective:1400px}
.cover-stage:after{content:"";position:absolute;z-index:-1;left:10%;right:-8%;bottom:-8px;height:20px;background:radial-gradient(ellipse,rgba(9,21,51,.3) 0,rgba(9,21,51,.11) 48%,transparent 72%);filter:blur(2px);transform:skewX(-10deg)}
.book-3d{position:relative;filter:drop-shadow(7px 10px 8px rgba(9,21,51,.28))}
.book-3d:before,.book-3d:after{content:none}
.book-3d img{display:block;width:100%}
.feature-strip{min-height:178px;background:var(--cream);display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e8dcc6}
.feature{position:relative;padding:38px 26px 31px;text-align:center}
.feature+.feature:before{content:"";position:absolute;top:24px;bottom:24px;left:0;width:1px;background:var(--rule)}
.feature h2{margin:0 0 8px;color:var(--navy);font:700 clamp(1.18rem,1.65vw,1.5rem)/1.2 "Libre Baskerville",Georgia,serif;text-transform:uppercase;letter-spacing:-.02em}
.feature p{margin:0 0 17px;color:var(--navy);font-size:1rem;font-style:italic}
.feature a,.text-link,.frank-status{color:#946412;font:500 .76rem Montserrat,Arial,sans-serif;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
.book-section{background:var(--white);padding:clamp(74px,8vw,118px) clamp(28px,7vw,108px)}
.book-feature{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(250px,355px) minmax(0,1fr);gap:clamp(58px,8vw,120px);align-items:center}
.book-art{position:relative;padding:18px 0 18px 22px}
.book-art:before{content:"";position:absolute;inset:0 16% 0 0;border:1px solid var(--gold)}
.book-art img{position:relative;display:block;width:min(285px,90%);margin-left:auto;box-shadow:0 22px 42px rgba(9,21,51,.22)}
.eyebrow{margin:0 0 13px;color:#946412;font:600 .75rem Montserrat,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.book-copy h2,.beyond-heading h2,.author-copy h2{margin:0;color:var(--navy);font:700 clamp(2.35rem,4.5vw,3.9rem)/1.08 "Libre Baskerville",Georgia,serif;letter-spacing:-.035em}
.book-copy>p:not(.eyebrow){max-width:650px;font-size:1rem;line-height:1.8}
.outline-button{margin-top:17px;border:1px solid var(--gold);color:var(--navy)}
.outline-button:hover,.outline-button:focus-visible{background:var(--gold);color:var(--white)}
.frank-feature{width:min(1080px,100%);margin:clamp(84px,9vw,130px) auto 0;padding-top:42px;border-top:1px solid var(--rule);display:grid;grid-template-columns:80px minmax(170px,.65fr) 1.5fr auto;gap:clamp(22px,3vw,48px);align-items:start}
.frank-number{color:var(--gold-light);font:400 3.2rem/1 "Bodoni Moda",Didot,serif}
.frank-feature h2{margin:0;color:var(--navy);font:700 2.35rem/1.08 "Libre Baskerville",Georgia,serif;letter-spacing:-.035em}
.frank-feature>p{margin:0;line-height:1.75}
.frank-status{display:inline-block;margin-top:8px;white-space:nowrap}
.beyond-section{background:var(--navy);color:var(--white);padding:clamp(70px,8vw,112px) clamp(28px,8vw,120px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,8vw,130px);align-items:center}
.beyond-heading h2{color:var(--white);font-weight:400;letter-spacing:0}
.beyond-copy p{margin:0 0 28px;font-size:1.03rem;line-height:1.75}
.beyond-section .text-link{color:var(--gold-light)}
.beyond-section blockquote{margin:0;padding-left:38px;border-left:1px solid var(--gold);color:var(--cream);font:italic 400 clamp(1.5rem,2.3vw,2.2rem)/1.45 "Bodoni Moda",Didot,serif}
.author-section{display:grid;grid-template-columns:minmax(270px,380px) minmax(360px,1fr) minmax(320px,.85fr);background:var(--cream);min-height:590px}
.portrait-frame{background:#d8d3cc;overflow:hidden;display:flex;align-items:center}
.portrait-frame img{display:block;width:100%;height:auto;object-fit:contain}
.author-copy{padding:clamp(64px,7vw,104px) clamp(38px,5.3vw,82px)}
.author-copy h2{font-size:clamp(2.5rem,4vw,3.75rem)}
.author-line{margin:8px 0 26px;color:var(--navy);font-style:italic;font-size:1.18rem}
.author-copy>p:not(.eyebrow):not(.author-line){font-size:.96rem;line-height:1.72}
.author-copy .text-link{display:inline-block;margin-top:14px}
.quote-block{margin:0;padding:clamp(72px,8vw,120px) clamp(38px,5vw,76px);background:var(--white);display:flex;flex-direction:column;justify-content:center}
.quote-block p{margin:0 0 30px;color:var(--navy);font:italic 400 clamp(1.8rem,3vw,2.75rem)/1.45 "Libre Baskerville",Georgia,serif;letter-spacing:.008em}
.quote-block cite{color:#946412;font:500 .78rem Montserrat,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.artist-section{background:var(--white);border-top:1px solid var(--rule);padding:48px clamp(28px,8vw,120px)}
.artist-inner{width:min(960px,100%);margin:0 auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(34px,5vw,68px);align-items:center}
.artist-photo{border:1px solid var(--gold);padding:8px;background:var(--cream)}
.artist-photo img{display:block;width:100%;height:auto}
.artist-copy h2{margin:0 0 18px;color:var(--navy);font:700 clamp(2rem,3.6vw,3rem)/1.08 "Libre Baskerville",Georgia,serif;letter-spacing:-.035em}
.artist-copy>p:not(.eyebrow){margin:0 0 .95em;font-size:.94rem;line-height:1.68}
.artist-copy>p:last-child{margin-bottom:0}
.site-footer{background:var(--navy);color:var(--white);padding:37px clamp(28px,5.5vw,84px) 29px}
.footer-script{margin:0 0 24px;color:var(--cream);font:italic 400 clamp(1.25rem,2.4vw,2rem) "Libre Baskerville",Georgia,serif;letter-spacing:.012em}
.footer-rule{height:1px;background:var(--gold)}
.footer-bottom{padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:.78rem}
.footer-bottom p{margin:0}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:22px;font-size:.93rem}
.footer-bottom a{text-decoration:none}
@media(max-width:1080px){.main-nav{gap:16px;font-size:.8rem}
.brand-mark{width:68px;height:66px}
.brand-title{font-size:1.45rem}
.cover-stage{left:auto;right:4.5%;width:194px}
.frank-feature{grid-template-columns:64px .55fr 1.4fr}
.frank-status{grid-column:2}
.author-section{grid-template-columns:31% 1fr}
.quote-block{grid-column:1/-1;min-height:300px;text-align:center}
.footer-bottom nav{font-size:.8rem}
}
@media(max-width:820px){html{scroll-padding-top:92px}
.site-header{min-height:92px;align-items:center}
.brand-mark{width:58px;height:55px}
.brand-support{display:none}
.menu-button{display:block}
.main-nav{display:none;position:absolute;z-index:20;top:92px;left:0;right:0;padding:17px 24px 22px;background:var(--navy);border-bottom:2px solid var(--gold);flex-direction:column;align-items:flex-start}
.main-nav.is-open{display:flex}
.hero-inner{min-height:570px}
.hero-copy{top:30px;left:22px;width:min(55%,390px)}
.cover-stage{top:auto;bottom:40px;right:18px;width:171px}
.book-feature{grid-template-columns:240px 1fr;gap:45px}
.frank-feature{grid-template-columns:52px 1fr}
.frank-feature>p,.frank-status{grid-column:2}
.beyond-section{grid-template-columns:1fr 1fr}
.beyond-section blockquote{grid-column:1/-1}
.author-section{grid-template-columns:42% 1fr}
}
@media(max-width:620px){.site-header{padding-inline:16px;gap:12px}
.brand{gap:7px}
.brand-mark{width:46px;height:48px}
.brand-title{font-size:1rem}
.brand-name{font-size:.56rem}
.menu-button{padding:8px 10px;font-size:.68rem}
.hero{background-position:58% center}
.hero-inner{min-height:690px;padding:26px 16px 28px}
.hero-copy{position:relative;inset:auto;width:100%;padding:26px 24px 27px}
.hero h1{font-size:2.75rem}
.hero-copy p{font-size:.96rem}
.cover-stage{top:auto;bottom:28px;left:50%;right:auto;width:172px;transform:translateX(-50%)}
.feature-strip{grid-template-columns:1fr}
.feature{padding:29px 22px 27px}
.feature+.feature:before{top:0;bottom:auto;left:12%;right:12%;width:auto;height:1px}
.book-section{padding-inline:22px}
.book-feature{grid-template-columns:1fr;gap:50px}
.book-art{width:min(310px,90%);margin:0 auto}
.frank-feature{grid-template-columns:1fr}
.frank-number{display:none}
.frank-feature>p,.frank-status{grid-column:auto}
.beyond-section{grid-template-columns:1fr}
.beyond-section blockquote{grid-column:auto;padding:26px 0 0;border-left:0;border-top:1px solid var(--gold)}
.author-section{grid-template-columns:1fr}
.portrait-frame{min-height:0}
.author-copy{padding:58px 25px 65px}
.quote-block{grid-column:auto;min-height:330px;padding:58px 28px}
.artist-section{padding:42px 22px}
.artist-inner{grid-template-columns:1fr;gap:28px}
.artist-photo{width:min(210px,65%);margin:0 auto}
.footer-bottom{align-items:flex-start;flex-direction:column}
}
.about-page{background:var(--white)}
.page-intro{padding:clamp(66px,8vw,112px) clamp(28px,8vw,120px);background:var(--cream);text-align:center;border-bottom:1px solid var(--rule)}
.page-intro h1{margin:0;color:var(--navy);font:700 clamp(2.75rem,6.2vw,5.1rem)/1.08 "Libre Baskerville",Georgia,serif;letter-spacing:-.045em}
.page-intro>p:last-child{margin:18px 0 0;color:var(--navy);font-style:italic;font-size:1.15rem}
.about-layout{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:clamp(70px,8vw,116px) 0;display:grid;grid-template-columns:minmax(260px,360px) minmax(0,650px);gap:clamp(50px,8vw,110px);align-items:start}
.about-layout aside{position:sticky;top:28px}
.about-layout aside img{display:block;width:100%;height:auto}
.portrait-note{margin:18px 0 0;color:var(--navy);text-align:center;line-height:1.7}
.full-bio p{margin:0 0 1.45em;font-size:1.02rem;line-height:1.86}
.full-bio p:first-child:first-letter{float:left;margin:.08em .1em 0 0;color:var(--gold);font:400 4.45rem/.8 "Libre Baskerville",Georgia,serif}
@media(max-width:760px){.about-layout{grid-template-columns:1fr}.about-layout aside{position:static;width:min(360px,100%);margin:0 auto}}
