/* Registered homepage layouts. Public copy/images come from a published CMS snapshot. */
.hp-home{--primary:#1a579a;--hp-paper:#f6f2e9;--hp-ink:#222;--hp-red:#d72e33;color:var(--hp-ink);overflow:clip}
.hp-home h1,.hp-home h2,.hp-home h3{font-family:'Be Vietnam Pro',sans-serif;letter-spacing:-.045em;color:inherit}
.hp-home h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.16;font-weight:600;margin:0 0 20px}
.hp-home h3{font-size:1.45rem;line-height:1.25;font-weight:600;margin:12px 0}
.hp-home p{font-size:.93rem;line-height:1.7}.hp-home a{color:inherit;text-decoration:none}
.hp-home .hp-section{margin-bottom:92px}.hp-eyebrow{font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin:0 0 14px}
.hp-heading{max-width:630px;margin-bottom:32px}.hp-heading>p:not(.hp-eyebrow){color:inherit;opacity:.82;max-width:540px}.hp-link{display:inline-block;border-bottom:1px solid;padding:8px 0;font-size:.8rem;font-weight:600}
.hp-button,.hp-pill{display:inline-flex;align-items:center;gap:25px;padding:12px 25px;background:#fff;color:#1c2938!important;border-radius:24px;font-weight:600;font-size:.8rem;min-height:44px}.hp-button::after,.hp-pill::after{content:'↗';font-size:1rem}.hp-button:hover{background:#e8eef6}.hp-pill{border:1px solid currentColor;background:transparent;color:inherit!important;padding:9px 20px}
.hp-photo{display:block;overflow:hidden;height:100%;width:100%}.hp-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.hp-home a:hover>.hp-photo img{transform:scale(1.025)}
.hp-campaign{position:relative;margin:0!important;background:#47564a}.hp-slides{height:590px;position:relative}.hp-slide{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .3s}.hp-slide.is-current{visibility:visible;opacity:1}.hp-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,28,25,.62),rgba(22,28,25,.06) 75%)}
.hp-campaign-copy{position:absolute;left:max(5%,calc((100vw - 1240px)/2));top:18%;color:white;max-width:520px}.hp-campaign h1,.hp-campaign h2{font-size:clamp(2.6rem,4.6vw,4.2rem);line-height:1.12;margin:0 0 22px;font-weight:500;max-width:510px}.hp-campaign-copy>p:not(.hp-eyebrow){max-width:350px;margin-bottom:26px}.hp-carousel-controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#ffffffed;border-radius:30px;padding:4px 8px;color:#1c2938}.hp-carousel-controls button{border:0;background:transparent;border-radius:50%;width:42px;height:36px;font-size:1.3rem}.hp-carousel-controls span{font-size:.72rem}
.hp-quick{position:relative;z-index:2;background:white;border:1px solid #eee;padding:24px 32px;margin-top:-1px;margin-bottom:82px!important}.hp-quick h2{font-size:1.05rem;letter-spacing:0;text-align:center;margin-bottom:24px}.hp-shortcuts{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.hp-shortcuts>a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:.77rem}.hp-shortcuts .hp-photo{width:62px;height:62px;border-radius:50%}.hp-shortcuts>a>span:last-child{color:var(--primary);font-size:1rem}
.hp-colour-layout{display:grid;grid-template-columns:270px 1fr;gap:30px;position:relative}.hp-colour .hp-heading{align-self:center}.hp-colour-panels{display:flex;gap:18px;overflow:auto;scrollbar-width:thin;padding-bottom:12px;scroll-snap-type:x mandatory}.hp-colour-panel{flex:0 0 38%;min-width:230px;scroll-snap-align:center;opacity:.77;transition:opacity .2s}.hp-colour-panel.is-selected{opacity:1}.hp-colour-panel .hp-photo{height:270px}.hp-colour-label{padding:22px;min-height:240px;color:#151d1c}.hp-colour-label>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.hp-colour-label h3{text-transform:uppercase}.hp-colour-label p{font-size:.8rem}.hp-colour-label .hp-pill{font-size:.7rem;padding:7px 14px}.hp-swatches{grid-column:2;display:flex;gap:12px}.hp-swatches button{background:transparent;border:1px solid #ddd;border-radius:24px;padding:7px 12px;display:flex;gap:8px;align-items:center;font-size:.7rem;min-height:44px}.hp-swatches button:before{content:'';background:var(--swatch);width:22px;height:22px;border-radius:50%;display:block}.hp-swatches button[aria-pressed=true]{border:2px solid var(--primary)}
.hp-bg-PAPER{background:var(--hp-paper)}.hp-bg-DARK{background:#101212;color:white}.hp-bg-BLUE{background:#15477e;color:white}.hp-bg-WHITE{background:white}.hp-consult{padding:0;border:1px solid #e3e3e3;border-radius:5px;overflow:hidden}.hp-consult-inner{display:grid;grid-template-columns:43% 57%;min-height:390px}.hp-consult .hp-photo{min-height:390px}.hp-consult-inner>div{padding:42px}.hp-consult .hp-heading{margin:0}.hp-consult .hp-heading h2{font-size:2.15rem}.hp-consult .hp-heading>.hp-link{display:none}.hp-consult .hp-button{background:var(--primary);color:white!important}
.hp-featured>.hp-heading{max-width:none}.hp-featured>.hp-heading h2{font-size:2rem}.hp-featured-fallback article{position:relative;height:365px;background:#233b3e;overflow:hidden;border-radius:5px}.hp-featured-fallback .hp-photo{width:60%;margin-left:auto}.hp-featured-fallback article>div{position:absolute;left:0;top:0;bottom:0;width:47%;padding:40px;background:#203e42;color:white}.hp-featured-fallback h3{font-size:2rem}.hp-featured-fallback p{max-width:340px}
.hp-needs{display:grid;grid-template-columns:30% 1fr;gap:70px;align-items:center}.hp-needs .hp-heading{margin:0}.hp-needs .hp-heading h2{font-size:2.4rem}.hp-needs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hp-needs-grid>a{display:grid;grid-template-columns:85px 1fr 20px;align-items:center;gap:15px;background:var(--hp-paper);padding:12px}.hp-needs-grid .hp-photo{height:95px}.hp-needs-grid h3{font-size:1.05rem;letter-spacing:-.03em}.hp-needs-grid span{color:var(--primary)}
.hp-explore>.hp-heading{text-align:center;max-width:700px;margin:0 auto 35px}.hp-mosaic{display:grid;grid-template-columns:1.15fr .85fr 1fr 1.1fr;grid-template-rows:210px 240px;gap:18px}.hp-mosaic>a{position:relative;overflow:hidden}.hp-mosaic>a:nth-child(1){grid-row:span 2}.hp-mosaic>a:nth-child(2){grid-column:span 2}.hp-mosaic>a:nth-child(3){grid-row:span 2}.hp-mosaic>a:nth-child(4){grid-column:span 2}.hp-mosaic h3{position:absolute;left:18px;bottom:12px;color:#fff;text-shadow:0 1px 8px #000;z-index:1}.hp-mosaic a:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0007)}.hp-layout-STAGGERED .hp-mosaic>a:nth-child(even){transform:translateY(24px)}.hp-layout-HORIZONTAL .hp-mosaic{display:flex;overflow:auto}.hp-layout-HORIZONTAL .hp-mosaic>a{flex:0 0 35%;height:420px}
.hp-tools{padding:36px 0}.hp-tools-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center}.hp-tools .hp-heading{margin:0}.hp-tools .hp-heading h2{color:#f04a4f;font-size:2.4rem}.hp-tools .hp-heading p:not(.hp-eyebrow),.hp-tools .hp-heading .hp-link{display:none}.hp-horizontal{display:flex;gap:22px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:thin}.hp-horizontal>*{flex:0 0 calc(33.333% - 16px);scroll-snap-align:start;min-width:0}.hp-tools .hp-horizontal>a{position:relative;min-height:280px;padding:23px;border-radius:5px;background:#242827;flex-basis:calc(25% - 17px)}.hp-tools .hp-photo{height:120px;margin-bottom:15px}.hp-tools h3{font-size:1rem}.hp-tools p{font-size:.7rem}.hp-tools .hp-horizontal>a>span{display:block;text-align:right}
.hp-collections{padding:55px 0}.hp-collections .hp-photo{height:360px}.hp-collections .hp-horizontal article:nth-child(2){padding-top:30px}.hp-collections h3{font-size:1.5rem}.hp-collections .hp-horizontal p{font-size:.82rem;max-width:300px}
.hp-solutions{padding:44px 48px 55px;border-radius:8px}.hp-solutions>.hp-heading{max-width:650px}.hp-solutions .hp-heading h2{font-size:2.5rem;max-width:460px}.hp-solutions .hp-heading .hp-link{display:none}.hp-solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.hp-solution-grid article:nth-child(1){padding-top:80px}.hp-solution-grid article:nth-child(2){padding-top:40px}.hp-solution-grid .hp-photo{height:300px;border-radius:7px}.hp-solution-grid h3{font-size:1.45rem}.hp-solution-grid p{font-size:.8rem}.hp-solution-grid .hp-pill{font-size:.7rem}
.hp-stories{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center}.hp-stories .hp-heading{margin:0}.hp-stories .hp-heading h2{font-size:2.2rem}.hp-stories .hp-horizontal>*{flex-basis:calc(50% - 12px)}.hp-stories .hp-photo{height:240px}.hp-stories article{border:1px solid #eee}.hp-stories article a>div{padding:20px}.hp-stories h3{font-size:1.2rem}.hp-stories p{font-size:.8rem}.hp-stories .hp-eyebrow{font-size:.6rem!important}
.hp-faq{max-width:1000px}.hp-faq>.hp-heading{text-align:center;max-width:650px;margin:0 auto 40px}.hp-faq>.hp-heading>.hp-link{display:none}.hp-faq details{border-bottom:1px solid #ddd;padding:22px 0}.hp-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:.9rem;font-weight:500}.hp-faq summary:after{content:'+';font-size:1.3rem}.hp-faq details[open] summary:after{content:'−'}.hp-faq details p{margin:20px 30px 0 0;color:#526477}.hp-final{margin-top:50px;padding:40px;background:var(--hp-paper);display:flex;justify-content:space-between;gap:25px;align-items:center}.hp-final p{font-size:1.1rem;margin:0;max-width:500px}.hp-final .hp-button{background:var(--primary);color:#fff!important;flex-shrink:0}.hp-preview{position:sticky;top:0;z-index:50;background:#fff3ce;color:#392b00;padding:12px;text-align:center;font-size:.8rem;border-bottom:2px solid #d4ac38}.hp-align-CENTER .hp-campaign-copy{text-align:center;left:50%;transform:translateX(-50%)}.hp-align-RIGHT .hp-campaign-copy{left:auto;right:6%;text-align:right}.hp-visibility-MOBILE{display:none}
@media(min-width:992px){.hp-home{position:relative}.hp-home .hp-campaign{margin-bottom:92px!important}.hp-quick{position:absolute;top:50px;right:max(4%,calc((100vw - 1240px)/2));width:390px;min-height:450px;margin:0!important;padding:34px 26px;border-radius:7px}.hp-quick h2{font-size:2.1rem;line-height:1.15;font-weight:500;color:var(--hp-red);text-align:left;letter-spacing:-.05em;margin-bottom:36px}.hp-shortcuts{grid-template-columns:repeat(3,1fr);gap:26px 18px}.hp-shortcuts>a>span:last-child{display:none}.hp-shortcuts .hp-photo{width:54px;height:54px}.hp-campaign-copy{max-width:500px}.hp-campaign h1,.hp-campaign h2{max-width:500px}}
@media(min-width:992px) and (max-width:1199px){.hp-quick{width:310px;min-height:420px;top:35px;padding:30px 20px}.hp-quick h2{font-size:1.8rem}.hp-shortcuts{gap:24px 10px}.hp-shortcuts>a{font-size:.7rem}.hp-campaign-copy{max-width:430px}.hp-campaign h1,.hp-campaign h2{max-width:430px}}
.hp-dots{display:flex;gap:7px;align-items:center}.hp-dots button{width:9px;height:9px;min-height:9px;padding:0;background:#c9c9c9;border-radius:50%;border:0}.hp-dots button[aria-current=true]{width:24px;background:#1a579a;border-radius:8px}.hp-carousel-controls button:focus-visible{outline:3px solid #1a579a;outline-offset:3px}.hp-text-LIGHT{color:white}.hp-text-DARK{color:#222}.hp-align-CENTER>.hp-heading{margin-inline:auto;text-align:center}.hp-align-RIGHT>.hp-heading{text-align:right;margin-left:auto}
@media(min-width:1200px){.hp-home .site-container{max-width:1360px;width:calc(100% - 80px)}.hp-campaign-copy{left:max(4%,calc((100vw - 1360px)/2))}.hp-home .hp-quick{right:4%;width:430px;min-height:490px}.hp-quick h2{font-size:2.6rem;max-width:320px}.hp-shortcuts{row-gap:38px}.hp-home .hp-faq{max-width:1100px}}
@media(max-width:991px){.hp-campaign .hp-slides{height:500px}.hp-quick{margin-top:-24px;min-height:310px;padding:30px 22px;border-radius:7px}.hp-quick h2{font-size:1.4rem;font-weight:500;color:var(--hp-red);margin-bottom:30px}.hp-shortcuts{row-gap:28px}.hp-shortcuts>a{font-size:.74rem}}
@media(max-width:1100px){.hp-colour-layout{grid-template-columns:220px 1fr}.hp-shortcuts{gap:12px}.hp-needs{gap:30px}.hp-needs-grid>a{grid-template-columns:65px 1fr 15px;gap:10px}.hp-tools-layout{grid-template-columns:180px 1fr;gap:24px}.hp-tools .hp-horizontal>a{flex-basis:calc(33.33% - 15px)}.hp-stories{grid-template-columns:220px 1fr}.hp-solutions{padding:35px}.hp-slides{height:520px}}
@media(max-width:991px){.hp-home .hp-section{margin-bottom:60px}.hp-home h2{font-size:1.9rem}.hp-campaign .hp-slides{height:570px}.hp-campaign-copy{left:24px;right:24px;top:52px;max-width:85%}.hp-campaign h1,.hp-campaign h2{font-size:2.65rem;max-width:320px}.hp-campaign-copy>p:not(.hp-eyebrow){font-size:.85rem;max-width:260px}.hp-hero-shade{background:linear-gradient(180deg,#19211d8c,transparent 90%)}.hp-quick{padding:24px 18px;margin-top:0;width:calc(100% - 32px)}.hp-quick h2{font-size:1rem}.hp-shortcuts{grid-template-columns:repeat(3,1fr);row-gap:22px}.hp-shortcuts .hp-photo{width:52px;height:52px}.hp-shortcuts>a{font-size:.68rem}.hp-shortcuts>a>span:last-child{display:none}.hp-colour-layout{display:block}.hp-colour .hp-heading{max-width:300px;margin-bottom:26px}.hp-colour-panel{flex-basis:78%;min-width:0}.hp-colour-panel .hp-photo{height:285px}.hp-colour-label{min-height:230px}.hp-swatches{margin-top:18px;gap:6px;overflow:auto}.hp-swatches button{flex-shrink:0}.hp-swatches button span{max-width:75px;font-size:.6rem}.hp-consult-inner{display:flex;flex-direction:column}.hp-consult .hp-photo{height:230px;min-height:0}.hp-consult-inner>div{padding:28px 23px}.hp-consult .hp-heading h2{font-size:1.9rem}.hp-featured .hp-heading h2{font-size:1.9rem}.hp-featured-fallback article{height:520px}.hp-featured-fallback .hp-photo{width:100%;height:260px}.hp-featured-fallback article>div{top:240px;width:100%;padding:28px;bottom:0}.hp-featured-fallback h3{font-size:1.65rem}.hp-featured-fallback p{font-size:.8rem}.hp-needs{display:block}.hp-needs .hp-heading{max-width:320px;margin-bottom:25px}.hp-needs .hp-heading h2{font-size:1.9rem}.hp-needs-grid{gap:10px}.hp-needs-grid>a{grid-template-columns:1fr 20px;padding:0 0 12px;gap:0}.hp-needs-grid .hp-photo{grid-column:span 2;height:155px}.hp-needs-grid h3{padding:0 10px;font-size:.85rem}.hp-needs-grid span{margin-right:10px}.hp-explore>.hp-heading{text-align:left}.hp-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 190px 240px;gap:12px}.hp-mosaic>a:nth-child(1){grid-row:span 2}.hp-mosaic>a:nth-child(2){grid-column:auto}.hp-mosaic>a:nth-child(3){grid-row:auto}.hp-mosaic>a:nth-child(4){grid-column:span 2}.hp-mosaic h3{font-size:1rem;left:12px}.hp-layout-HORIZONTAL .hp-mosaic>a{flex-basis:85%;height:380px}.hp-tools{padding:30px 0}.hp-tools-layout{display:block}.hp-tools .hp-heading{margin-bottom:25px}.hp-tools .hp-heading h2{font-size:1.8rem}.hp-tools .hp-horizontal>a{flex-basis:68%;min-height:310px}.hp-tools .hp-photo{height:160px}.hp-collections{padding:35px 0}.hp-horizontal>*{flex-basis:80%}.hp-collections .hp-photo{height:330px}.hp-solutions{padding:28px 22px}.hp-solutions .hp-heading h2{font-size:2rem}.hp-solution-grid{display:flex;overflow:auto;gap:18px;padding-bottom:16px;scroll-snap-type:x mandatory}.hp-solution-grid>article{flex:0 0 85%;padding-top:0!important;scroll-snap-align:start}.hp-solution-grid .hp-photo{height:280px}.hp-stories{display:block}.hp-stories .hp-heading{max-width:310px;margin-bottom:25px}.hp-stories .hp-heading h2{font-size:2rem}.hp-stories .hp-horizontal>*{flex-basis:84%}.hp-faq>.hp-heading{text-align:left}.hp-faq summary{font-size:.82rem}.hp-final{padding:26px;align-items:flex-start;flex-direction:column}.hp-final p{font-size:.95rem}.hp-visibility-DESKTOP{display:none}.hp-visibility-MOBILE{display:block}}
@media(prefers-reduced-motion:reduce){.hp-home *{scroll-behavior:auto!important;transition:none!important}}
.hp-carousel-controls{width:max-content;max-width:calc(100% - 40px)}.hp-carousel-controls span{white-space:nowrap;flex-shrink:0}
.hp-colour-panel{opacity:1}.hp-colour-panel.is-selected .hp-colour-label{outline:2px solid var(--primary);outline-offset:-2px}
@media(max-width:991px){.hp-campaign .hp-slides{height:500px}.hp-quick{margin-top:-24px;min-height:310px;padding:30px 22px;border-radius:7px}.hp-quick h2{font-size:1.4rem;font-weight:500;color:var(--hp-red);margin-bottom:30px}.hp-shortcuts{row-gap:28px}.hp-shortcuts>a{font-size:.74rem}}

/* The inset panel is a composition of the first adjacent hero/quick pair only.
   Reordering or hiding either section returns shortcuts to normal document flow. */
@media(min-width:992px){
 .hp-home .hp-quick{position:relative;inset:auto;width:calc(100% - 80px);max-width:1360px;min-height:0;margin:0 auto 92px!important;padding:28px}
 .hp-home .hp-quick h2{font-size:1.3rem;text-align:center;max-width:none;margin-bottom:26px}
 .hp-home .hp-shortcuts{grid-template-columns:repeat(6,1fr);gap:22px}
 .hp-home>.hp-campaign:first-of-type:not(.hp-visibility-MOBILE)+.hp-quick{position:absolute;top:35px;right:4%;width:310px;min-height:420px;margin:0!important;padding:30px 20px}
 .hp-home>.hp-campaign:first-of-type:not(.hp-visibility-MOBILE)+.hp-quick h2{font-size:1.8rem;text-align:left;margin-bottom:36px}
 .hp-home>.hp-campaign:first-of-type:not(.hp-visibility-MOBILE)+.hp-quick .hp-shortcuts{grid-template-columns:repeat(3,1fr);gap:24px 10px}
}
@media(min-width:1200px){
 .hp-home>.hp-campaign:first-of-type:not(.hp-visibility-MOBILE)+.hp-quick{top:50px;width:430px;min-height:490px;padding:34px 26px}
 .hp-home>.hp-campaign:first-of-type:not(.hp-visibility-MOBILE)+.hp-quick h2{font-size:2.6rem;max-width:320px}
 .hp-home>.hp-campaign:first-of-type:not(.hp-visibility-MOBILE)+.hp-quick .hp-shortcuts{gap:38px 18px}
}
@media(max-width:991px){.hp-home .hp-quick{margin-top:0}.hp-home>.hp-campaign:first-of-type:not(.hp-visibility-DESKTOP)+.hp-quick{margin-top:-24px}}

@media(min-width:600px) and (max-width:991px){
 .hp-colour-panel{flex-basis:48%}.hp-colour-panel .hp-photo{height:335px}
 .hp-collections .hp-horizontal>*,.hp-stories .hp-horizontal>*{flex-basis:48%}
 .hp-featured-fallback article{height:365px}.hp-featured-fallback .hp-photo{width:60%;height:100%;margin-left:auto}
 .hp-featured-fallback article>div{top:0;bottom:0;width:47%;padding:30px}
}
