@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/barlow-condensed-600.woff2') format('woff2')}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/plex-sans-400.woff2') format('woff2')}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/plex-sans-500.woff2') format('woff2')}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/plex-mono-400.woff2') format('woff2')}
:root{color-scheme:light;--paper:#f3f2eb;--ink:#242722;--muted:#65685f;--line:#cfcec5;--accent:#b44931;--dark:#242923;--light:#d5d8ce;--logo-filter:none;--logo-blend:multiply;--control-line:#a6a89d;--gutter:clamp(24px,5vw,88px)}
:root[data-theme="dark"]{color-scheme:dark;--paper:#222424;--ink:#eeeae1;--muted:#b1b3aa;--line:#454946;--accent:#d98365;--dark:#191c1c;--logo-filter:invert(1);--logo-blend:screen;--control-line:#6c736e}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:#222424;--ink:#eeeae1;--muted:#b1b3aa;--line:#454946;--accent:#d98365;--dark:#191c1c;--logo-filter:invert(1);--logo-blend:screen;--control-line:#6c736e}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}p,h1,h2,h3,figure{margin:0}.wrap{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.mono{font-family:"Courier New",monospace;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.055em}.square{display:inline-block;width:7px;height:7px;background:var(--accent);flex-shrink:0}.section-label{display:flex;gap:12px;align-items:center}.skip-link{position:fixed;z-index:100;top:-70px;left:20px;padding:14px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:12px}.site-header{display:flex;justify-content:space-between;align-items:center;height:112px;border-bottom:1px solid var(--line);gap:45px}.wordmark{font-size:33px;letter-spacing:-1.9px;font-weight:900;line-height:1}.brand-period{color:var(--accent)}.header-descriptor{font-size:9px;letter-spacing:.035em;flex:1}.site-header nav{display:flex;gap:35px;align-items:center;font-size:13px}.site-header nav a{padding-block:14px}.site-header nav a:hover{color:var(--accent)}.site-header nav a:last-child span{margin-left:19px}.menu-toggle{display:none}.hero{padding-top:57px}.eyebrow{display:flex;align-items:center;gap:12px}.hero-title-row{display:flex;align-items:center;justify-content:space-between;padding-top:30px}h1{font-size:clamp(64px,8.9vw,145px);font-weight:500;line-height:.97;letter-spacing:-.068em}.hero-down{width:100px;margin-right:18px;margin-top:40px;transition:transform .2s}.hero-down:hover{transform:translateY(7px)}.hero-down svg{display:block;width:100%;height:110px}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding:38px 0 42px;gap:30px}.hero-bottom>p:first-child{font-size:18px;line-height:1.4;letter-spacing:-.03em}.hero-description{max-width:370px;font-size:15px;line-height:1.6;color:var(--muted)}.landscape-image{height:clamp(340px,37vw,560px);position:relative;overflow:hidden;background:#5a625f;color:white}.landscape-image img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;filter:grayscale(1) brightness(.75) contrast(1.13)}.landscape-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),transparent 30%,transparent 70%,rgba(0,0,0,.32));pointer-events:none}.image-top,.image-bottom{position:absolute;z-index:1;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.065em}.image-top{top:22px}.image-bottom{bottom:23px}.image-cross{font-size:26px;line-height:1}.landscape figcaption{display:flex;justify-content:space-between;padding-top:15px;font-size:11px;color:var(--muted)}.landscape figcaption .mono{font-size:10px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:113px 119px}.intro>.section-label{align-self:start;padding-top:9px}.intro h2,.approach h2{font-size:clamp(34px,3.5vw,55px);line-height:1.12;font-weight:400;letter-spacing:-.045em}.intro-copy{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;margin-top:32px;max-width:800px}.intro-copy p{font-size:15px;line-height:1.7;color:var(--muted)}.dark-section{background:var(--dark);color:var(--paper)}.capabilities{padding-block:88px 98px}.section-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-aside h2{font-size:42px;line-height:1.1;font-weight:400;letter-spacing:-.045em;margin-top:46px}.section-aside>p:last-child{font-size:14px;line-height:1.7;color:#afb5a9;margin-top:26px}.capability-list{border-top:1px solid #5b6156}.capability-list details{border-bottom:1px solid #5b6156}.capability-list summary{display:flex;align-items:center;list-style:none;cursor:pointer;gap:23px;min-height:102px}.capability-list summary::-webkit-details-marker{display:none}.item-number{color:#a5ad9e;font-size:11px}.capability-list h3{font-weight:400;font-size:clamp(21px,2.1vw,32px);letter-spacing:-.035em;flex:1}.expand{height:18px;width:18px;position:relative;flex-shrink:0}.expand::before,.expand::after{content:"";position:absolute;background:var(--light);left:0;top:8px;width:18px;height:1px;transition:transform .2s}.expand::after{transform:rotate(90deg)}details[open] .expand::after{transform:rotate(0)}.capability-list summary:hover h3{color:#c6ccb9}.detail-content{padding:0 46px 32px}.detail-content p{font-size:15px;line-height:1.75;color:#bfc5b7;max-width:560px}.tags{display:block;font-size:9px;letter-spacing:.065em;margin-top:22px;color:#a5ad9e}.approach{padding-block:103px 100px}.approach .section-label{align-self:start;padding-top:7px}.approach-lead{color:var(--muted);font-size:16px;margin-top:24px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px}.principles article{border-top:1px solid var(--line);padding-top:23px}.principle-number{color:var(--accent);font-size:11px}.principles h3{font-size:24px;font-weight:400;letter-spacing:-.035em;margin-top:37px}.principles p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:18px;max-width:340px}.contact{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding-block:27px 66px}.contact-top{display:flex;justify-content:space-between;gap:20px}.contact-top>.mono{font-size:9px;color:var(--muted)}.contact-main{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:50px;margin-top:63px}.contact h2{font-size:clamp(56px,7vw,110px);line-height:1;letter-spacing:-.065em;font-weight:400}.contact-main>div{justify-self:end;width:min(100%,370px)}.contact-main p{font-size:16px;line-height:1.7;color:var(--muted)}.project-button{display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);min-height:54px;padding:16px 22px;font-size:13px;margin-top:25px;text-align:left;transition:background .2s,border-color .2s}.project-button:hover{background:var(--accent);border-color:var(--accent)}.project-button span{font-size:20px;line-height:1}.direct-email{font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:17px}.direct-email:not([hidden]){display:inline-block}.site-footer{padding-block:44px 24px}.footer-main{display:flex;align-items:center;gap:40px}.footer-main>.mono{color:var(--muted);font-size:9px;flex:1}.back-top{font-size:12px}.back-top span{margin-left:24px}.footer-bottom{display:flex;justify-content:space-between;margin-top:45px;font-size:10px;color:var(--muted)}.text-button{border:0;padding:0;background:none;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.text-button:hover,.back-top:hover{color:var(--accent)}dialog{border:0;background:var(--paper);color:var(--ink);width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:48px;overscroll-behavior:contain}dialog::backdrop{background:rgba(20,24,20,.75);backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:18px;top:12px;width:40px;height:40px;background:none;border:0;font-size:30px}.dialog-close:hover{color:var(--accent)}dialog h2{font-size:43px;line-height:1.05;letter-spacing:-.045em;font-weight:400;margin:26px 0 18px}.dialog-intro,dialog>p:not(.section-label){font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:20px}dialog>p a{text-decoration:underline;text-underline-offset:3px}form label{display:block;font-size:12px;margin-top:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea{display:block;background:transparent;border:1px solid #a6a89d;border-radius:0;padding:12px;margin-top:8px;width:100%;color:var(--ink);font-size:14px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}textarea{resize:vertical;min-height:90px}.optional{color:var(--muted)}form .project-button{width:100%}.form-status{font-size:12px;line-height:1.6;margin-top:14px;color:var(--muted)}
@media(min-width:1700px){.hero{padding-top:70px}.hero-bottom{padding-top:45px;padding-bottom:50px}}
@media(max-width:1050px){.header-descriptor{display:none}.site-header{justify-content:space-between}.section-grid,.intro{grid-template-columns:1fr 1.7fr;gap:30px}.section-aside h2{font-size:35px}.hero-description{max-width:330px}.intro-copy{gap:24px}.contact-top>.mono{display:none}.capability-list summary{gap:15px}.detail-content{padding-left:31px;padding-right:10px}.principles{gap:26px}.principles h3{font-size:22px}}
@media(max-width:700px){:root{--gutter:24px}.site-header{height:86px;position:relative;gap:20px}.wordmark{font-size:29px}.menu-toggle{display:flex;align-items:center;gap:22px;padding:12px 0 12px 12px;background:none;border:0;font-size:13px}.menu-toggle span{font-size:23px;line-height:1}.site-header nav{display:none;position:absolute;z-index:5;top:85px;left:calc(-1*var(--gutter));right:calc(-1*var(--gutter));background:var(--paper);padding:20px var(--gutter) 26px;border-bottom:1px solid var(--ink);gap:0}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.site-header nav a{font-size:18px;padding:17px 0}.site-header nav a:last-child{display:flex;justify-content:space-between}.hero{padding-top:36px}.eyebrow .mono{font-size:9px}.hero-title-row{padding-top:30px}h1{font-size:clamp(49px,10.6vw,76px);letter-spacing:-.066em}.hero-down{width:33px;margin:18px 0 0 10px}.hero-down svg{height:55px}.hero-bottom{align-items:start;flex-direction:column;gap:20px;padding:28px 0 30px}.hero-bottom>p:first-child{font-size:17px}.hero-description{font-size:14px;max-width:370px}.landscape-image{height:360px}.landscape-image img{object-position:85% center}.image-top,.image-bottom{left:17px;right:17px;font-size:8px}.image-bottom>span:last-child{display:none}.landscape figcaption{gap:15px;align-items:start;font-size:10px;line-height:1.5}.landscape figcaption .mono{font-size:8px}.intro,.section-grid{grid-template-columns:1fr;gap:32px}.intro{padding-block:66px 70px}.intro h2,.approach h2{font-size:35px}.intro-copy{grid-template-columns:1fr;gap:15px;margin-top:24px}.intro-copy p{font-size:14px}.desktop-break{display:none}.capabilities{padding-block:51px 58px}.section-aside h2{font-size:37px;margin-top:27px}.section-aside h2 br{display:none}.section-aside h2{max-width:290px}.section-aside>p:last-child{margin-top:17px}.capability-list{margin-top:6px}.capability-list summary{min-height:87px;gap:12px}.capability-list h3{font-size:22px}.item-number{font-size:10px}.detail-content{padding-left:27px;padding-bottom:27px}.detail-content p{font-size:14px}.tags{font-size:8px}.approach{padding-block:60px}.approach-lead{font-size:14px;margin-top:20px}.principles{grid-template-columns:1fr;gap:30px;margin-top:42px}.principles article{display:grid;grid-template-columns:45px 1fr;column-gap:15px;padding-top:21px}.principle-number{margin-top:7px;font-size:10px}.principles h3{margin:0;font-size:24px}.principles p{grid-column:2;margin-top:12px;max-width:none;font-size:14px}.contact{padding-block:25px 40px}.contact-main{grid-template-columns:1fr;gap:29px;margin-top:40px}.contact h2{font-size:clamp(44px,14vw,67px)}.contact-main>div{justify-self:start;width:100%}.contact-main p{font-size:15px}.project-button{width:100%}.footer-main{flex-wrap:wrap;justify-content:space-between;gap:20px}.footer-main>.mono{order:3;flex-basis:100%}.footer-bottom{margin-top:29px}.site-footer{padding-top:31px}.section-label{font-size:10px}dialog{padding:36px 24px 24px}dialog h2{font-size:35px}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Supplied Rockall identity; source artwork retained in assets/brand. */
.wordmark{display:block;flex-shrink:0;width:330px;line-height:0}
.wordmark img{display:block;width:100%;height:auto;mix-blend-mode:var(--logo-blend);filter:var(--logo-filter)}
.footer-main .wordmark{width:290px}
.site-header .wordmark{height:100%;width:auto;flex:0 1 797px;min-width:0}
.site-header .wordmark img{height:100%;width:100%;object-fit:contain;object-position:left center}
.site-header nav{flex-shrink:0}
@media(max-width:700px){.wordmark{width:230px;max-width:calc(100% - 84px)}.footer-main .wordmark{width:230px;max-width:calc(100% - 90px)}.site-header{height:96px}.site-header nav{top:95px}}

/* Industrial display type, readable body copy, and technical annotations. */
body{font-family:"IBM Plex Sans",Arial,sans-serif}
.mono{font-family:"IBM Plex Mono",monospace;letter-spacing:.045em}
h1,.intro h2,.approach h2,.section-aside h2,.contact h2,dialog h2,.principles h3{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;letter-spacing:-.012em}
h1{font-size:clamp(76px,10.8vw,176px);line-height:.94}
.intro h2,.approach h2{font-size:clamp(42px,4.1vw,65px);line-height:1.05}
.section-aside h2{font-size:49px;line-height:1.04}
.contact h2{font-size:clamp(70px,8.2vw,132px);line-height:.96}
.principles h3{font-size:31px;line-height:1.1}
.capability-list h3{font-weight:500;letter-spacing:-.025em}
.site-header nav,.project-button{font-weight:500}
.hero-bottom>p:first-child{font-weight:500;letter-spacing:-.015em}
dialog h2{font-size:49px;line-height:1.02}
@media(max-width:1050px){.section-aside h2{font-size:43px}.principles h3{font-size:28px}}
@media(max-width:700px){h1{font-size:clamp(57px,13.4vw,94px);line-height:.98}.intro h2,.approach h2{font-size:43px}.section-aside h2{font-size:43px;max-width:300px}.principles h3{font-size:29px}.contact h2{font-size:clamp(57px,17vw,90px)}dialog h2{font-size:41px}}

/* Appearance follows the device unless a visitor selects Light or Dark. */
.dark-section{color:#f3f2eb}
input,textarea{border-color:var(--control-line)}
textarea::placeholder{color:var(--muted);opacity:1}
.theme-control{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:20px}
.theme-control>span{font-size:9px;color:var(--muted)}
.theme-control select{font-family:"IBM Plex Mono",monospace;font-size:11px;min-height:44px;max-width:95px;padding:8px 4px;background:var(--paper);color:var(--ink);border:0;border-radius:0;cursor:pointer}
.theme-control select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.theme-control select:disabled{cursor:default;opacity:.6}
.site-header nav a[href="#contact"] span{margin-left:19px}
@media(min-width:701px) and (max-width:1050px){.site-header{gap:24px}.site-header nav{gap:20px}.theme-control{padding-left:14px}}
@media(max-width:700px){.theme-control{margin-top:12px;padding:12px 0 0;border-left:0;border-top:1px solid var(--line);justify-content:space-between}.theme-control>span{font-size:11px}.theme-control select{max-width:none;font-size:13px;padding-inline:10px}.site-header nav a[href="#contact"]{display:flex;justify-content:space-between}}
