:root { --ink:#121212; --muted:#666; --line:#dededb; --paper:#fff; --soft:#f5f5f2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:linear-gradient(135deg,#f3f5f6 0%,#fafbfb 42%,#fff 78%); background-attachment:fixed; color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.45; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
.skip-link { position:fixed; top:12px; left:12px; z-index:100000; padding:12px 16px; background:var(--ink); color:var(--paper); transform:translateY(-200%); }
.skip-link:focus { transform:none; outline:2px solid var(--paper); outline-offset:2px; }
.site-header,.site-footer,.site-content { max-width:1440px; margin:auto; padding-left:4vw; padding-right:4vw; }
.site-header { width:100%; max-width:none; display:flex; justify-content:space-between; align-items:center; padding-top:24px; padding-bottom:24px; padding-left:max(4vw,calc((100vw - 1440px)/2 + 4vw)); padding-right:max(4vw,calc((100vw - 1440px)/2 + 4vw)); font-size:13px; border-bottom:1px solid rgba(18,18,18,.12); background:#fff; }
.site-name { position:relative; display:inline-block; font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:18px; font-weight:800; letter-spacing:-.055em; line-height:1; text-decoration:none; }
.site-name::after { content:""; position:absolute; right:0; bottom:-6px; left:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.16,1,.3,1); }
.site-name:hover::after,.site-name:focus-visible::after { transform:scaleX(1); }
.site-name:focus-visible { outline:2px solid currentColor; outline-offset:8px; }
.site-menu { display:flex; gap:20px; list-style:none; margin:0; padding:0; color:var(--muted); }
.site-menu .current-menu-item { color:var(--ink); }
.site-footer { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:22px; padding-bottom:26px; font-size:12px; color:var(--muted); }
.home-hero { position:relative; isolation:isolate; width:100vw; min-height:clamp(420px,48vw,640px); display:flex; align-items:flex-end; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow:hidden; background:#152638; }
.home-hero-gradient { position:absolute; z-index:-2; inset:-30%; overflow:hidden; transform-origin:center; transform:rotate(-5deg) scale(1.08); animation:rron-gradient-tilt 42s ease-in-out infinite alternate; will-change:transform; }
.home-hero-gradient-track { position:relative; z-index:0; display:flex; width:200%; height:100%; animation:rron-gradient-belt 30s linear infinite; will-change:transform; }
.home-hero-gradient-panel { flex:0 0 50%; height:100%; background:linear-gradient(90deg,#0d1720 0%,#142b43 9%,#1d4b6a 18%,#326d94 29%,#557f84 37%,#817d4a 43%,#997622 48%,#b88a2a 54%,#bd672c 61%,#a94c2c 67%,#782a24 75%,#4d2928 84%,#271b22 92%,#0d1720 100%); }
.home-hero-gradient::before { content:""; position:absolute; z-index:1; inset:-8%; pointer-events:none; background:radial-gradient(circle at 20% 36%,rgba(82,151,217,.22) 0,rgba(82,151,217,.1) 14%,transparent 36%),radial-gradient(circle at 50% 49%,rgba(255,202,49,.2) 0,rgba(255,202,49,.06) 16%,transparent 34%),radial-gradient(circle at 77% 54%,rgba(208,65,38,.18) 0,rgba(208,65,38,.05) 20%,transparent 40%); opacity:.7; }
.home-hero-gradient::after { content:""; position:absolute; z-index:2; inset:-10%; pointer-events:none; background:radial-gradient(circle at 82% 88%,rgba(5,12,19,.82) 0,rgba(5,12,19,.5) 24%,transparent 54%),radial-gradient(circle at 2% 4%,rgba(3,10,17,.38) 0,transparent 34%); opacity:.76; }
.home-hero.has-gradient::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(8,15,24,.72) 0,rgba(8,15,24,.2) 48%,rgba(8,15,24,.02) 100%),linear-gradient(90deg,rgba(8,15,24,.28),transparent 60%); pointer-events:none; }
.home-hero-image { position:absolute; z-index:-1; inset:-5% 0; overflow:hidden; background:var(--header-image) center/cover no-repeat; transform:translate3d(0,var(--rron-parallax-offset,0),0) scale(var(--rron-hero-scale,1)); transition:transform 2.4s cubic-bezier(.2,.7,.2,1); will-change:transform; }.home-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.home-hero:not(.has-header-image) .home-hero-image { display:none; }
.home-hero .home-intro { width:min(1440px,100%); max-width:1440px; margin:0 auto; color:#fff; padding:8vw 4vw 5vw; }
.home-hero .eyebrow,.home-hero .intro-copy { color:rgba(255,255,255,.8); }
.rron-motion-ready .home-intro > .eyebrow,.rron-motion-ready .home-intro > h1,.rron-motion-ready .home-intro > .intro-copy { opacity:0; transform:translate3d(0,16px,0); animation:rron-hero-in .72s cubic-bezier(.2,.7,.2,1) forwards; }.rron-motion-ready .home-intro > h1 { animation-delay:.12s; }.rron-motion-ready .home-intro > .intro-copy { animation-delay:.24s; }
.home-intro { padding:14vh 0 9vh; max-width:920px; }
.selected-work { margin:2vw 0 3vw; padding:12px 0; }
.selected-work-meta { display:flex; justify-content:space-between; border-top:1px solid var(--ink); padding:10px 0 12px; color:var(--muted); font-size:12px; }
.selected-work-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr); gap:26px; align-items:stretch; }
.selected-work-preview { position:relative; min-height:610px; overflow:hidden; background:var(--soft); color:#fff; }
.selected-work-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.86) 0,rgba(0,0,0,.42) 28%,rgba(0,0,0,.08) 58%,transparent 76%); pointer-events:none; }
.selected-work-preview img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:opacity .26s ease,transform .3s cubic-bezier(.2,.7,.2,1); }.selected-work-preview .rron-preview-incoming { opacity:0; transform:translate3d(0,5px,0) scale(1.008); }.selected-work-preview .rron-preview-incoming.is-visible { opacity:1; transform:translate3d(0,0,0) scale(1); }.selected-work-preview .rron-preview-outgoing { opacity:0; transform:translate3d(0,-3px,0) scale(.996); }
.selected-work-preview:hover img { transform:scale(1.025); }
.selected-work-caption { position:absolute; z-index:1; left:24px; right:24px; bottom:22px; display:grid; gap:4px; }
.selected-work-caption { transition:opacity .22s ease,transform .22s ease; }.selected-work-caption.is-switching { opacity:.72; transform:translate3d(0,3px,0); }
.selected-work-caption span { font-size:12px; color:rgba(255,255,255,.72); text-transform:uppercase; letter-spacing:.06em; }
.selected-work-caption strong { font-family:"Inter",system-ui,sans-serif; font-size:clamp(29px,4vw,55px); font-weight:800; line-height:1; letter-spacing:-.05em; }
.selected-work-caption b { font-size:13px; font-weight:500; margin-top:10px; }
.selected-work-picker { border-top:0; padding:0 16px; }
.selected-work-item { position:relative; width:100%; min-height:104px; display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto; gap:0 12px; align-items:center; border:0; border-top:1px solid var(--line); padding:18px 12px; background:linear-gradient(180deg,rgba(231,235,237,.32),rgba(255,255,255,.98) 78%); color:var(--ink); text-align:left; cursor:pointer; }
.selected-work-item:last-child { border-bottom:1px solid var(--line); }
.selected-work-item::after { content:""; position:absolute; right:0; bottom:0; left:0; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .22s cubic-bezier(.2,.7,.2,1); }.selected-work-item.is-active::after,.selected-work-item:hover::after,.selected-work-item:focus-visible::after { transform:scaleX(1); }.selected-work-item:focus-visible { outline:2px solid var(--ink); outline-offset:-3px; }
.selected-work-item.is-active { color:var(--muted); }
.selected-work-number,.selected-work-type { color:var(--muted); font-size:11px; }
.selected-work-number { grid-column:1; grid-row:1 / span 2; }
.selected-work-name { grid-column:2; grid-row:1; overflow:hidden; font-family:"Inter",system-ui,sans-serif; font-size:clamp(18px,2vw,25px); font-weight:700; letter-spacing:-.04em; line-height:.98; text-overflow:ellipsis; white-space:nowrap; }
.selected-work-type { grid-column:2; grid-row:2; margin-top:-1px; line-height:1.1; text-align:left; }
.eyebrow { margin:0 0 16px; color:var(--muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.home-intro h1,.archive-heading h1,.project-header h1,.post-single h1,.contact-page h1,.page-standard h1 { font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:clamp(44px,7vw,105px); font-weight:800; letter-spacing:-.04em; line-height:.98; margin:0; }
.intro-copy { max-width:420px; margin:28px 0 0; color:var(--muted); }
.kinetic-gallery { margin:0 -4vw 9vw; overflow:hidden; }
.gallery-meta { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding:12px 4vw; font-size:12px; color:var(--muted); }
.gallery-track { display:flex; width:max-content; gap:16px; will-change:transform; }
.gallery-track-one { animation:rail-left 42s linear infinite; }
.gallery-track-two { margin-top:16px; animation:rail-right 48s linear infinite; }
.kinetic-gallery:hover .gallery-track,.kinetic-gallery:focus-within .gallery-track { animation-play-state:paused; }
.rail-piece { display:block; flex:0 0 auto; position:relative; overflow:hidden; width:290px; height:195px; background:linear-gradient(135deg,#211a3a,#af4c81,#f5d16a); }
.rail-piece:nth-child(3n+2) { width:170px; }
.rail-piece:nth-child(4n) { width:360px; }
.rail-piece img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.rail-piece:hover img { transform:scale(1.04); }
.rail-piece span { position:absolute; bottom:10px; left:11px; color:#fff; font-size:12px; opacity:0; transition:opacity .2s; text-shadow:0 1px 14px #000; }
.rail-piece:hover span { opacity:1; }
.gallery-empty { margin:0 4vw; padding:80px 0; border-top:1px solid var(--line); font-size:22px; max-width:560px; }
.home-links { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:6vw; padding:0; border:0; background:none; }
.home-links a { position:relative; display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; align-items:center; padding:18px 14px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0; background:linear-gradient(180deg,rgba(230,235,237,.32),rgba(255,255,255,.98) 78%); font-size:18px; letter-spacing:-.03em; }.home-links a::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.2,.7,.2,1); }.home-links a:hover::after,.home-links a:focus-visible::after { transform:scaleX(1); }.home-links a:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }.home-links b { transition:transform .25s cubic-bezier(.2,.7,.2,1); }.home-links a:hover b,.home-links a:focus-visible b { transform:translate3d(4px,0,0); }
.home-links em { font-style:normal; }
.home-links a:hover { background:#fff; }
.home-links span { color:var(--muted); font-size:12px; }
.home-links b { font-weight:400; }
.archive-heading { padding:5vh 0 2.5vw; border-bottom:1px solid var(--ink); }
.archive-kicker { display:block; height:33px; }
.blog-archive-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.48fr); gap:10px 5vw; align-items:end; }
.blog-archive-heading .eyebrow,.blog-archive-heading h1 { grid-column:1; }
.blog-archive-heading p:last-child { grid-column:2; grid-row:1 / span 2; align-self:end; max-width:260px; margin:0; color:var(--muted); font-size:14px; }
.work-archive-heading { display:grid; grid-template-columns:1fr minmax(240px,.6fr) auto; gap:30px; align-items:end; padding:5vh 0 2.5vw; border-bottom:1px solid var(--ink); }
.work-archive-note { max-width:310px; margin:0; color:var(--muted); font-size:14px; }
.work-count { color:var(--muted); font-size:12px; white-space:nowrap; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px 14px; padding:1.5vw 0 5vw; }
.project-card { overflow:hidden; }
.project-card a { position:relative; display:block; }
.project-card img { width:100%; aspect-ratio:1.25; object-fit:cover; background:var(--soft); transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.project-card:hover img { transform:scale(1.025); }
.project-card-caption { position:relative; display:grid; grid-template-columns:1fr auto; gap:2px 14px; border-top:1px solid var(--ink); margin-top:5px; padding:8px 0 12px; background:#fcfcfc; }
.project-card-caption::after,.post-list article a::after { content:""; position:absolute; right:0; bottom:0; left:0; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .26s cubic-bezier(.2,.7,.2,1); }
.project-card a:hover .project-card-caption::after,.project-card a:focus-visible .project-card-caption::after,.post-list article a:hover::after,.post-list article a:focus-visible::after { transform:scaleX(1); }
.project-card a:focus-visible,.post-list article a:focus-visible,.contact-details a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.project-card h2 { grid-column:1; margin:0; font-family:"Inter",system-ui,sans-serif; font-weight:800; letter-spacing:-.045em; line-height:1.02; font-size:clamp(25px,2.6vw,38px); }
.project-card span { grid-column:1; width:max-content; max-width:100%; padding:0; background:transparent; font-size:12px; color:var(--muted); }
.project-card b { grid-column:2; grid-row:1 / span 2; align-self:center; padding-right:12px; font-size:12px; font-weight:500; white-space:nowrap; }
.project-single,.post-single,.page-standard,.contact-page { padding:5vh 0 8vh; max-width:1180px; }
.project-header { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(220px,.55fr); gap:5vw; align-items:end; margin-bottom:3vw; padding-bottom:20px; border-bottom:1px solid var(--ink); }
.project-header-title { max-width:850px; }
.project-header-note { display:grid; gap:30px; padding-bottom:4px; }
.project-header-note span { color:var(--muted); font-size:12px; }
.project-header-note a { color:var(--ink); border-bottom:1px solid var(--ink); }
.post-single header { max-width:850px; margin-bottom:3vw; }
.project-lede { font-size:18px; max-width:360px; margin:0; }
.project-hero { display:grid; grid-template-columns:minmax(0,7fr) minmax(170px,3fr); gap:18px; align-items:stretch; margin:0 0 4vw; }
.project-hero-image { width:100%; height:clamp(280px,42vw,540px); background:var(--soft); overflow:hidden; }
.project-hero img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.project-hero:hover img { transform:scale(1.018); }
.project-hero-note { display:flex; min-height:100%; flex-direction:column; justify-content:space-between; gap:24px; }
.project-description { max-width:300px; padding-top:11px; border-top:1px solid var(--ink); color:var(--ink); font-size:15px; line-height:1.46; }
.project-description p { margin:0; }
.project-description p + p { margin-top:12px; }
.project-description a { display:inline; color:inherit; font-weight:600; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:1px; transition:color .2s ease,background .2s ease; }
.project-description a:hover { color:#fff; background:var(--ink); }
.project-hero figcaption { display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--ink); padding-top:10px; color:var(--muted); font-size:12px; }
.project-hero figcaption span { color:var(--ink); }
.post-hero { margin-bottom:5vw; }
.post-hero img { width:100%; }
.project-content { max-width:none; font-size:18px; }
.project-content > :not(.rron-project-gallery) { max-width:700px; }
.post-content,.page-standard>div { max-width:700px; font-size:18px; }
.project-content>*+*,.post-content>*+*,.page-standard>div>*+* { margin-top:1.5em; }
.post-list { max-width:none; padding-bottom:5vw; }
.blog-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:16px; border-bottom:1px solid var(--ink); }
.post-list article { min-width:0; border-top:0; border-right:1px solid var(--line); padding:12px 14px 0 0; margin:0 14px 24px 0; }
.post-list article a { position:relative; display:block; }
.post-list article:nth-child(3n) { border-right:0; padding-right:0; margin-right:0; }
.post-card-image { width:100%; height:clamp(170px,21vw,300px); margin:0; background:var(--soft); overflow:hidden; }
.post-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.post-list article a:hover .post-card-image img { transform:scale(1.02); }
.post-card-content { padding:6px 0 18px; background:#fcfcfc; }
.post-card-meta { display:flex; justify-content:space-between; gap:8px; padding-bottom:5px; border-bottom:1px solid var(--ink); color:var(--muted); font-size:10px; letter-spacing:.035em; text-transform:uppercase; }
.post-list span { font-size:12px; color:var(--muted); }
.post-list h2 { font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:clamp(24px,2.35vw,36px); font-weight:800; letter-spacing:-.045em; line-height:1.02; margin:7px 0 12px; }
.post-list p { max-width:580px; margin:0; color:var(--muted); font-size:14px; }
.blog-pagination { display:flex; justify-content:space-between; align-items:center; gap:28px; border-top:0; border-bottom:1px solid var(--ink); padding:15px 0 3vw; max-width:none; }
.pagination-title { font-size:13px; color:var(--muted); }
.pagination-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:6px; }
.pagination-links a,.pagination-links .current,.pagination-links .dots { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 8px; font-size:13px; }
.pagination-links .current { color:#fff; background:var(--ink); border-radius:50%; }
.pagination-links .prev,.pagination-links .next { width:auto; padding:0 10px; border-bottom:1px solid var(--ink); border-radius:0; }
.pagination-links a:not(.prev):not(.next):hover { background:var(--soft); border-radius:50%; }
.article-navigation { max-width:1040px; border-top:1px solid var(--line); padding:16px 0 6vw; margin-top:3vw; }
.article-back { display:inline-block; font-size:13px; margin-bottom:26px; }
.article-adjacent { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.article-adjacent a { font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:clamp(20px,2.5vw,31px); font-weight:700; letter-spacing:-.03em; line-height:1.1; }
.article-adjacent a:last-child { text-align:right; }
.article-adjacent span { display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:9px; }
.contact-page { min-height:0; padding-bottom:3vw; }
.contact-header { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:end; padding-bottom:20px; border-bottom:1px solid var(--ink); }
.contact-header > div:first-child { grid-column:1 / span 7; }
.contact-header h1 { font-size:clamp(48px,6.3vw,92px); }
.contact-kicker { display:none; }
.contact-details { grid-column:9 / span 4; display:flex; flex-direction:column; gap:8px; padding-bottom:4px; font-size:16px; }
.contact-details a { position:relative; display:flex; justify-content:space-between; gap:12px; padding-bottom:7px; border-bottom:1px solid var(--ink); font-weight:600; letter-spacing:-.025em; }
.contact-details a::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .26s cubic-bezier(.2,.7,.2,1); }.contact-details a:hover::after,.contact-details a:focus-visible::after { transform:scaleX(1); }.contact-details a span { transition:transform .25s cubic-bezier(.2,.7,.2,1); }.contact-details a:hover span,.contact-details a:focus-visible span { transform:translate3d(4px,0,0); }
.contact-details a span { font-weight:400; }.contact-details p { font-size:12px; color:var(--muted); margin:10px 0 0; }
.contact-body { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; margin-top:24px; }
.contact-portrait { grid-column:1 / span 7; }
.contact-portrait { overflow:hidden; background:var(--soft); max-height:580px; }
.contact-portrait figure { margin:0; }.contact-portrait img { width:100%; height:100%; min-height:440px; object-fit:cover; object-position:center; filter:grayscale(1); transition:transform .55s cubic-bezier(.2,.7,.2,1); }.contact-portrait:hover img { transform:scale(1.018); }
.contact-intro { grid-column:8 / span 4; max-width:430px; padding-top:4px; font-size:clamp(18px,1.6vw,23px); line-height:1.3; letter-spacing:-.025em; }
.contact-intro > * { margin:0; }.contact-intro > * + * { margin-top:24px; }.contact-intro strong { font-weight:800; }.contact-intro a { border-bottom:1px solid var(--ink); }
@keyframes rail-left { to { transform:translateX(-50%); } }
@keyframes rail-right { from { transform:translateX(-50%); } to { transform:translateX(0); } }
@keyframes rron-hero-in { to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes rron-gradient-belt { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }
@keyframes rron-gradient-tilt { 0% { transform:rotate(-6deg) scale(1.08); } 50% { transform:rotate(-4deg) scale(1.1); } 100% { transform:rotate(-6deg) scale(1.08); } }
.rron-motion-ready [data-rron-reveal] { opacity:0; transform:translate3d(0,16px,0); transition:opacity .52s ease,transform .52s cubic-bezier(.2,.7,.2,1); }.rron-motion-ready [data-rron-reveal].is-revealed { opacity:1; transform:translate3d(0,0,0); }.rron-motion-ready [data-rron-reveal-group] > * { opacity:0; transform:translate3d(0,12px,0); transition:opacity .42s ease,transform .42s cubic-bezier(.2,.7,.2,1); }.rron-motion-ready [data-rron-reveal-group].is-revealed > * { opacity:1; transform:translate3d(0,0,0); }.rron-motion-ready [data-rron-reveal-group].is-revealed > :nth-child(2) { transition-delay:.07s; }.rron-motion-ready [data-rron-reveal-group].is-revealed > :nth-child(3) { transition-delay:.14s; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .gallery-track { animation:none!important; } .home-hero-image,.home-hero-gradient,.home-hero-gradient-track,.home-hero-gradient::before,.home-hero-gradient::after { transform:none!important; transition:none!important; animation:none!important; } .selected-work-preview img,.selected-work-caption,.home-links b,.project-card img,.post-card-image img,.contact-portrait img,.contact-details a span { transition:none!important; } }
@media (max-width:700px) { .work-archive-heading,.blog-archive-heading { grid-template-columns:1fr; gap:18px; padding:10vh 0 8vw; } .blog-archive-heading p:last-child { grid-column:1; grid-row:auto; } .work-archive-note { max-width:100%; } .project-grid { padding-top:8vw; } .project-card-caption { gap:3px 10px; } .project-card h2 { font-size:29px; } .project-card b { font-size:11px; } .blog-post-grid { grid-template-columns:1fr; } .post-list article,.post-list article:nth-child(3n) { border-right:0; border-bottom:1px solid var(--line); padding:0 0 24px; margin:0 0 24px; } .post-card-image { height:58vw; } }
@media (max-width:700px) { .selected-work { margin:18vw 0; } .selected-work-meta span { display:block; color:var(--ink); font-weight:700; letter-spacing:.08em; } .selected-work-layout { grid-template-columns:1fr; gap:18px; } .selected-work-preview { min-height:440px; } .selected-work-caption { left:16px; right:16px; bottom:16px; } .selected-work-picker { display:grid; grid-template-columns:1fr 1fr; border-left:1px solid var(--line); } .selected-work-item { grid-template-columns:25px 1fr; min-height:82px; padding:12px; border-top:0; border-left:0; border-right:1px solid var(--line); } .selected-work-type { display:none; } }

.lab-page { padding:clamp(54px,8vw,120px) 0 clamp(90px,12vw,170px); }
.lab-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.65fr); align-items:end; gap:40px; border-bottom:1px solid var(--ink); padding-bottom:24px; }
.lab-heading h1 { margin:4px 0 0; font-size:clamp(72px,13vw,190px); line-height:.78; letter-spacing:-.075em; }
.lab-heading > p { max-width:430px; margin:0; color:var(--muted); font-size:clamp(16px,1.7vw,23px); line-height:1.35; }
.lab-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr); gap:clamp(22px,4vw,58px); padding-top:clamp(36px,6vw,82px); }
.lab-card { border-top:1px solid var(--ink); padding-top:12px; }
.lab-card a { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(240px,.75fr); gap:24px; color:inherit; text-decoration:none; }
.lab-card-art { overflow:hidden; background:var(--soft); aspect-ratio:1; }
.lab-card-art--studio { display:grid; place-items:center; background:#17233f; }
.lab-studio-preview { position:relative; width:58%; aspect-ratio:1; transform:rotate(45deg); }
.lab-studio-preview i { position:absolute; inset:0; border:clamp(7px,1vw,13px) solid #e9b34a; }
.lab-studio-preview i:nth-child(2) { inset:13%; border-color:#378bc9; }
.lab-studio-preview i:nth-child(3) { inset:26%; border-color:#c84936; }
.lab-studio-preview i:nth-child(4) { inset:39%; border-color:#eee8dc; }
.lab-card-art [data-daily-poster],.lab-card-art svg { display:block; width:100%; height:100%; }
.lab-card-copy { display:flex; flex-direction:column; align-items:flex-start; }
.lab-card-copy span { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.lab-card-copy h2 { margin:12px 0 18px; font-size:clamp(30px,4vw,58px); line-height:.92; letter-spacing:-.055em; }
.lab-card-copy p { margin:0; color:var(--muted); line-height:1.55; }
.lab-card-copy b { margin-top:auto; padding-top:32px; font-size:13px; }
.lab-card-future { display:flex; min-height:430px; flex-direction:column; }
.lab-future-mark { display:grid; grid-template-columns:1fr 1fr; width:100%; aspect-ratio:1.25; margin-bottom:24px; background:var(--soft); }
.lab-future-mark span:nth-child(1),.lab-future-mark span:nth-child(4) { background:var(--ink); }
.lab-future-mark span:nth-child(2) { border-radius:100% 0 0; background:#dfaa2c; }
.lab-future-mark span:nth-child(3) { background:#4475bb; clip-path:polygon(0 0,100% 50%,0 100%); }
@media (max-width:900px) { .lab-grid,.lab-card a { grid-template-columns:1fr; } .lab-card-future { min-height:0; } }
@media (max-width:700px) { .lab-page { padding-top:42px; } .lab-heading { grid-template-columns:1fr; gap:22px; } .lab-heading h1 { font-size:84px; } .lab-grid { gap:58px; } }

/* 4.7.1: refined navigation, motion and Lab presentation. */
.home-links { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.home-links a { grid-template-columns:22px minmax(0,1fr) auto; gap:8px; padding:16px 10px; font-size:16px; }
.daily-feature-header .eyebrow,.selected-work-meta span { font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; line-height:1.2; text-transform:uppercase; }
.home-hero-image { transition-duration:4.2s; transition-timing-function:cubic-bezier(.16,1,.3,1); }
.rron-motion-ready .home-intro > .eyebrow,.rron-motion-ready .home-intro > h1,.rron-motion-ready .home-intro > .intro-copy { transform:translate3d(0,28px,0); animation-duration:1.25s; animation-timing-function:cubic-bezier(.16,1,.3,1); }
.rron-motion-ready .home-intro > h1 { animation-delay:.2s; }
.rron-motion-ready .home-intro > .intro-copy { animation-delay:.4s; }
.rron-motion-ready .home-intro > .eyebrow { animation-delay:.52s; }
.rron-motion-ready .home-intro > h1 { animation-delay:.7s; }
.rron-motion-ready .home-intro > .intro-copy { animation-delay:.9s; }
.rron-motion-ready [data-rron-reveal] { transform:translate3d(0,22px,0); transition-duration:.78s; transition-timing-function:cubic-bezier(.16,1,.3,1); }
.rron-motion-ready [data-rron-reveal-group] > * { transform:translate3d(0,18px,0); transition-duration:.66s; transition-timing-function:cubic-bezier(.16,1,.3,1); }
.lab-page { padding:0 0 clamp(80px,10vw,150px); }
.lab-heading { grid-template-columns:1fr minmax(240px,.6fr) auto; gap:30px; padding:5vh 0 2.5vw; }
.lab-heading h1 { margin:0; font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:clamp(44px,7vw,105px); font-weight:800; letter-spacing:-.04em; line-height:.98; }
.lab-heading > p { max-width:390px; font-size:14px; }
.lab-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,3vw,44px); padding-top:clamp(34px,5vw,68px); }
.lab-card { min-width:0; border-top:0; padding-top:0; }
.lab-card a { display:block; }
.lab-card-art { position:relative; aspect-ratio:1; overflow:hidden; transition:transform .72s cubic-bezier(.16,1,.3,1); }
.lab-card:hover .lab-card-art,.lab-card:focus-within .lab-card-art { transform:translate3d(0,-5px,0); }
.lab-card-copy { position:relative; display:grid; grid-template-columns:1fr auto; gap:4px 12px; border-top:1px solid var(--ink); margin-top:6px; padding:9px 0 13px; }
.lab-card-copy::after { content:""; position:absolute; right:0; bottom:0; left:0; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .32s cubic-bezier(.16,1,.3,1); }
.lab-card:hover .lab-card-copy::after,.lab-card:focus-within .lab-card-copy::after { transform:scaleX(1); }
.lab-card-copy span,.lab-card-copy h2,.lab-card-copy p,.lab-card-copy b { grid-column:1 / -1; }
.lab-card-copy h2 { margin:2px 0 5px; font-size:clamp(25px,2.7vw,40px); line-height:1; }
.lab-card-copy p { max-width:34em; font-size:13px; }
.lab-card-copy b { margin-top:16px; padding-top:0; }
.lab-card-preview .lab-card-copy h2 { font-size:clamp(22px,2.2vw,32px); }
.lab-coming-soon { max-width:620px; margin:clamp(34px,5vw,66px) 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.lab-preview-one { display:grid; grid-template-columns:1fr 1fr; background:#f0efec; }
.lab-preview-one span:nth-child(1),.lab-preview-one span:nth-child(4) { background:#111; }
.lab-preview-one span:nth-child(2) { border-radius:100% 0 0; background:#e4ad28; }
.lab-preview-one span:nth-child(3) { background:#4b79bd; clip-path:polygon(0 0,100% 50%,0 100%); }
.lab-preview-two { background:#202034; }
.lab-preview-two span { position:absolute; display:block; }
.lab-preview-two span:nth-child(1) { inset:18% 18% auto; height:12%; background:#f0b82e; }
.lab-preview-two span:nth-child(2) { inset:35% 24% auto; height:9%; background:#efeee8; }
.lab-preview-two span:nth-child(3) { width:42%; aspect-ratio:1; left:29%; top:48%; border:clamp(10px,2vw,24px) solid #3c78bd; border-radius:50%; }
.lab-preview-two span:nth-child(4) { width:8%; height:64%; left:46%; top:18%; background:#bd3a2b; }
.lab-preview-two span:nth-child(5) { width:18%; aspect-ratio:1; left:41%; top:63%; background:#f0b82e; transform:rotate(45deg); }
.project-card,.post-list article,.lab-card { content-visibility:auto; contain-intrinsic-size:auto 520px; }
@media (max-width:900px) { .lab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .lab-card-featured { grid-column:1 / -1; } .lab-card-featured a { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr); gap:24px; align-items:end; } }
@media (max-width:700px) { .lab-page { padding-top:0; } .lab-heading { grid-template-columns:1fr; gap:18px; padding:36px 0 8vw; } .lab-heading h1 { font-size:clamp(44px,18vw,84px); } .lab-heading > p { max-width:100%; } .lab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 10px; } .lab-card-featured { grid-column:1 / -1; } .lab-card-featured a { display:block; } .lab-card-preview .lab-card-copy h2 { font-size:20px; } .lab-card-copy span { font-size:9px; } .lab-coming-soon { margin-top:36px; font-size:11px; } }
@media (max-width:700px) { .site-header,.site-footer,.site-content { padding-left:22px; padding-right:22px; } .site-header { padding-top:20px; } .site-menu { gap:12px; font-size:12px; } .home-intro { padding-top:12vh; } .kinetic-gallery { margin-left:-22px; margin-right:-22px; } .gallery-meta { padding-left:22px; padding-right:22px; } .gallery-note { display:none; } .rail-piece { width:220px; height:150px; } .rail-piece:nth-child(3n+2) { width:130px; } .rail-piece:nth-child(4n) { width:250px; } .gallery-empty { margin-left:22px; margin-right:22px; } .home-links { display:block; margin-bottom:18vw; } .home-links a { margin-right:0; } .project-grid { grid-template-columns:1fr; gap:32px; } .project-single,.post-single,.page-standard,.contact-page { padding-top:10vh; } .project-header,.project-hero { grid-template-columns:1fr; gap:22px; } .project-header-note { gap:16px; } .project-hero-image { height:70vw; } .contact-grid,.article-adjacent { grid-template-columns:1fr; gap:38px; } .article-adjacent a:last-child { text-align:left; } .site-footer { gap:10px; flex-wrap:wrap; } }

/* Daily Geometric Studies */
.daily-feature { margin:clamp(54px,8vw,118px) 0 clamp(68px,9vw,132px); }
.daily-feature-header { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--ink); padding:10px 0 14px; }
.daily-feature-header .eyebrow { margin:0; color:var(--ink); }
.daily-feature-header time,.daily-study-index { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.045em; }
.daily-feature-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:clamp(24px,4vw,68px); align-items:end; }
.daily-feature-art { width:100%; }
.daily-poster-canvas { position:relative; width:100%; aspect-ratio:1; overflow:hidden; background:#eee8dc; }
.daily-poster-canvas svg { display:block; width:100%; height:100%; }
.daily-feature-copy { max-width:390px; padding-bottom:4px; }
.daily-feature-copy h2 { margin:8px 0 18px; font-family:"Inter",system-ui,sans-serif; font-size:clamp(32px,4vw,58px); font-weight:800; letter-spacing:-.05em; line-height:.96; }
.daily-feature-copy > p:not(.daily-study-index) { max-width:340px; margin:0; color:var(--muted); font-size:14px; }
.daily-feature-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin-top:34px; }
.daily-feature-actions a,.daily-detail-tools button,.daily-feature-actions button { border:0; border-bottom:1px solid currentColor; padding:5px 0; background:transparent; color:var(--ink); font:inherit; font-size:13px; cursor:pointer; }
.daily-feature-actions button,.daily-detail-tools button { color:var(--muted); }
.daily-feature-actions a:focus-visible,.daily-feature-actions button:focus-visible,.daily-detail-tools button:focus-visible,.daily-pagination a:focus-visible,.daily-detail-navigation a:focus-visible,.daily-study-card a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }

.daily-archive,.daily-detail { padding:clamp(50px,7vw,100px) 0 clamp(80px,10vw,150px); }
.daily-archive-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.4fr) auto; gap:32px; align-items:end; padding-bottom:22px; border-bottom:1px solid var(--ink); }
.daily-archive-heading .eyebrow { margin-bottom:12px; }
.daily-archive-heading h1,.daily-detail-heading h1 { max-width:930px; margin:0; font-family:"Inter",system-ui,sans-serif; font-size:clamp(46px,7.2vw,106px); font-weight:800; letter-spacing:-.055em; line-height:.9; }
.daily-archive-heading > p { max-width:350px; margin:0; color:var(--muted); font-size:14px; }
.daily-archive-heading > span { color:var(--muted); font-size:12px; white-space:nowrap; }
.daily-archive-feature { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:clamp(24px,4vw,68px); align-items:end; padding:clamp(36px,5vw,72px) 0; border-bottom:1px solid var(--ink); }
.daily-archive-feature-art { width:100%; }
.daily-archive-feature-copy { max-width:390px; padding-bottom:4px; }
.daily-archive-feature-copy .eyebrow { margin:0 0 8px; color:var(--ink); font-weight:700; }
.daily-archive-feature-copy h2 { margin:0 0 5px; font-family:"Inter",system-ui,sans-serif; font-size:clamp(34px,4vw,58px); font-weight:800; letter-spacing:-.05em; line-height:.96; }
.daily-archive-feature-copy time { color:var(--muted); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.daily-archive-feature-copy > p:not(.eyebrow) { max-width:350px; margin:22px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.daily-archive-feature .daily-feature-actions { align-items:flex-start; flex-direction:column; gap:10px; margin-top:28px; }
.daily-archive-feature .daily-feature-actions .daily-export { font-size:13px; }
.daily-date-search { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:28px 0 44px; padding:20px 0; border-bottom:1px solid rgba(22,22,22,.22); }
.daily-date-search label { font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.daily-date-search > div { display:flex; gap:8px; }
.daily-date-search input,.daily-date-search button { min-height:40px; padding:9px 12px; border:1px solid var(--ink); border-radius:0; background:transparent; color:var(--ink); font:inherit; }
.daily-date-search button { cursor:pointer; background:var(--ink); color:var(--paper); font-size:12px; font-weight:700; }
.daily-date-search > p { margin:0; color:#9f2f25; font-size:12px; }
.daily-past-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:20px; }
.daily-past-heading h2 { margin:0; font-family:"Inter",system-ui,sans-serif; font-size:clamp(28px,3.5vw,48px); font-weight:800; letter-spacing:-.045em; }
.daily-past-heading span { color:var(--muted); font-size:12px; }
.daily-study-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(26px,4vw,62px) 16px; padding-top:18px; }
.daily-study-card { min-width:0; }
.daily-study-card a { display:block; }
.daily-study-card .daily-poster-canvas { transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.daily-study-card a:hover .daily-poster-canvas { transform:translate3d(0,-4px,0); }
.daily-study-card-caption { display:flex; justify-content:space-between; gap:14px; border-top:1px solid var(--ink); margin-top:6px; padding-top:8px; font-size:12px; }
.daily-study-card-caption strong { font-weight:600; }
.daily-study-card-caption time { color:var(--muted); }
.daily-export { appearance:none; border:0; border-bottom:1px solid currentColor; padding:2px 0; background:transparent; color:var(--muted); font:inherit; font-size:9px; letter-spacing:.02em; cursor:pointer; }
.daily-study-card > .daily-export { margin-top:5px; }
.daily-export:hover { color:var(--ink); }
.daily-export:disabled { cursor:wait; opacity:.55; }
.daily-export:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.daily-pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; margin-top:clamp(58px,8vw,110px); border-top:1px solid var(--ink); padding-top:14px; font-size:13px; }
.daily-pagination a:last-child { text-align:right; }
.daily-pagination span { color:var(--muted); font-size:12px; }

.daily-detail { max-width:1180px; margin:0 auto; }
.daily-detail-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:end; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--ink); }
.daily-detail-heading h1 { font-size:clamp(42px,6vw,84px); }
.daily-detail-heading .eyebrow { margin-bottom:14px; }
.daily-detail-heading time { padding-bottom:5px; color:var(--muted); font-size:13px; }
.daily-detail-art { width:min(100%,920px); margin:0 auto; }
.daily-detail-tools { display:flex; justify-content:space-between; align-items:center; gap:24px; width:min(100%,920px); margin:12px auto 0; }
.daily-detail-tools p { margin:0; color:var(--muted); font-size:12px; }
.daily-detail-tools code { color:var(--ink); font-family:inherit; }
.daily-detail-navigation { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:24px; margin-top:clamp(60px,9vw,130px); border-top:1px solid var(--ink); padding-top:16px; }
.daily-detail-navigation div:last-child { text-align:right; }
.daily-detail-navigation a { display:inline-block; font-weight:600; }
.daily-detail-navigation span { display:block; margin-bottom:5px; color:var(--muted); font-size:11px; font-weight:400; letter-spacing:.05em; text-transform:uppercase; }
.daily-back { color:var(--muted); font-size:13px; font-weight:400!important; }

@media (prefers-reduced-motion:reduce) { .daily-study-card .daily-poster-canvas { transition:none!important; } }
@media (max-width:900px) { .daily-study-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .daily-archive-heading { grid-template-columns:1fr auto; } .daily-archive-heading > p { grid-column:1; } }
@media (max-width:700px) {
	.daily-archive-feature { grid-template-columns:1fr; gap:24px; }
	.daily-archive-feature-copy { max-width:none; }
	.daily-feature { width:calc(100% + 44px); margin-left:-22px; margin-right:-22px; }
	.daily-feature-header,.daily-feature-copy { margin-left:22px; margin-right:22px; }
	.daily-feature-layout { grid-template-columns:1fr; gap:24px; }
	.daily-feature-copy { padding-bottom:0; }
	.daily-feature-copy h2 { font-size:38px; }
	.daily-archive,.daily-detail { padding-top:64px; }
	.daily-archive-heading,.daily-detail-heading { grid-template-columns:1fr; gap:18px; }
	.daily-archive-heading > p { grid-column:auto; }
	.daily-archive-heading > span { align-self:start; }
	.daily-date-search { align-items:stretch; flex-direction:column; }
	.daily-date-search > div { width:100%; }
	.daily-date-search input { flex:1; min-width:0; }
	.daily-study-grid { grid-template-columns:1fr; gap:44px; }
	.daily-study-card-caption { padding-left:1px; padding-right:1px; }
	.daily-detail-heading time { padding:0; }
	.daily-detail-tools { align-items:flex-start; }
	.daily-detail-navigation { grid-template-columns:1fr 1fr; }
	.daily-detail-navigation .daily-back { grid-column:1 / -1; grid-row:2; margin-top:24px; }
}
