
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#ffffff;--ink:#111;--mut:#9a9a9a;--line:#ededed}
html{scroll-behavior:smooth}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);
 -webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* top nav */
.topnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
 padding:24px 44px;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(10px);
 border-bottom:1px solid var(--line)}
.topnav .logo{font-size:20px;font-weight:800;letter-spacing:-.4px}
.topnav .logo sup{font-size:10px;font-weight:600}
.topnav nav{display:flex;gap:30px}
.topnav nav a{font-size:15px;color:#555;padding-bottom:3px}
.topnav nav a:hover{color:#000}
.topnav nav a.active{color:#000;border-bottom:1.5px solid #000}

/* work — square tile grid */
.work{max-width:1560px;margin:0 auto;padding:36px 40px 100px;
 display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{position:relative;display:block;overflow:hidden;border-radius:2px;background:#f2f2f2}
.tile .img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.tile:hover .img{transform:scale(1.045)}
.tile .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 22px 20px;
 background:linear-gradient(transparent,rgba(8,8,8,.62));
 display:flex;justify-content:space-between;align-items:flex-end;gap:14px}
.tile h3{font-size:20px;font-weight:600;letter-spacing:-.3px;color:#fff}
.tile .c{font-size:11px;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:1.4px;
 white-space:nowrap;padding-bottom:3px}
.intro{max-width:1560px;margin:0 auto;padding:60px 40px 4px}
.intro h1{font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--mut)}

/* detail */
.detail{max-width:1080px;margin:0 auto;padding:0 24px 110px}
.detail .head{padding:64px 4px 34px}
.detail h1{font-size:42px;font-weight:800;letter-spacing:-1.2px}
.detail .cat{font-size:14px;color:var(--mut);margin-top:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px}
.detail .desc{font-size:17px;color:#3c3c3c;margin-top:20px;max-width:720px;line-height:1.75}
.stack{display:flex;flex-direction:column;margin-top:30px;border-radius:3px;overflow:hidden;
 box-shadow:0 12px 44px -26px rgba(0,0,0,.22)}
.stack img{width:100%}
.more{display:flex;justify-content:space-between;align-items:center;margin-top:64px;
 padding-top:26px;border-top:1px solid var(--line)}
.more .lbl{font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:1.5px}
.more a{font-size:24px;font-weight:700;letter-spacing:-.5px}
.more a:hover{opacity:.6}

/* about */
.about{max-width:760px;margin:0 auto;padding:70px 44px 110px}
.about h1{font-size:46px;font-weight:800;letter-spacing:-1.4px;margin-bottom:8px}
.about .role{font-size:14px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:30px}
.about p{font-size:16px;color:#333;margin-bottom:18px;line-height:1.85}
.about a{text-decoration:underline}

/* motion — restrained scroll reveal (designer-portfolio preset, MOTION 7) */
@media (prefers-reduced-motion:no-preference){
 .reveal{opacity:0;transform:translateY(22px);
  transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1)}
 .reveal.in{opacity:1;transform:none}
}
/* refined tile hover */
.tile .cap{transition:background .4s ease}
.tile h3{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.tile .img{will-change:transform}
.tile:hover .cap{background:linear-gradient(transparent,rgba(8,8,8,.76))}
.tile:hover h3{transform:translateY(-3px)}

@media(max-width:1000px){ .work{grid-template-columns:repeat(2,1fr)} }
@media(max-width:820px){
 .topnav{padding:16px 20px;flex-wrap:wrap;gap:10px}
 .topnav nav{gap:18px}
 .topnav nav a{font-size:14px}
 .work{padding-left:16px;padding-right:16px;gap:8px}
 .intro{padding-left:16px;padding-right:16px}
 .tile h3{font-size:17px}
 .detail h1{font-size:30px}
}
@media(max-width:560px){ .work{grid-template-columns:1fr} }

/* Editorial v2 */
:root{--content:1440px}
.topnav{padding-left:max(32px,calc((100vw - var(--content))/2));padding-right:max(32px,calc((100vw - var(--content))/2))}
.intro,.work{max-width:var(--content)}
.hero-editorial{max-width:var(--content);margin:0 auto;padding:110px 40px 90px;border-bottom:1px solid var(--line)}
.hero-kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--mut);font-weight:600;margin-bottom:28px}
.hero-editorial h1{font-size:clamp(42px,5.5vw,82px);line-height:1.02;letter-spacing:-3px;font-weight:700;max-width:1000px}
.hero-copy{font-size:20px;line-height:1.7;color:#444;max-width:620px;margin-top:34px}
.meta-row{display:flex;flex-wrap:wrap;gap:18px 40px;margin-top:60px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:#555}
.contact-page{max-width:var(--content);margin:0 auto;padding:120px 40px 160px}
.contact-page h1{font-size:clamp(48px,7vw,100px);letter-spacing:-4px;line-height:.95;margin-bottom:30px}
.contact-page p{font-size:22px;max-width:620px;color:#444;line-height:1.6}
.contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:100px;border-top:1px solid var(--line);padding-top:30px}
.contact-info span{display:block;color:var(--mut);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.contact-info a,.contact-info strong{font-size:20px;font-weight:500}
@media(max-width:820px){.hero-editorial,.contact-page{padding-left:20px;padding-right:20px}.hero-editorial h1,.contact-page h1{letter-spacing:-1.5px}.contact-info{grid-template-columns:1fr}}


.featured-work{display:flex;flex-direction:column;gap:100px;padding:0 0 120px;}
.feature-card{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;color:inherit;text-decoration:none;border-top:1px solid #ddd;padding-top:40px;}
.feature-card img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.feature-card h2{font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.05;margin:15px 0;}
.feature-card p{max-width:360px;color:#555;line-height:1.6;}
.feature-card small{letter-spacing:.12em;}
.archive-title{padding-top:40px;}
.archive{padding-top:0;}
@media(max-width:800px){.feature-card{grid-template-columns:1fr;gap:25px;}}

/* v5 editorial system */
:root{--pad:clamp(24px,4vw,64px)}
.topnav,main,.page-intro,.contact-page{padding-left:var(--pad);padding-right:var(--pad)}
.home-hero{min-height:80vh;padding:clamp(80px,12vw,160px) var(--pad) 80px}
.home-hero h1{font-size:clamp(42px,6vw,88px);line-height:1.02;font-weight:500;letter-spacing:-.04em}
.label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px}
.lead{max-width:720px;font-size:clamp(20px,2vw,30px);line-height:1.35;margin-top:40px}
.meta-row{display:flex;gap:32px;flex-wrap:wrap;margin-top:60px;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.approach{padding:120px var(--pad);border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.approach h2{font-size:clamp(34px,4vw,64px);line-height:1.1;font-weight:400;letter-spacing:-.03em}
.section-head{display:flex;justify-content:space-between;align-items:end;padding:80px var(--pad) 30px}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 var(--pad) 100px}
.preview-grid img{width:100%;aspect-ratio:1;object-fit:cover}.preview-grid p{font-size:16px;margin-top:16px}
.page-intro{padding-top:100px;padding-bottom:60px}.page-intro h1{font-size:clamp(48px,7vw,100px);font-weight:400}
.contact-page{padding-top:180px;min-height:80vh}.contact-page h1{font-size:clamp(50px,8vw,120px);font-weight:400;letter-spacing:-.04em}.contact-page p{max-width:600px;font-size:24px;line-height:1.4}.contact-links{display:flex;gap:40px;margin-top:60px}
@media(max-width:700px){.preview-grid{grid-template-columns:1fr}.meta-row{gap:16px}}

/* Work v6 — unified square editorial archive */
.work-grid{max-width:1440px;margin:0 auto;padding:0 var(--pad) 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.work-tile{display:block;position:relative;overflow:hidden;}
.work-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.work-meta{padding:18px 0 30px;border-bottom:1px solid #e5e5e5;}
.work-meta h3{font-size:20px;font-weight:500;letter-spacing:-.02em;}
.work-meta p{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#777;margin-top:8px;}
.work-tile:hover img{transform:scale(1.035);}
@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.work-grid{grid-template-columns:1fr;}}


/* v7 work archive refinement */
.work-section{max-width:1440px;margin:0 auto;padding:0 var(--pad) 120px;}
.work-section>.label{margin-bottom:28px;}
.work-grid{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;}
.work-tile{color:inherit;text-decoration:none;}
.work-tile img{background:#f5f5f3;aspect-ratio:1/1;object-fit:cover;}
.work-meta{padding:16px 0 28px;border-bottom:1px solid #e6e6e6;}
.work-meta h3{font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:0;}
.work-meta p{font-size:11px;letter-spacing:.14em;margin-top:10px;color:#777;}
.work-tile:hover img{transform:scale(1.02);}
@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.work-grid{grid-template-columns:1fr;}.work-section{padding-left:20px;padding-right:20px;}}

/* v8 — unified cover thumbnails */
.preview-grid a,.work-tile{display:block;color:inherit;text-decoration:none}
.preview-grid img,.work-tile img{background:#f5f3ef;border:1px solid #ece8e2;}
.work-intro p:last-child{max-width:620px;color:#555;font-size:18px;line-height:1.6}
.work-grid{gap:36px 24px}
.work-meta{padding:14px 0 34px;border-bottom:1px solid #e9e7e3}
.work-meta h3{font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:0}
.work-meta p{font-size:11px;letter-spacing:.14em;margin-top:10px;color:#6f6f6f}
.work-tile:hover img,.preview-grid a:hover img{transform:translateY(-2px) scale(1.01);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.preview-grid p{font-size:18px;line-height:1.25;letter-spacing:-.02em}
.preview-grid a:hover p{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.work-grid{gap:28px 18px}}


/* v9 — typographic logo-style covers + contact icons */
.preview-grid img,.work-tile img{background:#f6f3ee;border:1px solid #ded8cf;}
.work-meta h3{font-size:17px;}
.contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:72px;}
.contact-card{display:flex;flex-direction:column;gap:14px;padding:28px 28px 32px;border:1px solid #e7e3dc;background:#faf8f4;min-height:220px;transition:transform .25s ease,border-color .25s ease;}
.contact-card:hover{transform:translateY(-3px);border-color:#cfc7bc;}
.icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #d8d2c8;border-radius:999px;color:#1b1b1b;}
.icon-wrap svg{width:22px;height:22px;}
.contact-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6f6f6f;}
.contact-card strong{font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.02em;}
@media(max-width:900px){.contact-cards{grid-template-columns:1fr;}}

/* v10 — restore original site thumbnail imagery */
.preview-grid img,.work-tile img{background:transparent;border:none;box-shadow:none;}
.work-tile{overflow:visible;}
.work-tile img,.preview-grid img{transition:transform .45s cubic-bezier(.2,.7,.2,1), opacity .25s ease;}
.work-tile:hover img,.preview-grid a:hover img{transform:translateY(-2px) scale(1.012);opacity:.96;}
.work-grid{gap:34px 24px;}
.work-meta{padding:14px 0 32px;border-bottom:1px solid #ece9e3;}
.work-meta h3{font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.02em;}
.work-meta p{font-size:11px;letter-spacing:.14em;color:#7b7b7b;}
.preview-grid p{font-size:18px;line-height:1.25;letter-spacing:-.02em;margin-top:14px;}
.preview-grid a:hover p{text-decoration:underline;text-underline-offset:4px;}

/* v13 — cleaner work page and 4-column desktop grid */
.work-section{padding-top:48px;}
.work-grid{grid-template-columns:repeat(4,1fr);gap:34px 24px;}
@media(max-width:1200px){.work-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,1fr);gap:28px 18px;}}
@media(max-width:600px){.work-grid{grid-template-columns:1fr;}}


.project-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:48px 0 72px;border-top:1px solid #ddd;padding-top:24px;font-size:14px}.project-meta div{display:flex;flex-direction:column;gap:8px}.project-meta span{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#777}.project-meta strong{font-weight:500}@media(max-width:700px){.project-meta{grid-template-columns:1fr}}

/* v25 case study sections */
.case-study-text{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:72px 0 80px;border-top:1px solid #e7e3dc;padding-top:40px;}
.case-study-text h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-bottom:16px;}
.case-study-text p{font-size:17px;line-height:1.7;color:#555;}
@media(max-width:900px){.case-study-text{grid-template-columns:1fr;}}

/* v26 — editorial single column case studies */
.editorial-meta{display:flex;flex-direction:column;gap:28px;max-width:720px;margin:48px 0 80px;border-top:1px solid #ddd;padding-top:28px;}
.editorial-meta div{display:flex;flex-direction:column;gap:8px;}
.editorial-meta span{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#777;}
.editorial-meta strong{font-size:18px;font-weight:500;letter-spacing:-.02em;}
.editorial-case-study{display:block;max-width:760px;margin:80px 0;border-top:1px solid #e7e3dc;padding-top:48px;}
.editorial-case-study > div{margin-bottom:64px;}
.editorial-case-study h2{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-bottom:20px;}
.editorial-case-study p{font-size:18px;line-height:1.75;color:#4f4f4f;max-width:720px;}
@media(max-width:700px){.editorial-case-study{margin:56px 0}.editorial-case-study p{font-size:16px;}}

/* v27 editorial case study layout */
.detail .head, .detail .project-meta, .detail .editorial-case-study {max-width:1100px;}
.detail .stack{width:100%;max-width:none;}
.editorial-case-study{margin:80px auto;}
.case-section{max-width:820px;margin:0 0 64px;}
.case-section h2{font-size:32px;font-weight:500;letter-spacing:-.03em;margin-bottom:18px;}
.case-section p{font-size:20px;line-height:1.7;color:#333;}
.project-meta{max-width:1100px;display:flex;gap:80px;margin:50px auto;}
.project-meta div{display:flex;flex-direction:column;gap:8px;}
.project-meta span{text-transform:uppercase;font-size:11px;letter-spacing:.15em;color:#777;}
@media(max-width:800px){.project-meta{display:block}.project-meta div{margin-bottom:25px}.case-section p{font-size:18px}}

/* v28 — global navigation + full-width editorial system */
.topnav nav a.active{border-bottom:1px solid currentColor;}
.detail-fullwidth{width:100%;max-width:none;padding-left:40px;padding-right:40px;}
.detail-fullwidth .head,.detail-fullwidth .overview,.detail-fullwidth .challenge,.detail-fullwidth .approach,.detail-fullwidth .outcome{max-width:none;}
.detail-fullwidth .stack img{width:100%;height:auto;display:block;}
.site-footer{padding:60px 40px 40px;font-size:12px;letter-spacing:.05em;color:#666;}
.site-footer a{color:inherit;text-decoration:none;margin-left:8px;}
.site-footer a:hover{text-decoration:underline;}
@media(max-width:800px){.detail-fullwidth{padding-left:20px;padding-right:20px}.site-footer{padding-left:20px}}

/* v31 — unified detail page alignment */
.detail-fullwidth .content-align{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--page-margin, 48px);
  padding-right:var(--page-margin, 48px);
}
.detail-fullwidth .head h1,
.detail-fullwidth .head .cat,
.detail-fullwidth .head .desc,
.detail-fullwidth .project-meta,
.detail-fullwidth .stack{
  max-width:none;
}
.detail-fullwidth .stack img{
  width:100%;
  display:block;
}
.detail-fullwidth .project-meta{
  display:block;
}
.detail-fullwidth .project-meta > div{
  display:block;
  margin-bottom:20px;
}
@media(max-width:768px){
 .detail-fullwidth .content-align{padding-left:24px;padding-right:24px;}
}


/* v32 unified alignment */
:root {
  --site-margin: 48px;
}

.topnav,
.page-intro,
.work-grid,
.contact-page,
.about-page,
.detail-page {
  margin-left: 0;
  margin-right: 0;
}

.case-study-section {
  margin-top: 72px;
}

.case-study-section h2 {
  margin-bottom: 20px;
}

.detail-page .stack img {
  width: 100%;
  display: block;
}

@media (max-width: 900px) {
  :root {
    --site-margin: 24px;
  }
}


/* v33 unified margin system */
:root {
  --site-margin: 104px;
  --site-width: calc(100vw - (var(--site-margin) * 2));
}

body {
  margin: 0;
}

.topnav,
.page-header,
.hero,
.work-grid,
.detail-page,
.contact-page,
.about-page,
footer {
  width: var(--site-width);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.detail-page h1,
.detail-page .project-meta,
.detail-page .project-description,
.detail-page .case-study-section,
.detail-page .gallery {
  width: 100%;
}

.work-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  :root {
    --site-margin: 24px;
  }
}

/* v34 — align all pages to the Work archive grid container */
:root{--site-content:1440px;--site-pad:clamp(24px,3.2vw,48px)}
.topnav{padding-left:max(var(--site-pad),calc((100vw - var(--site-content))/2));padding-right:max(var(--site-pad),calc((100vw - var(--site-content))/2))}

.work-section,
.work-grid,
.intro,
.hero-editorial,
.contact-page,
.detail{
  max-width:var(--site-content);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--site-pad);
  padding-right:var(--site-pad);
}

/* 4-column archive */
.work-grid{grid-template-columns:repeat(4,1fr);gap:36px 24px;padding-bottom:120px}

/* Detail pages: same left/right edge as archive, no viewport overflow */
.detail{max-width:var(--site-content);padding-top:0;padding-bottom:120px}
.detail .head{padding-left:0;padding-right:0;padding-top:90px}
.detail .desc{max-width:760px}
.stack{width:100%;margin-top:48px;border-radius:0;box-shadow:none}
.stack img{width:100%;height:auto}

/* Keep sections aligned, avoid duplicated narrow editorial containers */
.detail .challenge,
.detail .approach,
.detail .outcome,
.detail .section{
 max-width:none;
}

@media(max-width:1100px){.work-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.work-grid{grid-template-columns:1fr}}

/* v35 detail alignment fixes */
:root{--site-content:1440px;}
.detail.detail-fullwidth{max-width:var(--site-content);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.detail .content-align,.detail .head,.detail .stack,.detail .project-meta{max-width:none;width:100%;margin-left:0;margin-right:0;}
.detail .head .desc{max-width:100%;}
.detail .stack img{width:100%;max-width:100%;}
.detail .case-study-section{max-width:none;width:100%;margin:70px 0;}

/* === FINAL margin authority — nav + all content share ONE left edge on every page.
   Overrides the conflicting v32/v33/v34 "unified" systems above. === */
:root{--site-pad:clamp(20px,3vw,44px);}
main{padding-left:0!important;padding-right:0!important;}
.topnav,
.home-hero,.approach,.section-head,.preview-grid,
.page-intro,.contact-page,.hero-editorial,.intro,
.work-grid,.work-section,
.detail,.detail.detail-fullwidth,
.site-footer{
  width:auto!important;max-width:var(--site-content)!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:var(--site-pad)!important;padding-right:var(--site-pad)!important;
}

/* === Challenge / Approach / Outcome: compact brief directly under the title === */
.case-brief{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);
  margin:36px 0 8px;padding-top:32px;border-top:1px solid var(--line,#e5e5e5);
}
.case-brief .case-study-section{margin:0;max-width:none;}
.case-brief h2{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:#111;}
.case-brief p{font-size:16px;line-height:1.55;color:#333;margin:0;}
@media(max-width:800px){.case-brief{grid-template-columns:1fr;gap:28px;}}

/* DJUR — type-specimen grid for existing letter/specimen images */
.djur-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start;}
.djur-grid img{width:100%;height:auto;background:#fff;border-radius:2px;}
@media(max-width:600px){.djur-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.djur-grid{grid-template-columns:repeat(2,1fr);}}

/* Work archive: grid is nested inside .work-section — section owns the edge padding,
   grid fills it flush so tiles align with the logo/nav on both sides */
.work-section > .work-grid{max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;}

/* Home approach — breathing room before the "Explore my approach" link */
.approach a{display:inline-block;margin-top:46px;font-size:16px;letter-spacing:.01em;border-bottom:1px solid currentColor;padding-bottom:3px;}
.approach a:hover{opacity:.6;}

/* Detail — single flowing project note (replaces the 3-column brief) */
.case-note{margin:34px 0 6px;padding-top:34px;border-top:1px solid var(--line,#e5e5e5);}
.case-note p{max-width:760px;font-size:19px;line-height:1.75;color:#2b2b2b;margin:0;}
@media(max-width:600px){.case-note p{font-size:17px;line-height:1.7;}}

/* Detail hierarchy — emphasized intro dek, body note reads as body text */
.detail .head .desc{font-size:clamp(22px,2.1vw,28px)!important;line-height:1.5!important;color:#141414!important;font-weight:400!important;max-width:940px!important;margin-top:22px!important;}
.case-note{margin-top:40px;padding-top:36px;}
.case-note p{font-size:18px!important;line-height:1.78!important;color:#4a4a4a!important;max-width:940px!important;}
@media(max-width:600px){.detail .head .desc{font-size:20px!important;}.case-note p{font-size:16px!important;}}

/* Detail — align story images flush with the text column, and widen the text measure */
.detail .stack{padding-left:0!important;padding-right:0!important;}
.detail .head .desc{max-width:1040px!important;}
.case-note p{max-width:1040px!important;}

/* Detail text — wider measure + orphan control (no single-word last lines) */
.detail .head .desc{max-width:1200px!important;text-wrap:balance;}
.case-note p{max-width:1200px!important;text-wrap:pretty;}

/* Detail bottom nav — Previous (left) / Next (right) */
.more{align-items:flex-start;gap:24px;}
.more>a{display:flex;flex-direction:column;gap:8px;}
.more .more-prev{align-items:flex-start;text-align:left;}
.more .more-next{align-items:flex-end;text-align:right;margin-left:auto;}
.more .lbl{font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:1.5px;}
.more .nav-title{font-size:clamp(18px,2.2vw,24px);font-weight:700;letter-spacing:-.5px;}
.more>a:hover .nav-title{opacity:.6;}
@media(max-width:600px){.more .nav-title{font-size:16px;}}
