@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{--paper:#faf4ea;--ink:#302820;--muted:#6e6259;--accent:#284f3e;--line:#d9ccbd;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{padding:29px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font-family:var(--serif);font-size:30px;letter-spacing:-1.2px;font-weight:bold}.wordmark span{display:block;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:2.4px;font-weight:500;margin-top:7px}nav{display:flex;gap:36px;font-size:14px}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--accent)}.hero{padding:51px 5% 0}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600;margin:0 0 28px}h1{font-family:'Manrope',sans-serif;font-weight:500;font-size:clamp(46px,6.3vw,100px);letter-spacing:-5px;line-height:1.08;margin:0}em{font-family:var(--serif);font-weight:400;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:24px 0 38px}.hero-bottom p{color:var(--muted);line-height:1.6;margin:0}.solid{display:inline-block;background:var(--accent);color:var(--paper);padding:17px 28px;font-size:14px;border:1px solid var(--accent)}.solid:hover{background:#19392c}.hero-image{position:relative;height:clamp(300px,43vw,650px);overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;bottom:22px;left:25px;font-size:12px;color:white;background:#211b16c7;padding:9px 13px;letter-spacing:.3px}.intro-strip{margin:0 5%;display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.intro-strip p{margin:0}.section{padding:100px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}h2{font-family:'Manrope',sans-serif;font-size:clamp(36px,4.2vw,64px);font-weight:500;letter-spacing:-2.5px;line-height:1.15;margin:0}.section-heading>p{color:var(--muted);line-height:1.6;margin-bottom:5px}.work-controls{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:35px}.medium{display:flex;gap:22px}.medium button{font-size:22px;padding:8px 0;background:none;border:0;color:var(--muted);border-bottom:2px solid transparent}.medium button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.medium span{font-size:12px;vertical-align:super;margin-left:4px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{background:none;border:1px solid transparent;padding:9px 12px;color:var(--muted);font-size:14px}.filters button[aria-pressed=true]{border-color:var(--line);background:#eee2d4;color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 25px}.card{background:transparent;border:0;padding:0;text-align:left;display:block;color:var(--ink);width:100%}.thumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:#e4d5c4}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover img{transform:scale(1.035)}.card .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.play svg{width:52px;height:52px;padding:16px;background:#faf4eaf0;border-radius:50%;color:var(--ink)}.card-caption{display:flex;justify-content:space-between;gap:12px;padding-top:13px}.card-caption strong{font-weight:500;line-height:1.4;font-size:17px}.card-caption span{font-size:12px;color:var(--muted);white-space:nowrap;padding-top:3px}.gallery.photographs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:25px}.photographs .thumb{aspect-ratio:4/5}.photographs .card:nth-child(3n+2){margin-top:50px}.load-row{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:45px}.outline{background:none;border:1px solid var(--accent);color:var(--accent);padding:14px 24px;font-size:14px}.outline:hover{background:var(--accent);color:var(--paper)}#showing{font-size:13px;color:var(--muted)}.about{background:#eadcc9;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.portrait{position:relative}.portrait img{width:100%;display:block;max-height:630px;object-fit:cover;object-position:center 35%}.portrait-note{display:block;font-family:var(--serif);font-style:italic;font-size:16px;padding:17px 0 0;color:var(--muted)}.about-copy h2{margin-bottom:32px}.about-copy>p:not(.eyebrow){color:#594b3f;line-height:1.8;max-width:490px}.about-copy .aside{font-family:var(--serif);font-size:20px;font-style:italic;margin-top:25px}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:6px;color:var(--accent);font-size:14px;margin-top:15px}.contact{background:#283f35;color:var(--paper)}.contact .eyebrow{color:#cedcc2}.contact em{color:#d3debc}.contact-layout{display:flex;gap:40px;justify-content:space-between;align-items:end}.contact-layout p{line-height:1.7;color:#e3e7d9;margin-top:0}.contact-email{display:block;font-size:clamp(16px,2vw,28px);font-family:var(--serif);border-bottom:1px solid #98ac8f;padding-bottom:10px;overflow-wrap:anywhere}.phone{display:block;margin-top:20px;font-size:14px;color:#e3e7d9}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px 5%;flex-wrap:wrap}footer .wordmark{font-size:23px}footer>div{display:flex;gap:24px;font-size:14px}footer p{font-size:12px;color:var(--muted)}dialog{border:0;padding:24px;background:#211d19;color:var(--paper);width:min(1100px,95vw);max-height:95dvh}dialog::backdrop{background:#130e0ee8}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px}.viewer-bar h2{font-size:20px;letter-spacing:0;line-height:1.4}.viewer-bar button,.viewer-footer button{background:none;color:var(--paper);border:1px solid #75675b;padding:10px 15px}.viewer-footer{display:flex;justify-content:space-between;margin-top:18px;font-size:14px}.viewer-footer a{border-bottom:1px solid #75675b;align-self:center;padding-bottom:4px}#viewer-content img{max-width:100%;max-height:70dvh;display:block;object-fit:contain;margin:auto}#viewer-content iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.skip{position:absolute;top:-100px;left:20px;background:var(--paper);z-index:10;padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1600px){header,.hero,.section,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:800px){header{padding:24px 5%}.wordmark{font-size:24px}nav{gap:18px;font-size:13px}.hero{padding-top:36px}h1{letter-spacing:-2.7px}.section{padding-top:65px;padding-bottom:65px}.section-heading>p{max-width:200px;font-size:14px}.work-controls{align-items:start;flex-direction:column;gap:15px}.about{gap:6%}.about-copy h2{font-size:38px;letter-spacing:-1.5px}.contact-layout{align-items:start;flex-direction:column}.contact-layout h2{font-size:52px}.gallery.photographs{gap:15px}.card-caption{flex-direction:column;gap:2px}.card-caption strong{font-size:16px}.card-caption span{font-size:12px}.photographs .card:nth-child(3n+2){margin-top:25px}}@media(max-width:560px){header{align-items:start}.wordmark{font-size:23px}.wordmark span{font-size:9px;letter-spacing:1.7px}nav{gap:12px;font-size:12px;flex-wrap:wrap;justify-content:end;max-width:150px}.eyebrow{font-size:11px;letter-spacing:1.2px;margin-bottom:23px}h1{font-size:44px;letter-spacing:-2.5px}.hero-bottom{align-items:start;flex-direction:column;gap:22px}.hero-bottom p{font-size:16px}.hero-image{height:330px}.image-label{left:14px;bottom:14px;font-size:11px}.intro-strip{gap:15px;font-size:12px;padding:17px 0}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:22px;font-size:16px}.section-heading>p br{display:none}h2{font-size:40px;letter-spacing:-1.8px}.medium button{font-size:21px}.filters{gap:3px}.filters button{padding:9px 8px;font-size:13px}.gallery{grid-template-columns:1fr;gap:30px}.gallery.photographs{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}.photographs .card:nth-child(3n+2){margin-top:0}.photographs .card:nth-child(even){margin-top:25px}.photographs .card-caption strong{font-size:14px}.photographs .card-caption span{display:none}.about{grid-template-columns:1fr;gap:45px}.portrait img{max-height:480px;object-position:center 25%}.about-copy h2{font-size:42px}.contact-layout h2{font-size:44px}.contact-email{font-size:22px}footer{display:block}footer>div{margin-top:25px}footer p{margin-top:25px}.load-row{gap:15px;flex-direction:column}dialog{padding:15px}.viewer-bar h2{font-size:16px}.viewer-bar button{font-size:13px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.thumb img{transition:none}}
.music{border-top:1px solid var(--line)}.music-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.music-card{padding:38px;border:1px solid var(--line);display:flex;flex-direction:column;min-height:280px;align-items:start;background:#efe3d3}.music-card:nth-child(2){background:transparent}.music-card .eyebrow{color:var(--accent);margin-bottom:35px}.music-card h3{font-family:var(--serif);font-size:38px;font-weight:400;letter-spacing:-1px;margin:0 0 15px;line-height:1.15}.music-card p{max-width:380px;line-height:1.65;color:var(--muted)}.music-card .music-note{margin-top:auto;padding-top:22px;font-size:13px;color:var(--accent)}.track{width:100%;border-top:1px solid var(--line);padding:15px 0}.track h4{font-weight:500;margin:0 0 12px}.track audio{width:100%;display:block;max-width:100%}.track a{display:inline-block;font-size:14px;border-bottom:1px solid var(--accent);padding-bottom:4px;margin-top:12px}.track p{margin-top:0;font-size:14px}@media(max-width:560px){.music-grid{grid-template-columns:1fr}.music-card{padding:28px;min-height:240px}.music-card h3{font-size:33px}nav{max-width:180px;gap:8px 12px}}

.gallery:not(.photographs) .card:first-child{grid-column:1/-1}.gallery:not(.photographs) .card:first-child .thumb{aspect-ratio:2/1}.gallery:not(.photographs) .card:first-child .card-caption strong{font-size:24px}.art{background:#eee4d6;border-top:1px solid var(--line)}.art-intro{border-top:1px solid #cebeaa;display:flex;justify-content:space-between;gap:25px;padding:30px 0 0;align-items:baseline}.art-intro p{font-family:var(--serif);font-size:26px;margin:0}.art-intro span{font-size:14px;color:var(--muted)}.art-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.art-gallery:empty{display:none}.art-gallery .thumb{aspect-ratio:auto}.art-gallery .thumb img{display:block;height:auto;object-fit:contain}.wordmark span{font-size:10px;letter-spacing:1.5px}@media(max-width:800px){nav{gap:18px}.art-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){nav{gap:8px 12px;max-width:180px}.wordmark span{font-size:8px;letter-spacing:1px}.gallery:not(.photographs) .card:first-child .thumb{aspect-ratio:16/9}.gallery:not(.photographs) .card:first-child .card-caption strong{font-size:20px}.art-intro{flex-direction:column;gap:15px}.art-gallery{grid-template-columns:1fr}.intro-strip{font-size:11px}}

.music-card.singles{grid-column:1/-1;background:transparent}.music-card.album{grid-column:1/-1;min-height:auto;background:#efe3d3}.singles>p:not(.eyebrow){max-width:none}.track-list{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 36px;margin-top:22px}.track-list:empty{display:none}.track{padding:23px 0;min-width:0}.track-heading{display:grid;grid-template-columns:24px 1fr auto;align-items:start;gap:10px;margin-bottom:15px;min-height:44px}.track-heading h4{font-size:16px;line-height:1.45;margin:0}.track-number,.track-duration{font-size:12px;color:var(--muted);line-height:1.8;font-variant-numeric:tabular-nums}.track audio{height:44px;accent-color:var(--accent)}@media(max-width:700px){.track-list{grid-template-columns:1fr;gap:0}.track-heading{min-height:0}.music-card.singles{padding-left:0;padding-right:0;border-left:0;border-right:0}.track-heading h4{font-size:16px}}
/* Separate portfolio pages and square-cover listening gallery. */
header{flex-wrap:wrap}nav{gap:25px}nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent)}body:not([data-page=home]) main>.section{min-height:calc(100dvh - 235px);padding-top:65px}body:not([data-page=home]) h1{font-size:clamp(40px,5vw,74px);letter-spacing:-3px;line-height:1.13}.home-explore{padding-top:75px}.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.explore-card{position:relative;min-height:270px;background:#283f35;color:var(--paper);padding:25px;display:flex;align-items:end;overflow:hidden}.explore-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.explore-card:has(img):after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#17211cba)}.explore-card>span:not(.explore-kicker){position:relative;z-index:1;font-family:var(--serif);font-size:36px}.explore-kicker{position:absolute;top:26px;left:25px;z-index:1;font-size:12px;letter-spacing:1.5px}.explore-card:hover img{transform:scale(1.03)}.text-explore{background:#e8dccb;color:var(--ink)}.music-explore{background:#284f3e}.music-explore:has(img) .explore-kicker{text-shadow:0 1px 5px #000}.music-card.singles{padding:0;border:0}.song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px;width:100%;margin:28px 0 50px}.song-card{min-width:0}.song-cover{width:100%;aspect-ratio:1;position:relative;display:block;padding:0;border:0;background:#dfd4c4;overflow:hidden}.song-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.song-cover:hover img{transform:scale(1.03)}.song-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.song-play svg{height:66px;width:66px;padding:21px;color:var(--paper);background:#19392ce8;border-radius:50%;box-shadow:0 3px 20px #0003}.song-cover.is-playing .song-play svg{background:var(--paper);color:var(--accent)}.song-card h4{font-size:17px;font-weight:500;line-height:1.5;margin:15px 0 0}.music-card.album .song-grid:empty{display:none}.music-player{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#283f35;color:var(--paper);padding:18px 4%;display:grid;grid-template-columns:1fr minmax(250px,480px) auto;align-items:center;gap:25px;box-shadow:0 -4px 24px #0002}.now-playing span{font-size:10px;letter-spacing:1.5px;display:block;margin-bottom:5px;color:#c9d4bd}.now-playing strong{font-size:14px;font-weight:500;line-height:1.4;display:block}.music-player audio{width:100%;height:42px}.music-player>button{background:none;color:var(--paper);border:1px solid #8ba28e;padding:10px 14px;font-size:13px}.music-player>p{grid-column:1/-1;font-size:14px;margin:0}.player-open{padding-bottom:115px}.music-card.album{margin-top:20px}@media(min-width:1450px){.song-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:950px){nav{gap:18px;font-size:13px}.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-player{grid-template-columns:1fr auto;gap:12px}.music-player audio{grid-row:2;grid-column:1/-1}.music-player>button{grid-column:2;grid-row:1}.player-open{padding-bottom:155px}}@media(max-width:700px){.song-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 17px}.song-play svg{height:55px;width:55px;padding:17px}.song-card h4{font-size:15px}.song-grid{margin-top:25px}.explore-card{min-height:225px}header{gap:20px}nav{width:100%;max-width:none;justify-content:space-between;gap:9px;font-size:12px}.wordmark{font-size:26px}body:not([data-page=home]) h1{letter-spacing:-2px}.music-card.singles h3{font-size:31px}}@media(max-width:400px){.explore-grid{grid-template-columns:1fr}.song-grid{gap:24px 13px}.song-card h4{font-size:14px}.song-play svg{height:48px;width:48px;padding:15px}}@media(prefers-reduced-motion:reduce){.song-cover img,.explore-card img{transition:none}}

/* Photography selection: keep each photograph at its own aspect ratio. */
body[data-page=photography] .photographs .thumb{aspect-ratio:auto}body[data-page=photography] .photographs .thumb img{height:auto;display:block;object-fit:contain}body[data-page=photography] .card-caption{flex-direction:column;gap:3px}body[data-page=photography] .card-caption span{white-space:normal}.album-filters{align-items:center;margin:-12px 0 30px;padding-bottom:18px;border-bottom:1px solid var(--line)}.album-label{font-size:12px;color:var(--muted);margin-right:12px;text-transform:uppercase;letter-spacing:1px}@media(max-width:560px){body[data-page=photography] .photographs .card-caption span{display:block;line-height:1.5}}

/* A quiet photographic wall with unequal columns and independent image flow. */
body[data-page=photography] .gallery.photographs{display:block;position:relative;margin-top:45px}
body[data-page=photography] .photographs .card{position:absolute;margin:0!important;min-width:0}
body[data-page=photography] .photographs .thumb{border-radius:3px;background:#e9ded0;overflow:hidden}
body[data-page=photography] .photographs .thumb img{width:100%;height:auto;display:block;transition:transform .65s cubic-bezier(.2,.6,.2,1),filter .65s}
body[data-page=photography] .photographs .card:hover img{transform:scale(1.025);filter:brightness(1.025)}
body[data-page=photography] .photographs .card-caption{padding:11px 1px 0;display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px}
body[data-page=photography] .photographs .card-caption strong{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:.1px;line-height:1.5}
body[data-page=photography] .photographs .card-caption span{display:none}
body[data-page=photography] .filters button{border-radius:30px;padding:10px 16px;transition:background .2s,color .2s}
body[data-page=photography] .filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}
body[data-page=photography] .work-controls{border-bottom:0;padding-bottom:0;margin-bottom:22px}
body[data-page=photography] .album-filters{border-bottom:0;margin:0 0 25px;padding:0}
body[data-page=photography] .section-heading{margin-bottom:38px}
@media(max-width:560px){body[data-page=photography] .gallery.photographs{margin-top:32px}body[data-page=photography] .filters{gap:5px}body[data-page=photography] .filters button{font-size:12px;padding:9px 12px}body[data-page=photography] .photographs .card-caption strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){body[data-page=photography] .photographs .thumb img,body[data-page=photography] .filters button{transition:none}}
