:root{--cloth:#f3e6cc;--ink:#251c20;--red:#d84c49;--blue:#315eaa;--yellow:#e8b83f;--green:#4d8069;--rose:#d8a1a0;--line:#8e776c;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--cloth);color:var(--ink);font-family:Georgia,serif;line-height:1.55}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(90deg,#6c514a 0 1px,transparent 1px 5px),repeating-linear-gradient(0deg,#6c514a 0 1px,transparent 1px 5px)}a{color:inherit}button,input,select,textarea{font:inherit}.skip{position:fixed;top:-4rem;left:1rem;z-index:40;background:var(--yellow);padding:.7rem}.skip:focus{top:1rem}body>header{max-width:var(--max);margin:auto;height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1.5rem;border-left:1px solid var(--line);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:Arial,sans-serif;font-size:1.1rem}.brand i{width:2.6rem;height:2.6rem;background:repeating-linear-gradient(90deg,var(--red) 0 8px,var(--blue) 8px 16px,var(--yellow) 16px 24px,var(--green) 24px 32px);border-radius:50%}header nav{display:flex;gap:2rem}header nav a{text-decoration:none;font:700 .65rem Arial;text-transform:uppercase;letter-spacing:.1em}header>span{justify-self:end;font:700 .58rem Arial}.hero{max-width:var(--max);margin:auto;min-height:850px;border:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;grid-template-rows:38px 1fr auto}.selvedge{grid-column:1/-1;background:var(--ink);color:var(--cloth);white-space:nowrap;overflow:hidden;font:700 .62rem Arial;letter-spacing:.22em;padding:.7rem}.hero-copy{padding:6rem 3rem;align-self:center}.overline{text-transform:uppercase;letter-spacing:.18em;font:800 .63rem Arial;color:#7d3735}.hero h1,.extract h2,.obligations h2,.renewals h2,.contact h2{font-weight:400;letter-spacing:-.06em;line-height:.88}.hero h1{font-size:clamp(4rem,7vw,7.8rem);margin:.7rem 0 1.5rem;max-width:8ch}.hero-copy>p:not(.overline){max-width:46ch;color:#6a5650}.hero-copy>a{display:inline-block;margin-top:2rem;text-decoration:none;border-bottom:3px solid var(--red);padding-bottom:.5rem}.loom{position:relative;overflow:hidden;background:#c8ac93;display:grid;place-items:center}.warp,.weft{position:absolute;inset:5%;display:flex;justify-content:space-around}.warp i{height:100%;width:5%;background:var(--blue);box-shadow:inset 3px 0 #ffffff33}.warp i:nth-child(2n){background:var(--red)}.warp i:nth-child(3n){background:var(--yellow)}.weft{flex-direction:column}.weft i{height:8%;width:100%;background:var(--green);mix-blend-mode:multiply}.weft i:nth-child(2n){background:var(--yellow)}.loom::before,.loom::after{content:"";position:absolute;left:2%;right:2%;height:25px;background:var(--ink);z-index:3}.loom::before{top:3%}.loom::after{bottom:3%}.shuttle{position:relative;z-index:4;width:55%;height:70px;background:var(--cloth);clip-path:polygon(15% 0,100% 40%,85% 100%,0 60%);display:grid;place-items:center;transform:rotate(-8deg);box-shadow:0 15px 40px #0005}.shuttle span{font:800 .7rem Arial;letter-spacing:.2em}.loom>b{position:absolute;bottom:8%;z-index:4;color:white}.hero-key{grid-column:1/-1;display:flex;gap:2rem;padding:1rem;border-top:1px solid var(--line);font:700 .62rem Arial;text-transform:uppercase}.hero-key i,.thread-picker i{display:inline-block;width:.7rem;height:.7rem;background:var(--red)}i.blue{background:var(--blue)}i.yellow{background:var(--yellow)}i.green{background:var(--green)}.extract{padding:8rem max(1.5rem,calc((100% - var(--max))/2));background:#ece4d8}.extract>header{display:grid;grid-template-columns:.5fr 1.3fr .7fr;gap:3rem;align-items:end}.extract h2,.obligations h2,.renewals h2,.contact h2{font-size:clamp(3.5rem,6vw,6.5rem);margin:0}.extract>header>p:last-child{color:#715c55}.clause-studio{display:grid;grid-template-columns:180px 1.25fr .75fr;margin-top:4rem;border:1px solid var(--ink)}.thread-picker{display:grid;background:var(--ink)}.thread-picker button{border:0;border-bottom:1px solid #ffffff33;background:transparent;color:white;padding:1rem;text-align:left;cursor:pointer}.thread-picker button.active{background:var(--cloth);color:var(--ink)}.thread-picker i{margin-right:.5rem}.document{padding:3rem;background:#fffdf7;box-shadow:inset 12px 0 var(--cloth)}.paper-head{display:flex;justify-content:space-between;font:700 .58rem Arial;letter-spacing:.13em;border-bottom:1px solid;padding-bottom:1rem}.document p{margin:2rem 0}.document mark{background:#f3d57b;padding:.2rem}.extraction{padding:2rem;background:var(--rose)}.extraction>span{font:700 .58rem Arial}.extraction h3{font-size:2.2rem}.extraction dl div{border-top:1px solid;padding:1rem 0}.extraction dt{font:700 .57rem Arial;text-transform:uppercase}.extraction dd{margin:.4rem 0}.extraction button{border:0;background:var(--ink);color:white;padding:.8rem;cursor:pointer}.extraction small{display:block;margin-top:1rem}.obligations{padding:8rem max(1.5rem,calc((100% - var(--max))/2));background:var(--ink);color:var(--cloth)}.obligations>div:first-child{display:grid;grid-template-columns:.5fr 1.5fr}.obligation-threads{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem}.obligation-threads article{min-height:400px;padding:1.5rem;border:1px solid #f3e6cc66;margin-right:-1px;display:flex;flex-direction:column;background:repeating-linear-gradient(90deg,transparent 0 94%,var(--red) 94% 96%,transparent 96%)}.obligation-threads article:nth-child(2){background-color:#253d6c}.obligation-threads article:nth-child(3){background-color:#73423f}.obligation-threads span{font:700 .6rem Arial;color:var(--yellow)}.obligation-threads h3{font-size:2rem;margin-top:4rem}.obligation-threads p{color:#c7bcb0}.obligation-threads b{margin-top:auto;font:700 .7rem Arial}.renewals{display:grid;grid-template-columns:.8fr 1.2fr;min-height:720px}.renewals>aside{padding:8rem max(1.5rem,calc((100vw - var(--max))/2));padding-right:4rem;background:var(--yellow)}.renewals aside>div{display:flex;gap:.5rem}.renewals button{border:1px solid;background:transparent;padding:.7rem;cursor:pointer}.renewals button.active{background:var(--ink);color:white}.renewal-tapestry{padding:8rem 5rem;background:var(--green);color:white}.calendar-line{display:flex;justify-content:space-between;border-top:3px solid white;margin-bottom:6rem}.calendar-line i{width:1rem;height:1rem;background:var(--yellow);border-radius:50%;transform:translateY(-.6rem)}.renewal-tapestry strong{font-size:3rem}.renewal-tapestry li{margin:1rem 0}.renewal-tapestry small{display:block;margin-top:4rem}.contact{padding:8rem max(1.5rem,calc((100% - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:6rem}.contact form{display:grid;gap:1rem}.contact label{font:700 .62rem Arial;text-transform:uppercase}.contact input,.contact select,.contact textarea{display:block;width:100%;padding:1rem;margin-top:.3rem;background:transparent;border:1px solid}.contact textarea{min-height:100px}.contact button{background:var(--red);color:white;border:0;padding:1rem;cursor:pointer}#form-status{margin:0}footer{max-width:var(--max);margin:auto;padding:2.5rem 1.5rem;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr 1fr auto;align-items:center;gap:2rem;font:400 .75rem Arial}footer address{font-style:normal}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}@media(max-width:850px){body>header{grid-template-columns:1fr}header>span{display:none}header nav{position:fixed;bottom:.7rem;left:.7rem;right:.7rem;z-index:20;background:var(--ink);color:white;padding:.8rem;justify-content:space-around}.hero{grid-template-columns:1fr}.hero-copy{padding:4rem 1.5rem}.loom{min-height:500px}.extract>header{grid-template-columns:1fr}.clause-studio{grid-template-columns:1fr}.thread-picker{display:flex;overflow:auto}.thread-picker button{min-width:160px}.obligations>div:first-child{grid-template-columns:1fr}.obligation-threads{grid-template-columns:1fr 1fr}.renewals{grid-template-columns:1fr}.renewals>aside,.renewal-tapestry{padding:6rem 1.5rem}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr;padding-bottom:6rem}}@media(max-width:520px){.hero h1,.extract h2,.obligations h2,.renewals h2,.contact h2{font-size:3.5rem}.hero-key{overflow:auto}.loom{min-height:360px}.extract,.obligations,.contact{padding:5rem 1rem}.document,.extraction{padding:1.5rem}.obligation-threads,footer{grid-template-columns:1fr}.obligation-threads article{min-height:250px}.renewal-tapestry strong{font-size:2.3rem}.renewals aside>div{overflow:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
