.srch-btn{ display:inline-flex; align-items:center; justify-content:center; width:var(--tap); height:var(--tap); flex:none; padding:0; border:2px solid var(--ink); background:var(--ground); color:var(--ink); cursor:pointer; }
.srch-btn .ic{ width:28px; height:28px; }
.srch-btn[aria-expanded="true"]{ background:var(--ink); color:var(--ground); }
.nav .srch-btn{ order:5; }
.nav .lang{ order:4; margin-left:auto; }
.nav .menu{ order:6; }
@media (min-width:768px){
  .nav .srch-btn{ order:3; margin-left:auto; }
  .nav .lang{ order:4; margin-left:0; }
  .nav-phone{ order:5; }
}
.sp{ position:absolute; left:0; right:0; top:100%; background:var(--ground); border-bottom:4px solid var(--ink); z-index:30; display:none; max-height:calc(100vh - 90px); overflow:auto; }
.sp.open{ display:block; }
.sp .wrap{ display:block; }
.sp .wrap.sp-bar{ display:flex; }
.sp-in::-webkit-search-cancel-button,.sp-in::-webkit-search-decoration{ -webkit-appearance:none; display:none; }
.sp-bar{ display:flex; gap:12px; align-items:center; padding-block:20px; }
.sp-field{ position:relative; flex:1; min-width:0; }
.sp-field .ic{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:28px; height:28px; color:var(--ink); pointer-events:none; }
.sp-in{ width:100%; height:64px; padding:0 16px 0 56px; background:var(--ground); color:var(--ink); border:2px solid var(--ink); border-radius:0; font:600 24px/1 var(--sans); -webkit-appearance:none; appearance:none; }
.sp-in::placeholder{ color:#D6D6D6; opacity:1; font-weight:600; }
.sp-in:focus{ outline:3px solid var(--ink); outline-offset:0; }
.sp-x{ width:var(--tap); height:var(--tap); flex:none; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--ink); background:var(--ground); color:var(--ink); padding:0; cursor:pointer; }
.sp-x .ic{ width:28px; height:28px; }
.sp-x:hover{ background:var(--ink); color:var(--ground); }
.sp-hint{ font-size:18px; font-weight:600; color:var(--text); padding-bottom:20px; margin:0; max-width:none; }
.sp-keys{ display:none; font-size:16px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:12px 0 20px; margin:0; max-width:none; }
.sp-list{ list-style:none; margin:0; padding:0; border-top:2px solid var(--ink); }
.sp-list li{ border-bottom:2px solid var(--steel); }
.sp-r{ display:block; padding:14px 16px; min-height:var(--tap); text-decoration:none; color:var(--ink); }
.sp-r .tag{ display:block; font:800 16px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--ink); margin-bottom:8px; }
.sp-r .ttl{ display:block; font:800 22px/1.2 var(--sans); color:var(--ink); }
.sp-r .snp{ display:block; margin-top:6px; font:600 18px/1.4 var(--sans); color:var(--text); }
.sp-r .snp b{ font-weight:800; color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.sp-r:hover, .sp-r.sel{ background:var(--ink); color:var(--ground); }
.sp-r:hover .tag, .sp-r:hover .ttl, .sp-r:hover .snp, .sp-r:hover .snp b, .sp-r.sel .tag, .sp-r.sel .ttl, .sp-r.sel .snp, .sp-r.sel .snp b{ color:var(--ground); }
.sp-all{ display:flex; align-items:center; min-height:var(--tap); padding:8px 16px; font:800 19px/1.2 var(--sans); letter-spacing:.06em; text-transform:uppercase; color:var(--ink); text-decoration:none; }
.sp-all:hover{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
.sp-none{ padding:24px 0 32px; display:none; }
.sp-none p{ font:800 26px/1.25 var(--sans); color:var(--ink); max-width:none; margin-bottom:20px; }
.sp-none .cta-row{ flex-direction:column; align-items:stretch; }
.sp-none .btn{ white-space:normal; text-align:center; padding:12px 24px; line-height:1.15; }
.sp-res{ display:none; }
.sp.s-typing .sp-res{ display:block; }
.sp.s-none .sp-none{ display:block; }
@media (min-width:768px){
  .sp-in{ height:72px; font-size:28px; padding-left:64px; }
  .sp-field .ic{ left:20px; }
  .sp-x{ width:72px; height:72px; }
  .sp-r{ padding:16px 20px; }
  .sp-r .ttl{ font-size:24px; } .sp-r .snp{ font-size:19px; }
  .sp-keys{ display:block; }
  .sp.s-typing .sp-keys{ display:block; }
  .sp-none .cta-row{ flex-direction:row; }
  .sp-none p{ font-size:30px; }
  .sp-all{ padding-inline:20px; }
}
@media (max-width:767px){
  .sp{ position:fixed; inset:0; max-height:none; height:100%; border-bottom:0; overflow-y:auto; z-index:50; }
  .sp-bar{ position:sticky; top:0; background:var(--ground); z-index:2; padding-block:12px; border-bottom:2px solid var(--ink); }
  .sp-in{ font-size:21px; padding-left:48px; height:60px; }
  .sp-field .ic{ left:12px; width:26px; height:26px; }
  .sp-hint{ padding:16px 0; }
  .sp.s-typing .hw,.sp.s-none .hw{ display:none; }
  .res-wrap{ padding-left:0 !important; padding-right:0 !important; }
}
.nav .sp .wrap{ min-height:0; gap:0; }
.nav .sp .wrap.sp-bar{ gap:12px; }
.sp-none .cta-row{ display:flex !important; }
.sp-live{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.sp-r mark{ background:none; color:inherit; font-weight:800; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.sp-r .snp:empty{ display:none; }
.sp-r.sel .snp mark, .sp-r:hover .snp mark{ color:var(--ground); }
.sp-r:focus-visible{ outline:3px solid var(--ink); outline-offset:-3px; }
.srch-btn:focus-visible, .sp-x:focus-visible{ outline:3px solid var(--ink); outline-offset:3px; }
.sp-none .btn{ text-decoration:none; }
