/* The Fellowship of the Book: Heather Plum & Sage edition.
   Two creative signatures, one colour story.
   Body copy, interactive boxes, buttons, menus and captions all use a readable script;
   display headings use the more flourished Parisienne. External font stylesheets
   fall back gracefully to locally installed cursive faces when offline. */
:root {
  --cream: #f6f3f8;
  --paper: #fdfbff;
  --paper-dark: #ede4ef;
  --ink: #3b2b42;
  --forest: #503353;
  --forest-mid: #527763;
  --sage: #7e9e88;
  --clay: #936184;
  --gold: #c4a571;
  --muted: #655369;
  --line: #d9cadd;
  --serif: 'Parisienne','URW Chancery L','Apple Chancery',cursive;
  --sans: 'Dancing Script','Segoe Print','URW Chancery L',cursive;
  --plum: #6e486f;
  --deep-plum: #49314e;
  --heather: #e9dce9;
  --angie-green: #527761;
  --soft-sage: #e6f0e8;
}
body { font-family: var(--sans); font-size: 21px; line-height: 1.5; background: var(--cream); color: var(--ink); }
button, input, select, textarea {font-family:var(--sans)}
::selection { background: #d0b8d1; color: #2c2030; }
a:focus-visible,button:focus-visible {outline-color:#94659a}

/* The identity is unmistakably heather plum, with green reserved for Angie's artwork. */
.announcement {background:#513653;color:#fff5fe; font-family:var(--sans);font-size:15px;letter-spacing:.025em;text-transform:none;font-weight:600;min-height:43px}
.announcement-star{color:#d8c49b;font-size:15px}
.announcement-rule{background:#b698be}
.site-header{background:rgba(253,251,255,.97);border-bottom:1px solid #decfe2}
.nav-shell{min-height:95px}
.brand-mark{color:#6c496d}
.brand-small{font-size:17px;font-family:var(--sans);letter-spacing:.035em;font-weight:600}
.brand-large{font-family:var(--serif);font-style:normal;font-size:39px;letter-spacing:0;color:#6c426d}
.primary-nav a{font-family:var(--sans);font-size:18px;letter-spacing:0;text-transform:none;font-weight:600}
.primary-nav a:hover{color:#855282}
.primary-nav .nav-contact{border:1px solid #bd9fc1;background:#f5eff7;padding:9px 17px;border-radius:100px}
.nav-contact span{font-size:18px}

.hero{background:radial-gradient(ellipse 670px 500px at 8% 15%,#fffaff 0%,transparent 100%),linear-gradient(130deg,#f7f0f8,#f2ebf3 70%,#eaf0ec)}
.hero-light{background-image:radial-gradient(#ad98b3 .7px,transparent .7px);opacity:.19}
.hero-grid{min-height:675px;padding-block:66px 82px}
.eyebrow{font-family:var(--sans);font-size:16px;letter-spacing:.03em;text-transform:none;font-weight:600;color:#866188}
.eyebrow-line{width:35px}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:0}
h1{font-size:clamp(72px,6.2vw,107px);line-height:1.18;letter-spacing:0;margin:22px 0}
h1 em,h2 em{color:#976a91;font-style:normal}
.hero-intro{font-family:var(--sans);font-size:clamp(24px,2.2vw,29px);line-height:1.47;color:#5f4a65;max-width:550px}
.hero-identity{font-size:21px;line-height:1.55;color:#59495d;max-width:530px}
.hero-identity strong{color:#67416c;font-weight:700}
.hero-actions{gap:24px;margin-top:29px}
.btn{font-family:var(--sans);min-height:58px;font-size:21px;letter-spacing:0;text-transform:none;font-weight:600;border-radius:100px;padding:11px 25px}
.btn-dark{background:#69466f;color:#fffaff;box-shadow:0 8px 20px rgba(65,34,69,.13)}
.btn-dark:hover{background:#4b3150}
.btn span{font-family:var(--sans);font-size:23px}
.text-link{font-size:20px;letter-spacing:0;text-transform:none;font-weight:600;border-bottom:1px solid #b39ac0}
.text-link:hover{color:#7d507e}
.hero-footnote{font-size:16px;letter-spacing:0;text-transform:none;color:#866e8a;margin-top:46px}
.fine-star{color:#aa8bac}
.hero-paper-stage{border:1px solid #b9a2bf;background:radial-gradient(ellipse at 50% 33%,#fbf9ff 0%,#e7dcec 68%,#d8e6dc 100%);box-shadow:18px 20px 0 rgba(110,75,119,.075)}
.hero-paper-stage:before{border-color:rgba(125,96,139,.3)}
.hero-paper-stage:after{background:radial-gradient(ellipse,rgba(105,154,116,.24),transparent 72%)}
.hero-paper-frame{box-shadow:0 20px 30px rgba(58,43,63,.18),0 4px 9px rgba(58,43,63,.1);background:#fff}
.hero-stage-arc{color:#98729d}
.hero-art-seal{background:#59866d;color:#fffef9;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;line-height:1.2;box-shadow:0 5px 19px rgba(30,57,35,.2)}
.art-caption{font-size:16px;letter-spacing:0;text-transform:none;font-weight:600;color:#6a5370}
.art-caption span{color:#739a7b}
.hero-bottom-line{background:#d9cadd}.hero-bottom-line span{background:#f2edf5;color:#9d70a0}
.intro-bridge{background:#fffaff;border-bottom:1px solid #e4d7e6}
.intro-bridge p{font-family:var(--sans);font-size:clamp(23px,2.2vw,31px);color:#4b3b51}
.intro-bridge p em{color:#93648e}
.intro-flourish{color:#70967b}

/* Book feature: plum velvet, and Angie's real illustrations in the spotlight. */
.book-section{background:linear-gradient(155deg,#58365d 0%,#442c4b 74%,#3b314b 100%);color:#fff8fc}
.book-section::before{opacity:.07}
.book-halo,.book-halo::before,.book-halo::after{border-color:rgba(229,211,232,.23)}
.illustrated-book-page img{border-color:#fefbff;box-shadow:20px 24px 28px rgba(25,18,36,.28),-4px 7px 10px rgba(25,18,36,.15)}
.illustrated-book-page figcaption{font-family:var(--sans);font-size:17px;letter-spacing:0;text-transform:none;color:#e7d9ed}
.illustrated-book-page figcaption span{color:#c6dbbb}
.eyebrow-light{color:#e0c1e1}
.book-copy h2{font-size:clamp(78px,6vw,105px);line-height:1.07;letter-spacing:0}
.book-copy h2 em{color:#b6d6bd}
.book-subheading{font-family:var(--sans);font-size:33px;color:#ead7eb;font-style:normal;margin-bottom:20px}
.small-rule{background:#c7caaa}
.book-lead{font-family:var(--sans);font-size:27px;line-height:1.45;color:#fff9ff}
.book-copy p:not(.book-subheading):not(.book-lead){font-size:21px;color:#eee0ee;line-height:1.57}
.book-metadata{border-color:#977597;gap:18px;margin:24px 0 30px;padding:18px 0}
.meta-label{font-size:16px;letter-spacing:0;font-weight:600;color:#d6bcd8}
.meta-value{font-size:20px;font-weight:600;color:#fffaff}
.btn-gold{background:#d5e7d6;color:#3d5744}
.btn-gold:hover{background:#f0f9ed}

/* Distinctive creator panels: Morven in plum, Angie in the requested green. */
.creators-section{background:linear-gradient(180deg,#fcfaff 0%,#faf8fc 100%)}
.section-heading h2,.interpretation-intro h2,.news-heading h2{font-size:clamp(62px,5.5vw,92px);letter-spacing:0;line-height:1.12;margin:12px 0}
.section-heading p{font-family:var(--sans);font-size:25px;line-height:1.47;color:#65566a}
.creator-card{background:linear-gradient(155deg,#f0e2f1,#e9d8ec);border:1px solid #d1b4d3;border-radius:18px;box-shadow:0 14px 35px rgba(80,51,88,.08)}
.creator-card:nth-child(2){background:linear-gradient(155deg,#e4f0e7,#d6e6da);border-color:#a9c5b2}
.creator-card:before{border-color:rgba(125,83,135,.25);border-radius:10px}
.creator-card:nth-child(2):before{border-color:rgba(76,122,91,.26)}
.creator-card-top{font-family:var(--sans);font-size:17px;letter-spacing:0;font-weight:600;color:#77537e}
.creator-card:nth-child(2) .creator-card-top{color:#50775e}
.creator-symbol{font-family:var(--sans);color:#885c8b;font-size:36px}
.creator-card:nth-child(2) .creator-symbol{color:#668f70}
.creator-monogram{background:#e0c6e2;color:#6e4974}
.creator-monogram span{font-family:var(--serif);font-style:normal;font-size:105px}
.creator-card h3{font-family:var(--serif);font-size:clamp(52px,4.3vw,71px);color:#663f6e;letter-spacing:0;line-height:1.1}
.creator-card:nth-child(2) h3{color:#426c50}
.creator-role{font-family:var(--sans);font-size:22px;letter-spacing:0;text-transform:none;font-weight:600;color:#915e8f;margin:4px 0 18px}
.creator-card:nth-child(2) .creator-role{color:#527b60}
.creator-card p:not(.creator-role){font-family:var(--sans);font-size:21px;line-height:1.48;color:#54415a}
.creator-card:nth-child(2) p:not(.creator-role){color:#3f5e4b}
.creator-flourish{color:#a77ea9}
.creator-card:nth-child(2) .creator-flourish{color:#7c9e87}
.creator-portrait-wrap{background:#f9fcf9;border:1px solid #9db9a3;box-shadow:0 10px 25px rgba(47,83,55,.13)}
.maker-note p{font-family:var(--sans);font-size:29px;line-height:1.45;color:#57445d}
.maker-note strong{font-weight:700;color:#7f5681}
.maker-symbol{color:#83a38a}

/* The gallery keeps restrained frames: Angie's artwork remains the colourful centre. */
.artwork-section{background:linear-gradient(180deg,#e7eee9,#f0edf3);border-top:1px solid #c8d5ca;border-bottom:1px solid #d8cad9}
.artwork-link{background:#fff;border-color:#fffdfd;box-shadow:0 12px 30px rgba(59,60,60,.12)}
.artwork-link:hover{box-shadow:0 19px 38px rgba(59,60,60,.18)}
.artwork-zoom{background:rgba(66,103,80,.95);font-family:var(--sans);font-size:19px;letter-spacing:0;text-transform:none;font-weight:600;padding:6px 15px;border-radius:40px}
.artwork-index{font-family:var(--sans);font-size:17px;letter-spacing:0;font-weight:600;color:#557561}
.artwork-item strong{font-family:var(--serif);font-size:40px;line-height:1.15;font-weight:400;color:#5a4566}
.artwork-credit{font-family:var(--sans);font-size:18px;letter-spacing:0;color:#62746a}

/* Script, including the interactive story window and both reading tabs. */
.interpretation-section{background:linear-gradient(135deg,#eee7f2,#e5e9e6)}
.interpretation-intro>p{font-family:var(--sans);font-size:28px;color:#60516a;line-height:1.43}
.branch-decoration{color:#72917c}
.story-window{background:#fffaff;border:1px solid #cdb9d0;border-radius:15px;overflow:hidden;box-shadow:17px 18px 0 rgba(104,69,116,.09)}
.window-top,.window-footer{font-family:var(--sans);font-size:17px;letter-spacing:0;font-weight:600;color:#765c7e;border-color:#e5d7e7}
.window-top span:last-child{color:#83a286}
.story-tabs{border-color:#cfc2d4}
.story-tabs button{font-family:var(--sans);font-size:26px;color:#79627d;padding:12px 8px 16px}
.story-tabs button.active{color:#6a3c71}
.story-tabs button[data-tab="grown"].active{color:#487e5c}
.story-tabs button.active:after{background:#986ba2}
.story-tabs button[data-tab="grown"].active:after{background:#6a9b78}
.story-tabs button:hover{color:#90619a}
.panel-ornament{color:#82a78d}
.story-panel{min-height:310px;padding:20px 45px 24px}
.story-panel h3{font-family:var(--serif);font-size:49px;line-height:1.14;letter-spacing:0;color:#5c3f65;margin:6px 0 14px}
.story-panel p{font-family:var(--sans);font-size:22px;line-height:1.48;color:#5f5464}
.story-panel .panel-bottom{font-family:var(--sans);font-size:23px;font-style:normal;color:#588167}
.window-footer span:last-child{color:#75a27c}
.quote-band{background:#4f765f;color:#fffaf5}
.quote-spark{color:#d8c4d9}
.quote-band blockquote{font-family:var(--serif);font-size:clamp(37px,4.2vw,64px);font-style:normal;line-height:1.25}
.quote-caption{font-family:var(--sans);font-size:18px;letter-spacing:0;color:#e0efe2}

.news-section{background:#fbf9fd}
.news-heading p{font-family:var(--sans);font-size:23px;color:#645769;line-height:1.44}
.news-feature,.news-side{border-radius:15px;overflow:hidden}
.news-feature{background:linear-gradient(120deg,#e8d5eb,#f3e9f4);border-color:#d4b7d7}
.news-side{background:linear-gradient(140deg,#e5f0e8,#f7fbf7);border-color:#acc8b4}
.news-stamp{font-family:var(--sans);font-size:19px;letter-spacing:0;font-weight:600;color:#805b86;border-color:#b693ba}
.news-stamp.muted{color:#52795d;border-color:#98baa0}
.calendar-date{color:#704f76;margin:10px 0 15px;gap:24px}
.calendar-date>span{font-family:var(--serif);font-size:134px;letter-spacing:0}
.calendar-date>div{font-family:var(--sans);font-size:20px;line-height:1.3;letter-spacing:0;font-weight:600}
.calendar-date strong{font-family:var(--sans);font-size:31px;letter-spacing:0}
.news-feature h3,.news-side h3{font-family:var(--serif);font-size:45px;letter-spacing:0;color:#684670}
.news-side h3{color:#456d51;font-size:43px}
.news-feature p,.news-side p{font-family:var(--sans);font-size:22px;line-height:1.45;color:#5a4b60}
.news-side p{color:#506655}
.news-detail{font-family:var(--sans);font-size:19px;letter-spacing:0;font-weight:600;color:#805583}
.news-leaf{color:#96ba9b}
.news-side-rule{background:#c5dcca}
.contact-section{background:#fbf9fd}
.contact-card{background:linear-gradient(130deg,#57355c 10%,#50395d 60%,#42654f 135%);border:1px solid #7d6484;border-radius:20px}
.contact-ornament{color:#cdb6cd}
.contact-card h2{font-size:clamp(64px,5.8vw,94px);letter-spacing:0;line-height:1.2}
.contact-card h2 em{color:#b9dabe}
.contact-card p{font-family:var(--sans);font-size:24px;line-height:1.46;color:#f6ebf6}
.btn-outline-light{border-color:#d9c3de;color:#fffaff}
.btn-outline-light:hover{background:#735477}
.contact-bottom-decoration{color:#bddec2}
.site-footer{background:#ede6f0;border-top:1px solid #d9cadf}
.footer-icon{color:#94709b}
.footer-brand strong{font-family:var(--serif);font-size:39px;letter-spacing:0;color:#624169}
.footer-brand span:last-child{font-size:19px;color:#77617b}
.footer-links a{font-family:var(--sans);font-size:19px;letter-spacing:0;text-transform:none;font-weight:600}
.footer-legal{font-family:var(--sans);font-size:18px;line-height:1.42;color:#745d79}

/* Responsive elegance: handwritten text needs breathing space, never tiny type. */
@media(max-width:1100px){
  .primary-nav{gap:18px}
  .primary-nav a{font-size:16px;letter-spacing:0}
  .hero-grid{gap:43px}
  .artwork-item strong{font-size:35px}
}
@media(max-width:850px){
  .nav-shell{min-height:80px}
  .brand-small{font-size:15px}
  .brand-large{font-size:35px}
  .menu-toggle{border-color:#bda5c2;border-radius:9px}
  .primary-nav{background:#fdfafe;box-shadow:0 15px 30px rgba(79,47,83,.14)}
  .primary-nav a{font-size:24px;padding:10px 6px;border-bottom-color:#eadfeb}
  .hero-grid{padding-top:65px}
  .book-copy h2{font-size:87px}
  .creator-card{min-height:600px}
  .section-heading h2,.interpretation-intro h2,.news-heading h2{font-size:73px}
  .story-panel h3{font-size:48px}
}
@media(max-width:590px){
  body{font-size:19px}
  .announcement{font-size:13px;line-height:1.25;gap:7px}
  .brand-mark{width:40px}
  .brand-small{font-size:13px}
  .brand-large{font-size:30px}
  .hero-grid{padding-top:55px}
  .eyebrow{font-size:15px;letter-spacing:0}
  h1{font-size:clamp(66px,15.5vw,90px);line-height:1.18;margin:18px 0}
  .hero-intro{font-size:24px}
  .hero-identity{font-size:20px}
  .hero-actions{gap:18px}
  .btn{font-size:20px;padding:10px 20px}
  .text-link{font-size:20px}
  .hero-footnote{font-size:15px}
  .hero-paper-stage{min-height:450px}
  .hero-art-seal{font-size:11px}
  .art-caption{font-size:14px}
  .intro-bridge p{font-size:22px}
  .section-pad{padding:76px 0}
  .book-copy h2{font-size:clamp(69px,15.5vw,90px)}
  .book-subheading{font-size:30px}
  .book-lead{font-size:25px}
  .book-copy p:not(.book-subheading):not(.book-lead){font-size:20px}
  .meta-label{font-size:15px}
  .meta-value{font-size:19px}
  .illustrated-book-page figcaption{font-size:14px}
  .section-heading h2,.interpretation-intro h2,.news-heading h2{font-size:clamp(59px,13.5vw,83px)}
  .section-heading p{font-size:24px}
  .creator-card{min-height:auto;padding:30px 22px 37px}
  .creator-card h3{font-size:60px}
  .creator-role{font-size:21px}
  .creator-card p:not(.creator-role){font-size:20px}
  .creator-card-top{font-size:15px}
  .maker-note p{font-size:25px}
  .artwork-index{font-size:16px}
  .artwork-item strong{font-size:39px}
  .artwork-credit{font-size:17px}
  .interpretation-intro>p{font-size:25px}
  .story-tabs button{font-size:21px}
  .story-panel{padding:19px 19px 24px;min-height:330px}
  .story-panel h3{font-size:41px}
  .story-panel p{font-size:21px}
  .story-panel .panel-bottom{font-size:21px}
  .window-top,.window-footer{font-size:15px;padding-inline:16px;line-height:1.25}
  .quote-band blockquote{font-size:46px}
  .quote-caption{font-size:16px}
  .news-feature,.news-side{padding:32px 27px}
  .news-stamp{font-size:18px}
  .calendar-date>span{font-size:118px}
  .calendar-date>div{font-size:17px}
  .news-feature h3,.news-side h3{font-size:42px}
  .news-feature p,.news-side p{font-size:21px}
  .contact-card{padding:65px 20px 55px}
  .contact-card h2{font-size:clamp(59px,13.8vw,78px);line-height:1.17}
  .contact-card p{font-size:21px}
  .footer-brand strong{font-size:37px}
  .footer-links a{font-size:21px}
  .footer-legal{font-size:18px}
}
