/* Shared finishing rules for native Shopify templates. */
.product-layout.section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"crumbs crumbs" "gallery details";column-gap:clamp(28px,4vw,64px);row-gap:22px;align-items:start;padding-top:18px}
.product-layout>.breadcrumbs{grid-area:crumbs;margin:0}
.product-layout>.product-gallery{grid-area:gallery;display:block;min-width:0;width:100%}
.product-layout>.product-details{grid-area:details;min-width:0;width:100%}
.product-layout .product-gallery-stage{width:100%;max-width:650px;margin:0 auto;background:#f8fafc}
.product-layout .product-gallery-slide{aspect-ratio:1/1.06;max-height:620px;min-height:0;padding:24px;box-sizing:border-box}
.product-layout .product-gallery-slide img{display:block;width:100%;height:100%;max-height:570px;object-fit:contain;object-position:center}
.product-layout .product-gallery-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.product-layout .product-gallery-thumb{width:72px;height:72px;flex:0 0 72px;padding:5px}
.product-layout .product-gallery-thumb img{width:100%;height:100%;object-fit:contain}
.product-layout .product-details h1{font-size:clamp(28px,3.1vw,46px);line-height:1.1;letter-spacing:-1.4px;margin:0 0 20px;overflow-wrap:anywhere}
.product-layout .product-details .price{font-size:28px;margin:12px 0 18px}
.product-layout .product-details input[type=number]{width:88px;max-width:100%;min-height:44px;box-sizing:border-box;border-radius:6px}
.product-layout .product-description{max-width:none}
.product-layout .product-description table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.6;table-layout:fixed}
.product-layout .product-description th,.product-layout .product-description td{padding:12px 8px;text-align:left;vertical-align:top;border-bottom:1px solid #dce4ee;overflow-wrap:anywhere}
.product-layout .product-description th{width:38%;font-weight:500;color:#64748b}
.product-grid,.product-track,.brand-list,.contact-layout{min-width:0}
.product-card{min-width:0}
.brand-directory-card .brand-directory-logo{display:flex;align-items:center;justify-content:center;height:78px;width:100%}
.brand-directory-card .brand-directory-logo img{display:block;width:150px;max-width:80%;height:60px;object-fit:contain}
.brand-directory-card .brand-directory-logo img[alt=GE]{width:62px}
.brand-directory-card .brand-directory-action{display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:600;color:#526780}
.brand-directory-action b{font-size:18px;transition:transform .2s,color .2s}
.brand-directory-card:hover .brand-directory-action b{transform:translateX(4px);color:#e87c32}
.services-page .service-card .service-illustration{width:100%;height:156px;grid-row:auto;border:0;border-radius:12px;background:linear-gradient(135deg,#edf2f7,#f9fafc);box-shadow:none;margin-bottom:0}
.services-page .service-illustration>img{display:block;width:154px;height:154px;max-width:100%;padding:7px;box-sizing:border-box;object-fit:contain;transition:transform .25s}
.services-page .service-card:hover .service-illustration>img{transform:translateY(-4px)}
@media(max-width:900px){.product-layout.section{column-gap:28px}.product-layout .product-details h1{font-size:30px}.product-layout .product-gallery-slide{padding:16px}}
@media(max-width:700px){.product-layout.section{grid-template-columns:minmax(0,1fr);grid-template-areas:"crumbs" "gallery" "details";row-gap:20px;padding-top:12px}.product-layout .product-gallery-stage{max-width:430px}.product-layout .product-gallery-slide{aspect-ratio:1/1;max-height:390px;padding:18px}.product-layout .product-gallery-slide img{max-height:350px}.product-layout .product-gallery-thumbs{justify-content:center;margin-top:10px}.product-layout .product-gallery-thumb{width:58px;height:58px;flex-basis:58px}.product-layout .product-details h1{font-size:30px;letter-spacing:-.8px}.product-layout .product-details .price{font-size:25px}.brand-directory-card .brand-directory-logo img{max-width:86%;height:48px}.services-page .service-grid .service-card{display:flex;flex-direction:column;padding:20px}.services-page .service-card .service-illustration{width:100%;height:138px}.services-page .service-illustration>img{width:136px;height:136px}.services-page .service-grid .service-card h2{margin:16px 0 10px}.services-page .service-card .text-link{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.services-page .service-illustration>img,.brand-directory-action b{transition:none}.services-page .service-card:hover .service-illustration>img{transform:none}}
.mobile-navigation-dialog{box-sizing:border-box;width:min(390px,calc(100% - 22px));max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:18px 20px 22px;border:0;border-radius:18px 0 0 18px;background:#fff;color:#17283f;overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 48px #17283f26}
.mobile-navigation-dialog[open]{animation:mobile-menu-enter .2s ease-out}
.mobile-navigation-dialog::backdrop{background:#17283f70}
.mobile-navigation-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #dce4ee}
.mobile-navigation-top strong{font-size:17px}
.mobile-navigation-top button{width:44px;height:44px;border:1px solid #dce4ee;border-radius:50%;background:#f7f9fc;color:#243f62;font-size:27px;line-height:1}
.mobile-navigation-links{display:grid;padding:8px 0}
.mobile-navigation-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border-bottom:1px solid #edf1f6;color:#243f62;font-size:15px;font-weight:600;text-decoration:none}
.mobile-navigation-links a span{color:#8492a6;font-size:17px}
.mobile-navigation-links a:hover span{color:#e87c32}
.mobile-navigation-shortcuts{display:flex;gap:8px;margin:10px 0 18px}
.mobile-navigation-shortcuts>a,.mobile-navigation-shortcuts>button{display:grid;place-items:center;flex:1;min-height:44px;padding:6px;border:1px solid #dce4ee;border-radius:7px;background:#f4f7fb;color:#243f62;font:inherit;font-size:13px;font-weight:600;text-decoration:none}
.mobile-navigation-help{display:grid;gap:9px;padding:16px;border-radius:10px;background:#eef3f8}
.mobile-navigation-help a{color:#243f62;font-size:15px;text-decoration:none}
.mobile-navigation-help .mobile-contact-heading{font-size:14px;font-weight:700;margin-bottom:2px}
.mobile-navigation-help small{font-size:11px;line-height:1.5;color:#64748b}
.mobile-navigation-help .mobile-whatsapp-link{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.mobile-navigation-policies{display:flex;gap:22px;margin-top:18px}
.mobile-navigation-policies a{font-size:12px;color:#64748b;text-underline-offset:3px}
body.mobile-nav-open{overflow:hidden}
.cart-page .cart-page-line{grid-template-columns:144px minmax(0,1fr) auto;padding:20px;border:1px solid #dce4ee;border-radius:12px;background:#fff;margin-bottom:14px}
.cart-page .cart-item-photo{width:144px;height:170px;background:#f4f7fb}
.cart-page .cart-item-photo img{width:100%;height:100%;padding:8px;box-sizing:border-box;object-fit:contain}
.cart-page .cart-page-line h2{font-size:20px;line-height:1.25;margin:8px 0 12px}
.cart-page .cart-page-line>strong{font-size:18px;white-space:nowrap}
.cart-page .cart-line-controls{gap:14px;flex-wrap:wrap}.cart-page .cart-line-controls input{min-height:42px;width:60px;border-radius:6px}
.cart-page .cart-summary>p{font-size:14px}.cart-page .cart-summary>p span{font-size:12px}
@keyframes mobile-menu-enter{from{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(max-width:900px){.site-header .header-main-row>#MainNavigation{display:none!important}.site-header .mobile-menu-toggle{display:inline-flex}}
@media(max-width:700px){
  .section,.essentials-section,.featured-section,.brand-strip,.home-faq{padding-block:30px}
  .page-heading{margin-bottom:22px}.page-heading h1{font-size:30px!important;line-height:1.12;margin-bottom:12px!important}
  .page-heading .rte,.page-heading .page-intro{font-size:14px;line-height:1.55}
  .eyebrow{font-size:10px;margin-bottom:9px}.section-heading{gap:12px;margin-bottom:18px}.section-heading h2,.brand-strip-heading h2{font-size:27px;line-height:1.12}
  .collection-controls{min-width:0;flex-wrap:wrap;gap:12px}.facet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0}.facet{min-width:0;max-width:100%}.facet-options{position:static;min-width:0;width:100%;max-width:100%;box-sizing:border-box;padding:10px}.price-range,.price-range label{min-width:0}.price-range input{min-width:0;max-width:100%;width:100%;box-sizing:border-box;font-size:13px}.sort-form{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%;margin:8px 0}.sort-form select{max-width:calc(100% - 44px);min-width:0}
  .section-action{font-size:12px}.product-layout.section{padding-bottom:28px;row-gap:16px}
  .product-layout .product-gallery-stage{height:clamp(250px,82vw,350px);aspect-ratio:auto;min-height:0;max-height:none}
  .product-layout .product-gallery-slide{height:100%;aspect-ratio:auto;max-height:none;padding:8px;min-height:0}
  .product-layout .product-gallery-slide img{max-height:334px;min-height:0}
  .product-layout .product-gallery-thumbs{gap:8px;margin-top:8px}
  .product-layout .product-details h1{font-size:30px;margin-bottom:14px;line-height:1.08}
  .product-layout .product-details .product-page-mark{margin-bottom:10px}
  .product-layout .product-details .price{margin:8px 0 13px}
  .product-layout .product-details form{margin:16px 0;gap:8px}
  .product-layout .product-description{font-size:14px;line-height:1.55;margin-top:20px}
  .product-layout .product-description p{line-height:1.55}.product-layout .product-description th,.product-layout .product-description td{padding:10px 6px;font-size:12px;line-height:1.45}
  .product-card .product-card-info{padding:12px 11px}.product-card .product-card-image{aspect-ratio:1/.98!important;padding:5px!important}
  .product-card .product-image-primary{object-fit:contain!important;transform:none!important;padding:0!important}
  .product-card h3{font-size:15px!important;line-height:1.25!important;min-height:0!important;margin-bottom:9px!important}
  .product-card .current-price{font-size:21px!important}.product-card .card-reviews{margin-block:7px;font-size:11px}
  .product-card .product-card-action{min-height:44px;font-size:13px}.product-grid{gap:12px}
  .product-track .product-card{flex-basis:76vw;min-width:0;max-width:320px}
  .essential-card .essential-image{aspect-ratio:1/1.08}.essential-caption{padding:12px 0}.essential-caption h3{font-size:16px}.essential-caption p{line-height:1.4}
  .showcase-frame,.showcase-content{min-height:530px!important}.showcase-content{padding-top:22px!important}.showcase-kicker{margin-bottom:14px!important}.showcase-content h1{font-size:38px!important;line-height:1.04!important}.showcase-description{line-height:1.5!important}.showcase-actions a{min-height:44px}.showcase-photo{height:46%!important}
  .showcase-benefit small{display:none}.showcase-benefit strong{font-size:10px;line-height:1.25}.showcase-benefit svg{width:18px;height:18px;flex-shrink:0}
  .personal-help{margin-block:28px}.personal-help-copy{padding:24px 20px}.personal-help-copy h2{font-size:26px;line-height:1.13}.personal-help-copy>p{font-size:14px;line-height:1.55}.personal-help-art{max-height:200px}
  .services-page .service-grid{margin-top:20px;gap:14px}.services-page .service-grid .service-card{padding:18px}.services-page .service-card .service-illustration{height:124px}.services-page .service-illustration>img{width:124px;height:124px;padding:2px}.services-page .service-grid .service-card p{font-size:14px;line-height:1.55;margin-bottom:14px}
  .contact-fields{gap:16px}.contact-form{padding:20px}.contact-fields textarea{min-height:124px}.contact-details{padding:22px}.contact-details p{line-height:1.55}
  .cart-page{padding-block:18px 32px}.cart-page-heading h1{font-size:30px}.cart-page .cart-page-line{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:14px}.cart-page .cart-page-line h2{font-size:17px;line-height:1.25;margin-top:4px}.cart-page .cart-item-photo{width:100px;height:128px}.cart-page .cart-page-line>strong{font-size:17px;grid-column:2}.cart-page .cart-line-controls{gap:10px}.cart-summary{padding:20px}
  .site-footer.footer-refresh{padding-top:30px}.footer-refresh-grid{gap:24px}.footer-refresh-column a,.footer-refresh-column p{line-height:1.5}.footer-disclaimer{margin-top:22px}.footer-bottom{gap:14px;padding-block:18px}
}
@media(prefers-reduced-motion:reduce){.mobile-navigation-dialog[open]{animation:none}}

/* Service illustrations lead each card; the complete card is one accessible link. */
.services-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.services-page .service-grid .service-card{display:grid;grid-template-columns:minmax(180px,44%) minmax(0,1fr);align-items:center;gap:18px;padding:20px;text-decoration:none;color:var(--ink);border-radius:18px;background:linear-gradient(135deg,#f0f4f9 0%,#fff 65%);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.services-page .service-card .service-illustration{width:100%;height:auto;aspect-ratio:1;margin:0;border:0;border-radius:16px;background:radial-gradient(ellipse at center,#e4ebf5 0%,#f3f6fa 60%,transparent 75%);box-shadow:none}
.services-page .service-card .service-illustration>img{display:block;width:100%;height:100%;max-width:none;padding:0;object-fit:contain;transform:scale(1.1);filter:drop-shadow(0 12px 10px #17283f18);transition:transform .25s}
.services-page .service-card-copy{min-width:0}
.services-page .service-grid .service-card h2{margin:0 0 12px;font-size:23px;line-height:1.16;letter-spacing:-.6px}
.services-page .service-grid .service-card p{margin:0 0 18px;font-size:13px;line-height:1.65}
.services-page .service-card .text-link{display:inline-flex;gap:8px;align-items:center;line-height:1.4}
.services-page .service-card .text-link>span{font-size:19px;color:#be6c25}
.services-page .service-grid .service-card:hover{transform:translateY(-3px);border-color:#aabbd0;box-shadow:0 12px 30px #17283f0c}
.services-page .service-card:hover .service-illustration>img{transform:scale(1.16) rotate(-2deg)}
.services-page .service-grid .service-card:focus-visible{outline:3px solid #be6c25;outline-offset:4px}
@media(max-width:1000px){.services-page .service-grid{grid-template-columns:1fr}.services-page .service-grid .service-card{grid-template-columns:minmax(170px,30%) minmax(0,1fr)}}
@media(max-width:600px){
 .services-page .service-grid{gap:14px;margin-top:18px}
 .services-page .service-grid .service-card{grid-template-columns:120px minmax(0,1fr);gap:10px 16px;padding:16px}
 .services-page .service-card-copy{display:contents}
 .services-page .service-card .service-illustration{grid-column:1;grid-row:1;width:120px;height:120px}
 .services-page .service-grid .service-card h2{grid-column:2;grid-row:1;font-size:22px;margin:0;align-self:center}
 .services-page .service-grid .service-card p{grid-column:1/-1;font-size:14px;line-height:1.6;margin:2px 0 4px}
 .services-page .service-card .text-link{grid-column:1/-1;padding:5px 0;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.services-page .service-grid .service-card,.services-page .service-card .service-illustration>img{transition:none}.services-page .service-grid .service-card:hover,.services-page .service-card:hover .service-illustration>img{transform:none}}
.studio-credit .studio-direct-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:inherit;text-decoration:none;white-space:nowrap}
.studio-credit .studio-direct-link strong{color:#243f62;letter-spacing:.07em;font-size:11px}
.studio-credit .studio-direct-link:hover strong{text-decoration:underline;text-underline-offset:4px}
.studio-credit .studio-direct-link:focus-visible{outline:2px solid #be6c25;outline-offset:4px;border-radius:4px}
