:root{--blue:#22265d;--ink:#232738;--muted:#676b79;--paper:#fafaf8;--line:#dedfe5;--pad:clamp(24px,6vw,112px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #8c92da;outline-offset:7px}::selection{background:var(--blue);color:white}.header{height:104px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:3}.logo{display:block;width:220px;line-height:0}.logo img{width:100%;height:auto}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav a{padding:8px 0}nav a:hover{color:#696eb0}.nav-contact{border-bottom:1px solid var(--blue)}.hero{position:relative;padding:76px var(--pad) 0;overflow:hidden}.hero-copy{position:relative;z-index:1;max-width:880px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow,.section-label,.hero-location,.art-caption,.brand-caption{font-size:12px;letter-spacing:.13em;font-weight:500}.eyebrow{display:flex;align-items:center;gap:14px;color:var(--blue);margin:0 0 37px}.short-line{height:1px;width:32px;background:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5.3vw,88px);font-weight:400;line-height:1.09;letter-spacing:-.065em;margin-bottom:30px;color:var(--blue)}h1 span{color:var(--ink)}.hero-description{max-width:390px;color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:32px}.button{display:inline-block;background:var(--blue);color:white;padding:13px 25px;font-size:14px;transition:background .25s,transform .25s}.button:hover{background:#383d7b;transform:translateY(-2px)}.hero-location{margin-top:58px;color:var(--muted);display:flex;gap:30px;font-size:11px}.hero-location span{color:#868998}.hero-art{position:absolute;width:43%;right:var(--pad);top:55px;bottom:98px;background:var(--blue) url('assets/engineering.jpg') center/cover;overflow:hidden;animation:art-arrive 1.5s ease both}.hero-art:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(12,16,48,.65));pointer-events:none}.art-caption{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;color:#e7e8f2;z-index:1;font-size:10px;gap:20px}.hero-bottom{margin-top:42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:23px 0;font-size:12px;color:var(--muted)}.hero-bottom a{display:flex;gap:20px;align-items:center}.scroll-line{height:24px;width:1px;background:var(--blue);position:relative}.scroll-line:after{content:"";position:absolute;width:5px;height:5px;border-right:1px solid var(--blue);border-bottom:1px solid var(--blue);bottom:0;left:-2px;transform:rotate(45deg)}.section{padding:80px var(--pad) 90px}.section-label{display:flex;justify-content:space-between;color:var(--muted);border-top:1px solid var(--line);padding-top:21px;margin-bottom:58px;font-size:11px}.section-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}h2{font-size:clamp(32px,3.1vw,49px);line-height:1.2;letter-spacing:-.045em;font-weight:400;color:var(--blue);margin-bottom:25px}h2 span{color:var(--muted)}.section-intro p,.brand-copy p{color:var(--muted);max-width:540px}.competencies{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:58px}.competencies article{border-top:1px solid var(--line);padding-top:22px}.item-number{color:#7b7f9c;font-size:12px}h3{font-size:21px;font-weight:400;letter-spacing:-.02em;margin:22px 0 12px}.competencies p{font-size:15px;color:var(--muted);max-width:355px}.brand{background:#f0f1f4}.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.brand-statement{position:relative;background:var(--blue);color:white;min-height:350px;padding:40px;overflow:hidden}.brand-statement .eyebrow{color:#d2d4e7;font-size:11px}.ricoo-word{font-size:100px;font-weight:700;letter-spacing:-.08em;line-height:1;margin:55px 0 30px}.ricoo-word span{font-size:20px;vertical-align:top;display:inline-block;margin:10px 0 0 8px;letter-spacing:0}.brand-caption{letter-spacing:.03em;color:#c4c7dd}.brand-rules{position:absolute;width:160px;height:300px;border-left:1px solid #ffffff15;border-right:1px solid #ffffff15;transform:rotate(25deg);top:-50px;right:30px}.text-link{display:inline-block;border-bottom:1px solid var(--blue);padding:5px 0;color:var(--blue);font-size:14px;transition:opacity .25s}.text-link:hover{opacity:.65}.timeline{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:70px 0 0}.timeline li{position:relative;border-top:1px solid #c4c7d4;padding:30px 30px 0 0}.timeline li:before{content:"";width:5px;height:5px;background:var(--blue);position:absolute;top:-3px;left:0}.timeline strong{font-size:32px;letter-spacing:-.04em;font-weight:400;color:var(--blue);display:block;margin-bottom:16px}.timeline span{font-size:15px;display:block}.timeline p{font-size:14px;color:var(--muted);margin:4px 0 0}.contact{background:var(--blue);color:#fff;padding-bottom:100px}.contact .section-label{border-color:#ffffff30;color:#b8bbd1}.contact-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:60px}.contact h2{color:white}.contact h2 span{color:#b5b9d3}.contact p{color:#c6c9dd;font-size:15px}.email{font-size:clamp(22px,3vw,42px);letter-spacing:-.035em;border-bottom:1px solid #9599bd;display:inline-block;padding:10px 0;margin-top:18px;transition:color .25s}.email:hover{color:#c5c9ee}address{font-style:normal;padding-top:10px;font-size:15px}address strong{font-weight:400;display:block;margin-bottom:22px}address span{display:block;color:#c6c9dd}.address-note{margin-top:35px;font-size:12px}footer{display:flex;justify-content:space-between;gap:25px;padding:27px var(--pad);background:#1c204e;color:#c6c9dc;font-size:12px}footer div{display:flex;gap:26px}footer a:hover{text-decoration:underline}.skip{position:absolute;top:-100px;left:20px;padding:10px 20px;background:white;z-index:20}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reveal{transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(20px)}.reveal:nth-child(2){transition-delay:.1s}.reveal:nth-child(3){transition-delay:.2s}.legal{max-width:1000px;margin:auto;padding:70px var(--pad) 100px;min-height:70vh}.legal h1{font-size:clamp(38px,5vw,62px);margin-top:30px}.legal h2{font-size:25px;margin-top:36px}.legal p,.legal li{color:var(--muted)}.legal a{text-decoration:underline;text-underline-offset:4px}.legal .eyebrow{margin-bottom:20px}.legal address{color:var(--muted)}@keyframes art-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(min-width:1500px){.hero{padding-top:100px}.hero-art{top:70px}.hero-location{margin-top:100px}}@media(max-width:1100px){.hero-art{width:40%;top:85px}.hero-copy{max-width:700px}h1{font-size:60px}.hero-description{max-width:340px}.art-caption span:last-child{display:none}.section-intro{gap:45px}.brand-grid{gap:45px}.ricoo-word{font-size:85px}.brand-statement{padding:28px}.header{height:90px}.logo{width:190px}}@media(max-width:760px){.header{height:83px}.logo{width:150px}nav{gap:18px;font-size:12px}nav a:first-child{display:none}.hero{padding-top:42px}.eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:25px}h1{font-size:clamp(39px,8vw,60px);letter-spacing:-.055em}.hero-description{font-size:16px;max-width:450px}.hero-art{position:relative;right:auto;top:auto;bottom:auto;width:100%;height:340px;margin-top:30px;background-position:center}.hero-location{margin-top:32px;font-size:10px;gap:20px}.hero-bottom{margin-top:24px;gap:20px;font-size:11px}.hero-bottom>span{max-width:170px}.hero-bottom a{gap:12px}.section{padding-top:50px;padding-bottom:55px}.section-label{margin-bottom:36px;font-size:10px;gap:20px}.section-label>span:last-child{display:none}.section-intro,.brand-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.competencies{grid-template-columns:1fr;gap:15px;margin-top:30px}.competencies article{display:grid;grid-template-columns:35px 1fr;gap:0 12px}.item-number{padding-top:4px}.competencies h3{margin:0 0 12px}.competencies p{grid-column:2;max-width:none}.brand-statement{min-height:300px}.ricoo-word{font-size:95px;margin-top:35px}.brand-copy{margin-top:15px}.timeline{gap:16px;margin-top:40px}.timeline li{padding:20px 0 0}.timeline strong{font-size:27px}.timeline span,.timeline p{font-size:12px}.contact-grid{gap:36px}.contact h2{font-size:35px}.contact address{border-top:1px solid #ffffff30;padding-top:25px}.contact address strong{margin-bottom:10px}.address-note{margin-top:18px}footer{flex-direction:column;gap:12px}footer div{gap:25px}.legal{padding-top:45px}.desktop-break{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}}

/* Editorial imagery and viewport-triggered choreography. */
main{overflow:clip}
.editorial-row{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-top:110px}
.editorial-image{margin:0;overflow:hidden;background:#eceef2}
.editorial-image img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.65,.2,1)}
.editorial-image figcaption{font-size:11px;letter-spacing:.1em;padding:17px 22px;color:var(--muted);background:#f0f1f4}
.editorial-copy .eyebrow{margin-bottom:25px;font-size:11px}
.editorial-copy>p:not(.eyebrow){color:var(--muted);font-size:16px}
.quality-story{padding-top:80px;border-top:1px solid var(--line);align-items:start}
.quality-story .editorial-image{margin-top:55px}
.quality-principles{margin-top:30px}
.quality-principles>div{border-top:1px solid var(--line);padding:17px 0;display:grid;grid-template-columns:36px 1fr}
.quality-principles span{color:#7b7f9c;font-size:12px;padding-top:3px}
.quality-principles strong{font-weight:400;font-size:18px}
.quality-principles p{grid-column:2;font-size:14px;color:var(--muted);margin:3px 0 0}
.drawing-banner{position:relative;margin:65px 0 0;overflow:hidden;height:300px;background:#e8e9ed}
.drawing-banner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 1.6s ease}
.drawing-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,250,248,.97),rgba(250,250,248,.72) 45%,transparent)}
.drawing-banner figcaption{position:absolute;left:40px;top:50%;transform:translateY(-50%);z-index:1;color:var(--blue)}
.drawing-banner figcaption span{font-size:11px;letter-spacing:.12em}
.drawing-banner figcaption strong{display:block;font-weight:400;font-size:clamp(27px,3vw,43px);letter-spacing:-.04em;line-height:1.2;margin-top:23px}
.reveal{--reveal-x:0px;--reveal-y:32px;transition:opacity .95s cubic-bezier(.22,.61,.36,1),transform .95s cubic-bezier(.22,.61,.36,1),clip-path 1.15s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.from-left{--reveal-x:-48px;--reveal-y:12px}
.reveal.from-right{--reveal-x:48px;--reveal-y:12px}
.reveal:nth-child(n){transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal:not(.visible){opacity:0;transform:translate(var(--reveal-x),var(--reveal-y))}
.motion-ready .editorial-image:not(.visible),.motion-ready .drawing-banner:not(.visible){clip-path:inset(0 0 12% 0)}
.motion-ready .editorial-image:not(.visible) img,.motion-ready .drawing-banner:not(.visible) img{transform:scale(1.06)}
.motion-ready .editorial-image.visible,.motion-ready .drawing-banner.visible{clip-path:inset(0)}
.motion-ready .reveal:focus-within{opacity:1;transform:none}
@media(max-width:760px){
.editorial-row{grid-template-columns:1fr;gap:32px;margin-top:60px}
.quality-story{padding-top:45px}
.quality-story .editorial-image{margin-top:0}
.editorial-image img{aspect-ratio:5/4}
.editorial-image figcaption{font-size:10px;padding:14px 18px}
.editorial-copy h2{font-size:34px}
.drawing-banner{height:270px;margin-top:40px}
.drawing-banner figcaption{left:23px;right:20px}
.drawing-banner figcaption strong{font-size:30px}
.reveal.from-left{--reveal-x:-22px}
.reveal.from-right{--reveal-x:22px}
}
@media(prefers-reduced-motion:reduce){
.motion-ready .reveal:not(.visible){opacity:1;transform:none;clip-path:none}
.editorial-image img,.drawing-banner img{transform:none!important}
}
@media print{.motion-ready .reveal:not(.visible){opacity:1;transform:none;clip-path:none}}

/* Supplied RICOO brand mark, recolored for the indigo brand panel. */
.ricoo-logo{display:block;width:min(100%,350px);height:auto;margin:65px 0 35px;position:relative;z-index:1}
@media(max-width:760px){.ricoo-logo{max-width:290px;margin-top:45px}}

/* Keep the composition calm and readable on ultrawide and 4K displays. */
html{background:#f0f1f4}
body{width:100%;max-width:1700px;min-height:100vh;margin:0 auto;box-shadow:0 0 0 1px rgba(34,38,93,.05)}
.editorial-image img{aspect-ratio:4/3}
.development-story .editorial-image img{object-position:center 58%}
@media(min-width:1200px){
  .editorial-row{grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:clamp(64px,7vw,118px)}
  .editorial-image{width:100%;max-width:620px}
  .quality-story .editorial-image{justify-self:end}
}
@media(max-width:760px){
  body{box-shadow:none}
  .editorial-image img{aspect-ratio:5/4}
}

/* Clear, unobtrusive disclosure for AI-generated illustrative imagery. */
.editorial-image.ai-generated{position:relative}
.ai-label{position:absolute;top:14px;right:14px;z-index:4;padding:6px 9px;border:1px solid rgba(255,255,255,.42);background:rgba(25,29,72,.88);color:#fff;font-size:9px;font-weight:500;line-height:1;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;pointer-events:none}
@media(max-width:760px){.ai-label{top:10px;right:10px;padding:6px 8px;font-size:8px}}
