/* A warm palette and an illustrated landscape connect nature with sound. */
:root{--navy:#183f39;--ink:#193d35;--muted:#63766d;--silver:#cad5cd;--paper:#faf9f3;--line:#dbe2d7;--gold:#b98942}body{background:var(--paper)}em{color:#708c71}.brandmark{color:#7b9c81}.hero-copy .eyebrow>span{background:#ba8a49}.hero-copy .eyebrow{color:#6b856d}.button{background:var(--navy);border-radius:3px}.button:hover{background:#2e6152}.nav-contact{border-color:#a8bdb0;border-radius:3px}.hero-art{background:#223e35;isolation:isolate}.hero-art .art-grid,.hero-art .orb,.hero-art .orbit{display:none}.hero-art:before{content:'';position:absolute;inset:0;background:url('nature-sound.svg') center/cover no-repeat;z-index:-1}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 73%,#15362b90)}.art-caption{z-index:1;color:#e2eadc}.hero-foot{color:#7f886f}.projects h2 em{color:#90854e}.filters button.selected{background:#234f40}.card-art{border-radius:3px}.music-art{background:radial-gradient(ellipse at 15% 15%,#789b67,#2f6048 40%,#173c32)}.music-art:before{content:'';position:absolute;width:160px;height:210px;left:-80px;top:25px;border:1px solid #b9cca155;box-shadow:15px 0 0 -1px #799369,30px 0 0 -1px #5f805d;border-radius:50%;transform:rotate(-35deg)}.vinyl:after{background:linear-gradient(145deg,#e2c17c,#ba8950);border-color:#c6a668;color:#304e3b}.film-art{background:linear-gradient(145deg,#c8d7ca,#849c80)}.cinema{border-color:#203e35;background:linear-gradient(#b39a70,#e5d2a0)}.sun{background:#f3dda2}.mountain{background:#315e47;box-shadow:90px -10px 0 #6f8c62}.books-art{background:linear-gradient(130deg,#eee1bf,#d5bb8a)}.book-front{background:#3d5c50;color:#f2e8cf;border-left-color:#6b8b73}.book-back{background:#bc8766}.poetry-art{background:linear-gradient(125deg,#e5c9ba,#efe1d6)}.poetry-quote{color:#7b5550}.poetry-art:after{content:'';position:absolute;width:90px;height:150px;border:1px solid #9a6e6244;border-radius:100% 0 100% 0;right:15px;top:48px;transform:rotate(18deg)}.ideas-art{background:radial-gradient(circle at 40% 30%,#99b5b1,#456f71 65%,#355759)}.idea-ring{border-color:#ddc287;box-shadow:inset 10px 8px 14px #4c6e58,15px 23px 25px #243e3970}.star{color:#bc9454}.project-card:hover h3{color:#78844a}.collection-number{color:#8e8055}.status{background:#edf0e5;color:#607449;border-color:#dde4d2}.about{background:linear-gradient(115deg,#1b4237,#305344)}.about .eyebrow{color:#c7c6a4}.about em{color:#d1ba81}.about p{color:#c0d1c3}.about .large-copy{color:#f0eddf}.signature span{color:#b2c6b5}.social h2 em{color:#568d85}.social-list>div{border-color:#d8e3d8}.contact h2 em{color:#a17b49}.contact-note a{font-size:16px;color:#2d5c48;border-bottom:1px solid #a5b7a7}.contact .form-hint{color:#697567}input,textarea{background:#fffef9;border-color:#d2dccf;border-radius:3px}input:focus,textarea:focus{border-color:#789c7b}.contact-note{font-size:13px}.contact .form-hint a{text-decoration:underline}.honey-field{position:absolute;left:-9999px;opacity:0}.social-list a{color:#315e47}.social-list a:hover{text-decoration:underline}.contact-note a{overflow-wrap:anywhere}.contact #form-status{color:#365c43}.hero-art{transition:transform .6s ease}.hero-art:hover{transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.hero-art:hover{transform:none}}

/* Requested image replacements retain the original frame dimensions. */
.hero-art:before,.hero-art:after,.music-art:before,.poetry-art:after{display:none}
.hero-image,.project-image{display:block;width:100%;height:100%;object-fit:cover}
.hero-image{object-position:32% center}
.art-index{z-index:1;color:#fff!important;text-shadow:0 1px 4px #000}
h1 em{white-space:normal}

/* Logo, contact emphasis, and requested reading refinements. */
.brand-logo{display:block;width:64px;height:44px;object-fit:contain;background:#050505;border-radius:3px;margin-right:12px;flex-shrink:0}
nav a.active:after{display:none}
nav .nav-contact{background:#234f40;color:#fff;border-color:#234f40}
nav .nav-contact:hover{background:#2e6152;color:#fff}
.about p{line-height:1.6;margin-bottom:12px}
.about .large-copy{margin-bottom:16px}
.about .signature{margin-top:16px;padding-top:16px}
footer .brand-logo{width:52px;height:36px}
@media(max-width:390px){header .brand{font-size:15px}header .brand-logo{width:36px;height:32px;margin-right:8px}}

/* Equal section gutters and a centered Home divider. */
main{--section-space:65px}
main>section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.hero-copy{padding-top:0}
.hero:after{content:"";position:absolute;bottom:0;left:56px;right:56px;height:1px;background:var(--line)}
.about-logo{display:block;width:100%;max-width:360px;height:auto;aspect-ratio:3/2;object-fit:cover;margin-top:30px;border-radius:3px}
@media(max-width:1050px){.hero:after{left:32px;right:32px}}
@media(max-width:760px){main{--section-space:44px}.hero:after{left:23px;right:23px}}
main>section.about{padding-top:var(--section-space);padding-bottom:var(--section-space)}
main>section.hero{padding-top:var(--section-space);padding-bottom:var(--section-space)}

/* Persistent navigation and numbered section labels. */
header{position:sticky;top:0;z-index:20;background:var(--paper)}
nav{gap:22px}nav .nav-number{font-size:10px;letter-spacing:.6px;margin-right:7px;opacity:.65;font-variant-numeric:tabular-nums}
nav .nav-contact .nav-number{margin-left:0;margin-right:7px}
.eyebrow>.section-number{width:auto;height:auto;border-radius:0;background:none;color:var(--gold);font-size:10px;letter-spacing:.5px;font-variant-numeric:tabular-nums}
.hero-copy .eyebrow>.section-number{background:none}
.about .section-number{color:#d1ba81}
.about .signature{border-top:0;padding-top:0}
@media(max-width:1120px) and (min-width:761px){header{padding-left:24px;padding-right:24px}.brand{font-size:17px}nav{gap:13px;font-size:12px}.nav-contact{padding:10px 12px}.nav-contact>span:last-child{margin-left:8px}}
@media(max-width:760px){header{overflow:visible}.eyebrow>.section-number{font-size:9px}nav{max-height:calc(100dvh - 80px);overflow-y:auto}}
.about .signature{margin-top:24px}
/* Divide projects from collections without changing section gutters. */
.projects{position:relative}
.projects:after{content:"";position:absolute;bottom:0;left:56px;right:56px;height:1px;background:var(--line)}
.collection:last-child{border-bottom:0}
@media(max-width:1050px){.projects:after{left:32px;right:32px}}
@media(max-width:760px){.projects:after{left:23px;right:23px}}

/* Project destinations and expanded information section. */
.projects:after{display:none}
.social-list>a{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.social-list>a>span:last-child{margin-left:auto}
.social-list svg,.social-icons svg{width:24px;height:24px;flex-shrink:0}
.social-list>a:hover{color:#568d85}
footer.info{display:block;padding-top:65px;padding-bottom:65px;min-height:0}
.info-content{display:flex;align-items:center;justify-content:space-between;gap:40px}
.info-brand img{display:block;width:280px;max-width:100%;height:auto;border-radius:3px}
nav.social-icons{position:static;display:flex;flex-direction:row;gap:16px;box-shadow:none;padding:0;background:transparent;max-height:none;overflow:visible}
.social-icons>a{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--ink)}
.social-icons>a:hover{color:white;background:var(--navy);border-color:var(--navy)}
.project-back{margin-bottom:28px}
.project-page .hero{align-items:center}
.project-work h2{margin-bottom:30px}
.empty-projects{padding:32px;border:1px solid var(--line);border-radius:3px}
.project-page-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:35px;font-size:14px}
.project-page-links a:hover{text-decoration:underline}
@media(max-width:760px){footer.info{padding-top:44px;padding-bottom:44px}.info-content{flex-direction:column;align-items:flex-start;gap:30px}.info-brand img{width:240px}}

/* Retain clearer branding, social buttons, and School cards with the original palette. */
header{border-bottom:0}
header .brand{font-size:23px;letter-spacing:-.7px}
header .brand-logo{width:82px;height:55px;margin-right:14px}
#navigation>a:not(.nav-contact){color:#000}
.hero-copy p{color:#000}
.social-list>a{background:#234f40;color:#fff;padding:17px 20px;margin-bottom:12px;border:0;border-radius:4px}
.social-list>a:hover{background:#2e6152;color:#fff}
.social-list svg{width:28px;height:28px}
.social-icons>a{width:54px;height:54px;background:#234f40;color:#fff;border-color:#234f40}
.social-icons>a:hover{background:#2e6152;color:#fff;border-color:#2e6152}
footer.info .eyebrow{color:var(--ink);font-size:11px;font-weight:600;letter-spacing:2px;margin-bottom:23px;align-self:flex-start;width:100%;text-align:left}
.info-content{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}
.info-brand{grid-column:1;grid-row:1;justify-self:start}
.info-brand img{width:82px;height:55px;object-fit:contain;background:#050505;border-radius:3px}
.info-copyright{grid-column:2;grid-row:1;justify-self:center;text-align:center;font-size:13px;color:var(--muted)}
.info-content .social-icons{grid-column:3;grid-row:1;justify-self:end}
.project-back{display:inline-flex;align-items:center;justify-content:center;min-width:158px;min-height:47px;padding:11px 19px;font-size:14px;font-weight:400;line-height:1.65;color:#fff;background:#234f40;border:1px solid #234f40;border-radius:3px;gap:18px}
.project-back:hover{background:#2e6152;border-color:#2e6152}
.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.school-card{padding:30px;background:#fffdf5;border:1px solid #c7c9ad;border-radius:4px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 5px 18px #123f3308}
.school-index{font-size:10px;letter-spacing:1.5px;color:#755324;display:block;margin-bottom:15px;font-weight:600}
.school-card h3{margin-bottom:12px}.school-card p{font-size:15px;margin-bottom:24px}.school-card .button{margin-top:auto}
.school-card small{font-size:11px;color:#4e6555;margin-top:12px}
.current-projects{padding-top:55px;margin-top:45px;border-top:1px solid var(--line)}
.current-projects h3{margin-bottom:24px}.current-projects>p{padding:24px;background:#e0e8d8;border-radius:4px}

@media(max-width:1120px) and (min-width:761px){header .brand{font-size:20px}header .brand-logo{width:66px;height:46px;margin-right:10px}.info-brand img{width:66px;height:46px}}
@media(max-width:760px){header .brand{font-size:18px}header .brand-logo{width:50px;height:40px;margin-right:9px}.info-brand img{width:50px;height:40px}.info-content{grid-template-columns:1fr;gap:26px}.info-brand,.info-copyright,.info-content .social-icons{grid-column:1;grid-row:auto}.info-brand{justify-self:start}.info-content .social-icons{justify-self:start}.info-copyright{justify-self:center}.school-grid{grid-template-columns:1fr}.school-card{padding:25px}}
@media(max-width:360px){header .brand{font-size:15px}header .brand-logo{width:42px;height:35px;margin-right:7px}.info-brand img{width:42px;height:35px}}
.hero-copy>.project-back{display:inline-flex;width:158px}

@media(max-width:760px){footer.info .eyebrow{font-size:9px;letter-spacing:1.6px}}

/* Keep the full navigation band silver grey, including while scrolling. */
header{background:#e3e5e4}
header::before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:#e3e5e4;z-index:-1;pointer-events:none}
@media(max-width:760px){header #navigation{background:#e3e5e4}}

.social-list{align-self:end}.social-list>a:last-child{margin-bottom:0}
.info-content{grid-template-columns:minmax(82px,1fr) minmax(0,2fr) minmax(264px,1fr)}
@media(max-width:760px){.info-content{grid-template-columns:minmax(0,1fr)}}

.album-grid{margin-bottom:32px}.song-lyrics{white-space:pre-wrap;font-size:16px;line-height:1.8;margin-bottom:30px;overflow-wrap:anywhere}


/* Prevent the full-width sticky navigation background from adding horizontal scroll. */
html{overflow-x:clip}

/* Responsive reading and touch layouts for phones and tablets. */
.hero-copy,.hero-art,.about-grid>div,.social>div,.contact>div,.contact form,.school-card{min-width:0}
h1,h2,h3,.brand,.info-copyright{overflow-wrap:break-word}
.school-card .button{max-width:100%;white-space:normal}
@media(max-width:1024px){
 header{height:80px;padding:0 24px}
 html{scroll-padding-top:96px}
 header .brand{font-size:20px}
 header .brand-logo{width:60px;height:44px;margin-right:10px}
 header .menu{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid #bac4bd;border-radius:3px;background:transparent;font-size:14px;color:var(--ink)}
 header #navigation{display:none;position:absolute;top:80px;left:0;right:0;padding:16px 24px;flex-direction:column;align-items:stretch;gap:6px;background:#e3e5e4;box-shadow:0 16px 25px #10213312;max-height:calc(100dvh - 80px);overflow-y:auto;font-size:16px}
 header #navigation.open{display:flex}
 header #navigation>a{display:flex;align-items:center;min-height:48px;padding:10px 14px}
 header #navigation .nav-contact{justify-content:space-between;margin-top:6px}
 .hero{grid-template-columns:minmax(0,1fr);gap:28px}
 .hero-art{height:auto;aspect-ratio:16/9;margin-top:0;max-width:100%}
 .hero-image{object-fit:contain;object-position:center}
 .hero h1{font-size:clamp(34px,5.2vw,48px);letter-spacing:-1px}
 .hero-copy p{font-size:16px}
 .about-grid,.social,.contact{gap:32px}
 .info-content{grid-template-columns:minmax(0,1fr) auto;gap:24px}
 .info-brand{grid-column:1;grid-row:1}
 .info-content .social-icons{grid-column:2;grid-row:1}
 .info-copyright{grid-column:1/-1;grid-row:2;max-width:650px}
 input,textarea{font-size:16px;min-height:48px}
 .button{min-height:48px}
 .song-lyrics{line-height:1.85}
}
@media(max-width:900px){
 .about-grid,.social,.contact{grid-template-columns:minmax(0,1fr)}
 .social-list{align-self:auto}
 .about-logo{max-width:360px}
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .about h2{font-size:clamp(32px,5vw,42px)}
}
@media(max-width:600px){
 header{padding:0 18px}
 header .brand{font-size:18px}
 header .brand-logo{width:50px;height:40px;margin-right:9px}
 .wrap{padding-left:22px;padding-right:22px}
 main{--section-space:36px}
 .hero h1{font-size:clamp(30px,8.8vw,38px);line-height:1.22;letter-spacing:-.8px}
 .hero-copy p{line-height:1.75}
 .hero-art{margin-top:0}
 .project-grid,.school-grid,.form-row{grid-template-columns:minmax(0,1fr)}
 .form-row{gap:0}
 .card-art{height:auto;aspect-ratio:3/2}
 .section-head>p[aria-hidden]{display:none}
 .section-head{margin-bottom:24px}
 .project-card p,.about p,.school-card p{font-size:16px}
 .school-card{padding:24px}
 h3{font-size:25px}
 .social-list>a{min-height:56px}
 .info-content{grid-template-columns:minmax(0,1fr)}
 .info-brand,.info-copyright,.info-content .social-icons{grid-column:1;grid-row:auto;justify-self:start}
 .info-copyright{justify-self:center}
 nav.social-icons{flex-wrap:wrap;gap:12px}
 .contact-note a{font-size:15px}
 footer.info{padding-top:36px;padding-bottom:36px}
}
@media(max-width:360px){
 header{padding:0 14px}
 header .brand{font-size:16px}
 header .brand-logo{width:42px;height:35px;margin-right:7px}
 header .menu{padding:8px 10px;gap:6px}
}
@media(hover:none){.hero-art:hover{transform:none}}


.music-library>.project-back{margin-top:0;margin-bottom:28px}.music-library>h1{margin-bottom:30px}

