@charset "UTF-8";
@font-face{font-family:"Aileron";src:url("/fonts/aileron-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Aileron";src:url("/fonts/aileron-semibold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Aileron";src:url("/fonts/aileron-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Aileron";src:url("/fonts/aileron-heavy.woff") format("woff");font-weight:800 900;font-style:normal;font-display:swap}

@font-face{font-family:"Aileron";src:url("/fonts/aileron-bolditalic.woff") format("woff");font-weight:700;font-style:italic;font-display:swap}
:root{--ink:#000000;--muted:#000000;--line:#000000;--accent:#ffde59;--white:#fff;font-family:"Aileron",Arial,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:2rem}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #000000;outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;min-height:106px;border-bottom:1px solid var(--line);gap:2rem}.wordmark{font-size:2.3rem;font-weight:900;letter-spacing:-.14rem;line-height:1}.wordmark span{color:var(--ink)}nav{display:flex;gap:2.3rem;font-size:.9375rem}nav a,.social-link{transition:opacity .18s}nav a:hover,.social-link:hover{text-decoration:underline;text-underline-offset:5px}.social-link{font-size:.9375rem;font-weight:600}.social-link span{margin-left:1rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;padding-block:60px 35px;align-items:center}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;line-height:1.6;margin:0 0 2rem}.cross{font-size:1.25rem;margin-right:.6rem;vertical-align:-1px}.hero h1{font-size:clamp(3.5rem,7.2vw,6.8rem);font-weight:800;letter-spacing:-.065em;line-height:1.025;margin:0 0 2rem}.highlight{position:relative;display:inline;background:linear-gradient(transparent 58%,var(--accent) 58%,var(--accent) 92%,transparent 92%);padding-right:.08em}.intro{font-size:1.125rem;line-height:1.75;max-width:420px;margin:0 0 2rem;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;min-height:56px;padding:1rem 1.35rem;font-size:.9375rem;font-weight:600;border:1px solid var(--ink);transition:background .18s,color .18s}.dark{background:var(--ink);color:#fff}.dark:hover{background:var(--accent);color:var(--ink)}.button span{font-size:1.25rem}.hero-note{font-size:.8125rem;color:var(--muted);margin:1.35rem 0 0}.hero-art{margin:0;position:relative;height:615px;min-width:0;border-left:1px solid var(--line);padding-left:24px}.hero-art img{display:block;width:100%;height:570px;object-fit:cover;object-position:50% 83%}.hero-art figcaption{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:20px;font-size:.625rem;font-weight:700;letter-spacing:.09em;color:var(--muted)}.topic-ribbon{border-block:1px solid var(--ink);background:var(--accent);margin-top:1.5rem}.topic-ribbon .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:1rem;font-size:.8125rem;font-weight:700;letter-spacing:.08em}.topic-ribbon span{font-size:1.5rem;font-weight:400}.section{padding-block:95px}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;column-gap:5rem;align-items:end;margin-bottom:42px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:1.3rem}.section-heading h2{font-size:clamp(2rem,3.5vw,3.25rem);letter-spacing:-.045em;font-weight:600;line-height:1.15;margin:0}.section-heading>p:last-child{font-size:1rem;line-height:1.75;color:var(--muted);max-width:380px;margin:0 0 3px}.topics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.topic{padding:25px 23px 21px;min-height:325px;display:flex;flex-direction:column;border:1px solid transparent}.history{background:#ffde59}.city{background:#ffffff}.interior{background:#ffde59}.sustainable{background:#ffde59}.topic-top{display:flex;justify-content:space-between;gap:.6rem;align-items:center;font-size:.8125rem;margin-bottom:53px}.tag{font-size:.625rem;letter-spacing:.04em;font-weight:700}.topic h3{font-size:1.5rem;font-weight:600;letter-spacing:-.04em;margin:0 0 14px}.topic p{font-size:1rem;line-height:1.65;margin:0 0 1.5rem;color:#000000}.topic-bottom{font-size:.75rem;padding-top:17px;border-top:1px solid #000000;margin-top:auto}.section-tail{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:1.5rem;font-size:.875rem}.section-tail>span{color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:1.4rem;font-size:.9375rem;font-weight:600;line-height:1.5;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link:hover{border-bottom-width:2px;padding-bottom:4px}.materials{background:#ffde59;border-block:1px solid var(--line)}.resources{display:grid;grid-template-columns:1fr 1fr;gap:24px}.resource{background:#fff;min-height:350px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line)}.resource .eyebrow{margin-bottom:1.25rem}.resource h3{font-size:2.3rem;font-weight:600;letter-spacing:-.05em;line-height:1.15;margin:0 0 1.2rem}.resource p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.75;max-width:450px}.resource .button{align-self:flex-start;margin-top:1rem}.resource-label{display:flex;align-items:start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.status{font-size:.75rem;padding:5px 9px;border:1px solid var(--line);white-space:nowrap;margin-bottom:1rem}.resource .resource-foot{font-size:.875rem!important;border-top:1px solid var(--line);padding-top:1.1rem;margin:1rem 0 0}.about{background:var(--ink);color:#fff}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem}.about .eyebrow{color:var(--accent)}.about h2{font-size:clamp(2.25rem,4vw,3.75rem);letter-spacing:-.045em;line-height:1.16;font-weight:600;margin:0}.about h2 span{color:var(--accent)}.about-copy p{font-size:1rem;line-height:1.8;color:#ffffff;margin:0 0 1.3rem}.about-copy p:first-child{font-size:1.3rem;color:#fff;line-height:1.55}.about .text-link{border-color:var(--accent);margin-top:.7rem}.connect{padding-block:75px;display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}.connect .eyebrow{margin-bottom:1rem}.connect h2{font-size:clamp(2.2rem,4vw,3.8rem);letter-spacing:-.05em;font-weight:600;margin:0}.socials{display:flex;flex-direction:column}.socials a{font-size:1rem;padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;transition:padding .2s}.socials a:hover{padding-inline:8px;background:var(--accent)}.footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line);padding-block:30px}.footer .wordmark{font-size:1.7rem}.footer p,.footer>a:last-child{font-size:.8125rem;color:var(--muted)}.skip{position:absolute;top:0;left:1rem;transform:translateY(-130%);z-index:10;background:var(--ink);color:#fff;padding:1rem}.skip:focus{transform:translateY(0)}
@media(min-width:1500px){.hero h1{font-size:6.8rem}.hero-art{height:665px}.hero-art img{height:620px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero h1{font-size:clamp(3.5rem,7.5vw,6rem)}.hero-art{height:560px;padding-left:15px}.hero-art img{height:515px}.hero-art figcaption{font-size:.625rem}.topics{grid-template-columns:repeat(2,1fr)}.topic{min-height:285px}.topic-top{margin-bottom:35px}.topic h3{font-size:1.75rem}.section-heading,.about-grid,.connect{gap:2.5rem}.resource{padding:30px}.resource h3{font-size:2rem}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{min-height:90px;flex-wrap:wrap;gap:1rem;padding-block:22px}.wordmark{font-size:2rem}.social-link{font-size:.8125rem}.header nav{order:3;width:100%;justify-content:space-between;gap:1rem;padding-top:.8rem;font-size:.875rem}.hero{grid-template-columns:1fr;padding-block:40px 24px;gap:24px}.hero h1{font-size:clamp(3.35rem,13.8vw,5.5rem)}.hero .eyebrow{margin-bottom:1.6rem}.intro{font-size:1rem;max-width:100%}.hero-art{height:420px;border-left:none;padding-left:0;max-width:450px;width:100%;margin-inline:auto}.hero-art img{height:380px;object-fit:cover;object-position:50% 64%}.hero-art figcaption{padding-top:12px}.topic-ribbon{margin-top:0}.topic-ribbon .wrap{font-size:.625rem;letter-spacing:0;gap:.5rem;min-height:52px;flex-wrap:wrap;justify-content:center;padding-block:10px}.topic-ribbon span{font-size:1rem}.section{padding-block:58px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.section-heading .eyebrow{margin:0}.section-heading h2{font-size:2.25rem}.section-heading>p:last-child{max-width:100%}.topics{grid-template-columns:1fr;gap:12px}.topic{min-height:260px;padding:24px}.topic-top{margin-bottom:35px}.tag{font-size:.6875rem}.topic p{font-size:1rem;max-width:410px}.section-tail{align-items:start;flex-direction:column;font-size:.875rem}.resources{grid-template-columns:1fr;gap:16px}.resource{padding:27px;min-height:350px}.resource h3{font-size:2.15rem}.about-grid{grid-template-columns:1fr;gap:35px}.about h2{font-size:2.5rem}.about .eyebrow{margin-bottom:1.2rem}.connect{padding-block:50px;grid-template-columns:1fr;gap:30px}.connect h2{font-size:2.8rem}.footer{flex-wrap:wrap;gap:1rem;padding-block:25px}.footer p{order:3;flex-basis:100%;margin:0}.footer .wordmark{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* TeCepi supplied identity */
.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{display:block;width:80px;height:80px}.hero h1{font-size:clamp(3.3rem,6.3vw,5.5rem)}.brand-slogan{font-size:1.125rem;font-weight:700;line-height:1.45;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 1.5rem}.footer-brand img{width:72px;height:72px}
@media(max-width:700px){.header{padding-block:14px}.brand img{width:72px;height:72px}.hero h1{font-size:clamp(3rem,12.5vw,5rem)}.brand-slogan{font-size:1rem}.footer-brand img{width:64px;height:64px}}

/* Content adapted from TeCepi's introductory posts. */
.topics{grid-template-columns:repeat(3,minmax(0,1fr))}.topic{min-height:340px}.topic h3{line-height:1.2}.theory{background:#ffffff}.experience{background:#ffffff}.founders{font-size:1.125rem;line-height:1.7;margin:2.5rem 0 0}.founders span{font-size:.875rem;color:#ffffff}.connect-copy{font-size:1rem;line-height:1.7;color:var(--muted);margin:1.3rem 0 0}
@media(max-width:1100px){.topics{grid-template-columns:repeat(2,minmax(0,1fr))}.topic{min-height:330px}}
@media(max-width:700px){.topics{grid-template-columns:1fr}.topic{min-height:280px}.founders{margin-top:1.5rem}}

/* Logo as the primary brand image; shared type for both wordmarks. */
.wordmark{font-family:inherit;font-weight:700;letter-spacing:-.04em}.hero-logo{height:auto;padding:0;border:0;background:#000;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.hero-logo img{width:100%;height:auto;max-height:none;object-fit:contain}.connect h2{font-size:clamp(2.15rem,3.5vw,3.25rem);line-height:1.15}
@media(max-width:700px){.hero-logo{height:auto;max-width:450px;aspect-ratio:1}.hero-logo img{height:auto}.connect h2{font-size:2.35rem}}

.founder-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:60px;max-width:1040px}.founder-portraits figure{margin:0;min-width:0}.founder-portraits img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}.founder-portraits figcaption{padding-top:20px}.founder-portraits h3{font-size:1.5rem;font-weight:600;margin:0 0 8px}.founder-portraits p{font-size:.9375rem;color:#ffffff;margin:0}
@media(max-width:700px){.founder-portraits{grid-template-columns:1fr;gap:36px;margin-top:40px}.founder-portraits figcaption{padding-top:16px}}

/* TeCepi palette: yellow, black and white. */
.topic{border:1px solid var(--ink)}.topic-ribbon .wrap{justify-content:center;text-align:center;min-height:76px;margin-block:0;padding-block:18px;font-size:1.125rem;line-height:1.6;letter-spacing:0}.topic-ribbon strong{font-weight:700}.about a:focus-visible{outline-color:var(--accent)}
@media(max-width:700px){.topic-ribbon .wrap{font-size:1rem;padding-block:18px;min-height:76px}}

/* A typographic opening and gentle movement throughout the page. */
.hero{display:block;padding-block:70px 60px}.hero-kicker{margin-bottom:28px}.hero h1{font-size:clamp(3.1rem,7.8vw,7rem);line-height:1.06;letter-spacing:-.05em;max-width:100%;margin:0 0 48px}.hero-details{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start}.hero .brand-slogan{font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.4;margin:0}.hero .intro{max-width:490px;margin-bottom:24px}.highlight{background-size:100% 100%;background-repeat:no-repeat}.topic{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.resource{transition:transform .25s ease,box-shadow .25s ease}.button{transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.button span,.text-link span,.socials span{display:inline-block;transition:transform .2s ease}.founder-portraits figure{transition:transform .3s ease}.reveal{transition:opacity .65s ease,transform .65s ease}.reveal.is-pending{opacity:0;transform:translateY(22px)}.topic.reveal,.resource.reveal{transition:opacity .65s ease,transform .3s ease,box-shadow .25s ease,background .25s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.topic:hover,.resource:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink)}.topic:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.button:hover span{transform:translate(2px,2px)}.text-link:hover span,.socials a:hover span{transform:translate(3px,-3px)}.founder-portraits figure:hover{transform:translateY(-5px)}}
@media(prefers-reduced-motion:no-preference){.hero-kicker{animation:enter .65s both}.hero h1{animation:enter .75s .08s both}.hero-details{animation:enter .75s .2s both}.hero .highlight{animation:mark .9s .4s both}}
@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes mark{from{background-size:0% 100%}to{background-size:100% 100%}}
@media(max-width:1100px){.hero-details{gap:2.5rem}}
@media(max-width:700px){.hero{padding-block:44px 40px}.hero h1{font-size:clamp(2.75rem,9.7vw,4.3rem);letter-spacing:-.045em;line-height:1.1;margin-bottom:32px}.hero h1 br{display:none}.hero-details{grid-template-columns:1fr;gap:24px}.hero .brand-slogan{font-size:1.125rem}.hero .intro{max-width:100%}.hero-kicker{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}}
