:root{--ocean:#006994;--ocean2:#0085b8;--sky:#eaf7fd;--deep:#003a52;--ink:#062b39;--mid:#466b78;--coral:#ff6b35;--green:#159269;--line:rgba(0,105,148,.16);--shadow:0 16px 46px rgba(0,58,82,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);background:#f7fbfd}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-brand img{height:54px;width:auto;display:block}.nav-links{display:flex;gap:2px;list-style:none;align-items:center;margin:0;padding:0}.nav-links a{font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mid);padding:8px 10px;border-radius:7px}.nav-links a:hover,.nav-links a.active{color:var(--ocean);background:var(--sky)}.nav-cta{background:var(--coral);color:#fff;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:11px 17px;border-radius:7px}.hamburger{display:none;border:0;background:transparent;padding:8px}.hamburger span{display:block;width:24px;height:2px;background:var(--deep);margin:5px}.mobile-menu{display:none}
.studio-hero{padding:132px 28px 70px;background:linear-gradient(135deg,#e9f8ff 0%,#fff 50%,#e8f6ff 100%);border-bottom:1px solid var(--line)}.hero-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}.eyebrow,.section-kicker{display:block;color:var(--ocean);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}.studio-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(4.2rem,8vw,7.5rem);line-height:.85;letter-spacing:.01em;margin:0;color:var(--deep)}.studio-hero h1 span{color:var(--ocean)}.hero-copy{font-size:1.05rem;line-height:1.75;color:var(--mid);max-width:610px;margin:25px 0}.hero-mini{display:flex;flex-wrap:wrap;gap:16px;font-size:.78rem;font-weight:700;color:var(--deep)}.hero-mini span{display:flex;align-items:center;gap:7px}.hero-mini i{width:8px;height:8px;border-radius:50%;background:var(--green)}.hero-visual{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:#d9edf6}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-visual-note{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(0,42,60,.87);color:#fff;padding:14px 16px;border-radius:12px;display:flex;justify-content:space-between;gap:15px;font-size:.72rem;font-weight:700}
.studio-wrap{max-width:1240px;margin:auto;padding:50px 24px 100px}.progress{display:flex;align-items:center;max-width:660px;margin:0 auto 38px}.progress-step{display:flex;align-items:center;gap:9px;color:#78909a;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.progress-step b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e7eff2;color:#78909a}.progress-step.active{color:var(--ocean)}.progress-step.active b,.progress-step.done b{background:var(--ocean);color:#fff}.progress-step.done{color:var(--deep)}.progress-line{height:2px;flex:1;background:#dce8ec;margin:0 12px}.builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:26px;align-items:start}.panel,.summary{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px rgba(0,58,82,.06)}.panel{padding:28px;margin-bottom:24px}.panel-head h2,.summary h2{margin:0;font-size:1.55rem}.panel-head p{margin:8px 0 0;color:var(--mid);line-height:1.6;font-size:.91rem}.search-wrap{position:relative;margin-top:22px}.search-wrap input{width:100%;height:58px;padding:0 50px;border:1px solid #b9d6e1;border-radius:12px;background:#fbfdfe;font-size:.98rem;outline:none}.search-wrap input:focus{border-color:var(--ocean);box-shadow:0 0 0 4px rgba(0,105,148,.09)}.search-icon{position:absolute;left:17px;top:16px;font-size:1.45rem;color:var(--ocean)}.clear-search{display:none;position:absolute;right:14px;top:14px;border:0;background:#e7f1f5;width:30px;height:30px;border-radius:50%;font-size:1.2rem;color:var(--mid)}.model-results{display:none;position:absolute;top:66px;left:0;right:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.model-results.open{display:block}.model-option{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;border-bottom:1px solid #edf3f5;background:#fff;padding:14px 16px;color:var(--ink)}.model-option:hover{background:var(--sky)}.model-option:last-child{border-bottom:0}.model-option small{color:var(--mid)}.compatibility{display:none;margin-top:18px;padding:17px;border-radius:12px;align-items:flex-start;gap:13px}.compatibility.show{display:flex}.compatibility.good{background:#ecf9f4;border:1px solid #b5e5d2}.compatibility.check{background:#fff8e8;border:1px solid #f0d69c}.compat-dot{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.compatibility.check .compat-dot{background:#d79a18}.compatibility strong{display:block}.compatibility span{display:block;margin-top:4px;color:var(--mid);font-size:.86rem;line-height:1.55}.interest-link{margin-left:auto;align-self:center;border:0;border-radius:8px;background:var(--ocean);color:#fff;padding:10px 13px;font-weight:800;font-size:.75rem;white-space:nowrap}
.build-panel{opacity:.55;pointer-events:none;transition:.25s}.build-panel.ready{opacity:1;pointer-events:auto}.build-card{position:relative;display:grid;grid-template-columns:1fr 190px;gap:24px;border:1px solid #d8e7ed;border-radius:15px;padding:24px;margin-top:18px;background:#fff;transition:.2s}.build-card:hover{border-color:#a8cfde}.build-card.selected{border-color:var(--ocean);box-shadow:0 0 0 2px rgba(0,105,148,.08)}.build-card.locked{opacity:.58;pointer-events:none}.lock-note{display:none;position:absolute;top:13px;right:13px;background:#eef4f6;color:var(--mid);font-size:.67rem;font-weight:800;text-transform:uppercase;padding:7px 9px;border-radius:7px}.build-card.locked .lock-note{display:block}.card-label{font-size:.67rem;color:var(--ocean);font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.build-card h3{font-size:1.28rem;margin:0}.lead{color:var(--mid);font-size:.9rem;line-height:1.6;margin:9px 0 14px}.benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:0;margin:0;list-style:none}.benefits li{font-size:.78rem;font-weight:700}.benefits li:before{content:'✓';color:var(--green);margin-right:7px}.card-action-area{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:12px;text-align:center;border-left:1px solid #e3edf1;padding-left:22px}.card-action-area strong{font-size:.9rem}.primary-action,.secondary-action,.checkout-btn{border:0;border-radius:9px;font-weight:800;padding:13px 16px}.primary-action{background:var(--ocean);color:#fff}.primary-action:hover{background:var(--ocean2)}.primary-action.remove{background:#e9f5f9;color:var(--ocean)}.primary-action:disabled{cursor:not-allowed;background:#9fb4bc}.secondary-action{background:#edf4f6;color:var(--mid)}.secondary-action:disabled{opacity:.45;cursor:not-allowed}.config-box{display:none;margin-top:18px;padding:17px;border-radius:12px;background:#f6fbfd;border:1px solid #d5eaf2}.build-card.configuring .config-box,.build-card.selected .config-box{display:block}.config-box h4{margin:0 0 5px}.config-box>p{margin:0 0 13px;color:var(--mid);font-size:.8rem;line-height:1.5}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;gap:10px;border:1px solid #c9dde5;border-radius:10px;padding:12px;background:#fff;cursor:pointer}.choice:has(input:checked){border-color:var(--ocean);box-shadow:0 0 0 2px rgba(0,105,148,.1)}.choice input{margin-top:3px;accent-color:var(--ocean)}.choice b,.choice small{display:block}.choice small{margin-top:4px;color:var(--mid);font-size:.7rem;line-height:1.45}.upgrade-check{display:flex;align-items:center;gap:10px;margin-top:12px;border-top:1px solid #dbe9ee;padding-top:13px;cursor:pointer}.upgrade-check input{accent-color:var(--ocean)}.upgrade-check span{flex:1}.upgrade-check b,.upgrade-check small{display:block}.upgrade-check small{color:var(--mid);font-size:.7rem;margin-top:3px}.upgrade-check>strong{color:var(--ocean);font-size:.82rem}.required-item,.included-item{display:none;margin-top:15px;padding:14px;border-radius:11px;background:#fff8e8;border:1px solid #f0d69c}.required-item.show,.included-item.show{display:flex}.required-item{justify-content:space-between;align-items:center;gap:18px}.required-item b,.required-item small,.included-item b,.included-item span{display:block}.required-item small,.included-item span{font-size:.72rem;color:var(--mid);margin-top:4px}.required-pill{display:inline-block;background:#d79a18;color:#fff;font-size:.58rem;font-weight:800;text-transform:uppercase;padding:4px 6px;border-radius:5px;margin-bottom:5px}.included-item{flex-direction:column;background:#eef8f4;border-color:#c4e6d8}.quantity-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e2ecef;padding-top:14px;margin-top:14px}.quantity-row b,.quantity-row small{display:block}.quantity-row small{color:var(--mid);font-size:.72rem;margin-top:3px}.qty-control{display:flex;align-items:center;border:1px solid #bed7e1;border-radius:9px;overflow:hidden;background:#fff}.qty-control button{width:39px;height:39px;border:0;background:#edf6f9;color:var(--ocean);font-size:1.2rem;font-weight:800}.qty-control span{display:grid;place-items:center;width:42px;font-weight:800}.full-set-note{display:none;margin-top:11px;color:var(--green);font-size:.76rem;font-weight:800}.full-set-note.show{display:block}
.summary{position:sticky;top:94px;padding:26px}.summary-ski{margin:14px 0;padding:13px;border-radius:10px;background:var(--sky);font-size:.82rem;font-weight:800;color:var(--deep)}.empty-state{padding:22px 3px;color:var(--mid);font-size:.84rem;line-height:1.6}.summary-items{display:flex;flex-direction:column}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e6eef1;font-size:.78rem}.summary-row strong{display:block}.summary-row small{display:block;color:var(--mid);margin-top:4px;line-height:1.45}.summary-row>span{white-space:nowrap;font-weight:800}.summary-total{padding:20px 0 15px}.summary-total small{display:block;color:var(--mid);font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.summary-total b{display:block;margin-top:5px;font-size:1.65rem;color:var(--deep)}.checkout-btn{width:100%;background:var(--coral);color:#fff}.checkout-btn:disabled{background:#b4c1c6;cursor:not-allowed}.summary-note{font-size:.67rem;line-height:1.5;color:var(--mid);text-align:center;margin:12px 0 0}.mobile-summary-bar{display:none}
.interest-modal{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,34,48,.72);padding:20px;align-items:center;justify-content:center}.interest-modal.open{display:flex}.modal-card{position:relative;width:min(520px,100%);background:#fff;border-radius:16px;padding:28px}.modal-card h3{margin:0;font-size:1.5rem}.modal-card p{color:var(--mid);line-height:1.6;font-size:.9rem}.modal-close{position:absolute;right:14px;top:12px;border:0;background:#eef4f6;width:34px;height:34px;border-radius:50%;font-size:1.3rem}.form-grid{display:grid;gap:10px}.form-grid input,.form-grid textarea{width:100%;border:1px solid #c5d9e1;border-radius:9px;padding:12px}.form-grid textarea{min-height:100px;resize:vertical}.form-grid button{border:0;border-radius:9px;padding:13px;background:var(--ocean);color:#fff;font-weight:800}
footer{background:var(--deep);color:#fff;padding:55px 28px 25px}.ft-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.ft-name{font-family:'Bebas Neue';font-size:2rem}.ft-sub,.ft-copy{color:#a9c6d1;font-size:.76rem;line-height:1.65}.ft-col-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.ft-links{list-style:none;padding:0}.ft-links li{margin:9px 0}.ft-links a{font-size:.76rem;color:#c9dde5}.ft-bot{max-width:1180px;margin:30px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between}
@media(max-width:1040px){nav{padding:0 22px}.nav-links,.nav-cta{display:none}.hamburger{display:block}.mobile-menu{position:fixed;z-index:190;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 22px}.mobile-menu.open{display:grid}.mobile-menu a{padding:11px 0;font-weight:700;font-size:.82rem}.hero-inner{grid-template-columns:1fr}.hero-visual{max-width:650px}.builder-grid{grid-template-columns:1fr}.summary{position:relative;top:auto}.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.studio-hero{padding:112px 20px 45px}.studio-hero h1{font-size:4.2rem}.hero-visual-note{flex-direction:column;gap:4px}.studio-wrap{padding:34px 14px 110px}.progress-step span{display:none}.panel{padding:20px}.build-card{grid-template-columns:1fr;padding:19px}.card-action-area{border-left:0;border-top:1px solid #e3edf1;padding:16px 0 0}.benefits,.choice-grid{grid-template-columns:1fr}.interest-link{margin-left:0}.compatibility.show{flex-wrap:wrap}.summary{display:none}.mobile-summary-bar{position:fixed;left:0;right:0;bottom:0;z-index:180;display:flex;align-items:center;justify-content:space-between;background:#fff;border-top:1px solid var(--line);padding:11px 15px;box-shadow:0 -8px 25px rgba(0,58,82,.1)}.mobile-summary-bar small,.mobile-summary-bar strong{display:block}.mobile-summary-bar small{color:var(--mid);font-size:.65rem}.mobile-summary-bar button{border:0;border-radius:8px;background:var(--coral);color:#fff;padding:11px 14px;font-weight:800}.mobile-summary-bar button:disabled{background:#b4c1c6}.ft-grid{grid-template-columns:1fr}.ft-bot{flex-direction:column}.required-item{align-items:flex-start}.nav-brand img{height:48px}}

/* Build Studio V3 — product photography */
.build-card{grid-template-columns:230px minmax(0,1fr) 175px;align-items:stretch}
.product-media{min-width:0;align-self:start}
.product-image-frame{position:relative;overflow:hidden;border-radius:13px;background:#dfeef4;aspect-ratio:4/3;border:1px solid #d5e5eb}
.product-image-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .18s ease,transform .35s ease}
.build-card:hover .product-image-frame img{transform:scale(1.015)}
.image-caption{position:absolute;left:9px;right:9px;bottom:9px;padding:7px 9px;border-radius:8px;background:rgba(0,42,60,.82);color:#fff;font-size:.62rem;font-weight:700;line-height:1.3}
.thumbnail-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:8px}
.image-thumb{border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:#dceaf0;aspect-ratio:4/3;cursor:pointer;opacity:.72;transition:.18s}
.image-thumb:hover{opacity:1}.image-thumb.active{border-color:var(--ocean);opacity:1;box-shadow:0 0 0 2px rgba(0,105,148,.1)}
.image-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.build-card-copy{min-width:0}
.foundation-card .product-image-frame{background:#e7f2f5}
#spotlockCard .product-image-frame{background:#d6e8ef}
#rodCard .product-image-frame img{object-position:center}
.hero-visual img{object-position:center 58%}
@media(max-width:1180px){.build-card{grid-template-columns:205px minmax(0,1fr) 160px;gap:18px;padding:20px}.card-action-area{padding-left:17px}}
@media(max-width:900px){.build-card{grid-template-columns:210px minmax(0,1fr)}.card-action-area{grid-column:1/-1;border-left:0;border-top:1px solid #e3edf1;padding:15px 0 0;display:grid;grid-template-columns:1fr 1fr;align-items:center}.card-action-area strong{text-align:left}.thumbnail-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.build-card{grid-template-columns:1fr}.product-media{order:0}.build-card-copy{order:1}.card-action-area{order:2;grid-column:auto}.product-image-frame{aspect-ratio:16/10}.thumbnail-strip{gap:6px}.image-caption{font-size:.6rem}.hero-visual{aspect-ratio:16/11}}

/* Build Studio V3.1 — market-aware pricing framework */
.market-control{margin:0 0 8px;padding:12px;border:1px solid #dbe9ee;border-radius:10px;background:#fbfdfe}
.market-control label{display:block;margin-bottom:6px;color:var(--mid);font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.market-control select{width:100%;height:39px;border:1px solid #bed7e1;border-radius:8px;background:#fff;padding:0 10px;color:var(--deep);font:700 .76rem 'Plus Jakarta Sans',sans-serif;outline:none}
.market-control select:focus{border-color:var(--ocean);box-shadow:0 0 0 3px rgba(0,105,148,.08)}
.market-control small{display:block;margin-top:7px;color:var(--mid);font-size:.63rem;line-height:1.4}
.price-pending{color:#8a6b24!important;font-size:.74rem!important}
.card-action-area strong.price-pending{line-height:1.35}

/* Build Studio V3.1.1 — Spot Lock layout alignment fix */
@media (min-width:901px){
  #spotlockCard{
    grid-template-columns:230px minmax(0,1fr);
    align-items:start;
  }
  #spotlockCard .product-media{
    grid-column:1;
    grid-row:1 / span 2;
  }
  #spotlockCard .build-card-copy{
    grid-column:2;
    grid-row:1;
  }
  #spotlockCard .config-box{
    width:100%;
    margin-top:18px;
  }
  #spotlockCard .choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  #spotlockCard .choice{
    min-width:0;
    min-height:108px;
    padding:14px;
    align-items:flex-start;
  }
  #spotlockCard .choice span{
    min-width:0;
  }
  #spotlockCard .choice b{
    font-size:.92rem;
    line-height:1.3;
  }
  #spotlockCard .choice small{
    font-size:.72rem;
    line-height:1.5;
  }
  #spotlockCard .upgrade-check{
    padding:14px 2px 0;
  }
  #spotlockCard .card-action-area{
    grid-column:2;
    grid-row:2;
    border-left:0;
    border-top:1px solid #e3edf1;
    padding:16px 0 0;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    text-align:left;
  }
  #spotlockCard .card-action-area strong{
    margin-right:auto;
  }
  #spotlockCard .card-action-area .primary-action{
    min-width:190px;
  }
}

@media (min-width:901px) and (max-width:1180px){
  #spotlockCard{
    grid-template-columns:205px minmax(0,1fr);
  }
}


/* V4.2 additions — preserves the V4.1 visual system */
.path-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.path-choice{display:flex;align-items:flex-start;gap:14px;width:100%;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.035);color:inherit;text-align:left;cursor:pointer;transition:.2s ease}
.path-choice:hover,.path-choice.selected{border-color:#ff6a00;background:rgba(255,106,0,.08);transform:translateY(-2px)}
.path-choice b{display:block;font-size:1.05rem;margin-bottom:6px}.path-choice small{display:block;line-height:1.55;color:var(--muted,#a9adb5)}
.path-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:rgba(255,106,0,.14);color:#ff7a1a;font-size:1.35rem;font-weight:800}
.path-help{margin:16px 0 0;color:var(--muted,#a9adb5);font-size:.9rem}.path-help a{color:#ff8b3d}
.locked-step{opacity:.55;pointer-events:none}
.product-note{margin-top:14px;padding:12px 14px;border-left:3px solid #ff6a00;background:rgba(255,106,0,.06);font-size:.9rem;line-height:1.55}
.collar-rod-config{margin-top:18px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(0,0,0,.15)}
.collar-rod-config h4{margin:0 0 6px}.collar-rod-config p{margin:0 0 14px;color:var(--muted,#a9adb5);font-size:.9rem}
.inline-rod-total{display:flex;align-items:center;gap:12px;margin-top:12px}.inline-rod-total span{margin-right:auto;color:var(--muted,#a9adb5);font-size:.86rem}.inline-rod-total .secondary-action{padding:8px 12px}
.new-collar-note{margin-top:16px}
@media(max-width:760px){.path-choice-grid{grid-template-columns:1fr}.path-choice{padding:18px}.inline-rod-total{flex-wrap:wrap}}

/* V4.3 — separate rod-holder stage */
#rodCard .product-image-frame{background:#dfeef4}
#rodCard .rod-config-box{display:block;margin-top:18px}
#rodCard .card-action-area strong{font-size:1rem;color:var(--ocean)}
.qty-control button:disabled{opacity:.4;cursor:not-allowed}
#rodLimitNote{transition:.2s}
#rodCard.selected #rodLimitNote{color:var(--mid)}
