/* Shared Nexus header, typography and button system. */
/* Demo booking preview; availability moves to WordPress/CMS later. */
.it-book-demo{background:var(--brand-blue);color:#fff;border-top:1px solid #ffffff16}
.it-booking-heading{margin-bottom:40px}
.it-booking-heading .section-title{max-width:1140px}
.it-booking-heading .section-title span{color:var(--red)}
.it-booking-heading>p{margin:18px 0 0;color:#ffffffb3;font:400 1rem/1.65 var(--font-body)}
.it-booking-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}
.it-calendar,.it-demo-form{background:#fff;color:var(--text);border-radius:12px;border:1px solid #e5e1da;padding:30px;min-width:0}
.it-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}
.it-calendar-header .card-title{font-size:1.5rem;text-align:center}
.it-month-button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f3f1ed;color:var(--brand-blue);font:600 1.75rem/1 var(--font-body);cursor:pointer}
.it-month-button:disabled{opacity:.35;cursor:not-allowed}
.it-calendar-week,.it-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.it-calendar-week{margin-bottom:14px;text-align:center;font:600 .8125rem/1.4 var(--font-body);color:var(--type-muted)}
.it-calendar-days button{min-width:0;height:45px;border:1px solid #dedbd5;border-radius:5px;background:#fbfaf8;color:var(--brand-blue);font:600 .875rem/1 var(--font-body);cursor:pointer}
.it-calendar-days button:disabled{color:#a6a6ab;background:#f5f4f1;border-color:#eceae4;cursor:not-allowed}
.it-calendar-days button[aria-pressed="true"],.it-calendar-slots button[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.it-selected-date{border-top:1px solid #e5e1da;padding-top:18px;margin:22px 0 16px;font:600 .875rem/1.5 var(--font-body)}
.it-calendar-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.it-calendar-slots button{min-height:44px;min-width:0;border:1px solid #d4d2d8;border-radius:24px;background:#fff;color:var(--brand-blue);font:700 .8125rem/1.4 var(--font-body);cursor:pointer;padding:10px 8px}
.it-calendar-slots button:disabled{opacity:.4;cursor:not-allowed}
.it-calendar-note,.it-demo-note{font:400 .8125rem/1.65 var(--font-body);color:var(--type-muted);margin:18px 0 0}
.it-month-button:focus-visible,.it-calendar-days button:focus-visible,.it-calendar-slots button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(hover:hover){.it-calendar-days button:not(:disabled):hover,.it-calendar-slots button:not(:disabled):hover{border-color:var(--red)}}
.it-demo-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.it-demo-form .full{grid-column:1/-1}
.it-demo-field{min-width:0}
.it-demo-field label{display:block;font:700 .875rem/1.4 var(--font-body);color:var(--brand-blue);margin-bottom:8px}
.it-demo-field label span{color:var(--red)}
.it-demo-field input,.it-demo-field select,.it-demo-field textarea{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid #dedbd5;border-radius:5px;background:#f7f6f3;color:var(--text);font:400 .9375rem/1.5 var(--font-body)}
.it-demo-field textarea{min-height:90px;resize:vertical}
.it-demo-field input:focus,.it-demo-field select:focus,.it-demo-field textarea:focus{outline:2px solid var(--red);outline-offset:2px}
.it-demo-field input[readonly]{background:#f2f1ed}
.it-demo-submit{display:flex;align-items:center}
.it-demo-submit .button.red{background:var(--red);color:#fff;border:0;cursor:pointer}
.it-booking-error{color:var(--red);font:600 .875rem/1.5 var(--font-body);margin:0}
.it-booking-message{color:var(--brand-blue);font:600 .875rem/1.5 var(--font-body);margin:0}
.it-demo-form .it-demo-note{margin:0}
.it-demo-form .form-privacy-notice{margin:0}
@media(max-width:1000px){.it-booking-layout{grid-template-columns:1fr}.it-calendar{max-width:640px;width:100%;justify-self:center}.it-calendar-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.it-calendar,.it-demo-form{padding:22px 18px}.it-demo-form{grid-template-columns:1fr;gap:18px}.it-calendar-header .card-title{font-size:1.25rem}.it-calendar-week,.it-calendar-days{gap:5px}.it-calendar-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.it-booking-heading{margin-bottom:30px}.it-demo-submit .button{width:100%}}
/* Scoped adaptation of the supplied How We Work staggered reveal. */
.it-how-we-work{background:var(--brand-blue);color:#fff;border-block:1px solid #ffffff16;overflow:hidden}
.it-work-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:48px;align-items:center}
.it-work-copy .section-title span{color:var(--red)}
.it-work-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:10px 0}
.it-work-step{position:relative;min-width:0;text-align:center}
.it-work-icon{position:relative;z-index:1;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;margin:0 auto 24px;background:#fff;color:var(--red);box-shadow:0 0 0 10px #ffffff0d;border:1px solid #ffffff52}
.it-work-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.it-work-number{display:block;margin-bottom:14px;font:600 1.5rem/1.2 var(--font-heading);color:#fff}
.it-work-number::after{content:"";display:block;width:34px;height:3px;margin:12px auto 0;background:var(--red)}
.it-work-step .card-title{font-size:1.125rem;line-height:1.35;min-height:49px;color:#fff}
.it-work-step>p{font:400 .9375rem/1.6 var(--font-body);color:#ffffffb3;margin:14px 0 0}
.it-work-connector{position:absolute;left:calc(50% + 60px);top:45px;width:calc(100% - 96px);border-top:2px dotted var(--red);color:var(--red)}
.it-work-connector>span{position:absolute;right:-4px;top:-19px;font:600 1.75rem/1 var(--font-body)}
@media(prefers-reduced-motion:no-preference){.it-work-motion .it-work-step{opacity:0;transform:translateY(15px);transition:opacity .55s ease,transform .55s ease;transition-delay:calc(var(--work-index) * 180ms)}.it-work-motion .it-work-step.is-visible{opacity:1;transform:none}}
@media(max-width:1100px){.it-work-layout{grid-template-columns:1fr;gap:48px}.it-work-copy{max-width:760px}.it-work-steps{gap:28px}.it-work-step>p{max-width:230px;margin-inline:auto}.it-work-connector{width:calc(100% - 92px)}}
@media(max-width:650px){.it-work-layout{gap:40px}.it-work-steps{grid-template-columns:1fr;gap:32px;padding:0}.it-work-step{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:22px;text-align:left;align-items:start}.it-work-icon{grid-row:1/4;width:72px;height:72px;margin:5px 0 0;box-shadow:0 0 0 6px #ffffff0d}.it-work-icon svg{width:33px;height:33px}.it-work-number{font-size:1.125rem;margin:0 0 10px}.it-work-number::after{margin:7px 0 0;width:26px}.it-work-step .card-title{min-height:0}.it-work-step .card-title br{display:none}.it-work-step>p{max-width:100%;margin:9px 0 0}.it-work-connector{left:35px;top:85px;bottom:-29px;width:0;border-top:0;border-left:2px dotted var(--red)}.it-work-connector>span{display:none}}
@media(prefers-reduced-motion:reduce){.it-work-step{opacity:1!important;transform:none!important;transition:none!important}}
/* Five products above four centred products, matching the supplied reference. */
.it-products{background:#faf9f6}
.it-products-heading{margin-bottom:38px}
.it-products-heading .section-title span{color:var(--red)}
.it-products-heading>p{max-width:850px;margin:18px 0 0;color:var(--type-muted);font:400 1rem/1.65 var(--font-body)}
.it-products-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:20px;align-items:stretch}
.it-product-card{grid-column:span 2;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:270px;padding:26px 20px;text-align:center;border:1px solid #e8e4df;border-radius:12px;background:#fff;box-shadow:0 6px 20px #171b2707;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.it-product-card:nth-child(6){grid-column:2/span 2}
.it-product-icon{width:52px;height:52px;flex-shrink:0;color:var(--brand-blue);fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:color .3s ease,transform .3s ease}
.it-product-icon .accent{stroke:var(--red)}
.it-product-card .card-title{margin:18px 0 0;font-size:1.125rem;line-height:1.3;letter-spacing:-.035em;transition:color .3s ease}
.it-product-card .card-title::after{content:"";display:block;width:24px;height:3px;margin:12px auto;background:var(--red);border-radius:2px;transition:width .3s ease}
.it-product-card>p{max-width:210px;margin:0;color:#5b5e66;font:400 .9375rem/1.55 var(--font-body);transition:color .3s ease}
.it-product-card:focus-visible{outline:2px solid var(--red);outline-offset:4px;background:var(--brand-blue);border-color:var(--brand-blue)}
.it-product-card:focus-visible :is(.card-title,.it-product-icon){color:#fff}
.it-product-card:focus-visible>p{color:#ffffffc7}
@media(hover:hover) and (pointer:fine){.it-product-card:hover{background:var(--brand-blue);border-color:var(--brand-blue);transform:translateY(-6px);box-shadow:0 18px 35px #171b2726}.it-product-card:hover :is(.card-title,.it-product-icon){color:#fff}.it-product-card:hover>p{color:#ffffffc7}.it-product-card:hover .it-product-icon{transform:translateY(-3px) scale(1.06)}.it-product-card:hover .card-title::after{width:38px}}
@media(max-width:1100px){.it-products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.it-product-card,.it-product-card:nth-child(6){grid-column:auto}}
@media(max-width:700px){.it-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.it-product-card{padding:24px 16px}.it-product-card:last-child{grid-column:1/-1;max-width:calc(50% - 8px);width:100%;justify-self:center}}
@media(max-width:480px){.it-products-grid{grid-template-columns:1fr}.it-product-card,.it-product-card:last-child{grid-column:auto;max-width:100%;min-height:0;padding:28px 24px}.it-product-card>p{max-width:260px}.it-products-heading{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.it-product-card,.it-product-icon,.it-product-card .card-title,.it-product-card .card-title::after,.it-product-card>p{transition:none!important;transform:none!important}}
/* Industry cards: live content, supplied artwork and approved navy interaction. */
.it-industries{background:#f7f5ef}
.it-industries-heading{margin-bottom:38px}
.it-industries-heading .section-title span{color:var(--red)}
.it-industries-heading>p{margin:18px 0 0;font:400 1rem/1.65 var(--font-body);color:var(--type-muted)}
.it-industries-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.it-industry-card{display:block;min-width:0;background:#fff;border:1px solid #e5e1da;border-radius:10px;padding:22px 18px;box-shadow:0 4px 16px #171b2705;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.it-industry-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:12px}
.it-industry-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--red);background:#fdebea;transition:background-color .3s ease}
.it-industry-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.it-industry-heading .card-title{font-size:1.125rem;line-height:1.3;letter-spacing:-.035em;transition:color .3s ease}
.it-industry-arrow{display:grid;place-items:center;width:28px;height:28px;border:1px solid #f5cccc;border-radius:50%;color:var(--red);font:700 .875rem/1 var(--font-body)}
.it-industry-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;align-items:center;margin-top:16px;min-height:126px}
.it-industry-body ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.it-industry-body li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;font:400 .8125rem/1.5 var(--font-body);color:#5b5e66;transition:color .3s ease}
.it-industry-body li svg{width:16px;height:17px;margin-top:1px;fill:none;stroke:var(--red);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.it-industry-art{min-width:0;display:grid;place-items:center;height:136px}
.it-industry-art img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.it-industry-card:focus-visible{outline:2px solid var(--red);outline-offset:4px;background:var(--brand-blue);border-color:var(--brand-blue)}
.it-industry-card:focus-visible .card-title{color:#fff}
.it-industry-card:focus-visible li{color:#ffffffc7}
@media(hover:hover) and (pointer:fine){.it-industry-card:hover{background:var(--brand-blue);border-color:var(--brand-blue);transform:translateY(-4px);box-shadow:0 14px 30px #171b2721}.it-industry-card:hover .card-title{color:#fff}.it-industry-card:hover li{color:#ffffffc7}.it-industry-card:hover .it-industry-icon{background:#fff1}.it-industry-card:hover .it-industry-art img{transform:scale(1.025)}}
@media(max-width:1100px){.it-industries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.it-industries-grid{grid-template-columns:1fr;gap:16px}.it-industries-heading{margin-bottom:28px}.it-industry-card{padding:20px 16px}.it-industry-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.it-industry-heading .card-title{font-size:1.125rem}.it-industry-art{height:128px}}
@media(prefers-reduced-motion:reduce){.it-industry-card,.it-industry-icon,.it-industry-heading .card-title,.it-industry-body li,.it-industry-art img{transition:none!important;transform:none!important}}
.it-hero{--it-banner-height:max(460px,calc(100vw * 748 / 2103));min-height:0;height:calc(113px + var(--it-banner-height));padding-top:113px}
.it-hero .hero-inner{min-height:0;height:100%;padding:24px 0;justify-content:center}
.it-hero-copy{position:relative;z-index:1;max-width:740px;width:100%}
.it-hero h1{margin:0}
.it-hero h1 span{color:var(--red)}
.it-hero .lead{max-width:610px;margin:24px 0 30px}
.it-hero .hero-slide,.it-labelled-artwork{position:absolute;top:113px;left:0;width:100%;height:var(--it-banner-height);object-fit:cover;object-position:center}
.it-labelled-artwork{clip-path:inset(0 0 0 44%);mask-image:linear-gradient(90deg,transparent 44%,#000 47%);pointer-events:none}
.it-hero .hero-shade{top:113px;background:linear-gradient(90deg,rgb(var(--brand-blue-rgb) / 30%) 0%,rgb(var(--brand-blue-rgb) / 15%) 40%,transparent 70%)}
@media(max-width:1100px) and (min-width:601px){.it-hero-copy{max-width:680px}.it-hero .hero-shade{background:linear-gradient(90deg,rgb(var(--brand-blue-rgb) / 65%) 0%,rgb(var(--brand-blue-rgb) / 35%) 65%,transparent 100%)}}
@media(min-width:601px) and (max-width:1100px){.it-hero{--it-banner-height:580px}.it-hero-copy{max-width:650px}}
@media(max-width:600px){.it-hero{--it-banner-height:612px;height:680px;padding-top:68px}.it-hero .hero-inner{min-height:0;padding:24px 0}.it-hero-copy{max-width:100%}.it-hero .hero-slide,.it-labelled-artwork{top:68px;object-position:65% center}.it-hero .hero-shade{top:68px;background:rgb(var(--brand-blue-rgb) / 76%)}.it-hero .lead{margin:22px 0 28px}.it-hero .actions{gap:12px}}
.it-hero .it-brand-label{text-transform:none}
