/* Page-specific sections adapted from Scrolltide Service Cards and Step Path,
   and MotionSites Nimbus Security, using Bollard's own content and palette. */
.roles-showcase{padding:clamp(65px,8vw,120px) 6%;background:#f5f8f9;color:#243b48}.roles-heading{display:grid;grid-template-columns:1fr 2fr;gap:5%;align-items:start;margin-bottom:44px}.roles-heading>p,.system-stack-head>div>p,.method-compass span{font:700 10px/1.4 Arial,sans-serif;letter-spacing:.15em;color:#a5412f}.roles-heading h2,.path-section h2,.system-stack h2{margin:0;font:400 clamp(38px,4.6vw,70px)/1.03 Georgia,serif;letter-spacing:-.035em}.roles-heading div>p,.system-stack-head>p{max-width:480px;font:16px/1.6 Arial,sans-serif;color:#5a707a}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.role-card{--role-accent:#a5412f;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#e5eef1;color:#253b46;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.role-users{--role-accent:#416a7b;background:#e7eef2}.role-research{--role-accent:#566779;background:#e0e8eb}.role-art{height:190px;position:relative;overflow:hidden;background:linear-gradient(135deg,#c3d8e2,#e9f1f3)}.role-art i{position:absolute;display:block;border:1px solid rgba(32,58,71,.25);transition:transform .45s ease}.role-build .role-art i:nth-child(1){width:115px;height:100px;top:36px;left:30%;background:#f1f6f7;box-shadow:8px 8px 0 #a6412f}.role-build .role-art i:nth-child(2){width:75px;height:2px;top:76px;left:calc(30% + 20px);background:#9bb3bc}.role-build .role-art i:nth-child(3){width:50px;height:2px;top:93px;left:calc(30% + 20px);background:#9bb3bc}.role-users .role-art i{border-radius:50%;width:100px;height:100px;top:42px;left:calc(50% - 50px)}.role-users .role-art i:nth-child(2){transform:scale(.66);border-color:#a5412f}.role-users .role-art i:nth-child(3){transform:scale(.3);background:#a5412f}.role-research .role-art i{width:85px;height:85px;top:50px;left:calc(50% - 42px);transform:rotate(45deg);background:rgba(255,255,255,.35)}.role-research .role-art i:nth-child(2){transform:rotate(45deg) translate(18px,18px)}.role-research .role-art i:nth-child(3){transform:rotate(45deg) translate(-18px,-18px)}.role-card>small,.role-card>h3,.role-card>p,.role-cta{margin-left:24px;margin-right:24px}.role-card>small{margin-top:24px;font:700 10px Arial,sans-serif;letter-spacing:.12em;color:var(--role-accent)}.role-card h3{font:400 29px/1.1 Georgia,serif;margin-top:14px;margin-bottom:10px}.role-card p{flex:1;color:#5c727c;font:14px/1.55 Arial,sans-serif}.role-cta{display:flex;justify-content:space-between;gap:10px;margin-top:20px;margin-bottom:24px;padding:15px;background:#fff;font:700 11px Arial,sans-serif;transition:background .25s,color .25s}.role-cta b{transition:transform .25s}.role-card:focus-visible{outline:3px solid #a5412f;outline-offset:4px}@media(hover:hover) and (pointer:fine){.role-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #263d4a1c}.role-card:hover .role-cta,.role-card:focus-visible .role-cta{background:var(--role-accent);color:#fff}.role-card:hover .role-cta b{transform:translate(3px,-3px)}}
.method-compass{max-width:1200px;margin:0 auto 65px;padding:0 8%;display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.method-compass a{display:flex;flex-direction:column;gap:14px;padding:25px;background:#dce8ec;color:#263e4b;text-decoration:none;transition:background .2s,transform .2s}.method-compass strong{font:400 24px Georgia,serif}.method-compass small{font:12px Arial,sans-serif;color:#58707a}.method-compass a:hover,.method-compass a:focus-visible{background:#c9dde3;transform:translateY(-3px)}
.path-section{padding:clamp(65px,7vw,100px) 7%;background:#f7fafb;color:#263b46}.path-section h2{max-width:730px}.path-layout{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}.path-line{position:absolute;inset:0;overflow:visible;pointer-events:none;width:100%;height:100%}.path-line path{fill:none;stroke:#a34331;stroke-width:1.5;stroke-dasharray:5 7;opacity:.55}.path-step{position:relative;padding-top:30px}.path-step:nth-of-type(2){margin-top:20px}.path-step:nth-of-type(3){margin-top:40px}.path-step:nth-of-type(4){margin-top:60px}.path-dot{position:absolute;top:0;left:3px;width:12px;height:12px;border-radius:50%;background:#a5412f;box-shadow:0 0 0 6px #f7fafb}.path-step small{font:700 10px Arial,sans-serif;letter-spacing:.14em;color:#a5412f}.path-step h3{font:400 26px Georgia,serif;margin:12px 0}.path-step p{font:14px/1.5 Arial,sans-serif;color:#607782}.path-layout.is-visible .path-line path{animation:path-travel 4s linear infinite}@keyframes path-travel{to{stroke-dashoffset:-48}}
.system-stack{padding:clamp(70px,8vw,120px) 6%;background:#182d3b;color:#f4f8f9}.system-stack-head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:5%;margin-bottom:45px}.system-stack-head>p{color:#c1d1d8}.system-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.system-cards article{min-width:0;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #d5e8ef38;background:linear-gradient(145deg,#ffffff0e,#ffffff04);padding:24px;transition:transform .25s,border-color .25s}.system-cards article small{font:700 10px Arial,sans-serif;letter-spacing:.13em;color:#e4a38e}.system-cards h3{font:400 30px Georgia,serif;margin:18px 0 12px}.system-cards p{max-width:310px;color:#bbccd3;font:14px/1.55 Arial,sans-serif}.sys-visual{min-height:120px;display:flex;align-items:center;gap:8px}.sys-visual span{padding:10px;border:1px solid #cfe6ed55;background:#bed4dd13;color:#d3e3e8;font:10px Arial,sans-serif;letter-spacing:.06em}.sys-run b{color:#d98570}.sys-attest,.sys-record{align-items:stretch;justify-content:center;flex-direction:column}.sys-attest span:nth-child(2){margin-left:20px}.sys-attest span:nth-child(3){margin-left:40px}.sys-record span{display:block;border-bottom:0}.sys-record span:last-child{border-bottom:1px solid #cfe6ed55}@media(hover:hover) and (pointer:fine){.system-cards article:hover{transform:translateY(-4px);border-color:#d69a89}}
.resource-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;clear:both;padding-top:12px}.resource-links .resource-tiles a{display:flex;min-height:175px;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid #b4c8d0;background:#dce9ee;transition:background .25s,transform .25s}.resource-tiles span{font:700 10px Arial,sans-serif;letter-spacing:.12em;color:#a5412f}.resource-tiles strong{font:400 24px Georgia,serif}.resource-tiles small{font:12px Arial,sans-serif;color:#59717b}.resource-links .resource-tiles a:hover,.resource-links .resource-tiles a:focus-visible{background:#c9dfe6;transform:translateY(-3px)}.film-index a{transition:padding .25s,background .25s,color .25s}.film-index a:hover,.film-index a:focus-visible{padding-inline:20px;background:#d7e6ea;color:#a5412f}
@media(max-width:700px){.roles-heading,.system-stack-head{grid-template-columns:1fr;gap:20px}.method-compass{grid-template-columns:1fr;padding-inline:6%}.method-compass a{padding:20px}.path-layout{grid-template-columns:1fr;gap:15px;margin-top:40px}.path-step,.path-step:nth-of-type(n){margin:0;padding:0 0 20px 42px}.path-dot{top:3px;left:0}.system-cards{grid-template-columns:1fr}.system-cards article{min-height:265px}.resource-tiles{grid-template-columns:1fr}.resource-links .resource-tiles a{min-height:140px}}
@media(prefers-reduced-motion:reduce){.role-card,.role-art i,.role-cta,.role-cta b,.method-compass a,.system-cards article,.resource-links .resource-tiles a,.film-index a{transition:none}.path-layout.is-visible .path-line path{animation:none}}
/* Interior atmospheres: Laminar and two differently graded MotionSites films. */
.sub-intro[class*="atmosphere-"]{position:relative;isolation:isolate;overflow:hidden;background:#d8e8ed}
.interior-atmosphere{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;z-index:-2;pointer-events:none;opacity:.42}
.sub-intro[class*="atmosphere-"]::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(230,242,246,.97) 0%,rgba(232,242,245,.9) 52%,rgba(192,216,224,.55) 100%)}
.atmosphere-process .interior-atmosphere{opacity:.27;mix-blend-mode:multiply}
.atmosphere-system{background:#213946!important;color:#fff!important}
.atmosphere-system .interior-atmosphere{opacity:.55;mix-blend-mode:screen}
.sub-intro.atmosphere-system::before{background:linear-gradient(100deg,rgba(26,46,58,.98),rgba(39,65,76,.91) 55%,rgba(78,91,94,.63))}
.atmosphere-system>p:last-child{color:#d0e0e6!important}
.atmosphere-system>p:first-child{color:#f3ac98!important}
.interior-focus{background:#f4f9fa;border-bottom:1px solid #c8d9df;font-size:clamp(26px,3.5vw,46px);padding-top:32px;padding-bottom:32px}
.interior-focus span{opacity:.68}.interior-focus span.active{opacity:1}
/* The ring and moving arrow take their cue from Scrolltide's Glow Ring button. */
.tide-button{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:7px 8px 7px 19px;transition:background .25s ease,transform .25s ease}
.sub-action.tide-button::before{display:none}
.sub-intro[class*="atmosphere-"]>p:first-of-type{font:700 10px Arial,sans-serif;letter-spacing:.14em;color:#a6412f}
.sub-intro.atmosphere-system>p:first-of-type{color:#f3ac98}
.tide-button b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.75);font-size:14px;transition:transform .25s ease,background .25s ease}
.tide-button:hover,.tide-button:focus-visible{background:#8d3529}.tide-button:hover b,.tide-button:focus-visible b{transform:rotate(45deg);background:rgba(255,255,255,.16)}
.system-cards article{transition:transform .35s ease,background .35s ease,border-color .35s ease}
.system-cards article:hover,.system-cards article:focus-within{transform:translateY(-5px);border-color:#d9917b;background:#294957}
.showcase-detail{margin-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.showcase-detail summary{display:flex;justify-content:space-between;gap:16px;padding:17px 0 3px;cursor:pointer;list-style:none;color:#eaf4f5;font:600 12px/1.4 Arial,sans-serif}
.showcase-detail summary::-webkit-details-marker{display:none}.showcase-detail summary span{color:#edaa94;transition:transform .25s ease}.showcase-detail[open] summary span{transform:rotate(45deg)}
.showcase-detail p{margin:12px 0 0;color:#d0e0e5;font:14px/1.6 Arial,sans-serif;animation:showcase-arrive .3s ease both}
@keyframes showcase-arrive{from{opacity:0;transform:translateY(6px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.interior-atmosphere{display:none}.tide-button,.tide-button b,.system-cards article,.showcase-detail summary span{transition:none}.system-cards article:hover{transform:none}.showcase-detail p{animation:none}}
