:root{
  color-scheme:light dark;
  --paper:#EDEFF2;
  --ink:#161A20;
  --ink-2:#5B626C;
  --line:#2447E6;
  --rule:rgba(22,26,32,.16);
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#12161C;
    --ink:#E4E7EB;
    --ink-2:#8C95A1;
    --line:#7C90FF;
    --rule:rgba(228,231,235,.16);
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:1.125rem;
  line-height:1.55;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
a:focus-visible,a:hover{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:focus-visible{outline:2px solid var(--line);outline-offset:4px}

.top{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:1.25rem clamp(1rem,4vw,3.5rem) 0;
  font-size:.9375rem;
  color:var(--ink-2);
}
.top a[aria-current]{color:var(--ink)}
.lang a+a{margin-left:1rem}

main{
  flex:1;
  padding:clamp(2rem,6vh,3.5rem) clamp(1rem,4vw,3.5rem) clamp(1.5rem,5vh,3.5rem);
}

h1{
  margin:0;
  font-size:clamp(3.25rem,13vw,9rem);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.035em;
}
h1 span{display:block}
.hero{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1600/560;
  max-height:36vh;
  object-fit:cover;
  object-position:center top;
  margin:clamp(1rem,3vh,2rem) 0 0;
  border-bottom:1px solid var(--rule);
}
@media (max-width:600px){.hero{aspect-ratio:1600/700;max-height:none}}

.text{max-width:34rem;margin-top:clamp(2rem,6vh,4rem)}
.lead{
  margin:0 0 2.25rem;
  font-size:clamp(1.375rem,2.6vw,1.75rem);
  line-height:1.3;
  letter-spacing:-.012em;
  font-weight:500;
}
.now{margin:0 0 2.25rem;color:var(--ink-2);}
.now b{font-weight:600;color:var(--ink)}
.now p{margin:0}
.now p+p{margin-top:.5rem}
.contact{
  margin:0;
  padding-top:1.25rem;
  border-top:1px solid var(--rule);
}
.contact a{color:var(--line)}

@media (max-width:480px){
  .lead{margin-bottom:1.75rem}
  .now{margin-bottom:1.75rem}
}

.hi{max-width:34rem;margin-top:clamp(3rem,8vh,5rem)}
.hi h2{font-size:1rem;font-weight:600;margin:0 0 .75rem}
.hi form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.hi label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hi input{
  flex:1 1 12rem;min-width:0;
  font:inherit;color:inherit;
  background:transparent;
  border:0;border-bottom:1px solid var(--ink-2);
  padding:.45rem 0;border-radius:0;
}
.hi input:focus-visible{outline:none;border-bottom-color:var(--line);box-shadow:0 1px 0 var(--line)}
.hi button{
  font:inherit;font-weight:500;
  color:var(--paper);background:var(--ink);
  border:0;border-radius:999px;
  padding:.5rem 1.1rem;cursor:pointer;
}
.hi button:hover{background:var(--line)}
.hi button:focus-visible{outline:2px solid var(--line);outline-offset:3px}
.hi button:disabled{opacity:.5;cursor:default}
.hi .limit{flex-basis:100%;margin:.25rem 0 0;font-size:.9375rem;color:var(--ink-2);display:none}
.hi form.is-limited .limit{display:block}
.hi ol{list-style:none;margin:1.25rem 0 0;padding:0;color:var(--ink-2);font-size:.9375rem}
.hi li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-top:1px solid var(--rule)}
.hi li span{color:var(--ink);overflow-wrap:anywhere}
.hi time{white-space:nowrap}
