@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ivory:#f2eadf;--ink:#1a1a1a;--green:#494d30}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:15px/1.8 Montserrat,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}header{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #1a1a1a25}nav{display:flex;gap:24px;font-size:12px}nav a{text-decoration:none}nav a:hover,nav a[aria-current]{text-decoration:underline}.name{font:25px 'Playfair Display',Georgia,serif;text-decoration:none}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.2}h1{font-size:clamp(55px,6.4vw,100px);margin:20px 0 28px}h2{font-size:clamp(32px,3.3vw,50px);margin:0 0 30px}h3{font-size:26px;margin:20px 0 12px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:20px}.hero{background:linear-gradient(90deg,#f2eadf88,#f2eadf22),url('atmosphere.webp') center/cover;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:5%;padding:65px 8%;min-height:720px}.hero h2{font-size:38px}.hero-photo{width:100%;height:590px;object-fit:contain}.location{font-size:11px;margin-top:35px}.wrap{max-width:1200px;margin:auto;padding:80px 35px}.wrap p{max-width:780px}.actions{display:flex;flex-wrap:wrap;gap:16px}.button{display:inline-block;padding:13px 26px;border:1px solid var(--green);text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:15px 12px 0 0}.primary,.button:hover{background:var(--green);color:var(--ivory)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.grid.two{grid-template-columns:repeat(2,1fr)}article img{width:100%;aspect-ratio:1.45;object-fit:cover}article p{font-size:12px}article .eyebrow{margin:18px 0 8px}article a{font-size:12px}.credit-mark{min-height:210px;display:flex;align-items:center;justify-content:center;border:1px solid #494d3040;font:italic 28px 'Playfair Display',serif;color:var(--green)}.video{aspect-ratio:16/9;background:#1a1a1a;margin:20px 0}.video iframe{width:100%;height:100%;border:0}.split{display:grid;grid-template-columns:0.8fr 1.2fr;gap:70px;align-items:start}.split>img{width:100%;max-height:650px;object-fit:cover}dl{margin:30px 0}dt{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-top:20px}dd{margin:0}.gallery{columns:3;column-gap:24px;margin-top:45px}.photo{background:none;border:0;padding:0;display:block;width:100%;margin-bottom:24px}.photo img{width:100%;display:block}.contact{background:var(--green);color:var(--ivory)}.contact-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}.contact-links a{font-size:13px}footer{padding:60px 8%;display:flex;justify-content:space-between;gap:30px}.social{display:flex;flex-direction:column;font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:1px}td,th{padding:18px 12px;border-bottom:1px solid #494d3033}td{font-size:13px}.project-photo{width:100%;max-height:650px;object-fit:contain}dialog{border:0;background:var(--ivory);max-width:95vw;padding:20px}dialog::backdrop{background:#000b}dialog img{display:block;max-height:80vh;max-width:85vw}.close{display:block;margin-left:auto;background:none;border:0;padding:5px 0 15px}#menu{display:none}.skip{position:absolute;top:-70px;background:white;padding:10px;z-index:10}.skip:focus{top:0}:focus-visible{outline:3px solid #6c3d22;outline-offset:4px}@media(max-width:850px){header{flex-wrap:wrap;padding:20px 6%}#menu{display:block;background:none;border:1px solid var(--green);padding:6px 12px}nav{display:none;width:100%;flex-wrap:wrap;gap:18px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:45px 7%;min-height:0}.hero-photo{height:420px}.hero h2{font-size:30px}.wrap{padding:55px 7%}.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:30px}.split>img{max-width:400px}.gallery{columns:2}footer{flex-direction:column}.contact-links{flex-direction:column;gap:15px}}@media(max-width:500px){.grid,.grid.two{grid-template-columns:1fr}.gallery{columns:1}.hero-photo{height:370px}h1{font-size:58px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Full-width section divisions from the original portfolio. */
.band{border-top:1px solid #494d301c}
.featured{background:#f7f3ec}
.featured h2{text-align:center}
.featured>.wrap>.button{display:table;margin:35px auto 0}
.reel-band{background:linear-gradient(90deg,#f2eadfdd,#f2eadf99),url('atmosphere.webp') center/cover}
.reel-split{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:65px}
.about-band{background:#f7f3ec}
.about-band .split{grid-template-columns:0.85fr 1.15fr}
.about-band .split>img{max-height:700px}
.about-band dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.about-band dt{margin:8px 0 0}
.about-band dd{grid-column:2}
.gallery-band{background:#e7dfd3}
.gallery-teaser{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:35px;align-items:center}
.gallery-teaser img{width:100%;height:360px;object-fit:cover}
.gallery-teaser>div{text-align:center}
.contact{background:#f7f3ec;color:var(--ink);border-top:1px solid #494d3033}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}
.contact .eyebrow,.contact h2,.contact .wrap>p{grid-column:1}
.contact-links{grid-column:2;grid-row:1/5;flex-direction:column;justify-content:center}
.contact-links a{padding:12px 0;border-bottom:1px solid #494d3033}
footer{background:var(--green);color:var(--ivory)}
.project-hero{background:#e7dfd3}
.project-hero h1{font-size:clamp(40px,4.4vw,65px)}
.project-hero .split{grid-template-columns:1fr 1fr;align-items:center;margin-top:25px}
.project-hero .split>img{height:440px;object-fit:cover}
.project-about{background:#f7f3ec}
.project-performance{background:#e7dfd3}
.project-gallery{background:#f7f3ec}
@media(min-width:851px){.hero{min-height:650px;padding-top:35px;padding-bottom:35px}.hero-photo{height:580px}.hero h1{font-size:clamp(60px,6.3vw,100px)}}
@media(max-width:850px){.reel-split{grid-template-columns:1fr;gap:24px}.about-band .split{grid-template-columns:1fr}.gallery-teaser{grid-template-columns:1fr 1fr}.gallery-teaser>div{grid-column:1/-1;grid-row:2}.contact .wrap{display:block}.project-hero .split{grid-template-columns:1fr}.project-hero .split>img{height:auto}}
/* Phone compositions preserve the brand while giving photographs priority. */
@media(max-width:600px){
 body{font-size:14px;line-height:1.7}
 header{position:sticky;top:0;z-index:5;background:var(--ivory);padding:14px 20px;gap:12px}
 .name{font-size:22px}
 #menu{min-height:44px;min-width:66px;font-size:12px}
 nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:8px 0 0;border-top:1px solid #494d3033}
 nav a{padding:12px 4px;min-height:44px;font-size:13px}
 .hero{display:flex;flex-direction:column;gap:0;padding:0 0 30px;background-position:center top}
 .hero-photo{order:-1;width:100%;height:clamp(230px,66vw,350px);object-fit:contain;object-position:center bottom;display:block}
 .hero>div{width:100%;padding:24px 24px 0}
 .hero .eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:2px}
 h1{font-size:clamp(40px,11.5vw,62px);margin:0 0 15px;line-height:1.1}
 .hero h2{font-size:clamp(23px,6.7vw,32px);margin:0 0 20px;line-height:1.25}
 .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .actions .button{margin:0;padding:13px 8px;text-align:center;min-height:46px;font-size:10px;letter-spacing:.6px}
 .location{margin:16px 0 0;font-size:10px;line-height:1.5}
 .wrap{padding:42px 24px}
 .wrap>.eyebrow:empty{display:none}
 h2{font-size:30px;margin-bottom:22px}
 h3{font-size:24px}
 .grid,.grid.two{grid-template-columns:1fr;gap:32px}
 article img{aspect-ratio:1.4;object-fit:cover}
 article>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 .split{gap:24px}
 .split>img{max-height:420px;object-position:center 25%}
 .gallery{columns:2;column-gap:12px;margin-top:28px}
 .photo{margin-bottom:12px;break-inside:avoid}
 .contact-links{gap:0}
 .contact-links a{padding:14px 0;min-height:48px;border-bottom:1px solid #494d3033;overflow-wrap:anywhere;font-size:12px}
 .gallery-teaser{gap:14px}.gallery-teaser img{height:235px}.gallery-teaser>div{padding:12px 0;text-align:left}
 .about-band dl{display:block}.about-band dd{margin-bottom:16px}
 .project-hero h1{font-size:40px}.project-hero .button{margin-top:0}.project-navigation .actions{display:flex}
 footer{padding:36px 24px;gap:18px}
 .social{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
 .social a{padding:12px 0;min-height:44px}
 table,tbody,tr,td{display:block;width:100%}
 thead{display:none}
 tr{padding:18px 0;border-bottom:1px solid #494d3033}
 td{padding:3px 0;border:0}
 td:first-child{font-family:'Playfair Display',Georgia,serif;font-size:23px;margin-bottom:8px}
 td:nth-child(2)::before{content:'Role · ';font-size:11px;color:var(--green)}
 td:nth-child(3)::before{content:'Year · ';font-size:11px;color:var(--green)}
 dialog{padding:12px;max-width:100vw;width:100%;max-height:95dvh}
 dialog img{max-width:100%;max-height:82dvh;margin:auto;object-fit:contain}
 .close{min-height:44px;min-width:70px}
}
