
:root{--ink:#171715;--muted:#777773;--paper:#fff;--soft:#f3f3f1;--line:#e6e6e2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}img{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(58px,7.5vw,122px);max-width:1150px}h2{font-size:clamp(42px,5vw,76px)}h3{font-size:clamp(26px,2.3vw,35px)}
header{background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}nav{max-width:1600px;margin:auto;min-height:78px;padding:0 4%;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-size:21px;letter-spacing:-.055em;font-weight:500;white-space:nowrap}.navlinks{display:flex;gap:30px;align-items:center;font-size:15px;color:#5f5f5b}.navlinks a{transition:color .2s}.navlinks a:hover{color:#111}.navlinks a:last-child{color:var(--ink)}
.wrap{max-width:1600px;margin:auto;padding:0 4%}.hero{padding:100px 0 105px}.hero .eyebrow{display:none}.herogrid{display:block}.hero p{font-size:clamp(18px,2vw,23px);max-width:670px;margin-top:30px;line-height:1.45;color:#555}.hero-photo,.photo-credit,.skillsline{display:none}.buttons{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border:1px solid var(--ink);border-radius:100px;font-size:14px;font-weight:500;background:var(--ink);color:#fff;transition:background .2s,color .2s,transform .2s}.button:hover{background:#444;transform:translateY(-2px)}.button.outline{background:#fff;color:var(--ink)}.button.outline:hover{background:var(--soft)}
.section{padding:90px 0;border-top:1px solid var(--line)}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.sectionhead p{font-size:17px;color:var(--muted);max-width:350px}.eyebrow{display:block;font-size:13px;letter-spacing:.02em;color:var(--muted);margin-bottom:15px}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project{min-width:0}.project-image,.typecard{height:clamp(340px,37vw,520px);margin:0 0 22px;border-radius:14px;overflow:hidden;background:var(--soft)}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.project-image:hover img{transform:scale(1.035)}.project:first-child .project-image img{object-position:center 64%}.project:last-child .project-image img{object-position:center 30%}.project-image.art{background:#e9ecec;padding:28px}.project-image.art img{object-fit:contain}.typecard{display:flex;align-items:center;justify-content:center;text-align:center;background:#ebe9e5;padding:30px}.typecard .display{font-size:clamp(50px,5vw,80px);font-weight:500;line-height:1;letter-spacing:-.07em}.project .eyebrow{margin:0 0 8px;font-size:13px;color:var(--muted)}.project p{color:#62625e;margin-top:11px;max-width:420px}.project details{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;color:#555;font-size:14px}.project summary{cursor:pointer;color:var(--ink)}.project ul{padding-left:19px}.textlink{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:3px;margin-top:25px;font-size:15px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:80px;padding:35px 0;border-top:1px solid var(--line)}.metric strong{display:block;font-weight:500;font-size:clamp(32px,4vw,60px);line-height:1.1;letter-spacing:-.06em}.metric span{display:block;font-size:14px;color:var(--muted);margin-top:12px;max-width:220px}
.photography{background:#f7f7f5}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery figure,.graphicgrid figure{margin:0}.gallery img{display:block;width:100%;height:clamp(260px,30vw,420px);object-fit:cover;border-radius:12px}.gallery figcaption{font-size:14px;margin-top:12px;color:#555}.graphicgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.graphicgrid figure{background:var(--soft);border-radius:12px;overflow:hidden;padding:25px;display:flex;align-items:center;justify-content:center;height:clamp(330px,38vw,510px)}.graphicgrid img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.about{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line)}.about p{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:#555}.contact{background:#171715;color:#fff;padding:95px 0 30px}.contactrow{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:100px}.contactrow h2{font-size:clamp(48px,7vw,105px)}.contactrow p{margin-top:16px;color:#b9b9b4;font-size:18px}.contact .eyebrow{color:#b9b9b4}.contact .button{border-color:#fff;background:#fff;color:#171715;flex:none}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #494945;padding-top:22px;font-size:13px;color:#c1c1bd}
@media(max-width:900px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.project:last-child{grid-column:1/-1}.project:last-child .typecard{height:320px}.gallery{grid-template-columns:repeat(2,1fr)}.graphicgrid{grid-template-columns:repeat(2,1fr)}.sectionhead{align-items:start;flex-direction:column}.about{gap:30px}.hero{padding:80px 0}}
@media(max-width:640px){nav{min-height:68px}.brand{font-size:18px}.navlinks{gap:15px;font-size:13px}.navlinks a:nth-child(2),.navlinks a:nth-child(3){display:none}.hero{padding:85px 0 82px}h1{font-size:clamp(51px,12vw,78px)}.hero p{font-size:18px}.section{padding:68px 0}.projects,.graphicgrid{grid-template-columns:1fr}.project:last-child{grid-column:auto}.project-image,.typecard,.project:last-child .typecard{height:380px}.metrics{grid-template-columns:1fr;gap:25px;margin-top:55px}.gallery{gap:12px}.gallery img{height:240px}.graphicgrid figure{height:440px}.about{grid-template-columns:1fr;padding:70px 0}.contact{padding:70px 0 25px}.contactrow{flex-direction:column;align-items:flex-start;gap:25px;padding-bottom:70px}.footer{flex-direction:column;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Portfolio pages */
.page-intro{padding:90px 0 72px}.page-intro .eyebrow{margin-bottom:22px}.page-intro h1{max-width:1200px}.page-intro p{font-size:20px;color:#666;max-width:720px;margin-top:25px}.page-section{padding:0 0 120px}.page-section .projects{margin-top:25px}.page-section .project details{font-size:15px}.page-section .project-image{height:480px}.gallery.page-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 25px}.gallery.page-gallery img{height:560px;border:1px solid var(--line);padding:12px;background:#fff;border-radius:12px}.gallery.page-gallery figcaption{font-size:18px;color:var(--ink);margin-top:15px}.gallery.page-gallery figcaption span{float:right;color:var(--muted);font-size:14px}.gallery.page-gallery a:hover img{opacity:.92}.gallery.page-gallery figure{min-width:0}.design-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:110px}.design-gallery figure{margin:0;min-width:0;aspect-ratio:4/5;position:relative;border:1px solid var(--line);border-radius:12px;background:#f7f7f5;padding:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.design-gallery img{display:block;position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain}.page-intro .back-home{color:#777;font-size:14px;display:inline-block;margin-bottom:35px}.page-intro .back-home:hover{text-decoration:underline}.contact-page{min-height:70vh}.contact-page h1{max-width:900px}.contact-page .button{margin-top:35px}.navlinks a[aria-current=page]{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}
@media(max-width:900px){.design-gallery{grid-template-columns:repeat(2,1fr)}.gallery.page-gallery img{height:440px}}
@media(max-width:640px){.page-intro{padding:70px 0 52px}.page-intro p{font-size:18px}.page-section{padding-bottom:70px}.page-section .project-image{height:380px}.gallery.page-gallery,.design-gallery{grid-template-columns:1fr;gap:34px}.gallery.page-gallery img{height:auto;max-height:600px;object-fit:cover}.gallery.page-gallery figcaption span{float:none;display:block;margin-top:4px}}

/* Marketing page: four equally weighted projects and a direct portfolio route. */
.marketing-intro .button{margin-top:30px}.marketing-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 24px}.marketing-projects .project-image{height:clamp(360px,44vw,620px)}.marketing-portfolio-end{margin-top:50px;padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:900px){.marketing-projects .project:last-child{grid-column:auto}}
@media(max-width:640px){.marketing-projects{grid-template-columns:1fr;gap:48px}.marketing-projects .project-image{height:380px}.marketing-intro .button{margin-top:26px}}

/* Give homepage photography the same framed treatment as the galleries. */
#photography .wrap{max-width:1400px;padding-left:6%;padding-right:6%}#photography .gallery img{border:1px solid var(--line);padding:8px;background:#fff;border-radius:12px}
