@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--paper:#F1EDE4;--ink:#15191C;--muted:#57514B;--blue:#E4DFD4;--link:#8A2C2C;--action:#8A2C2C;--rose:#DCC5B3;--wine:#8A2C2C;--dark:#101416;--white:#F1EDE4;--line:#BDB7AD;--mat:#E4DFD4;--tungsten:#E8A06A;--graphite:#1C2225;--display:Bricolage,Georgia,serif;--body:Manrope,Arial,sans-serif;--gutter:clamp(1.25rem,5vw,5rem);--gap:clamp(1.5rem,4vw,4rem);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem;scrollbar-color:var(--link) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--body);-webkit-font-smoothing:antialiased}::selection{background:var(--rose);color:var(--ink)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto;display:block}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:5px}button:disabled{opacity:.55;cursor:wait}p{margin:0 0 1.25rem}h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.06;letter-spacing:-.035em;margin:0 0 1.5rem;text-wrap:balance}h1{font-size:clamp(2.75rem,6.3vw,6rem)}h2{font-size:clamp(2.1rem,4.5vw,4rem)}h3{font-size:clamp(1.5rem,2.5vw,2.3rem)}h4{font-size:1.25rem}ul,ol{padding-left:1.25rem}figure{margin:0}figcaption,.caption{font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:.65rem}small{font-size:.8125rem}strong{font-weight:700}[hidden]{display:none!important}.skip{position:absolute;left:1rem;top:-8rem;z-index:99;background:var(--paper);padding:.75rem}.skip:focus{top:1rem}.wrap{width:min(100%,1440px);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3.75rem,8vw,7rem)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}.section-head h2{max-width:15ch;margin:0}.section-head p{max-width:36ch;margin:0;color:var(--muted)}.quiet{color:var(--muted)}.text-link{font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.75rem}.text-link::after{content:'\2197';font-size:1.2em}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:.8rem;padding:.85rem 1.3rem;background:var(--action);color:var(--paper);text-decoration:none;font-weight:600;font-size:.9rem;min-height:48px;border-radius:4px;transition:background .18s var(--ease),transform .18s var(--ease)}.button:hover{background:var(--ink);transform:translateY(-2px);text-decoration:none}.button.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.rule{border:0;border-top:1px solid var(--line);margin:0}.status{font-size:.7rem;letter-spacing:.025em;border:1px solid currentColor;display:inline-block;padding:.25rem .55rem;line-height:1.25;border-radius:3px;width:fit-content;font-weight:600}.tags{display:flex;gap:.5rem;flex-wrap:wrap}.tags span{font-size:.75rem;background:var(--mat);padding:.3rem .6rem;border-radius:3px}
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:90px;display:flex;align-items:center;gap:2.5rem}.brand{font:700 1.45rem/1 var(--display);letter-spacing:-.04em;color:var(--ink);text-decoration:none;white-space:nowrap}.brand em{font-style:normal;color:var(--wine)}.site-menu{display:flex;align-items:center;gap:1.8rem;margin-left:auto}.site-menu a{font-size:.82rem;color:var(--ink);text-decoration:none;padding:.6rem 0}.site-menu a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--wine);text-decoration-thickness:2px}.site-menu .contact-nav{border-bottom:1px solid var(--ink)}.language-menu{position:relative;font-size:.75rem}.language-menu summary{cursor:pointer;padding:.6rem;min-height:44px;display:flex;align-items:center;gap:.5rem}.language-menu summary::after{content:'\2304'}.language-menu div{position:absolute;top:100%;right:0;z-index:10;background:var(--paper);border:1px solid var(--line);padding:.5rem;min-width:100px}.language-menu a{display:block;padding:.5rem;color:var(--ink)}.menu-toggle{display:none;background:transparent;border:1px solid var(--ink);border-radius:3px;padding:.6rem 1rem;font-size:.85rem}
.hero{background:var(--blue);overflow:clip}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--gap);align-items:center;padding-block:clamp(3rem,6vw,6.5rem)}.hero h1{font-size:clamp(3.25rem,6.25vw,6rem);line-height:.99;max-width:9ch;margin-bottom:2rem}.hero h1 em{font-style:normal;color:var(--wine)}.hero-intro{max-width:42ch;font-size:1rem;line-height:1.75}.hero-intro strong{font-weight:600}.hero .actions{margin-top:1.8rem}.identity{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.identity img{width:44px;height:44px;object-fit:cover;border-radius:50%}.identity p{font-size:.75rem;line-height:1.5;margin:0}.identity span{display:block;font-weight:700}.hero-foot{border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent);padding:1.15rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem}.hero-foot a{color:var(--ink)}.strata{min-width:0;align-self:center}.strata-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.strata-title{font:600 1.25rem var(--display);margin:0}.strata-tabs{display:flex;gap:.25rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);margin-bottom:.8rem}.strata-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink);padding:.75rem .8rem;font-size:.75rem;min-height:44px}.strata-tabs button[aria-selected=true]{border-bottom-color:var(--wine);font-weight:700}.strata [role=tabpanel]{min-height:278px}.screen-mat{padding:1.15rem;background:var(--mat);border-radius:4px}.screen-mat img{width:100%;border-radius:2px;aspect-ratio:1520/735;object-fit:cover}.strata .screen-mat{background:var(--dark);padding:.75rem}.strata [role=tabpanel]>.decisions{background:var(--paper);padding:1.5rem;min-height:278px}.decisions h3{font-size:1.5rem}.decisions ul{margin:0;padding-left:1.1rem}.decisions li{font-size:.85rem;margin-bottom:.75rem}.strata [role=tabpanel]>.evidence{min-height:278px;background:var(--dark);color:var(--white);padding:1.5rem}.evidence h3{font-size:1.4rem}.evidence p{font-size:.85rem}.evidence a{color:var(--rose)}.evidence .figure-number{font:600 3.2rem/1 var(--display);display:block;margin-bottom:.6rem}.strata-credit{font-size:.7rem;color:var(--muted);margin:.8rem 0 0}.strata-credit a{color:inherit}
.project-list{display:flex;flex-direction:column}.project-row{display:grid;grid-template-columns:.75fr 1.5fr 1fr;gap:2rem;align-items:center;border-top:1px solid var(--line);padding:2rem 0;color:var(--ink);text-decoration:none}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row h3{margin:.7rem 0;font-size:clamp(1.7rem,3vw,2.75rem)}.project-row p{margin:0;font-size:.875rem;max-width:50ch}.project-row .project-type{font-size:.75rem;color:var(--muted);margin-top:.6rem}.project-thumb{overflow:hidden;background:var(--mat);aspect-ratio:1.7;border-radius:4px}.project-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease)}.project-row:hover .project-thumb img{transform:scale(1.035)}.project-row .project-arrow{justify-self:end;font-size:1.75rem;line-height:1}.project-body{display:flex;flex-direction:column;align-items:start}.project-row.compact{grid-template-columns:1.75fr 1.25fr auto}.project-row.compact .project-thumb{display:none}.project-row.compact h3{font-size:1.8rem}.project-row.compact .project-type{margin:0}.typographic-cover{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--action);color:var(--paper);padding:1.25rem;line-height:1.1;text-align:center}.typographic-cover strong{font:600 clamp(1.75rem,4vw,3rem)/1 var(--display);letter-spacing:-.035em}.typographic-cover small{font-size:.6rem;margin-top:.75rem;letter-spacing:.05em}.cover-rada{background:var(--rose);color:var(--wine)}.cover-supply{background:var(--blue);color:var(--ink)}.cover-research{background:#E1E4D2;color:#28362C}.project-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.project-filter button{border:1px solid var(--line);background:transparent;border-radius:3px;padding:.7rem 1rem;min-height:44px;color:var(--ink);font-size:.8rem}.project-filter button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.service{border-top:1px solid var(--ink);padding-top:1.5rem}.service h3{font-size:1.8rem;max-width:12ch}.service p{font-size:.9rem;color:var(--muted)}.service .text-link{margin-top:.75rem}.workshop{background:var(--dark);color:var(--white)}.workshop .section-head p,.workshop .quiet{color:#BFCBCA}.workshop a{color:var(--rose)}.workshop .button{background:var(--paper);color:var(--dark)}.workshop .button:hover{background:var(--rose)}.workshop h2{max-width:14ch}.workshop-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--gap)}.method-list{margin:0;list-style:none;padding:0;counter-reset:method}.method-list li{padding:1.25rem 0;border-top:1px solid #526567;display:grid;grid-template-columns:1.5rem 1fr;gap:1rem;counter-increment:method}.method-list li::before{content:counter(method);font-size:.8rem;color:var(--rose);padding-top:.2rem}.method-list h3{font-size:1.4rem;margin:0 0 .5rem}.method-list p{margin:0;font-size:.9rem;color:#BFCBCA}.tools-line{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap;font:600 1.4rem var(--display);color:var(--rose)}.portrait-section{background:var(--rose)}.portrait-grid{display:grid;grid-template-columns:.75fr 1.3fr;gap:clamp(2rem,8vw,8rem);align-items:center}.portrait{background:var(--mat);border-radius:4px;max-width:400px;overflow:hidden}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%}.portrait-grid h2{max-width:15ch}.portrait-grid p{max-width:59ch}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-block:2rem}.credential{border-top:1px solid color-mix(in srgb,var(--wine) 40%,transparent);padding-top:1rem}.credential strong{font:600 1.4rem var(--display);display:block}.credential span{display:block;font-size:.8rem}.closing{padding-block:5rem}.closing h2{max-width:17ch}.closing .wrap{display:flex;justify-content:space-between;align-items:end;gap:2rem}.closing p{max-width:50ch}.site-footer{background:var(--dark);color:var(--white);padding:3rem 0}.footer-top{display:flex;justify-content:space-between;gap:2rem;padding-bottom:2rem}.footer-signature{font:600 clamp(2rem,5vw,4rem) var(--display);letter-spacing:-.04em}.footer-links{display:flex;flex-wrap:wrap;align-content:start;gap:1rem 1.5rem;max-width:430px}.site-footer a{color:var(--white);font-size:.8rem}.footer-bottom{border-top:1px solid #526567;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.7rem}.site-footer button{background:none;border:0;padding:0;color:var(--white);font-size:.75rem;text-decoration:underline;text-underline-offset:.25em}
.page-heading{padding-block:4rem 2rem}.page-heading h1{max-width:18ch}.page-heading p{max-width:60ch;color:var(--muted);font-size:1.075rem}.case-hero{padding-block:3.5rem;background:var(--blue)}.case-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem}.case-heading h1{font-size:clamp(2.75rem,5.5vw,5rem);max-width:16ch;margin-top:1.5rem}.case-heading p{max-width:60ch}.case-meta{min-width:190px;border-top:1px solid var(--ink);padding-top:1rem;margin-top:2rem;font-size:.8rem}.case-meta dt{color:var(--muted);margin-top:.75rem}.case-meta dd{margin:0}.case-image{margin-top:2.5rem}.case-image .screen-mat{max-width:1100px;margin:auto}.case-image img{object-fit:contain;max-height:620px;aspect-ratio:auto}.case-text{max-width:820px;margin:auto}.case-text h2{font-size:2.3rem;margin-top:2.5rem}.case-text h3{font-size:1.6rem;margin-top:2rem}.case-text p{line-height:1.85}.case-text .tags{margin-bottom:2rem}.evidence-block{padding:2rem;background:var(--paper);border:1px solid var(--line);border-radius:4px;margin-block:2rem}.evidence-block h3{margin-top:0}.evidence-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.evidence-stats strong{font:600 2.8rem/1 var(--display);display:block}.evidence-stats span{font-size:.75rem;line-height:1.4;display:block;margin-top:.75rem}.country-list{list-style:none;padding:0;margin:2rem 0}.country-list li{display:grid;grid-template-columns:100px 1fr 30px;gap:.75rem;align-items:center;margin:.65rem 0;font-size:.8rem}.country-bar{height:8px;background:var(--mat)}.country-bar span{display:block;height:100%;background:var(--link)}.evidence-note{font-size:.75rem;color:var(--muted);margin:1.25rem 0 0}.next-project{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;padding-top:2rem;margin-top:3rem}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.profile-facts article{border-top:1px solid var(--line);padding-top:1.5rem}.profile-facts h3{font-size:1.5rem}.profile-facts p{font-size:.9rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--gap)}.contact-aside h2{font-size:2rem}.contact-aside p{max-width:40ch}.contact-email{font:600 clamp(1rem,2.5vw,1.6rem) var(--display)}.contact-form{display:grid;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.85rem;font-weight:600}.field input,.field textarea,.field select{width:100%;background:transparent;color:var(--ink);border:1px solid #8A999B;border-radius:3px;padding:.85rem;font-size:1rem;caret-color:var(--wine)}.field textarea{min-height:145px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#5A666D}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form [type=submit]{justify-self:start}.form-notice{font-size:.75rem;color:var(--muted)}.form-status{padding:1rem 0;font-size:.9rem}.form-status:empty{display:none}.field-check{display:flex;gap:.7rem;align-items:start;font-size:.8rem}.field-check input{margin-top:.35rem;accent-color:var(--action);width:18px;height:18px;flex-shrink:0}.hp{display:none}
.legacy-content{max-width:1100px;margin:0 auto;padding:3rem var(--gutter) 5rem}.legacy-content h1{font-size:clamp(2.6rem,5vw,4.5rem);margin-top:0}.legacy-content h2{font-size:2.1rem;margin-top:3rem}.legacy-content h3{font-size:1.5rem;margin-top:2rem}.legacy-content p,.legacy-content li{max-width:72ch}.legacy-content p{line-height:1.85}.legacy-content .slbl,.legacy-content .sl,.legacy-content .arr,.legacy-content .sol-illustration,.legacy-content .pp-toc,.legacy-content .sv-illu{display:none}.legacy-content .fu{opacity:1;transform:none}.legacy-content .cta-link,.legacy-content .btn,.legacy-content .bpri{display:inline-block;background:var(--action);color:var(--paper);padding:.8rem 1rem;border-radius:3px;text-decoration:none}.legacy-content .srv,.legacy-content .sol-card,.legacy-content .blog-card,.legacy-content .pp-section{padding-block:1rem}.legacy-content table{width:100%;border-collapse:collapse;font-size:.85rem}.legacy-content td,.legacy-content th{padding:.8rem;text-align:left;border-bottom:1px solid var(--line)}.legacy-content figure{margin-block:2rem}.legacy-content img{max-height:500px;object-fit:contain}.legacy-content pre{overflow:auto;background:var(--mat);padding:1rem}.legacy-content .sc-img,.legacy-content .blog-cover{max-width:700px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.consent-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:50;margin:auto;max-width:1200px;padding:1.2rem 1.5rem;border:1px solid var(--ink);border-radius:5px;background:var(--paper);box-shadow:0 12px 40px #14202A22}.consent-inner{display:flex;gap:2rem;align-items:center;justify-content:space-between}.consent-inner p{font-size:.8rem;max-width:65ch;margin:0}.consent-actions{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.consent-actions button{border:1px solid var(--ink);background:transparent;padding:.65rem .9rem;border-radius:3px;color:var(--ink);font-size:.75rem;min-height:44px}.consent-actions button[data-consent=accept]{background:var(--ink);color:var(--paper)}.consent-preferences{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.consent-preferences label{display:flex;gap:.7rem;align-items:center;font-size:.85rem}.consent-preferences button{margin-top:1rem}.preview-mark{background:var(--dark);color:var(--white);font-size:.7rem;padding:.5rem var(--gutter);text-align:center}.preview-mark a{color:var(--rose)}
@media(max-width:1100px){.site-menu{gap:1.1rem}.header-inner{gap:1.25rem}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(3.2rem,7vw,5.4rem)}.strata-tabs button{padding-inline:.55rem}.project-row{grid-template-columns:.9fr 1.5fr 1fr;gap:1.5rem}.consent-inner{flex-wrap:wrap;gap:1rem}}
@media(max-width:800px){.header-inner{flex-wrap:wrap;min-height:76px;padding-block:1rem;gap:1rem}.language-menu{margin-left:auto}.site-menu{width:100%;order:5;justify-content:flex-start;flex-wrap:wrap;margin:0;gap:.5rem 1.5rem}.js .menu-toggle{display:inline-flex}.js .site-menu:not(.is-open){display:none}.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero h1{font-size:clamp(3.3rem,11vw,5.4rem);max-width:13ch}.hero-intro{max-width:55ch}.strata{max-width:650px}.hero-foot{flex-wrap:wrap}.strata [role=tabpanel]{min-height:0}.strata-tabs button{padding-inline:1rem}.section-head{display:block}.section-head p{margin-top:1.5rem;max-width:55ch}.project-row{grid-template-columns:1fr 1.25fr}.project-row>p{display:none}.project-row.compact{grid-template-columns:1.7fr 1.1fr}.project-row.compact>p{display:block}.services-grid{grid-template-columns:1fr;gap:2rem}.service h3{max-width:none}.workshop-grid{grid-template-columns:1fr;gap:2.5rem}.portrait-grid{grid-template-columns:.8fr 1.2fr;gap:2rem}.portrait-grid h2{font-size:2.4rem}.credentials{grid-template-columns:1fr}.closing .wrap{display:block}.closing .actions{margin-top:2rem}.case-heading{display:block}.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-width:600px}.case-meta dt{margin:0}.contact-grid{grid-template-columns:1fr}.footer-top{display:block}.footer-links{margin-top:2rem}.profile-facts{grid-template-columns:1fr}.case-image .screen-mat{padding:.5rem}}
@media(max-width:520px){.hero h1{font-size:clamp(3rem,12vw,4rem)}.identity{margin-bottom:1.75rem}.hero .actions{gap:1rem}.hero-intro{font-size:.9rem}.hero-grid{padding-block:2.5rem}.hero-foot{font-size:.7rem}.strata-head{gap:.5rem}.strata-title{font-size:1.15rem}.strata-tabs button{padding:.75rem .65rem;font-size:.7rem;flex:1}.strata-tabs{gap:0}.strata [role=tabpanel]>.decisions,.strata [role=tabpanel]>.evidence{padding:1.25rem;min-height:0}.screen-mat{padding:.6rem}.project-row{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem 0}.project-row .project-thumb{aspect-ratio:1.85}.project-row>p{display:block}.project-row.compact{grid-template-columns:1fr;gap:.4rem}.project-row.compact h3{font-size:1.7rem}.portrait-grid{grid-template-columns:1fr}.portrait{max-width:240px}.portrait img{aspect-ratio:1/1}.credentials{grid-template-columns:1fr 1fr}.section-head{margin-bottom:2rem}.section-head h2{max-width:13ch}.case-heading h1{font-size:2.65rem}.case-meta{grid-template-columns:1fr 1.4fr}.case-text h2{font-size:1.9rem}.evidence-stats{gap:.75rem}.evidence-stats strong{font-size:2rem}.evidence-stats span{font-size:.75rem}.evidence-block{padding:1.25rem}.field-row{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom>*{margin-bottom:.7rem}.consent-banner{left:.5rem;right:.5rem;bottom:.5rem;padding:1rem}.consent-actions{gap:.4rem}.consent-actions button{padding-inline:.7rem;font-size:.7rem}.brand{font-size:1.25rem}.menu-toggle{font-size:.75rem;padding:.5rem .7rem}.language-menu summary{padding:.5rem}.header-inner{gap:.6rem}.country-list li{grid-template-columns:85px 1fr 25px}.contact-email{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.community-intro{display:flex;justify-content:space-between;gap:2rem;margin-bottom:2rem}.community-intro h2{font-size:2.5rem}.community-intro p{max-width:45ch;color:var(--muted);font-size:.9rem}.collab-list{list-style:none;margin:0;padding:0}.collab-list li{border-top:1px solid var(--line)}.collab-link{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;padding:1.5rem 0;color:var(--ink);text-decoration:none}.collab-name h3{font-size:1.6rem;margin:0 0 .3rem}.collab-name span,.collab-detail p,.collab-action{font-size:.8rem}.collab-detail p{margin-bottom:.5rem}.collab-action{display:flex;gap:.5rem;align-items:center;color:var(--link)}.timeline{margin-top:3rem}.tl-section{margin-top:2rem}.tl-label{font:600 1.6rem var(--display);border-bottom:1px solid var(--line);padding-bottom:1rem}.tl-item{padding:1.25rem 0;border-bottom:1px solid var(--line)}.tl-role{font-weight:700}.tl-org,.tl-date,.tl-note{font-size:.85rem}.tl-date{color:var(--muted);margin:.4rem 0}.source-code{max-width:100%;overflow:auto;background:var(--dark);color:var(--white);padding:1.5rem;font:400 .75rem/1.8 Consolas,monospace;border-radius:4px}
@media(max-width:600px){.community-intro{display:block}.collab-link{grid-template-columns:1fr;gap:.5rem}.community-intro h2{font-size:2rem}}
/* Sourced Lucide icons and local layer transition */
.icon-arrow,.text-link::after{content:"";display:inline-block;flex:none;width:1em;height:1em;background:currentColor;mask:url(data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyA3aDEwdjEwIiAvPgogIDxwYXRoIGQ9Ik03IDE3IDE3IDciIC8+Cjwvc3ZnPgo=) center/contain no-repeat;vertical-align:-.1em}
.language-menu summary::after{content:"";display:inline-block;width:.8em;height:.8em;background:currentColor;mask:url(data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) center/contain no-repeat}
.portrait-grid h1{max-width:15ch;font-size:clamp(2.4rem,4.5vw,4rem)}
@media(prefers-reduced-motion:no-preference){.js .strata [role=tabpanel]:not([hidden]){animation:reveal-stratum .28s cubic-bezier(.16,1,.3,1)}}
@keyframes reveal-stratum{from{clip-path:inset(0 0 5% 0);filter:blur(1px)}to{clip-path:inset(0);filter:blur(0)}}
/* Controcampo: a personal poster, followed by open project evidence. */
.site-header{background:var(--dark);color:var(--white);border-color:#424342}
.site-header .brand,.site-menu a,.language-menu summary,.menu-toggle{color:var(--white)}
.site-header .brand em{color:var(--tungsten)}.menu-toggle{border-color:#73716D}
.site-menu a[aria-current=page]{text-decoration-color:var(--tungsten)}
.site-header :focus-visible,.showbook :focus-visible,.case-hero :focus-visible{outline-color:var(--tungsten)}
.showbook{background:var(--dark);color:var(--white)}
.showbook-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:3rem 2rem}
.showbook h1{font-size:clamp(5.7rem,14vw,11.5rem);font-weight:700;line-height:.82;letter-spacing:-.04em;margin:0 0 2.5rem;text-wrap:initial}
.showbook h1>span{display:block}.name-period{color:var(--tungsten)}
.showbook-line{font:500 clamp(1.75rem,3vw,2.8rem)/1.12 var(--display);letter-spacing:-.025em;max-width:18ch;margin:0 0 1.5rem}
.showbook-intro{font-size:.95rem;line-height:1.8;max-width:49ch;color:#C5BFB5;margin-bottom:2rem}
.showbook .button{background:var(--tungsten);color:var(--dark);border-radius:2px}
.showbook .button:hover{background:var(--white)}.showbook .text-link,.showbook-foot a{color:var(--white)}
.showbook-portrait{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}
.showbook-portrait img{width:100%;height:auto;max-height:660px;object-fit:cover;object-position:center 35%}
.showbook-portrait figcaption{font-size:.7rem;color:#AFA89E;letter-spacing:.015em}
.showbook-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #424342;padding-block:1.25rem;font-size:.75rem;color:#C5BFB5}
.showcase-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem 4rem;align-items:start}
.showcase-grid .project-row{display:block;min-width:0;padding:0;border:0}
.showcase-grid .project-row:nth-child(even){margin-top:5rem}
.showcase-grid .project-thumb{display:block;aspect-ratio:16/10;border-radius:0;background:var(--dark)}
.showcase-grid .project-thumb img{height:100%;width:100%;object-fit:cover}
.showcase-grid #dream-home .project-thumb img,.showcase-grid #cimatica .project-thumb img,.showcase-grid #clubperfumes .project-thumb img{object-fit:contain}
.showcase-grid #dream-home .project-thumb,.showcase-grid #clubperfumes .project-thumb{background:var(--mat)}
.project-caption{display:block;font-size:.7rem;color:var(--muted);margin-top:.55rem}
.showcase-grid .project-body{padding-top:1.25rem;display:flex;flex-direction:row;gap:.6rem 1rem;flex-wrap:wrap;align-items:center}
.showcase-grid .project-body h2,.showcase-grid .project-body h3{flex:0 0 100%;font-size:clamp(1.8rem,3.2vw,3rem);margin:0 0 .25rem}
.showcase-grid .project-type{margin:0;font-size:.7rem}
.showcase-grid .project-row>p{display:block;margin-top:1rem;max-width:58ch;font-size:.85rem;line-height:1.75}
.showcase-grid .project-row .text-link{margin-top:1rem}
.countershot{background:var(--blue)}.countershot-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--gap);align-items:center}
.countershot h2{max-width:12ch}.countershot p{max-width:45ch}
.countershot .strata{width:100%}.countershot .strata-credit{max-width:none}
.workshop{background:var(--graphite)}.workshop .tools-line{color:var(--tungsten)}
.portrait-section{background:var(--rose)}.portrait{border-radius:0}
.case-hero{background:var(--dark);color:var(--white)}.case-hero .text-link{color:var(--tungsten)}
.case-meta{border-color:#73716D}.case-meta dt,.case-image figcaption{color:#C5BFB5}
.case-heading>div{min-width:0}.case-meta{max-width:310px}.case-meta dd{overflow-wrap:anywhere}
.case-image .screen-mat{max-width:none;background:var(--graphite);padding:0;border-radius:0}
.case-image img{width:100%;max-height:660px;object-fit:contain;border-radius:0}
.case-story{display:grid;grid-template-columns:1fr 1.6fr;gap:2rem 5rem;margin-bottom:3.5rem}
.case-story h2{font-size:clamp(1.8rem,3vw,2.7rem);max-width:15ch}
.case-story p{max-width:72ch;line-height:1.85}
.architecture-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.architecture-list li{padding:1.25rem 0;border-top:1px solid var(--line);font-size:.95rem;line-height:1.75}
.case-gallery{margin-block:3rem 4rem}
.case-gallery>h2{font-size:clamp(1.8rem,3vw,2.7rem)}
.case-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.case-gallery figure{min-width:0}.case-gallery figure img{width:100%;height:auto;object-fit:contain;background:var(--mat)}
.case-gallery figcaption{font-size:.75rem;max-width:70ch}
.case-gallery .gallery-small img{max-height:420px;object-fit:contain}
.case-gallery .gallery-wide{grid-column:1/-1}
.case-status{border-top:1px solid var(--line);padding-top:1.5rem}
.case-story .source-code{font-size:.75rem}
.case-story .next-project{grid-column:1/-1}
.case-gallery{padding-top:0;margin-top:0}.case-gallery-proof{grid-column:1/-1}
.case-gallery .evidence-block{margin:0;background:transparent}
.case-gallery-media{background:var(--mat)}
.case-gallery-media.gallery-small{display:grid;place-items:center;min-height:240px}
.case-gallery-media.gallery-small img{width:auto;max-width:100%;max-height:400px}
.case-gallery-media.roamly-people,.case-gallery-media.roamly-activities{position:relative;overflow:hidden;background:white;max-width:470px}
.case-gallery-media.roamly-people{aspect-ratio:278/249}
.case-gallery-media.roamly-activities{aspect-ratio:279/251}
.case-gallery-media.roamly-people img,.case-gallery-media.roamly-activities img{position:absolute;max-width:none;height:auto}
.case-gallery-media.roamly-people img{width:451.079137%;left:-231.294964%;top:-71.485944%}
.case-gallery-media.roamly-activities img{width:571.326165%;left:-235.125448%;top:-82.868526%}
.case-diagram{grid-column:1/-1}.case-diagram-flow{display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;gap:1.5rem;margin:0}
.case-diagram-flow li{border-top:1px solid var(--ink);padding-top:1rem;display:flex;flex-direction:column;gap:1rem;line-height:1.4}
.diagram-step-number{font-size:.75rem;color:var(--wine);font-variant-numeric:tabular-nums}
.case-source-artifact{grid-column:1/-1}.case-source-artifact pre{margin:0}
@media(max-width:650px){.case-diagram-flow{grid-template-columns:1fr 1fr}.case-story .next-project{flex-wrap:wrap}}
@media(max-width:1100px){.showcase-grid{gap:3rem 2.5rem}.showbook-grid{gap:2rem}.showbook-intro{font-size:.875rem}.case-story{gap:2rem 3rem}}
@media(max-width:800px){
 .showbook-grid{grid-template-columns:1.1fr .9fr;gap:1.25rem;padding-block:2rem}
 .showbook-copy{display:contents}.showbook h1{grid-column:1;font-size:clamp(5.4rem,13vw,7rem);align-self:center;margin:0}
 .showbook-portrait{grid-column:2;grid-row:1}.showbook-portrait figcaption{font-size:.7rem}
 .showbook-line,.showbook-intro,.showbook .actions{grid-column:1/-1}
 .showbook-line{margin:1rem 0 0;max-width:none}.showbook-intro{margin:0;max-width:62ch}
 .showbook .actions{margin-top:.5rem}.showcase-grid .project-row:nth-child(even){margin-top:3rem}
 .showcase-grid{gap:2.5rem 1.75rem}.showcase-grid .project-body h2,.showcase-grid .project-body h3{font-size:1.8rem}
 .countershot-grid{grid-template-columns:1fr}.countershot h2{max-width:20ch}.countershot p{max-width:60ch}
 .case-story{grid-template-columns:1fr;gap:.5rem;margin-bottom:2.5rem}.case-story h2{max-width:none;margin-bottom:1rem}
 .case-meta{max-width:100%}
}
@media(max-width:520px){
 .showbook-grid{grid-template-columns:1.3fr 1fr;gap:1.25rem 1rem;padding-block:1.5rem 2rem}
 .showbook h1{font-size:clamp(4.25rem,18vw,5.4rem)}.showbook-portrait img{aspect-ratio:3/4;object-fit:cover}
 .showbook-portrait figcaption{font-size:.7rem;line-height:1.4}.showbook-line{font-size:2rem;max-width:18ch}
 .showbook-intro{font-size:.875rem;line-height:1.8}.showbook-foot{font-size:.7rem}
 .showcase-grid{grid-template-columns:1fr;gap:3rem}.showcase-grid .project-row:nth-child(even){margin-top:0}
 .showcase-grid .project-thumb{aspect-ratio:16/10}.showcase-grid .project-body h2,.showcase-grid .project-body h3{font-size:2rem}
 .case-gallery-grid{grid-template-columns:1fr;gap:2rem}.case-gallery .gallery-wide{grid-column:auto}
}
@media(prefers-reduced-motion:no-preference){.js .strata [role=tabpanel]:not([hidden]){animation-duration:.16s}}

.workshop :focus-visible,.site-footer :focus-visible{outline-color:var(--tungsten)}

/* Portrait editions and original work evidence, October 2026 revision. */
.portrait img,.showbook-portrait img{aspect-ratio:4/5;object-fit:contain;object-position:center}
.portrait{max-width:400px}
.solutions-preview-figure{margin:1.5rem 0 2rem;max-width:960px;background:var(--mat)}
.solutions-preview-figure img{display:block;width:100%;height:auto;max-height:550px;object-fit:contain}
.solutions-preview-figure figcaption{padding:.75rem 1rem;font-size:.75rem;line-height:1.6;color:var(--muted)}
.solutions-code-preview{margin:1.5rem 0 2rem;padding:1.5rem;background:var(--dark);color:var(--white);overflow:auto;max-width:100%}
.solutions-code-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font: .8rem/1.7 ui-monospace,monospace}
.solutions-code-preview pre{background:var(--dark);color:var(--white);padding:0}
.solutions-code-preview figcaption{color:#C5BFB5;padding:.75rem 0 0}
.solutions-code-preview figcaption a{color:#E8A06A}
.solutions-code-preview pre:focus-visible{outline:3px solid #E8A06A;outline-offset:5px}
@media(max-width:520px){.portrait{max-width:280px}.portrait img,.showbook-portrait img{aspect-ratio:4/5}}
