
:root{--teal:#092e30;--cream:#fff0d4;--gold:#e2b45b;--plum:#3e172c;--ink:#261c18}*{box-sizing:border-box}body{margin:0;background:#102b2d;color:var(--cream);font-family:Georgia,'Times New Roman',serif}a{color:inherit}a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}img{max-width:100%}.site{max-width:1199px;margin:auto;min-height:100vh;box-shadow:0 10px 55px #0005;background:radial-gradient(ellipse at 100% 9%,#b48b5366,transparent 31%),radial-gradient(ellipse at 0% 35%,#24555277,transparent 43%),linear-gradient(110deg,#062729,#0c3a3b 65%,#123b38)}.head{text-align:center;padding:16px 20px 0}.brand{font-size:clamp(38px,6vw,67px);letter-spacing:.18em;line-height:1.1;margin:0;font-weight:normal}.rule{border-top:1px solid var(--gold);max-width:800px;margin:12px auto 9px;position:relative}.rule:after{content:'❖';position:absolute;left:50%;top:-16px;transform:translateX(-50%);background:#103735;color:var(--gold);padding:0 10px}.sub{letter-spacing:.15em;font-size:clamp(10px,1.5vw,17px);margin:0 0 15px}.nav{display:flex;justify-content:space-evenly;gap:16px;flex-wrap:wrap;padding:12px 10px 18px}.nav a{text-decoration:none;font-size:clamp(13px,1.6vw,19px)}.nav a.active{color:var(--gold);border-bottom:2px solid var(--gold);padding-bottom:7px}.content{padding:55px clamp(22px,6vw,80px) 70px;min-height:510px}.eyebrow{color:var(--gold);letter-spacing:.2em;font-size:13px;text-transform:uppercase}.content h1{font-size:clamp(43px,6vw,76px);font-weight:normal;font-style:italic;line-height:1.05;margin:13px 0 20px}.content h2{font-size:clamp(25px,3vw,39px);font-weight:normal;color:var(--gold);font-style:italic;margin:24px 0 12px}.content h3{font-size:24px;font-weight:normal;color:var(--gold)}.content p{font-size:clamp(18px,1.8vw,22px);line-height:1.55;max-width:790px}.lead{font-size:clamp(20px,2.3vw,26px)!important}.btn{display:inline-block;text-decoration:none;background:var(--plum);border:1px solid var(--gold);padding:14px 25px;letter-spacing:.09em;margin:10px 12px 10px 0}.btn:hover{background:#632642}.about-grid{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);gap:42px;align-items:start}.portrait-frame{background:#f4e6c8;padding:13px;box-shadow:12px 18px 25px #0006;transform:rotate(-2.3deg);margin:24px 0 34px}.portrait-frame img{display:block;width:100%;height:auto}.about-copy h1{margin-top:0}.signature{font-style:italic;color:var(--gold);font-size:48px;text-align:right}.book-feature{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:60px;align-items:start;margin-top:25px}.book-cover{box-shadow:18px 19px 24px #0007}.paper{background:linear-gradient(110deg,#f2d6a8,#fff0d2 45%,#f0d4a9);color:var(--ink);padding:35px 5%;display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center}.paper>div{padding:8px 23px}.paper>div+div{border-left:1px solid #927251}.paper h3{font-size:clamp(17px,2vw,23px);margin:5px 0 12px}.paper p{font-style:italic;font-size:18px;line-height:1.4;margin:0}.symbol{font-size:39px;color:#995d1b}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(105deg,#3a1027,#511c32,#371125);padding:30px 4%;border-top:2px solid #af834b}.footer strong{font-size:22px;letter-spacing:.1em;font-weight:normal}.footer p{font-size:18px;line-height:1.4;font-style:italic;max-width:380px}.footer a{border:1px solid var(--gold);text-decoration:none;padding:13px 18px;white-space:nowrap}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:35px 0}.tile{border:1px solid #b28e5c;padding:22px;background:#061e2180}.tile h2{margin-top:0}.tile p{font-size:18px}.note{color:#d8c6a9;font-size:15px!important;font-style:italic}.smallprint{text-align:center;padding:16px;background:#061d1e;color:#d6c7b2;font-size:13px}.desktop-home{position:relative}.desktop-home>img{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;border-radius:3px;outline-offset:3px}.hotspot:hover{background:#ffffff17}.hotspot:focus-visible{outline:3px solid white}.mobile-home{display:none}.mobile-hero{text-align:center;padding:35px 20px}.mobile-hero h1{font-weight:normal;font-size:clamp(38px,8vw,60px);font-style:italic}.mobile-hero p{font-size:20px;line-height:1.5}.mobile-hero img{display:block;width:min(58%,280px);margin:25px auto;box-shadow:10px 15px 25px #0009}.home-paper a{text-decoration:none;color:inherit;display:block}.home-paper a:hover{text-decoration:underline}@media(max-width:760px){.about-grid,.book-feature{grid-template-columns:1fr;gap:20px}.portrait-frame{max-width:340px;margin:20px auto 35px}.paper{grid-template-columns:1fr}.paper>div+div{border-left:0;border-top:1px solid #927251;margin-top:15px;padding-top:22px}.footer{flex-direction:column;text-align:center;gap:10px}.tiles{grid-template-columns:1fr}.desktop-home{display:none}.mobile-home{display:block}.content{padding:40px 24px 55px}.head{padding-top:22px}.nav{justify-content:center;gap:15px}.sub{line-height:1.8}}

/* Future Famous Authors: original supplied transparent branding */
.ffa-logo-panel{background:#fffaf1;border:1px solid #c7a56b;border-radius:6px;margin:24px auto 28px;padding:20px;max-width:960px;text-align:center}
.ffa-logo{display:block;width:100%;height:auto;object-fit:contain}
.ffa-round-panel{margin:40px auto 15px;max-width:270px;padding:15px;border-radius:50%;background:#fffaf1}
.ffa-round{display:block;width:100%;height:auto}
@media(max-width:650px){.ffa-logo-panel{padding:9px;margin:18px 0}.ffa-round-panel{max-width:190px}}

/* November retreat review — preserve original theme and homepage */
.ffa-logo-panel{max-width:570px;padding:12px 18px;background:#f8f1e6;box-shadow:0 10px 28px #0003}
.ffa-logo{max-width:520px;margin:auto}
.retreat-section{margin-top:55px;padding-top:30px;border-top:1px solid #c7a56b}
.retreat-feature{display:grid;grid-template-columns:minmax(200px,38%) 1fr;gap:30px;align-items:center;margin:22px 0 38px}
.retreat-feature>img{width:100%;max-height:560px;object-fit:contain;object-position:top;box-shadow:0 10px 30px #0005;background:#f9f4ea}
.retreat-feature p{font-size:20px}
.retreat-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 40px}
.retreat-gallery figure,.author-gallery figure{margin:0;background:#f6ead4;color:#243333;overflow:hidden;border:1px solid #d5b781}
.retreat-gallery img{width:100%;height:240px;object-fit:cover;display:block}
.retreat-gallery figcaption{padding:12px;font-size:15px;text-align:center;line-height:1.3}
.author-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0 30px;align-items:stretch}
.author-gallery img{width:100%;height:290px;object-fit:cover;object-position:center top;display:block}
.author-gallery figcaption{display:flex;flex-direction:column;gap:5px;text-align:center;padding:14px}
.author-host{border:1px solid #b28e5c;background:#061e2180;padding:22px;display:flex;flex-direction:column;justify-content:center}
.author-host p{font-size:18px}
.event-feature{border-bottom:1px solid #b28e5c;padding:0 0 25px;margin-bottom:28px}
@media(max-width:760px){.retreat-feature{grid-template-columns:1fr}.retreat-feature>img{max-height:440px}.retreat-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.author-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.author-host{grid-column:1/-1}.retreat-gallery img{height:210px}}
@media(max-width:440px){.retreat-gallery{grid-template-columns:1fr 1fr;gap:8px}.retreat-gallery img{height:145px}.author-gallery img{height:220px}.ffa-logo-panel{padding:9px}}

/* FFA heading alignment and featured-author portrait */
.ffa-page > .eyebrow,.ffa-page > h1{text-align:center;display:block}
.ffa-page .author-gallery figure img{object-position:center top}

/* Rebuilt reusable decorative system: vector leaves, not screenshot crops */
.site{position:relative;isolation:isolate;overflow:hidden}
.site:before{content:"";position:absolute;top:0;left:0;width:clamp(125px,15vw,180px);height:310px;background:url('autumn-foliage-real.png') no-repeat top left / contain;pointer-events:none;z-index:0;filter:drop-shadow(0 4px 6px #0006)}
.site:has(.desktop-home):before{display:none} /* Homepage already contains approved leaves */
.head,.content,.paper,.footer,.smallprint{position:relative;z-index:1}
.head{padding-top:18px}
.about-grid{position:relative;min-height:650px;padding-bottom:145px;isolation:isolate}
.about-grid > div{position:relative;z-index:2}
.about-still-life{position:absolute;left:-80px;bottom:-8px;width:min(650px,66%);height:auto;pointer-events:none;z-index:1;filter:drop-shadow(0 6px 8px #0003)}
.about-copy{background:linear-gradient(90deg,transparent,#082e3066 15%,#082e3055);border-radius:4px}
.keep-together{white-space:nowrap}
@media(max-width:760px){.site:before{width:120px;height:210px;opacity:.85}.about-grid{padding-bottom:130px;min-height:0}.about-still-life{width:85%;left:-25px;bottom:0;opacity:.8}.about-copy{background:#092f30c9;padding:8px}.head{padding-top:30px}}

/* About JB: smaller portrait sits above, rather than over, the antique books and watch. */
@media(min-width:761px){
 .about-grid{min-height:820px}
 .about-grid .portrait-frame{width:205px;max-width:100%;margin:0 0 24px 12px}
}

/* About portrait: larger, above the antique still life; no embedded old photo frame. */
@media(min-width:761px){.about-grid{min-height:920px;padding-bottom:0}.about-grid .portrait-frame{width:255px;max-width:100%;margin:5px 0 0 20px}.about-grid .about-still-life{bottom:0;left:-80px;width:650px;max-width:none;z-index:3}.about-grid .about-copy{z-index:4}}
@media(max-width:760px){.about-grid .portrait-frame{width:min(75vw,270px);margin:20px auto 15px}.about-grid .about-still-life{position:relative;display:block;left:-20px;bottom:auto;width:calc(100% + 40px);margin-top:-5px;opacity:1}.about-grid{padding-bottom:0}}

/* About JB: original approved writing portrait at a balanced size, with still life unobstructed. */
@media(min-width:761px){
 .about-grid{min-height:920px;}
 .about-grid .portrait-frame{width:315px;max-width:100%;margin:0 0 0 5px;position:relative;z-index:5;}
 .about-grid .about-still-life{z-index:1;bottom:0;}
 .about-grid .about-copy{z-index:4;}
}

/* About portrait: modest rightward shift, preserving approved scale and stacking. */
@media (min-width: 761px){.about-grid .portrait-frame{margin-left:39px !important;}}

/* Restore the approved handwritten JB Harris signature. */
.about-grid .signature{font-family:"Snell Roundhand","Brush Script MT","Apple Chancery","URW Chancery L",cursive!important;font-style:normal!important;font-weight:400!important;font-size:clamp(42px,4.5vw,66px)!important;letter-spacing:0!important;transform:rotate(-3deg);transform-origin:right center;color:#dfbd79;}

.footer strong{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.footer-envelope{display:block;width:43px;height:35px;flex:none;color:#f2d5a3}.about-line-icon{display:block;width:53px;height:43px;margin:0 auto;color:#995d1b}.paper .symbol:has(.about-line-icon){display:flex;align-items:center;justify-content:center;min-height:48px}
@media(max-width:760px){.footer strong{flex-shrink:1}.footer-envelope{width:40px;height:33px}}

/* Match the proportions of the line art in the approved homepage artwork. */
.footer strong{display:inline-flex;align-items:center;gap:18px;white-space:nowrap;flex-shrink:0}
.footer-envelope{display:block;width:56px;height:42px;min-width:56px;flex:none;color:#e5b64e}
.about-line-icon{width:65px;height:50px;color:#97570f;display:block;margin:0 auto}
.paper .symbol:has(.about-line-icon){display:flex;justify-content:center;align-items:center;min-height:54px}
@media(max-width:760px){.footer strong{flex-shrink:1}.footer-envelope{width:56px;height:42px;min-width:56px}}

/* Small interaction improvements only: preserve existing layout and artwork */
.footer-envelope-link{display:inline-flex;align-items:center;justify-content:center;flex:none;color:inherit;text-decoration:none;cursor:pointer}.footer-envelope-link:hover{opacity:.82}.footer-envelope-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}.footer-envelope-link .footer-envelope{width:inherit;height:inherit}.audiobrary-mark{width:22px;height:22px;object-fit:contain;vertical-align:middle;margin-right:7px;border-radius:3px}
