/* Founder-selected photographic direction; original SVG identity stays intact. */
:root{--display-face:Manrope,Arial,sans-serif;--action-ease:cubic-bezier(.23,1,.32,1)}
.framework .shell{max-width:1440px;width:calc(100% - 2 * clamp(20px,5vw,80px))}
.framework .site-header{background:var(--navy);color:#fff}
.framework .header-inner{min-height:90px;justify-content:space-between;gap:24px}
.framework .site-header .brand{background:transparent;border-radius:0;padding:0;margin-right:auto}
.framework .site-header .brand img{width:230px;height:auto}
.framework .header-tools{gap:24px}.header-contact{font-size:13px;font-weight:750;min-height:44px;display:flex;align-items:center}
.framework #site-nav{display:flex;position:static;justify-content:center;align-items:center;gap:52px;min-height:48px;background:var(--navy);color:white;padding:0 24px;box-shadow:none;border:0;border-top:1px solid #ffffff20}
.framework #site-nav a{font-size:13px;min-height:48px;padding:10px 0}
.framework .header-quote{font-size:13px;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.framework .header-quote{min-height:44px;padding:11px 24px}
.quote-short{display:none}



.framework .home-stage{position:relative;isolation:isolate;background:#081240;color:white;border:0;overflow:hidden}
.hero-scene{position:absolute;top:0;bottom:0;left:-12%;width:100%;height:100%;object-fit:cover;object-position:62% 54%;z-index:-2;mask-image:linear-gradient(90deg,#000 82%,transparent 100%)}
.home-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,39,.93) 0%,rgba(3,13,39,.72) 34%,rgba(3,13,39,.15) 65%,rgba(3,13,39,.2) 100%);z-index:-1}
.framework .home-hero{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:clamp(70px,15vw,250px);min-height:610px;padding-block:60px;align-items:center}
.framework .hero-copy h1{font-family:var(--display-face);text-transform:uppercase;font-weight:800;font-size:clamp(56px,6.2vw,92px);line-height:1.12;letter-spacing:.015em;max-width:11ch;margin:0 0 20px;text-wrap:balance}
.framework .hero-copy .eyebrow{color:#ffb344;font-size:13px;letter-spacing:.09em;margin-bottom:16px}
.framework .hero-copy>p:not(.eyebrow){color:#fff;font-size:17px;line-height:1.65;max-width:44ch;text-shadow:0 1px 5px #0003}
.framework .hero-actions{gap:14px;margin-top:28px;flex-wrap:wrap}
.framework .hero-actions .button{flex:none;min-width:190px;justify-content:center}

.battery-finder{display:block;grid-column:auto;background:white;color:var(--navy);border:1px solid #c5cedc;border-radius:5px;padding:0;overflow:hidden;box-shadow:0 12px 32px #08124026}
.battery-finder h2{font-family:var(--display-face);font-weight:700;letter-spacing:.03em;font-size:21px;line-height:1.25;text-transform:uppercase;background:#081240;color:white;padding:19px 22px;margin:0;max-width:none}
.battery-finder form{display:block;padding:5px 22px 0}.battery-finder form .field{margin:16px 0}.battery-finder .field label{font-weight:600;font-size:13px;color:#1a2030;margin:0 0 7px}.battery-finder select{font-size:14px;min-height:44px;background:#f7f8fa;border:1px solid #cbd3de;border-radius:4px;padding:10px 12px}.battery-finder select:disabled{color:#64718a;background:#edf0f4;opacity:1}.battery-finder .button{width:100%;margin:9px 0 0;justify-content:center;min-height:50px}.battery-finder .finder-help{grid-column:auto;font-size:11px;line-height:1.65;color:#18233a;padding:16px 20px 22px;text-align:center;margin:0;border:0}.finder-help a{color:#081240;font-weight:750}
.service-rail{background:#081240;color:white}.service-rail-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:24px;gap:0}.service-rail a{display:flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:0 24px;text-decoration:none}.service-rail a+a{border-left:1px solid #ffffff40}.service-rail svg{width:43px;height:43px;color:#ffb344;stroke-width:1.3}.service-rail strong{font-size:15px;display:block;line-height:1.5}.service-rail small{font-size:12px;display:block;color:#c5ccdc;margin-top:3px}
.framework .application-section{border:0;padding-block:54px 42px}.framework .application-section .section-heading{display:block;margin-bottom:30px}.framework .application-section .eyebrow{color:#915400;letter-spacing:.08em;font-size:12px;margin-bottom:10px}.framework .application-section h2,.contact-band h2{font-family:var(--display-face);text-transform:uppercase;font-size:clamp(36px,3.6vw,54px);font-weight:800;letter-spacing:-.015em;line-height:1.1}.framework .application-section .section-heading p:not(.eyebrow){font-size:16px;line-height:1.6;margin:10px 0 0;color:#44516a}
.framework .primary-applications{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0;width:100%;padding:0;margin:0}
.framework .application-card{display:flex;flex-direction:column;gap:0;overflow:hidden;border:1px solid #dce2eb;border-radius:5px;background:#fff;padding:0;box-shadow:0 3px 10px #08124006;text-decoration:none;min-width:0;transition:border-color 140ms ease,box-shadow 140ms ease}.framework .application-card+.application-card{border:1px solid #dce2eb}
.application-photo{display:block;width:100%;height:245px;object-fit:cover;object-position:center;transition:transform 200ms var(--action-ease)}.application-card:first-child .application-photo{object-position:68% 56%}
.application-card-body{padding:22px;display:flex;flex-direction:column;gap:17px;flex:1}.framework .application-card-title{display:block;font-family:var(--display-face);font-size:26px;letter-spacing:0;line-height:1.2;font-weight:700}.application-cta{margin-top:auto}.application-chevron{display:flex;flex:none}.application-chevron svg{width:16px;height:16px}

.contact-band{background:#eef2f5;padding-block:40px}.contact-band-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.contact-band h2{font-size:clamp(32px,3.1vw,46px);margin-bottom:9px}.contact-band p{font-size:15px;color:#44516a}.contact-band .button{min-width:220px;flex:none}
.framework .product-section{padding-top:55px}.framework .product-section .section-heading h2{font-family:var(--display-face);font-size:39px;text-transform:uppercase;letter-spacing:0}.framework .site-footer .brand img{width:210px}
@media(hover:hover) and (pointer:fine){.framework .application-card:hover{background:white;border-color:#b7c4d6;box-shadow:0 6px 18px #08124010}.application-card:hover .application-photo{transform:scale(1.025)}.service-rail a:hover strong{color:#ffb344}}

.framework :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #2464c7;outline-offset:4px}.home-stage :is(a,button):focus-visible,.service-rail a:focus-visible,.site-footer a:focus-visible,.framework #site-nav a:focus-visible{outline-color:#ffb344}
@media(max-width:1100px){.framework .home-hero{grid-template-columns:minmax(0,1fr) 330px;gap:45px;min-height:570px;padding-block:46px}.framework .hero-copy h1{font-size:64px}.framework .hero-copy>p:not(.eyebrow){font-size:16px}.framework .hero-actions .button{min-width:165px;padding-inline:16px;font-size:12px}.framework .header-inner{min-height:84px}.framework #site-nav{gap:34px}.framework #site-nav a{font-size:12px}.framework .site-header .brand img{width:210px}.application-photo{height:200px}.service-rail a{gap:14px;padding-inline:14px}.service-rail strong{font-size:13px}.service-rail small{font-size:11px}.service-rail svg{width:35px;height:35px}}
@media(min-width:701px){.framework #menu-toggle{display:none}}
@media(max-width:700px){.framework .header-inner{gap:12px;min-height:78px}.framework .site-header .brand{padding:0}.framework .site-header .brand img{width:145px}.framework .header-tools{gap:8px;margin-left:0}.header-contact{display:none}.framework .header-quote{font-size:10px;min-height:44px;padding:10px 12px}.framework #menu-toggle{display:grid;width:44px;height:44px}.framework #site-nav{display:none;position:absolute;top:100%;left:0;right:0;justify-content:flex-start;align-items:stretch;padding:14px 20px;gap:0;box-shadow:0 12px 24px #08124026}.framework #site-nav.is-open{display:flex;flex-direction:column}.framework #site-nav a{font-size:15px;min-height:48px;padding:12px 0}.framework .home-hero{grid-template-columns:minmax(0,1fr);gap:28px;min-height:0;padding-block:38px}.hero-scene{object-position:64% top;opacity:.72}.home-stage:after{background:linear-gradient(90deg,#031027ed,#03102799),linear-gradient(0deg,#081240 10%,transparent 80%)}.framework .hero-copy h1{font-size:clamp(44px,10.5vw,68px);max-width:12ch;margin-bottom:17px}.framework .hero-copy .eyebrow{font-size:11px;margin-bottom:13px}.framework .hero-copy>p:not(.eyebrow){font-size:15px;max-width:38ch}.framework .hero-actions{gap:10px;margin-top:22px}.framework .hero-actions .button{min-width:0;padding:13px 15px;font-size:11px;min-height:48px;flex:1;white-space:nowrap}.battery-finder{width:100%;max-width:none}.battery-finder h2{font-size:22px;padding:18px 20px}.battery-finder form{padding-inline:20px}.battery-finder form .field{margin-block:14px}.battery-finder .finder-help{padding:15px 18px 20px}.service-rail-inner{grid-template-columns:minmax(0,1fr);padding-block:10px}.service-rail a{justify-content:flex-start;padding:16px 0;gap:20px}.service-rail a+a{border-left:0;border-top:1px solid #ffffff26}.service-rail svg{width:34px;height:34px}.service-rail strong{font-size:14px}.service-rail small{font-size:12px}.framework .application-section{padding-block:38px}.framework .application-section h2{font-size:36px}.framework .application-section .section-heading p:not(.eyebrow){font-size:14px}.framework .primary-applications{grid-template-columns:minmax(0,1fr);gap:20px}.framework .application-card{display:flex;padding:0;gap:0;border:1px solid #dce2eb}.framework .application-card+.application-card{border:1px solid #dce2eb}.application-photo{height:220px}.application-card-body{padding:20px;gap:15px}.framework .application-card-title{font-size:26px}.contact-band{padding-block:32px}.contact-band-inner{flex-direction:column;align-items:flex-start;gap:22px}.contact-band h2{font-size:34px}.contact-band p{font-size:14px}.contact-band .button{min-width:190px}.framework .product-section{padding-top:38px}.framework .product-section .section-heading h2{font-size:31px}}
@media(max-width:700px){.hero-scene{left:0;mask-image:none}.quote-full{display:none}.quote-short{display:inline;font-size:12px}}
/* Keep the supplied dark-background identity on one continuous header, without a badge. */
.framework .site-header .brand:focus-visible,.framework .header-contact:focus-visible,.framework .site-header .icon-button:focus-visible{outline-color:#ffb344}
@media(max-width:380px){.framework .site-header .brand img{width:120px}.framework .site-header .brand{padding:0}.framework .header-inner{gap:6px}.framework .header-tools{gap:4px}.framework .header-quote{padding-inline:9px;font-size:10px}.framework .header-quote:after{content:none}.framework .hero-actions{flex-direction:column;align-items:stretch}.framework .hero-actions .button{flex:none;width:100%;font-size:12px}.framework .hero-copy h1{font-size:45px}.application-photo{height:195px}}
@media(prefers-reduced-motion:reduce){.framework *, .framework *:before,.framework *:after{transition:none!important;animation:none!important}.framework :is(.button,.header-quote,.icon-button):active{transform:none!important}.application-card:hover .application-photo{transform:none}html{scroll-behavior:auto}}

/* Brand header colours shared by desktop and compact navigation. */
.framework .site-header{background:#081240;color:#f5f7fc}
.framework .site-header .header-inner{min-height:96px;gap:24px;width:100%;max-width:1600px;padding-inline:clamp(20px,5vw,80px);box-sizing:border-box}
.framework .site-header .brand{display:flex;align-items:center;align-self:stretch;flex:none;background:#081240;padding:16px 24px 16px clamp(20px,5vw,80px);margin-left:calc(-1 * clamp(20px,5vw,80px));margin-right:0}
.framework .site-header .brand img{width:225px;height:auto}
.header-brand-note{border-left:1px solid #cbd3de;padding-left:22px;line-height:1.55;flex:none;font-size:12px}
.header-brand-note span,.header-brand-note strong{display:block}.header-brand-note strong{font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.framework .site-header .header-tools{margin-left:auto;gap:24px;align-items:center}
.header-phone{display:flex;align-items:center;gap:12px;min-height:48px;color:#f5f7fc;text-decoration:none;white-space:nowrap}
.header-phone svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.framework .site-header .header-contact{color:#f5f7fc;text-decoration:none;border-left:1px solid #cbd3de;padding-left:24px;min-height:48px}
.header-phone small,.framework .site-header .header-contact small{display:block;font-size:12px;font-weight:500;color:#b9c4dc;line-height:1.5}
.header-phone strong,.framework .site-header .header-contact strong{display:block;font-size:14px;font-weight:800;line-height:1.5}
.framework .site-header .header-quote{min-height:48px;padding:13px 22px;font-size:12px;white-space:nowrap}
.framework #site-nav{display:block;min-height:56px;padding:0;background:#081240;border:0}
.framework .header-nav-inner{display:flex;align-items:center;justify-content:flex-start;gap:38px;min-height:56px}
.framework #site-nav a{display:flex;align-items:center;min-height:56px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.015em;padding:14px 0;text-decoration:none}
@media(hover:hover) and (pointer:fine){.framework #site-nav a:hover{color:#ffb344}.header-phone:hover strong,.framework .site-header .header-contact:hover strong{color:#ffb344;text-decoration:underline;text-underline-offset:4px}}
.framework .site-header .icon-button{color:#f5f7fc}
@media(max-width:1100px){.header-brand-note{display:none}.framework .site-header .header-inner{gap:20px;min-height:88px}.framework .site-header .brand img{width:200px}.framework .site-header .header-tools{gap:20px}.framework .header-nav-inner{gap:28px}.framework #site-nav a{font-size:13px}.framework .site-header .header-contact{padding-left:20px}}
@media(max-width:900px){.framework .site-header .header-contact{display:none}.framework .site-header .header-inner{gap:16px}.framework .header-nav-inner{gap:22px}.framework #site-nav a{font-size:12px}}
@media(max-width:700px){.framework .site-header .header-inner{min-height:76px;gap:12px}.framework .site-header .brand{padding-right:14px;padding-block:12px}.framework .site-header .brand img{width:140px}.header-phone{display:none}.framework .site-header .header-tools{gap:8px}.framework .site-header .header-quote{min-height:44px;padding:10px 10px}.framework .site-header .quote-short{font-size:11px;text-transform:none}.framework #site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 0;box-shadow:0 12px 24px #08124026}.framework #site-nav.is-open{display:block}.framework .header-nav-inner{flex-direction:column;align-items:stretch;gap:0;min-height:0}.framework #site-nav a{font-size:14px;min-height:48px;padding:12px 0}.framework .site-header #menu-toggle{color:#f5f7fc}}
@media(max-width:380px){.framework .site-header .brand img{width:116px}.framework .site-header .header-inner{gap:6px}.framework .site-header .header-tools{gap:4px}.framework .site-header .brand{padding-right:10px}.framework .site-header .header-quote{padding-inline:8px}}

.framework .site-header :is(.header-phone,.header-contact,.header-quote,.icon-button):focus-visible{outline:3px solid #ffb344;outline-offset:4px}

/* Founder-requested compact, single-row desktop header. */
@media(min-width:1101px){
.framework .site-header .header-inner{min-height:88px;gap:24px}
.framework .site-header .brand img{width:200px}
.framework .site-header .brand{padding-right:22px}
.framework .site-header #site-nav{flex:1;min-width:0;min-height:88px;background:transparent;color:#f5f7fc}
.framework .site-header .header-nav-inner{width:100%;max-width:none;min-height:88px;gap:clamp(16px,1.8vw,28px);justify-content:center}
.framework .site-header #site-nav a{min-height:44px;font-size:12px;white-space:nowrap;letter-spacing:0}
.framework .site-header #site-nav a:focus-visible{outline-color:#ffb344}
.framework .site-header .header-tools{margin-left:0;gap:18px}
.framework .site-header .header-phone{display:none}
}
@media(min-width:1700px){.framework .site-header .header-phone{display:flex}.framework .site-header #site-nav a{font-size:13px}}



@media(min-width:701px) and (max-width:1100px){
.framework .site-header .header-inner{min-height:76px;gap:12px}
.framework .site-header .brand{padding-right:18px;padding-block:12px}
.framework .site-header .brand img{width:180px}
.framework .site-header .header-tools{margin-left:auto;gap:12px}
.framework .site-header .header-phone{display:none}
.framework .site-header #menu-toggle{display:grid;width:44px;height:44px;color:#f5f7fc}
.framework .site-header #site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 0;background:#081240;color:white;box-shadow:0 12px 24px #08124026}
.framework .site-header #site-nav.is-open{display:block}
.framework .site-header .header-nav-inner{flex-direction:column;align-items:stretch;gap:0;min-height:0}
.framework .site-header #site-nav a{font-size:14px;min-height:48px;padding:12px 0}
}

@media(min-width:1101px){.framework .site-header #site-nav a{color:#f5f7fc}.framework .site-header #site-nav a:hover{color:#ffb344}}
@media(min-width:1280px){.framework .site-header #site-nav a{font-size:14px}}

/* Unified brand header; preserve the original logo and existing layout. */
.framework .site-header #site-nav a{color:#f5f7fc}

@media(hover:hover) and (pointer:fine){.framework .site-header #site-nav a:hover{color:#ffb344}}

.framework .site-header .header-quote:focus-visible{outline:3px solid #f5f7fc;outline-offset:4px}
.framework .site-header #site-nav a:focus-visible{outline:3px solid #ffb344;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.framework .site-header .header-quote{transition:none}}

/* Shared catalogue, quote and contact refinements. Header geometry stays fixed. */
.framework .page-heading{padding-block:clamp(32px,4vw,56px) 32px}
.framework .page-heading h1{font-size:clamp(34px,4vw,54px);line-height:1.12;max-width:23ch;text-wrap:balance}
.framework .page-heading>p{max-width:70ch;font-size:16px;line-height:1.75}





.framework :is(input,select,textarea):disabled{background:#edf0f4;color:#617087;cursor:not-allowed}
.framework :is(input,select,textarea)[aria-invalid="true"]{border:2px solid #a12d32;background:#fffafa}
.framework .field-error{color:#92262c;font-size:13px;line-height:1.5;margin-top:7px}
.framework .form-errors{border:1px solid #e5b7bb;border-left:4px solid #a12d32;border-radius:4px;background:#fff4f4;color:#81272c;padding:14px 16px}
.framework .form-layout{gap:clamp(24px,4vw,56px);align-items:start}
.framework .request-fields{background:#f5f7fa;border:1px solid #dce2eb;border-radius:6px;padding:clamp(20px,3vw,32px)}
.framework .form-grid{gap:22px 24px}.framework .form-grid :is(input,select,textarea){width:100%;font-size:16px}
.framework .required-note{font-size:12px;color:#54627b;margin:0 0 20px}
.framework .context-summary{white-space:pre-line;background:#eaf0f7;border-left:3px solid #081240;border-radius:4px;padding:16px;font-size:14px;margin-bottom:24px}
.framework .form-hint{font-size:13px;line-height:1.7;max-width:65ch}
.framework .optional-fields{background:#fff;border:1px solid #dce2eb;border-radius:4px;margin-block:22px}
.framework .optional-fields summary{font-size:14px;padding:16px 48px 16px 18px;min-height:48px}
.framework .optional-fields .form-grid{padding:18px}
.framework .request-review{border:1px solid #dce2eb;border-top:4px solid #081240;border-radius:6px;padding:clamp(20px,3vw,32px);background:#fff}
.framework .request-review .spec-table{background:#f5f7fa;border-radius:4px}.framework .review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.framework .product-card-copy>p:not(.product-maker){font-size:14px;line-height:1.6}
.framework .card-facts dt{font-size:12px;line-height:1.5}.framework .card-facts dd{font-size:13px;line-height:1.5}
.framework .product-card .text-link{font-size:14px;min-height:44px}
.framework .product-card h2,.framework .product-card h3{font-size:21px;line-height:1.35}
.framework .product-head h1{font-size:clamp(30px,3.4vw,48px);line-height:1.15;text-wrap:balance}
.framework .product-summary{font-size:16px;line-height:1.6;color:#54627b}
.framework .product-photo{border:1px solid #dce2eb;border-radius:6px;background:#f5f7fa;padding:20px}
.framework .product-photo img{object-fit:contain;max-height:440px}
.framework .product-actions{border-top:1px solid #dce2eb;padding-top:22px}
.framework .selection-hint{font-size:13px;line-height:1.7;color:#54627b;max-width:65ch}
.framework .quantity-control{overflow:visible;background:#fff;border:1px solid #bdc7d5;border-radius:12px}
.framework .quantity-control button{min-width:44px;min-height:48px;color:#081240;border:0;background:#f5f7fa;border-radius:0}.framework .quantity-control button:first-child{border-radius:11px 0 0 11px}.framework .quantity-control button:last-child{border-radius:0 11px 11px 0}
.framework .quantity-control input{border:0;border-radius:0;box-shadow:none;font-size:16px;width:66px;text-align:center}
.framework .product-jumps{display:flex;flex-wrap:wrap;gap:12px 28px;border-block:1px solid #dce2eb;padding-block:16px}
.framework .selection-item{border:1px solid #dce2eb;border-radius:6px;padding:22px;margin-block:16px;gap:24px;background:#fff}
.framework .selection-item h2{font-size:21px;line-height:1.35}.framework .selection-item p{font-size:14px;line-height:1.6}
.framework .selection-item img{object-fit:contain;background:#f5f7fa;border-radius:4px}
.framework .comparison-scroll{border:1px solid #dce2eb;border-radius:6px;scrollbar-color:#9caac0 #f5f7fa}
.framework .comparison-table th{background:#f5f7fa}.framework .comparison-table :is(th,td){padding:16px;line-height:1.6;font-size:14px}
@media(hover:hover) and (pointer:fine){
.framework .quantity-control button:not(:disabled):hover{background:#e4eaf2}
.framework .product-card{transition:box-shadow 160ms ease}.framework .product-card:hover{box-shadow:0 6px 20px #0812400e}
}
@media(max-width:700px){
.framework .catalog-tools.golf-tools{padding:20px;gap:18px}
.framework .framework-products .product-card,.framework .catalog-section .framework-products .product-card{display:flex;grid-template-columns:none;flex-direction:column}
.framework .framework-products .product-image-link{height:auto;min-height:0;padding:16px}
.framework .framework-products .product-card .product-image-link img,.framework .catalog-section .framework-products .product-card .product-image-link img{height:220px;transform:none;object-fit:contain}
.framework .framework-products .product-card-copy{padding:20px}
.framework .framework-products .product-card h2,.framework .framework-products .product-card h3{font-size:21px}
.framework .framework-products .product-card-copy>p:not(.product-maker){font-size:14px}
.framework .framework-products .card-facts>div{display:flex;gap:16px;align-items:start}
.framework .framework-products .card-facts dt{font-size:12px}.framework .framework-products .card-facts dd{font-size:13px;text-align:right;margin:0;max-width:60%}
.framework .framework-products .product-card-copy>.text-link{font-size:14px;padding-top:12px;min-height:44px}
.framework .form-layout{padding-block:24px 36px}.framework .form-grid{grid-template-columns:minmax(0,1fr)}
.framework .review-actions>.button{width:100%}.framework .review-actions .text-button{width:100%}
.framework .selection-item{padding:16px;gap:14px}.framework .selection-item h2{font-size:18px}
.framework .purchase-actions{gap:14px}.framework .purchase-actions>.button{width:100%;justify-content:center}
.framework .spec-table>div{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}.framework .spec-table dd{overflow-wrap:anywhere}
}

.framework .quantity-control button:disabled{background:#e5e8ef;color:#65718a;cursor:not-allowed}
@media(max-width:700px){.framework .purchase-actions{flex-wrap:wrap}.framework .purchase-actions>.button{flex-basis:100%}.framework .spec-grid dt{font-size:12px}.framework .spec-table>div{font-size:14px}}

/* A single form surface avoids nested borders and duplicated padding. */
.framework .refined-form>.form-intro+div{background:transparent;border:0;padding:0;border-radius:0}
.framework .quote-assurance{margin:20px 0;font-size:14px;line-height:1.8}
.framework .product-hero>.spec-grid{border-bottom:0}

/* Homepage refinement: catalogue first, deliberate action hierarchy. */
.framework .hero-copy h1{max-width:13ch;font-size:clamp(54px,6vw,86px)}
.framework .hero-actions{align-items:center;gap:20px}
.framework .hero-catalogue-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-size:14px;font-weight:600;color:#f5f7fc;text-decoration:none}
.framework .hero-catalogue-link:focus-visible{outline:3px solid #ffb344;outline-offset:5px}
.framework .product-section .section-heading h2,.framework .application-section h2{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.03em;text-transform:none;font-size:clamp(30px,3.2vw,44px);line-height:1.2;max-width:24ch;text-wrap:balance}
.framework .product-section{padding-block:52px}
.framework .product-section .section-heading{align-items:center;gap:20px}
.framework .homepage-buying-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
.framework .battery-finder .finder-help{font-size:13px;padding-block:16px 20px}
.framework .battery-finder form .field[hidden]{display:none}
@media(hover:hover) and (pointer:fine){}
@media(max-width:700px){
.framework .hero-copy h1{font-size:clamp(44px,11vw,64px);max-width:13ch}
.framework .hero-actions{gap:10px 18px;flex-direction:row;flex-wrap:wrap}
.framework .hero-actions .hero-outline{flex:0 1 auto;width:auto;min-width:0;padding-inline:16px}

.framework .product-section{padding-block:36px}
.framework .product-section .section-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:22px}
.framework .product-section .section-heading h2,.framework .application-section h2{font-size:30px}
.framework .application-section .primary-applications{gap:12px}
.framework .application-section .application-card{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:stretch;min-height:112px}
.framework .application-section .application-photo{width:104px;height:100%;min-height:112px;object-fit:cover}
.framework .application-section .application-card-body{padding:16px;gap:12px;min-width:0}
.framework .application-section .application-card-title{font-family:Manrope,sans-serif;font-size:17px;font-weight:800;line-height:1.3;text-transform:none;letter-spacing:-.01em}

.framework .homepage-buying-paths{grid-template-columns:minmax(0,1fr)}
}

/* Action system: pill silhouette, three roles, no decorative movement. */
:root{--button-radius:999px;--button-border:#c7d0df;--button-surface:#f5f7fc;--button-ink:#081240;--button-primary:#ffb344}
.framework :is(.button,.action-pill,.text-button,.header-quote,.icon-button){border-radius:var(--button-radius);box-shadow:none;transform:none;transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease;text-decoration:none}
.framework :is(.button,.action-pill){display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:48px;padding:13px 22px;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;border:1px solid var(--button-border);background:var(--button-surface);color:var(--button-ink);white-space:normal}
.framework .button{background:var(--button-primary);border-color:var(--button-primary)}
.framework .purchase-actions>.button,.framework .hero-actions>.button,.framework .hero-actions>.text-link.action-pill{font-size:14px;font-weight:600;line-height:1.5;min-height:48px;gap:8px;border-radius:var(--button-radius)}
.framework .button.secondary-button{background:var(--button-surface);border-color:var(--button-border);color:var(--button-ink)}
.framework :is(.button,.action-pill) svg,.framework .action-pill:hover svg{width:16px;height:16px;flex:none;transform:none;transition:none}
.framework .application-card .application-cta{align-self:flex-start;justify-content:center;width:auto;font-size:14px;font-weight:600;text-decoration:none}
.framework .application-cta-label{text-decoration:none}
.framework .application-card:focus-visible{outline:3px solid #2464c7;outline-offset:4px}
.framework .product-card .product-card-copy>.text-link.action-pill{justify-content:center;width:100%;min-height:48px;padding:13px 18px;font-size:14px;font-weight:600;border:1px solid var(--button-border);background:var(--button-surface);color:var(--button-ink);margin-top:auto}
.framework :is(.hero-catalogue-link,.hero-outline,.golf-fit-help .action-pill){background:transparent;border-color:#f5f7fc;color:#f5f7fc;box-shadow:none}
.framework :is(.buying-paths,.advice-grid,.selection-advice,.divided-support,.help-grid,.empty-results) .action-pill{font-size:14px;font-weight:600}
.framework .golf-fit-help .action-pill{color:#f5f7fc;font-size:14px}
.framework .site-header .header-quote{border-radius:var(--button-radius);background:var(--button-primary);border-color:var(--button-primary);box-shadow:none;transform:none}
.framework .text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:9px 14px;border:1px solid transparent;background:var(--button-surface);color:#40506c;font-size:14px;font-weight:600;line-height:1.5;white-space:normal;text-decoration:none}
.framework .catalog-tools .text-button{font-size:14px;min-height:44px;padding:9px 14px}
.framework .site-header .icon-button{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff38;background:transparent;color:#f5f7fc}
.framework :is(.button,.action-pill,.text-button,.header-quote,.icon-button):focus-visible{outline:3px solid #2464c7;outline-offset:4px}
.framework :is(.site-header,.home-stage,.golf-fit-help) :is(.button,.action-pill,.text-button,.header-quote,.icon-button):focus-visible{outline-color:#f5f7fc}
@media(hover:hover) and (pointer:fine){
.framework .button:not(:disabled):not([aria-disabled="true"]):not(.secondary-button):not(.hero-outline):hover,.framework .site-header .header-quote:not([aria-disabled="true"]):hover{background:#ffc46b;border-color:#ffc46b}
.framework .action-pill:not([aria-disabled="true"]):hover,.framework .button.secondary-button:not(:disabled):not([aria-disabled="true"]):hover,.framework .text-button:not(:disabled):not([aria-disabled="true"]):hover{background:#eaf0f8;border-color:#aab9ce;color:#081240}
.framework .application-card:hover .application-cta,.framework .product-card .product-card-copy>.text-link.action-pill:hover{background:#eaf0f8;border-color:#aab9ce;color:#081240}
.framework :is(.hero-catalogue-link,.hero-outline,.golf-fit-help .action-pill):not(:disabled):not([aria-disabled="true"]):hover{background:#ffffff18;border-color:#f5f7fc;color:#f5f7fc}
.framework .site-header .icon-button:not(:disabled):not([aria-disabled="true"]):hover{background:#ffffff18;border-color:#ffffff75}
}
.framework .button:not(:disabled):not([aria-disabled="true"]):not(.secondary-button):not(.hero-outline):active,.framework .site-header .header-quote:not([aria-disabled="true"]):active{background:#e9a031;border-color:#e9a031;transform:none}
.framework .action-pill:not([aria-disabled="true"]):active,.framework .button.secondary-button:not(:disabled):not([aria-disabled="true"]):active,.framework .text-button:not(:disabled):not([aria-disabled="true"]):active,.framework .application-card:active .application-cta,.framework .product-card .product-card-copy>.text-link.action-pill:active{background:#dfe7f2;border-color:#9aabc4;color:#081240;transform:none}
.framework :is(.hero-catalogue-link,.hero-outline,.golf-fit-help .action-pill):not(:disabled):not([aria-disabled="true"]):active{background:#ffffff2b;border-color:#f5f7fc;color:#f5f7fc;transform:none}
.framework .site-header .icon-button:not(:disabled):not([aria-disabled="true"]):active{background:#ffffff2b;transform:none}
.framework .quantity-control button:not(:disabled):active{background:#dfe7f2}
.framework :is(.button,.action-pill,.text-button,.header-quote,.icon-button):is(:disabled,[aria-disabled="true"]){background:#e5e8ef;border-color:#c7d0df;color:#65718a;cursor:not-allowed;opacity:1;box-shadow:none;transform:none;transition:none}
.framework .quantity-control button:disabled{background:#e5e8ef;color:#65718a;cursor:not-allowed;transform:none;transition:none}
@media(max-width:700px){
.framework .home-hero .hero-actions .button{font-size:14px;white-space:normal}
.framework .application-card .application-cta{padding-inline:12px;gap:0}
.framework .application-card .application-chevron{display:none}
.framework .hero-catalogue-link{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.framework :is(.button,.action-pill,.text-button,.header-quote,.icon-button,.quantity-control button){transition:none;transform:none}}

/* User-confirmed store contact; email slot stays hidden until a real address is supplied. */
.header-contact-actions{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}
.framework .header-store-phone{display:none;align-items:center;justify-content:center;gap:7px;color:#f5f7fc;font-size:13px;font-weight:750;line-height:1.4;min-height:24px;text-decoration:none;font-variant-numeric:tabular-nums}
.framework .header-store-phone svg{width:15px;height:15px;stroke-width:1.7}
.framework .site-header .header-email-slot[hidden]{display:none}
.framework .site-header #site-nav .nav-store-phone{display:none}
@media(min-width:1101px){.framework .header-store-phone{display:flex}.framework .site-header .header-contact-actions .header-quote{min-height:44px;padding-block:11px}}
@media(max-width:1100px){.framework .site-header #site-nav .nav-store-phone{display:flex;border-top:1px solid #ffffff26;margin-top:8px;padding-top:16px}}
@media(hover:hover) and (pointer:fine){.framework .header-store-phone:hover{color:#ffb344;text-decoration:underline;text-underline-offset:4px}}
.framework .header-store-phone:focus-visible{outline:3px solid #ffb344;outline-offset:3px}

/* Structure review: compact action groups and a single reading column for quotes. */
.framework .catalogue-heading-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0}
.framework .catalogue-heading-actions .text-link{min-height:44px}
.framework .refined-form.quote-form{grid-template-columns:minmax(0,1fr);max-width:980px;gap:0;padding-top:0}
.framework .quote-form .form-intro{border:0;padding:20px 0}
.framework .quote-form .form-intro h2{font-size:24px;margin-bottom:12px}
.framework .quote-form .quote-assurance{display:flex;flex-wrap:wrap;gap:8px 28px;margin-block:0 10px}
.framework .quote-form .form-intro .form-hint{margin-bottom:0}
@media(min-width:901px){.framework .framework-products .product-card-copy :is(h2,h3){min-height:2.6em}.framework .framework-products .product-card-copy>p:not(.product-maker){min-height:3em}}
@media(max-width:900px){.framework .catalogue-heading-actions{margin-top:12px;gap:2px}.framework .quote-form .form-intro{padding-block:16px}.framework .quote-form .form-intro h2{font-size:22px}}

@media(min-width:701px){.framework .application-section .application-card-title{font-family:Manrope,sans-serif;font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.02em;text-transform:none}}

/* Local catalogue refinement: preserve the approved navy, amber and pill system. */
.home-contact{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;padding-block:56px;border-top:1px solid #d9dce5}
.home-contact h2{margin:0 0 12px}.home-contact p{max-width:52ch}.home-contact .direct-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}.home-contact a{color:#081240;text-underline-offset:5px}
.catalog-qualification{max-width:75ch;font-size:14px;line-height:1.65;margin:12px 0 28px;color:#384252}
.context-edit{display:inline-block;margin-top:12px;min-height:44px;align-content:center;color:#081240;text-underline-offset:4px}
::selection{background:#FFB344;color:#081240}input,textarea{caret-color:#081240}.card-facts dd,.spec-table dd{font-variant-numeric:tabular-nums}
.breadcrumb a,.breadcrumb span{overflow-wrap:anywhere}.breadcrumb{flex-wrap:wrap}.home-contact a{min-height:44px;align-content:center}
@media(max-width:767px){.home-contact{grid-template-columns:1fr;padding-block:36px;gap:16px}.catalog-qualification{font-size:13px}}

/* Catalogue disclosures keep selection guidance available without delaying mobile products. */
.framework .catalogue-preparation{margin-bottom:24px}
.framework .catalogue-preparation>.selection-checklist{padding-inline:0;margin-bottom:0}
.framework .catalog-filter-panel{grid-column:1;grid-row:1/4;min-width:0}
.framework .catalogue-preparation>summary,.framework .catalog-filter-panel>summary{cursor:pointer;min-height:48px;padding:12px 16px;font-weight:650;font-size:15px;line-height:1.5;color:var(--navy);border-radius:12px;background:#f5f7fc}
.framework .catalog-filter-panel>summary span{font-size:13px;font-weight:500;margin-left:8px;color:var(--body)}
.framework .catalogue-preparation>summary:focus-visible,.framework .catalog-filter-panel>summary:focus-visible{outline:3px solid #347bd0;outline-offset:3px}
.framework .compact-filter-clear{display:none}
@media(min-width:901px){
 .framework [data-catalog-disclosure][data-responsive-ready]>summary{display:none}
}
@media(max-width:900px){
 .framework .catalogue-preparation{margin-bottom:16px}
 .framework .catalogue-preparation>.selection-checklist{padding-block:16px}
 .framework .catalog-filter-panel{margin-bottom:12px}
 .framework .catalog-filter-panel .catalog-tools{margin-top:10px}
 .framework .compact-filter-clear:not([hidden]){display:inline-flex;margin-bottom:8px}
 .framework .golf-heading{padding-bottom:24px}
}

/* Appointment-based remote installation support; existing brand and pill controls. */
.framework .video-installation-support,.framework .product-video-support{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:32px;padding-block:44px;border-top:1px solid #d9dce5}
.framework .video-installation-support h2,.framework .product-video-support h2{margin:0 0 12px;line-height:1.25;letter-spacing:-.02em;font-size:clamp(24px,2.4vw,34px);overflow-wrap:break-word}
.framework .video-support-copy p,.framework .product-video-support>div>p{max-width:60ch;margin:0;line-height:1.65}
.framework .video-support-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.framework .video-support-actions .button{white-space:normal;text-align:center;max-width:100%;min-height:48px}
.framework .video-support-actions .form-hint,.framework .product-video-support .form-hint{margin:12px 0 0;max-width:42ch}
.framework .product-video-support{padding-block:28px}
.framework .product-video-support h2{font-size:24px}
.framework .video-support-note p{margin:0;line-height:1.65;font-size:14px}
@media(max-width:767px){.framework .video-installation-support,.framework .product-video-support{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:28px}.framework .video-installation-support h2,.framework .product-video-support h2{font-size:24px}.framework .video-support-copy p,.framework .product-video-support>div>p{font-size:14px}.framework .video-support-actions .form-hint{margin-top:0}}
