/* THE INSTITUTE — house shell for product apps (CUTLINE, RBT tools).
   Namespaced (ihs-) so it never collides with a product page's own CSS. */
.ihs{--ihs-bg:#F6F6F4;--ihs-ink:#1C1C1E;--ihs-mute:#535357;--ihs-line:rgba(28,28,30,.12);--ihs-hover:#ECECEA;
  font-family:'Montserrat','Helvetica Neue',Helvetica,Arial,sans-serif;color:var(--ihs-ink);-webkit-font-smoothing:antialiased;line-height:1.5;text-align:left}
.ihs.dark{--ihs-bg:#151516;--ihs-ink:#F6F6F4;--ihs-mute:#B4B4B1;--ihs-line:rgba(246,246,244,.14);--ihs-hover:#1F1F21}
.ihs *{box-sizing:border-box}
.ihs a{color:inherit;text-decoration:none}
.ihs-hd{position:relative;z-index:60;background:var(--ihs-bg);border-bottom:1px solid var(--ihs-line)}
.ihs-in{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px);height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.ihs-l{display:flex;gap:26px;align-items:center}.ihs-r{display:flex;gap:26px;justify-content:flex-end;align-items:center}
.ihs-nl{font:500 10.5px/1 'Montserrat',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--ihs-ink);background:none;border:0;padding:8px 0;cursor:pointer;position:relative;border-radius:0}
.ihs-nl::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:currentColor;transition:right .45s cubic-bezier(.22,.61,.36,1)}
.ihs-nl:hover::after,.ihs-nl[aria-expanded="true"]::after{right:0}
.ihs-car{display:inline-block;margin-left:7px;font-size:8px;transition:transform .35s}
.ihs-nl[aria-expanded="true"] .ihs-car{transform:rotate(180deg)}
.ihs-mark{font:500 12.5px/1 'Montserrat',sans-serif;letter-spacing:.34em;text-transform:none!important;white-space:nowrap;color:var(--ihs-ink)}
.ihs-mark b{font-weight:600}
.ihs-menu{position:absolute;left:0;right:0;top:60px;background:var(--ihs-bg);border-bottom:1px solid var(--ihs-line);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .35s,transform .35s,visibility 0s .35s}
.ihs-menu.open{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .35s}
.ihs-grid{max-width:1240px;margin:0 auto;padding:32px clamp(20px,4vw,56px) 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.ihs-h{font:500 10px/1 'Montserrat',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--ihs-mute);margin:0 0 16px}
.ihs-menu a{display:block;padding:6px 0}
.ihs-t{display:block;font-family:'Montserrat',sans-serif;font-size:18px;font-weight:300;letter-spacing:.02em;line-height:1.2;transition:opacity .3s}
.ihs-d{display:block;font-size:12px;color:var(--ihs-mute)}
.ihs-menu a:hover .ihs-t{opacity:.55}
.ihs-ft{background:var(--ihs-bg);border-top:1px solid var(--ihs-line);padding:28px clamp(20px,4vw,56px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ihs-mute)}
.ihs-ft a:hover{color:var(--ihs-ink)}
.ihs-ft span a{margin-left:18px}
@media (max-width:640px){.ihs-in{grid-template-columns:auto 1fr auto;height:56px}.ihs-menu{top:56px}.ihs-sm{display:none!important}.ihs-mark{font-size:11px;letter-spacing:.24em;justify-self:center}.ihs-grid{grid-template-columns:1fr;max-height:calc(100vh - 56px);overflow:auto}.ihs-ft{justify-content:center;text-align:center}}
@media (prefers-reduced-motion:reduce){.ihs *{transition:none!important}}
