/* Full landing stylesheet restored */
/* Clean reverted + quotes + book banner + enhanced nav */

:root {
	margin:0;
	background-color: #f0f8f5; /* flat light mint base */
	/* Paper grid texture: two faint line layers + soft vignette */
	background-image:
		linear-gradient(rgba(84,114,97,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(84,114,97,0.035) 1px, transparent 1px),
		radial-gradient(circle at 50% 50%, rgba(255,255,255,0.48) 0%, rgba(240,248,245,0.36) 60%, rgba(240,248,245,0.22) 100%);
	background-size: 42px 42px, 42px 42px, 100% 100%;
	background-attachment: fixed;
	min-height: 100vh;
	color: var(--ink);
	-webkit-font-smoothing: antialiased;
	--radius: 18px;
	--shadow-sm: 0 4px 12px -6px rgba(70,52,35,0.25);
	--shadow-lg: 0 26px 52px -28px rgba(70,52,35,0.45);
	scroll-behavior: smooth;
	font-family:"Source Sans 3",system-ui,sans-serif;
}

@keyframes gridDrift {
	0% { background-position:0 0, 0 0, 0 0; }
	50% { background-position:10px 8px, -8px 6px, 0 0; }
	100% { background-position:0 0, 0 0, 0 0; }
}

/* Apply very slow ambient drift (disabled for reduced motion) */
:root { animation: gridDrift 120s linear infinite; }
@media (prefers-reduced-motion:reduce){ :root { animation:none; } }

/* Parallax preparation */
.hero-bg { will-change: transform; transition: transform 60ms linear; }

:root {
	--bg: #e8f0e6;
	--bg-dark: #d4e3d1;
	--bg-warm: #c8dcc4;
	--bg-cool: #d9e8e3;
	--surface: #ffffff;
	--surface-warm: #f0f8f5;
	--surface-cool: #e8f5f0;
	--surface-mid: #dcebd8;
	/* Added missing token used by buttons & about wrapper */
	--surface-soft: #f9fcfb;
	--ink: #2f2a24;
	--ink-soft: #5e564e;
	--accent: #6b8e72;
	--accent-alt: #547261;
	--accent-fade: rgba(107,142,114,0.16);
	--accent-green: #6b8e72;
	--accent-green-dark: #547261;
	--accent-green-light: #8ba895;
	--accent-green-fade: rgba(107,142,114,0.16);
	--accent-forest: #3d5a4a;
	--border: rgba(84,114,97,0.2);
	--nav-grad-start: rgba(255,255,255,0.92);
	--nav-grad-end: rgba(240,248,245,0.88);
	--nav-stripe-1: #547261;
	--nav-stripe-2: #6b8e72;
	--nav-stripe-3: #8ba895;
	--link-pill-start: #e8f5f0;
	--link-pill-end: #dcebd8;
	--hero-shell: #547261;
	--hero-grad-start: #547261;
	--hero-grad-mid: #6b8e72;
	--hero-grad-end: #7a9880;
	--hero-title: #f0f8f5;
	--hero-muted: #d4e3d1;
	--hero-body: #e8f0e6;
	--quote-surface: #f0f8f5;
	--quote-border: rgba(107,142,114,.35);
	--quote-text: #3d5a4a;
	--unit-card-a: #eef6f3;
	--unit-card-b: #f2f9f6;
	--unit-card-c: #f2f9f6;
	--unit-card-d: #f3faf7;
	--unit-card-disabled: #f5f9f7;
	--panel-surface: #cddcd4;
	--panel-overview: #eaf3ef;
	--panel-methodology: #e6f1ed;
	--panel-title: #3d5a4a;
	--panel-text: #2f2a24;
	--book-grad-start: #547261;
	--book-grad-end: #6b8e72;
	--book-border: rgba(84,114,97,0.5);
	--book-title: #f0f8f5;
	--book-subtitle: #d4e3d1;
	--book-meta: #c8dcc4;
	--book-rule: #d4e3d1;
	--radius: 18px;
	--shadow-sm: 0 4px 12px -6px rgba(70,82,75,0.25);
	--shadow-lg: 0 26px 52px -28px rgba(70,82,75,0.45);
	scroll-behavior: smooth;
	font-family:"Source Sans 3",system-ui,sans-serif;
}

* { box-sizing: border-box; }
body { 
	margin:0; 
	/* Use flat textured background defined on :root for consistency */
	background: transparent;
	min-height: 100vh;
	color:var(--ink); 
	-webkit-font-smoothing:antialiased;
}
html { scroll-padding-top:68px; }

/* Navigation (enhanced) */
.top-nav { position:sticky; top:0; z-index:60; backdrop-filter: blur(18px); background: linear-gradient(125deg, var(--nav-grad-start), var(--nav-grad-end)); border-bottom:1px solid var(--border); transition: background 340ms ease, box-shadow 340ms ease; }
.top-nav::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--nav-stripe-1),var(--nav-stripe-2),var(--nav-stripe-3)); opacity:.65; }
.top-nav::after { content:""; position:absolute; left:0; bottom:0; height:2px; width:100%; background:linear-gradient(90deg,rgba(107,142,114,0) 0%,rgba(107,142,114,.5) 50%,rgba(107,142,114,0) 100%); background-size:220% 100%; animation: navGlow 14s linear infinite; }
@keyframes navGlow { 0% { background-position:0 50%; } 50% { background-position:100% 50%; } 100% { background-position:0 50%; } }
.top-nav.nav-scrolled { box-shadow:0 6px 22px -10px rgba(70,52,35,.28); }
.nav-inner { max-width:1240px; margin:0 auto; display:flex; align-items:center; gap:2.5rem; padding:.65rem 4vw; }
.brand { font-family:"Cormorant Garamond","EB Garamond",serif; font-size:1.25rem; text-decoration:none; font-weight:600; letter-spacing:.02em; color:var(--accent-alt); }
.nav-links { list-style:none; margin:0; padding:0; display:flex; gap:1.6rem; flex-wrap:wrap; }
.nav-links a { text-decoration:none; color:var(--ink-soft); font-size:.8rem; letter-spacing:.09em; text-transform:uppercase; font-weight:600; padding:.45rem .75rem; border-radius:999px; position:relative; transition: color 160ms, background-color 220ms; }
.nav-links a::after { content:""; position:absolute; left:0; right:0; bottom:.2rem; height:2px; background:linear-gradient(90deg,#6b8e72,#8ba895,#6b8e72); transform:scaleX(0); transform-origin:left; transition:transform 220ms ease; }
.nav-links a:hover, .nav-links a:focus { background:linear-gradient(135deg,var(--link-pill-start),var(--link-pill-end)); color:var(--accent-alt); }
.nav-links a:focus { outline:2px solid var(--accent-green-dark); outline-offset:2px; }
.top-nav.nav-scrolled .nav-links a::after { height:0; background:none; }
.ui-toggle { margin-left:auto; border:1px solid var(--border); background:var(--surface-soft); color:var(--ink-soft); border-radius:999px; padding:.48rem .9rem; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; cursor:pointer; transition:background 180ms ease,color 180ms ease,border-color 180ms ease; }
.ui-toggle:hover, .ui-toggle:focus { background:linear-gradient(135deg,var(--link-pill-start),var(--link-pill-end)); color:var(--accent-alt); border-color:var(--accent-green); }
.ui-panel { position:absolute; right:4vw; top:calc(100% + .55rem); z-index:80; width:210px; background:var(--surface-soft); border:1px solid var(--border); border-radius:14px; box-shadow:0 16px 30px -20px rgba(70,82,75,.45); padding:.75rem .85rem .8rem; display:grid; gap:.55rem; }
.ui-option { font-size:.76rem; color:var(--ink-soft); display:flex; align-items:center; gap:.45rem; }
.ui-option input { accent-color:var(--accent-green-dark); }
.ui-reset { margin-top:.35rem; border:1px solid var(--border); border-radius:999px; background:#fff; color:var(--ink-soft); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; padding:.4rem .65rem; cursor:pointer; }
.ui-reset:hover, .ui-reset:focus { border-color:var(--accent-green); color:var(--accent-alt); }

/* Hero */
.site-header .hero { position:relative; overflow:hidden; background: var(--hero-shell); }
.hero-bg { 
	position:absolute; 
	inset:0; 
	opacity:.85;
	background: linear-gradient(135deg, var(--hero-grad-start) 0%, var(--hero-grad-mid) 50%, var(--hero-grad-end) 100%);
}
.hero-bg svg {
	opacity: 0.3;
	fill: #ffffff;
}
.hero-inner { position:relative; z-index:1; max-width:1240px; margin:0 auto; padding:4.5rem 4vw 3.4rem; display:grid; gap:3.5rem; grid-template-columns: minmax(300px, 580px) minmax(320px, 1fr); align-items:flex-start; }
.hero-text h1 { margin:0; font-family:"Cormorant Garamond","EB Garamond",serif; font-size:clamp(2.9rem,5.4vw,4.1rem); letter-spacing:.02em; color:var(--hero-title); font-weight:600; }
.tagline { margin:.85rem 0 1.15rem; font-size:1.25rem; color:var(--hero-muted); font-weight:500; font-family:"Source Serif 4","Merriweather",Georgia,serif; letter-spacing:.015em; }
.hero-paragraph { margin:0 0 1.6rem; line-height:1.68; font-size:1.02rem; color:var(--hero-body); max-width:640px; font-family:"Source Serif 4","Merriweather",Georgia,serif; font-weight:400; letter-spacing:.01em; }
.hero-actions { display:flex; gap:.9rem; flex-wrap:wrap; }
.btn { --btn-bg:var(--surface-soft); --btn-color:var(--ink); text-decoration:none; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; padding:.8rem 1.25rem .75rem; border:1px solid var(--border); border-radius:999px; background:var(--btn-bg); color:var(--btn-color); transition: background 200ms, color 200ms, border-color 200ms; }
.btn.primary { --btn-bg:var(--accent-alt); --btn-color:#fff; border-color:var(--accent-alt); }
.btn.ghost:hover { background:var(--accent-green-fade); border-color:var(--accent-green); }
.btn.primary:hover { background:#3d5a4a; }
.btn:focus { outline:2px solid var(--accent-green-dark); outline-offset:3px; }

/* Quotes panel (rotating) */
.hero-quotes { 
	position:relative; 
	min-height:230px; 
	padding:1.6rem 1.8rem 3.2rem; 
	background: var(--quote-surface);
	backdrop-filter:blur(8px); 
	border:1px solid var(--quote-border); 
	border-radius:28px; 
	box-shadow:0 14px 40px -24px rgba(70,82,75,.35), var(--shadow-sm); 
	overflow:hidden;
}
.hero-quotes .hq { position:absolute; inset:1.6rem 1.8rem 3.2rem; margin:0; opacity:0; transform:translateY(14px); transition:opacity 620ms cubic-bezier(.25,.7,.3,1), transform 620ms cubic-bezier(.25,.7,.3,1); display:flex; align-items:flex-start; }
.hero-quotes .hq.active { opacity:1; transform:translateY(0); }
.hero-quotes .hq p { margin:0; font-size:.95rem; line-height:1.6; font-style:italic; color:var(--quote-text); }
.quote-indicators { position:absolute; left:50%; bottom:1.1rem; transform:translateX(-50%); display:flex; gap:.55rem; }
.quote-dot { --size:14px; width:var(--size); height:var(--size); border-radius:50%; background:rgba(107,142,114,.22); position:relative; overflow:hidden; cursor:pointer; }
.quote-dot.active { background:linear-gradient(135deg,#8ba895,#6b8e72); box-shadow:0 0 0 3px rgba(107,142,114,.22); }
.quote-dot::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,#8ba895,#6b8e72); transform:scaleX(0); transform-origin:left; opacity:.85; }
.quote-dot.progress::after { animation:quoteProgress var(--quote-interval,8s) linear forwards; }
@keyframes quoteProgress { to { transform:scaleX(1); } }

/* Sections */
.landing-main { max-width:1180px; margin:0 auto; padding:0 4vw 3.8rem; position: relative; }
.units-showcase { margin-top:3.6rem; }
.units-showcase h2 { margin:0 0 .75rem; font-family:"EB Garamond","Cormorant Garamond",serif; font-size:2.2rem; color:var(--accent-alt); font-weight:600; }
.units-lead { margin:0 0 2.2rem; max-width:760px; font-size:.95rem; line-height:1.6; color:var(--ink-soft); }
.units-grid { display:grid; gap:1.9rem; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }

.unit-card { 
	position:relative; 
	display:flex; 
	flex-direction:column; 
	gap:.55rem; 
	background: var(--surface);
	border:1px solid var(--border); 
	padding:1.3rem 1.25rem 1.2rem; 
	border-radius:var(--radius); 
	text-decoration:none; 
	color:inherit; 
	box-shadow:var(--shadow-sm); 
	transition: transform 220ms ease, box-shadow 240ms ease, border-color 220ms ease, background-color 220ms ease; 
	overflow:hidden;
}
.unit-card:nth-child(4n+1) { background: var(--unit-card-a); }
.unit-card:nth-child(4n+2) { background: var(--unit-card-b); }
.unit-card:nth-child(4n+3) { background: var(--unit-card-c); }
.unit-card:nth-child(4n+4) { background: var(--unit-card-d); }
.unit-card.disabled { background:var(--unit-card-disabled); }
.unit-card::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(107,142,114,0.08), rgba(255,255,255,0)); opacity:0; transition:opacity 220ms ease; }
.unit-card:hover::after { opacity:1; }
.unit-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--accent-green); }
.unit-card.disabled { cursor:default; opacity:.55; transform:none; box-shadow:none; }
.unit-icon { font-size:1.05rem; font-weight:600; letter-spacing:.12em; color:var(--accent-green); }
.unit-card h3 { margin:0; font-family:"Cormorant Garamond",serif; font-size:1.35rem; font-weight:600; }
.unit-card p { margin:0; font-size:.82rem; line-height:1.4; color:var(--ink-soft); flex:1; }
.card-arrow { position:absolute; bottom:.85rem; right:.95rem; font-size:1.35rem; color:var(--accent-green); transition:transform 210ms ease; }
.unit-card:hover .card-arrow { transform:translateX(6px); }

.panel-lite { 
	margin-top:3.8rem; 
	background: var(--panel-surface);
	border:1px solid rgba(84,114,97,0.4); 
	border-radius:20px; 
	padding:1.9rem 2.1rem; 
	box-shadow:var(--shadow-sm);
	position: relative;
	overflow: hidden;
}
.overview.panel-lite { background:var(--panel-overview); }
.methodology.panel-lite { background:var(--panel-methodology); }
.panel-lite h2 { margin:0 0 1rem; font-family:"EB Garamond","Cormorant Garamond",serif; font-size:1.7rem; color:var(--panel-title); font-weight:600; }
.panel-lite p { margin:0; font-size:.92rem; line-height:1.6; color:var(--panel-text); max-width:820px; }

.overview-quote { font-style:italic; }

.book-banner { 
	margin-top:4rem; 
	background: linear-gradient(140deg, var(--book-grad-start) 0%, var(--book-grad-end) 100%);
	border:1px solid var(--book-border); 
	border-radius:34px; 
	padding:2.8rem 3.1rem 2.7rem; 
	box-shadow:0 18px 42px -24px rgba(70,52,35,.38), var(--shadow-sm); 
	position:relative; 
	overflow:hidden; 
	isolation:isolate;
}
.book-banner-frame { max-width:980px; margin:0 auto; text-align:center; position:relative; }
.book-title-xl { margin:0 0 1.4rem; font-family:"EB Garamond","Cormorant Garamond",serif; font-weight:600; line-height:1.18; letter-spacing:.02em; color:var(--book-title); }
.book-title-xl .title-line { display:block; font-size:clamp(2.1rem,4.8vw,3.15rem); position:relative; }
.book-title-xl .title-line::after { content:""; position:absolute; left:50%; bottom:-0.55rem; width:60%; height:3px; background:var(--book-rule); transform:translateX(-50%) scaleX(.3); transform-origin:center; transition:transform 900ms cubic-bezier(.25,.7,.3,1); }
.book-banner:hover .book-title-xl .title-line::after { transform:translateX(-50%) scaleX(1); }
.book-title-xl .subtitle-line { display:block; font-size:clamp(1rem,1.9vw,1.35rem); font-weight:500; letter-spacing:.045em; color:var(--book-subtitle); margin-top:.85rem; }
.book-credit { margin:0 0 1.6rem; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--book-meta); font-weight:600; }
.author-name { display:inline-block; margin-left:.55em; font-family:"Cormorant Garamond",serif; font-size:.95rem; letter-spacing:.08em; text-transform:none; color:var(--book-title); }
.ornamental-rule { display:flex; gap:10px; justify-content:center; }
.ornamental-rule span { width:38px; height:4px; background:var(--book-rule); border-radius:3px; opacity:.75; animation:barWave 6.5s linear infinite; }
.ornamental-rule span:nth-child(2){ animation-delay:1.2s; }
.ornamental-rule span:nth-child(3){ animation-delay:2.4s; }
@keyframes barWave { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);} }

.contact-section { margin-top:3rem; }
.contact-section p + p { margin-top:.85rem; }

body.ui-compact .hero-inner { padding:3.6rem 4vw 2.8rem; gap:2.3rem; }
body.ui-compact .landing-main { max-width:1060px; }
body.ui-compact .units-showcase { margin-top:2.6rem; }
body.ui-compact .units-grid { gap:1.2rem; }
body.ui-compact .panel-lite { margin-top:2.7rem; padding:1.45rem 1.55rem; }
body.ui-compact .about-main { padding:2rem 4vw 2.8rem; }
body.ui-compact .about-wrapper { padding:1.6rem 1.8rem; }

body.ui-accent .top-nav::before { opacity:.95; }
body.ui-accent .unit-card { border-color:rgba(84,114,97,.34); box-shadow:0 14px 24px -18px rgba(70,82,75,.6), var(--shadow-sm); }
body.ui-accent .panel-lite { border-color:rgba(84,114,97,.55); }
body.ui-accent .book-banner { border-color:rgba(84,114,97,.75); }
body.ui-accent .btn.primary { background:linear-gradient(135deg,#3d5a4a,#6b8e72); border-color:#3d5a4a; }

@keyframes uiFloat {
	0%, 100% { transform:translateY(0); }
	50% { transform:translateY(-7px); }
}
body.ui-motion .hero-bg { animation:uiFloat 16s ease-in-out infinite; }
body.ui-motion .unit-card { transition:transform 260ms ease, box-shadow 260ms ease, border-color 220ms ease, background-color 220ms ease; }
body.ui-motion .unit-card:hover { transform:translateY(-10px) scale(1.01); }
body.ui-motion .book-banner:hover .ornamental-rule span { animation-duration:2.2s; }

/* Scroll reveal animation states */
.reveal-init { opacity:0; transform:translateY(18px) scale(.975); }
.reveal-in { opacity:1; transform:translateY(0) scale(1); transition:opacity 640ms cubic-bezier(.25,.7,.3,1), transform 640ms cubic-bezier(.25,.7,.3,1); }
@media (prefers-reduced-motion:reduce){ .reveal-init, .reveal-in { opacity:1; transform:none; transition:none; } }

.footer-note { text-align:center; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); padding:2.2rem 0 2.8rem; margin-top:1rem; }

/* Fade animation */
.fade-section { opacity:0; transform:translateY(18px); transition:opacity 480ms cubic-bezier(.25,.7,.3,1), transform 520ms cubic-bezier(.25,.7,.3,1); }
.fade-section.in-view { opacity:1; transform:translateY(0); }

/* Responsive */
@media (max-width:1100px){ .hero-inner { grid-template-columns:1fr; } .hero-quotes { min-height:250px; margin-top:.4rem; } .book-banner { padding:2.1rem 1.6rem 2.0rem; } .book-title-xl .title-line::after { bottom:-0.45rem; } }
@media (max-width:760px){ .nav-inner { gap:.9rem; } .nav-links { gap:1rem; } .ui-toggle { width:100%; margin-left:0; } .ui-panel { position:static; width:100%; } .hero-paragraph { font-size:.95rem; } .units-grid { gap:1.2rem; } .unit-card { padding:1.1rem 1rem 1rem; } .panel-lite { padding:1.5rem 1.4rem; } .hero-quotes { padding:1.4rem 1.4rem 3.1rem; } .hero-quotes .hq { inset:1.4rem 1.4rem 3.1rem; } }
@media (prefers-reduced-motion:reduce){ .fade-section { opacity:1 !important; transform:none !important; transition:none !important; } .quote-dot.progress::after { animation:none !important; transform:scaleX(1); } .ornamental-rule span { animation:none; } }

/* About page (unchanged) */
.about-main { max-width:1180px; margin:0 auto; padding:3.2rem 4vw 3.8rem; }
.about-wrapper { display:grid; gap:3rem; grid-template-columns:minmax(240px,300px) minmax(300px,1fr); background:var(--surface-soft); border:1px solid var(--border); border-radius:24px; padding:2.4rem 2.6rem; box-shadow:var(--shadow-sm); }
.about-wrapper-simple { grid-template-columns:1fr; max-width:760px; margin:0 auto; }
.profile-photo { margin:0; display:flex; align-items:center; justify-content:center; background:#dcebd8; border:1px solid var(--border); border-radius:18px; height:320px; overflow:hidden; box-shadow:var(--shadow-sm); }
.profile-photo img { width:100%; height:100%; object-fit:cover; }
.about-title { margin:0 0 1.2rem; font-family:"Cormorant Garamond","EB Garamond",serif; font-size:2.3rem; color:var(--accent-alt); font-weight:600; }
.author-content p { margin:0 0 1.1rem; font-size:.92rem; line-height:1.7; color:var(--ink-soft); }
@media (max-width:900px){ .about-wrapper { grid-template-columns:1fr; padding:2rem 1.6rem; gap:2rem; } .profile-photo { height:240px; } }
