:root{--ink:#242720;--muted:#66685d;--paper:#fbfaf4;--gold:#eee293;--line:#d8d8c9;--accent:#505a35;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.75 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,audio:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;font-weight:400;letter-spacing:-.025em}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(40px,5vw,68px);margin-bottom:24px}h2{font-size:clamp(29px,3vw,42px)}h3{font-size:24px}p{margin-bottom:1.35em}.skip{position:fixed;z-index:5;top:8px;left:8px;background:var(--ink);color:white;padding:8px 16px;transform:translateY(-150%)}.skip:focus{transform:none}.site-header{max-width:var(--max);margin:auto;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:21px;line-height:1.25;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}.brand span{display:block;font-size:13px;letter-spacing:.04em;color:var(--muted);margin-top:5px}.site-header nav{display:flex;gap:30px;flex-wrap:wrap}.site-header nav a{font-size:15px;text-decoration:none;line-height:1.5;padding:8px 0;border-bottom:1px solid transparent}.site-header nav a[aria-current]{border-color:var(--ink)}.site-footer{max-width:var(--max);margin:0 auto;padding:30px 0;display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.site-footer span{margin-right:auto}.hero{max-width:var(--max);margin:48px auto 0;display:grid;grid-template-columns:1.12fr 1fr;align-items:stretch;background:var(--gold)}.hero-image img{width:100%;height:100%;min-height:480px;object-fit:cover;object-position:right center}.hero-copy{padding:48px 42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-size:clamp(40px,4.5vw,62px);margin-bottom:30px}.hero h1 span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:25px;letter-spacing:0;margin-top:18px}.disciplines{font-size:18px;line-height:1.85;margin-bottom:32px}.button{padding:12px 20px;background:var(--ink);color:var(--paper);font-size:15px;text-decoration:none;display:inline-flex;gap:28px;align-items:center}.button:hover{background:var(--accent);color:white}.samples{max-width:var(--max);margin:90px auto}.section-intro{margin-bottom:44px}.section-intro h2{margin-bottom:12px}.section-intro p{color:var(--muted);font-size:16px}.sample{padding:38px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:300px 1fr;gap:54px;align-items:center}.sample-image{background:#f0eedf;overflow:hidden}.sample-image img{width:100%;height:230px;object-fit:cover;transition:transform .2s}.sample-image:hover img{transform:scale(1.025)}.sample:nth-of-type(3) .sample-image img{object-fit:contain;background:#e5e6d4}.sample-copy{max-width:620px}.genre{font-size:13px;color:var(--muted);margin-bottom:12px;letter-spacing:.015em}.sample h3{font-family:Georgia,'Times New Roman',serif;font-size:35px;margin-bottom:10px}.sample h3 a{text-decoration:none}.sample-copy>p:not(.genre){font-size:16px;color:var(--muted);margin-bottom:20px}audio{display:block;width:100%;height:44px;margin:20px 0 22px}.text-link{font-size:15px;display:inline-flex;align-items:center;gap:24px}.contact-line{max-width:var(--max);margin:0 auto 70px;padding:34px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line)}.contact-line h2{font-size:32px;margin:0}.reading{max-width:780px;margin:76px auto 100px;padding:0 20px}.page-title{margin-bottom:42px;padding-bottom:30px;border-bottom:1px solid var(--line)}.lead{font-size:22px;line-height:1.6}.page-title .lead{margin-bottom:0}.prose{overflow-wrap:break-word}.prose p{margin-bottom:1.4em}.prose h2{font-size:29px;margin-top:2em;margin-bottom:22px}.prose h3{font-size:22px;margin-top:1.5em;margin-bottom:16px}.prose h2 strong,.prose h3 strong{font-weight:inherit}.prose>h2:first-child{margin-top:0}.prose a{overflow-wrap:anywhere}.prose ul,.prose ol{padding-left:1.4em;margin-bottom:28px}.prose li{margin:7px 0}.prose img{margin:32px auto}.prose blockquote{margin:30px 0;border-left:2px solid var(--gold);padding-left:24px}.table-scroll{max-width:100%;overflow-x:auto;margin:28px 0 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:590px;font-size:15px;line-height:1.55}td,th{text-align:left;vertical-align:top;padding:14px 15px;border-bottom:1px solid var(--line);width:33.333%}th{font-weight:600;background:#f1efdd}tr:last-child td{border-bottom:0}.dialogue{margin:32px 0;padding-top:10px}.dialogue p{font-size:17px;line-height:1.7;margin-bottom:18px}.dialogue strong{font-weight:600}.back-link{display:inline-block;font-size:14px;margin-bottom:35px}.sample-page .page-title h1{margin-bottom:16px}.byline{font-size:16px;color:var(--muted);margin-bottom:28px}.contact-page{max-width:var(--max);margin:76px auto 100px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-page img{aspect-ratio:4/5;object-fit:cover;object-position:52% center}.contact-page address{font-style:normal;margin-top:35px;line-height:1.9}.contact-page address a{display:block;font-size:22px;margin-top:10px}.contact-page address a:first-of-type{margin-top:24px}
@media(max-width:1240px){.site-header,.site-footer,.hero,.samples,.contact-line,.contact-page{margin-left:30px;margin-right:30px}.hero-copy{padding:36px 30px}.hero-image img{min-height:460px}.contact-page{gap:45px}}
@media(max-width:720px){body{font-size:17px}.site-header{padding:22px 0 15px;display:block}.site-header,.site-footer,.hero,.samples,.contact-line,.contact-page{margin-left:20px;margin-right:20px}.site-header nav{gap:10px 22px;margin-top:22px}.site-header nav a{font-size:14px;padding:6px 0}.hero{margin-top:25px;grid-template-columns:1fr}.hero-image img{height:auto;min-height:0;aspect-ratio:3/2;object-position:right center}.hero-copy{padding:30px 25px 35px}.hero h1{font-size:43px;margin-bottom:22px}.hero h1 span{font-size:23px;margin-top:12px}.disciplines{font-size:17px;margin-bottom:25px}.samples{margin-top:58px;margin-bottom:46px}.section-intro{margin-bottom:24px}.section-intro h2{font-size:33px}.sample{grid-template-columns:1fr;gap:25px;padding:28px 0 32px}.sample-image img{height:210px}.sample h3{font-size:32px}.contact-line{display:block;margin-bottom:35px;padding-top:25px}.contact-line h2{font-size:29px;margin-bottom:18px}.site-footer{flex-wrap:wrap;gap:10px 20px;padding:24px 0}.site-footer span{width:100%;margin-right:0}.reading{margin-top:45px;margin-bottom:60px;padding:0 22px}.page-title{margin-bottom:30px;padding-bottom:22px}.lead{font-size:20px}.prose h2{font-size:27px}.contact-page{margin-top:42px;margin-bottom:55px;grid-template-columns:1fr;gap:35px}.contact-page img{aspect-ratio:3/2}.contact-page address a{font-size:20px}.back-link{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.about-summary{max-width:780px;margin:40px auto 0;padding:0 22px;color:var(--muted);font-size:17px}.about-summary p{margin-bottom:0}.home .samples{margin-top:60px}
/* Persistent navigation, accessible audio controls and direct contact. */
[hidden]{display:none!important}.header-wrap{position:sticky;top:0;z-index:50;background:var(--paper)}html{scroll-padding-top:120px}.skip{z-index:100}.audio-player{margin:24px 0 26px;background:#eeeedf;border:1px solid #d9dcca;padding:22px 24px}.player-controls{display:grid;grid-template-columns:72px minmax(0,1fr) 48px;align-items:center;gap:22px}.player-toggle,.player-stop{appearance:none;display:grid;place-items:center;border:0;cursor:pointer;font:inherit}.player-toggle{width:72px;height:72px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:26px}.player-toggle:hover{background:var(--accent)}.play-symbol{margin-left:4px}.pause-symbol{display:none;letter-spacing:-4px;margin-left:-4px}.is-playing .play-symbol{display:none}.is-playing .pause-symbol{display:block}.player-stop{width:48px;height:48px;background:transparent;border:1px solid #aeb49a;border-radius:50%;color:var(--ink);font-size:16px}.player-stop:hover{background:#d8ddc9}.player-track{min-width:0}.player-caption{display:block;font-size:14px;font-weight:600;line-height:1.4}.player-seek{--progress:0%;display:block;appearance:none;width:100%;margin:2px 0;height:34px;background:transparent;cursor:pointer;touch-action:pan-y}.player-seek::-webkit-slider-runnable-track{height:7px;border-radius:8px;background:linear-gradient(to right,var(--accent) var(--progress),#c7cdb9 var(--progress))}.player-seek::-moz-range-track{height:7px;border-radius:8px;background:#c7cdb9}.player-seek::-moz-range-progress{height:7px;background:var(--accent)}.player-seek::-webkit-slider-thumb{appearance:none;height:20px;width:20px;margin-top:-6.5px;border-radius:50%;background:var(--accent);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--accent)}.player-seek::-moz-range-thumb{height:15px;width:15px;border-radius:50%;background:var(--accent);border:3px solid var(--paper)}.player-seek:disabled{opacity:.45;cursor:wait}.player-times{display:flex;justify-content:space-between;font-size:12px;line-height:1.3;font-variant-numeric:tabular-nums;color:#505644}.player-message{font-size:14px;line-height:1.5;margin:14px 0 0}.detail-image{width:100%;height:auto;max-height:340px;object-fit:contain;background:#eeeedf;margin:28px 0}.site-footer{display:block}.footer-contact{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:28px}.contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;font:15px/1.5 Arial,Helvetica,sans-serif;text-decoration:none;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.contact-button:hover{background:var(--ink);color:var(--paper)}.footer-meta{display:flex;gap:25px;flex-wrap:wrap;align-items:center}.footer-meta>span{margin-right:auto}.contact-page .email-reveal{display:block;margin-top:24px}.contact-page address .contact-button{display:inline-flex;margin-top:0;font-size:17px}
@media(max-width:720px){html{scroll-padding-top:164px}.site-header{padding:14px 0 10px}.site-header nav{margin-top:12px}.audio-player{padding:18px 16px}.player-controls{grid-template-columns:62px minmax(0,1fr) 48px;gap:12px}.player-toggle{width:62px;height:62px;font-size:23px}.player-stop{width:48px;height:48px}.player-caption{font-size:13px}.player-seek{height:40px}.detail-image{max-height:260px;margin:24px 0}.footer-contact{align-items:stretch;gap:12px}.footer-contact>a,.footer-contact>.email-reveal{flex:1 1 200px}.footer-contact .contact-button{width:100%}.footer-meta{gap:10px 20px}.footer-meta>span{width:100%}}
@media(max-width:360px){.player-controls{grid-template-columns:54px minmax(0,1fr) 44px;gap:8px}.player-toggle{height:54px;width:54px}.player-stop{height:44px;width:44px}.audio-player{padding:16px 12px}}
.sample-page{margin-top:45px}.sample-page .back-link{margin-bottom:24px}.sample-page .detail-image{max-height:240px}.player-seek:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:720px){.sample-page .detail-image{max-height:220px}}
@media(max-width:360px){html{scroll-padding-top:210px}}

/* Give the project enquiry a distinct, prominent close. */
.contact-line{background:var(--gold);border-top:0;padding:40px 42px;gap:32px}.contact-line .button{flex-shrink:0;min-height:52px;font-size:16px}.contact-line h2{line-height:1.2}
@media(max-width:720px){.contact-line{padding:30px 25px;margin-top:36px;margin-bottom:35px}.contact-line h2{margin-bottom:24px}.contact-line .button{justify-content:space-between;max-width:100%;width:100%}}
/* Footer: identity, useful navigation and protected contact details. */
.footer-shell{background:var(--ink);color:var(--paper);margin-top:0}.footer-shell .site-footer{max-width:var(--max);margin:0 auto;padding:56px 0 24px;border:0;color:var(--paper);font-size:15px}.site-footer span{margin-right:0}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:70px;padding-bottom:44px}.footer-brand{font-family:Georgia,'Times New Roman',serif;font-size:36px;letter-spacing:-.035em;line-height:1.2;text-decoration:none;display:inline-block;margin-bottom:12px}.footer-description{font-size:15px;color:#d1d4c5;margin-bottom:25px}.footer-identity address{font-size:15px;font-style:normal;line-height:1.8;color:#d1d4c5}.footer-heading{font:600 15px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;margin:0 0 18px;color:var(--gold)}.footer-navigation ul{list-style:none;padding:0;margin:0}.footer-navigation li{margin:0 0 7px}.footer-navigation a,.footer-social{color:var(--paper);font-size:15px;text-decoration:none}.footer-navigation a{display:inline-block;padding:3px 0}.footer-shell a:hover{color:var(--gold)}.footer-connect .footer-contact{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0;max-width:300px}.footer-connect .email-reveal{display:block;flex:none;margin:0}.footer-connect .contact-button{width:100%;border-color:#929783;color:var(--paper);background:transparent;font-size:14px;padding:12px 16px;min-height:48px;justify-content:flex-start}.footer-connect .contact-button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}.footer-social{display:inline-block;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #535747;padding-top:22px;color:#c2c6b6;font-size:13px}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:24px}.footer-bottom a{text-decoration:none}.footer-shell :focus-visible{outline-color:var(--gold)}
@media(max-width:1240px){.footer-shell .site-footer{margin:0 30px}.footer-grid{gap:40px}}
@media(max-width:850px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-identity{grid-column:1/-1}.footer-brand{font-size:34px}.footer-description{margin-bottom:18px}}
@media(max-width:600px){.footer-shell .site-footer{margin:0 20px;padding:38px 0 24px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:32px}.footer-brand{font-size:32px}.footer-identity{grid-column:auto}.footer-navigation ul{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-heading{margin-bottom:12px}.footer-connect .footer-contact{max-width:none}.footer-bottom{display:block;padding-top:20px}.footer-bottom nav{margin-top:14px;gap:22px}}
