@font-face{font-family:'Humana Sans';src:url('/fonts/HumanaSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Humana Sans';src:url('/fonts/HumanaSans-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Humana Sans';src:url('/fonts/HumanaSans-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Humana Sans';src:url('/fonts/HumanaSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Humana Editorial';src:url('/fonts/HumanaEditorial-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Humana Editorial';src:url('/fonts/HumanaEditorial-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Humana Editorial';src:url('/fonts/HumanaEditorial-Oblique.woff2') format('woff2');font-weight:400;font-style:oblique;font-display:swap}

:root{
  --black:#000000;--paper:#F2EEE6;--white:#FFFFFF;--vermillon:#F0442E;--blue:#2458F5;--citron:#D3F323;
  --ink:var(--black);--surface:var(--paper);--rule:rgb(0 0 0 / .22);
  --font-body:'Humana Sans',Arial,sans-serif;--font-editorial:'Humana Editorial',Georgia,serif;
  --s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s6:3rem;--s8:4rem;
  --gutter:1.5rem;--margin:3rem;--max-width:110rem;
  --section:clamp(4rem,7vw,7rem);--headline:clamp(3rem,4.8vw,5rem);--heading:clamp(2.25rem,3.3vw,3.5rem);
  --ease:cubic-bezier(.22,.68,0,1.02);--duration:.35s;--duration-reveal:.8s;
}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--paper);color:var(--black);font-family:var(--font-body);font-size:1.0625rem;line-height:1.55;font-synthesis:none;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}::selection{background:var(--citron);color:var(--black)}
a{color:inherit;text-decoration:none;text-underline-offset:.25em}button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img,svg{display:block;max-width:100%}img{height:auto}h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--font-editorial);font-weight:400;line-height:1.1;letter-spacing:0}h1{font-size:var(--headline)}h2{font-size:var(--heading)}
h3{font-weight:500;line-height:1.25}em{font-family:var(--font-editorial);font-style:oblique;font-weight:400}ul{list-style:none;padding:0;margin:0}
.wrap{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--margin)}
.eyebrow{font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.count{font-family:var(--font-body);font-size:.8125rem;vertical-align:super;margin-left:.35rem}
.dark{background:var(--black);color:var(--paper);--rule:rgb(242 238 230 / .28)}
.arrow{width:1.5rem;height:1.5rem;flex-shrink:0;transition:transform var(--duration) var(--ease)}.arrow-diagonal{transform:rotate(-45deg)}
.accent-square{display:inline-block;width:.625rem;height:.625rem;margin-right:.75rem;background:var(--vermillon)}.accent-square.creative{background:var(--citron)}
.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}
.skip-link{position:fixed;left:var(--margin);top:1rem;z-index:100;background:var(--black);color:var(--white);padding:1rem;transform:translateY(-180%)}.skip-link:focus{transform:none}

/* The header and discipline line were expressly approved. */
.site-header{position:sticky;top:0;z-index:30;background:var(--paper)}
.header-inner{height:6.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--rule)}
.brand{width:15.5rem;max-width:28vw;min-width:172px;margin-left:-.537rem;flex-shrink:0}
.desktop-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0 3rem;min-width:0;font-size:.9375rem}
.desktop-nav a{position:relative;padding:.5rem 0;display:flex;gap:.75rem;align-items:center}
.desktop-nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--duration) var(--ease)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform:scaleX(1)}.desktop-nav a:last-child{margin-left:1rem}
.menu-toggle{display:none;align-items:center;gap:1rem;border:0;background:none;padding:.75rem 0 .75rem .75rem;font-size:.875rem}
.menu-lines{width:1.5rem;height:.6rem;border-block:1px solid currentColor}
.mobile-menu{max-width:none;max-height:none;width:100%;height:100%;padding:0;border:0;margin:0;background:var(--paper);color:var(--black)}
.mobile-menu::backdrop{background:var(--black)}.mobile-menu[open]{animation:menu-in .4s var(--ease) both}
.menu-head{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;gap:1rem}.menu-head img{width:11.5rem;margin-left:-.4rem}
.menu-close{display:flex;gap:.75rem;align-items:center;font-size:.875rem;border:0;background:none;padding:.5rem 0}.menu-close span{font-size:1.75rem;line-height:1}
.mobile-menu nav{display:flex;flex-direction:column;padding:5rem 1.5rem 3rem}
.mobile-menu nav a{font-family:var(--font-editorial);font-size:clamp(2.5rem,9vw,4rem);display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--rule)}
.mobile-menu>.eyebrow{padding:1.5rem}
.text-link{display:inline-flex;gap:2rem;justify-content:space-between;align-items:center;border-bottom:1px solid currentColor;padding:.875rem 0;min-height:2.75rem;font-size:1rem;line-height:1.4}
.text-link:hover .arrow{transform:translateX(.25rem)}.text-link:hover .arrow-diagonal{transform:rotate(-45deg) translateX(.25rem)}

/* A quiet exhibition: one complete project, a dark surround and a fine caption. */
.hero{padding-top:2rem}.hero-kicker{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2.5rem}
.project-carousel{background:var(--black);color:var(--paper);overflow:hidden;position:relative;--rule:rgb(242 238 230 / .25)}
.carousel-heading{display:flex;align-items:center;justify-content:space-between;padding:2rem 3rem 1rem}.carousel-heading .eyebrow{font-size:.6875rem;letter-spacing:.14em}
.gallery-signature{font-size:.6875rem;letter-spacing:.1em;color:var(--citron)}
.carousel-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline-offset:-4px}
.carousel-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.carousel-project{display:grid;grid-template-columns:minmax(0,3.6fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center;padding:2rem 3rem 2.5rem}
.carousel-scene{position:relative;padding:0}.carousel-status{display:block;letter-spacing:.06em}
.carousel-image{aspect-ratio:1.6;overflow:hidden;background:var(--paper);position:relative}
.carousel-image picture{display:block;width:100%;height:100%}.carousel-image img{width:100%;height:100%;object-fit:contain;transition:transform 1.4s var(--ease)}
.carousel-project:hover .carousel-image img{transform:scale(1.025)}
.carousel-caption{display:flex;flex-direction:column;align-items:start;min-width:0;padding-block:1rem}
.carousel-number{font-size:.75rem;color:var(--citron);display:flex;align-items:center;gap:1rem;margin-bottom:3rem}.carousel-number>span{display:block;width:3rem;height:1px;overflow:hidden;background:currentColor}
.carousel-caption h2{font-size:clamp(1.75rem,2.4vw,2.65rem);line-height:1.1;margin-top:1rem;overflow-wrap:anywhere}
.carousel-type{font-size:.6875rem;line-height:1.65;letter-spacing:.12em;text-transform:uppercase}
.carousel-discover{display:flex;align-items:center;gap:1rem;font-size:.75rem;margin-top:3.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--rule)}.carousel-discover .arrow{width:1.1rem;height:1.1rem}
.carousel-slide.is-active .carousel-image{animation:gallery-image-in 1.2s var(--ease) both}
.carousel-slide.is-active .carousel-caption h2{animation:detail-in .95s .1s var(--ease) both}
.carousel-slide.is-active .carousel-type{animation:detail-in .85s var(--ease) both}
.carousel-slide.is-active .carousel-discover{animation:detail-in .95s .2s var(--ease) both}
.carousel-controls{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;padding:1rem 3rem 1.5rem}
.carousel-controls>.eyebrow{font-size:.625rem;letter-spacing:.12em}.carousel-progress{flex:1;height:1px;background:var(--rule);margin-inline:2rem}
.carousel-progress>span{display:block;width:14.285%;height:1px;background:var(--citron);transition:width .7s var(--ease)}
.carousel-counter{font-size:.8125rem;font-variant-numeric:tabular-nums;white-space:nowrap}.carousel-buttons:not([hidden]){display:flex;gap:.5rem}
.carousel-buttons button{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);background:transparent;transition:border-color .3s,color .3s}
.carousel-buttons button:hover:not(:disabled){border-color:var(--citron);color:var(--citron)}.carousel-buttons button:disabled{opacity:.35;cursor:default}.carousel-buttons [data-previous] .arrow{transform:rotate(180deg)}
.project-postscript{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:1.25rem;padding-bottom:1.5rem}
.project-postscript>p{font-size:.8125rem}.project-postscript .text-link{font-size:.8125rem}
.home-intention{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:center;padding-block:clamp(5rem,10vw,10rem)}
.home-intention h1{font-size:clamp(2.8rem,4.2vw,4.5rem);margin-top:2rem;line-height:1.13}.home-intention>.intention-copy{max-width:31rem;justify-self:center}
.intention-copy p{font-size:1.0625rem}.intention-copy p+p{margin-top:1.5rem}.intention-copy .text-link{margin-top:1.5rem}
.home-note{padding-top:1rem;padding-bottom:clamp(5rem,10vw,10rem)}
.portfolio-endnote{padding-block:2rem 0}.portfolio-endnote p{max-width:42rem;font-size:.9375rem}
.expertise-intro{max-width:26rem;margin-top:2rem;font-size:.9375rem;line-height:1.65}
.commitments{padding-block:var(--section)}.commitments .section-heading{margin-bottom:3.5rem}.commitments h2{font-size:clamp(2rem,3vw,3rem);line-height:1.2}
.commitment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.5rem}.commitment-grid article{border-top:1px solid var(--rule);padding-top:1.5rem}.commitment-grid h3{font-family:var(--font-editorial);font-size:1.75rem;font-weight:400;line-height:1.25;margin-bottom:1.25rem}.commitment-grid p{font-size:.9375rem;line-height:1.7}
.questions{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:5rem;padding-bottom:var(--section)}.questions h2{font-size:clamp(2rem,3vw,3rem);margin-top:1.5rem}.question-list{border-top:1px solid var(--rule)}.question-list details{border-bottom:1px solid var(--rule)}.question-list summary{font-size:1rem;display:flex;gap:1.5rem;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;padding-block:1.5rem}.question-list summary::-webkit-details-marker{display:none}.question-list summary>span{font-size:1.5rem;transition:transform .4s var(--ease)}.question-list details[open]:not(.is-closing) summary>span{transform:rotate(45deg)}.question-list details>p{font-size:.9375rem;line-height:1.7;padding-bottom:1.75rem;max-width:40rem}
.case-context{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--gutter);padding-block:1rem 4rem}.case-context>.eyebrow{padding-top:.5rem}.case-context h2{font-size:clamp(1.8rem,2.8vw,2.8rem);max-width:48rem;line-height:1.2;margin-bottom:1.5rem}.case-context>div>p{max-width:45rem;font-size:1rem;line-height:1.7}
.case-purpose{padding-block:var(--section) 1rem}.case-purpose h2{font-size:2.5rem;margin-top:1.25rem}.goal-grid{list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.goal-grid li{border-top:1px solid var(--rule);padding-top:1.25rem}.goal-grid li>span{color:var(--blue);font-size:.8125rem}.goal-grid p{font-size:1.0625rem;margin-top:1rem;line-height:1.65}
.case-approach{gap:5rem;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.case-approach h2{font-size:clamp(2rem,3vw,3rem);line-height:1.2}.case-choices{max-width:36rem}.case-choices article+article{margin-top:2rem}.case-choices h3{font-size:1rem;font-weight:500;margin-bottom:.75rem}.case-choices p{font-size:.9375rem;line-height:1.7}.case-approach .text-link,.case-approach .development-label{margin-top:2rem;display:inline-flex}.case-takeaway{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--gutter);padding-block:3rem}.case-takeaway>p:last-child{font-family:var(--font-editorial);font-size:clamp(1.5rem,2vw,2rem);line-height:1.4;max-width:46rem}
.portfolio-index{padding-block:var(--section)}.portfolio-index>h2{font-size:2rem;margin-bottom:2rem}.work-index{border-top:1px solid var(--rule)}
.work-index>a{display:grid;grid-template-columns:3rem 1fr 1fr auto;gap:1.5rem;align-items:center;border-bottom:1px solid var(--rule);padding:1.5rem 0;transition:padding var(--duration),background var(--duration)}
.work-index>a>span:nth-child(2){font-family:var(--font-editorial);font-size:1.75rem}.work-index .index-type{font-size:.875rem;justify-self:end}.work-index>a:hover{padding-inline:1rem;background:var(--citron)}

/* Vermilion is reserved for relationship and accompaniment. */
.philosophy{display:grid;grid-template-columns:4fr 8fr;gap:5rem;padding-block:var(--section);align-items:center}
.philosophy-label{min-height:25rem;background:var(--vermillon);padding:2rem;display:flex;flex-direction:column;align-items:start;justify-content:space-between}
.relationship-symbol{position:relative;display:block;width:100%;height:10rem;max-width:18rem;align-self:center}
.relationship-symbol i{position:absolute;top:0;width:28%;height:100%;border:7px solid var(--black)}.relationship-symbol i:first-child{left:0;border-right:0}.relationship-symbol i:last-child{right:0;border-left:0}
.philosophy-content>.eyebrow{margin-bottom:2rem}.philosophy h2{font-size:clamp(2rem,3vw,3.25rem)}.philosophy-copy{margin-top:2rem;max-width:38rem}
.philosophy-copy p+p{margin-top:1rem}.philosophy-copy .text-link{margin-top:1.5rem;width:fit-content}
.expertise{padding-block:1rem var(--section);display:grid;grid-template-columns:4fr 8fr;gap:5rem}.expertise-heading>.eyebrow{margin-bottom:2rem}.expertise-heading>h2{font-size:3rem}
.service-list{border-top:1px solid var(--rule)}.service-row{border-bottom:1px solid var(--rule)}
.service-row summary{list-style:none;display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:1rem;cursor:pointer;padding-block:1.75rem}.service-row summary::-webkit-details-marker{display:none}
.service-number{font-size:.8125rem}.service-row h3{font-family:var(--font-editorial);font-size:1.8rem;font-weight:400}.service-toggle{font-size:1.75rem;line-height:1;transition:transform .4s var(--ease)}
.service-row[open]:not(.is-closing) .service-toggle{transform:rotate(45deg)}.service-body{padding:0 3rem 1.75rem}.service-body>p{max-width:34rem;font-size:1rem}.service-body>.service-detail{font-size:.75rem;margin-top:1.5rem}
.expertise-section .expertise{padding-block:clamp(4rem,8vw,8rem);gap:6rem;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.expertise-section .expertise-heading h2{font-size:clamp(2.2rem,3vw,3.25rem);line-height:1.2}.expertise-section .service-number{color:var(--citron)}
.expertise-section .service-detail{color:var(--citron);letter-spacing:.05em}.expertise-section .service-list{min-width:0}.expertise-section .service-row h3{font-size:1.6rem}
.contact-outro{background:var(--paper);padding-block:clamp(5rem,10vw,10rem)}.outro-composition{text-align:center;position:relative;padding-block:1.5rem;max-width:64rem}
.outro-composition>.interval-mark{position:absolute;inset:0 5%;width:90%;height:100%;pointer-events:none;color:var(--vermillon)}.outro-composition>.interval-mark i{border-color:currentColor;border-width:12px}
.outro-composition>.eyebrow{margin-bottom:2rem}.outro-composition h2{font-size:clamp(2.25rem,3.3vw,3.5rem);line-height:1.2}
.outro-link{display:inline-flex;align-items:center;gap:2rem;font-size:.875rem;margin-top:2rem;text-align:left}
.outro-link>span:not(.interval-mark){border-bottom:1px solid currentColor;padding-block:.75rem}.interval-mark{position:relative;display:block;width:9rem;height:6rem}
.interval-mark i{position:absolute;width:28%;height:100%;border:4px solid var(--black)}.interval-mark i:first-child{left:0;border-right:0}.interval-mark i:last-child{right:0;border-left:0}
.outro-link:hover .arrow{transform:rotate(-45deg) translateX(.3rem)}
.site-footer{background:var(--black);color:var(--paper);padding-block:3rem 1.5rem;font-size:.875rem}.footer-top{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:2rem}
.footer-top>a{display:flex;gap:1rem;align-items:center;padding:.5rem 0}.footer-top>a:hover{text-decoration:underline}
.footer-brand{display:block;margin:4rem auto;width:min(26rem,85%)}.footer-brand img{width:100%}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1.5rem;border-top:1px solid rgb(242 238 230 / .25);font-size:.75rem}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1rem 2rem;color:var(--white);padding:.5rem 0;border-bottom:2px solid var(--blue)}.footer-bottom a:hover{text-decoration:underline}.back-top{display:flex;align-items:center;gap:.5rem}.back-top .arrow{width:1rem;transform:rotate(-90deg)}

/* Interior pages retain a compact hierarchy. */
.page-intro{padding-block:3rem 4rem}.page-intro h1{margin-top:2.5rem}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:2rem}.intro-bottom>p:first-child{max-width:39rem;font-size:1.0625rem}
.project-intro{padding-block:2rem 3rem}.back-link{display:flex;align-items:center;gap:.75rem;font-size:.875rem;width:fit-content;padding:.5rem 0}.back-link .arrow{transform:rotate(180deg);width:1rem}
.project-title{margin-top:3rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}.project-title h1{font-size:clamp(2.8rem,5vw,5rem)}.project-title .eyebrow{padding-bottom:.5rem;white-space:nowrap}
.project-summary{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:3rem}.project-summary>p{max-width:34rem;font-size:1.0625rem}.project-summary .text-link{flex-shrink:0;min-width:13rem;padding-top:0}
.development-label{font-size:.875rem;border-bottom:1px solid;padding-bottom:.5rem}.project-showcase{padding-block:3rem}.project-showcase img{width:100%}.project-showcase figcaption{font-size:.8125rem;margin-top:2rem}
.project-responsive{display:grid;grid-template-columns:7fr 5fr;gap:3rem;align-items:center;padding-block:var(--section);border-bottom:1px solid var(--rule)}.project-responsive h2{margin-block:2rem}
.project-responsive figure{width:min(100%,24.375rem);justify-self:center}.project-responsive figure img{width:100%;border:1px solid var(--rule)}.project-responsive figcaption{font-size:.8125rem;margin-top:1.5rem}
.next-project{padding-block:4rem}.next-project-link{display:flex;width:100%;font-family:var(--font-editorial);font-size:clamp(2rem,3vw,3rem);padding-block:1.5rem}.next-project-link .arrow{width:2.5rem;height:2.5rem}
.agency-statement{padding-block:var(--section)}.statement-grid{display:grid;grid-template-columns:3fr 9fr;gap:var(--gutter)}.statement-grid>.eyebrow{padding-top:.5rem}
.statement-grid h2{margin-bottom:2rem}.statement-grid>div>p{font-size:1.0625rem;max-width:42rem}.statement-grid>div>p+p{margin-top:1.5rem}
.approach{padding-block:var(--section)}.section-heading{margin-bottom:3rem}.section-heading>.eyebrow{margin-bottom:1.5rem}.approach-list{border-top:1px solid var(--rule)}
.approach-list article{display:grid;grid-template-columns:3fr 4fr 5fr;gap:var(--gutter);padding-block:2.5rem;border-bottom:1px solid var(--rule);align-items:start}.approach-list .eyebrow{padding-top:.5rem}.approach-list h3{font-family:var(--font-editorial);font-size:2rem;font-weight:400}
.agency-note{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding-bottom:var(--section)}.note-frame{position:relative;padding:3rem 2rem}.note-frame .interval-mark{position:absolute;inset:0;width:100%;height:100%}.note-frame .interval-mark i{border-width:8px}.note-frame h2{font-size:clamp(2rem,2.8vw,3rem);position:relative}
.agency-note>div>p+p{margin-top:1.5rem}.agency-note .text-link{margin-top:2rem}
.note-frame .interval-mark i{transition:border-color .45s var(--ease)}
.agency-note:has(.text-link:focus-visible) .note-frame .interval-mark i{border-color:var(--citron)}
@media(hover:hover) and (pointer:fine){.note-frame:hover .interval-mark i{border-color:var(--citron)}}
.contact-page{padding-block:3rem var(--section);min-height:calc(100svh - 6.5rem)}.contact-page h1{margin-top:3rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem}.contact-intro{font-size:1.0625rem;max-width:26rem}.contact-details{border-top:1px solid var(--rule)}
.contact-line{padding-block:1.5rem;border-bottom:1px solid var(--rule)}.contact-line>.eyebrow{display:block;margin-bottom:.5rem}.contact-line>a{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-family:var(--font-editorial);font-size:clamp(1.75rem,2.8vw,3rem);overflow-wrap:anywhere}.contact-line>a:hover{text-decoration:underline}
.contact-location{font-size:.9375rem;margin-top:2rem}.contact-guidance{margin-top:4rem;display:flex;gap:3rem;align-items:baseline}.contact-guidance>p{font-size:.9375rem;max-width:40rem}
.legal-content{max-width:60rem;padding-block:4rem var(--section)}.legal-content h1{font-size:clamp(2.5rem,4vw,4rem);margin-top:2rem;margin-bottom:3rem}
.legal-content h2{font-family:var(--font-body);font-size:1.5rem;font-weight:600;margin-top:3rem;margin-bottom:1rem}.legal-content p+p{margin-top:1rem}.legal-content a{text-decoration:underline}.legal-content ul{list-style:disc;padding-left:1.25rem;margin-block:1rem}.legal-content .eyebrow{color:var(--blue)}
.error-page{min-height:65svh;padding-block:5rem}.error-page h1{margin-block:3rem 2rem}.error-page .text-link{margin-top:2rem}
.will-reveal.is-visible{animation:section-in .8s var(--ease) both}
.will-reveal.is-visible .interval-mark i:first-child{animation:frame-left-draw 1.4s var(--ease) both}.will-reveal.is-visible .interval-mark i:last-child{animation:frame-right-draw 1.4s .12s var(--ease) both}
.home-intention.is-visible h1,.agency-note.is-visible h2,.outro-composition.is-visible h2{animation:detail-in 1.1s .1s var(--ease) both}
.home-intention.is-visible .intention-copy>*,.agency-note.is-visible>div:last-child>*{animation:detail-in 1s .15s var(--ease) both}
.home-intention.is-visible .intention-copy>:nth-child(2),.agency-note.is-visible>div:last-child>:nth-child(2){animation-delay:.25s}
.home-intention.is-visible .intention-copy>:nth-child(3),.agency-note.is-visible>div:last-child>:nth-child(3){animation-delay:.35s}
.carousel-scene{animation:scene-in 1.6s var(--ease) both}
.philosophy-label.is-visible .relationship-symbol i:first-child{animation:frame-left 1.2s var(--ease) both}
.philosophy-label.is-visible .relationship-symbol i:last-child{animation:frame-right 1.2s var(--ease) both}
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:.85s;animation-timing-function:var(--ease)}
::view-transition-old(root){animation:page-out .22s ease both}::view-transition-new(root){animation:page-in .45s var(--ease) both}
@keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes frame-left{from{transform:translateX(1.5rem)}to{transform:none}}@keyframes frame-right{from{transform:translateX(-1.5rem)}to{transform:none}}
@keyframes scene-in{from{clip-path:inset(0 8% 0 8%);transform:translateY(12px)}to{clip-path:inset(0);transform:none}}
@keyframes gallery-image-in{from{clip-path:inset(0 5% 0 5%);opacity:.65}to{clip-path:inset(0);opacity:1}}
@keyframes detail-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes frame-left-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes frame-right-draw{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes frame-open{from{opacity:0;transform:scaleX(.94)}to{opacity:1;transform:none}}
@keyframes caption-in{from{clip-path:inset(0 0 100% 0);transform:translateY(.3rem)}to{clip-path:inset(0);transform:none}}
@keyframes section-in{from{clip-path:inset(2% 0 0 0);transform:translateY(1rem)}to{clip-path:inset(0);transform:none}}
@keyframes menu-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@media(min-width:1700px){.hero{padding-top:3rem}}
@media(max-width:1100px){
  .header-inner{height:auto;min-height:6.5rem;padding-block:1.25rem}.desktop-nav{gap:.5rem 2rem}
  .carousel-project{display:block;padding:1rem 2rem}.carousel-heading{padding:1.5rem 2rem 1rem}.carousel-controls{padding:1rem 2rem 1.5rem}
  .carousel-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;align-items:center;padding:1.75rem 0 1rem}.carousel-caption h2{font-size:2rem;grid-column:1/-1;grid-row:2;margin:0}.carousel-type{grid-column:1;grid-row:1}.carousel-number{margin:0;grid-column:2;grid-row:1;justify-self:end}.carousel-number>span{display:none}.carousel-discover{grid-column:1/-1;grid-row:3;justify-self:start;margin:0}.carousel-scene{padding:0}.carousel-progress{margin-inline:0}
  .home-intention{gap:3rem;grid-template-columns:minmax(0,1fr)}.home-intention>.intention-copy{max-width:38rem;justify-self:start}.expertise-section .expertise{grid-template-columns:minmax(0,1fr);gap:3rem}.outro-composition{max-width:90%}
  .commitment-grid,.questions,.case-context,.goal-grid,.case-approach,.case-takeaway{grid-template-columns:minmax(0,1fr);gap:2rem}.commitment-grid article{max-width:42rem}.goal-grid p{max-width:42rem}.case-context{padding-bottom:3rem}.case-purpose{padding-top:4rem}.case-approach figure{margin-top:1rem}.case-takeaway{padding-block:2rem}
  .philosophy,.expertise,.approach-list article,.outro-body,.agency-note,.statement-grid,.contact-grid{gap:2rem;grid-template-columns:minmax(0,1fr)}
  .philosophy-label{padding:1.5rem;min-height:16rem}.philosophy h2{overflow-wrap:anywhere}.relationship-symbol{max-width:14rem;height:7rem}
  .project-title{align-items:start;flex-direction:column;gap:1.5rem}
  .work-index>a{grid-template-columns:2rem minmax(0,1fr) auto;gap:1rem}.work-index .index-type{display:none}.work-index>a>span:nth-child(2){overflow-wrap:anywhere}
}
@media(max-width:767px){
  :root{--margin:1.5rem;--gutter:1rem;--headline:clamp(2.5rem,8vw,3.5rem);--heading:clamp(2rem,7vw,2.75rem);--section:4rem}
  body{font-size:1rem}html{scroll-padding-top:5rem}.header-inner{min-height:5rem;height:auto;flex-wrap:wrap;padding-block:0}.has-menu .header-inner{height:5rem}
  .brand{width:11.75rem;max-width:none;margin-left:-.407rem}.desktop-nav{width:100%;gap:1rem;justify-content:space-between;font-size:.8125rem;background:var(--paper);padding-bottom:.5rem}
  .desktop-nav a:last-child{margin-left:0}.has-menu .desktop-nav{display:none}.has-menu .menu-toggle{display:flex}
  .eyebrow{font-size:.75rem;letter-spacing:.065em}.hero{padding-top:1.5rem}.hero-discipline{display:none}
  .hero-kicker{margin-bottom:1.5rem}.project-carousel{margin-inline:-1.5rem}.carousel-heading{padding:1.5rem 1.5rem 1rem}.carousel-heading .eyebrow{font-size:.625rem}
  .carousel-project{display:block;padding:1rem 1.5rem 0}.carousel-scene{padding:.5rem}.carousel-image{aspect-ratio:.78}.carousel-image img{object-fit:cover;object-position:top}
  .carousel-caption{display:grid;grid-template-columns:1fr auto;gap:.75rem 1rem;align-items:center;padding:1.75rem 0 1rem}.carousel-caption h2{font-size:2rem;grid-column:1;grid-row:2;margin:0}.carousel-type{font-size:.625rem;grid-column:1;grid-row:1}.carousel-type br{display:none}.carousel-type br::after{content:' · '}
  .carousel-number{margin:0;grid-column:2;grid-row:1;font-size:.6875rem;justify-self:end}.carousel-number>span{display:none}.carousel-discover{grid-column:2;grid-row:2;margin:0;border:0;font-size:0;gap:0;padding:0}.carousel-discover .arrow{width:1.5rem;height:1.5rem}
  .carousel-controls{padding:1rem 1.5rem 1.5rem;gap:1rem;flex-wrap:wrap}.carousel-controls>.eyebrow{font-size:.5625rem;letter-spacing:.08em}
  .carousel-progress{display:none}.carousel-counter{margin-left:auto;font-size:.75rem}.carousel-buttons button{width:2.75rem;height:2.75rem}
  .project-postscript{align-items:start;margin-top:1.5rem;gap:1rem}.project-postscript>p{font-size:.75rem;max-width:8rem}.project-postscript .text-link{font-size:.75rem;gap:1rem;padding-top:0;max-width:10rem}
  .home-intention{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-block:4rem 5rem}.home-intention h1{font-size:2.8rem;margin-top:1.5rem}.home-intention>.intention-copy{justify-self:start}.intention-copy p{font-size:1rem}
  .home-note{padding-bottom:5rem}.expertise-section .expertise-heading{display:block}.expertise-section .expertise-heading>.eyebrow{max-width:none;margin-bottom:2rem}.expertise-section .expertise-heading h2{font-size:2.5rem}
  .work-index>a{grid-template-columns:1.5rem 1fr auto;gap:.75rem;padding-block:1.25rem}.work-index .index-type{display:none}.work-index>a>span:nth-child(2){font-size:1.5rem}
  .philosophy{display:block;padding-block:3rem}.philosophy-label{min-height:16rem;margin-bottom:2.5rem;padding:1.5rem}.relationship-symbol{width:9rem;height:5rem}.relationship-symbol i{border-width:4px}
  .philosophy h2{font-size:2rem}.philosophy-copy{margin-top:1.5rem}.philosophy-copy>p{font-size:.9375rem}.philosophy-content>.eyebrow{margin-bottom:1.5rem}
  .expertise{display:block;padding-top:1rem}.expertise-heading{display:flex;gap:2rem;align-items:start;justify-content:space-between;margin-bottom:2rem}.expertise-heading>.eyebrow{max-width:6rem;padding-top:.5rem}.expertise-heading>h2{font-size:2.5rem}
  .service-row h3{font-size:1.55rem}.service-row summary{gap:.5rem;grid-template-columns:1.5rem 1fr auto;padding-block:1.5rem}.service-body{padding:0 0 1.5rem 2rem}.service-body>p{font-size:.9375rem}
  .contact-outro{padding-block:4rem}.outro-composition{max-width:none;padding-block:2.5rem}.outro-composition>.interval-mark{inset:0 1.5rem;width:calc(100% - 3rem)}.outro-composition>.interval-mark i{border-width:6px;width:28%}.outro-composition>.eyebrow{font-size:.6875rem;margin-bottom:1.5rem}.outro-composition h2{font-size:2rem}.outro-link{width:fit-content;margin-top:1.5rem;gap:1rem;font-size:.75rem}
  .site-footer{padding-block:2rem 1.5rem}.footer-top{font-size:.8125rem}.footer-top>a{font-size:.75rem;gap:.5rem}.footer-top .arrow{width:1rem}.footer-brand{margin-top:2.5rem;margin-bottom:2rem}
  .footer-bottom{display:flex;flex-wrap:wrap;align-items:start;row-gap:1.25rem}.footer-bottom nav{order:3;gap:1.5rem;width:fit-content}.back-top{margin-left:auto}
  .page-intro{padding-block:2rem 3rem}.page-intro h1{margin-top:2.5rem}.intro-bottom{display:block;margin-top:2rem}.intro-bottom>p:first-child{font-size:1rem}.intro-bottom>.eyebrow{margin-top:1.5rem;display:block}
  .project-intro{padding-block:1.5rem 2.5rem}.project-title{margin-top:2.5rem}.project-title h1{font-size:clamp(2.5rem,9vw,3.5rem);overflow-wrap:anywhere}
  .project-summary{margin-top:2rem;flex-direction:column;gap:2rem}.project-summary>p{font-size:1rem}.project-showcase{padding-block:1.5rem}.project-showcase .wrap{padding-inline:1rem}.project-showcase figcaption{font-size:.75rem;margin-top:1rem}
  .project-responsive{grid-template-columns:1fr;padding-block:4rem}.project-responsive figure{width:min(100%,20rem)}.next-project{padding-block:3rem}
  .statement-grid{display:block}.statement-grid>.eyebrow{padding:0;margin-bottom:2rem}.statement-grid h2{margin-bottom:2rem}.statement-grid>div>p{font-size:1rem}
  .approach-list article{display:block;padding-block:2rem}.approach-list h3{font-size:1.8rem;margin-block:1rem}.approach-list article>p{font-size:.9375rem}
  .agency-note{display:block}.note-frame{padding:2.5rem 1.5rem;margin-bottom:2.5rem}.note-frame h2{font-size:2.3rem}.note-frame .interval-mark i{border-width:6px}
  .contact-page{padding-block:2rem 4rem;min-height:auto}.contact-page h1{margin-top:2.5rem}.contact-grid{display:flex;flex-direction:column;gap:2rem;margin-top:2.5rem}.contact-intro{font-size:1rem}
  .contact-line>a{font-size:clamp(1.5rem,6.3vw,2.5rem)}.contact-guidance{display:block;margin-top:3rem}.contact-guidance>p{margin-top:1rem}
  .legal-content{padding-top:2rem}.legal-content h1{font-size:2.5rem;overflow-wrap:anywhere}.error-page{padding-block:3rem}.error-page h1{font-size:2.8rem}
}
/* The opening explains the relationship before the work; the collection scrolls vertically. */
.opening-copy{text-align:center;padding:3.5rem 0 5.5rem;max-width:80rem;margin-inline:auto}
.opening-location{font-size:.6875rem;letter-spacing:.18em;margin-bottom:2rem}
.opening-copy h1{font-size:clamp(2.5rem,4.15vw,4.5rem);line-height:1.2;text-wrap:balance}.opening-copy h1 em{display:inline-block;max-width:100%;text-wrap:balance}
.opening-description{max-width:42rem;margin:2rem auto 0;font-size:1rem;line-height:1.8;text-wrap:pretty}
.opening-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem;margin-top:2rem}
.opening-actions .text-link{font-size:.875rem;gap:1.5rem}.opening-contact{border-bottom-color:var(--vermillon)}
.opening-contact .arrow{color:var(--vermillon)}
.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.5rem;padding-top:2.5rem;border-top:1px solid var(--rule)}
.collection-heading h2{font-size:clamp(2rem,3vw,3rem);margin-top:1.25rem}.collection-heading>p{max-width:23rem;font-size:.9375rem;line-height:1.7}
.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4.5rem 2rem}
.work-tile{min-width:0}.work-tile-wide{grid-column:1/-1}.work-link{display:block}.work-link:focus-visible{outline-offset:8px}
.work-scene{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.28;background:linear-gradient(125deg,#d6d2c8,#eeebe3 44%,#b7b2a7);--scene-ink:#39352e}
.work-tile-wide .work-scene{aspect-ratio:2.12}
.work-scene::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(122deg,transparent 42%,rgb(255 255 255 / .26) 42.15%,rgb(255 255 255 / .08) 64%,transparent 64.15%)}
.scene-eric-fischer{background:radial-gradient(ellipse at 28% 20%,#514748,#262327 65%);--scene-ink:#eee9e1}
.scene-twincup{background:linear-gradient(130deg,#d2d5d2,#eff0e9 50%,#a8ada8)}
.scene-alternativ-shop{background:linear-gradient(120deg,#baafa2,#e7ded2 50%,#afa192)}
.scene-servinfo{background:linear-gradient(125deg,#bcc9ce,#e3eaeb 50%,#a1b5bd)}
.scene-istas{background:linear-gradient(120deg,#cbd1bd,#e7e9db 50%,#aeb79c)}
.scene-b2os{background:linear-gradient(125deg,#55584e,#939585 50%,#53594e);--scene-ink:#fff}
.scene-bruno-spengler{background:linear-gradient(120deg,#bfc2c4,#e9e8e4 50%,#b2b3b6)}
.scene-platform{position:absolute;inset:76% -10% -15%;background:linear-gradient(180deg,rgb(255 255 255 / .12),rgb(0 0 0 / .08));border-top:1px solid rgb(255 255 255 / .22);transform:skewY(-4deg);z-index:-1}
.scene-laptop{position:absolute;width:77%;left:9%;top:50%;transform:translateY(-52%);transition:transform .8s var(--ease)}
.work-tile-wide .scene-laptop{width:60%;left:18%}
.scene-screen{padding:clamp(4px,.65vw,10px);border:1px solid #4a4a49;border-radius:clamp(6px,.8vw,13px);background:#191919;box-shadow:0 22px 34px -20px rgb(0 0 0 / .6)}
.scene-screen img{width:100%;aspect-ratio:1.6;object-fit:contain;background:var(--paper);border-radius:2px}
.scene-keyboard{display:block;position:relative;height:clamp(5px,.75vw,12px);width:112%;margin-left:-6%;background:linear-gradient(#dedfdf,#8b8b8b);border-radius:1px 1px 50% 50% / 1px 1px 100% 100%;box-shadow:0 10px 14px -5px rgb(0 0 0 / .5)}
.scene-keyboard::after{content:'';position:absolute;top:0;left:43%;width:14%;height:35%;background:#939595;border-radius:0 0 5px 5px}
.scene-phone{position:absolute;right:6%;width:18%;top:39%;padding:clamp(3px,.45vw,7px);background:#191919;border:1px solid #555;border-radius:clamp(9px,1.35vw,22px);box-shadow:6px 14px 26px -10px rgb(0 0 0 / .55);transform:rotate(3deg);overflow:hidden;transition:transform .8s var(--ease)}
.scene-phone img{width:100%;aspect-ratio:390/844;object-fit:contain;border-radius:clamp(6px,1vw,15px)}
.work-tile-wide .scene-phone{width:13%;right:14%;top:32%}
.scene-label{position:absolute;bottom:5%;left:4%;right:4%;display:flex;justify-content:space-between;gap:1rem;color:var(--scene-ink);font-size:clamp(.5rem,.6vw,.625rem);letter-spacing:.14em;text-transform:uppercase}
.scene-label span{letter-spacing:.08em}
.work-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding-top:1.75rem}.work-caption>div{min-width:0}.work-caption h3{overflow-wrap:anywhere}
.work-caption .eyebrow{font-size:.6875rem;letter-spacing:.09em}.work-caption h3{font-family:var(--font-editorial);font-weight:400;font-size:clamp(1.75rem,2.5vw,2.5rem);margin-top:.5rem}
.work-discover{display:flex;align-items:center;gap:1rem;font-size:.75rem;flex-shrink:0}.work-discover .arrow{width:1.25rem}.work-tile:not(.work-tile-wide) .work-discover{font-size:0;gap:0}
.work-description{font-size:.875rem;line-height:1.65;margin-top:.75rem;max-width:35rem}
.collection-end{display:flex;justify-content:center;padding-block:3rem 6rem}.collection-end .text-link{font-size:.875rem}
.portfolio-gallery{padding-bottom:2rem}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.work-link:hover .scene-laptop{transform:translateY(-54%)}.work-link:hover .scene-phone{transform:translateY(-4px) rotate(1deg)}.work-link:hover .arrow{transform:rotate(-45deg) translateX(.2rem)}}
@media(max-width:1100px){.opening-copy{padding-block:2.5rem 4rem}.collection-heading{gap:2rem}.work-gallery{gap:3.5rem 1.5rem}.work-discover{font-size:0;gap:0}.work-caption{gap:1rem}.scene-label span{display:none}}
@media(max-width:767px){
 .opening-copy{padding-block:2rem 3.5rem}.opening-location{margin-bottom:1.5rem}.opening-copy h1{font-size:clamp(1.8rem,7.4vw,3.5rem);line-height:1.2}.opening-description{font-size:.9375rem;line-height:1.7;margin-top:1.75rem}
 .opening-actions{flex-direction:column;align-items:center;gap:.5rem;margin-top:1.5rem}.opening-actions .text-link{font-size:.8125rem}
 .collection-heading{display:block;padding-top:2rem;margin-bottom:2rem}.collection-heading h2{font-size:2rem;margin-top:1rem}.collection-heading>p{margin-top:1.25rem;max-width:26rem;font-size:.875rem}
 .work-gallery{grid-template-columns:minmax(0,1fr);gap:3rem}.work-tile-wide{grid-column:auto}.work-scene,.work-tile-wide .work-scene{aspect-ratio:1.16;margin-inline:-.5rem}
 .scene-laptop,.work-tile-wide .scene-laptop{width:81%;left:7%;top:48%}.scene-phone,.work-tile-wide .scene-phone{width:23%;right:5%;top:39%}
 .scene-screen{border-radius:7px}.scene-label{font-size:.5rem;bottom:5%;left:6%;right:6%}.scene-label span{display:none}
 .work-caption{padding-top:1.25rem;gap:1rem}.work-caption h3{font-size:1.875rem}.work-caption .eyebrow{font-size:.625rem}.work-description{font-size:.8125rem;margin-top:.5rem}.work-discover .arrow{width:1.5rem}
 .collection-end{padding-block:2.5rem 4rem}.collection-end .text-link{font-size:.8125rem}
}
/* One interaction language: readable vermilion on paper, citron on dark surfaces.
   Weight and geometry stay fixed, so labels never push their neighbours on hover. */
:root{--interaction-ink:#aa3021;--interaction-line:var(--vermillon)}
.dark,.site-footer{--interaction-ink:var(--citron);--interaction-line:var(--citron)}
.legal-content{--interaction-ink:#173ebe;--interaction-line:var(--blue)}
:is(.text-link,.desktop-nav a,.mobile-menu nav a,.menu-toggle,.menu-close,.outro-link,.contact-line>a,.back-link,.footer-top>a,.footer-bottom a,.legal-content a){color:var(--interaction-active,inherit);transition:color .3s ease,border-color .3s ease,box-shadow .3s ease,text-decoration-color .3s ease}
:is(.text-link,.outro-link>span,.contact-line>a){border-color:var(--interaction-stroke,currentColor);box-shadow:0 1px 0 var(--interaction-stroke,transparent)}
.text-link>span,.outro-link>span{transition:color .3s ease,border-color .3s ease,box-shadow .3s ease}
.desktop-nav a::after{background:var(--interaction-active,currentColor)}
.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.mobile-menu nav a[aria-current]{border-bottom-color:var(--vermillon)}
.work-caption h3{text-decoration:underline;text-decoration-color:var(--work-line,transparent);text-decoration-thickness:2px;text-underline-offset:.2em;transition:text-decoration-color .35s ease}
.work-discover{color:var(--work-ink,inherit);transition:color .35s ease}
.outro-composition>.interval-mark i{transition:transform .45s var(--ease)}
.question-list summary,.service-row summary{color:var(--interaction-active,inherit);background:var(--disclosure-surface,transparent);transition:color .3s ease,background-color .3s ease}
.question-list details[open]:not(.is-closing)>summary,.service-row[open]:not(.is-closing)>summary h3{color:var(--interaction-ink)}
.service-row[open] .service-body,.question-list details[open]>p{animation:disclosure-in .3s ease both}
@keyframes disclosure-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
:is(.text-link,.desktop-nav a,.mobile-menu nav a,.menu-toggle,.menu-close,.outro-link,.contact-line>a,.back-link,.footer-top>a,.footer-bottom a,.legal-content a,.question-list summary,.service-row summary):focus-visible{--interaction-active:var(--interaction-ink);--interaction-stroke:var(--interaction-line)}
.work-link:focus-visible{--work-line:var(--citron);--work-ink:var(--interaction-ink)}
@media(hover:hover) and (pointer:fine){
 :is(.text-link,.desktop-nav a,.mobile-menu nav a,.menu-toggle,.menu-close,.outro-link,.contact-line>a,.back-link,.footer-top>a,.footer-bottom a,.legal-content a,.question-list summary,.service-row summary):hover{--interaction-active:var(--interaction-ink);--interaction-stroke:var(--interaction-line)}
 .work-link:hover{--work-line:var(--citron);--work-ink:var(--interaction-ink)}
 .question-list summary:hover{--disclosure-surface:rgb(0 0 0 / .025)}
 .service-row summary:hover{--disclosure-surface:rgb(255 255 255 / .045)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .outro-composition:has(.outro-link:hover)>.interval-mark i:first-child{transform:translateX(-4px)}
 .outro-composition:has(.outro-link:hover)>.interval-mark i:last-child{transform:translateX(4px)}
 .desktop-nav a:hover .arrow,.contact-line>a:hover .arrow,.footer-top>a:hover .arrow{transform:rotate(-45deg) translateX(.2rem)}
 .back-link:hover .arrow{transform:rotate(180deg) translateX(.2rem)}
 .back-top:hover .arrow{transform:rotate(-90deg) translateX(.2rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;view-transition-name:none!important}.carousel-project:hover img{transform:none}.text-link:is(:hover,:focus-visible) .arrow{transform:none}.text-link:is(:hover,:focus-visible) .arrow-diagonal,.outro-link:hover .arrow{transform:rotate(-45deg)}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
@media(hover:none){.carousel-project:hover img{transform:none}}
@media print{.site-header,.site-footer,.contact-outro,.carousel-controls,.mobile-menu{display:none}.dark{background:white;color:black}.wrap{padding-inline:0}body{font-size:11pt}h1,h2{font-size:28pt}.carousel-track{display:block;overflow:visible}.carousel-slide{break-inside:avoid}a{text-decoration:underline}}
