:root{--brand:#965523;--copper:#b87333;--ink:#2a2a28;--grey:#5d6057;--paper:#f8f4ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:6px}.skip{position:fixed;top:-100px;z-index:30;background:white;padding:10px}.skip:focus{top:0}header{height:100px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand>span{font-size:48px;font-weight:900;letter-spacing:-4px}.brand-dot{color:var(--brand)}.brand small{font-size:12px;font-weight:700;letter-spacing:1.4px;margin-top:7px}nav{display:flex;align-items:center;gap:38px;font-size:15px;font-weight:600}.nav-contact{padding:12px 23px;background:var(--brand);color:white}nav a:hover{opacity:.7}#menu{display:none}.hero{height:min(820px,calc(100svh - 100px));min-height:600px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 68%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,27,.76),rgba(10,20,27,.12)),linear-gradient(0deg,rgba(10,20,27,.3),transparent 30%)}.hero-content{position:absolute;inset:10% auto auto 7%;max-width:780px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;margin:0 0 32px}h1{font-size:clamp(70px,7.7vw,125px);line-height:.98;letter-spacing:-6px;margin:0 0 30px;font-weight:800}h1 em{font-style:normal;color:#fff}.hero-intro{font-size:20px;line-height:1.45;margin-bottom:28px}.button{display:inline-block;padding:15px 27px;font-size:15px;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light{background:white;color:var(--ink)}.dark{background:var(--ink);color:white}.hero-foot{position:absolute;bottom:25px;left:7%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.4px}.section{padding:100px 7%}h2{font-size:clamp(40px,4.4vw,68px);line-height:1.08;letter-spacing:-2.5px;margin:0;font-weight:750}h3{line-height:1.2}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.intro h2 span{color:var(--brand)}.intro-grid>div p{color:var(--grey);max-width:560px;margin-top:0}.intro-grid .lead{font-size:24px;line-height:1.4;color:var(--ink);margin-bottom:22px}.text-link{border-bottom:2px solid var(--brand);padding-bottom:6px;font-weight:700;display:inline-block;margin-top:10px}.facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-top:80px;border-top:1px solid #d7dacd;padding-top:30px}.facts strong{display:block;font-size:38px;letter-spacing:-1px}.facts span{font-size:14px;color:var(--grey);display:block;max-width:260px}.services{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.services .eyebrow{color:#b3b9a2}.services h2{font-size:clamp(40px,3.8vw,58px)}.service-list details{border-bottom:1px solid #3e464a}.service-list details:first-child{border-top:1px solid #3e464a}summary{list-style:none;display:flex;align-items:center;gap:22px;cursor:pointer;padding:25px 0}summary::-webkit-details-marker{display:none}summary h3{margin:0;font-size:24px;font-weight:500}.num{font-size:13px;color:#b3b9a2}.plus{margin-left:auto;font-size:27px;color:#d8a273}details[open] .plus{transform:rotate(45deg)}details p{margin:0 20px 26px 40px;color:#d7dacd;font-size:16px}.project-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.project-title>p{color:var(--grey);font-size:18px}.project-image{position:relative;overflow:hidden;height:530px}.project-image img{width:100%;height:100%;object-fit:cover;object-position:center 68%;transition:transform .6s}.image-label{position:absolute;left:24px;bottom:24px;background:white;padding:8px 15px;font-size:12px;letter-spacing:1.2px}.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:15%;padding-top:28px}.project-caption h3{font-size:36px;margin:0 0 5px;letter-spacing:-1px}.project-caption p{margin:0;color:var(--grey)}.project-caption strong{font-weight:600}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;margin-top:100px}.detail-grid img{width:100%;height:590px;object-fit:cover}.detail-grid p:not(.eyebrow){max-width:430px;color:var(--grey);margin-top:28px}.detail-grid small{display:block;max-width:430px;color:var(--grey);font-size:12px}.approach{background:var(--paper)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:60px}.approach-grid article{border-top:1px solid #d7dacd;padding-top:22px}.approach-grid span{font-size:12px;letter-spacing:1.6px;font-weight:bold;color:var(--brand)}.approach-grid h3{font-size:26px;margin:23px 0 15px}.approach-grid p{color:var(--grey)}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:2fr 1fr;gap:5%;align-items:end}.contact h2 span{color:#e0b58d}.contact p{margin:26px 0 30px}.contact-details a{display:block;font-size:20px;margin-bottom:10px}.contact-details a:hover{text-decoration:underline}.contact-details p{font-size:16px;margin-bottom:0}footer{padding:45px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:white}footer .brand>span{font-size:38px}footer p,footer>span,footer>a:last-child{font-size:12px;color:#d7dacd}footer p{line-height:1.7}@media(min-width:1700px){.section{padding-left:max(7%,calc((100vw - 1500px)/2));padding-right:max(7%,calc((100vw - 1500px)/2))}}@media(max-width:800px){header{height:82px;padding:0 6%}.brand>span{font-size:38px}.brand small{font-size:10px}#menu{display:block;border:1px solid #d7dce0;background:white;padding:9px 15px;font:inherit}nav{display:none;position:absolute;top:82px;left:0;right:0;padding:25px 6%;background:white;align-items:stretch;gap:20px;flex-direction:column}nav.open{display:flex}.nav-contact{text-align:center}.hero{height:690px;min-height:0;max-height:calc(100svh - 82px)}.hero-content{top:10%;left:6%;right:6%}h1{font-size:clamp(60px,12vw,95px);letter-spacing:-3px}.eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:25px}.hero-intro{font-size:18px}.hero-foot{left:6%;right:6%;font-size:10px;gap:20px}.section{padding:65px 6%}.intro-grid,.services,.detail-grid,.contact{grid-template-columns:1fr;gap:35px}h2{font-size:44px;letter-spacing:-1.8px}.intro-grid .lead{font-size:22px}.facts{gap:20px;margin-top:45px}.facts strong{font-size:28px}.facts span{font-size:12px}.project-title>p{display:none}.project-image{height:360px}.project-caption{gap:25px}.project-caption h3{font-size:28px}.project-caption p{font-size:14px}.detail-grid{margin-top:65px}.detail-grid img{height:420px}.approach-grid{grid-template-columns:1fr;gap:20px;margin-top:40px}.approach-grid h3{margin-top:15px}.contact-details{margin-top:15px}footer{flex-wrap:wrap;padding:35px 6%}footer>span{width:50%}html{scroll-padding-top:82px}}@media(max-width:400px){.hero{height:650px}.hero-content{top:8%}.facts{grid-template-columns:1fr;gap:22px}.facts strong{font-size:32px}.facts span{max-width:none}.project-caption{grid-template-columns:1fr}.hero-foot{flex-direction:column;gap:3px}summary h3{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Expanded project portfolio */
.featured-link{display:block}.portfolio-heading{margin-top:85px;margin-bottom:35px}.portfolio-heading h3{font-size:34px;letter-spacing:-1px;margin:0 0 10px}.portfolio-heading p{color:var(--grey);margin:0}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 36px}.portfolio-image{height:350px;display:block;position:relative;overflow:hidden;background:var(--paper)}.portfolio-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.portfolio-copy{padding-top:22px}.portfolio-copy h3{font-size:32px;letter-spacing:-1px;margin:7px 0 18px}.portfolio-copy .project-location{color:var(--brand);font-size:13px;letter-spacing:1px;font-weight:700;text-transform:uppercase;margin:0}.portfolio-copy strong{font-size:15px;font-weight:600}.portfolio-copy>p:not(.project-location){color:var(--grey);margin:12px 0 10px;max-width:540px}.portfolio-copy .text-link{font-size:14px}.current-project{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center;background:var(--paper);margin-top:85px;padding:40px}.current-project img{display:block;width:100%;height:auto;object-fit:contain}.current-project h3{font-size:34px;letter-spacing:-1px;margin:0}.current-project p:not(.eyebrow){color:var(--grey)}.current-label{font-size:12px;letter-spacing:1px;display:inline-block;border:1px solid #b3b9a2;padding:7px 12px}@media(max-width:800px){.portfolio-grid{gap:45px 25px}.portfolio-image{height:260px}.portfolio-copy h3{font-size:27px}.current-project{grid-template-columns:1fr;padding:28px;gap:25px}.current-project img{height:auto}.portfolio-heading{margin-top:60px}.portfolio-heading h3{font-size:30px}}@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr}.portfolio-image{height:320px}.portfolio-copy h3{font-size:30px}.current-project{margin-top:60px}.portfolio-copy>p:not(.project-location){max-width:none}}

.image-note{display:block;color:var(--grey);font-size:12px;margin-top:10px}

.brand-dot{color:var(--copper)}.contact .eyebrow{color:#e0b58d}.contact .button.dark{background:var(--brand)}.contact .button.dark:hover{background:#844b1f}.services .plus{color:#e0b58d}.image-label{border-bottom:3px solid var(--copper)}

/* Short project films */
.hero-film{width:100%;height:100%;object-fit:cover;object-position:center}.hero .hero-shade{background:linear-gradient(90deg,rgba(15,18,15,.85),rgba(15,18,15,.15)),linear-gradient(0deg,rgba(15,18,15,.45),transparent 35%)}.detail-film-wrap{position:relative;height:590px;background:var(--ink);overflow:hidden}.detail-film{width:100%;height:100%;object-fit:cover}.film-toggle{font:inherit;font-size:12px;font-weight:600;letter-spacing:.4px;background:rgba(20,23,20,.8);border:1px solid rgba(255,255,255,.6);color:white;padding:8px 14px;cursor:pointer;min-height:40px}.film-toggle:hover{background:var(--ink)}.film-toggle:focus-visible{outline:3px solid #e0b58d;outline-offset:4px}.detail-film-wrap .film-toggle{position:absolute;bottom:20px;right:20px}.hero-foot{align-items:center}@media(max-width:800px){.detail-film-wrap{height:420px}}

.hero-film,.detail-film{display:block}.detail-film-wrap .film-toggle{bottom:auto;top:20px}.hero-film{background:#2a2a28}

.detail-film-wrap{height:auto;aspect-ratio:9/16;width:min(100%,360px);justify-self:center}.detail-film{object-fit:contain}@media(max-width:800px){.detail-film-wrap{height:auto;max-width:320px}}

.upcoming-project{margin-top:80px;padding-top:45px;border-top:1px solid #d7dacd}.upcoming-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.upcoming-heading h3{font-size:46px;letter-spacing:-1.8px;margin:0 0 10px}.upcoming-heading .eyebrow{color:var(--brand);margin-bottom:18px}.upcoming-location{color:var(--grey);margin:0}.upcoming-facts{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.upcoming-facts strong{font-size:28px;line-height:1.2}.upcoming-facts>span:not(.current-label){font-size:15px;color:var(--grey)}.upcoming-facts .current-label{margin-top:7px}.upcoming-images{display:grid;grid-template-columns:1fr 1fr;gap:25px}.upcoming-images figure{margin:0}.upcoming-images img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover}.upcoming-images figcaption{font-size:12px;color:var(--grey);margin-top:9px}.upcoming-description{color:var(--grey);max-width:800px;margin-top:24px}@media(max-width:650px){.upcoming-heading{align-items:flex-start;flex-direction:column}.upcoming-heading h3{font-size:38px}.upcoming-images{grid-template-columns:1fr;gap:25px}.upcoming-project{margin-top:60px}}

.project-caption .project-end-user{margin-top:18px;color:var(--ink);font-size:clamp(22px,2vw,28px);line-height:1.35}.project-end-user strong{font-weight:700}

.project-news{display:flex;align-items:center;background:var(--brand);color:white;min-height:52px;overflow:hidden}.news-link{overflow:hidden;flex:1;min-width:0;padding:12px 0}.news-track{display:flex;width:max-content;animation:project-news-scroll 38s linear infinite}.news-item{display:flex;align-items:center;gap:28px;white-space:nowrap;padding:0 35px;font-size:14px;letter-spacing:.3px}.news-item strong{font-size:13px;letter-spacing:1.5px}.news-separator{opacity:.6}.project-news:hover .news-track,.project-news:focus-within .news-track,.project-news.is-paused .news-track{animation-play-state:paused}#news-pause{align-self:stretch;background:var(--brand);color:white;border:0;border-left:1px solid #ffffff55;padding:0 22px;font-size:13px;font-family:inherit;cursor:pointer;z-index:1;min-width:80px}#news-pause:hover{background:#844b1f}.project-news a:focus-visible,.project-news button:focus-visible{outline:2px solid white;outline-offset:-4px}@keyframes project-news-scroll{to{transform:translateX(-50%)}}@media(max-width:650px){.news-item{gap:20px;padding:0 24px;font-size:13px}#news-pause{padding:0 12px;min-width:65px}}@media(prefers-reduced-motion:reduce){.news-track{animation:none;width:auto}.news-item{white-space:normal;flex-wrap:wrap;gap:8px 18px;padding:0 6%}.news-repeat,#news-pause{display:none}.project-news .news-link{padding:14px 0}}

#project-enquiry{border:0;padding:40px;width:min(720px,calc(100% - 32px));max-height:90svh;overflow:auto;color:var(--ink)}#project-enquiry::backdrop{background:rgba(20,20,20,.7)}#project-enquiry h2{font-size:36px;letter-spacing:-1px}#project-enquiry .eyebrow{margin-bottom:18px}.enquiry-close{display:block;margin-left:auto;border:0;background:transparent;padding:8px;cursor:pointer;font:inherit}.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.enquiry-fields label{font-weight:600;font-size:16px}.enquiry-fields label span{font-weight:400;color:var(--grey)}.enquiry-fields input,.enquiry-fields textarea{display:block;width:100%;margin-top:6px;border:1px solid #aaa;background:#fff;padding:12px;font:inherit;color:var(--ink);border-radius:0}.enquiry-fields textarea{resize:vertical}.enquiry-fields .wide{grid-column:1/-1}.enquiry-fields input:focus-visible,.enquiry-fields textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.enquiry-note{font-size:14px;line-height:1.5;color:var(--grey)}.enquiry-note a{text-decoration:underline}.enquiry-honey{display:none}#project-enquiry button[type=submit]{border:0;cursor:pointer}body.enquiry-visible{overflow:hidden}@media(max-width:600px){#project-enquiry{padding:24px}.enquiry-fields{grid-template-columns:1fr}#project-enquiry h2{font-size:30px}}
