/* Ryan's personal portfolio: an editorial workbench, with motion as an accent. */
:root{--paper:#f8f8f5;--red:#f34828;--ink:#191919;--accent:#dafa71}
.personal-hero{padding:12px var(--gutter) 36px;max-width:1800px;margin:auto}.intro-meta{border-top:1px solid var(--ink);padding-top:15px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.035em}.personal-stage{display:grid;grid-template-columns:1fr 1.04fr;gap:2vw;align-items:center;min-height:620px;padding:25px 0 35px}.personal-intro{position:relative;z-index:2}.hello{font-size:20px;letter-spacing:-.025em;margin-bottom:28px}.personal-intro h1{font-size:clamp(62px,7.6vw,120px);line-height:.98;letter-spacing:-.062em;font-weight:600}.personal-intro h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em;color:var(--red);white-space:nowrap}.personal-description{font-size:18px;line-height:1.5;max-width:415px;margin-top:30px}.work-button{display:inline-flex;gap:24px;align-items:center;font-size:14px;font-weight:500;background:var(--ink);color:white;padding:16px 20px;border-radius:999px;margin-top:28px;transition:background .2s,color .2s}.work-button span{font-size:12px;color:var(--accent)}.work-button:hover{background:var(--red)}.work-button:hover span{color:white}.workbench{position:relative;min-width:0;height:580px}.bench-note{position:absolute;top:0;right:10%;font-family:Georgia,serif;font-style:italic;font-size:19px;transform:rotate(5deg)}.bench-star{position:absolute;left:5%;top:2%;color:var(--red);font-family:Arial,sans-serif;font-size:90px;line-height:1;transform:rotate(var(--star-turn,0deg));will-change:transform}.bench-piece{position:absolute;display:block;padding:10px 10px 13px;background:white;box-shadow:0 7px 25px #0000001a;transform:translateY(var(--drift,0px)) rotate(var(--angle));transition:box-shadow .3s;transform-origin:center;will-change:transform}.bench-piece:hover,.bench-piece:focus-visible{z-index:5;box-shadow:0 15px 38px #00000030}.bench-art{overflow:hidden;background:#ededeb}.bench-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.bench-piece:hover img{transform:scale(1.04)}.bench-caption{display:block;font-size:14px;font-weight:550;line-height:1.3;padding-top:10px}.bench-caption small{font-size:12px;font-weight:400;display:block;margin-top:3px;color:#62625e}.bench-dream{--angle:-7deg;top:16%;left:2%;width:71%;z-index:2}.bench-dream .bench-art{aspect-ratio:1.6}.bench-identity{--angle:9deg;top:5%;right:0;width:39%;z-index:3}.bench-identity .bench-art{aspect-ratio:1.1}.bench-objects{--angle:5deg;bottom:0;right:3%;width:54%;z-index:3}.bench-objects .bench-art{aspect-ratio:1.5}.hero-footnote{display:flex;justify-content:space-between;gap:20px;font-size:13px;line-height:1.4;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}
@media(min-width:1600px){.personal-stage{min-height:720px}.workbench{height:660px}}
@media(max-width:1000px){.personal-stage{min-height:530px;grid-template-columns:1fr 1fr}.personal-intro h1{font-size:7.6vw}.workbench{height:465px}.hello{font-size:18px;margin-bottom:22px}.personal-description{font-size:16px;max-width:340px}.bench-note{font-size:16px;right:2%}.bench-star{font-size:70px;top:5%;left:0}.bench-dream{top:22%;width:81%;left:0}.bench-identity{width:47%;top:10%}.bench-objects{width:65%;bottom:1%;right:0}.bench-caption{font-size:13px}.bench-caption small{font-size:12px}.bench-piece{padding:7px 7px 10px}}
@media(max-width:700px){.personal-hero{padding-top:6px;padding-bottom:32px}.intro-meta{font-size:12px;line-height:1.4}.intro-meta span:first-child{max-width:190px}.intro-meta span:last-child{text-align:right}.personal-stage{grid-template-columns:1fr;gap:18px;padding-top:35px;padding-bottom:25px}.hello{font-size:18px;margin-bottom:22px}.personal-intro h1{font-size:clamp(58px,12.5vw,87px);letter-spacing:-.05em}.personal-intro h1 em{letter-spacing:-.065em}.personal-description{max-width:420px;font-size:17px;margin-top:23px}.work-button{margin-top:24px}.workbench{height:480px;margin:15px 6px 0}.bench-note{right:10%;font-size:17px}.bench-star{font-size:65px;top:2%;left:5%}.bench-dream{top:19%;width:72%;left:2%}.bench-identity{width:41%;top:7%;right:1%}.bench-objects{width:57%;bottom:2%;right:4%}.hero-footnote{flex-direction:column;gap:7px}.bench-caption{font-size:14px}}
@media(max-width:420px){.personal-intro h1{font-size:14.2vw}.workbench{height:360px;margin-left:0;margin-right:0}.bench-note{font-size:15px;right:2%}.bench-dream{width:78%;top:22%;left:0}.bench-identity{width:44%;right:0;top:9%}.bench-objects{width:61%;right:1%;bottom:0}.bench-caption{font-size:12px}.bench-caption small{font-size:12px}.bench-star{font-size:53px}.work-button{font-size:14px;gap:20px;padding:15px 18px}.hero-footnote{font-size:12px}}
@media(prefers-reduced-motion:reduce){.bench-piece{transform:rotate(var(--angle))!important}.bench-star{transform:none!important}}
/* Personal identity and accessible motion controls. */
.site-header .personal-brand,.home-page .site-header .personal-brand{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:650;letter-spacing:-.045em;line-height:1.2}.personal-brand>span{position:static;font-size:28px;color:var(--red);line-height:1}.site-header nav{gap:28px}.site-header nav a{text-underline-offset:5px}.motion-toggle{appearance:none;font:inherit;font-size:13px;line-height:1.3;min-height:44px;padding:9px 16px;border:1px solid currentColor;border-radius:30px;color:inherit;background:transparent;cursor:pointer;white-space:nowrap}.motion-toggle:hover{background:var(--ink);color:var(--paper)}.motion-toggle:disabled{cursor:default;opacity:.65}.motion-toggle[hidden]{display:none!important}.hero-footnote{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:22px}.small-footer{align-items:center}.small-footer .motion-toggle:hover{background:var(--paper);color:var(--ink)}.bench-identity .bench-art{aspect-ratio:1.4;background:black}.bench-identity img{object-fit:contain}.bench-identity{top:6%}.bench-caption{position:relative;z-index:1}.work-heading h2 em,.large-copy em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.06em;color:var(--red)}.work-heading h2{line-height:1.08;letter-spacing:-.055em}.work-heading{margin-bottom:15px}.featured-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:55px 5vw;align-items:start}.featured-grid .work-card:nth-child(1),.featured-grid .work-card:nth-child(4){grid-column:span 7}.featured-grid .work-card:nth-child(2),.featured-grid .work-card:nth-child(3){grid-column:span 5}.featured-grid .work-card:nth-child(2){padding-top:125px}.featured-grid .work-card:nth-child(3){padding-top:30px}.featured-grid .work-card:nth-child(1) .work-image{aspect-ratio:1.25;background:black}.featured-grid .work-card:nth-child(1) img{object-fit:contain}.featured-grid .work-card:nth-child(2) .work-image{aspect-ratio:.96;background:#dbe6ee;padding:20px}.featured-grid .work-card:nth-child(2) img{object-fit:contain}.featured-grid .work-card:nth-child(3) .work-image{aspect-ratio:1.1}.featured-grid .work-card:nth-child(4) .work-image{aspect-ratio:1.4}.work-caption h3{letter-spacing:-.04em}.work-image{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .22s ease-out}.view-circle,.archive-card .view-circle{font-size:13px;width:52px;height:52px;font-weight:500}.work-card:hover .view-circle{transform:none;background:var(--accent)}.work-index{border:1px solid var(--line);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;padding:0;flex:none;font-size:12px}.archive-heading{margin-top:100px}.archive-heading h2{font-size:clamp(30px,3.4vw,48px);line-height:1.05;letter-spacing:-.05em}.archive-heading p{max-width:300px;justify-self:center}.archive-grid{row-gap:56px;column-gap:28px}.archive-card:nth-child(3n+2){padding-top:40px}.archive-card:nth-child(3n+1) .work-image{aspect-ratio:1.1}.archive-card:nth-child(3n+2) .work-image{aspect-ratio:1.4}.archive-card:nth-child(3n) .work-image{aspect-ratio:1.2}.capabilities{background:var(--accent);padding-bottom:70px}.capability-row{transition:none;transform:none}.capability-row h3{transform:translateX(var(--line-shift,0px)) scale(var(--line-scale,1));transform-origin:left center;font-size:clamp(32px,5.4vw,80px);letter-spacing:-.05em}.capability-row>span{font-size:13px}.capability-row:nth-child(2) h3{font-family:Georgia,serif;font-style:italic;font-weight:400}.capability-row h3{will-change:transform}.contact-title{font-size:clamp(50px,9.4vw,145px);letter-spacing:-.055em;line-height:1.04}.contact-title:hover{color:var(--accent)}.about-copy .large-copy{line-height:1.15}.next-work>span.next-label{font-size:14px;line-height:1.4;border:1px solid currentColor;border-radius:999px;padding:14px 18px;white-space:nowrap}.next-work:hover>span.next-label{transform:none;background:var(--ink);color:var(--paper)}.project-intro h1{letter-spacing:-.045em}.project-page[data-theme="sport"] .project-intro{background:#171717;color:var(--paper);padding-top:25px;padding-bottom:50px;margin-bottom:25px}.project-page[data-theme="sport"] .project-intro h1{font-weight:750;letter-spacing:-.04em}.project-page[data-theme="sport"] .project-topline{border-color:#777}.project-page[data-theme="sport"] .project-deck em{color:#ccc}.project-page[data-theme="legacy"] .project-intro{background:#153a73;color:#fff;padding-top:25px;padding-bottom:50px;margin-bottom:25px}.project-page[data-theme="legacy"] .project-intro h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em;line-height:1.03}.project-page[data-theme="legacy"] .project-topline{border-color:#8198b9}.project-page[data-theme="legacy"] .project-deck em{color:#e5ecf4}.project-page[data-theme="dream"] .project-intro{border-bottom:8px solid var(--red);margin-bottom:28px}.project-page .project-story h2{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.055em}.project-page .project-intro a:focus-visible{outline-color:currentColor}.project-page .project-cover{overflow:hidden}.project-page .gallery-figure{min-width:0}
/* An asterisk signature, with stillness by default and optional motion. */
.signature-star{display:inline-block;flex:none;font-family:Arial,sans-serif;font-weight:400;font-style:normal;line-height:1;letter-spacing:0;color:var(--red);user-select:none}
.signature-label{display:flex;align-items:center;gap:12px}.signature-label>.signature-star{font-size:24px}.archive-heading h2.signature-label{gap:16px}.archive-heading h2.signature-label>.signature-star{font-size:37px}.footer-signature{display:inline-flex;gap:9px;align-items:center}.footer-signature>.signature-star{font-size:24px}
.view-circle,.archive-card .view-circle{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;height:42px;padding:0 13px;border-radius:999px;font-size:13px}.view-circle .signature-star{font-size:23px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.work-card:focus-visible .view-circle{background:var(--accent)}.work-card:hover .view-star,.work-card:focus-visible .view-star{transform:rotate(90deg)}
.contact-stage{display:grid;grid-template-columns:minmax(0,1fr) clamp(120px,15vw,230px);align-items:center;gap:4vw;margin:65px 0 75px}.contact-stage .contact-title{font-size:clamp(48px,8.7vw,134px);margin:0}.contact-star{font-size:clamp(120px,15vw,230px);text-align:center;pointer-events:none;transform:rotate(var(--signature-turn,0deg));transform-origin:center;line-height:1.1}
[data-motion="off"] .signature-star{transform:none!important}
@media(max-width:700px){.contact-stage{gap:20px;grid-template-columns:minmax(0,1fr) 84px;margin:48px 0 55px}.contact-stage .contact-title{font-size:8.5vw}.contact-star{font-size:84px}.archive-heading h2.signature-label{gap:12px}.archive-heading h2.signature-label>.signature-star{font-size:29px}}
@media(max-width:600px){.contact-stage{grid-template-columns:1fr;gap:12px;margin:24px 0 45px}.contact-star{grid-row:1;justify-self:end;font-size:84px}.contact-stage .contact-title{font-size:11vw}.view-circle,.archive-card .view-circle{height:40px;padding:0 12px}.signature-label{gap:10px}.signature-label>.signature-star{font-size:22px}}
@media(prefers-reduced-motion:reduce){.signature-star{transform:none!important;transition:none!important}}
/* Keep the skip link focusable even with reduced motion or JavaScript disabled. */
.skip-link{display:block!important;position:fixed;top:8px;left:8px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;transform:none!important}.skip-link:focus{width:auto;height:auto;clip-path:none;padding:12px 20px;overflow:visible;z-index:100;background:var(--ink);color:white}
[data-motion="off"] .work-image,[data-motion="off"] .capability-row h3{transform:none!important}[data-motion="off"] *,[data-motion="off"] *::before,[data-motion="off"] *::after{animation:none!important;transition:none!important}[data-motion="off"] .bench-piece{transform:rotate(var(--angle))!important}[data-motion="off"] .bench-star{transform:none!important}[data-motion="off"] .work-card:hover img,[data-motion="off"] .bench-piece:hover img{transform:none}
@media(max-width:1000px){.featured-grid{gap:45px 30px}.featured-grid .work-card:nth-child(2){padding-top:95px}.hero-footnote{grid-template-columns:1fr auto}.hero-footnote>span:nth-child(2){grid-column:1;grid-row:2}.hero-footnote .motion-toggle{grid-column:2;grid-row:1/3}.hero-footnote{gap:6px 16px}.bench-identity{top:6%}.archive-grid{column-gap:20px}.archive-heading p{justify-self:start}.archive-card:nth-child(3n+2){padding-top:0}.archive-card:nth-child(even){padding-top:36px}.archive-card:nth-child(3n+1) .work-image,.archive-card:nth-child(3n+2) .work-image,.archive-card:nth-child(3n) .work-image{aspect-ratio:1.25}.next-work{gap:30px}}
@media(max-width:700px){.site-header,.home-page .site-header{grid-template-columns:1fr;gap:16px;padding-top:20px;padding-bottom:20px}.site-header .personal-brand,.home-page .site-header .personal-brand{font-size:20px}.site-header nav{width:100%;justify-content:space-between;gap:15px;font-size:14px}.site-header nav a{padding:0;min-height:36px;display:flex;align-items:center}.site-header nav sup{display:none}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}.featured-grid .work-card:nth-child(n){grid-column:auto;padding-top:0}.featured-grid .work-card:nth-child(even){padding-top:55px}.featured-grid .work-card:nth-child(2) .work-image{padding:10px}.archive-heading{margin-top:65px}.archive-heading h2{font-size:34px}.capability-row h3{font-size:7.2vw}.contact-title{font-size:10.2vw}.next-work{align-items:start;flex-direction:column}.next-work strong{font-size:11vw}.small-footer{align-items:start}.personal-stage{padding-top:28px}.hero-footnote>span{font-size:12px}.project-page[data-theme="legacy"] .project-intro h1{font-size:12vw}.project-story h2 br{display:initial}}
@media(max-width:600px){.featured-grid{grid-template-columns:1fr;gap:38px}.featured-grid .work-card:nth-child(n){padding-top:0}.featured-grid .work-card:nth-child(2){padding:0 6%}.featured-grid .work-card:nth-child(3){padding-right:9%}.featured-grid .work-card:nth-child(1) .work-image{aspect-ratio:1.35}.featured-grid .work-card:nth-child(2) .work-image{aspect-ratio:1.12;padding:15px}.featured-grid .work-card:nth-child(3) .work-image{aspect-ratio:1.25}.featured-grid .work-card:nth-child(4) .work-image{aspect-ratio:1.3}.work-heading h2{font-size:11.5vw;line-height:1.08}.archive-card:nth-child(n){padding-top:0}.archive-card:nth-child(n) .work-image{aspect-ratio:1.4}.archive-grid{gap:34px}.archive-heading h2{font-size:32px}.archive-heading>span{align-self:start}.capability-row h3{font-size:8.1vw}.capabilities{padding-bottom:40px}.contact-title{font-size:11vw;line-height:1.14;margin:40px 0 50px}.footer-bottom{font-size:14px}.about-copy .large-copy{font-size:9.4vw;line-height:1.2}.hero-footnote .motion-toggle{font-size:12px;padding:9px 12px}.bench-identity{top:7%}.personal-intro h1{line-height:1.02}.project-page[data-theme="sport"] .project-intro h1{font-size:12.2vw}}
@media(prefers-reduced-motion:reduce){.work-image,.capability-row h3{transform:none!important}.skip-link{display:block!important}.bench-piece{transform:rotate(var(--angle))!important}.bench-star{transform:none!important}}
@media(max-width:600px){.workbench{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;height:auto;margin:22px 2px 0;padding:0 6px 12px}.bench-note{position:static;grid-column:1/-1;justify-self:start;transform:rotate(-3deg);font-size:16px;margin-bottom:4px}.bench-star{right:6px;left:auto;top:-8px;font-size:35px}.bench-piece{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;min-width:0;padding:7px 7px 12px}.bench-dream{--angle:-3deg;grid-column:1/-1;width:90%;justify-self:center}.bench-identity{--angle:3deg;grid-column:1}.bench-objects{--angle:-3deg;grid-column:2}.bench-dream .bench-art{aspect-ratio:1.65}.bench-identity .bench-art,.bench-objects .bench-art{aspect-ratio:1.2}.bench-caption{font-size:12px;line-height:1.4;padding-top:8px}.bench-caption small{font-size:12px;line-height:1.4}.bench-objects .bench-art img{object-fit:contain}}
