
:root{
  --navy:#10283A;
  --navy2:#0A1D2A;
  --ivory:#F4EFE6;
  --paper:#FBF8F2;
  --bronze:#B4772D;
  --bronze-dark:#8D5A20;
  --ink:#1E2A32;
  --muted:#687178;
  --line:#D9D0C2;
  --max:1180px;
  --shadow:0 18px 45px rgba(10,29,42,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit}
.site-header{
  background:rgba(16,40,58,.98);
  color:var(--ivory);
  position:sticky;
  top:0;
  z-index:100;
  border-top:4px solid var(--bronze);
  box-shadow:0 1px 0 rgba(255,255,255,.07);
}
.header-inner{
  max-width:var(--max);
  margin:auto;
  min-height:82px;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.brand{
  text-decoration:none;
  font-size:1.9rem;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.site-nav{display:flex;align-items:center;gap:30px}
.site-nav a{
  color:var(--ivory);
  text-decoration:none;
  font-size:1rem;
  padding:27px 0 22px;
  border-bottom:3px solid transparent;
}
.site-nav a:hover,.site-nav a:focus{color:#e0b06b;border-color:var(--bronze)}
.nav-toggle{display:none}
.hero{
  max-width:var(--max);
  margin:0 auto;
  padding:72px 24px 64px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:70px;
  min-height:610px;
}
.hero h1,.page-hero h1{
  margin:.05em 0 .15em;
  color:var(--navy);
  font-size:clamp(3.4rem,7vw,6.2rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.eyebrow{
  margin:0 0 14px;
  color:var(--navy);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.76rem;
  font-weight:bold;
}
.eyebrow.bronze{color:var(--bronze-dark)}
.hero-lead{
  max-width:700px;
  font-size:1.35rem;
  line-height:1.55;
  color:#384650;
}
.hero-photo{
  margin:0;
  background:var(--ivory);
  padding:14px;
  border:1px solid #ded4c6;
  box-shadow:var(--shadow);
  transform:rotate(1.25deg);
}
.hero-photo img{width:100%;height:auto}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:11px 24px;
  border-radius:5px;
  text-decoration:none;
  border:1px solid transparent;
  font:700 1rem/1 Georgia,"Times New Roman",serif;
  transition:.18s ease;
  cursor:pointer;
}
.btn-primary{background:var(--bronze);border-color:var(--bronze);color:#fff}
.btn-primary:hover{background:var(--bronze-dark);border-color:var(--bronze-dark);transform:translateY(-1px)}
.btn-secondary{background:transparent;border-color:var(--navy);color:var(--navy)}
.btn-secondary:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}
.section{padding:84px 24px;background:var(--paper)}
.section-soft{background:var(--ivory)}
.section-inner{max-width:var(--max);margin:auto}
.split{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:72px;
}
h2{
  margin:.1em 0 .35em;
  color:var(--navy);
  font-size:clamp(2.15rem,4vw,3.7rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.subhead{
  color:#50606b;
  font-size:1.28rem;
  font-style:italic;
  margin-top:-5px;
}
.book-copy p:not(.eyebrow):not(.subhead){font-size:1.08rem}
.book-stage{display:grid;place-items:center;min-height:470px;perspective:1600px}
.book-3d{
  width:min(310px,78vw);
  aspect-ratio:.66;
  position:relative;
  transform-style:preserve-3d;
  transform:rotateY(-15deg) rotateX(2deg);
  filter:drop-shadow(20px 24px 17px rgba(16,40,58,.25));
  transition:transform .25s ease;
}
.book-3d:hover{transform:rotateY(-8deg) rotateX(0deg) translateY(-5px)}
.book-front{
  position:absolute;inset:0;
  background:#99cf43;
  overflow:hidden;
  border-radius:2px 5px 5px 2px;
  backface-visibility:hidden;
}
.book-front img{width:100%;height:100%;object-fit:cover}
.book-spine{
  position:absolute;top:0;left:-22px;width:24px;height:100%;
  background:linear-gradient(90deg,#65941e,#8fc53a,#72a623);
  transform-origin:right center;
  transform:rotateY(-76deg);
  border-radius:2px 0 0 2px;
}
.philip-cover-fallback{
  height:100%;
  padding:30px 24px;
  background:#98cf45;
  color:#0b1308;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  border:1px solid rgba(0,0,0,.15);
}
.philip-cover-fallback .cover-kicker{font-weight:bold;font-size:1.15rem;letter-spacing:.03em;margin-top:5%}
.philip-cover-fallback strong{font-size:3.5rem;line-height:1;margin:16px 0 28px;font-style:italic}
.philip-cover-fallback span:nth-of-type(2){font-weight:bold;margin-bottom:16px}
.philip-cover-fallback span:nth-of-type(3){font-size:1rem;border-top:1px dashed #333;border-bottom:1px dashed #333;padding:13px 0}
.philip-cover-fallback em{margin-top:auto;font-size:1.05rem}
.restoring-img{width:min(560px,100%);filter:drop-shadow(18px 20px 15px rgba(16,40,58,.18))}
.about-preview{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  align-items:center;
  gap:70px;
}
.about-preview p{font-size:1.08rem}
.portrait-card{margin:0;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.text-link{color:var(--bronze-dark);font-weight:bold;text-decoration:none}
.text-link:hover{text-decoration:underline}
.identity-band{
  background:var(--navy);
  color:#fff;
  border-top:4px solid var(--bronze);
  padding:44px 24px;
}
.identity-grid{
  max-width:var(--max);margin:auto;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.identity-grid div{padding:0 28px;border-right:1px solid rgba(255,255,255,.22)}
.identity-grid div:first-child{padding-left:0}
.identity-grid div:last-child{border-right:0;padding-right:0}
.identity-grid strong{display:block;color:#f5c27a;font-size:1.25rem;margin-bottom:8px}
.identity-grid span{color:#dce6ec;font-size:.92rem}
.contact-cta{
  max-width:var(--max);
  margin:0 auto;
  padding:70px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.contact-cta h2{font-size:clamp(2rem,4vw,3rem);max-width:780px}
.site-footer{background:var(--navy2);color:#fff;padding:36px 24px}
.footer-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-name{font-size:1.45rem}
.footer-role{color:#9fb3c0;font-size:.82rem;text-transform:uppercase;letter-spacing:.13em}
.social-links{display:flex;gap:20px;flex-wrap:wrap}
.social-links a{color:#dce6ec;text-decoration:none}
.social-links a:hover{color:#f5c27a}
.page-hero{
  background:linear-gradient(120deg,var(--navy2),var(--navy));
  color:#fff;
  padding:92px 24px 86px;
  border-bottom:4px solid var(--bronze);
}
.page-hero>div{max-width:var(--max);margin:auto}
.page-hero .eyebrow,.page-hero h1{color:#fff}
.page-hero h1{font-size:clamp(3rem,6vw,5.4rem)}
.page-hero p:last-child{font-size:1.25rem;color:#dce6ec;max-width:850px}
.about-long{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:72px;
  align-items:start;
}
.about-main-photo{margin:0;position:sticky;top:112px;background:#fff;padding:12px;border:1px solid var(--line);box-shadow:var(--shadow)}
.about-long h2{font-size:2.1rem;margin-top:1.4em}
.about-long h2:first-child{margin-top:0}
.about-long p{font-size:1.08rem}
.photo-grid{
  columns:3 280px;
  column-gap:18px;
  margin-top:30px;
}
.photo-grid figure{
  margin:0 0 18px;
  break-inside:avoid;
  background:#fff;
  padding:8px;
  border:1px solid var(--line);
}
.photo-grid img{
  width:100%;
  height:auto;
  display:block;
}
.book-detail{scroll-margin-top:84px}
.article-callout{
  border:1px solid var(--line);
  background:#fff;
  padding:44px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.article-callout h2{font-size:2.35rem}
.article-callout p{max-width:760px}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.contact-notes{margin-top:30px;padding-top:10px;border-top:1px solid var(--line)}
.contact-form{
  background:#fff;
  padding:34px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.contact-form label{display:block;font-weight:bold;color:var(--navy);margin-bottom:18px}
.contact-form input,.contact-form textarea{
  width:100%;margin-top:7px;padding:13px 14px;border:1px solid #b8b1a7;border-radius:4px;
  background:#fff;font:1rem Georgia,"Times New Roman",serif;color:var(--ink)
}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(180,119,45,.28);border-color:var(--bronze)}
.hidden{position:absolute!important;left:-9999px!important}
@media (max-width:900px){
  .site-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--navy);padding:14px 24px 24px;flex-direction:column;align-items:flex-start;gap:0;border-top:1px solid rgba(255,255,255,.1)}
  .site-nav.open{display:flex}
  .site-nav a{width:100%;padding:12px 0}
  .nav-toggle{display:block;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);padding:9px 12px;border-radius:4px;font-family:inherit}
  .hero,.split,.about-preview,.about-long,.contact-layout{grid-template-columns:1fr}
  .hero{padding-top:44px;gap:38px}
  .hero-photo{max-width:620px}
  .book-stage{min-height:390px}
  .about-main-photo{position:static;max-width:520px}
  .identity-grid{grid-template-columns:1fr 1fr;gap:30px}
  .identity-grid div{border:0;padding:0}
  .contact-cta,.footer-inner,.article-callout{align-items:flex-start;flex-direction:column}
}
@media (max-width:580px){
  .header-inner{min-height:72px;padding:0 18px}
  .brand{font-size:1.48rem}
  .site-nav{top:72px}
  .hero{padding:38px 18px 48px;min-height:auto}
  .hero h1{font-size:3.4rem}
  .section{padding:62px 18px}
  .page-hero{padding:70px 18px 62px}
  .book-stage{min-height:350px}
  .identity-grid{grid-template-columns:1fr}
  .contact-form{padding:24px}
  .footer-inner{padding:0}
}

.micro-note{margin-top:14px;color:#5b646c;font-size:.98rem;font-style:italic;max-width:700px}

.photo-grid .photo-feature{
  column-span:all;
  max-width:760px;
  margin:0 auto 24px;
}
