@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#0b3435;--deep:#073d3d;--jade:#087c72;--gold:#eed59b;--paper:#f8f7f0;--line:#cadbd4;--muted:#496563;--radius:20px;color-scheme:light;font-family:'DM Sans',system-ui,sans-serif;font-size:18px;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.7}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--jade)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #c68a10;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;font-weight:600;letter-spacing:-.045em;line-height:1.13;margin:0 0 1.1rem}h1{font-size:clamp(2.6rem,5.6vw,5rem);max-width:1100px}h2{font-size:clamp(1.8rem,3.1vw,2.7rem)}h3{font-size:1.5rem}p{margin:0 0 1.3rem}strong{font-weight:700}figure{margin:0}figcaption{font-size:1rem;color:var(--muted)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:200}.skip:focus{top:10px}.reading-progress{position:fixed;top:0;left:0;height:3px;background:#d8aa57;z-index:100;width:var(--progress,0%)}
.site-header{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(4vw,22px);background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:800;line-height:1.3}.brand img{border-radius:50%;width:48px;height:48px}.brand-location{display:block;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:400;letter-spacing:0;margin-top:4px}.header-actions{display:flex;align-items:center;gap:28px}.header-pdf{font-size:1rem}.menu-toggle{cursor:pointer;border:1px solid var(--ink);border-radius:99px;background:transparent;padding:10px 20px;color:var(--ink);font-size:1rem}.menu-toggle span{margin-left:15px}.site-menu{position:absolute;right:3vw;top:92px;z-index:60;background:#fffef9;box-shadow:0 20px 70px #082c3233;border:1px solid var(--line);border-radius:22px;padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:5px 30px;max-width:700px}.site-menu a{padding:9px 12px;text-decoration:none;border-radius:9px}.site-menu a:hover,.site-menu a[aria-current]{background:#e6f1e8;color:var(--deep)}
.hero{width:100%;height:clamp(360px,61vw,660px);position:relative;background:#dae3d6;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-caption{position:absolute;right:22px;bottom:20px;border-radius:99px;background:#fffef5ed;color:#274e49;padding:7px 16px;font-size:.9rem;box-shadow:0 2px 20px #052e3512}.title-block{position:relative;padding:60px max(6vw,24px) 20px;max-width:1480px;margin:auto}.page-count{color:var(--muted);font-size:1rem;margin-bottom:20px;font-variant-numeric:tabular-nums}.cover-copy{padding:0 max(6vw,24px) 65px;max-width:1480px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:40px}.cover-copy h2{font-size:1.9rem}.cover-copy p{margin:0 0 .6rem}.cover-copy .actions{align-self:center}.actions{display:flex;flex-wrap:wrap;gap:14px}.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:52px;border-radius:100px;padding:14px 24px;color:#fff!important;background:linear-gradient(135deg,#12867b,#064849);box-shadow:inset 0 1px 0 #ffffff59,0 10px 25px #164f4420;text-decoration:none;font-size:1rem;line-height:1.4;border:1px solid #155954;transition:transform .2s,box-shadow .2s}.button::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,#ffffff40 49%,transparent 68%);transform:translateX(-140%);transition:transform .6s}.button:hover::before{transform:translateX(140%)}.button:hover{transform:translateY(-3px);box-shadow:0 15px 25px #164f4430}.button.secondary{background:linear-gradient(130deg,#fffef4,#edf1df);color:var(--ink)!important;border:1px solid #9ebbb0}.section-links{max-width:1350px;margin:20px auto 28px;padding:0 6vw;display:flex;gap:12px;flex-wrap:wrap}.section-links a{font-size:1rem;padding:7px 0;margin-right:22px;text-decoration:none;border-bottom:1px solid #a3beb1}.section-links a:hover{border-color:var(--jade)}
.prose-section{padding:35px 24px}.prose{max-width:820px;margin:auto;font-size:1.1rem;line-height:1.8}.prose h2{margin-top:8px;margin-bottom:24px}.prose a{color:#12655d}.prose p:last-child{margin-bottom:0}.prose-section:first-of-type .prose>p:first-child{font-size:1.25rem}.visual-break{margin:36px 0;width:100%}.visual-break img{width:100%;height:clamp(280px,43vw,580px);object-fit:cover}.visual-break figcaption{padding:14px max(6vw,24px);background:#eaf0e6}.property-section{padding:70px max(4vw,24px);background:#e5ede3;margin:40px 0}.section-intro{max-width:850px;margin-bottom:35px}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:30px}.property-grid img{border:1px solid #b8ccc0;border-radius:12px;width:100%;height:auto;aspect-ratio:auto}.property-grid figcaption{margin-top:12px}.table-wrap{overflow-x:auto;margin:32px 0;border:1px solid var(--line);border-radius:16px}table{border-collapse:collapse;width:100%;font-size:1rem}td,th{padding:22px;text-align:left;vertical-align:top}th{background:var(--deep);color:white;font-weight:600}td:first-child{font-weight:700;min-width:190px}tbody tr:nth-child(even){background:#eaf0e3}tbody tr+tr{border-top:1px solid var(--line)}
.chapter-index{padding:70px max(4vw,24px);background:var(--deep);color:white}.chapter-index>h2{max-width:1350px;margin:0 auto 40px}.chapter-grid{max-width:1350px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.chapter-card{text-decoration:none;background:#f3f5e9;color:var(--ink);border:1px solid #7da295;border-radius:var(--radius);overflow:hidden;position:relative}.chapter-card:hover{color:var(--ink)}.chapter-card img{width:100%;aspect-ratio:1.65;object-fit:cover}.chapter-card>div{padding:24px 28px 30px;position:relative}.chapter-card h3{max-width:80%;margin:14px 0 0}.chapter-number{font-size:1rem;color:var(--muted)}.card-arrow{position:absolute;right:28px;bottom:32px;font-size:1.5rem}.tilt{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .24s ease,box-shadow .24s;position:relative;will-change:auto}.tilt::after{content:'';pointer-events:none;position:absolute;inset:0;z-index:2;background:radial-gradient(400px circle at var(--mx) var(--my),#eacf8640,transparent 60%);opacity:0;transition:opacity .25s;border-radius:inherit}.tilt:hover::after,.tilt.touching::after{opacity:1}.tilt:hover{box-shadow:0 18px 40px #051e2733}.page-turns{padding:55px max(6vw,24px);display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1480px;margin:auto}.turn{display:flex;flex-direction:column;gap:14px;align-items:flex-start;justify-content:center;min-height:150px;border:1px solid #bbcfc1;border-radius:var(--radius);padding:30px;text-decoration:none;background:linear-gradient(120deg,#eff4e7,#e2ece0)}.turn span{font-size:1rem;color:var(--muted)}.turn strong{font-family:Manrope,sans-serif;font-size:1.6rem;letter-spacing:-.035em;line-height:1.25}.turn.next{align-items:flex-end;text-align:right;background:linear-gradient(130deg,#0b6863,#073b3d);color:#fff}.turn.next span{color:#d9e9df}.site-footer{background:#062f31;color:#edf1df;padding:60px max(6vw,24px) 35px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.site-footer a:hover{color:var(--gold)}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-brand{font-family:Manrope,sans-serif;font-size:1.8rem;text-decoration:none}.site-footer p{margin:18px 0}.footer-note{grid-column:1/-1;border-top:1px solid #315958;padding-top:24px;font-size:.95rem;color:#c4d9ce}.to-top{position:fixed;z-index:45;bottom:24px;right:24px;background:linear-gradient(140deg,#f8e8b1,#d2b275);color:#183f3c;width:50px;height:50px;display:grid;place-items:center;border:1px solid #ffedc2;border-radius:50%;box-shadow:0 5px 20px #153f393b;text-decoration:none;font-size:1.4rem}
.reference-entry{padding:24px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.reference-entry:first-child{padding-top:0}.reference-entry:target{background:#f5edca;box-shadow:0 0 0 14px #f5edca}.reference-entry strong .citation{color:inherit;text-decoration:none}.library-invitation{padding:60px max(6vw,24px);background:#e4ece0;margin-top:35px}.library-invitation p{max-width:800px}.library-intro{padding:0 max(6vw,24px) 25px;max-width:1480px;margin:auto}.library-intro>p{max-width:850px}.library-tools{margin-top:45px;max-width:800px}.library-tools label{display:block;font-weight:700;margin-bottom:12px}.library-tools input{width:100%;padding:18px 22px;background:white;border:1px solid #8baea2;border-radius:14px;color:var(--ink);font-size:1rem}.library-tools p{font-size:1rem;color:var(--muted);margin-top:12px}.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:10px max(6vw,24px) 50px;max-width:1550px;margin:auto}.document-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fffefa;display:flex;align-items:flex-start;flex-direction:column}.document-card h2{font-size:1.35rem;line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere;margin:20px 0 30px}.document-card .button{margin-top:auto}.format{font-size:1rem;color:var(--muted)}.text-link{margin-top:16px;font-size:1rem}.no-results{text-align:center;margin:40px}.licence-page{padding:80px 24px;max-width:900px}.licence-page h1{font-size:3.2rem}.licence-page h2{margin-top:45px}.licence-page li{margin-bottom:12px}
@media(min-width:1500px){.hero{height:720px}.hero>img{object-position:center 48%}}
@media(max-width:1000px){.chapter-grid,.document-grid{grid-template-columns:repeat(2,1fr)}.cover-copy{grid-template-columns:1fr}.cover-copy .actions{margin-top:0}.prose{font-size:1.05rem}}
@media(max-width:620px){:root{font-size:17px}.site-header{padding:16px;gap:12px}.brand{font-size:.95rem;gap:10px}.brand img{width:40px;height:40px}.brand-location{font-size:.8rem}.header-pdf{display:none}.menu-toggle{font-size:.9rem;padding:8px 13px}.menu-toggle span{margin-left:8px}.site-menu{top:85px;left:12px;right:12px;grid-template-columns:1fr;max-height:75vh;overflow:auto;padding:16px}.site-menu a{font-size:1rem;padding:8px 12px}.hero{height:350px}.hero>img{object-position:50% 50%}.hero-caption{font-size:.8rem;right:14px;bottom:14px;padding:5px 12px}.title-block{padding-top:36px}.title-block h1{font-size:2.5rem}.page-count{margin-bottom:16px}.cover-copy{padding-bottom:45px;gap:24px}.cover-copy h2{font-size:1.5rem}.actions{flex-direction:column;align-items:flex-start}.section-links{padding:0 24px;gap:5px;margin-bottom:14px}.section-links a{font-size:.95rem;margin-right:12px}.prose-section{padding:26px 24px}.prose{font-size:1.05rem;line-height:1.75}.prose h2{font-size:1.8rem}.visual-break{margin:24px 0}.visual-break img{height:300px}.visual-break figcaption{font-size:.95rem}.property-section{padding:40px 24px}.property-grid{grid-template-columns:1fr}.chapter-grid,.document-grid{grid-template-columns:1fr}.chapter-index{padding:45px 24px}.chapter-card img{aspect-ratio:1.65}.page-turns{padding:35px 24px;grid-template-columns:1fr;gap:16px}.turn{min-height:125px;padding:24px}.turn strong{font-size:1.45rem}.site-footer{grid-template-columns:1fr;padding:45px 24px 70px}.footer-note{grid-column:auto}.to-top{right:16px;bottom:16px}.library-intro{padding-bottom:5px}.document-grid{padding-top:15px}.library-tools input{font-size:1rem}.licence-page h1{font-size:2.4rem}.table-wrap{overflow:visible;border:none}table,tbody,tr,td{display:block}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}tbody tr{padding:14px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;background:#edf2e6}td{padding:8px 10px}td:first-child{font-size:1.15rem}tbody tr+tr{border-top:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.tilt{transform:none!important}.button:hover{transform:none}.reading-progress{display:none}}
@media print{.site-header,.site-menu,.hero,.visual-break,.page-turns,.site-footer,.to-top,.section-links,.chapter-index,.actions{display:none!important}body{background:white;color:black}.prose-section,.title-block{padding:10px 0}.prose{max-width:none;font-size:11pt}.title-block h1{font-size:24pt}h2{font-size:18pt}.prose a{color:black}}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:35px max(6vw,24px) 65px;max-width:1480px;margin:auto}.related-card{text-decoration:none;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fffef7}.related-card>img{width:100%;aspect-ratio:1.7;object-fit:cover}.related-card>div{padding:30px}.related-card h2{font-size:1.8rem}.related-card p{font-size:1rem}.related-card span{font-size:1rem;color:var(--jade)}@media(max-width:620px){.related-grid{grid-template-columns:1fr}.related-card>div{padding:24px}}
.hero{height:clamp(350px,46vw,600px)}.title-block{margin-top:-82px;width:88%;background:var(--paper);border-radius:24px 24px 0 0;padding:36px 36px 20px;z-index:3}.hero-caption{bottom:100px}.cover-copy{padding-top:5px}@media(min-width:1500px){.hero{height:660px}}@media(max-width:620px){.hero{height:350px}.title-block{width:calc(100% - 32px);margin-top:-28px;padding:26px 8px 16px;border-radius:16px 16px 0 0}.hero-caption{bottom:40px}.title-block h1{font-size:2.35rem}}
@media(min-width:621px) and (max-width:1499px){.hero{height:clamp(400px,36vw,600px)}}
.licence-page{overflow-wrap:anywhere}
.source-archive{max-width:1120px;margin:35px auto;padding:35px max(24px,4vw);scroll-margin-top:30px}.source-archive>p{max-width:820px}.source-list{padding-left:1.5rem;margin:28px 0}.source-list li{padding:16px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.source-list a{font-size:1.05rem}.source-format{display:block;color:var(--muted);font-size:1rem;margin-top:5px}.development-history h2:not(:first-child){margin-top:55px}.source-archive:target{background:#eef2e5;border-radius:20px}
