@font-face{font-family:Manrope;src:url('fonts/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#f3f1e9;--ink:#18333c;--muted:#526165;--line:#c8cbc3;--red:#9b402e;--wash:#e8e9e1;--sans:Manrope,Arial,sans-serif;--type-heading:clamp(1.75rem,3vw,2.5rem);--type-display:clamp(3rem,6.4vw,6.5rem);--type-body:1rem;--type-label:.75rem;--weight-heading:600;--weight-body:400;--weight-label:500;--gutter:clamp(22px,5vw,88px);--space:clamp(72px,9vw,140px)}
:root{color-scheme:light;--inverse-muted:#c7d0cd;--inverse-accent:#eabca3;--inverse-line:#536a6e;--inverse-strong-line:#92a1a0;--portrait-blend:multiply;--action-on-paper:#245fc2;--action-hover-on-paper:#1b4695;--action-on-ink:#95c5ff;--action-hover-on-ink:#c6dfff;--action:var(--action-on-paper);--action-hover:var(--action-hover-on-paper)}
@media screen{
 :root[data-theme="dark"]{color-scheme:dark;--paper:#18333c;--ink:#f3f1e9;--muted:#bcc8c5;--line:#536a6e;--red:#e4a28b;--wash:#203d46;--inverse-muted:#526165;--inverse-accent:#9b402e;--inverse-line:#c8cbc3;--inverse-strong-line:#526165;--portrait-blend:normal;--action-on-paper:#95c5ff;--action-hover-on-paper:#c6dfff;--action-on-ink:#245fc2;--action-hover-on-ink:#1b4695}
}
/* Action colours follow the surface, including panels that reverse the theme. */
.rambus-feature,.site-footer,.case-cover,.skip-link{--action:var(--action-on-ink);--action-hover:var(--action-hover-on-ink)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px;background:var(--paper);color:var(--ink)}
body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
::selection{background:#d7b8a8;color:#142f37}
h1,h2,h3,p,figure{margin:0}
a{color:var(--action);text-underline-offset:.24em;text-decoration-thickness:1px}
a:hover{color:var(--action-hover)}
button,summary{color:var(--action);cursor:pointer}
button:hover,summary:hover{color:var(--action-hover)}
button,a{-webkit-tap-highlight-color:transparent}
button:disabled{cursor:default}
:focus-visible{outline:2px solid var(--action);outline-offset:6px}
img{display:block;max-width:100%;height:auto}
button{border:0;background:none}
/* Typography: titles 600, reading text 400, labels and controls 500. */
body{font-family:var(--sans);font-size:var(--type-body);font-weight:var(--weight-body);line-height:1.75;letter-spacing:0}
h1,h2,h3{font:inherit;font-size:var(--type-heading);font-weight:var(--weight-heading);line-height:1.2;letter-spacing:-.02em}
.hero h1,.case-hero h1{font-size:var(--type-display);line-height:1.12}
strong,b{font-weight:var(--weight-heading)}
button{font:inherit}
.brand{font-size:var(--type-heading);font-weight:var(--weight-heading);line-height:1;letter-spacing:-.02em}
.header-name,nav a,.theme-toggle,.art-about,.art-controls,.art-tooltip,.eyebrow,.project-kicker,.text-link,.image-action,figcaption,.project-scope,.small-note,.document-note,.file-meta,.footer-bottom>p,.footer-actions,.colophon,.viewer-toolbar>p,.viewer-toolbar button,.viewer-help,.breadcrumb,.case-facts dt,.case-index,.step-number,.art-margin{font-size:var(--type-label);font-weight:var(--weight-label);line-height:1.5;letter-spacing:0}
.eyebrow,.project-kicker,.case-facts dt,.case-index>p,.art-margin{text-transform:uppercase;letter-spacing:.08em}
.approach-list h3{font-size:var(--type-body);font-weight:var(--weight-label);line-height:1.5;letter-spacing:0}
.project-subtitle,.project-summary .project-scope,.case-facts dd,.decision-list,.case-body blockquote{font-size:var(--type-body);font-weight:var(--weight-body);line-height:1.75;letter-spacing:0}
.art-tab{font-size:var(--type-body);font-weight:var(--weight-body);line-height:1.5}
.email{font-size:var(--type-body);font-weight:var(--weight-label);line-height:1.5}
@media(max-width:700px){:root{--type-display:clamp(2.625rem,13.8vw,5.5rem)}}
/* Sector, company, product: identical order and spacing for all six projects. */
.project-identity .project-kicker{margin:0 0 12px;color:var(--muted)}
.project-identity h3{margin:0}
.project-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.case-label{display:inline-block;padding:4px 8px;border:1px solid currentColor;color:var(--inverse-muted);font-size:var(--type-label);font-weight:var(--weight-label);line-height:1.5;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.project-identity .project-subtitle{margin:8px 0 0;color:var(--ink)}
.project-pair .project-identity{margin-top:24px}
.project-identity+.project-description{margin-top:24px}
.rambus-feature .project-kicker{color:var(--inverse-muted)}
.rambus-feature .project-subtitle{color:var(--paper)}

.wrap{max-width:1600px;width:100%;margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--ink);z-index:100;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{height:112px;display:flex;align-items:center;gap:40px;position:relative;z-index:3}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px;min-width:44px;min-height:44px;flex-shrink:0;white-space:nowrap}
.theme-toggle[hidden]{display:none}
.theme-switch{width:30px;height:18px;border:1px solid currentColor;border-radius:10px;position:relative;flex-shrink:0}
.theme-switch::after{content:'';position:absolute;width:12px;height:12px;top:2px;left:2px;border-radius:50%;background:currentColor}
.theme-toggle[aria-checked="true"] .theme-switch{background:currentColor}
.theme-toggle[aria-checked="true"] .theme-switch::after{left:14px;background:var(--paper)}
.theme-icon{display:none}
.brand{color:var(--ink);text-decoration:none}
.brand-dot{color:var(--red)}
nav{margin-left:auto;display:flex;gap:36px;align-items:center}
nav a{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none}
nav a::after{content:'';height:1px;position:absolute;bottom:0}
.red-dash{display:inline-block;width:23px;height:2px;margin-right:12px;background:var(--red);vertical-align:middle}
.hero{display:grid;grid-template-columns:1.05fr 1fr;column-gap:4%;padding-top:58px;position:relative}
.hero-copy{position:relative;z-index:1}
.hero h1{margin-top:36px}
.hero h1>span{display:block}
.hero-intro{max-width:360px;margin:30px 0 0}
.hero-intro .text-link{margin-top:22px}
.text-link{display:inline-flex;align-items:center;gap:20px;padding-block:7px;border-bottom:1px solid currentColor;text-decoration:none;min-height:40px}
.text-link>span:last-child{margin-left:auto;transition:transform .25s}
.text-link:hover>span:last-child{transform:translate(2px,-2px)}
.hero-art{position:relative;margin-top:62px;padding-bottom:32px;align-self:stretch}
.art-window{height:clamp(320px,32vw,490px);overflow:hidden;position:relative;background:#d8d5c5}
.art-window img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--art-position,50% 50%);transform:scale(var(--art-scale,1));transform-origin:var(--art-position,50% 50%)}
.art-margin{position:absolute;top:-28px;left:0;right:0;display:flex;justify-content:space-between;color:var(--muted)}
.art-tab{position:absolute;left:-72px;bottom:65px;background:var(--ink);color:var(--paper);padding:18px 24px;transform:rotate(-3deg);pointer-events:none}
.hero-art figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted)}
.hero-art figcaption a{white-space:nowrap}
/* Share the image's bottom edge with the work link; captions occupy their own row. */
@media(min-width:701px){
 .hero{grid-template-rows:auto auto;row-gap:12px}
 .hero-copy{grid-column:1;grid-row:1;display:flex;flex-direction:column}
 .hero-intro{display:flex;flex-direction:column;flex:1;gap:22px}
 .hero-intro .text-link{align-self:flex-start;margin-top:auto}
 .hero-art{display:grid;grid-template-rows:subgrid;grid-column:2;grid-row:1 / span 2;align-self:stretch}
 .hero .art-window{height:auto;min-height:clamp(320px,32vw,490px)}
 .hero-art figcaption{grid-row:2;margin-top:0}
}

.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:48px;gap:30px}
.section-heading p{max-width:350px}
.work-section{padding-top:66px}
.project-heading{display:grid;grid-template-columns:.9fr 2fr;gap:5%;align-items:end;margin-bottom:28px}
.project-summary{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:start;max-width:48rem}
.project-summary>p:first-child{justify-self:end}

.project-heading .project-scope{border-left:1px solid var(--line);padding-left:24px}
/* Align the project summary with the hero artwork when both text blocks fit beside it. */
@media(min-width:1200px){
 .hero,.project-heading{grid-template-columns:1.05fr 1fr;column-gap:4%}
 .project-summary{grid-template-columns:max-content 1fr}
 .project-summary>p:first-child{justify-self:start}
}
.image-link{display:block;position:relative;overflow:hidden;background:var(--wash);text-decoration:none}
.image-link img{width:100%;transition:transform .65s cubic-bezier(.2,.6,.3,1)}
.image-action{position:absolute;right:16px;bottom:16px;background:var(--paper);color:var(--action-on-paper);display:flex;align-items:center;gap:26px;padding:9px 13px}
figure>figcaption{display:flex;justify-content:space-between;gap:25px;color:var(--muted);margin-top:12px}
@media(hover:hover) and (pointer:fine){.image-link:hover img{transform:scale(1.015)}.image-link:hover .image-action{background:var(--ink);color:var(--action-on-ink)}}
.rambus-feature{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.5fr;gap:7%;margin-block:88px 100px;padding:60px 0 60px 52px;overflow:hidden;position:relative}
.rambus-feature-copy{padding-block:6px}

.rambus-feature-copy>.project-description{color:var(--inverse-muted)}
.rambus-feature .text-link{margin-top:28px}
.rambus-feature-image{align-self:center;padding-top:30px}
.rambus-feature-image img{width:112%;max-width:none;box-shadow:0 12px 40px #071b2260;border:1px solid #4d6165}
.small-note{display:block;color:var(--inverse-muted);margin-top:24px}
.project-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:8%}
.project-pair .project>.project-description{max-width:470px}
.project-pair .project-scope{color:var(--muted);margin-top:20px}
.offset-project{padding-top:120px}
.additional-work{margin-top:100px;border-top:1px solid var(--line);padding-top:32px}
.additional-work .section-heading{margin-bottom:30px}
.compact-projects{display:grid;grid-template-columns:1fr 1fr;gap:5%}
.compact-copy{padding-top:24px}
.compact-copy p{max-width:480px}
.compact-copy .text-link{margin-top:20px;gap:16px}
.file-meta{white-space:nowrap;color:var(--muted)}
.approach-section{margin-top:var(--space);background:var(--wash);padding-block:90px}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.approach-grid h2{margin-block:32px}
.approach-intro{max-width:320px}
.approach-list{list-style:none;margin:0;padding:0}
.approach-list li{display:flex;gap:28px;padding-block:26px;border-top:1px solid var(--line)}
.approach-list li:first-child{padding-top:4px;border:0}
.step-number{color:var(--red);padding-top:7px}
.approach-list h3{margin-bottom:12px}
.approach-list p{color:var(--muted);max-width:390px}
.about-section{padding-block:var(--space) 80px;display:grid;grid-template-columns:1fr 1.2fr;gap:14%}
.portrait{max-width:270px;margin-top:52px;position:relative}
.portrait img{width:100%;filter:grayscale(1);mix-blend-mode:var(--portrait-blend)}
.portrait figcaption{display:block;margin-top:18px;color:var(--ink)}
.portrait figcaption span{color:var(--muted)}
.about-copy h2{margin-bottom:32px}
.about-copy>p{max-width:510px;margin-bottom:20px}
.about-copy .personal-note{color:var(--muted);padding-top:6px}
.about-copy .text-link{margin-top:8px}
.documents{margin-bottom:var(--space)}
.documents h2{margin-bottom:26px}
.documents>a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:23px 0;text-decoration:none;gap:24px}
.documents>a:last-child{border-bottom:1px solid var(--line)}
.document-note{display:block;color:var(--muted);margin-top:8px}
.documents .file-meta{display:flex;gap:30px;align-items:center}
.documents .file-meta>span{color:var(--action)}
.site-footer{padding-block:70px 24px;background:var(--ink);color:var(--paper)}
.site-footer .eyebrow{color:var(--inverse-muted)}
.contact-top{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;padding-bottom:65px}
.contact-top h2{margin-top:32px}
.red-dot{color:var(--inverse-accent)}
.contact-detail{padding-bottom:6px;min-width:30%}
.contact-detail p{color:var(--inverse-muted);margin-bottom:25px}
.email{display:flex;gap:35px;text-decoration:none;border-bottom:1px solid currentColor;padding-block:12px}
.footer-bottom{display:flex;align-items:center;gap:50px;padding-block:28px;border-top:1px solid var(--inverse-line)}
.footer-seal{display:block;width:48px;flex-shrink:0}
.footer-seal img{width:100%;height:auto}
.footer-bottom>p{color:var(--inverse-muted)}
.footer-actions{margin-left:auto;display:flex;gap:26px;align-items:center}
.footer-actions>a{padding-block:14px}
.motion-control{padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.motion-control[hidden]{display:none}
.colophon{border-top:1px solid var(--inverse-line);padding-top:12px;color:var(--inverse-muted)}
.colophon summary{min-height:36px;padding:8px 0;width:fit-content;text-decoration:underline;text-underline-offset:.24em}
.colophon>div{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-block:16px 12px;max-width:950px}
/* Accessible image inspection: linked originals work without JavaScript. */
.image-viewer{width:calc(100% - 48px);max-width:1700px;height:calc(100% - 48px);max-height:none;border:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink);overflow:hidden}
.image-viewer::backdrop{background:#0a2029e8;backdrop-filter:blur(6px)}
.image-viewer[open]{display:flex;flex-direction:column}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 24px;border-bottom:1px solid var(--line);flex-shrink:0}
.viewer-toolbar>p{max-width:65ch}
.viewer-toolbar>div{display:flex;gap:20px;flex-shrink:0}
.viewer-toolbar button{padding:10px 6px;min-height:44px}
.viewer-close>span{margin-left:12px}
.viewer-stage{flex:1;min-height:0;overflow:auto;display:flex;padding:24px;overscroll-behavior:contain}
.viewer-stage img{object-fit:contain;width:100%;height:100%;margin:auto}
.viewer-stage.is-zoomed{display:block}
.viewer-stage.is-zoomed img{width:auto;max-width:none;height:auto;margin:0 auto;object-fit:initial}
.viewer-help{color:var(--muted);padding:10px 24px;text-align:center;border-top:1px solid var(--line)}
/* Case study */
.case-hero{padding-top:56px;padding-bottom:58px}
.breadcrumb{display:inline-flex;gap:14px;text-decoration:none;padding-block:10px;margin-bottom:38px}
.case-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:end}
.case-hero h1{margin-top:26px}
.case-deck{padding-bottom:4px;max-width:410px}
.case-facts{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:30px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.case-facts dt{color:var(--muted);margin-bottom:8px}
.case-facts dd{margin:0}
.case-cover{background:var(--ink);padding-block:60px}
.case-cover figure{max-width:1250px;margin:auto}
.case-cover .image-link{background:var(--ink)}
.case-cover figcaption{color:var(--inverse-muted)}
.case-layout{display:grid;grid-template-columns:230px minmax(0,850px);gap:9%;padding-block:80px}
.case-index{align-self:start;position:sticky;top:32px}
.case-index p{margin-bottom:20px;color:var(--muted)}
.case-index ol{list-style:none;padding:0;margin:0;counter-reset:chapter}
.case-index li{counter-increment:chapter}
.case-index a{display:flex;gap:14px;text-decoration:none;padding-block:12px;border-bottom:1px solid var(--line)}
.case-index a::before{content:'0' counter(chapter);padding-top:2px}
.case-body{min-width:0}
.case-body section{margin-bottom:76px;scroll-margin-top:35px}
.case-body h2{margin-block:17px 25px}
.case-body p{max-width:650px;margin-bottom:20px}
.case-body .eyebrow{margin:0;color:var(--muted)}
.case-body figure{margin-block:32px}
.case-body figcaption{max-width:650px;display:block}
.case-body blockquote{border-left:2px solid var(--red);padding-left:26px;margin:32px 0}
.decision-list{list-style:none;padding:0;margin:32px 0;border-top:1px solid var(--line)}
.decision-list li{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:20px 0;border-bottom:1px solid var(--line)}
.training-figure{max-width:430px;background:var(--wash);padding:25px}
.training-figure img{max-height:500px;object-fit:contain}
.case-note{padding:24px 28px;background:var(--wash);max-width:650px}
.case-note p{margin:0}
.case-next{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:26px;gap:24px}
/* Tablet retains an editorial grid, with fewer peripheral details. */
@media(min-width:1600px){.hero{padding-top:80px}}
@media(max-width:1000px){
 .site-header{gap:25px;height:96px}nav{gap:26px}.hero{padding-top:40px;column-gap:5%}.hero-intro{margin-left:0}.hero-art{margin-top:76px}.art-window{height:350px}.art-tab{left:-24px;padding:16px 20px}
 .project-heading{grid-template-columns:1fr;gap:24px}.rambus-feature{padding:38px 0 38px 32px;gap:6%;grid-template-columns:1fr 1.2fr}.project-pair{gap:7%}.offset-project{padding-top:85px}
 .approach-grid{gap:8%}.approach-section{padding-block:70px}.about-section{gap:10%}.portrait{max-width:230px}.contact-top{gap:40px}.contact-detail{min-width:34%}.case-layout{grid-template-columns:175px minmax(0,1fr);gap:6%}.case-facts{gap:20px}
}
@media(max-width:700px){
 :root{--gutter:24px;--space:76px}.site-header{height:86px;gap:20px}.header-name{display:none}nav{gap:23px}nav a{gap:5px}
 .hero{display:flex;flex-direction:column;padding-top:29px}.hero h1{margin-top:28px}.hero-intro{margin:25px 0 0;max-width:380px}.hero-intro .text-link{margin-top:15px}.hero-art{margin:53px 0 0 10%;padding-bottom:0}.art-window{height:240px}.art-window img{object-position:50% 60%}.art-margin{top:-23px}.art-tab{left:-44px;bottom:42px;padding:14px 18px}
 .work-section{padding-top:42px}.section-heading{margin-bottom:32px;gap:22px}.project-heading{margin-bottom:22px}.project-summary{grid-template-columns:1fr;gap:20px}.project-summary>p:first-child{justify-self:start}.project-heading .project-scope{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.image-action{right:9px;bottom:9px;padding:6px 9px;gap:18px}figure>figcaption{gap:20px}.project-lead figcaption>span{max-width:47%}.project-lead figcaption>span:last-child{text-align:right}
 .rambus-feature{margin:48px calc(-1 * var(--gutter)) 58px;padding:37px var(--gutter) 32px;display:flex;flex-direction:column;gap:5px}.rambus-feature-copy{max-width:460px}.rambus-feature-copy>.project-description{max-width:390px}.rambus-feature .text-link{margin-top:17px}.rambus-feature-image{padding-top:25px;width:100%}.rambus-feature-image img{width:100%;max-width:100%;box-shadow:none}.small-note{margin-top:15px}
 .project-pair{grid-template-columns:1fr;gap:46px}.offset-project{padding-top:0}.project-pair .project-scope{margin-top:15px}
 .additional-work{margin-top:54px;padding-top:25px}.additional-work .section-heading{display:block;margin-bottom:26px}.additional-work .section-heading p{margin-top:9px}.compact-projects{grid-template-columns:1fr;gap:38px}.compact-copy{padding-top:24px}.compact-copy .text-link{gap:12px}
 .approach-section{padding-block:45px}.approach-grid{grid-template-columns:1fr;gap:35px}.approach-grid h2{margin-block:23px}.approach-intro{max-width:370px}.approach-list li{padding-block:23px;gap:24px}.approach-list li:first-child{border-top:1px solid var(--line);padding-top:23px}
 .about-section{display:flex;flex-direction:column;gap:35px;padding-bottom:50px}.portrait{display:flex;gap:22px;align-items:flex-end;max-width:none;margin-top:26px}.portrait img{width:120px}.portrait figcaption{margin:0}.about-copy h2{margin-bottom:25px}
 .documents>a{padding-block:19px;gap:16px;align-items:flex-start}.document-note{max-width:220px}.documents .file-meta{gap:12px;padding-top:3px}
 .site-footer{padding-top:43px}.contact-top{display:block;padding-bottom:35px}.contact-top h2{margin-top:24px}.contact-detail{margin-top:30px}.contact-detail p{margin-bottom:15px}.email{justify-content:space-between;width:fit-content;gap:45px}.footer-bottom{gap:24px;flex-wrap:wrap;padding-block:25px 12px}.footer-actions{width:100%;margin:0;justify-content:space-between}.colophon>div{grid-template-columns:1fr;gap:16px}
 .image-viewer{width:100%;height:100%;border:0}.viewer-toolbar{gap:10px;padding:12px 16px;flex-wrap:wrap}.viewer-toolbar>p{width:100%;max-width:none}.viewer-toolbar>div{width:100%;justify-content:space-between}.viewer-stage{padding:12px}.viewer-help{padding:12px}
 .case-hero{padding-top:20px;padding-bottom:28px}.breadcrumb{margin-bottom:24px}.case-hero-grid{grid-template-columns:1fr;gap:25px}.case-hero h1{margin-top:22px}.case-facts{grid-template-columns:1fr 1fr;margin-top:26px;gap:20px}.case-cover{padding-block:25px}.case-layout{display:block;padding-top:35px;padding-bottom:50px}.case-index{position:static;margin-bottom:45px}.case-index ol{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.case-index p{margin-bottom:10px}.case-index a{padding-block:12px}.case-body section{margin-bottom:50px}.case-body h2{margin-block:16px 22px}.case-body blockquote{padding-left:20px}.decision-list li{grid-template-columns:1fr;gap:8px}.case-note{padding:20px}.case-next{flex-wrap:wrap}
}
@media(max-width:359px){:root{--gutter:20px}nav{gap:17px}.hero-intro{margin-left:0}.hero-art{margin-left:0}.art-tab{left:-14px}.art-window{height:220px}.compact-copy .text-link{gap:9px}.documents .file-meta{gap:8px}.documents .document-note{max-width:170px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.art-window [data-parallax]{will-change:auto;transform:none!important}}
html[data-motion="off"]{scroll-behavior:auto}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}
html[data-motion="off"] .art-window [data-parallax]{transform:none!important;will-change:auto}
@media print{.site-header,nav,.image-action,.motion-control,.image-viewer,.hero-art,.case-index,.footer-actions{display:none!important}body{color:#000;background:#fff}.wrap{padding:0}.hero,.about-section,.case-hero-grid,.case-layout{display:block}.hero h1>span{display:inline}.rambus-feature,.site-footer{background:#fff;color:#000;padding:20px 0}.rambus-feature p,.rambus-feature .eyebrow,.site-footer p{color:#000!important}figure,article{break-inside:avoid}.art-tab{display:none}.image-link img{max-height:350px;object-fit:contain}.approach-section{margin:30px 0;padding:20px 0}.text-link{border:0}.site-footer{border-top:1px solid #000}.colophon{color:#000}.portrait{max-width:150px}}

/* Layout refinements retained after browser review. */
main:focus{outline:none}
.hero{padding-top:36px}

.hero-art{padding-bottom:0}
.author-seal{display:block;position:absolute;right:0;bottom:0;width:48px!important;height:auto}
.portrait .author-seal img{width:100%;height:auto;filter:none;mix-blend-mode:normal}
@media(max-width:700px){
 .hero{padding-top:25px}.hero-art{margin-top:44px}.art-window{height:200px}.art-tab{bottom:40px}
 .author-seal{width:40px!important;height:auto;right:0;top:0;bottom:auto}
}
@media(max-width:359px){nav{gap:14px}.author-seal{width:30px!important;height:auto}}

/* Keep the theme switch in the header without squeezing mobile navigation. */
@media(max-width:700px){
 .site-header{gap:10px}
 .site-header nav{gap:12px}
 .site-header nav a>span{display:none}
 .theme-label,.theme-switch{display:none}
 .theme-icon{display:block;width:20px;height:20px}
 .theme-icon-sun,.theme-toggle[aria-checked="true"] .theme-icon-moon{display:none}
 .theme-toggle[aria-checked="true"] .theme-icon-sun{display:block}
}

/* Artwork: fixed frame, individual crops, quiet crossfade and a small explanation. */
.art-trigger{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;overflow:hidden;text-align:left}
.art-trigger:focus-visible{outline:2px solid var(--paper);outline-offset:-6px;box-shadow:inset 0 0 0 8px var(--ink)}
.art-slide{position:absolute;inset:0;display:block;opacity:0;pointer-events:none}
.art-slide[hidden]{display:none}
.art-slide.is-current{opacity:1}
.art-trigger:focus-visible::after{content:'';position:absolute;inset:4px;border:2px solid var(--ink);outline:2px solid var(--paper);z-index:3;pointer-events:none}
.hero-art .art-caption{align-items:center;gap:8px;flex-wrap:wrap}
.art-about{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;text-decoration:underline;text-underline-offset:4px}
.art-controls{display:inline-flex;align-items:center;gap:0;margin-left:auto;font-variant-numeric:tabular-nums}
.art-controls[hidden]{display:none}
.art-count{min-width:40px;text-align:center;white-space:nowrap}
.art-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;font:inherit}
.art-controls button:disabled{color:var(--muted);opacity:.55}
.art-play-icon{display:none}
.art-play[data-paused="true"] .art-play-icon{display:block}
.art-play[data-paused="true"] .art-pause-icon{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.art-tooltip{position:fixed;top:0;left:0;z-index:20;padding:9px 12px;background:var(--ink);color:var(--paper);border:1px solid var(--paper);pointer-events:none;max-width:calc(100vw - 24px);box-shadow:0 3px 14px #071b2226}
.art-tooltip[hidden]{display:none}
.art-explanation{position:fixed;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:16px 24px 24px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 12px 42px #071b2240;overflow:auto}
.art-explanation::backdrop{background:transparent}
.art-explanation-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.art-explanation h2{font-size:var(--type-body);line-height:1.5;margin-top:10px}
.art-explanation-header button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-right:-12px;padding:0;flex-shrink:0}
.art-explanation p+p{margin-top:16px}
.hero-art .art-tab{bottom:91px}
@media(max-width:700px){
 .art-window img{object-position:var(--art-position-mobile,var(--art-position,50% 50%));transform-origin:var(--art-position-mobile,var(--art-position,50% 50%))}
 .art-explanation{padding:12px 20px 20px}
 .hero-art .art-tab{bottom:66px}
}
@media print{.art-tooltip,.art-explanation{display:none!important}}
