/* Gift Shop refinements. See docs/DESIGN.md for tokens, components and rules. */
:root{--gs-hero-navy:#0e1b2d;--gs-hero-blue:#3e99d6;--gs-section-muted:#f4f6f8}
*,*::before,*::after{box-sizing:border-box}
.gs-home-hero{background:var(--gs-hero-navy);color:#fff;overflow:hidden}
.gs-home-hero__inner{max-width:1400px;padding:72px 60px 64px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.gs-home-hero__copy .gs-eyebrow{color:#73bee9;margin:0 0 22px;font-size:12px;letter-spacing:.16em}
.gs-home-hero h1{font-family:var(--font-display);font-size:clamp(30px,3.2vw,48px);line-height:1.16;letter-spacing:-.035em;font-weight:700;color:#fff;margin:0;max-width:22ch;text-wrap:balance}
.gs-home-hero__lead{color:#d6e0eb;font-size:16px;line-height:1.8;max-width:53ch;margin:24px 0 28px}
.gs-home-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.gs-home-hero__actions .gs-btn{min-height:48px;padding:15px 22px;border-radius:6px;font-size:14px}
.gs-home-hero__actions .gs-btn--primary{background:#398fcd}
.gs-home-hero__actions .gs-btn--primary:hover{background:#2b7db6}
.gs-home-hero__note{font-size:12px;line-height:1.6;color:#bac9da;margin:28px 0 0;letter-spacing:.02em}.gs-home-hero__note span{display:inline-block;margin-left:8px}
.gs-home-hero__visual{min-width:0;position:relative;border-radius:14px;overflow:hidden;background:#172c43;border:1px solid #ffffff1a}
.gs-home-hero__visual img{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover}
.gs-home-hero__caption{display:flex;gap:10px;align-items:center;padding:18px 20px;background:#14263b;color:#e4edf7;font-size:12px;line-height:1.6}
.gs-home-hero__dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#5caee0}
.gs-home-section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}.gs-home-section-head>p{max-width:420px}.gs-home-section-head .gs-eyebrow{margin-top:0}.gs-home-section-head .gs-h2{margin:12px 0 0}
.gs-home-solutions{background:var(--gs-section-muted)}
.gs-home-solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gs-home-solution{display:flex;flex-direction:column;align-items:flex-start;padding:36px;border:1px solid #dce3ea;border-radius:12px;background:#fff;color:var(--pd-navy-900);text-decoration:none;transition:box-shadow .2s,border-color .2s}
.gs-home-solution:hover{box-shadow:0 8px 26px #10243a0c;border-color:#93aecb}
.gs-home-solution h3{font:600 clamp(22px,2vw,29px)/1.3 var(--font-display);letter-spacing:-.025em;margin:24px 0 14px;max-width:22ch}.gs-home-solution p{font-size:15px;line-height:1.75;color:var(--pd-gray-700);max-width:46ch;margin:0 0 28px}.gs-home-solution--dark{background:#162940;color:#fff;border-color:#162940}.gs-home-solution--dark h3,.gs-home-solution--dark p{color:#fff}.gs-home-solution--dark p{color:#cbd7e6}.gs-home-solution--dark .gs-home-link{color:#b9def6}
.gs-home-link{display:inline-flex;gap:18px;align-items:center;color:var(--brand-primary);font-size:14px;font-weight:600;text-decoration:none;margin-top:auto}.gs-home-link:hover{text-decoration:underline;text-underline-offset:4px}
.gs-home-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gs-home-process{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;background:var(--gs-section-muted);border-top:1px solid #e4e9ef}.gs-home-process .gs-h2{margin:14px 0 20px}.gs-home-process .gs-card__text{max-width:48ch;margin-bottom:28px}
.gs-home-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:26px}.gs-home-steps li{display:flex;gap:22px;padding-bottom:24px;border-bottom:1px solid #dce3ea}.gs-home-steps li:last-child{border-bottom:0;padding-bottom:0}.gs-home-steps li>span{font:600 13px/2 var(--font-body);color:var(--brand-primary)}.gs-home-steps h3{font:600 18px/1.4 var(--font-display);color:var(--pd-navy-900);margin:0 0 7px}.gs-home-steps p{font-size:14px;line-height:1.75;margin:0;color:var(--pd-gray-700)}
.gs-add-enquiry{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gs-add-enquiry .gs-input--qty{max-width:76px;min-height:44px}.gs-cta-row{flex-wrap:wrap}
.gs-enquiry-summary{list-style:none;padding:0;margin:22px 0;display:grid;gap:18px}.gs-enquiry-summary li{display:flex;flex-direction:column;gap:5px;border-bottom:1px solid #e0e6ec;padding-bottom:16px;font-size:14px}.gs-enquiry-summary span{font-size:12px;color:var(--pd-gray-700)}
.gs-empty-enquiry{padding:36px 0}.gs-empty-enquiry p{line-height:1.7;max-width:50ch;margin-bottom:24px}.gs-cart-item__media img{width:100%;height:100%;object-fit:contain}.gs-cart-item__body a{text-decoration:none}.gs-cart-items{margin:30px 0}.gs-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gs-category-layout>div,.gs-grid-2>div,.gs-cart-grid>div{min-width:0}.gs-category-layout .gs-searchbar{max-width:none;margin-bottom:20px}.gs-searchbar .gs-btn{min-height:40px}.gs-form .gs-input,.gs-form .gs-textarea,.gs-form .gs-select{width:100%;max-width:100%}.gs-card__meta{line-height:1.5}
@media(min-width:901px){.gs-category-layout>aside{align-self:start}.gs-header{gap:28px}.gs-header__logo{flex-shrink:0}}
@media(max-width:1100px){.gs-home-hero__inner{gap:36px;padding:52px 36px}.gs-home-hero h1{font-size:36px}.gs-home-hero__visual img{aspect-ratio:.95}.gs-home-process{gap:44px}.gs-header .gs-nav{gap:16px}.gs-header .gs-nav a{font-size:12px}}
@media(max-width:900px){.gs-home-hero__inner{grid-template-columns:1fr;gap:32px;padding:44px 30px 36px}.gs-home-hero h1{max-width:24ch;font-size:38px}.gs-home-hero__lead{max-width:60ch}.gs-home-hero__visual img{aspect-ratio:1.9}.gs-home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gs-home-section-head{align-items:start;flex-direction:column;gap:18px}.gs-home-section-head>p{max-width:60ch}.gs-home-process{grid-template-columns:1fr;gap:36px}}
@media(max-width:640px){.gs-home-hero__inner{padding:34px 22px 28px;gap:28px}.gs-home-hero__copy .gs-eyebrow{font-size:10px;margin-bottom:18px}.gs-home-hero h1{font-size:30px;max-width:22ch;line-height:1.2}.gs-home-hero__lead{font-size:14px;line-height:1.8;margin:20px 0 24px}.gs-home-hero__actions .gs-btn{font-size:12px;min-height:45px;padding:14px 16px}.gs-home-hero__note{font-size:11px;margin-top:20px}.gs-home-hero__note span{margin-left:0;display:block}.gs-home-hero__visual img{aspect-ratio:1.45}.gs-home-hero__caption{font-size:10px;padding:14px}.gs-section{padding-block:48px}.gs-home-solution-grid{grid-template-columns:1fr;gap:18px}.gs-home-solution{padding:26px}.gs-home-solution h3{margin-top:20px}.gs-home-section-head .gs-h2{font-size:25px;line-height:1.3}.gs-home-product-grid{gap:12px}.gs-home-process{gap:30px}.gs-home-steps{gap:20px}.gs-home-steps li{gap:16px}.gs-home-steps h3{font-size:16px}.gs-home-steps p{font-size:13px}.gs-cart-item{flex-wrap:wrap}.gs-enquiry-summary{margin:16px 0}.gs-summary{min-width:0}.gs-header__actions .wp-block-buttons{display:none}.gs-header__actions{gap:12px}.gs-home-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.gs-enquiry-confirmation{min-height:420px}.gs-enquiry-confirmation .gs-btn{margin-top:24px}.gs-enquiry-confirmation .gs-lead{max-width:55ch}
/* Core's mobile navigation opens below 600px by default; use the site's 900px header breakpoint. */
@media(max-width:900px){
 .gs-header .gs-nav{display:flex!important}
 .gs-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 .gs-header .wp-block-navigation__responsive-container-open{display:flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px}
 .gs-header .wp-block-navigation__responsive-container.is-menu-open{display:flex!important;padding:28px;background:#fff}
 .gs-header .is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:24px!important}
 .gs-header .is-menu-open .wp-block-navigation-item__content{font-size:18px!important}
}
/* Complete original Rafiki mark, at readable proportions in both placements. */
.gs-rta-chip{padding:22px 28px;align-items:center;flex-shrink:0}
.gs-rta-chip img{width:220px;max-width:100%;height:auto}
.gs-footer__rta img{width:154px;max-width:100%;height:auto}
.gs-footer__rta{font-size:12px}
.gs-news-intro{background:#f1f4f8;border-bottom:1px solid #e0e7ef}
.gs-news-intro .gs-eyebrow{margin:0 0 22px}
.gs-news-intro h1{font:700 clamp(38px,5vw,64px)/1.1 var(--font-display);letter-spacing:-.045em;color:var(--pd-navy-900);margin:0 0 30px}
.gs-news-intro h1 span{color:var(--brand-primary)}
.gs-news-intro__bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}
.gs-news-intro__bottom p{max-width:620px;margin:0;font-size:17px;line-height:1.8;color:var(--pd-gray-700)}
.gs-news-list{background:#fff}
.gs-news-section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}
.gs-news-section-head h2{margin:0;color:var(--pd-navy-900);font:600 24px/1.3 var(--font-display)}
.gs-news-section-head>span{font-size:12px;color:var(--pd-gray-700)}
.gs-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:stretch}
.gs-news-card{overflow:hidden;background:#fff;border:1px solid #e0e6ed;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 18px #11233a05}
.gs-news-card__image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--gs-section-muted)}
.gs-news-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.gs-news-card:hover .gs-news-card__image img{transform:scale(1.025)}
.gs-news-card__body{padding:28px;display:flex;flex-direction:column;flex:1;align-items:stretch}
.gs-news-card__meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--pd-gray-700)}
.gs-news-card h3{font:600 clamp(21px,2.3vw,29px)/1.3 var(--font-display);letter-spacing:-.025em;margin:22px 0 16px;color:var(--pd-navy-900)}
.gs-news-card h3 a{color:inherit;text-decoration:none}.gs-news-card h3 a:hover{color:var(--brand-primary)}
.gs-news-card__body>p{font-size:15px;line-height:1.8;margin:0 0 28px;color:var(--pd-gray-700)}
.gs-news-card__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e7ebf0;padding-top:22px;margin-top:auto;font-size:12px;color:var(--pd-gray-700)}
.gs-news-card__bottom>a{font-weight:600;color:var(--brand-primary);text-decoration:none;white-space:nowrap}
.gs-news-cta{background:var(--gs-section-muted);display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid #e0e6ed}
.gs-news-cta h2{font:600 30px/1.3 var(--font-display);letter-spacing:-.03em;margin:12px 0 16px;color:var(--pd-navy-900)}
.gs-news-cta p:last-child{font-size:15px;line-height:1.8;max-width:60ch;margin:0;color:var(--pd-gray-700)}
.gs-article-template .gs-post-head{max-width:840px;margin-inline:auto;gap:18px}
.gs-article-template .gs-post-head h1{font-size:clamp(30px,4vw,48px);line-height:1.2;letter-spacing:-.035em}
.gs-article-template>.wp-block-post-featured-image{max-width:1000px;margin-inline:auto}
.gs-article-template>.wp-block-post-featured-image img{max-height:480px;object-fit:cover}
.gs-article-template>.entry-content{max-width:760px;margin-inline:auto;font-size:17px;line-height:1.9}
.gs-article-template>.entry-content h2{font:600 25px/1.4 var(--font-display);color:var(--pd-navy-900);margin-top:36px}
@media(max-width:900px){.gs-news-intro__bottom{align-items:flex-start;flex-direction:column}.gs-news-card__body{padding:24px}.gs-news-card__bottom{align-items:flex-start;flex-direction:column;gap:12px}.gs-news-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.gs-news-intro h1{font-size:40px}.gs-news-intro__bottom p{font-size:15px}.gs-news-grid{grid-template-columns:1fr;gap:24px}.gs-news-section-head{align-items:flex-start;flex-direction:column;gap:8px}.gs-news-card h3{font-size:24px}.gs-news-card__bottom{flex-direction:row;align-items:center;gap:12px}.gs-news-card__body{padding:22px}.gs-news-cta h2{font-size:26px}.gs-rta-chip img{width:210px}.gs-group-callout{gap:28px}.gs-article-template>.entry-content{font-size:16px}}

.wp-site-blocks>.gs-news-page{margin-block:0}.wp-site-blocks>.gs-news-page+footer{margin-block-start:0}

/* Catalog and long technical values share the available mobile width. */
.gs-filter-panel>summary{display:none}.gs-category-layout>div,.gs-category-layout>aside,.gs-product-detail__body,.gs-cart-item__body{min-width:0}
.gs-active-filters{font-size:.875rem;overflow-wrap:anywhere}.gs-active-filters a{margin-left:12px}
.gs-specs dd,.gs-channels__value,.gs-cart-item__body{overflow-wrap:anywhere}
@media(max-width:900px){.gs-filter-panel{border:1px solid var(--pd-border,#dce1e8);border-radius:8px;padding:0 16px}.gs-filter-panel>summary{display:list-item;cursor:pointer;padding:14px 0;font-weight:600;min-height:44px;box-sizing:border-box}.gs-filter-panel__body{padding:12px 0}.gs-category-layout{gap:24px}}

.gs-cart-item__remove{min-width:44px;min-height:44px;border-radius:6px}.gs-cart-item__remove:focus-visible{outline:2px solid var(--pd-primary,#406faa);outline-offset:2px}
@media(max-width:640px){.gs-cart-item{grid-template-columns:64px minmax(0,1fr) 44px;gap:12px}.gs-cart-item>div:nth-child(3){grid-column:2;display:flex;align-items:center;gap:10px}.gs-cart-item__remove{grid-column:3;grid-row:1 / span 2}.gs-cart-item__media{grid-row:1 / span 2}}

.gs-header__icon{min-width:40px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:400px){.gs-header__actions{gap:4px}.gs-header__logo{max-width:126px}.gs-header__logo img{max-width:126px;height:auto}}
@media(max-width:900px){.gs-header{gap:8px}.gs-header__logo{flex-shrink:0}.gs-header .gs-nav{margin-left:auto}}
@media(max-width:400px){.gs-header__logo{flex:0 0 126px}.gs-header__logo .wp-block-site-logo{width:126px}.gs-header__logo img{width:126px;height:auto}}
/* Imported specification tables may be wider than a phone; scroll the description, not the page. */
.gs-product-detail__body>.gs-card__text{min-width:0;max-width:100%;overflow-x:auto;overflow-wrap:anywhere}
/* Native hero carousel. All slides share a fluid grid row so rotation cannot move the page. */
.gs-hero-slides{display:grid;overflow:hidden}.gs-hero-slide{grid-area:1 / 1;min-width:0}.gs-hero-slide:not(.is-active){display:none}.gs-hero-carousel.is-ready .gs-hero-slide{display:block;visibility:hidden;opacity:0;transform:translateX(100%);transition:transform .45s ease,opacity .45s ease,visibility .45s;pointer-events:none}.gs-hero-carousel.is-ready .gs-hero-slide.is-before{transform:translateX(-100%)}.gs-hero-carousel.is-ready .gs-hero-slide.is-active{visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto}.gs-hero-carousel .gs-home-hero__inner{width:100%;height:100%;box-sizing:border-box}.gs-home-hero .gs-hero-headline{font-family:var(--font-display);font-size:clamp(30px,3.2vw,48px);line-height:1.16;letter-spacing:-.035em;font-weight:700;color:#fff;margin:0;max-width:22ch;text-wrap:balance}.gs-home-hero__lead>p{margin:0}.gs-home-hero__lead>p+p{margin-top:12px}.gs-hero-carousel .gs-home-hero__visual img{aspect-ratio:1.5}.gs-hero-controls{max-width:1280px;margin:auto;padding:0 60px 24px;display:flex;align-items:center;justify-content:center;gap:8px}.gs-hero-controls[hidden]{display:none}.gs-hero-controls button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid #ffffff35;border-radius:50%;color:#d6e0eb;cursor:pointer}.gs-hero-controls button:hover{background:#ffffff15;color:#fff}.gs-hero-controls button:focus-visible{outline:2px solid #73bee9;outline-offset:3px}.gs-hero-controls .gs-hero-play{font-size:12px;padding:0 14px;border-radius:24px;margin-left:12px}.gs-hero-dots{display:flex;align-items:center}.gs-hero-dots button{border:0}.gs-hero-dots span{width:7px;height:7px;display:block;background:#ffffff50;border-radius:50%}.gs-hero-dots button[aria-current] span{background:#73bee9;width:22px;border-radius:10px}.gs-hero-carousel{touch-action:pan-y}
.gs-category-card__media{height:200px}
.home .wp-site-blocks>footer.wp-block-template-part{margin-block-start:0}.home main{margin-bottom:0}.home .gs-home-process{margin-bottom:0}
.gs-footer__services{display:flex;flex-wrap:wrap;gap:14px;color:#cad8e9;font-size:11px;margin:4px 0 0}.gs-footer__services span{display:inline-flex;align-items:center;gap:6px}.gs-footer__services i{color:#7ca7d6}.gs-footer__heading>i{color:#7ca7d6;margin-right:8px}.gs-footer__list a>i{width:18px;color:#9ab8dc;margin-right:9px;text-align:center}.gs-footer__rta{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-decoration:none;color:#cad8e9}.gs-footer__rta>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.gs-footer__rta img{width:154px;height:auto}.gs-footer__divider{align-items:center}
@media(max-width:1100px){.gs-home-hero .gs-hero-headline{font-size:36px}}
@media(max-width:900px){.gs-home-hero .gs-hero-headline{font-size:38px;max-width:24ch}.gs-hero-carousel .gs-home-hero__visual img{aspect-ratio:1.9}.gs-hero-controls{padding-inline:30px}.gs-category-card__media{height:220px}}
@media(max-width:640px){.gs-home-hero .gs-hero-headline{font-size:30px;line-height:1.2;max-width:22ch}.gs-hero-carousel .gs-home-hero__visual img{aspect-ratio:1.5}.gs-hero-controls{padding:0 22px 24px;gap:4px}.gs-category-card__media{height:210px}.gs-footer__divider{align-items:flex-start}.gs-footer__services{gap:12px}}
@media(prefers-reduced-motion:reduce){.gs-hero-carousel.is-ready .gs-hero-slide{transition:none;transform:none!important}}
/* Lifestyle imagery for the service and editorial introductions. */
.gs-page-business-solutions .gs-solutions-hero{background:linear-gradient(90deg,#0e1b2df5 20%,#0e1b2dc9 52%,#0e1b2d20),url('lifestyle-business.jpg') center 48% / cover}
.gs-page-residential-solutions .gs-solutions-hero{background:linear-gradient(90deg,#0e1b2df5 20%,#0e1b2dc9 52%,#0e1b2d20),url('lifestyle-home.jpg') center 52% / cover}
.gs-page-contact .gs-contact-head{background:linear-gradient(90deg,#0e1b2df5 20%,#0e1b2dc9 52%,#0e1b2d30),url('lifestyle-business.jpg') center 45% / cover;color:#d6e0eb}.gs-page-contact .gs-contact-head h1{color:#fff}.gs-page-contact .gs-contact-head .gs-eyebrow{color:#89cbef}
.gs-news-intro{background:linear-gradient(90deg,#f4f6f8 25%,#f4f6f8e8 55%,#f4f6f850),url('lifestyle-home.jpg') center 50% / cover}
@media(max-width:640px){.gs-page-business-solutions .gs-solutions-hero,.gs-page-residential-solutions .gs-solutions-hero,.gs-page-contact .gs-contact-head{background-position:65% center;background-blend-mode:normal}.gs-news-intro{background-image:linear-gradient(90deg,#f4f6f8f5,#f4f6f8cf),url('lifestyle-home.jpg')}}
.gs-page-business-solutions .gs-solutions-hero{background-position:center 18%}.gs-page-residential-solutions .gs-solutions-hero{background-position:center 25%}.gs-page-contact .gs-contact-head{background-position:center 16%}.gs-news-intro__bottom .gs-home-link{background:#f4f6f8e8;padding:10px 14px;border-radius:6px}
@media(max-width:640px){.gs-page-business-solutions .gs-solutions-hero,.gs-page-residential-solutions .gs-solutions-hero,.gs-page-contact .gs-contact-head{background-position:70% center}}
