.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ftr-nav{margin-top:1rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase}
.ftr-nav a{border-bottom:1px solid rgba(201,165,74,.5)}
.p-hero{position:relative;height:62vh;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;background:var(--em-d);color:var(--ivory)}
.p-hero-img{position:absolute;inset:0;background:url(../img/hondaafushi.jpg) center 35%/cover no-repeat}
.p-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,45,41,.55) 0%,rgba(8,45,41,.15) 40%,rgba(8,45,41,.7) 100%)}
.p-hero-txt{position:relative;padding:0 var(--pad) clamp(3rem,8vh,5rem);width:100%;text-align:center}
.p-hero .label{color:var(--ivory)}
.p-hero h1{font-size:clamp(2.6rem,6vw,5rem);color:var(--ivory)}
.p-hero .photo-cap{top:auto;bottom:1rem;right:1.2rem;left:auto}
.partners .intro{padding:clamp(5.5rem,12vw,9rem) var(--pad)}
.intro-sub{max-width:560px;margin:1.8rem auto 0;color:var(--muted);text-wrap:balance}
.steps-sec{padding:clamp(4.5rem,9vw,7rem) var(--pad);text-align:center;background:var(--ivory)}
.steps{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);max-width:1060px}
.steps li{padding:0 2rem;border-left:1px solid var(--line)}
.steps li:first-child{border-left:0}
.steps span{display:block;font:500 .72rem/1 var(--serif);letter-spacing:.3em;color:var(--gold);margin-bottom:1.1rem}
.steps strong{display:block;font:200 1.6rem/1.2 var(--sans);color:var(--em);margin-bottom:.7rem}
.steps p{color:var(--muted);font-size:.95rem}
.apply{background:var(--sand);padding:clamp(5.5rem,11vw,8.5rem) var(--pad)}
.req-note{font-size:.85rem;color:var(--muted)}
.pform{max-width:860px;margin:0 auto}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pform fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:2.6rem 0 3rem}
.pform legend{font:500 .72rem/1 var(--serif);letter-spacing:.34em;text-transform:uppercase;color:var(--em);padding:0 1.2rem 0 0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.6rem;margin-top:1.2rem}
.full{grid-column:1/-1}
.field label,.flabel{display:block;font:500 .64rem/1.5 var(--serif);letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.flabel em{font-style:normal;letter-spacing:.12em;text-transform:none;font-family:var(--sans);font-size:.75rem;opacity:.8;margin-left:.3em}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=url],.field input[type=number],.field select,.field textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(15,76,69,.3);background:transparent;padding:.7rem 0;font:300 1.02rem var(--sans);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
.field select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230f4c45'/%3E%3C/svg%3E") right center no-repeat;cursor:pointer}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--em)}
.hint,.fs-note{display:block;font-size:.78rem;color:var(--muted);margin-top:.5rem}
.fs-note{margin:.9rem 0 0}
.field .err{display:block;color:#9a3b22;font-size:.8rem;margin-top:.45rem}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-bottom-color:#9a3b22}
.files{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.6rem;margin-top:1.8rem}
.fbtn{display:inline-flex!important;align-items:center;margin-top:.8rem;padding:.85em 1.6em;border:1px solid rgba(15,76,69,.45);font:400 .66rem/1 var(--sans)!important;letter-spacing:.26em!important;text-transform:uppercase;color:var(--em)!important;cursor:pointer;position:relative;transition:background .3s,color .3s}
.fbtn:hover,.fbtn:focus-within{background:var(--em);color:var(--ivory)!important}
.fbtn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.field.file.invalid .fbtn{border-color:#9a3b22}
.flist{list-style:none;margin:.7rem 0 0;padding:0;font-size:.85rem;color:var(--ink)}
.flist li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px solid var(--line)}
.flist li span:last-child{color:var(--muted);white-space:nowrap}
.total{font-size:.8rem;color:var(--muted);margin-top:1.4rem}
.total.over{color:#9a3b22}
.confirm{padding-top:2.2rem!important}
.check label{display:flex;gap:1rem;align-items:flex-start;font:300 .95rem/1.6 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}
.check input{margin-top:.3rem;width:18px;height:18px;flex:none;accent-color:var(--em)}
.submit-row{text-align:center;padding-top:1rem}
.form-summary{color:#9a3b22;font-size:.92rem;margin-bottom:1.6rem;text-wrap:balance}
.form-summary.neutral{color:var(--em)}
.form-summary a{color:inherit}
.btn[disabled]{opacity:.65;cursor:progress}
.btn.loading .btn-txt::after{content:"";display:inline-block;width:10px;height:10px;margin-left:.9em;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-1px}
@keyframes spin{to{transform:rotate(360deg)}}
.success{max-width:640px;margin:0 auto;text-align:center;padding:2rem 0 1rem;outline:0}
.success h2{margin-bottom:1.4rem}
.success p{color:var(--muted);margin-bottom:2.4rem}
.success .ref{color:var(--em);font-weight:400;letter-spacing:.06em}
.privacy{max-width:620px;margin:clamp(4rem,8vw,6rem) auto 0;text-align:center;padding-top:2.6rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.privacy a{color:var(--em)}
@media (max-width:720px){
  .steps{grid-template-columns:1fr;gap:2.4rem}
  .steps li{border-left:0;padding:0}
  .steps li+li{padding-top:2.4rem;border-top:1px solid var(--line)}
  .grid,.files{grid-template-columns:1fr;gap:1.7rem}
  .p-hero{height:56vh}
}
#apply,.success{scroll-margin-top:90px}
@media (max-width:720px){.p-hero-img{background-position:78% 30%}}
