@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@1,600&display=swap');
:root{--paper:#f3f0e9;--ink:#171717;--muted:#6c6a65;--line:#cbc6bc;--accent:#e45b35}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(243,240,233,.94);backdrop-filter:blur(12px);z-index:10}
.logo{font-weight:600;letter-spacing:.08em}.site-header a{text-decoration:none;color:inherit}.site-header nav{display:flex;gap:28px;font-size:14px}
.hero{padding:9vw 5vw 5vw}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600}.hero h1{font-size:clamp(54px,8vw,124px);line-height:.88;letter-spacing:-.055em;margin:28px 0 34px;max-width:1200px;font-weight:500}.hero h1 em{font-family:"Playfair Display",serif;font-weight:600}
.intro{max-width:550px;font-size:18px;line-height:1.6;color:var(--muted);margin-bottom:32px}.button{display:inline-block;padding:14px 20px;background:var(--ink);color:white;text-decoration:none;font-size:14px}
.hero-art{margin-top:70px;min-height:52vw;max-height:720px;background:linear-gradient(135deg,#d86b4a,#e4b276 45%,#627c83);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-align:center}.hero-art span{font-size:11px;letter-spacing:.18em}.hero-art strong{font-size:28px;margin:10px}.hero-art small{opacity:.8}
.section{padding:110px 5vw}.section-heading{display:grid;grid-template-columns:50px 1fr 1fr;gap:25px;align-items:end;border-top:1px solid var(--line);padding-top:22px;margin-bottom:50px}.section-heading h2{font-size:44px;margin:0;letter-spacing:-.04em}.section-heading p{margin:0;color:var(--muted);max-width:450px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 24px}.project .placeholder{display:flex;align-items:center;justify-content:center;font-weight:600;letter-spacing:.08em;color:white}.project.wide .placeholder{aspect-ratio:1.45}.project.tall .placeholder{aspect-ratio:1}.warm .placeholder{background:#b95839}.cool .placeholder{background:#627a84}.ink .placeholder{background:#272b2c}.city .placeholder{background:#c28d5c}.meta{display:flex;justify-content:space-between;align-items:baseline}.meta h3{font-size:20px}.meta p{font-size:13px;color:var(--muted)}
.dark{background:#171717;color:#f3f0e9}.dark .section-heading{border-color:#4b4b4b}.dark .section-heading p{color:#aaa}.frames{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.frames div{aspect-ratio:16/9;background:#eee;color:#222;display:flex;align-items:center;justify-content:center;font-size:40px;font-family:"Playfair Display",serif}.caption{color:#999;font-size:13px}
.art-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.art-placeholder{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;color:white;font-weight:600;letter-spacing:.07em}.green{background:#586b55}.blue{background:#5d7083}.clay{background:#9a624a}.art-row h3{margin-bottom:3px}.art-row p{margin-top:0;color:var(--muted);font-size:13px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#dfd9ce}.about h2{font-size:clamp(44px,6vw,82px);line-height:1;letter-spacing:-.05em}.about-copy{padding-top:30px;font-size:19px;line-height:1.7}.text-link{color:inherit;font-weight:600}
.contact{padding:130px 5vw 45px;background:#d95131;color:white}.contact h2{font-size:clamp(60px,9vw,130px);letter-spacing:-.06em;margin:20px 0}.contact p{font-size:18px}.button.light{background:white;color:#171717;margin-top:20px}.footer-line{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.5);padding-top:22px;margin-top:120px;font-size:12px;letter-spacing:.08em}
@media(max-width:760px){.site-header nav a:nth-child(-n+3){display:none}.hero{padding-top:80px}.section-heading{grid-template-columns:35px 1fr}.section-heading p{grid-column:2}.grid,.art-row,.about{grid-template-columns:1fr}.frames{grid-template-columns:1fr 1fr}.meta{display:block}.section{padding:80px 5vw}.footer-line{gap:20px}.hero-art{min-height:70vw}}

#storyboard{scroll-margin-top:90px}.sydney-cover{display:flex;align-items:center;background:white;aspect-ratio:1.45}.sydney-cover img{display:block;width:100%;height:100%;object-fit:contain}.sydney-cover:focus-visible,.artwork-link:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.sydney-details h3{font-size:clamp(24px,3vw,36px);margin:42px 0 22px}.artwork-link{display:block}.artwork-link img{display:block;width:100%;height:auto}.project-description{max-width:850px;font-size:18px;line-height:1.8;color:#ddd;margin:28px 0 56px}

#again{scroll-margin-top:90px}.again-cover{display:flex;position:relative;aspect-ratio:1;background:#171717;align-items:center;text-decoration:none;color:white}.again-cover img{width:100%;height:100%;object-fit:contain}.again-cover span{position:absolute;bottom:18px;left:18px;background:#171717;padding:10px 16px;font-size:14px}.again-cover:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.again-detail video{display:block;width:100%;height:auto;background:#171717}.again-description{max-width:850px;font-size:18px;line-height:1.8;color:var(--muted);margin-top:30px}

.project-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:1.45;background:#fff}.project.tall .project-cover{aspect-ratio:1}.project-cover img{width:100%;height:100%;object-fit:contain}.hero-art.featured-art{position:relative;display:block;min-height:0;max-height:none;background:#171717;text-decoration:none}.featured-art img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}.featured-art span{display:block;padding:18px;background:#171717;font-size:14px}.portfolio-gallery{align-items:start;gap:48px 24px}.fine-art-card{scroll-margin-top:95px;min-width:0}.fine-art-card>.artwork-link{background:#fff}.fine-art-card>.artwork-link img{width:100%;height:340px;object-fit:contain}.fine-art-card details{border-top:1px solid var(--line);padding-top:12px}.fine-art-card summary{font-size:14px;cursor:pointer}.fine-art-card details p{font-size:16px;line-height:1.7;color:var(--ink)}#max-character{scroll-margin-top:95px}.max-details{border-top:1px solid #4b4b4b;margin-top:65px}.project-cover:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media(max-width:760px){.fine-art-card>.artwork-link img{height:auto;max-height:none}}

body.modal-open{overflow:hidden}#artwork-modal{width:min(96vw,1500px);max-width:96vw;height:92vh;max-height:92vh;padding:0;border:0;background:#171717;color:white;box-shadow:0 20px 80px #0008}#artwork-modal::backdrop{background:rgba(0,0,0,.85)}#artwork-modal[open]{display:flex;flex-direction:column}.modal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;background:#171717;border-bottom:1px solid #555}.modal-toolbar p{font-size:14px;margin:0;line-height:1.4}.modal-toolbar button{flex-shrink:0;cursor:pointer;background:white;color:#171717;border:0;padding:12px 18px;font:inherit;font-size:16px}.modal-image-wrap{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:auto;padding:12px}#enlarged-artwork{display:block;max-width:100%;max-height:100%;object-fit:contain}.modal-toolbar button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:760px){.modal-toolbar{padding:12px}.modal-image-wrap{padding:4px}}

.animation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.animation-grid .project-cover,.animation-grid .sydney-cover,.animation-grid .again-cover{aspect-ratio:1}.animation-grid .meta{display:block}.art-slideshow{margin-top:70px;background:#171717;color:#fff}.slideshow-stage{position:relative;height:clamp(330px,48vw,660px);overflow:hidden}.art-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 1.1s ease}.art-slide.active{opacity:1;pointer-events:auto;z-index:1}.art-slide img{width:100%;height:100%;object-fit:contain}.slideshow-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border-top:1px solid #444}.slideshow-footer .eyebrow{color:#aaa}.slideshow-footer p{font-size:18px;margin:8px 0 0}.slideshow-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.slideshow-controls button{background:transparent;border:1px solid #777;color:#fff;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer}.slideshow-controls button:hover{background:#333}.slideshow-controls button:focus-visible,.art-slide:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}#slide-count{font-size:14px;color:#bbb;min-width:45px}@media(max-width:760px){.animation-grid{grid-template-columns:1fr}.slideshow-footer{align-items:flex-start;flex-direction:column;padding:18px}.slideshow-stage{height:370px}}@media(prefers-reduced-motion:reduce){.art-slide{transition:none}}
