/* GravityWorks: one shared identity and one explicit palette per service card. */
@font-face{font-family:'Barlow Condensed';src:url('/assets/barlow-condensed-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--red:#c8262b;--red-bright:#ff7478;--ink:#202124;--muted:#50545a;--paper:#f5f5f5;--line:#bfc2c4;--dark:#111214;--width:1240px;--space:clamp(1.25rem,4vw,3rem);--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px;transition:color .18s ease}a:hover{color:var(--red)}button{font:inherit;touch-action:manipulation}a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.14;letter-spacing:0}h1,h2{text-transform:uppercase}h1{font-size:clamp(2.8rem,5.5vw,5.4rem);margin-bottom:1.2rem}h2{font-size:2rem}h3{font-size:1.45rem}p{margin-bottom:1.25rem}.wrap{width:min(calc(100% - 2 * var(--space)),var(--width));margin-inline:auto}.skip-link{position:absolute;z-index:100;left:1rem;top:-6rem;background:white;color:var(--ink);padding:.75rem 1rem}.skip-link:focus{top:1rem}
/* Supplied artwork remains intact, with no crop, overlay or recreated lettering. */
.brand-lockup{display:block;width:100%;height:auto;object-fit:contain}.wordmark{display:block;width:252px;max-width:100%;flex:none;text-decoration:none}.hero-brand{width:min(960px,100%);margin:1rem 0 2rem}.footer-mark{margin-bottom:1.7rem;position:relative}.footer-mark .brand-lockup{max-width:620px}.site-header{background:var(--dark);color:#f4f4ed;border-bottom:1px solid #434646}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}#main-nav{display:flex;align-items:center;gap:2rem;font-size:.9375rem}#main-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;padding:.6rem 0}#main-nav a:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:2px;background:var(--red-bright);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}#main-nav a:hover,#main-nav a[aria-current]{color:#fff}#main-nav a:hover:after,#main-nav a[aria-current]:after{transform:scaleX(1)}#main-nav .nav-contact{background:var(--red);color:white;padding:.6rem 1.4rem}#main-nav .nav-contact:after{display:none}#main-nav .nav-contact:hover{background:#a41d23}.menu-toggle{display:none;background:none;border:1px solid #9da0a3;color:white;padding:.6rem 1rem;text-transform:uppercase;font-size:.875rem;min-height:44px}.menu-toggle span{margin-left:.6rem}.eyebrow{font:600 .875rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:1.2rem}
.hero{background:var(--dark);color:#f4f4ed;position:relative;isolation:isolate}.hero:before,.site-footer:before,.page-heading:before{content:'';position:absolute;inset:0;background-image:url('/assets/ink-wear.svg'),url('/assets/grain.svg');opacity:.18;pointer-events:none;z-index:0}.hero-inner{position:relative;padding-block:2.2rem}.hero-label{color:#c4c8c6;margin-bottom:1rem}.hero-label span{margin:0 .8rem;color:var(--red-bright)}.hero h1{font-size:clamp(1.6rem,2.6vw,2.35rem);line-height:1.25;letter-spacing:.04em;margin:1.4rem 0 1.6rem;max-width:800px}.hero h1 span{color:var(--red-bright);margin:0 .25em}.hero-bottom{border-top:1px solid #777a7470;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-top:1.6rem}.hero-description{font-size:1rem;color:#d1d4d3;max-width:760px;margin:0}.services-section{padding:2.8rem 0 3.2rem}.section-bar{position:relative;padding:0 0 1.3rem}.section-bar h2{font-size:1.65rem;letter-spacing:.02em;margin:0}.section-bar:after{content:'';position:absolute;left:0;right:0;bottom:.4rem;height:2px;background:repeating-linear-gradient(93deg,#929993 0 47px,transparent 47px 49px,#929993 49px 86px,transparent 86px 87px);opacity:.6}
/* Card colours are scoped here; generic hover states never replace the palette. */
.service-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #a7aba5}.service-modules-three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:3rem}.service-module{--card-bg:#f5f5f5;--card-fg:#202124;--card-copy:#454a4e;--card-rule:#969c9f;--card-art:#b21f28;position:relative;display:flex;flex-direction:column;background:var(--card-bg);color:var(--card-fg);text-decoration:none;min-width:0;isolation:isolate;transition:box-shadow .2s ease}.service-module+.service-module{border-left:1px solid #90958d}.service-module:before{content:'';position:absolute;inset:0;background:url('/assets/grain.svg');opacity:.055;z-index:-1;pointer-events:none}.module-rigging{--card-bg:#242728;--card-fg:#fff;--card-copy:#d6dcd8;--card-rule:#767e79;--card-art:#f0f1ee}.module-equipment{--card-bg:#d3d6ce;--card-art:#50594f}.module-scuba{--card-bg:#bb2029;--card-fg:#fff;--card-copy:#fff;--card-rule:#fda7ac;--card-art:#fff}.service-module:hover,.service-module:focus-visible{color:var(--card-fg);box-shadow:inset 0 0 0 2px var(--card-rule)}.service-module:focus-visible{outline:3px solid var(--ink);outline-offset:5px;z-index:2}.service-module:active{box-shadow:inset 0 0 0 4px var(--card-rule)}.module-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font:500 .875rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.035em;padding:1.2rem 1.4rem 0}.module-arrow{width:28px;height:28px;flex:none;display:grid;place-items:center;border:1px solid currentColor;font:1.2rem/1 sans-serif;transition:background .2s,color .2s,transform .2s}.service-diagram{display:block;width:100%;height:auto;aspect-ratio:320/220;max-height:213px;overflow:visible;margin:.4rem auto .2rem;color:var(--card-art)}.diagram-guides{opacity:.22}.module-copy{display:flex;flex-direction:column;flex:1;padding:0 1.4rem 1.5rem;min-width:0}.module-copy :is(h2,h3){text-transform:uppercase;font-size:2rem;line-height:1.08;margin-bottom:1rem}.module-copy p{font-size:1rem;line-height:1.65;margin-bottom:1.35rem;color:var(--card-copy)}.module-link{font:700 1.1rem/1.4 var(--display);text-transform:uppercase;letter-spacing:.035em;margin-top:auto;border-top:1px solid var(--card-rule);padding-top:.9rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.module-link span{transition:transform .2s}.service-module:is(:hover,:focus-visible) .module-arrow{transform:translate(2px,-2px);background:var(--card-fg);color:var(--card-bg)}.service-module:is(:hover,:focus-visible) .module-link span{transform:translateX(4px)}.cspa-panel{display:flex;align-items:center;justify-content:center;padding:1rem}.cspa-panel img{width:auto;height:100%;max-height:185px;max-width:100%;object-fit:contain}.cspa-identity{display:flex;gap:1rem;align-items:center;margin:0 0 1.7rem;font:700 .875rem/1.7 ui-monospace,monospace;letter-spacing:.035em;color:#fff}.cspa-identity img{width:76px;height:auto;flex:none}.cspa-identity strong{font:400 1rem/1.4 Arial,sans-serif;letter-spacing:0;color:#ddd}
.equipment-container,.equipment-component,.equipment-harness{transform-box:view-box;transform-origin:160px 110px;transition:transform .4s ease}.module-equipment:is(:hover,:focus-visible) .equipment-container{transform:translate(-4px,-3px)}.module-equipment:is(:hover,:focus-visible) .equipment-component{transform:translate(7px,-2px)}.module-equipment:is(:hover,:focus-visible) .equipment-harness{transform:translateY(4px)}.bubble{transform-box:fill-box;transform-origin:center;transition:transform .4s ease}.module-scuba:is(:hover,:focus-visible) .bubble-one{transform:translateY(-17px)}.module-scuba:is(:hover,:focus-visible) .bubble-two{transform:translate(3px,-10px)}.module-scuba:is(:hover,:focus-visible) .bubble-three{transform:translateY(-8px)}
.resources-band{background:#e8e9eb;border-top:1px solid #adb3a9;position:relative}.resources-band:before{content:'';position:absolute;top:0;left:0;width:36%;height:5px;background:var(--red)}.resource-strip{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:2.1rem 0 2.4rem}.resource-strip h2{font-size:1.5rem;margin-bottom:.6rem}.resource-strip p{color:var(--muted);max-width:500px;margin-bottom:.5rem}.resource-strip a{font-weight:600;text-decoration:none;border-bottom:2px solid var(--red);display:inline-block;padding:.35rem 0}.resource-strip section+section{border-left:1px solid #a8afa3;padding-left:3rem}.subnav{background:#252629;color:#e1e3de}.subnav .wrap{display:flex;flex-wrap:wrap;gap:2rem}.subnav a{font-size:.9375rem;min-height:46px;display:inline-flex;align-items:center;text-decoration:none;padding:.85rem 0}.subnav a[aria-current]{color:#ff878a;font-weight:600}.subnav a:hover{color:white}
.page-heading{position:relative;isolation:isolate;width:100%;max-width:none;padding:2.8rem max(var(--space),calc((100% - var(--width))/2)) 3rem;background:var(--dark);color:#f5f4ed;margin:0 0 2.8rem;overflow:hidden}.page-heading:after{content:'';position:absolute;right:-65px;top:0;bottom:0;width:200px;background:var(--red);transform:skew(-25deg);opacity:.8;z-index:-1}.page-heading>*{position:relative;z-index:1}.page-heading .eyebrow{color:#ff878a;margin-bottom:1rem}.page-heading h1{line-height:1.06;max-width:970px}.lead{font-size:1.125rem;line-height:1.65;max-width:820px;color:var(--muted);margin-bottom:0}.page-heading .lead{color:#d4d9d3;padding-right:1rem}.back-link{display:inline-block;margin-bottom:1.5rem;font-size:.9375rem;text-decoration:none;color:#d1d7d1}.article-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(230px,1fr);gap:4rem;padding-bottom:3rem;align-items:start}.prose{min-width:0;counter-reset:section}.prose section{padding:1.6rem 0 0;margin-bottom:2.2rem;border-top:1px solid #a9afa5;counter-increment:section}.prose h2{font-size:1.85rem;display:flex;gap:.8rem;align-items:baseline;line-height:1.14;margin-bottom:1.1rem}.prose section>h2:before{content:counter(section,decimal-leading-zero);font:.875rem ui-monospace,monospace;color:var(--red);letter-spacing:.04em;flex:none}.prose h3{margin-top:1.7rem}.prose p,.prose li{color:#393b3f}.prose ul,.prose ol{padding-left:1.4rem}.prose li{padding-left:.15rem;margin:.5rem 0}.prose li::marker{color:var(--red)}.prose a{color:#ae1e27}.prose .note{background:#242728;color:#f5f4ed;border-left:5px solid var(--red);padding:1.4rem 1.5rem;position:relative}.prose .note p{color:#e1e5df}.prose .note p:last-child{margin-bottom:0}.prose .note strong{color:#fff}.prose .note a{color:#ff9296}.article-aside{position:sticky;top:1.5rem;background:#18191c;color:#e7ece4;border-top:5px solid var(--red);padding:1.75rem;box-shadow:6px 6px 0 #d7d8da;min-width:0}.article-aside .eyebrow{color:#ff878a}.article-aside h2{font-size:2rem}.article-aside p{color:#d0d5cd}.article-aside a:not(.button):hover{color:#ff9799}.aside-resource{border-top:1px solid #70766d;padding-top:1.5rem;margin:1.8rem 0 0}.aside-resource a{display:inline-block;margin-top:.4rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:48px;padding:.7rem 1rem;background:var(--red);color:#fff;border:0;text-decoration:none;font:700 1.1rem/1.4 var(--display);text-transform:uppercase;letter-spacing:.035em;cursor:pointer}.button:hover{color:white;background:#991b22}.button:focus-visible{outline:3px solid currentColor;outline-offset:4px}.button span{flex:none}.course-list{margin:0 0 3.5rem}.course-row{display:grid;grid-template-columns:95px 1fr auto;gap:1.5rem;align-items:center;padding:1.7rem 1.5rem 1.7rem 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s}.course-row:first-child{border-top:1px solid #30372f}.course-row:hover,.course-row:focus-visible{background:#e7e8eb;color:var(--ink)}.course-code{font:700 2.4rem var(--display);color:var(--red);border-left:4px solid var(--red);padding-left:1rem}.course-row h2{font-size:2rem;line-height:1.14;margin-bottom:.5rem}.course-row p{color:var(--muted);margin:0}.course-row .arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid #899280;font-size:1.5rem}.course-row:is(:hover,:focus-visible) .arrow{color:white;background:var(--red);border-color:var(--red)}.two-col-list{columns:2;column-gap:2rem}.two-col-list li{break-inside:avoid}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:5rem;padding-bottom:4rem}.contact-inquiry{background:white;border:1px solid var(--line);border-top:5px solid var(--red);padding:2rem;box-shadow:7px 7px 0 #d7d8da}.contact-inquiry h2{font-size:2rem}.email-address{margin:1rem 0}.contact-note{font-size:.9375rem;color:var(--muted)}.contact-note:last-child{margin-bottom:0}.contact-side{padding-top:1.5rem;border-top:4px solid #232922;min-width:0}.contact-side h2{font-size:1.6rem}.contact-side p{color:var(--muted)}.contact-side>div+div{margin-top:2.5rem}.email-address a,.contact-side a,.footer-top a{overflow-wrap:anywhere}.site-footer{position:relative;isolation:isolate;background:var(--dark);color:#eef0ec;padding:2rem 0 1.4rem}.footer-top,.footer-bottom{position:relative}.footer-top{display:flex;justify-content:space-between;gap:2rem}.footer-top>div{min-width:0}.footer-brand{font-family:var(--display);font-size:1.7rem;text-transform:uppercase;text-decoration:none}.footer-top p{font-size:.9375rem;color:#c0c8bc;margin:.5rem 0 0;max-width:420px}.footer-top a:hover{color:#ff9296}.footer-top>div:last-child{text-align:right}.footer-top nav{display:flex;flex-wrap:wrap;gap:1.3rem;justify-content:flex-end;margin-top:.7rem;font-size:.9375rem}.footer-top nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #485042;margin-top:2rem;padding-top:1.1rem;color:#b9c3b3}.footer-bottom small{font-size:.875rem}.empty-page{padding:5rem 0 6rem}.empty-page h1{font-size:clamp(3rem,7vw,6rem)}
body[data-page=rigging] .prose section{border:1px solid #b6bdb0;padding:1.4rem 1.5rem 1.1rem;background:#eeeef0;position:relative;margin-bottom:1.4rem}body[data-page=rigging] .prose section:after{content:'';position:absolute;top:-1px;left:-1px;width:34px;height:3px;background:var(--red)}body[data-page=rigging] .prose .note{margin:1.3rem -1.5rem -1.1rem;padding:1.3rem 1.5rem}body[data-page=scuba] .page-heading{background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,#ffffff08 40px,#ffffff08 41px)}body[data-page=scuba] .page-heading:after{width:270px;background:linear-gradient(90deg,var(--red) 0 42%,#f0f0e8 42% 57%,var(--red) 57%);opacity:1}body[data-page=scuba] .prose section{border-top:2px solid #545e51}
@media(max-width:1050px){#main-nav{gap:1rem}.header-inner{gap:1rem}.hero-bottom{gap:1.5rem}.service-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.service-module:nth-child(3){border-left:0}.service-module:nth-child(n+3){border-top:1px solid #91988c}.service-modules-three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-modules-three .service-module:nth-child(3){border-top:0;border-left:1px solid #91988c}.module-top{padding:1.2rem 1rem 0}.module-copy{padding:0 1rem 1.5rem}.article-layout,.contact-layout{gap:2.5rem}.page-heading:after{right:-100px}.resource-strip{gap:2.5rem}}
@media(max-width:820px){.header-inner{flex-wrap:wrap;padding-block:.75rem}.wordmark{width:215px}.js .menu-toggle{display:block}.menu-toggle[hidden]{display:none}#main-nav{width:100%;flex-wrap:wrap;gap:.5rem 1.4rem;padding:.5rem 0}.js #main-nav{display:none}.js #main-nav.is-open{display:flex}.service-modules-three{grid-template-columns:1fr}.service-modules-three .service-module{display:grid;grid-template-columns:40% 60%}.service-modules-three .module-top{grid-column:1/-1}.service-modules-three .module-copy{padding:1.2rem 1.5rem 1.5rem .5rem}.service-modules-three .service-module:nth-child(n+2){border-left:0;border-top:1px solid #91988c}.article-layout,.contact-layout{grid-template-columns:1fr;gap:2rem}.article-aside{position:static}.hero-bottom{flex-direction:column;align-items:flex-start}.two-col-list{columns:1}}
@media(max-width:720px){.wordmark{width:190px}.hero-inner{padding-block:1.7rem}.hero-label{letter-spacing:.06em}.hero-brand{margin:.5rem 0 1.2rem}.hero h1{font-size:clamp(1.5rem,4.6vw,2rem);letter-spacing:.02em}.hero h1 span{margin:0 .1em}.hero-bottom{padding-top:1.3rem}.hero-description{font-size:1rem}.services-section{padding:2rem 0}.section-bar{padding-bottom:1.1rem}.service-diagram{max-height:185px}.module-top{padding:1rem 1rem 0;letter-spacing:0}.module-copy :is(h2,h3){font-size:1.85rem}.module-copy p{font-size:1rem}.module-link{font-size:1.1rem}.resource-strip{grid-template-columns:1fr;padding:1.8rem 0 2rem;gap:1.5rem}.resource-strip section+section{border-left:0;border-top:1px solid #a8afa3;padding-left:0;padding-top:1.5rem}.page-heading{padding-top:2rem;padding-bottom:2.2rem;margin-bottom:2rem}.page-heading h1{font-size:clamp(2.8rem,9vw,4rem);overflow-wrap:break-word}.page-heading .lead{font-size:1rem;padding-right:0}.page-heading:after{right:-170px;opacity:.3}.cspa-identity{gap:.8rem}.cspa-identity img{width:64px}.prose h2{font-size:1.75rem}.course-row{grid-template-columns:50px minmax(0,1fr) 30px;gap:.8rem;padding:1.4rem 0}.course-code{font-size:1.7rem;padding-left:.6rem}.course-row h2{font-size:1.75rem;overflow-wrap:break-word}.course-row .arrow{width:30px;height:34px;font-size:1.25rem}.footer-top{flex-direction:column}.footer-top>div:last-child{text-align:left}.footer-top nav{justify-content:flex-start;gap:1rem}.footer-bottom{flex-direction:column;gap:.5rem}.contact-inquiry{padding:1.4rem}.subnav .wrap{gap:.4rem 1.2rem}body[data-page=scuba] .page-heading:after{right:-245px;opacity:.3}body[data-page=rigging] .prose section{padding:1.2rem}body[data-page=rigging] .prose .note{margin:1.2rem -1.2rem -1.2rem;padding:1.2rem}}
@media(max-width:560px){.service-modules{grid-template-columns:1fr}.service-module+.service-module{border-left:0;border-top:1px solid #91988c}.service-module,.service-modules-three .service-module{display:flex}.service-diagram{max-height:190px}.module-copy,.service-modules-three .module-copy{padding:0 1.25rem 1.5rem}.module-top{padding:1rem 1.25rem 0}.cspa-panel img{max-height:150px}.module-copy :is(h2,h3){font-size:2rem}.article-aside{padding:1.4rem}.hero-label span{margin:0 .3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.service-module:is(:hover,:focus-visible) .equipment-container,.service-module:is(:hover,:focus-visible) .equipment-component,.service-module:is(:hover,:focus-visible) .equipment-harness,.service-module:is(:hover,:focus-visible) .bubble,.service-module:is(:hover,:focus-visible) .module-arrow,.service-module:is(:hover,:focus-visible) .module-link span{transform:none}}

/* Skydiving owns three offerings; Scuba is the second business area. */
.service-areas{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:1.5rem;align-items:stretch}
.service-area{display:flex;flex-direction:column;min-width:0}.service-area .section-bar{flex:none}.service-area .section-bar h2{font-size:2.35rem}
.area-skydiving .service-modules{flex:1;margin-bottom:0}.area-scuba>.service-module{flex:1;border:1px solid #a7aba5}
.area-scuba .module-top{font-size:.8125rem;flex-wrap:wrap}.area-scuba .module-arrow{margin-left:auto}
@media(max-width:1050px){.service-areas{grid-template-columns:1fr;gap:2.5rem}.area-scuba>.service-module{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.area-scuba .module-top{grid-column:1/-1;font-size:.875rem}.area-scuba .module-copy{padding:1.2rem 1.5rem 1.5rem}.area-scuba .service-diagram{align-self:center}}
@media(max-width:560px){.area-scuba>.service-module{display:flex}.area-scuba .module-copy{padding:0 1.25rem 1.5rem}}

/* Match the CSPA mark's visual weight to the other card graphics. */
.cspa-panel{padding:.25rem}
.cspa-panel img{max-height:205px}
@media(max-width:560px){.cspa-panel img{max-height:185px}}
