@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#081831;--navy:#061a37;--navy-dark:#041126;--blue:#1555aa;--bright:#3a86ec;--line:#dce3ed;--soft:#f5f8fc;--muted:#53647b;--white:#fff;--radius:6px;--shadow:0 7px 22px rgba(5,25,60,.07)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:0}
body{margin:0;background:#fff;color:var(--ink);font:500 16px/1.55 'Manrope','Avenir Next','Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #70b4ff;outline-offset:4px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.16;font-weight:800}
h2{font-size:clamp(29px,3vw,40px)}h3{font-size:20px}
p{line-height:1.6}.wrap{width:min(100% - 76px,1390px);margin-inline:auto}
.skip-link{position:absolute;top:-90px;left:14px;z-index:999;padding:10px 18px;color:white;background:#0a3066}.skip-link:focus{top:12px}
.site-header{min-height:120px;display:flex;align-items:center;justify-content:space-between;padding:18px max(38px,calc((100vw - 1390px)/2));position:relative;z-index:50;background:#fff;border-bottom:1px solid #e3e8ee}
.brand{display:flex;flex-direction:column;justify-content:center;flex-shrink:0;gap:0;width:205px}
.brand img{width:163px;height:auto;max-height:69px;object-fit:contain;object-position:left center}
.brand span{font-size:7px;font-weight:800;letter-spacing:.025em;white-space:nowrap;color:#233555;margin-top:4px;line-height:1.3;padding-left:2px}
.main-nav{display:flex;align-items:center;gap:clamp(17px,2.2vw,35px)}
.main-nav>a:not(.btn){font-size:12px;white-space:nowrap;font-weight:800;color:#243653;position:relative;padding:34px 0}
.main-nav>a[aria-current="page"]{color:var(--blue)}.main-nav>a[aria-current="page"]::after{content:"";position:absolute;height:2px;left:0;right:0;bottom:25px;background:var(--blue)}
.main-nav>a:not(.btn):hover,.footer-content a:hover{color:var(--blue)}
.menu-toggle{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:12px 22px;font-weight:800;font-size:14px;border:1.5px solid transparent;border-radius:var(--radius);transition:background-color .2s,border-color .2s,transform .2s,color .2s;text-align:center;cursor:pointer;line-height:1.25}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:#0d4c9f;color:white;border-color:#0d4c9f;box-shadow:0 5px 12px rgba(13,76,159,.14)}
.btn-primary:hover{background:#073978}
.btn-outline{border-color:#1d5aa9;color:#0c3473;background:#fff}
.btn-outline:hover{background:#e9f2ff}
.btn-light-outline{color:white;border-color:rgba(255,255,255,.72);background:transparent}
.btn-light-outline:hover{background:rgba(255,255,255,.14)}
.btn-small{font-size:13px;min-height:44px;padding:10px 15px}.nav-cta{margin-left:22px;min-width:133px}
.button-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.eyebrow,.overline{font-size:10px;font-weight:800;letter-spacing:.16em;color:#2765af;text-transform:uppercase}
.overline-blue{color:#7eb5fc}
.handwritten{font-family:'Segoe Print','Bradley Hand','Comic Sans MS',cursive;font-style:italic;font-weight:400;line-height:1.3;letter-spacing:.015em}
.hero{position:relative;overflow:hidden;min-height:542px;display:flex;align-items:center;background:linear-gradient(90deg,#fff 0%,#fff 32%,#f8fbff 48%,#fff 61%)}
.hero-image{position:absolute;inset:0;width:100%;background-image:url('/assets/media/rismor-home-hero.webp');background-size:cover;background-position:center 52%;background-repeat:no-repeat}
.hero-image-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 19%,rgba(255,255,255,.92) 29%,rgba(255,255,255,.78) 38%,rgba(255,255,255,.44) 50%,rgba(255,255,255,.06) 65%,transparent 76%)}
.hero-image::after{content:"";position:absolute;inset:auto 0 0 0;height:14%;background:linear-gradient(transparent,rgba(3,11,31,.2))}

.hero-content{position:relative;z-index:2;padding-top:88px;padding-bottom:80px}
.hero-content h1{font-size:clamp(43px,4.65vw,69px);max-width:720px;margin:0 0 16px;line-height:1.07;letter-spacing:-.058em}
.hero-content h1 em{color:var(--blue);font-style:normal}
.hero-description{max-width:580px;font-size:16px;line-height:1.52;font-weight:600;color:#263750;margin-bottom:20px}
.hero-note{position:absolute;top:5px;left:0;font-size:20px;transform:rotate(-6deg);color:#6a7a93}
.hero-side-note{position:absolute;right:4.5%;top:19%;z-index:3;color:#fff;font-size:23px;transform:rotate(-8deg);text-shadow:0 2px 6px rgba(1,6,26,.7)}
.section-tight{padding-top:37px;padding-bottom:36px}
.section-lead h2{margin-bottom:12px}.section-lead p:not(.overline){font-size:15px;color:var(--muted);max-width:260px;line-height:1.52}
.section-lead .overline{margin-bottom:10px}
.starting{display:grid;grid-template-columns:minmax(200px,.83fr) repeat(2,minmax(260px,1.35fr));gap:17px;align-items:stretch}
.starting .section-lead{padding-top:8px;padding-right:20px}
.start-card{border:1px solid #e1e6ee;background:#fff;box-shadow:var(--shadow);border-radius:7px;position:relative;padding:30px 30px 26px;min-height:230px}
.start-card h3{max-width:75%;margin-bottom:15px}.start-card p{max-width:70%;color:var(--muted);font-size:14px;margin-bottom:20px;line-height:1.58}
.start-illustration{position:absolute;right:19px;top:30px;opacity:.93;width:31%}.start-illustration img{display:block;width:100%;height:auto;max-height:110px;object-fit:contain}
.approach{background-color:#041227;background-image:linear-gradient(90deg,rgba(3,15,35,.72),rgba(3,15,35,.30) 48%,rgba(3,15,35,.54)),url('/assets/media/rismor-approach-band.webp');background-size:cover;background-position:center center;background-repeat:no-repeat;color:#fff;position:relative;overflow:hidden}




.approach-grid{display:grid;grid-template-columns:1.05fr repeat(3,1fr);gap:35px;position:relative;z-index:2;padding-block:49px;align-items:start;min-height:276px}
.approach-lead h2{font-size:clamp(28px,3.05vw,40px);margin-bottom:14px}
.approach-lead p:not(.overline){font-size:15px;color:#e4ecf7;line-height:1.5}
.approach-step{text-align:center;display:flex;flex-direction:column;align-items:center;min-height:180px;padding:20px 14px 0}
.step-icon{display:block;width:52px;height:52px;margin:0 0 19px;object-fit:contain;flex:none}
.approach-step h3{font-size:20px;line-height:1.13;margin:0 0 10px}
.approach-step p{font-size:14px;line-height:1.45;max-width:220px;color:#e8effa;margin:0}
.services-showcase,.products-showcase{display:grid;grid-template-columns:minmax(220px,.93fr) minmax(0,3.2fr);gap:22px;align-items:stretch}
.services-showcase{grid-template-columns:minmax(320px,28%) minmax(0,1fr);align-items:center;column-gap:26px}
.services-showcase .section-lead h2{font-size:clamp(29px,2.5vw,38px);line-height:1.15;max-width:440px}
.services-showcase .section-lead p:not(.overline){max-width:380px}
.services-showcase .section-lead{padding-top:6px}
.service-strip{border:1px solid #e2e7ef;border-radius:7px;display:flex;flex-direction:column;box-shadow:var(--shadow);overflow:hidden;background:#fff;align-self:center}
.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.service-tile{padding:20px 9px 12px;display:flex;align-items:center;flex-direction:column;gap:12px;position:relative;min-height:145px;justify-content:flex-start;text-align:center;transition:background-color .2s}
.service-tile+.service-tile::before{content:"";width:1px;background:#e5ebf2;position:absolute;left:0;top:18%;bottom:18%}
.service-tile:hover{background:#f2f7fe}
.service-icon{display:block;width:48px;height:48px;object-fit:contain;flex:none}
.service-tile span{font-size:13px;font-weight:800;line-height:1.45;letter-spacing:-.025em}
.services-cta{align-self:flex-start;margin:6px 0 19px 22px}
.products-showcase{border-top:1px solid #e9edf4;padding-top:28px}
.products-showcase .section-lead .btn{margin-top:6px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.product-card{border:1px solid #e3e9f0;box-shadow:var(--shadow);border-radius:6px;overflow:hidden;background:#fff;min-width:0;transition:transform .2s,box-shadow .2s}
.product-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(5,20,45,.14)}
.product-image{height:97px;position:relative;overflow:hidden}
.product-image--showcase{height:auto;aspect-ratio:4/3;background:#071b36}
.product-card--showcase{display:flex;flex-direction:column}.product-card--showcase .product-body{flex:1;padding:15px 15px 17px}
.product-image--showcase img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.img-vault{background:radial-gradient(circle at 52% 52%,#355d86,#0b2240 45%,#061126);display:grid;place-items:center}
.img-vault svg{width:75%;height:100%;fill:none;stroke:#8dbcef;stroke-width:3;filter:drop-shadow(0 0 6px #2794e9)}
.img-posture{background:radial-gradient(circle at 50% 30%,#2372a7,#051b40 60%,#04142e);display:grid;place-items:center}
.img-posture svg{height:90%;width:80%;stroke:#62c0ff;stroke-width:3;fill:rgba(46,110,170,.28);filter:drop-shadow(0 0 9px #2194ed)}
.product-body{padding:12px 11px 13px}
.product-body h3{font-size:17px;letter-spacing:-.025em;margin:0 0 4px}
.product-body p{font-size:14px;line-height:1.5;color:#4a5a73;min-height:43px;margin:0 0 7px}
.product-state{font-size:9px;display:inline-block;font-weight:800;line-height:1.1;border-radius:3px;padding:4px 6px}
.state-live{background:#dcf7eb;color:#0f6941}.state-building{background:#e1ecfb;color:#1b4e91}.state-showcase{background:#eee7ff;color:#624290}
.closing-cta{background:linear-gradient(100deg,#04152d 5%,#061b3b 70%,#093869);color:white;position:relative;overflow:hidden}
.closing-cta::after{content:"";position:absolute;right:0;bottom:0;width:43%;height:125%;background-image:url('/assets/media/rismor-home-hero.webp');background-size:cover;background-position:85% 60%;opacity:.3;mask-image:linear-gradient(90deg,transparent,#000)}
.closing-inner{padding-block:48px;min-height:190px;display:grid;grid-template-columns:240px 1fr 260px;gap:30px;align-items:center;position:relative;z-index:1}
.closing-inner h2{font-size:37px;line-height:1.1;margin:0}
.closing-copy p{font-size:15px;max-width:560px;margin-bottom:16px}
.closing-note{font-size:23px;text-align:right;transform:rotate(-5deg);margin:0;color:#edf5ff}
.site-footer{background:#041127;color:#c1ccdf}
.footer-content{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;font-size:13px}
.footer-content p{margin:0}.footer-content div{display:flex;gap:18px}
.page-hero{padding-block:84px 78px;background:linear-gradient(120deg,#fff 10%,#edf4fc 83%,#e8eff7);position:relative;overflow:hidden}
.page-hero::after{content:"";background:url('/assets/media/rismor-home-hero.webp') right center / auto 100% no-repeat;opacity:.19;position:absolute;right:0;top:0;bottom:0;width:45%;mask-image:linear-gradient(90deg,transparent,#000)}
.page-hero .wrap{position:relative;z-index:1}.page-hero h1{font-size:clamp(45px,5.8vw,76px);max-width:900px;margin:0 0 20px}.page-hero h1 em{color:var(--blue);font-style:normal}
.page-hero p:not(.overline){max-width:760px;font-size:18px;color:#42566c}
.editorial{padding-block:65px}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.editorial article,.evidence-box{padding:32px;border:1px solid var(--line);background:#fff;border-radius:7px}
.editorial article h2{font-size:28px}.editorial article h3{font-size:23px}
.editorial article p{color:var(--muted)}
.editorial article ul{padding-left:20px;color:#40536a}
.editorial section{margin-bottom:40px}
.editorial .eyebrow{margin-bottom:8px}
.editorial .editorial-intro{max-width:850px;margin-bottom:35px;font-size:17px;color:#31435c}
.editorial .note{color:var(--muted);font-size:13px}
.editorial .divider{height:1px;background:#e3e9f1;margin-block:35px}
.thinking-visual{display:grid;grid-template-columns:minmax(210px,326px) minmax(0,1fr);align-items:center;gap:clamp(28px,7vw,110px);max-width:980px;margin:0 auto 58px}
.thinking-visual img{width:100%;aspect-ratio:326/400;object-fit:cover;border-radius:5px;box-shadow:0 18px 55px #051d3c24}
.thinking-visual h2{font-size:clamp(32px,4.5vw,56px);max-width:550px}
.thinking-visual p:not(.eyebrow){color:var(--muted)}
@media(max-width:640px){.thinking-visual{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.thinking-visual img{width:min(100%,326px);margin-inline:auto}.thinking-visual h2{font-size:32px}}
.feature-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-list li{border:1px solid var(--line);padding:23px;background:var(--soft)}
.feature-list strong{display:block;font-size:19px;margin-bottom:8px}
.feature-list p{margin:0;color:var(--muted);font-size:15px}
.contact-links{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}
.contact-links a{font-weight:800;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.contact-links .contact-email-reveal{appearance:none;border:0;background:transparent;padding:0;color:var(--blue);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer;text-align:left;min-height:44px}
.contact-links .contact-email-reveal:hover{color:#063870}
.contact-links .contact-email-reveal:focus-visible,.contact-email-result a:focus-visible{outline:3px solid #2b73ca;outline-offset:5px}
.contact-email-result{display:inline-flex;align-items:center;overflow-wrap:anywhere;min-width:0}
.contact-email-result a{overflow-wrap:anywhere}
@media(max-width:1200px){
 .site-header{padding-inline:26px}.wrap{width:min(100% - 52px,1390px)}
 .main-nav{gap:16px}.main-nav>a:not(.btn){font-size:11px}.nav-cta{margin-left:5px}
 .hero-content h1{font-size:clamp(40px,4.7vw,59px)}
 .starting{grid-template-columns:.9fr 1.2fr 1.2fr}
 .start-card{padding:24px}.start-card p{max-width:80%}
 .services-showcase,.products-showcase{grid-template-columns:230px 1fr}.services-showcase{grid-template-columns:minmax(280px,30%) minmax(0,1fr)}
 .service-tile span{font-size:13px}
 .product-body h3{font-size:16px}
 .product-body p{font-size:14px}
 .closing-inner{grid-template-columns:220px 1fr 140px}
}
@media(max-width:1080px){.services-showcase{grid-template-columns:1fr}.services-showcase .section-lead h2{max-width:700px}.services-showcase .section-lead p:not(.overline){max-width:700px}}
@media(max-width:850px){
 .site-header{min-height:112px;padding:16px 22px}.brand{width:195px}.brand img{width:155px}.brand span{font-size:6.5px}
 .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;width:44px;height:44px;cursor:pointer}
 .menu-toggle span{height:2px;width:24px;background:var(--ink);transition:transform .2s}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}
 .main-nav{display:none;position:absolute;top:100%;right:0;left:0;background:white;box-shadow:0 15px 23px #051d3d2b;padding:16px 24px 24px;flex-direction:column;align-items:stretch;gap:0}
 .main-nav.is-open{display:flex}.main-nav>a:not(.btn){font-size:14px;padding:12px 0;border-bottom:1px solid #e5eaf1}.main-nav>a[aria-current="page"]::after{display:none}.nav-cta{margin:20px 0 0}
 .hero{min-height:545px}.hero-content{padding-block:121px 75px}.hero-content h1{font-size:clamp(37px,6vw,53px)}.hero-image{width:100%;background-position:60% center}.hero-image-overlay{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 23%,rgba(255,255,255,.84) 47%,rgba(255,255,255,.25) 84%,transparent 100%)}.hero-note{top:18px}.hero-side-note{display:none}
 .starting{grid-template-columns:1fr 1fr}.starting .section-lead{grid-column:1/-1}.starting .section-lead p:not(.overline){max-width:650px}.start-card h3{max-width:100%}.start-card p{max-width:75%}
 .approach-grid{grid-template-columns:repeat(3,1fr);gap:12px}.approach-lead{grid-column:1/-1}.approach-lead h2 br{display:none}.approach-lead p{margin-bottom:0}.step-icon{width:46px;height:46px;margin-bottom:17px}
 .services-showcase,.products-showcase{grid-template-columns:1fr}.products-showcase .section-lead h2 br{display:none}
 .section-lead p:not(.overline){max-width:720px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .closing-inner{grid-template-columns:200px 1fr;gap:22px}.closing-note{display:none}
}
@media(max-width:640px){
 html{scroll-padding-top:0}.wrap{width:calc(100% - 34px)}
 .site-header{min-height:100px;padding:14px 17px}.brand img{width:138px}.brand span{font-size:5.8px;margin-top:4px}
 .hero{display:flex;min-height:0;padding-bottom:0}
 .hero-content{padding-top:44px;padding-bottom:58px;display:flex;flex-direction:column;align-items:stretch}
 .hero-note{display:none}.hero-side-note,.hero-sketch{display:none}
 .hero-content h1{font-size:clamp(34px,9vw,44px);max-width:480px;letter-spacing:-.065em;line-height:1.12}
 .hero-content h1 br{display:none}
 .hero-description{font-size:15px;line-height:1.47;margin:0 0 18px}
 .hero .button-row{flex-direction:column;align-items:stretch;gap:9px}
 .hero .btn{width:100%;font-size:14px;min-height:43px}
 .hero-image{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:61% center;opacity:1;margin:0}
 .hero-image-overlay{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 50%,rgba(255,255,255,.78) 100%)}
 .hero-image::after{height:30%}
 .section-tight{padding-block:30px}.starting{grid-template-columns:1fr;gap:12px}
 .starting .section-lead{grid-column:auto;padding:0 0 4px}.section-lead h2{font-size:27px;margin-bottom:8px}.section-lead p:not(.overline){font-size:14px;line-height:1.55}
 .start-card{min-height:169px;padding:20px 22px}.start-card h3{font-size:18px;margin-bottom:11px;max-width:75%}.start-card p{font-size:14px;max-width:73%;margin-bottom:13px}.start-illustration{width:31%;top:17px;right:8px}
 .start-card .btn{font-size:13px;min-height:44px;padding:7px 11px}
 .approach-grid{grid-template-columns:1fr;padding-block:26px;gap:15px}
 .approach-lead h2{font-size:28px;line-height:1.11;max-width:260px}.approach-lead h2 br{display:none}
 .approach-lead p:not(.overline){font-size:14px}.approach{background-position:center center;background-image:linear-gradient(rgba(3,15,35,.77),rgba(3,15,35,.68)),url('/assets/media/rismor-approach-band.webp')}
 .approach-step{display:grid;grid-template-columns:52px 1fr;text-align:left;column-gap:13px;min-height:0;align-items:start;padding:0 2px}
 .step-icon{grid-row:1/3;width:38px;height:38px;margin:3px 0 0}
 .approach-step h3{font-size:16px;margin-bottom:4px}.approach-step h3 br{display:none}
 .approach-step p{font-size:14px;max-width:none}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .service-tile{min-height:128px;padding:19px 8px 15px;gap:10px;border-bottom:1px solid #e5ebf2}
 .service-tile:nth-child(5){grid-column:1/-1;min-height:110px;border-right:0}
 .services-cta{margin:14px auto 18px}
 .service-tile:nth-child(odd){border-right:1px solid #e5ebf2}.service-tile:nth-child(5){border-right:0}
 .service-tile+.service-tile::before{display:none}
 .service-icon{width:44px;height:44px}.service-tile span{font-size:13px}
 .product-grid{grid-template-columns:1fr;gap:9px}
 .product-card{display:grid;grid-template-columns:104px 1fr;min-height:105px}
 .product-image{height:100%;min-height:105px}.product-body{padding:10px 11px}
 .product-card--showcase{display:block;min-height:0}
 .product-card--showcase .product-image--showcase{height:auto;min-height:0;aspect-ratio:4/3}
 .product-card--showcase .product-body{padding:12px 13px}
 .product-body h3{font-size:16px}.product-body p{font-size:14px;min-height:0;margin-bottom:8px}.product-state{font-size:9px}
 .closing-inner{grid-template-columns:1fr;gap:16px;padding-block:35px}
 .closing-inner h2{font-size:31px}.closing-inner h2 br{display:none}
 .closing-copy p{font-size:15px}.closing-note{display:none}
 .closing-inner .button-row{align-items:stretch}.closing-inner .btn{font-size:14px;padding-inline:12px}
 .footer-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-block:20px}.footer-content div{flex-wrap:wrap;gap:9px 17px}
 .page-hero{padding-block:50px 42px}.page-hero h1{font-size:38px}.page-hero p:not(.overline){font-size:15px}
 .editorial{padding-block:33px}.editorial-grid{grid-template-columns:1fr;gap:12px}.editorial article{padding:24px}.editorial article h2{font-size:25px}
 .feature-list{grid-template-columns:1fr;gap:10px}.feature-list li{padding:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.product-card,.menu-toggle span{transition:none!important}.btn:hover,.product-card:hover{transform:none}}

/* Our Thinking - living workshop */
.thinking-page .thinking-hero{background:linear-gradient(110deg,#fff 17%,#eff5fd 100%)}
/* Let the existing bridge artwork emerge from the right of Our Thinking's light hero,
   fading out smoothly before it reaches the text, like the product-story heroes. */
/* The Endless Question: bespoke sketch-to-reality artwork, visible on the right and washed to white behind the copy. */
.thinking-page .thinking-hero::after{inset:0;width:100%;background-image:linear-gradient(90deg,rgba(255,255,255,.995) 0%,rgba(255,255,255,.98) 25%,rgba(255,255,255,.94) 40%,rgba(255,255,255,.68) 58%,rgba(255,255,255,.16) 79%,rgba(255,255,255,.02) 100%),url('/assets/media/rismor-our-thinking-hero.webp');background-size:cover;background-position:center,center center;background-repeat:no-repeat;opacity:1;mask-image:none;-webkit-mask-image:none;pointer-events:none}
.thinking-page .thinking-hero h1{max-width:1050px}
.thinking-page .thinking-hero p:not(.overline){max-width:780px;margin-bottom:11px;font-size:clamp(15px,1.65vw,19px);line-height:1.62}
.thinking-page .thinking-hero .thinking-hero-last{font-weight:750;color:#0c2a52;margin-top:23px}
.thinking-opening{padding-block:86px 75px}
.thinking-opening .thinking-visual{margin-bottom:0}
.thinking-opening .thinking-visual h2 em{font-style:normal;color:var(--blue)}
.thinking-opening .thinking-visual p{font-size:16px;line-height:1.72}
.thinking-opening .thinking-scribble{font-size:19px!important;color:#1a62b1!important;transform:rotate(-3deg);margin-top:18px}
.thinking-collaboration{background:#071a36;color:#fff;padding-block:82px 86px;position:relative;overflow:hidden}
.thinking-collaboration::before{content:"";position:absolute;right:-160px;top:-240px;width:620px;height:620px;border:1px solid #719cd02e;border-radius:50%;box-shadow:0 0 0 84px #719cd008,0 0 0 170px #719cd006;pointer-events:none}
.thinking-collaboration .wrap{position:relative;z-index:1}
.thinking-collaboration h2{font-size:clamp(31px,4.4vw,56px);max-width:1020px;line-height:1.18;margin:18px 0 38px}
.thinking-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,75px)}
.thinking-duo>div{border-top:1px solid #7ca4d77d;padding-top:21px}
.thinking-duo-label{color:#8ac1ff;letter-spacing:.14em;font-size:11px;font-weight:800}
.thinking-duo h3{font-size:clamp(22px,2.45vw,30px);max-width:470px;margin-bottom:14px}
.thinking-duo p:not(.thinking-duo-label){color:#d7e3f4;line-height:1.78}
.thinking-collaboration-end{border-left:3px solid #79b8ff;padding-left:23px;margin:34px 0 0;max-width:880px;color:#d7e3f4;font-size:17px}
.thinking-collaboration-end strong{color:#fff}
.thinking-examples{padding-block:85px 78px}
.thinking-section-lead{max-width:880px;margin-bottom:37px}
.thinking-section-lead h2{font-size:clamp(31px,4vw,52px)}
.thinking-section-lead p:not(.eyebrow){color:var(--muted);font-size:17px}
.thinking-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.thinking-example-grid article{border-top:2px solid #1a5da9;padding:22px 0 10px}
.thinking-example-number{color:#1b66bd;letter-spacing:.13em;font-size:11px;font-weight:800}
.thinking-example-grid h3{font-size:clamp(24px,2.6vw,34px);max-width:470px}
.thinking-example-grid article>p:not(.thinking-example-number){color:var(--muted);line-height:1.7}
.thinking-example-grid a{display:inline-block;font-weight:800;color:#1559a5;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.thinking-ordinary{margin-top:35px;max-width:900px;font-size:17px;line-height:1.75;color:#283f5b}
.thinking-continuum{background:#eaf2fc;border-top:1px solid #dce7f4;border-bottom:1px solid #dce7f4;padding-block:75px}
.thinking-continuum-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px)}
.thinking-continuum h2{font-size:clamp(32px,4vw,53px)}
.thinking-continuum h2 em{font-style:normal;color:#1b62af}
.thinking-continuum-copy p{padding-bottom:14px;border-bottom:1px solid #bbcee7;font-size:16px;color:#344863}
.thinking-continuum-copy strong{display:block;font-size:19px;color:#0b2e60}
.thinking-continuum-copy .thinking-loop-note{font-style:italic;border-bottom:0;margin-top:20px;color:#205ca0}
@media(max-width:800px){
  .thinking-collaboration,.thinking-examples,.thinking-continuum{padding-block:53px}
  .thinking-opening{padding-block:52px}
  .thinking-duo,.thinking-example-grid,.thinking-continuum-inner{grid-template-columns:1fr;gap:26px}
  .thinking-collaboration h2{margin-bottom:26px}
  .thinking-ordinary{margin-top:22px}
}
@media(max-width:640px){
  .thinking-page .thinking-hero h1{font-size:clamp(36px,9vw,48px)}
  .thinking-page .thinking-hero p:not(.overline){font-size:15px}
  /* On narrow screens the text spans the artwork, so keep the image subdued. */
  .thinking-page .thinking-hero::after{background-image:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.90)),url('/assets/media/rismor-our-thinking-hero.webp');background-position:center,72% center}
  .thinking-opening{padding-block:35px}
  .thinking-opening .thinking-visual p{font-size:14px}
  .thinking-opening .thinking-scribble{font-size:17px!important}
  .thinking-collaboration h2{font-size:31px}
  .thinking-duo h3{font-size:23px}
  .thinking-collaboration-end,.thinking-section-lead p:not(.eyebrow),.thinking-ordinary{font-size:15px}
  .thinking-example-grid article{padding-top:19px}
  .thinking-continuum h2{font-size:32px}
  .thinking-continuum-copy p{font-size:14px}
}


/* About - independent by design, personal in voice and grounded in engineering */
.about-page .about-hero{padding-block:105px 100px;background:linear-gradient(102deg,#fff 18%,#f1f6fc 73%,#e6eef7)}
/* About: show the approved sketch-to-reality technology illustration as a full-bleed
   decorative background. The white wash protects the long headline on the left. */
.about-page .about-hero::after{width:100%;opacity:1;background-image:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.99) 25%,rgba(255,255,255,.94) 44%,rgba(255,255,255,.76) 63%,rgba(255,255,255,.31) 84%,rgba(255,255,255,.06) 100%),url('/assets/media/rismor-about-hero.webp');background-size:cover;background-position:center center;background-repeat:no-repeat;mask-image:none;-webkit-mask-image:none;pointer-events:none}
@media(max-width:900px){.about-page .about-hero::after{background-image:linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.96) 48%,rgba(255,255,255,.68) 100%),url('/assets/media/rismor-about-hero.webp');background-position:center,64% center}}
@media(max-width:640px){.about-page .about-hero::after{background-image:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.91)),url('/assets/media/rismor-about-hero.webp');background-position:center,72% center}}
.about-page .about-hero h1{max-width:1060px;line-height:1.12}
.about-page .about-hero-lead{font-size:clamp(16px,1.65vw,19px)!important;line-height:1.75!important;max-width:780px!important}
.about-hero-signoff{color:#0d4f99!important;font-size:14px!important;font-weight:800;letter-spacing:.012em;margin-top:28px}
.about-section-label{display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #dce4ef;padding-bottom:17px;margin-bottom:39px}
.about-section-label .overline{margin:0}.about-section-label span{font-size:10px;letter-spacing:.12em;font-weight:800;color:#8292a5}
.about-beginnings{padding-block:90px 105px}
.about-beginnings-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.78fr);gap:clamp(48px,9vw,145px);align-items:start}
.about-beginnings h2,.about-people-heading h2,.about-breadth>h2{font-size:clamp(35px,4.2vw,59px);line-height:1.16;letter-spacing:-.052em;max-width:850px}
.about-beginnings h2 em,.about-people-heading h2 em,.about-breadth>h2 em{color:#1555aa;font-style:normal}
.about-beginnings-grid p{color:#455a74;font-size:16px;line-height:1.86}
.about-beginnings-aside{border-left:3px solid #2468b9;padding:9px 0 9px 31px;margin-top:18px}
.about-beginnings-aside .about-highlight{color:#0c356a;font-weight:800;font-size:19px;margin-bottom:0}
.about-horizon{background:#061a37;color:#fff;overflow:hidden}
.about-horizon-grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:clamp(55px,8vw,140px);align-items:center;padding-block:95px 103px}
.about-horizon-image{position:relative;max-width:365px;margin-inline:auto}
.about-horizon-image::before{content:"";position:absolute;inset:23px -27px -19px 28px;border:1px solid #6faaff77}
.about-horizon-image img{width:100%;height:auto;position:relative;filter:drop-shadow(0 22px 40px rgba(0,0,0,.3))}
.about-horizon h2{font-size:clamp(35px,4.25vw,60px);max-width:810px;color:#fff;line-height:1.14}
.about-horizon h2 em{font-style:normal;color:#9ac6ff}
.about-horizon-copy>p:not(.overline):not(.handwritten){font-size:16px;line-height:1.86;max-width:760px;color:#dae6f4}
.about-horizon-copy .about-handwritten{color:#a9cefc;font-size:24px;line-height:1.3;transform:rotate(-3deg);margin:23px 0 0}
.about-people{padding-block:95px 104px}
.about-people-heading{display:grid;grid-template-columns:1.05fr .85fr;gap:clamp(30px,8vw,110px);align-items:end;margin-bottom:43px}
.about-people-heading h2{margin-bottom:0}
.about-people-heading>p{color:#455a74;font-size:17px;line-height:1.84;margin:0 0 5px}
.about-people-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,100px)}
.about-people-grid article{padding:30px 0 18px;border-top:2px solid #174f97}
.about-column-index{font-size:11px;letter-spacing:.13em;font-weight:800;color:#286eb8}
.about-people-grid h3{font-size:clamp(23px,2.35vw,33px);line-height:1.21;max-width:470px;margin:14px 0 20px}
.about-people-grid p{color:#53647b;font-size:15px;line-height:1.86;max-width:580px}
.about-people-link{margin:35px 0 0;padding:26px 30px;background:#f3f7fc;border-left:3px solid #2267b6;color:#294466;font-size:15px;line-height:1.7}
.about-people-link a,.about-breadth a{color:#0e529c;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.about-people-link a:hover,.about-breadth a:hover{color:#07346c}
.about-standards{background:linear-gradient(120deg,#f1f6fc,#e8f0f9);padding-block:94px 104px}
.about-standards-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1fr);gap:clamp(50px,10vw,150px)}
.about-standards-heading h2{font-size:clamp(35px,4.2vw,60px);line-height:1.14}
.about-standards-heading h2 em{font-style:normal;color:#125ba9}
.about-standards-heading>p:not(.overline){max-width:440px;color:#465e78;font-size:16px;line-height:1.8}
.about-standards-copy>div{border-top:1px solid #b9cce1;padding:18px 0 22px}
.about-standards-copy>div:first-child{border-top:2px solid #19589e}
.about-standards-copy h3{font-size:21px;margin-bottom:8px}
.about-standards-copy p{font-size:15px;line-height:1.76;color:#485e78;margin:0}
.about-breadth{padding-block:96px 112px}
.about-breadth>h2{max-width:1090px;margin-bottom:53px}
.about-breadth-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.about-breadth-grid>div{border-top:2px solid #19579e;padding:25px 0 8px}
.about-breadth-label{font-size:10px;letter-spacing:.14em;color:#2869b0;font-weight:800}
.about-breadth-grid h3{font-size:clamp(25px,3vw,38px);margin:12px 0 16px}
.about-breadth-grid>div>p:not(.about-breadth-label){font-size:15px;line-height:1.85;color:#4b6078;max-width:590px}
.about-breadth-grid a{display:inline-block;margin-top:6px}
.about-breadth-example{margin:56px 0 0;max-width:1000px;color:#3e526c;font-size:16px;line-height:1.9;border-left:3px solid #82abd7;padding:5px 0 5px 27px}
.about-belief{background:#061a37 url('/assets/media/rismor-thread-through-everything.webp') right center / cover no-repeat;color:#fff;padding-block:104px 113px;position:relative;overflow:hidden}
.about-belief::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,42,.46) 0%,rgba(4,19,42,.24) 51%,rgba(4,19,42,.09) 100%);pointer-events:none}
.about-belief .wrap{position:relative;z-index:1}
.about-belief h2{font-size:clamp(41px,6.2vw,86px);line-height:1.17;max-width:1120px;margin:20px 0 34px}
.about-belief h2 em{font-style:normal;color:#95c8ff}
.about-belief .wrap>p:not(.overline){max-width:805px;font-size:17px;line-height:1.85;color:#d9e8fb}
.about-belief .wrap>.about-belief-final{color:#fff;font-weight:800;font-size:clamp(21px,2.6vw,31px);line-height:1.4;margin-top:32px}
@media(max-width:900px){
 .about-page .about-hero{padding-block:77px 72px}
 .about-beginnings,.about-people,.about-breadth{padding-block:66px 74px}
 .about-horizon-grid,.about-standards{padding-block:68px 74px}
 .about-beginnings-grid,.about-people-heading,.about-standards-grid{grid-template-columns:1fr;gap:22px}
 .about-horizon-grid{grid-template-columns:minmax(170px,.48fr) 1fr;gap:35px}
 .about-beginnings-aside{margin-top:0}
 .about-people-heading{margin-bottom:26px}
 .about-belief{padding-block:75px 86px}
}
@media(max-width:640px){
 .about-page .about-hero{padding-block:53px 58px}
 .about-page .about-hero h1{font-size:clamp(35px,9.3vw,45px)}
 .about-page .about-hero-lead{font-size:15px!important}
 .about-section-label{margin-bottom:26px}
 .about-section-label span{display:none}
 .about-beginnings,.about-people,.about-breadth{padding-block:48px 57px}
 .about-beginnings h2,.about-people-heading h2,.about-breadth>h2{font-size:clamp(30px,8vw,38px)}
 .about-beginnings-grid p,.about-horizon-copy>p:not(.overline):not(.handwritten),.about-people-heading>p,.about-breadth-example{font-size:14px}
 .about-beginnings-aside{padding-left:20px}
 .about-horizon-grid{grid-template-columns:1fr;gap:30px;padding-block:55px}
 .about-horizon-image{max-width:230px}
 .about-horizon h2{font-size:35px}
 .about-horizon-copy .about-handwritten{font-size:20px}
 .about-people-grid,.about-breadth-grid{grid-template-columns:1fr;gap:21px}
 .about-people-grid article{padding-top:22px}
 .about-people-link{padding:21px;margin-top:18px}
 .about-standards{padding-block:56px}
 .about-standards-heading h2{font-size:35px}
 .about-standards-copy h3{font-size:19px}
 .about-breadth>h2{margin-bottom:28px}
 .about-breadth-grid h3{font-size:26px}
 .about-breadth-example{margin-top:33px;padding-left:18px}
 .about-belief{padding-block:64px 73px;background-position:66% center}
 .about-belief::after{background:linear-gradient(90deg,rgba(4,19,42,.71),rgba(4,19,42,.42))}
 .about-belief h2{font-size:clamp(37px,9vw,48px)}
 .about-belief .wrap>p:not(.overline){font-size:15px}
 .about-belief .wrap>.about-belief-final{font-size:23px}
}

/* About only: let the dark three-expression finale resolve into a lighter invitation. */
.about-page .closing-cta{background:linear-gradient(110deg,#f9fbfe 5%,#edf4fc 73%,#e2eefb);color:#071c3b;border-top:1px solid #dce7f4}
.about-page .closing-cta::after{opacity:.22;background-image:linear-gradient(90deg,rgba(247,250,254,.7),rgba(247,250,254,.08)),url('/assets/media/rismor-home-hero.webp');pointer-events:none}
.about-page .closing-inner{padding-block:61px;min-height:220px}
.about-page .closing-inner .overline-blue{color:#1555aa}
.about-page .closing-inner h2{color:#071c3b}
.about-page .closing-copy p{color:#294562}
.about-page .closing-inner .btn-light-outline{color:#124c91;border-color:#185ba5;background:rgba(255,255,255,.8)}
.about-page .closing-inner .btn-light-outline:hover{background:#e1edfc}
.about-page .closing-note{color:#155197}
@media(max-width:640px){
 .about-page .closing-inner{padding-block:42px;min-height:0}
 .about-page .closing-cta::after{opacity:.13;width:55%}
}

/* What We Do: one editorial story from curiosity to practical engineering. */
.what-page h1,.what-page h2,.what-page h3{letter-spacing:-.055em}
.what-page h1 em,.what-page h2 em{color:var(--blue);font-style:normal}
.what-page section[id],.what-page article[id]{scroll-margin-top:0}
/* Reuse the same edge-to-edge image and aligned copy structure as the homepage hero. */
.what-hero-image{background-image:url('/assets/media/rismor-what-we-do-hero.webp');background-position:center 51%}
/* Match the approved white-fading sketch-to-reality hero family. The uploaded WebP
   already has the correct filename; remove the old dark treatment around it. */
.what-page .what-hero{background:#f8fbff;color:#071a36}
 /* Fix the kicker baseline independently of the longer hero copy: product heroes start at ~65-80px. */
.what-page .what-hero{align-items:stretch}
.what-page .what-hero-copy{padding-block:78px 72px}
.what-page .what-hero-image .hero-image-overlay{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 20%,rgba(255,255,255,.95) 37%,rgba(255,255,255,.76) 54%,rgba(255,255,255,.29) 78%,rgba(255,255,255,.04) 100%)}
.what-page .what-hero-image::after{content:none}
.what-page .what-hero-copy h1{color:#071a36}
.what-page .what-hero-copy h1 em{color:#1555aa}
.what-page .what-hero .overline{color:#2164ac}
.what-page .what-hero-copy>p:not(.overline){color:#344c68}
.what-page .what-hero-copy .what-hero-lead{color:#102b4c!important}
.what-page .what-hero .btn-outline{color:#124b91;border-color:#1f5fa7;background:rgba(255,255,255,.88)}
.what-page .what-hero .btn-outline:hover{background:#e6f0fc}
.what-hero-copy h1{font-size:clamp(42px,4.55vw,72px);line-height:1.09;max-width:770px;margin:20px 0 22px}
.what-hero-copy .overline{letter-spacing:.12em}
.what-hero-copy>p:not(.overline){max-width:580px;color:#40536c;font-size:16px;line-height:1.73}
.what-hero-copy .what-hero-lead{color:var(--ink)!important;font-size:22px!important;font-weight:800;line-height:1.3!important;margin:0 0 7px}
.what-hero-copy .button-row{margin-top:28px}
.what-hero-handwritten{position:absolute;right:clamp(24px,4vw,70px);bottom:37px;color:#154e91;font-size:clamp(21px,2.3vw,34px);line-height:1.08;text-align:right;transform:rotate(-6deg);text-shadow:0 1px 10px rgba(255,255,255,.9)}
.what-intro{padding-block:clamp(65px,7vw,105px)}
.what-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);gap:clamp(35px,8vw,160px);align-items:start}
.what-intro h2{font-size:clamp(35px,4.25vw,64px);line-height:1.14;margin:4px 0 0}
.what-intro-grid p{font-size:16px;line-height:1.82;color:#445570;margin:5px 0 20px}
.what-expressions{color:#fff;padding-block:clamp(70px,7.5vw,112px) 65px;background:linear-gradient(90deg,rgba(3,18,40,.96),rgba(4,24,52,.89)),url('/assets/media/rismor-approach-band.webp') center/cover no-repeat}
.what-section-heading{max-width:810px;margin-bottom:53px}
.what-section-heading h2{font-size:clamp(40px,4.65vw,65px);line-height:1.12;margin:14px 0 18px}
.what-expressions .what-section-heading h2 em{color:#84b9ff}
.what-section-heading>p:last-child{color:#d1def0;font-size:17px;max-width:650px}
.what-expression-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff44;border-bottom:1px solid #ffffff44}
.what-expression{padding:38px clamp(20px,3.1vw,50px) 42px 0;min-width:0}
.what-expression+.what-expression{border-left:1px solid #ffffff30;padding-left:clamp(22px,3.1vw,50px)}
.what-expression img{height:48px;width:48px;object-fit:contain;margin-bottom:22px;filter:brightness(0) invert(1)}
.what-expression-number,.what-capability-index,.what-proof-category{font-size:10px;font-weight:800;letter-spacing:.13em}
.what-expression-number{color:#92beff;margin:0 0 13px}
.what-expression h3{font-size:clamp(27px,2.4vw,36px);line-height:1.13;margin:0 0 15px;color:#fff}
.what-expression>p:not(.what-expression-number){font-size:14px;line-height:1.75;color:#d7e1ef;min-height:150px}
.what-expression>a{display:inline-block;margin-top:8px;color:#fff;border-bottom:1px solid #88b6fa;padding-bottom:5px;font-size:14px;font-weight:800}
.what-expression>a:hover,.what-expression>a:focus-visible{color:#9ecbff}
.what-expression-loop{text-align:right;color:#c7d8eb;font-size:13px;margin:24px 0 0}
.what-expression-loop strong{color:#fff}
.what-capabilities{padding-block:clamp(76px,8vw,116px)}
.what-capabilities-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:60px;align-items:end;margin-bottom:50px}
.what-capabilities-head h2,.what-proof-head h2,.what-people h2{font-size:clamp(38px,4.15vw,60px);line-height:1.13;margin:12px 0 0}
.what-capabilities-head>p{max-width:370px;font-size:16px;line-height:1.75;color:#475a72}
.what-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid #0d3260}
.what-capability{padding:30px 32px 33px 0;border-bottom:1px solid #dbe4ed;min-width:0}
.what-capability:not(:nth-child(3n+1)){border-left:1px solid #e0e7ef;padding-left:32px}
.what-capability-index{color:#346da9}
.what-capability h3{font-size:clamp(22px,2vw,28px);line-height:1.25;margin:14px 0 12px}
.what-capability p{font-size:15px;line-height:1.8;color:#516078;margin:0}
.what-capability p a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.what-proof{background:#f0f5fb;padding-block:clamp(73px,7.5vw,108px)}
.what-proof-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}
.what-proof-head .btn{flex-shrink:0}
.what-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.what-proof-item{background:#fff;border:1px solid #d8e2ef;min-width:0}
.what-proof-image{display:block;overflow:hidden;aspect-ratio:4/3;background:#0b2344}
.what-proof-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.what-proof-image:hover img{transform:scale(1.025)}
.what-proof-copy{padding:clamp(23px,3.1vw,43px)}
.what-proof-category{color:#3366a6;margin:0 0 14px}
.what-proof-copy h3{font-size:clamp(26px,2.65vw,39px);line-height:1.2;margin:0 0 14px}
.what-proof-copy>p:not(.what-proof-category){color:#4b5a70;font-size:14px;line-height:1.75}
.what-proof-copy>p a{font-weight:800;text-decoration:underline;text-underline-offset:3px;color:var(--blue)}
.what-text-link{display:inline-block;color:#0f559c;font-size:14px;font-weight:800;padding-bottom:4px;border-bottom:2px solid #0f559c}
.what-text-link:hover,.what-text-link:focus-visible{color:#072a56;border-bottom-color:#072a56}
.what-people{padding-block:clamp(75px,7.5vw,110px);background:#fff}
.what-people-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:clamp(35px,8vw,145px)}
.what-people-grid>div:last-child{padding-top:10px}
.what-people-grid p:not(.overline){font-size:15px;line-height:1.83;color:#455873;margin:0 0 19px}
@media(max-width:1050px){
 .what-page .what-hero-image .hero-image-overlay{background:linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.96) 49%,rgba(255,255,255,.71) 100%)}
 .what-hero-copy h1{font-size:clamp(40px,5vw,58px)}
 .what-hero-copy .button-row{flex-wrap:wrap}
 .what-expression>p:not(.what-expression-number){min-height:200px}
 .what-capability{padding-right:20px}
 .what-capability:not(:nth-child(3n+1)){padding-left:20px}
}
@media(max-width:800px){
 .what-hero-copy h1{font-size:clamp(40px,7vw,60px)}
 .what-intro-grid,.what-people-grid{grid-template-columns:1fr;gap:24px}
 .what-expression-grid{grid-template-columns:1fr}
 .what-expression,.what-expression+.what-expression{padding:30px 0;border-left:0}
 .what-expression+.what-expression{border-top:1px solid #ffffff30}
 .what-expression>p:not(.what-expression-number){min-height:0;max-width:650px}
 .what-expression-loop{text-align:left}
 .what-capabilities-head{grid-template-columns:1fr;gap:16px}
 .what-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .what-capability:not(:nth-child(3n+1)){border-left:0;padding-left:0}
 .what-capability:nth-child(even){border-left:1px solid #e0e7ef;padding-left:22px}
 .what-capability:nth-child(odd){padding-right:22px}
 .what-proof-grid{gap:16px}
}
@media(max-width:600px){
 .what-page .what-hero-copy{padding-block:41px 58px}
 .what-hero-copy h1{font-size:clamp(35px,9vw,47px);margin:14px 0 18px}
 .what-hero-copy>p:not(.overline){font-size:14px;line-height:1.67}
 .what-hero-copy .what-hero-lead{font-size:20px!important}
 .what-hero-copy .button-row{flex-direction:column;align-items:stretch;gap:10px}
 .what-hero-copy .btn{text-align:center}
 .what-hero-image{background-position:63% 49%}
 .what-page .what-hero-image .hero-image-overlay{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.91))}
 .what-hero-handwritten{display:none}
 .what-intro{padding-block:54px}
 .what-intro h2,.what-section-heading h2,.what-capabilities-head h2,.what-proof-head h2,.what-people h2{font-size:clamp(30px,8vw,42px)}
 .what-intro-grid p,.what-section-heading>p:last-child{font-size:15px}
 .what-expressions{padding-block:53px 42px}
 .what-section-heading{margin-bottom:22px}
 .what-expression img{height:40px;width:40px;margin-bottom:14px}
 .what-expression h3{font-size:27px}
 .what-capabilities{padding-block:54px}
 .what-capabilities-head{margin-bottom:26px}
 .what-capability-grid{grid-template-columns:1fr}
 .what-capability,.what-capability:nth-child(even),.what-capability:nth-child(odd),.what-capability:not(:nth-child(3n+1)){padding:23px 0;border-left:0}
 .what-capability h3{font-size:24px;margin:9px 0}
 .what-proof{padding-block:53px}
 .what-proof-head{display:block;margin-bottom:23px}
 .what-proof-head .btn{margin-top:21px}
 .what-proof-grid{grid-template-columns:1fr;gap:17px}
 .what-proof-copy{padding:22px}
 .what-proof-copy h3{font-size:26px}
 .what-people{padding-block:57px}
}
@media(prefers-reduced-motion:reduce){.what-proof-image img{transition:none}.what-proof-image:hover img{transform:none}}

/* What We Do: engineered foundations for AI-assisted development. */
.what-capability-grid>.what-capability--feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(24px,6vw,85px);align-items:center;position:relative;overflow:hidden;margin-top:30px;padding:clamp(30px,4.5vw,65px);border:0;background:linear-gradient(112deg,rgba(4,22,48,.98),rgba(7,48,92,.94)),url('/assets/media/rismor-approach-band.webp') center/cover no-repeat;color:#fff}
.what-capability--feature .what-capability-index{color:#96c4ff}
.what-capability--feature h3{font-size:clamp(30px,3.6vw,51px);line-height:1.13;color:#fff;margin:18px 0 15px}
.what-capability--feature .what-capability-feature-tagline{font-size:clamp(17px,1.5vw,21px);font-weight:700;color:#d5e8ff;line-height:1.5;max-width:500px}
.what-capability--feature .what-capability-feature-detail p{font-size:15px;line-height:1.8;color:#e4eefa;margin:0 0 24px}
.what-capability--feature .btn{color:#fff}
.what-proof-more{margin-top:clamp(40px,5vw,72px);border-top:1px solid #cad8e8;padding-top:clamp(36px,4vw,60px)}
.what-proof-more-heading{max-width:800px;margin-bottom:27px}
.what-proof-more-heading h3{font-size:clamp(30px,3.5vw,47px);line-height:1.16;margin:11px 0 12px}
.what-proof-more-heading h3 em{color:var(--blue);font-style:normal}
.what-proof-more-heading>p:last-child{font-size:14px;color:#51637a;max-width:690px;line-height:1.75}
/* Reuse homepage product-card component; only the local grid count changes. */
.what-proof-more .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.what-page .what-proof-more .product-body h3{letter-spacing:-.025em}
@media(max-width:1050px){.what-proof-more .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.what-capability-grid>.what-capability--feature:nth-child(n){grid-template-columns:1fr;padding:32px;gap:10px;border:0}}
@media(max-width:600px){
.what-capability-grid>.what-capability--feature:nth-child(n){padding:26px 23px;margin-top:25px}
.what-capability--feature h3{font-size:31px}
.what-capability--feature .what-capability-feature-tagline{font-size:17px}
.what-capability--feature .what-capability-feature-detail p{font-size:15px}
.what-proof-more .product-grid{grid-template-columns:1fr;gap:9px}
}
@media(prefers-reduced-motion:reduce){.what-proof-more .product-card{transition:none}}


/* Product detail showcases: same full-bleed editorial family as the finished product stories. */
.product-detail-page .product-detail-hero{position:relative;isolation:isolate;overflow:hidden;background:#071b35;color:#fff}
.product-detail-hero-art{position:absolute;inset:0;z-index:-2;overflow:hidden}
.product-detail-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.product-detail-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(2,14,31,.98) 0%,rgba(3,18,39,.95) 29%,rgba(4,22,46,.84) 48%,rgba(4,22,46,.38) 76%,rgba(4,22,46,.16) 100%),linear-gradient(0deg,rgba(2,13,29,.45),transparent 47%)}
.product-detail-hero-inner{min-height:clamp(580px,48vw,720px);padding-block:78px 82px;display:flex;align-items:flex-start;position:relative;z-index:1}
.product-detail-hero-copy{max-width:min(100%,770px);text-shadow:0 1px 9px rgba(1,10,22,.18)}
.product-detail-hero .overline{color:#b6dcff}
.product-detail-hero h1{font-size:clamp(41px,4.7vw,72px);line-height:1.09;letter-spacing:-.06em;color:#fff;margin:19px 0 27px}
.product-detail-hero h1 em,.product-detail-intro h2 em{font-style:normal;color:#a9d4ff}
.product-detail-hero-lead{color:#dce9f9;font-size:clamp(17px,1.65vw,21px);line-height:1.65;max-width:635px;margin-bottom:23px}
.product-detail-hero .product-state{font-size:10px;padding:7px 10px}
.product-detail-hero .button-row{margin-top:29px}
.product-detail-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,7vw,120px);padding-block:clamp(70px,8vw,120px)}
.product-detail-intro h2{font-size:clamp(36px,4.4vw,64px);line-height:1.13;letter-spacing:-.06em;max-width:750px;margin:16px 0 0}
.product-detail-intro h2 em{color:var(--blue)}
.product-detail-intro-copy p{font-size:16px;line-height:1.83;color:#445872;margin:0 0 23px}
.product-detail-focus{padding-block:clamp(72px,7vw,110px);background:linear-gradient(115deg,#041831,#08305c);color:#fff}
.product-detail-focus .overline{color:#9dcdff}
.product-detail-focus h2{font-size:clamp(34px,4vw,57px);line-height:1.12;letter-spacing:-.05em;margin:13px 0 45px}
.product-detail-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #b4d4ff65}
.product-detail-focus-grid article{padding:31px 35px 0 0;min-width:0}
.product-detail-focus-grid article+article{border-left:1px solid #b4d4ff45;padding-left:35px}
.product-detail-focus-index{color:#a5d1ff;font-size:11px;font-weight:800;letter-spacing:.15em}
.product-detail-focus-grid h3{font-size:clamp(24px,2.1vw,31px);line-height:1.2;color:#fff;margin:17px 0 15px}
.product-detail-focus-grid article>p:last-child{font-size:14px;line-height:1.8;color:#d5e4f5}
.product-detail-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(35px,8vw,135px);padding-block:clamp(68px,7vw,110px)}
.product-detail-next h2{font-size:clamp(34px,4vw,58px);line-height:1.14;letter-spacing:-.05em;margin:13px 0 0}
.product-detail-next>div:last-child>p{font-size:16px;line-height:1.8;color:#475b74;margin:0 0 25px}
.product-detail-next .button-row{flex-wrap:wrap}
@media(max-width:900px){.product-detail-hero-inner{min-height:580px;padding-block:67px 72px}.product-detail-hero::after{background:linear-gradient(90deg,rgba(2,14,31,.97),rgba(3,18,39,.91) 52%,rgba(4,22,46,.56)),linear-gradient(0deg,rgba(2,13,29,.40),transparent 65%)}.product-detail-intro,.product-detail-next{grid-template-columns:1fr;gap:28px}.product-detail-focus-grid article,.product-detail-focus-grid article+article{padding-right:18px;padding-left:18px}.product-detail-focus-grid article:first-child{padding-left:0}}
@media(max-width:640px){.product-detail-hero-inner{min-height:0;padding-block:45px 67px}.product-detail-hero h1{font-size:clamp(35px,9vw,48px);margin:14px 0 19px}.product-detail-hero-lead{font-size:15px}.product-detail-hero::after{background:linear-gradient(90deg,rgba(2,13,29,.95),rgba(3,19,40,.81)),linear-gradient(0deg,rgba(2,13,29,.62),transparent 65%)}.product-detail-hero .button-row{flex-direction:column;align-items:stretch}.product-detail-hero .btn{text-align:center}.product-detail-intro,.product-detail-next{padding-block:54px;gap:20px}.product-detail-intro h2,.product-detail-focus h2,.product-detail-next h2{font-size:clamp(32px,8vw,42px)}.product-detail-intro-copy p,.product-detail-next>div:last-child>p{font-size:15px}.product-detail-focus{padding-block:58px}.product-detail-focus h2{margin-bottom:24px}.product-detail-focus-grid{grid-template-columns:1fr}.product-detail-focus-grid article,.product-detail-focus-grid article+article,.product-detail-focus-grid article:first-child{padding:24px 0;border-left:0}.product-detail-focus-grid article+article{border-top:1px solid #b4d4ff45}.product-detail-focus-grid h3{font-size:25px;margin:10px 0}.product-detail-next .button-row{flex-direction:column;align-items:stretch}.product-detail-next .btn{text-align:center}}


/* What We Do commercial services - editorial, owner-approved 20 October 2026. */
.what-service-overview{padding-block:clamp(66px,7vw,108px) clamp(50px,6vw,82px);scroll-margin-top:0}
.what-service-overview-intro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.85fr);gap:clamp(28px,6vw,104px);align-items:start;margin:14px 0 40px}
.what-service-overview h2,.what-service-family h2{font-size:clamp(36px,4.25vw,60px);line-height:1.13;letter-spacing:-.055em;margin:0}
.what-service-overview h2 em,.what-service-family h2 em,.what-evidence h2 em{font-style:normal;color:var(--blue)}
.what-service-overview-intro p,.what-family-intro p{font-size:16px;line-height:1.82;color:#465a72;margin:0 0 16px}
.what-service-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid #0d3260;border-bottom:1px solid #d5e0ec}
.what-service-nav a{display:flex;flex-direction:column;gap:13px;min-width:0;padding:25px 28px 29px 0;color:#102d50}
.what-service-nav a+a{border-left:1px solid #d5e0ec;padding-left:28px}
.what-service-nav a>span{color:#346da9;font-size:10px;font-weight:800;letter-spacing:.12em}
.what-service-nav a>strong{font-size:clamp(20px,2.2vw,28px);line-height:1.25;letter-spacing:-.03em}
.what-service-nav a>small{font-size:14px;line-height:1.6;color:#50627b}
.what-service-nav a:hover strong,.what-service-nav a:focus-visible strong{color:#1262af}
.what-service-family{padding-block:clamp(68px,7.5vw,110px);scroll-margin-top:0}
.what-service-family--tinted{background:#f0f5fb}
.what-service-family-head{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:clamp(28px,8vw,122px);margin-bottom:clamp(28px,4vw,56px)}
.what-service-family-head .overline{margin:0 0 17px}
.what-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.what-service{padding:31px clamp(18px,3vw,42px) 34px 0;border-bottom:1px solid #cfdde9;min-width:0;scroll-margin-top:0}
.what-service:nth-child(even){border-left:1px solid #d8e3ef;padding-left:clamp(18px,3vw,42px)}
.what-service .what-capability-index{margin:0 0 11px;font-size:10px;letter-spacing:.12em}
.what-service h3{font-size:clamp(23px,2.5vw,32px);line-height:1.24;letter-spacing:-.038em;margin:0 0 15px;color:#112c4e}
.what-service p:not(.what-capability-index){font-size:15px;line-height:1.78;color:#42566e;margin:0 0 17px}
.what-service p strong{color:#143d6e;font-weight:750}
.what-service-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:21px}
.what-family-cta{display:flex;justify-content:flex-start;margin-top:35px}
.what-anchor{display:block;position:relative;scroll-margin-top:0}
.what-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid #0d3260}
.what-evidence-grid article{padding:28px 32px 30px 0;border-bottom:1px solid #cbd8e7}
.what-evidence-grid article+article{border-left:1px solid #cbd8e7;padding-left:32px}
.what-evidence-grid h3{font-size:clamp(23px,2.3vw,31px);line-height:1.24;letter-spacing:-.035em;margin:13px 0}
.what-evidence-grid article>p:not(.what-proof-category){font-size:14px;line-height:1.77;color:#40536c;margin:0 0 20px}
.what-evidence-more{margin:28px 0 0;color:#475c74;font-size:14px;line-height:1.7}
.what-evidence-more a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){
 .what-service-overview-intro,.what-service-family-head{grid-template-columns:1fr;gap:17px}
 .what-service-nav a{padding-right:16px}
 .what-service-nav a+a{padding-left:16px}
 .what-evidence-grid{grid-template-columns:1fr}
 .what-evidence-grid article,.what-evidence-grid article+article{border-left:0;padding:24px 0}
 .what-evidence-grid article+article{border-top:1px solid #cbd8e7}
}
@media(max-width:640px){
 .what-service-overview{padding-block:54px 45px}
 .what-service-overview h2,.what-service-family h2{font-size:clamp(32px,8vw,42px)}
 .what-service-overview-intro p,.what-family-intro p{font-size:15px}
 .what-service-nav{grid-template-columns:1fr}
 .what-service-nav a,.what-service-nav a+a{border-left:0;padding:21px 0}
 .what-service-nav a+a{border-top:1px solid #d5e0ec}
 .what-service-nav a>strong{font-size:24px}
 .what-service-family{padding-block:56px}
 .what-service-list{grid-template-columns:1fr}
 .what-service,.what-service:nth-child(even){border-left:0;padding:24px 0}
 .what-service h3{font-size:25px}
 .what-service p:not(.what-capability-index){font-size:15px}
 .what-family-cta .btn{width:100%;text-align:center}
 .what-evidence-grid h3{font-size:26px}
}


/* Editorial variation: key services lead; specialist CyberAlarm hosting is easy to find. */
.what-service-list>.what-service--lead{grid-column:1/-1;padding:clamp(28px,4vw,46px);margin:20px 0 0;background:linear-gradient(115deg,#e9f3fe,#f8fbff);border-top:3px solid #2869b3;border-bottom:1px solid #cad8e8}
.what-service-list>.what-service--lead:nth-child(even){border-left:0;padding-left:clamp(28px,4vw,46px)}
.what-service--lead h3{font-size:clamp(28px,2.8vw,38px);max-width:700px}
.what-service--lead p:not(.what-capability-index){max-width:920px}
.what-service-list>.what-service--highlight{grid-column:1/-1;padding:clamp(28px,4vw,44px);margin-top:22px;background:#102e51;border:1px solid #244a78;color:#fff}
.what-service-list>.what-service--highlight:nth-child(even){border-left:0;padding-left:clamp(28px,4vw,44px)}
.what-service--highlight h3{color:#fff}
.what-service--highlight .what-capability-index{color:#abd0ff}
.what-service--highlight p:not(.what-capability-index){color:#dce8f5;max-width:940px}
.what-service--highlight p strong{color:#fff}
@media(max-width:640px){
 .what-service-list>.what-service--lead,.what-service-list>.what-service--lead:nth-child(even),.what-service-list>.what-service--highlight,.what-service-list>.what-service--highlight:nth-child(even){padding:25px 21px}
}

/* Anchor targets use their own section padding. The header is in document flow,
   so fixed/sticky-header offsets must not push the target beneath earlier CTAs. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* What We Do: use the spare fourth service-grid cell for the contact step. */
.what-service-list>.what-service--cta{
 grid-column:2;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 justify-content:center;
 background:linear-gradient(120deg,#e6f1ff,#f7fbff);
 border-left:1px solid #d8e3ef;
 border-top:3px solid #2869b3;
 border-bottom:1px solid #cfdde9;
 padding:clamp(25px,3vw,38px);
}
.what-service--cta h3{max-width:520px}
.what-service--cta p:not(.what-capability-index){max-width:520px}
.what-service--cta .btn{margin-top:8px}
@media(max-width:640px){
 .what-service-list>.what-service--cta{grid-column:1;border-left:0;padding:27px 22px}
}


/* The CyberAlarm service panel shares its artwork with the dedicated hero.
   Keep the copy legible, and reveal the map and alarm detail to the right. */
.what-service-list>.what-service--highlight{
 background-color:#06172f;
 background-image:linear-gradient(92deg,rgba(4,15,35,.97) 0%,rgba(4,17,39,.94) 41%,rgba(4,17,39,.72) 72%,rgba(4,17,39,.49) 100%),url('/assets/media/police-cyberalarm-background.webp');
 background-position:center,center 46%;
 background-repeat:no-repeat;
 background-size:cover;
}
@media(max-width:640px){
 .what-service-list>.what-service--highlight{
  background-image:linear-gradient(100deg,rgba(4,15,35,.94),rgba(4,15,35,.78)),url('/assets/media/police-cyberalarm-background.webp');
  background-position:center,67% center;
 }
}

/* Interior page hero continuity. "What We Do" defines the fixed distance from
   the flowing site header to the first overline. Keep the homepage untouched.
   Set only the top inset; each page retains its own bottom space and art. */
:root{--rismor-interior-hero-top:78px}
.page-hero,.about-page .about-hero,.what-page .what-hero-copy,.product-detail-hero-inner{padding-top:var(--rismor-interior-hero-top)}
@media(max-width:600px){:root{--rismor-interior-hero-top:41px}}
