/* JRA identity, supplied manual pages 8 and 12 (printed numbering).
   Logo paths are supplied artwork. Web type is an implementation choice. */
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/montserrat-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--navy:#002e57;--navy-deep:#002746;--navy-light:#16496f;--gold:#f2a900;--paper:#fff;--ink:#002e57;--muted:#4a5c6b;--line:#c7d4e0;--soft:#f3f6f9;--font:Montserrat,"Segoe UI",Arial,sans-serif}
.site-footer{background:var(--navy)}
.hero-copy h1 span:last-child{color:#fff}
html{scroll-padding-top:32px}body{font-size:16px;line-height:1.75}h1,h2,h3,h4{font-weight:600;letter-spacing:-.035em}p{line-height:1.8}
:focus-visible{outline:3px solid var(--navy);outline-offset:5px}.site-header :focus-visible,.site-footer :focus-visible,.home-hero :focus-visible,.page-hero :focus-visible,.tools-feature :focus-visible{outline-color:var(--gold)}
.button{font-size:14px;min-height:54px;line-height:1.5}.button-gold{background:var(--gold);color:var(--navy)}.button-gold:hover{background:#ffbf29;color:var(--navy)}.button-dark{color:#fff}.button-dark:hover{background:#16496f;color:#fff}
.eyebrow{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.09em;color:#d5e2ee}.eyebrow.dark{color:#4a5c6b}.text-link{font-size:14px;border-color:#74889b}.text-link:hover{color:var(--navy);border-color:var(--gold)}
/* Protection area: X = height of the JRA monogram, including all four sides. */
.header-inner{height:auto;min-height:142px;gap:24px}.official-brand{--logo-width:240px;--logo-x:47.48px;box-sizing:content-box;min-width:0;display:block;flex:0 0 auto;line-height:0;padding:var(--logo-x);margin:0}
.jra-brand-art{display:block;width:var(--logo-width);line-height:0}.jra-brand-art img{display:block;width:100%;max-width:none;height:auto}.primary-nav{min-width:0}.nav-menu{gap:24px}.nav-menu a{font-size:13px;font-weight:500;min-height:44px;display:flex;align-items:center;color:#e1eaf2}.site-header .header-actions .header-contact{font-size:12px;min-height:46px;border-color:#8aa9c2}
.hero-layout{min-height:650px}.hero-copy{padding-top:48px}.hero-copy h1{font-size:clamp(46px,4.4vw,68px);font-weight:600;line-height:1.12;letter-spacing:-.045em}.hero-copy h1 span{color:#fff}.hero-copy h1 span:nth-child(n+2){color:var(--gold)}.hero-eyebrow{font-size:13px;margin-bottom:22px}.hero-description{font-size:16px;max-width:520px;color:#d5e2ee}.hero-copy .button{font-size:14px}.hero-secondary{font-size:14px}.hero-note p{font-size:12px;color:#b7cede}.hero-note strong{color:#d5e2ee}
.drawing-index{font-size:10px;color:#b7cede}.drawing-caption p{font-size:12px;color:#d5e2ee}.hero-bottom{font-size:11px;letter-spacing:.04em;color:#d5e2ee}.hero-bottom a{color:#fff}
.intro-bottom p,.service-card p,.about-copy p:not(.eyebrow),.service-row-copy p,.brief-grid>div>p:not(.eyebrow),.values-grid p,.process-grid p{font-size:16px;color:var(--muted)}
.intro-grid h2{font-size:clamp(34px,3.4vw,50px)}.service-card h3{font-size:26px;font-weight:600}.service-card-top>span,.service-row-number{font-size:13px;color:#4a5c6b}.service-card{min-height:286px}.service-card:hover{background:#f5f7fa}.circle-link,.service-card-link{border-color:#74889b}.service-card-top>.icon{color:var(--navy)}
.section-top .eyebrow,.process-grid article>span{font-size:12px;color:#4a5c6b}.section-aside{font-size:15px}.tools-copy .eyebrow{font-size:12px}.tools-copy>p:not(.eyebrow){font-size:16px;color:#d5e2ee}.tools-small{font-size:13px;color:#d5e2ee}.tools-copy h2{font-size:44px}.code-window-bar p,.code-window-bottom{font-size:10px}.code-window-body{font-size:13px}.code-window-body .code-comment{font-size:11px;color:#b7cede}.tools-stamp{background:var(--gold);color:var(--navy)}
.contact-band{background:var(--gold);color:var(--navy)}.contact-band .eyebrow{font-size:12px;color:var(--navy)}.contact-band h2{font-weight:600}.page-hero-lead{font-size:17px;color:#d5e2ee}.page-hero-line{font-size:11px;color:#d5e2ee}.about-drawing>span{font-size:10px;color:#d5e2ee}.values-grid article>span{font-size:13px}.brief-grid .check-list{font-size:16px}
.contact-details>p:not(.eyebrow),.contact-email,.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select{font-size:16px}.contact-form-wrap label{font-size:14px;font-weight:500}.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select{border-color:#74889b;color:var(--navy);background:#fff}.contact-form-wrap input::placeholder,.contact-form-wrap textarea::placeholder{color:#596a78;opacity:1}.form-help{font-size:14px;color:#4a5c6b;max-width:60ch}.form-status{font-size:14px;color:#002e57}.contact-store-note p{font-size:15px}.contact-email{overflow-wrap:anywhere}.contact-email span{min-width:0}
.project-tools{margin-top:35px;padding-top:26px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;font-size:14px;color:#4a5c6b}.project-tools strong{font-weight:600;color:var(--navy)}.project-tools span{color:var(--navy)}
.footer-main{grid-template-columns:1.35fr .6fr .75fr 1.15fr;gap:32px;padding-top:42px;align-items:start}.footer-brand{--logo-width:210px;--logo-x:41.55px}.footer-brand-block>p{font-size:14px;color:#cfdfed;margin-top:8px;max-width:310px}.footer-links,.footer-contact{padding-top:44px}.footer-links h2,.footer-contact h2{font-size:14px;color:#fff;font-weight:600}.footer-links>a,.footer-email{font-size:13px;line-height:1.8;color:#cfdfed}.footer-links>a{padding-block:5px;min-height:34px}.footer-contact h2{line-height:1.65}.footer-email{display:inline-block;overflow-wrap:anywhere;max-width:100%}.footer-bottom{font-size:12px;color:#cfdfed}.footer-contact .text-link{font-size:13px}.footer-bottom a{padding-block:6px}
.shop-hero h1{font-size:clamp(42px,4.6vw,62px);font-weight:600}.shop-hero p:not(.eyebrow){font-size:16px;color:#d5e2ee}.shop-hero .eyebrow,.shop-benefits span{font-size:12px}.shop-benefits{background:#f3f6f9;color:var(--navy)}.shop-help p:not(.eyebrow),.jra-store-empty>p:not(.eyebrow){font-size:16px}.shop-help .eyebrow,.jra-store-empty .eyebrow{font-size:12px}.jra-store-empty h2{font-size:38px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single,.woocommerce .quantity .qty{border-color:#74889b}.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--navy)}.woocommerce-info,.woocommerce-message{background:#fff8e8;color:var(--navy);border-color:var(--navy)}.woocommerce-info::before,.woocommerce-message::before{color:var(--navy)}.woocommerce a.button.alt,.woocommerce button.button.alt{color:var(--navy);background:var(--gold);border-color:var(--gold)}
@media(max-width:1280px){.header-inner{gap:20px}.official-brand{--logo-width:220px;--logo-x:43.53px}.nav-menu{gap:18px}.footer-main{grid-template-columns:1.2fr .7fr .8fr;gap:30px}.footer-contact{padding-top:28px}.footer-brand{--logo-width:190px;--logo-x:37.59px}}
@media(max-width:1080px){.header-inner{min-height:130px;gap:16px}.official-brand{--logo-width:210px;--logo-x:41.55px}.js .primary-nav{top:100%;left:0;right:0;padding:18px 24px 24px}.nav-menu a{font-size:17px;min-height:46px}.site-header .header-actions .header-contact{display:none}.menu-toggle{flex-shrink:0;min-width:44px;min-height:44px}.footer-links,.footer-contact{padding-top:24px}.footer-contact{padding-top:28px}.footer-brand{--logo-width:190px;--logo-x:37.59px}}
@media(max-width:780px){.header-inner{min-height:125px}.hero-copy{padding-top:34px}.hero-copy h1{font-size:clamp(40px,7vw,56px)}.hero-eyebrow,.tools-copy .eyebrow,.page-hero .eyebrow{font-size:12px}.hero-description,.hero-copy .button{font-size:16px}.hero-secondary{font-size:14px}.hero-visual{height:380px}.drawing-index{font-size:10px}.drawing-caption p{font-size:11px}.hero-bottom{font-size:10px;line-height:1.8}.section-top .eyebrow{font-size:12px}.section-top>.text-link{font-size:14px}.service-card p,.intro-bottom p,.tools-copy>p:not(.eyebrow),.process-grid p,.service-row-copy p,.about-copy p:not(.eyebrow),.values-grid p,.brief-grid>div>p:not(.eyebrow),.page-hero-lead,.contact-details>p:not(.eyebrow){font-size:16px}.process-grid article>span{font-size:12px}.section-aside{font-size:15px}.contact-band .eyebrow{font-size:12px}.contact-band .button{font-size:14px}.page-hero-line{font-size:10px}.footer-main{grid-template-columns:1.3fr 1fr 1fr;gap:22px}.footer-brand{--logo-width:156px;--logo-x:30.86px}.footer-brand-block>p{font-size:13px}.footer-links>a{font-size:13px}.footer-contact h2{font-size:18px}.footer-bottom{font-size:12px}.shop-hero p:not(.eyebrow),.shop-help p:not(.eyebrow){font-size:16px}}
@media(max-width:520px){.header-inner{min-height:102px;gap:12px}.header-brand{--logo-width:96px;--logo-x:33.38px}.header-actions{margin-right:0}.hero-copy h1{font-size:40px;line-height:1.15;letter-spacing:-.04em}.hero-copy{padding:30px 0 20px}.hero-description{font-size:16px;line-height:1.75;margin-bottom:26px}.hero-copy .button{font-size:14px;gap:20px}.hero-visual{height:330px}.structure-art{width:340px;top:-12px}.hero-bottom>span{max-width:180px}.hero-bottom a{font-size:10px}.hero-bottom{gap:14px;font-size:9px}.drawing-index{font-size:9px;gap:8px}.drawing-caption p{font-size:10px}.section-top h2,.intro-grid h2{font-size:32px;line-height:1.2}.service-card h3{font-size:25px}.service-card p{font-size:16px;padding-right:8px;margin-bottom:36px}.service-card-link{width:40px;height:40px}.tools-copy h2{font-size:34px;line-height:1.2}.tools-copy .eyebrow,.tools-small{font-size:12px}.tools-copy .button{font-size:14px;gap:16px}.code-window-body{font-size:10px}.code-window-body .code-comment{font-size:9px}.code-window-bar p,.code-window-bottom{font-size:8px}.tools-art{width:calc(100% - 12px)}.contact-band h2{font-size:38px}.contact-band .eyebrow{font-size:12px;max-width:none}.contact-band .button{font-size:14px;gap:28px}.page-hero h1{font-size:36px;overflow-wrap:break-word}.page-hero-lead{font-size:16px}.page-hero-line{font-size:9px;flex-wrap:wrap}.contact-form-wrap{padding:24px 18px}.contact-email{font-size:15px}.form-help{font-size:14px}.footer-main{grid-template-columns:1fr 1fr;gap:16px 24px;padding-top:18px}.footer-brand-block{display:block}.footer-brand{--logo-width:190px;--logo-x:37.59px;width:max-content;margin-inline:auto}.footer-brand-block>p{font-size:14px;max-width:300px;margin:4px auto 20px;text-align:center}.footer-links{padding-top:10px}.footer-contact{padding-top:24px}.footer-email{font-size:14px}.footer-bottom{font-size:11px;line-height:1.8;flex-wrap:wrap}.shop-hero .eyebrow,.shop-benefits span{font-size:12px}.shop-hero h1{font-size:36px}.shop-help h2,.jra-store-empty h2{font-size:32px}.jra-store-empty>p:not(.eyebrow),.shop-help p:not(.eyebrow){font-size:16px}.shop-help .text-link{font-size:14px}.woocommerce form .form-row label,.woocommerce-account .woocommerce-MyAccount-content{font-size:14px}}
@media(min-width:521px) and (max-width:780px){.footer-main{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}.footer-brand{--logo-width:190px;--logo-x:37.59px;width:max-content;margin-inline:auto}.footer-brand-block>p{max-width:340px;text-align:center;margin:4px auto 20px}.footer-links{padding-top:8px}}
@media(max-width:780px){.tools-layout{grid-template-columns:minmax(0,1fr)}.tools-copy,.tools-art{min-width:0}.tools-copy{overflow-wrap:break-word}.tools-art{width:calc(100% - 32px)}.tools-stamp{right:-12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.jra-contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important}.jra-email-form button:disabled{cursor:not-allowed;opacity:.55}.form-status[data-state="success"]{padding:12px 14px;border-left:3px solid #347356;background:#e6f1ea;color:#174b36}.form-status[data-state="error"]{padding:12px 14px;border-left:3px solid #9a3b2d;background:#f8e8e4;color:#7c291e}
