:root{--yellow:#f4cb00;--dark:#282828;--muted:#aaa;--paper:#eeede7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--dark);color:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}.brand img{width:144px;display:block}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav a:hover{color:var(--yellow)}nav .talk{border:1px solid #777;padding:13px 20px;border-radius:30px}.hero{padding:55px 5% 0}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:1.8px;line-height:1.6}.hero h1{position:relative;font-size:clamp(85px,13.4vw,220px);line-height:.85;letter-spacing:-.075em;margin:44px 0 37px;font-weight:900}.hero h1>span:first-child{color:var(--yellow)}.star{position:absolute;right:4%;bottom:0;color:var(--yellow);font-size:1.2em;line-height:.85;font-weight:normal}.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:0 0 38px}.hero-bottom p{font-size:18px;line-height:1.45}.hero-bottom .location{font-size:10px;line-height:1.8;letter-spacing:1px}.circle-link{display:flex;align-items:center;gap:25px;font-size:14px}.circle-link span{display:grid;place-items:center;border:1px solid #888;border-radius:50%;width:56px;height:56px;font-size:27px}.hero-photo{height:420px;position:relative;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 44%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#000a)}.photo-caption{position:absolute;bottom:25px;left:30px;right:30px;z-index:1;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:white}.ticker{overflow:hidden;white-space:nowrap;background:var(--yellow);color:var(--dark);font-size:22px;font-weight:800;letter-spacing:1px;padding:22px 0;margin-top:0}.section{padding:95px 5%}.section-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}.work-title{display:flex;align-items:flex-end;justify-content:space-between;margin:35px 0 50px}h2{font-size:clamp(40px,5vw,76px);line-height:1.02;letter-spacing:-.05em;margin:0}h2 em{font-style:normal;color:#96968f}.work-title>p{font-size:14px;line-height:1.8;color:#bfbfb9}.tools{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:0 0 25px;border-bottom:1px solid #ffffff30}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{color:#ccc;background:none;border:1px solid #666;border-radius:30px;padding:11px 16px;cursor:pointer;font-size:12px}.filters button:hover,.filters button.active{background:var(--yellow);color:var(--dark);border-color:var(--yellow)}.search{display:flex;border-bottom:1px solid #999;align-items:center}.search input{background:none;border:0;color:white;padding:10px 0;width:165px;font-size:12px}.search span:last-child{font-size:25px}.count{font-size:11px;color:#aaa;margin:18px 0 28px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}.card{padding:0;background:none;border:0;color:inherit;text-align:left;cursor:pointer;min-width:0}.card-picture{aspect-ratio:1.35;background:#333;overflow:hidden;position:relative}.card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.card:hover img{transform:scale(1.045)}.card .arrow{position:absolute;right:12px;bottom:12px;background:var(--yellow);color:var(--dark);width:37px;height:37px;display:grid;place-items:center;border-radius:50%;font-size:22px}.card h3{font-size:20px;letter-spacing:-.5px;line-height:1.2;margin:16px 0 9px}.card .category{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#aaa}.services{background:var(--paper);color:var(--dark)}.services h2{margin:42px 0 55px}.service-list article{display:grid;grid-template-columns:5% 42% 1fr 25px;gap:20px;padding:30px 0;border-top:1px solid #aaa}.service-list article>span{font-size:12px}.service-list h3{font-size:29px;line-height:1.1;letter-spacing:-1px;margin:0}.service-list p{font-size:14px;line-height:1.7;max-width:390px;margin:0}.service-list b{font-size:30px;font-weight:normal}.about{display:grid;grid-template-columns:30% 1fr;gap:30px}.about p{max-width:660px;font-size:17px;line-height:1.8;color:#bbb}.about h2{margin-bottom:30px}.about a{display:inline-block;color:var(--yellow);border-bottom:1px solid;padding:15px 0;font-size:14px}.contact{background:var(--yellow);color:var(--dark)}.contact h2{font-size:clamp(56px,9vw,140px);margin:40px 0;line-height:.95;letter-spacing:-.065em}.contact h2 a:hover{color:#666}.contact-details{border-top:1px solid #28282855;padding-top:30px;display:flex;justify-content:space-between;gap:20px}.contact-details>a{font-size:24px;letter-spacing:-.5px}.contact-details p{font-size:13px;line-height:1.7}.contact-details div>a{font-size:17px}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#aaa}footer img{width:100px}dialog{background:var(--dark);color:var(--paper);border:1px solid #777;max-width:960px;width:92vw;max-height:90dvh;padding:0}dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}.dialog-head{position:sticky;top:0;background:var(--dark);padding:18px 30px;display:flex;justify-content:space-between;align-items:center;z-index:1;border-bottom:1px solid #555}.dialog-head button{color:white;background:none;border:0;cursor:pointer;padding:8px}.dialog-content{padding:30px}.dialog-content h2{font-size:45px;margin:18px 0}.dialog-content>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:740px;color:#ccc}.dialog-content img{width:100%;display:block;margin:24px 0}.project-cta{display:block;border-top:1px solid #666;padding:25px 0 0;color:var(--yellow)}body.modal-open{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card img{transition:none}}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:16vw}.star{font-size:.9em;right:0}.hero-bottom .location{display:none}.hero-photo{height:320px}.work-title{display:block}.work-title>p{margin-top:25px}.service-list article{grid-template-columns:30px 1fr 1fr}.service-list b{display:none}.about{grid-template-columns:1fr}.section{padding:65px 5%}.section-top>span:last-child{display:none}}@media(max-width:560px){header{height:85px}.brand img{width:105px}nav{gap:16px;font-size:12px}nav a:nth-child(3){display:none}nav .talk{padding:9px 13px}.hero{padding-top:35px}.hero .eyebrow{font-size:9px}.hero h1{font-size:17vw;margin:35px 0}.star{font-size:.75em}.hero-bottom p{font-size:13px}.circle-link{font-size:12px;gap:10px}.circle-link span{width:40px;height:40px}.hero-photo{height:240px}.photo-caption{font-size:8px;left:15px;right:15px}.photo-caption>a{display:none}.ticker{font-size:16px;padding:17px 0}.grid{gap:30px 14px}.card h3{font-size:16px}.card .category{font-size:8px;line-height:1.6}.card .arrow{width:27px;height:27px;font-size:18px;right:8px;bottom:8px}.card-picture{aspect-ratio:1}.filters button{padding:9px 12px;font-size:11px}.search{width:100%}.search input{width:100%}.service-list article{grid-template-columns:22px 1fr;gap:16px}.service-list p{grid-column:2}.service-list h3{font-size:26px}.about p{font-size:15px}.contact-details{display:block}.contact-details>a{font-size:21px}.contact-details>div{margin-top:25px}footer{gap:15px;flex-wrap:wrap}.dialog-content{padding:22px}.dialog-content h2{font-size:32px}.dialog-head{padding:12px 20px}}

/* Keep discipline labels inside the same page gutters at every width. */
.ticker{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px;white-space:normal;overflow:visible;padding:26px 5%;font-size:clamp(14px,1.5vw,22px);line-height:1.5}
.ticker span{display:flex;align-items:center;gap:22px;max-width:100%;overflow-wrap:anywhere}
.ticker span::before{content:"✳";font-weight:normal}
@media(max-width:600px){.ticker{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 6%;font-size:15px;justify-items:start}.ticker span{gap:14px}.hero-bottom{gap:14px;flex-wrap:wrap}.contact-details a{overflow-wrap:anywhere}}
