/* Portfolio and journal: public Joomla content, real project screenshots. */
.header nav{gap:23px}.header-inner{gap:28px}.header-contact{margin-left:10px}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px}
.work-card{display:block;min-width:0;color:var(--ink);text-decoration:none}
.work-card-screen{position:relative;padding:18px;background:#ebeae6;border-radius:28px;overflow:hidden;aspect-ratio:1.66;display:flex;align-items:center}
.work-card-screen img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:10px;box-shadow:0 10px 30px #2023261c;transition:transform .45s}
.work-card:nth-child(4n+2) .work-card-screen{background:#deded9}.work-card:nth-child(4n+3) .work-card-screen{background:#e6e5e1}
.work-card-open{position:absolute;right:30px;bottom:30px;padding:10px 17px;border-radius:30px;background:#fff;font-size:14px;box-shadow:0 3px 20px #0002;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.work-card:hover .work-card-open,.work-card:focus-visible .work-card-open{opacity:1;transform:none}.work-card:hover img{transform:scale(1.025)}
.work-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin-top:24px}
.work-card-heading h3,.inner-page .work-card-heading h3{font:500 clamp(20px,2vw,28px)/1.4 var(--heading);letter-spacing:-.04em;margin:0}
.work-card-heading>span{font:32px/1 Arial,sans-serif;flex:none}.work-card>p,.inner-page .work-card>p{font-size:16px;line-height:1.7;margin:10px 0 0;color:var(--muted)}
.collection-intro,.story-intro{padding:15px 0 48px;border-bottom:1px solid var(--line);margin-bottom:42px}
.collection-intro h1,.story-intro h1,.inner-page .collection-intro h1,.inner-page .story-intro h1{font:500 clamp(36px,4.7vw,68px)/1.2 var(--heading);letter-spacing:-.055em;margin:0 0 30px;max-width:1250px}
.collection-description p,.inner-page .collection-description p{font-size:23px;line-height:1.7;max-width:970px;margin:0}
.work-tools{display:grid;grid-template-columns:1fr;gap:25px;margin:0 0 23px}.work-filters{display:flex;flex-wrap:wrap;gap:10px}
.work-filters a{display:flex;align-items:center;padding:10px 18px;min-height:48px;border:1px solid #d5d8d5;border-radius:30px;font-size:15px;background:transparent}
.work-filters a[aria-current=true]{background:var(--ink);border-color:var(--ink);color:white}.work-filters a:hover{border-color:var(--ink)}
.work-search{display:flex;width:min(100%,680px);align-items:stretch;border:1px solid #c9cdca;border-radius:18px;overflow:hidden;background:#fff}
.work-search input{flex:1;min-width:0;border:0;border-radius:0;background:none;min-height:60px;padding:15px 20px}
.work-search button{border:0;background:var(--ink);color:white;padding:12px 24px;font:600 16px Manrope,Arial,sans-serif;white-space:nowrap;cursor:pointer}.work-search button span{margin-left:14px}
.collection-count,.inner-page .collection-count{font-size:15px;margin:0 0 35px;color:var(--muted)}.collection-count a{margin-left:20px;text-decoration:underline;text-underline-offset:4px}
.collection-pagination{margin:60px 0 10px;padding:30px 0 0;border-top:1px solid var(--line);display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:16px;flex-wrap:wrap}
.collection-pagination>div{display:flex;flex-wrap:wrap;gap:8px}.collection-pagination>div a{display:grid;place-items:center;min-width:45px;min-height:45px;border:1px solid var(--line);border-radius:50%}.collection-pagination a[aria-current=page]{background:var(--ink);color:white;border-color:var(--ink)}
.collection-empty{padding:40px;background:#fff;border-radius:24px}.collection-empty h2{margin-top:0}.collection-empty .button{background:var(--ink);color:white;margin-top:20px}
.journal-screen{background:#eae9e5}.journal-screen .section{padding-top:78px}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.journal-card{display:flex;flex-direction:column;min-width:0;min-height:350px;padding:32px;background:#fff;border:1px solid #dfe1dd;border-radius:24px;color:var(--ink);transition:background .2s,transform .2s}
.journal-card:hover{background:#f6f6f2;transform:translateY(-3px)}.journal-card h3,.inner-page .journal-card h3{font:500 clamp(20px,1.8vw,26px)/1.5 var(--heading);letter-spacing:-.035em;margin:0 0 22px}
.journal-card>p,.inner-page .journal-card>p{font-size:16px;line-height:1.8;color:#656565;margin:0 0 32px}
.journal-card-bottom{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:auto;padding-top:23px;border-top:1px solid #ddddd8;font-size:13px;line-height:1.7}.journal-card-bottom>span:last-child{font:31px/1 Arial,sans-serif;flex:none}
.journal-collection .journal-grid>.journal-card:first-child{grid-column:span 2;background:#292929;color:#fff;min-height:390px;padding:44px}.journal-collection .journal-grid>.journal-card:first-child h3{font-size:34px;max-width:720px;line-height:1.4}.journal-collection .journal-grid>.journal-card:first-child p{color:#cececa;max-width:680px;font-size:18px}.journal-collection .journal-grid>.journal-card:first-child .journal-card-bottom{border-color:#ffffff30}
.story-intro .content-lead{max-width:1070px;font-size:25px;line-height:1.7;margin:0}.story-meta{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:30px;font-size:14px;color:#6b6b68}.story-meta>span:first-child{color:var(--ink)}
.journal-reading{display:grid;grid-template-columns:280px minmax(0,1fr);gap:70px;align-items:start;margin-top:55px}.journal-toc{position:sticky;top:130px}.journal-toc nav{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.inner-page .journal-toc h2{font:600 17px/1.5 Manrope,Arial,sans-serif;letter-spacing:0;margin:0 0 17px}.journal-toc a{display:block;font-size:15px;line-height:1.65;padding:8px 0;color:#666663}.journal-toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.journal-copy{max-width:850px;min-width:0}.journal-copy>section{margin-bottom:65px}.inner-page .journal-copy h2{font:500 clamp(25px,2.6vw,35px)/1.45 var(--heading);letter-spacing:-.04em;margin:0 0 25px;scroll-margin-top:135px}.inner-page .journal-copy p,.inner-page .journal-copy li{font-size:19px;line-height:1.95;color:#484846}.journal-copy p{margin:0 0 23px}.journal-copy a{text-decoration:underline;text-underline-offset:4px;color:inherit}.journal-copy ul{padding-left:25px;margin:25px 0}.journal-copy li{padding:5px 0}
.article-note{border-left:3px solid #5e5e5a;background:#eeede8;padding:26px 30px;border-radius:0 18px 18px 0;margin:32px 0}.article-note p:last-child{margin-bottom:0}
.article-table{overflow-x:auto;margin:30px 0;border:1px solid #d5d9d3;border-radius:16px}.article-table table{width:100%;border-collapse:collapse;text-align:left;font-size:16px;line-height:1.75;min-width:520px}.article-table th,.article-table td{padding:19px 22px;vertical-align:top;border-bottom:1px solid #d8dcd5}.article-table th{background:#eae9e4;font-weight:600;color:var(--ink)}.article-table tr:last-child td{border-bottom:0}.article-table td+td,.article-table th+th{border-left:1px solid #d8dcd5}
.case-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:35px;margin:0 0 45px}.case-facts div{border-top:1px solid var(--line);padding-top:18px;min-width:0}.case-facts dt{font-size:14px;color:#71766f;margin-bottom:10px}.case-facts dd{font-size:19px;line-height:1.65;margin:0;overflow-wrap:anywhere}.case-facts dd a{text-decoration:underline;text-underline-offset:5px}
.case-shot{margin:0}.case-shot>a{display:block;padding:22px;background:#eae9e5;border-radius:28px;cursor:zoom-in}.case-shot img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 12px 34px #20252321}.case-shot figcaption{margin:15px 0 0;font-size:14px;line-height:1.7;color:#71716c}.case-shot-hero{margin-bottom:75px}
.case-sections{display:grid;gap:64px}.case-section{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:60px;border-top:1px solid var(--line);padding-top:35px}.inner-page .case-section>h2{font:500 31px/1.45 var(--heading);letter-spacing:-.04em;margin:0}.inner-page .case-section p{font-size:20px;line-height:1.9;margin:0 0 23px;max-width:100%}.case-section-body{min-width:0}.case-section ul{list-style:none;padding:0;margin:0;display:grid;gap:20px}.case-section li{font-size:19px;line-height:1.85;border-bottom:1px solid var(--line);padding:0 0 20px}.case-section li:last-child{border-bottom:0}.case-section-visual{grid-template-columns:1fr;gap:28px}.case-section-visual>h2{max-width:800px}
.case-versions{display:grid;gap:14px}.case-versions details{border:1px solid var(--line);border-radius:20px;background:#fff;padding:22px 28px}.case-versions summary{font-size:19px;cursor:pointer;overflow-wrap:anywhere}.case-versions details>p{font-size:16px!important;margin-top:18px}.case-versions .case-shot{margin-top:22px}.case-versions .case-shot>a{padding:12px;border-radius:18px}.case-source-list{display:flex;flex-wrap:wrap;gap:12px 22px}.case-source-list a{font-size:16px;text-decoration:underline;overflow-wrap:anywhere}
.case-lightbox{width:min(1440px,calc(100% - 40px));padding:58px 20px 18px;border-radius:24px;background:#f2f1ed;max-height:calc(100dvh - 36px);overflow:auto}.case-lightbox img{display:block;width:100%;height:auto;border-radius:8px}.case-lightbox-caption{font-size:14px;margin:14px 6px 0;color:#5a5a56}.case-lightbox .dialog-close{position:absolute;top:9px;right:12px}.story-related{margin-top:90px;padding-top:50px;border-top:1px solid var(--line)}.inner-page .story-related h2{margin:0;font-size:34px}.story-related .section-heading{margin-bottom:35px}
@media(max-width:1200px){.header nav{gap:18px}.header-inner{gap:20px}.header-contact{margin-left:0}.work-grid{gap:40px 25px}.journal-card{padding:25px;min-height:330px}.journal-reading{grid-template-columns:230px minmax(0,1fr);gap:40px}.case-section{gap:40px}.case-facts{gap:25px}.journal-collection .journal-grid>.journal-card:first-child{padding:32px}.journal-collection .journal-grid>.journal-card:first-child h3{font-size:30px}}
@media(min-width:801px) and (max-width:1050px){.header nav{gap:12px;font-size:13px}.header .brand img{width:150px}.header-inner{gap:16px}.header-phone{font-size:17px}.journal-card h3{font-size:21px}}
@media(max-width:900px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-screen .journal-card:last-child{grid-column:1/-1;min-height:230px}.journal-reading{grid-template-columns:1fr;gap:40px}.journal-toc{position:static}.journal-toc nav{display:flex;flex-wrap:wrap;gap:10px 25px}.journal-toc h2{width:100%}.journal-toc a{width:calc(50% - 15px)}.journal-copy{max-width:100%}.case-section{grid-template-columns:1fr;gap:25px}.case-facts{grid-template-columns:1fr 1fr}.case-facts>div:last-child{grid-column:1/-1}.journal-collection .journal-grid>.journal-card:first-child{grid-column:span 2}}
@media(max-width:600px){.work-grid,.journal-grid{grid-template-columns:1fr;gap:35px}.work-card-screen{padding:12px;border-radius:20px;aspect-ratio:1.65}.work-card-screen img{border-radius:7px}.work-card-open{display:none}.work-card-heading{margin-top:18px;gap:15px}.work-card-heading h3,.inner-page .work-card-heading h3{font-size:22px}.work-card>p,.inner-page .work-card>p{font-size:15px}.collection-intro,.story-intro{padding-top:0;margin-bottom:30px;padding-bottom:30px}.inner-page .collection-intro h1,.inner-page .story-intro h1{font-size:33px;line-height:1.3;overflow-wrap:anywhere;margin-bottom:23px}.collection-description p,.inner-page .collection-description p,.inner-page .story-intro .content-lead{font-size:19px;line-height:1.8}.work-filters{gap:8px}.work-filters a{font-size:13px;min-height:44px;padding:9px 13px}.work-search{border-radius:14px}.work-search input{font-size:15px;padding:13px;min-height:53px}.work-search button{font-size:14px;padding:12px 16px}.work-search button span{display:none}.collection-count{margin-bottom:26px}.collection-pagination{margin-top:40px;gap:22px;font-size:15px}.collection-pagination>div{order:3;width:100%;gap:8px}.collection-pagination>div a{min-width:40px;min-height:40px}.journal-screen .section{padding-top:50px}.journal-card{min-height:290px;padding:27px;border-radius:21px}.journal-card h3,.inner-page .journal-card h3{font-size:23px;line-height:1.45}.journal-card>p,.inner-page .journal-card>p{font-size:16px}.journal-screen .journal-card:last-child,.journal-collection .journal-grid>.journal-card:first-child{grid-column:auto}.journal-collection .journal-grid>.journal-card:first-child{min-height:350px;padding:28px}.journal-collection .journal-grid>.journal-card:first-child h3{font-size:26px}.journal-collection .journal-grid>.journal-card:first-child p{font-size:17px}.story-meta{font-size:13px;gap:8px 16px;margin-top:25px}.journal-reading{margin-top:30px;gap:35px}.journal-toc nav{display:block}.journal-toc a{width:100%;font-size:15px;padding:7px 0}.journal-copy>section{margin-bottom:45px}.inner-page .journal-copy h2{font-size:25px;line-height:1.5;margin-bottom:20px}.inner-page .journal-copy p,.inner-page .journal-copy li{font-size:17px;line-height:1.9}.article-note{padding:23px 21px}.article-table th,.article-table td{padding:15px 17px}.article-table table{font-size:15px}.case-facts{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.case-facts>div:last-child{grid-column:auto}.case-facts dd{font-size:18px}.case-facts dt{font-size:13px}.case-shot>a{padding:10px;border-radius:17px}.case-shot img{border-radius:7px}.case-shot figcaption{font-size:12px;line-height:1.7}.case-shot-hero{margin-bottom:45px}.case-sections{gap:40px}.case-section{padding-top:28px;gap:20px}.inner-page .case-section>h2{font-size:26px}.inner-page .case-section p,.case-section li{font-size:17px;line-height:1.9}.case-versions details{padding:20px}.case-versions summary{font-size:17px}.case-source-list a{font-size:14px}.case-lightbox{width:calc(100% - 20px);padding:57px 10px 13px;border-radius:18px}.story-related{margin-top:60px;padding-top:35px}.inner-page .story-related h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.work-card-screen img,.work-card-open,.journal-card{transition:none}.work-card:hover img,.journal-card:hover{transform:none}}

.case-shot-mobile{width:min(100%,430px);margin-inline:auto}
