/* Zarryl forms inherit the original Linea tokens. */
.zr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.zr-form-grid .full{grid-column:1/-1}.contact__form{gap:24px}.contact__form label{display:block}.contact__form input,.contact__form select,.contact__form textarea{margin-top:8px;font:inherit}.contact__form select{width:100%;min-height:50px}.contact__form fieldset{border:0;padding:0;margin:0}.contact__form legend{margin-bottom:16px}.choices{display:flex;flex-wrap:wrap;gap:12px 20px}.zr-choice{font-size:14px;display:flex!important;align-items:center;min-height:44px;gap:8px}.contact__form input[type=checkbox]{accent-color:var(--color-1);width:18px;height:18px;flex-shrink:0;margin:0}.zr-consent{display:flex!important;gap:12px;font-size:14px;line-height:1.5;align-items:flex-start}.honey{position:absolute;left:-10000px}.contact__status{min-height:1.5em}.contact__form button:disabled{opacity:.6;cursor:wait}.contact__form .m-field__input{max-width:100%}@media(max-width:767px){.zr-form-grid{grid-template-columns:1fr}.contact__form{min-width:0}.zr-choice{font-size:13px}}
#setup .setup__card:nth-child(3n+1){background:var(--color-2);color:var(--color-1)}#setup .setup__card:nth-child(3n+2){background:var(--color-4);color:var(--color-1)}#setup .setup__card:nth-child(3n){background:var(--color-1);color:var(--color-2)}
/* Keep template styling while preventing content from crossing reading boundaries. */
#setup .setup__card{position:relative;top:auto;transform:none;filter:none}
html{scroll-padding-top:calc(var(--page-nav-h, 5.5rem) + 1rem)}
@media(max-width:47.99rem){#setup .setup__card{scroll-margin-top:6rem}}

/* Shared compact footer. */


  #footer { position: relative; isolation: isolate; background: var(--color-1); color: var(--color-2); border-radius: 2rem 2rem 0 0; padding-block: 2.25rem 1.5rem; }
  #footer .footer__top { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem 3rem; }
  #footer .footer__brand { display: inline-flex; align-items: center; gap: .65rem; color: inherit; text-decoration: none; font-size: 1.75rem; font-weight: 600; letter-spacing: -.04em; }
  #footer .footer__logo { width: 2.5rem; height: 1.75rem; fill: none; stroke-width: 3.2; stroke-linecap: round; }
  #footer .footer__logo-a { stroke: var(--color-4); }
  #footer .footer__logo-b { stroke: var(--color-2); }
  #footer .footer__tagline { margin-top: .35rem; color: var(--color-9); font-size: .875rem; line-height: 1.5; }
  #footer .footer__links { display: grid; grid-template-columns: repeat(3, auto); gap: .15rem 2rem; font-size: .875rem; }
  #footer .footer__links a { display: flex; align-items: center; min-height: 2.75rem; color: inherit; text-decoration: none; }
  #footer a:hover { text-decoration: underline; text-underline-offset: .25em; }
  #footer a:focus-visible { outline: 2px solid var(--color-4); outline-offset: 4px; }
  #footer .footer__legal { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid color-mix(in srgb, var(--color-2) 18%, transparent); color: var(--color-9); font-size: .75rem; line-height: 1.5; }
  #footer .footer__legal a { color: inherit; }
  #footer .footer__legal > a { display: inline-flex; align-items: center; min-height: 2.75rem; }
  #footer .footer__note { margin-top: .5rem; max-width: 95ch; color: var(--color-9); font-size: .75rem; line-height: 1.6; }
  #footer .footer__note strong { color: var(--color-2); font-weight: 500; }
  @media (max-width: 47.99rem) {
    #footer { padding-block: 1.75rem 1.25rem; border-radius: 1.5rem 1.5rem 0 0; }
    #footer .footer__top { flex-direction: column; align-items: stretch; gap: 1.25rem; }
    #footer .footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
    #footer .footer__legal { margin-top: 1rem; gap: .25rem; }
  }


/* One content grid and spacing scale for homepage, directories and detail pages. */
:root{--site-width:1240px;--site-gutter:clamp(1.25rem,4vw,3rem)}
.l-wrap{width:100%;max-width:calc(var(--site-width) + 2 * var(--site-gutter));margin-inline:auto;padding-inline:var(--site-gutter)}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}p{text-wrap:pretty}
.m-btn,.m-btn-2,.m-btn-3,.button{gap:.5rem;box-shadow:none;min-height:44px}
#nav .nav__bar,.page-nav{min-height:60px;padding:.4375rem .4375rem .4375rem 1.25rem;gap:1.5rem;background:#191b1ef5;border:1px solid #faf5f01f}
#nav .nav__links,.desktop-links{gap:1.5rem;font-size:.875rem;font-weight:550}
#nav .nav__links a,.desktop-links a{display:flex;align-items:center;min-height:44px}
.brand svg{width:36px;height:24px;stroke-linecap:round;stroke-width:3}
.brand path{stroke:var(--color-4)}.brand path+path{stroke:var(--color-2)}
#footer{font-family:'Host Grotesk',Arial,sans-serif}
#footer .footer__tagline,#footer .footer__note{max-width:none}
#footer .footer__legal p{margin:0}
#footer .footer__links{margin:0;padding:0}
#contact .contact__photo{aspect-ratio:4/3;max-height:24rem}
#contact .contact__photo img{object-position:50% 35%}
#contact .contact__ways{grid-template-columns:1fr}
.contact__form,.contact__info,.section>*{min-width:0}
.zr-form-grid{gap:1rem}
.zr-form-grid>label{display:flex!important;flex-direction:column;gap:.5rem;justify-content:space-between;min-width:0}
.zr-form-grid>label>input,.zr-form-grid>label>select{margin-top:auto}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.zr-choice{font-size:.875rem;line-height:1.35}
.contact__form .m-field__input{min-width:0;font-size:1rem}
.detail-page .contact__form{padding:1.5rem;background:#fffdfb;border:1px solid var(--line);border-radius:1.25rem;gap:1.25rem}
.detail-page .contact__form textarea{min-height:120px}
@media(min-width:768px){.section-heading h2{max-width:18ch}.section-heading{align-self:start}.introduction+.work{padding-top:0}}
@media(max-width:1100px){#nav .nav__bar,.page-nav{gap:1rem}#nav .nav__links,.desktop-links{gap:1rem}}
@media(max-width:1023px){.desktop-links,.page-nav>.compact{display:none}.page-nav{justify-content:space-between}.mobile-menu{display:block}.mobile-menu summary{padding:.5rem;min-height:44px;cursor:pointer}.mobile-menu>div{position:absolute;top:4.5rem;left:0;right:0;padding:1rem 1.4rem;border-radius:1.25rem;background:#191b1e;box-shadow:0 15px 25px #0002}.mobile-menu a{display:block;padding:.7rem 0;min-height:44px;text-decoration:none}}
@media(max-width:767px){#nav,.page-header{top:.75rem}#nav .nav__bar,.page-nav{min-height:56px;padding:.35rem .5rem .35rem 1rem}.page-header{left:var(--site-gutter);right:var(--site-gutter)}.brand{font-size:1.375rem}.m-text-3{line-height:1.08}#contact .contact__info{gap:1rem}#contact .contact__photo{aspect-ratio:16/9}.zr-form-grid{gap:1rem}.choices{gap:.25rem .75rem}.zr-choice{font-size:.8125rem}.detail-page .contact__form{padding:1.25rem}.page-hero{padding-top:6.5rem;gap:2rem}.hero-note{padding-top:1rem}.note-index{font-size:1.5rem;margin-bottom:1rem}.hero-note h2{font-size:1.375rem}.hero-note p:not(.eyebrow){margin-top:.75rem}.closing h2{max-width:22ch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

html{scroll-behavior:smooth}
#contact .contact__ways a{justify-self:start}
@media(min-width:1280px){#contact .choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:no-preference){#hero .hero__media{animation:founder-enter .7s ease-out both}@keyframes founder-enter{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
