:root { --color-bg:#f7f5f0; --color-surface:#eeeae2; --color-text:#242620; --color-accent:#bc914f; --font-body:Arial,Helvetica,sans-serif; --font-heading:Georgia,'Times New Roman',serif; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { font-size:17px; line-height:1.65; }
[hidden] { display:none !important; }
img { max-width:100%; }
p { text-align:left !important; hyphens:none !important; }
main { overflow:clip; }
main > section:not(.home-hero):not(.approach-section) { padding-top:72px !important; padding-bottom:72px !important; }
main h1 { font-size:clamp(40px,5.4vw,76px) !important; line-height:1.09 !important; }
main h2 { font-size:clamp(30px,3.3vw,48px) !important; line-height:1.16 !important; }
main h3 { line-height:1.2 !important; }
main [data-screen-label] p { max-width:68ch; }
.plate { filter:none; border-width:1px; outline:none; }
a { text-underline-offset:4px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #b68235; outline-offset:5px; }
.btn { font-family:var(--font-body); letter-spacing:.015em !important; text-transform:none !important; font-size:16px !important; font-weight:600; min-height:50px; padding:13px 24px; border-radius:4px; justify-content:center; gap:15px; text-decoration:none; transition:background .18s,transform .18s; }
.btn-primary { background:#d5ae72 !important; color:#191c17 !important; border-color:#d5ae72 !important; }
.btn-primary:hover { background:#e5c18d !important; transform:translateY(-1px); }
.btn-secondary { color:inherit; background:transparent; }
.btn-secondary:hover { background:#ffffff12; }
.site-header { background:#161915; color:#f7f5f0; border-top:3px solid #bc914f; border-bottom:1px solid #ffffff18; }
.nav-shell { max-width:1280px; padding:19px 48px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; flex-shrink:0; text-decoration:none; color:inherit; }
.brand > span { font:600 21px Georgia,serif; letter-spacing:.055em; }
.brand-gold { color:#d5ae72; }
.site-header nav { display:flex; gap:26px; align-items:center; }
.site-header nav a { font-size:14px; padding:10px 0; color:#e9e8e1; text-decoration:none; border-bottom:1px solid transparent; }
.site-header nav a:hover,.site-header nav a[aria-current] { color:#e0bb81; border-color:#bc914f; }
.menu-toggle { color:#e0bb81; background:transparent; border:1px solid #bc914f; padding:10px 13px; min-height:44px; font:600 14px Arial,sans-serif; border-radius:4px; cursor:pointer; }
.skip-link { position:absolute; left:-9999px; z-index:100; background:#f7f5f0; color:#161915; padding:12px; }
.skip-link:focus { left:12px; top:12px; }
.container { max-width:1280px; margin:auto; padding-left:48px; padding-right:48px; }
.section { padding-top:80px; padding-bottom:80px; }
.home-hero { background:#161915; color:#f7f5f0; }
.hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; padding-top:64px; padding-bottom:64px; align-items:center; }
.eyebrow { margin:0 0 20px; color:#805615; font-size:12px; letter-spacing:.13em; font-weight:600; line-height:1.6; }
.home-hero .eyebrow { color:#d5ae72; }
.hero-copy h1 { margin:0 0 24px; font-weight:400; letter-spacing:-.045em; }
.hero-copy h1 em { color:#d5ae72; font-style:normal; }
.hero-intro { font-size:18px; line-height:1.75; max-width:48ch; margin:0 0 28px; color:inherit; opacity:.86; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-signature { font-size:13px; color:#d0d0c5; margin:22px 0 0; }
.hero-portrait { margin:0; width:100%; max-width:390px; justify-self:end; }
.hero-portrait img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 15%; border-radius:5px; border:1px solid #bc914f66; }
.hero-portrait figcaption { margin-top:12px; font-size:12px; text-align:center; color:#d0d0c5; }
.section-heading { max-width:690px; margin-bottom:36px; }
.section-heading h2 { font-weight:400; letter-spacing:-.03em; margin:0 0 18px; }
.section-heading p:last-child { color:#5e6258; margin:0; }
.guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.guide-card { background:#fffdf8; border:1px solid #ddd7cc; border-radius:8px; overflow:hidden; }
.book-stage { height:330px; background:radial-gradient(ellipse at center,#eee5d5,#e5dfd4); display:flex; align-items:center; justify-content:center; padding:28px; border-bottom:1px solid #ddd7cc; }
.book-stage img { height:100%; width:auto; object-fit:contain; filter:drop-shadow(12px 15px 13px #24262030); }
.guide-copy { padding:30px; }
.guide-copy .eyebrow { font-size:11px; margin-bottom:14px; }
.guide-copy h3 { font-size:34px; font-weight:400; margin:0 0 16px; }
.guide-copy > p:not(.eyebrow) { color:#5e6258; font-size:16px; margin:0 0 22px; }
.feature-list { list-style:none; padding:0; margin:0 0 24px; font-size:15px; }
.feature-list li { padding:9px 0 9px 24px; border-bottom:1px solid #e6e0d5; position:relative; }
.feature-list li::before { content:'✓'; position:absolute; left:0; color:#805615; }
.card-purchase { display:flex; align-items:center; gap:15px; margin-bottom:18px; }
.card-purchase strong { font-size:30px; font-weight:500; }
.card-purchase span { color:#676c60; font-size:13px; }
.guide-copy .btn { width:100%; }
.text-link { display:inline-flex; gap:20px; font-size:15px; font-weight:600; color:#805615; text-decoration:none; border-bottom:1px solid #bc914f; padding:9px 0 5px; margin-top:10px; }
.delivery-note { margin:24px 0 0; font-size:14px; color:#676c60; text-align:center !important; }
.affiliate-section { border-top:1px solid #ddd7cc; }
.affiliate-disclosure { color:#5e6258; font-size:14px; line-height:1.7; padding:16px 20px; border-left:3px solid #bc914f; background:#eeeae2; margin:0 0 28px; }
.affiliate-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.affiliate-card { background:#fffdf8; border:1px solid #ddd7cc; border-radius:6px; padding:28px; display:flex; flex-direction:column; }
.affiliate-card .eyebrow { font-size:11px; margin-bottom:14px; }
.affiliate-card h3 { font-size:25px; font-weight:400; margin:0 0 16px; }
.affiliate-card > p:not(.eyebrow) { font-size:15px; color:#5e6258; margin:0 0 26px; }
.affiliate-card .btn { margin-top:auto; color:#805615; border:1px solid #bc914f; padding:12px 15px; font-size:14px !important; }
.affiliate-card .btn:hover { background:#eee5d5; }
.affiliate-note { margin:22px 0 0; font-size:13px; color:#676c60; }
.approach-section { background:#eeebe3; border-top:1px solid #ddd7cc; border-bottom:1px solid #ddd7cc; }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.principle-grid article > span { color:#805615; font-size:13px; }
.principle-grid h3 { font-weight:400; font-size:24px; margin:12px 0; }
.principle-grid p { color:#5e6258; font-size:16px; margin:0; }
.founder-section { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.founder-section h2 { font-weight:400; }
.founder-section p { margin:0 0 18px; }
.checkout-note { font-size:13px !important; line-height:1.7 !important; color:#eee8db; margin-top:4px !important; }
.product-hero { padding-top:64px !important; padding-bottom:64px !important; gap:48px !important; }
.product-hero figure { max-width:340px; }
.product-title { letter-spacing:-.035em !important; font-size:clamp(36px,4.3vw,62px) !important; }
.product-hero > div { gap:20px !important; }
.home-hero .btn-secondary { border:1px solid #ffffff55; }
.sticky-purchase { display:none !important; }
summary { list-style:none; }
details summary::-webkit-details-marker { display:none; }
details[open] > summary { color:#805615; }
footer img { width:80px !important; height:80px !important; }
footer { margin-top:0; }
@media(min-width:901px) { .menu-toggle { display:none !important; } }
@media(max-width:1050px) { .nav-shell,.container { padding-left:32px; padding-right:32px; } .site-header nav { gap:16px; } .brand > span { font-size:19px; } .hero-grid { gap:38px; } }
@media(max-width:900px) {
  .nav-shell { flex-wrap:wrap; padding:14px 22px; gap:14px; }
  .brand > span { font-size:18px; }
  .brand img { width:40px; height:40px; }
  .site-header nav { width:100%; display:flex; flex-wrap:wrap; gap:6px 24px; padding-top:8px; }
  .js .site-header nav { display:none; }
  .js .site-header nav.is-open { display:flex; flex-direction:column; align-items:stretch; }
  .site-header nav a { min-height:44px; }
  .hero-grid { grid-template-columns:1.2fr .8fr; gap:28px; }
  .hero-copy h1 { font-size:clamp(40px,6vw,56px) !important; }
}
@media(max-width:720px) {
  body { font-size:16px; }
  .container { padding-left:22px; padding-right:22px; }
  .hero-grid { grid-template-columns:1fr; padding-top:44px; padding-bottom:40px; gap:32px; }
  .hero-copy h1 { font-size:clamp(37px,9.2vw,56px) !important; }
  .hero-intro { font-size:16px !important; line-height:1.7 !important; }
  .hero-portrait { justify-self:center; max-width:300px; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .hero-actions .btn { padding:12px 10px; font-size:14px !important; }
  .eyebrow { font-size:10px; letter-spacing:.1em; margin-bottom:16px; }
  main > section:not(.home-hero):not(.approach-section),.section { padding-top:48px !important; padding-bottom:48px !important; }
  .guide-grid,.founder-section,.principle-grid,.affiliate-grid { grid-template-columns:1fr; gap:24px; }
  .guide-copy { padding:24px; }
  .guide-copy h3 { font-size:29px; }
  .book-stage { height:280px; padding:24px; }
  .section-heading { margin-bottom:28px; }
  .principle-grid article { padding-bottom:22px; border-bottom:1px solid #d7d0c3; }
  .principle-grid article:last-child { border:0; padding-bottom:0; }
  main h1 { font-size:40px !important; }
  main h2 { font-size:31px !important; }
  .product-hero { padding:40px 22px !important; gap:30px !important; }
  .product-hero > div { gap:20px !important; }
  .product-hero figure { width:72% !important; max-width:290px; }
  .product-title { font-size:clamp(34px,8.5vw,48px) !important; }
  .checkout-note { font-size:12px !important; }
  main [data-screen-label] > div { min-width:0; }
  .page-built main,.page-strong main { padding-bottom:0 !important; }
  .js.has-sticky-buy .page-built main,.js.has-sticky-buy .page-strong main { padding-bottom:78px !important; }
  .js.has-sticky-buy footer { padding-bottom:78px; }
  .sticky-purchase:not([hidden]) { display:flex !important; padding-bottom:max(10px,env(safe-area-inset-bottom)) !important; }
  .sticky-purchase .btn { font-size:14px !important; padding:10px 14px; }
  footer > div { padding-left:22px !important; padding-right:22px !important; gap:30px !important; }
  .page-contact main a { font-size:clamp(17px,4.7vw,25px) !important; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn { transition:none; } }
