/* Work-only UI proposal. No copy, source data, assets or form service changes.
   Integrate after existing Studio / Motion / Partner styles; test all locales. */

/* Shared control hierarchy: crisp monochrome states, unchanged destinations. */
.studio-ui :is(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid #171717;
  outline-offset:4px;
}
.studio-ui :is(.v9-hero,.studio-portfolio,.project-hero,.footer)
  :is(a,button,input,select,summary):focus-visible{
  outline-color:#fff;
}
.studio-ui .header{background:#fffffff7;box-shadow:0 1px 0 #00000003}
.studio-ui .nav>a:not(.nav-quote){position:relative;padding-block:12px;color:#626262}
.studio-ui .nav>a[aria-current=page]:not(.nav-quote){color:#151515}
.studio-ui .nav>a[aria-current=page]:not(.nav-quote)::after{
  content:"";position:absolute;height:2px;bottom:5px;left:0;right:0;
  background:currentColor;transform-origin:left;
}
.studio-ui .button{transition:background-color .18s,border-color .18s,box-shadow .18s}
.studio-ui .button:active{box-shadow:inset 0 1px 4px #0002}
.studio-ui :is(h1,h2,h3){text-wrap:balance}
.studio-ui :is(.studio-heading,.section-head) p{max-width:56ch}
.studio-scroll-controls[hidden]{display:none!important}

/* Program hierarchy using existing cards and approved text. */
.partner-program{--partner-rule:#dedede}
.partner-program-hero .split{padding-top:clamp(24px,3vw,46px);padding-bottom:30px}
.partner-program-hero .split>div>p:not(.partner-boundary){max-width:53ch}
.partner-program-hero .partner-boundary{color:#6b6b6b;font-size:13px;line-height:1.8}
.partner-program .section-head{margin-bottom:32px}
.partner-program .product-card{position:relative;padding:30px;background:#fff;border-color:#dedede}
.partner-program .product-card .number{
  align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;
  width:35px;height:35px;border:1px solid #dedede;border-radius:50%;
  margin-bottom:25px;font-size:11px;color:#656565;
}
.partner-program .product-card h3{font-weight:500;letter-spacing:-.025em;line-height:1.3}
.partner-program .product-card p:last-child{margin-bottom:0}
.partner-program :is(#partner-responsibilities,#partner-fit) ul{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:45px;row-gap:0;max-width:none;list-style:none;padding:0;margin:0;
}
.partner-program :is(#partner-responsibilities,#partner-fit) li{
  margin:0;padding:22px 0;border-top:1px solid var(--partner-rule);
  font-size:16px;line-height:1.9;
}
.partner-program .partner-principle{font-size:clamp(19px,2vw,26px);max-width:58ch;line-height:1.7}
.partner-start-steps{counter-reset:partner-step;list-style:none;padding:0;margin:0;max-width:none}
.partner-start-steps>li{
  counter-increment:partner-step;display:grid;grid-template-columns:46px minmax(0,1fr);
  gap:24px;margin:0;padding:26px 0;border-top:1px solid var(--partner-rule);
  font-size:17px;line-height:1.9;
}
.partner-start-steps>li::before{
  content:"0" counter(partner-step);display:grid;place-items:center;
  align-self:start;width:42px;height:42px;border:1px solid #cecece;
  border-radius:50%;color:#666;font-size:12px;
}
.partner-program .faq{max-width:1050px}
.partner-program .faq details{padding-block:23px;border-color:var(--partner-rule)}
.partner-program .faq summary{font-size:17px;font-weight:500;line-height:1.55}
.partner-program .faq details[open] summary{color:#111}
.partner-program .faq details p{max-width:80ch;line-height:1.9;margin-top:18px}
.partner-program .form-box{padding:clamp(25px,4vw,44px);background:#f6f6f6;border-color:#dcdcdc}
.partner-program .form-fields{gap:25px 24px}
.partner-program .field{gap:10px;font-size:13px;line-height:1.6}
.partner-program .field :is(input,select,textarea){border-color:#bfbfbf}
.partner-program .field :is(input,select,textarea):focus{
  border-color:#333;box-shadow:0 0 0 3px #00000008;
}
.partner-program .partner-optional{padding-block:19px}
.partner-program .partner-optional>summary{font-weight:500;min-height:26px}
.partner-program .form-box button[type=submit]{margin-top:0;min-height:54px;font-size:14px}
.partner-program #partner-light-tracks .partner-card{
  padding:30px;border-color:#dedede;display:flex;flex-direction:column;
}
.partner-program #partner-light-tracks .partner-card a{margin-top:auto;padding-top:18px}
.partner-home .partner-store-card{
  background:#181818;color:#fff;border-color:#181818;gap:45px;
  padding:35px!important;border-radius:11px;
}
.partner-home .partner-store-card .number{color:#bcbcbc}
.partner-home .partner-store-card :is(p,a){color:#e3e3e3}
.partner-home .partner-store-card h3{color:#fff;line-height:1.25}
.partner-home .partner-store-card .text-link{border-bottom:1px solid #ffffff5c;padding-bottom:8px}

/* Small screens: device-friendly fields and one fixed action band. */
@media(max-width:760px){
  .studio-ui :is(.filters,.shop-catalogue-controls,.assistant-form,.purchase-brief)
    :is(input,select,textarea){font-size:16px}
  .studio-ui .header-inner{min-height:68px}
  .studio-ui .nav>a[aria-current=page]:not(.nav-quote){background:#f1f1f1}
  .studio-ui .nav>a[aria-current=page]:not(.nav-quote)::after{display:none}
  .studio-ui .nav.open{max-height:calc(100dvh - 92px);overscroll-behavior:contain}

  /* Content determines the hero's height; all native tabs, hotspots and caption remain. */
  .studio-ui .v9-hero-grid{min-height:max(680px,calc(100svh - 96px))}
  .studio-ui .v9-hero-copy{
    min-height:inherit;padding:142px 22px 213px;justify-content:center;
  }
  .studio-ui .v9-hero-copy h1{font-size:clamp(37px,10.3vw,46px);line-height:1.1}
  .studio-ui .v9-hero-copy>p{font-size:14px;line-height:1.85}
  .studio-ui .v9-experience-proof{margin-top:25px;padding-top:20px}
  .studio-ui .v9-space-tabs button{min-width:0;white-space:normal;overflow-wrap:anywhere}
  .studio-ui .v9-space-caption{min-height:88px}
  .studio-ui .v9-space-caption :is(.text-link,b){overflow-wrap:anywhere}

  .partner-program-hero .split{padding-top:25px;padding-bottom:0;gap:28px}
  .partner-program-hero h1{font-size:clamp(34px,9.5vw,42px);line-height:1.18;letter-spacing:-.035em;margin-bottom:25px}
  .partner-program-hero .split>div>p:not(.partner-boundary){font-size:15px;line-height:1.85;margin-bottom:0}
  .partner-program-hero .actions{gap:13px 20px;margin-top:25px;align-items:center}
  .partner-program-hero .partner-boundary{margin-top:24px;font-size:12px}
  .partner-program-hero .split-media{aspect-ratio:1.35;margin-top:5px;max-height:none}
  .partner-program .section-head h2{font-size:clamp(28px,7.6vw,34px);line-height:1.2}
  .partner-program .product-card{padding:25px}
  .partner-program .product-card .number{width:32px;height:32px;margin-bottom:20px}
  .partner-program .product-card h3{font-size:23px;margin-bottom:14px}
  .partner-program :is(#partner-responsibilities,#partner-fit) ul{grid-template-columns:minmax(0,1fr)}
  .partner-program :is(#partner-responsibilities,#partner-fit) li{font-size:15px;padding-block:19px}
  .partner-start-steps>li{grid-template-columns:35px minmax(0,1fr);gap:18px;padding-block:22px;font-size:15px}
  .partner-start-steps>li::before{width:33px;height:33px;font-size:10px}
  .partner-program .faq summary{font-size:16px;line-height:1.6}
  .partner-program .form-box{padding:25px 20px}
  .partner-program .form-fields{gap:22px}
  .partner-program .field :is(input,select,textarea){font-size:16px}
  .partner-program #partner-light-tracks .partner-card{padding:25px}
  .partner-home .partner-store-card{padding:27px!important;gap:12px}

  /* The saved-list shortcut occupies a reserved third slot, never a second row. */
  body.studio-ui{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  .studio-ui .footer{padding-bottom:45px}
  .studio-ui .mobile-bottom{
    bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:7px;
    min-height:64px;align-items:stretch;
  }
  .studio-ui .mobile-bottom a{font-size:12px;min-height:48px;padding:10px 8px;line-height:1.4;min-width:0}
  body.studio-ui:has(.purchase-float:not([hidden])) .mobile-bottom{right:79px}
  .studio-ui .purchase-float,.studio-ui.is-comparing .purchase-float{
    right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));
    width:58px;min-height:64px;max-width:58px;padding:8px 5px;
    background:#151515;color:#fff;border-color:#151515;font-size:0;
    display:flex;align-items:center;justify-content:center;gap:0;border-radius:12px;
  }
  .studio-ui .purchase-float::before{content:"↗";font-size:21px;line-height:1}
  .studio-ui .purchase-float .purchase-count{
    position:absolute;top:5px;right:5px;min-width:17px;height:17px;
    display:grid;place-items:center;padding:0 3px;border-radius:50%;
    font-size:9px;line-height:1;background:#fff;color:#111;
  }
  .studio-ui .shop-compare-bar{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  .studio-ui :is(button,input,select,textarea,a){scroll-margin-bottom:calc(115px + env(safe-area-inset-bottom,0px))}
  .studio-ui.is-comparing :is(button,input,select,textarea,a){scroll-margin-bottom:calc(200px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:380px){
  .studio-ui .v9-hero-grid{min-height:700px}
  .studio-ui .v9-hero-copy{min-height:inherit;padding-top:142px;padding-bottom:213px}
  .studio-ui .v9-hero-copy h1{font-size:37px}
  .studio-ui .v9-hero-copy .actions{gap:12px;flex-direction:row;align-items:center}
  .studio-ui .v9-hero-copy .actions .button{font-size:12px;padding-inline:12px}
  .studio-ui .v9-hero-copy .actions .text-link{font-size:11px}
  .studio-ui .mobile-bottom a{font-size:11px;padding-inline:5px}
}
@media(prefers-reduced-motion:reduce){
  .studio-ui .button{transition:none}
}
@media print{
  body.studio-ui{padding-bottom:0}
}

/* Partnership local navigation and existing-image feature. */
.partner-jump-nav{position:sticky;top:82px;z-index:12;background:#fffffff5;backdrop-filter:blur(14px);border-block:1px solid #e1e1e1}
.partner-jump-nav>.container{display:flex;gap:32px;align-items:center;min-height:66px;overflow:auto;scrollbar-width:none}
.partner-jump-nav a{font-size:13px;line-height:1.45;white-space:nowrap;padding:16px 0;color:#707070;min-height:48px;display:flex;align-items:center;gap:20px}
.partner-jump-nav a:last-child{margin-left:auto;color:#111;font-weight:600}.partner-jump-nav a[aria-current=true]{color:#111;box-shadow:inset 0 -2px #111;text-decoration:none}
.partner-program section[id]{scroll-margin-top:170px}
.partner-home .partner-store-card{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 42px;overflow:hidden;padding:0 40px 0 0!important}
.partner-store-visual{grid-column:1;grid-row:1/3;margin:0;min-height:340px;height:100%;overflow:hidden}.partner-store-visual img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block;transition:transform .7s}
.partner-home .partner-store-card>div:nth-child(2){padding-top:36px;align-self:end}.partner-home .partner-store-card>div:last-child{padding-bottom:36px;align-self:start}.partner-home .partner-store-card:hover .partner-store-visual img{transform:scale(1.025)}
.partner-program #partner-support{background:#f5f5f4}.partner-program #partner-support .product-card:first-child{grid-column:span 2;background:#191919;color:#fff}.partner-program #partner-support .product-card:first-child :is(h3,p,.number){color:#fff}.partner-program #partner-support .product-card:first-child p{max-width:70ch}
.partner-program #partner-depths{background:#f5f5f4}.partner-program #partner-inquiry{border-top:1px solid #e4e4e4;background:linear-gradient(#f7f7f6,#fff)}
.partner-jump-nav a:focus-visible{outline:2px solid #111;outline-offset:-3px}
@media(max-width:1200px){.partner-jump-nav{top:76px}}
@media(max-width:760px){.partner-jump-nav{top:68px}.partner-jump-nav>.container{gap:22px;min-height:58px;padding-inline:22px}.partner-jump-nav a{font-size:11px;min-height:56px}.partner-jump-nav a:last-child{margin-left:0}.partner-program section[id]{scroll-margin-top:140px}.partner-home .partner-store-card{grid-template-columns:minmax(0,1fr);gap:0;padding:0!important}.partner-store-visual{grid-column:auto;grid-row:auto;min-height:0;height:auto;aspect-ratio:1.55}.partner-store-visual img{min-height:0;height:100%}.partner-home .partner-store-card>div:nth-child(2){padding:26px 26px 0}.partner-home .partner-store-card>div:last-child{padding:0 26px 26px}.partner-program #partner-support .product-card:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.partner-store-visual img{transition:none}.partner-home .partner-store-card:hover .partner-store-visual img{transform:none}}
@media print{.partner-jump-nav{display:none}}

@media(max-width:760px){body.studio-ui{padding-bottom:calc(var(--ht-mobile-dock-height,64px) + 28px + env(safe-area-inset-bottom,0px))}.studio-ui .purchase-float,.studio-ui.is-comparing .purchase-float{height:var(--ht-mobile-dock-height,64px)}.studio-ui .purchase-float::before{content:"";width:23px;height:25px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 26'%3E%3Cpath d='M4 8h16l1 16H3L4 8Zm4 0V5a4 4 0 0 1 8 0v3' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.studio-ui .shop-compare-bar{bottom:calc(var(--ht-mobile-dock-height,64px) + 22px + env(safe-area-inset-bottom,0px))}.studio-ui :is(button,input,select,textarea,a){scroll-margin-bottom:calc(var(--ht-mobile-dock-height,64px) + 50px + env(safe-area-inset-bottom,0px))}.studio-ui.is-comparing :is(button,input,select,textarea,a){scroll-margin-bottom:calc(var(--ht-mobile-dock-height,64px) + var(--ht-mobile-compare-height,80px) + 60px + env(safe-area-inset-bottom,0px))}}
/* Final visual clearance and contrast. Existing html scroll padding is 100px. */
.studio-ui .nav>a[aria-current=page]:not(.nav-quote){text-decoration:none}
.studio-ui :is(.motion-screen,.partner-store-card) :is(a,button):focus-visible{outline-color:#fff}
.partner-program section[id]{scroll-margin-top:70px}
@media(max-width:760px){.partner-program section[id]{scroll-margin-top:40px}}
