/* ---------- Nav ---------- */
.nav{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;z-index:10;mix-blend-mode:difference;color:var(--c-cream);padding:30px var(--pad-x);display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.nav>*{pointer-events:auto}
.nav__brand{display:inline-block}
.nav__word{font:200 16px/1 var(--f-sans);letter-spacing:.42em;text-transform:uppercase;padding-left:.42em;white-space:nowrap}
.burger{width:40px;height:30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:10px}
.burger span{display:block;height:1px;width:40px;background:currentColor;transform-origin:center;transition:transform .6s var(--ease-expo),width .6s var(--ease-expo)}
.burger span:last-child{width:30px}
.burger:hover span:last-child{width:40px}
.burger.is-open span{width:30px}
.burger.is-open span:first-child{transform:translateY(5.5px) rotate(45deg)}
.burger.is-open span:last-child{transform:translateY(-5.5px) rotate(-45deg)}
@media (max-width:809.98px){
  .nav{padding:20px var(--pad-x)}
  .nav__word{font-size:12px;letter-spacing:.36em;padding-left:.36em}
}

/* ---------- Drawer ---------- */
.backdrop{position:fixed;inset:0;background:var(--c-backdrop);z-index:8;opacity:0;pointer-events:none;transition:opacity .6s var(--ease-expo)}
.backdrop.is-open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:600px;z-index:9;background:var(--c-obsidian);color:var(--c-cream);transform:translateX(100%);visibility:hidden;transition:transform .7s var(--ease-expo),visibility 0s .7s;display:flex;flex-direction:column;justify-content:space-between;padding:130px 50px 40px;overflow-y:auto}
.drawer.is-open{transform:none;visibility:visible;transition:transform .7s var(--ease-expo),visibility 0s}
.drawer__links{display:flex;flex-direction:column;gap:22px}
.drawer__links a{font:200 clamp(20px,2.4vw,30px)/1.3 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;display:inline-block;width:max-content;color:var(--c-cream);opacity:.75;transition:opacity .4s var(--ease-expo)}
.drawer__links a:hover,.drawer__links a[aria-current="page"]{opacity:1}
.drawer__foot{display:flex;flex-direction:column;gap:14px;color:var(--c-mid)}
.drawer__foot .cta{color:var(--c-cream)}
@media (max-width:809.98px){.drawer{padding:110px 24px 30px}}

/* ---------- CTA link with the sliding underline ---------- */
.cta{position:relative;display:inline-flex;flex-direction:column;overflow:hidden;padding-bottom:8px;width:max-content}
.cta__line{position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transition:transform .6s var(--ease-expo)}
.cta__line--2{transform:translateX(-111.667%)}
.cta:hover .cta__line--1,.cta:focus-visible .cta__line--1{transform:translateX(111.667%)}
.cta:hover .cta__line--2,.cta:focus-visible .cta__line--2{transform:none}

/* Small footer/drawer link underline */
.flink{position:relative;display:inline-block;width:max-content;overflow:hidden;padding-bottom:3px}
.flink::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:translateX(-111.667%);transition:transform .6s var(--ease-expo)}
.flink:hover::after{transform:none}

/* ---------- Logo mark ---------- */
.mark{display:block}
.mark--outline{fill:none;stroke:currentColor;stroke-width:.6}

/* ---------- Footer ---------- */
.footer{position:relative;z-index:2;background:var(--c-obsidian);color:var(--c-cream);padding:100px var(--pad-x) 30px;overflow:hidden}
.footer__inner{display:flex;flex-direction:column;gap:100px;position:relative;z-index:1;max-width:var(--container);margin:0 auto}
.footer__top{display:flex;flex-direction:column;gap:30px}
.footer__brand{display:block}
.footer__brand .h2{color:var(--c-cream);letter-spacing:.30em}
.footer__tagline{max-width:min(350px,100%);color:var(--c-mid)}
.footer__grid{display:grid;grid-template-columns:repeat(5,minmax(50px,1fr));gap:30px;padding:50px 0;border-top:1px solid var(--c-rule-dark)}
.footer__col{display:flex;flex-direction:column;gap:14px}
.footer__col:first-child{grid-column:span 2}
.footer__col .h5{max-width:220px}
.footer__col .label{margin-bottom:6px}
.footer__bottom{display:flex;align-items:center;gap:30px}
.footer__copy{flex:1.5;color:var(--c-mid)}
.footer__legal{flex:1;display:flex;flex-wrap:wrap;gap:14px 30px}
.footer__mark{position:absolute;top:0;left:50%;transform:translateX(-50%);height:760px;width:auto;color:var(--c-cream);opacity:.12;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 30%);mask-image:linear-gradient(to bottom,#000 0%,transparent 30%)}
@media (max-width:1199.98px){
  .footer{padding:60px var(--pad-x) 30px}
  .footer__inner{gap:60px}
  .footer__grid{grid-template-columns:repeat(2,1fr);gap:50px 30px}
  .footer__col:first-child{grid-column:span 2}
}
@media (max-width:809.98px){
  .footer__inner{gap:40px}
  .footer__grid{padding:30px 0}
  .footer__col:nth-child(2){grid-column:span 2}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:20px}
}

/* ---------- Accordion (FAQ) ---------- */
.faq{display:flex;flex-direction:column}
.faq__item{border-bottom:1px solid var(--c-rule)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;text-align:left}
.faq__icon{width:22px;height:22px;position:relative;flex:none}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%);transition:transform .5s var(--ease-expo)}
.faq__icon::before{width:22px;height:1px}
.faq__icon::after{width:1px;height:22px}
.faq__item.is-open .faq__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .6s var(--ease-expo),padding .6s var(--ease-expo)}
.faq__a p{max-width:min(var(--measure),100%)}
.faq__item.is-open .faq__a{max-height:600px;padding-bottom:24px}

/* ---------- Forms ---------- */
.form{display:flex;flex-direction:column;gap:30px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.field{display:flex;flex-direction:column;gap:10px}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--c-light);padding:14px 0;font:300 var(--fs-body)/1.6 var(--f-serif);letter-spacing:0;color:var(--c-obsidian);border-radius:0;outline:0;transition:border-color .3s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--c-obsidian)}
.field ::placeholder{color:var(--c-mid)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:22px 48px;background:var(--c-obsidian);color:var(--c-cream);width:max-content;transition:opacity .3s}
.btn:hover{opacity:.85}
@media (max-width:809.98px){.form__row{grid-template-columns:1fr;gap:20px}}

/* ---------- Inner-page hero ---------- */
.phero{position:relative;height:72svh;min-height:520px;background:var(--c-obsidian);color:var(--c-cream);overflow:hidden;display:flex;align-items:flex-end}
.phero__img{position:absolute;inset:0}
.phero__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.phero__img::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(17,17,16,.45) 0%,rgba(17,17,16,.15) 35%,rgba(17,17,16,.78) 100%)}
.phero__content{position:relative;z-index:1;width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--pad-x) 60px;display:flex;flex-direction:column;gap:20px}
.phero__kicker{color:var(--c-light)}
.phero__title{font:200 var(--fs-h2)/1.15 var(--f-sans);letter-spacing:var(--ls-display);text-transform:uppercase;color:var(--c-cream)}
.phero__title .line{display:block}
.phero__title .it{font:300 var(--fs-h2-it)/1.1 var(--f-serif-display);font-style:italic;letter-spacing:0;text-transform:none;display:block;margin-top:.18em}
.phero__lead{max-width:min(520px,100%);color:var(--c-cream);opacity:.88}
@media (max-width:809.98px){.phero{min-height:440px}.phero__content{padding-bottom:40px;gap:14px}}

/* ---------- Generic inner-page blocks ---------- */
.page{position:relative;z-index:2;background:var(--c-bg);padding-top:var(--gap-section);display:flex;flex-direction:column;gap:var(--gap-section)}
.split{display:flex;gap:50px;align-items:flex-start;max-width:var(--container);width:100%;margin:0 auto}
.split>*{flex:1;min-width:0}
.split .img{aspect-ratio:1.25}
.split--rev{flex-direction:row-reverse}
.prose{display:flex;flex-direction:column;gap:20px;max-width:min(600px,100%)}
.prose .h3{margin-bottom:10px}
.rows{display:flex;flex-direction:column;max-width:var(--container);width:100%;margin:0 auto}
.row{display:flex;gap:50px;padding:30px 0;border-top:1px solid var(--c-rule)}
.row:last-child{border-bottom:1px solid var(--c-rule)}
.row__num{min-width:40px}
.row__title{flex:1.2}
.row__body{flex:2;display:flex;flex-direction:column;gap:10px}
.row__body p{max-width:min(560px,100%)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 30px;max-width:var(--container);width:100%;margin:0 auto}
.grid3--four{grid-template-columns:repeat(4,1fr)}
.card{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:1px solid var(--c-rule)}
.card .img{aspect-ratio:1.25;margin-bottom:6px}
.terms{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 50px;max-width:var(--container);width:100%;margin:0 auto}
.term{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--c-rule)}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:var(--container);width:100%;margin:0 auto}
.day{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--c-rule)}
.day p{color:var(--c-charcoal)}
.day strong{display:block;margin-bottom:2px;font:200 var(--fs-label)/1 var(--f-sans);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-obsidian)}
.note{max-width:min(600px,100%);color:var(--c-mid);font-style:italic}
.tabs{display:flex;gap:30px;flex-wrap:wrap}
.tab{padding-bottom:10px;border-bottom:1px solid transparent;color:var(--c-mid);transition:color .3s,border-color .3s}
.tab.is-active{color:var(--c-obsidian);border-color:var(--c-obsidian)}
.masonry{columns:3;column-gap:20px;max-width:var(--container);width:100%;margin:0 auto}
.masonry .img{break-inside:avoid;margin-bottom:20px}
.masonry[hidden]{display:none}
.sec__inner.legal{max-width:min(800px,100%);display:flex;flex-direction:column;gap:18px}
.legal h2{font:200 var(--fs-h3)/1.2 var(--f-sans);letter-spacing:var(--ls-heading);text-transform:uppercase;color:var(--c-obsidian);margin-top:50px}
.legal h3{font:200 var(--fs-cta)/1.4 var(--f-sans);letter-spacing:var(--ls-cta);text-transform:uppercase;color:var(--c-obsidian);margin-top:18px}
.legal ul,.legal ol{padding-left:22px;display:flex;flex-direction:column;gap:8px}
.legal ul{list-style:disc}.legal ol{list-style:decimal}
.legal p,.legal li{max-width:min(var(--measure),100%)}
.form-wrap{max-width:min(800px,100%)}
.form-note{color:var(--c-mid);font-style:italic}
@media (max-width:1199.98px){.grid3{grid-template-columns:repeat(2,1fr)}.week{grid-template-columns:repeat(2,1fr)}.masonry{columns:2}}
@media (max-width:809.98px){.split,.split--rev{flex-direction:column;gap:30px}.row{flex-direction:column;gap:14px}.grid3,.terms,.week{grid-template-columns:1fr}.masonry{columns:1}}

/* Form feedback ------------------------------------------------------------ */
.form__summary{color:var(--c-error);font-style:italic;margin:0}
.form__summary:empty{display:none}
.field__error{color:var(--c-error);font-size:14px;font-style:italic;margin:0}
.field__error:empty{display:none}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-bottom-color:var(--c-error)}
.form__success{border:1px solid var(--c-rule);background:var(--c-cream);padding:40px;display:flex;flex-direction:column;gap:14px;max-width:min(800px,100%)}
.form__success .label{color:var(--c-mid)}
.form__success p{margin:0}

/* Phone: dial code + national number ---------------------------------------- */
.phone{display:grid;grid-template-columns:9em 1fr;gap:14px;align-items:end}
.field .phone__code{width:100%;cursor:pointer;text-overflow:ellipsis;
  font:300 var(--fs-body)/1.6 var(--f-serif);color:var(--c-obsidian);
  background:transparent;border:0;border-bottom:1px solid var(--c-light);
  padding:14px 0;border-radius:0;outline:0;
  -webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 9px) calc(50% + 1px),calc(100% - 4px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:22px}
.field .phone__code:focus{border-color:var(--c-obsidian)}
.field.is-invalid .phone__code{border-bottom-color:var(--c-error)}
@media (max-width:809.98px){.phone{grid-template-columns:7.5em 1fr;gap:10px}}
.form__failure{border:1px solid var(--c-error);padding:28px 32px;display:flex;flex-direction:column;gap:10px;max-width:min(800px,100%);margin:0 0 24px}
.form__failure .label{color:var(--c-error)}
.form__failure p{margin:0}
form.is-sending [type=submit]{opacity:.6;cursor:progress}
/* Apply, always in view beside the menu */
.nav__right{display:flex;align-items:center;gap:28px}
.nav__apply{font:200 13px/1 var(--f-sans);letter-spacing:.32em;text-transform:uppercase;padding:12px 18px 12px calc(18px + .32em);border:1px solid currentColor;transition:background .3s,color .3s}
.nav__apply:hover{background:var(--c-cream);color:#000}
@media (max-width:809.98px){.nav__right{gap:18px}.nav__apply{font-size:11px;letter-spacing:.26em;padding:9px 12px 9px calc(12px + .26em)}}
.field[hidden]{display:none}
