/* Personal introduction, open worked examples and a task-led reading library. */
.home-page .eyebrow,.home-page .legend,.home-page .src{font-size:13px}
.home-page .hero-grid{position:relative}
.home-page .portrait-frame{position:relative;box-shadow:14px 14px 0 #ffffff04}
.home-page .portrait-frame::after{content:"";position:absolute;right:-1px;bottom:-1px;width:36%;height:3px;background:var(--red)}
.home-service-flow{display:flex;flex-wrap:wrap;gap:12px 26px;list-style:none;padding:0;margin:22px 0 26px;font:13px/1.5 var(--mono)}
.home-service-flow li{position:relative;padding:8px 10px;border:1px solid var(--line-2);color:var(--v-sage)}
.home-service-flow li+li::before{content:"→";position:absolute;left:-20px;color:var(--muted)}
.home-page .finding{margin-top:24px;background:var(--v-panel);border:1px solid var(--line-2)}
.home-page .f-head{display:flex;margin:0;padding:24px 28px;font-family:var(--sans);font-size:23px;line-height:1.3;font-weight:500;cursor:default}
.home-page .f-head::after{content:none}
.home-page .f-head>span{display:flex;align-items:baseline;gap:16px}
.home-page .f-head .n{font:13px/1.4 var(--mono);color:var(--red)}
.home-page .finding .f-body{padding:0 28px 26px;gap:28px}
.home-page .f-body .k{margin-bottom:14px;font-size:13px}
.home-page .f-body>div{position:relative;padding:20px 0 0;border-right:0;border-top:1px solid var(--line)}
.home-page .f-body>div.do{border-top:2px solid var(--v-sage);background:none;padding:20px 0 0}
.home-page .finding .src{padding-inline:28px}
.home-page .finding .edit{margin:0 28px 24px}
.home-page .tool-flow{position:relative;list-style:none;padding:24px;gap:0;border:1px solid var(--line-2);background:var(--v-panel)}
.home-page .tool-flow li{position:relative;display:flex;align-items:center;gap:20px;min-height:84px;margin:0;padding:16px 0;font-size:17px;border-bottom:1px solid var(--line)}
.home-page .tool-flow li:last-child{border:0}
.home-page .tool-flow li>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--v-sage);border-radius:50%;color:var(--v-sage);background:var(--v-panel);font:12px/1 var(--mono)}
.home-page .featured-lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:8px 48px;margin-bottom:14px;padding:32px;border:1px solid var(--line-2);border-left:3px solid var(--v-sage);background:var(--v-panel)}
.home-page .featured-lead .k,.home-page .featured-lead h3{grid-column:1}
.home-page .featured-lead h3{font-size:clamp(25px,3vw,34px);margin:4px 0 14px}
.home-page .featured-lead>p:not(.k){grid-column:1;margin:0}
.home-page .featured-lead .home-service-flow{grid-column:2;grid-row:1/4;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;margin:0}
.home-page .featured-lead .home-service-flow li{min-width:160px}
.home-page .featured-lead .home-service-flow li+li::before{content:"↓";left:12px;top:-20px}
.notes-library .reading{max-width:none}
.notes-library .reading>nav{display:block}
.notes-library .reading .library-nav{padding:0;width:100%;list-style:none}
.notes-library .reading .library-nav li{min-width:0;padding:0;margin:0}
.library-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:32px 0 64px;list-style:none}
.library-nav a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:22px 0;border-block:1px solid var(--line);font-size:19px;text-decoration:none}
.library-nav span{font:13px/1.3 var(--mono);color:var(--v-sage)}
.library-nav a:hover{border-color:var(--v-sage)}
.library-group{margin:54px 0 64px;scroll-margin-top:100px}
.reading .library-group>h2{font-size:clamp(28px,3.5vw,40px);line-height:1.15;margin:0 0 14px;font-weight:500;letter-spacing:-.025em}
.reading .library-group>.v-note{margin:0 0 28px}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.reading .library-group .note-card{position:relative;padding:26px 28px 28px;margin:0;border:1px solid var(--line);background:var(--v-panel)}
.reading .library-group h3{font-size:clamp(23px,2.6vw,29px);line-height:1.3;margin:20px 0 16px;font-weight:500;letter-spacing:-.015em}
.library-group h3 a{text-decoration:none}
/* The arrow promises a whole-card link, so the title link covers the card. */
.library-group h3 a::after{content:"";position:absolute;inset:0}
.library-group h3 a:hover{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}
.reading .library-group .byline{font-size:13px;margin:0;color:var(--muted)}
.reading .library-group .note-card>p:last-child{font-size:17px;line-height:1.65;margin:0;max-width:48em}
.library-marker{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px;font:13px/1.5 var(--mono);color:var(--v-sage)}
.library-marker::after{content:"↗";font-size:22px;color:var(--muted)}
.library-group-rights .library-grid{grid-template-columns:1fr;gap:0}
.reading .library-group-rights .note-card{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);gap:4px 26px;padding:28px 0;border:0;border-top:1px solid var(--line);background:none}
.library-group-rights .library-marker{grid-column:1;grid-row:1/4;display:block;margin:0;padding-top:4px;color:var(--v-violet)}
.library-group-rights .library-marker::after{display:block;margin-top:18px}
.library-group-rights .byline{grid-column:2}
.reading .library-group-rights h3{grid-column:2;margin:6px 0 0;font-size:24px}
.reading .library-group-rights .note-card>p:last-child{grid-column:3;grid-row:1/4;align-self:center;color:var(--muted)}
.library-group-delivery .note-card{border-top:2px solid var(--v-warm)}
.library-group-delivery .library-marker{color:var(--v-warm)}
.library-external{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;padding:30px 0;border-top:1px solid var(--line)}
.reading .library-external h2{font-size:24px;margin:0}
.library-external p{margin:0;color:var(--muted)}
@media(max-width:760px){.home-page .featured-lead{grid-template-columns:1fr;padding:24px}.home-page .featured-lead .home-service-flow{grid-column:1;grid-row:auto;flex-direction:row;margin-top:12px;gap:10px}.home-page .featured-lead .home-service-flow li{min-width:0;font-size:13px}.home-page .featured-lead .home-service-flow li+li::before{content:none}.home-page .f-head{padding:22px 20px;font-size:21px}.home-page .finding .f-body{padding:0 20px 24px}.home-page .finding .src{padding-inline:20px}.home-page .finding .edit{margin:0 20px 22px}.library-nav{grid-template-columns:1fr;gap:0;margin-bottom:40px}.library-nav a{padding:16px 0;border-top:0;font-size:17px}.library-grid{grid-template-columns:1fr}.reading .library-group .note-card{padding:24px 20px}.reading .library-group-rights .note-card{grid-template-columns:30px minmax(0,1fr);gap:4px 16px;padding:24px 0}.reading .library-group-rights .note-card>p:last-child{grid-column:2;grid-row:auto;margin-top:14px}.library-external{grid-template-columns:1fr;gap:14px}.home-service-flow{gap:10px 24px}.home-service-flow li{font-size:13px}}
@media print{.library-nav{display:none}.home-page .finding,.home-page .featured-lead,.reading .library-group .note-card{background:none;color:#111;border-color:#999;break-inside:avoid}.home-page .f-head{color:#111}.library-grid{grid-template-columns:1fr}.library-marker,.home-service-flow li{color:#333}.home-page .featured-lead .home-service-flow{display:none}}

/* Homepage: the first screen shows the work itself, then routes visitors by the situation they recognise. */
.home-page .home-service-flow li,.home-page .featured-lead .home-service-flow li{font-size:13px}
.home-page .hx{grid-template-areas:"eyebrow photo" "name photo" "statement photo" "lead photo" "cta photo";grid-template-rows:auto auto auto auto 1fr}
.home-page .hx .name{font-size:clamp(46px,6vw,88px);line-height:1;letter-spacing:-.04em}
.hx-statement{grid-area:statement;max-width:15em;margin:clamp(20px,2.4vw,30px) 0 0;font-size:clamp(30px,3.6vw,52px);font-weight:500;line-height:1.12;letter-spacing:-.03em}
.hx-statement del{color:var(--muted);text-decoration:none;background:linear-gradient(var(--red),var(--red)) no-repeat 0 58%/100% 3px;transition:none}
.hx-statement ins{padding:0 .06em;color:var(--ink);text-decoration:none;background:linear-gradient(#b8dbba2b,#b8dbba2b) no-repeat 0 0/100% 100%,linear-gradient(var(--v-sage),var(--v-sage)) no-repeat 0 100%/100% 3px;transition:none}
.home-page .hx .lead{max-width:30em;margin-top:clamp(18px,2vw,26px);color:var(--ink-2);font-size:clamp(18px,1.6vw,22px);line-height:1.5}
.hx-profile{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.hx-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.hx-facts div{position:relative;padding:22px 22px 22px 0}
.hx-facts div+div{padding-left:22px;border-left:1px solid var(--line)}
.hx-facts div::before{content:"";position:absolute;top:-1px;left:0;width:36px;height:2px;background:var(--v-sage)}
.hx-facts div+div::before{left:22px}
.hx-facts dt{margin-bottom:8px;color:var(--muted);font:13px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.hx-facts dd{margin:0;font-size:17px;line-height:1.45}
.hx-more{margin:2px 0 0}
.lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.lane{display:flex;flex-direction:column;min-width:0;padding-top:24px;border-top:2px solid var(--lane)}
.lane-contracts{--lane:var(--red)}.lane-rights{--lane:var(--v-violet)}
.lane>.k{color:var(--lane)}
.lane h3{margin:12px 0 10px;font-size:clamp(26px,2.8vw,34px);font-weight:500;line-height:1.18;letter-spacing:-.02em}
.lane-desc{max-width:34em;margin:0 0 22px;color:var(--ink-2);font-size:17px;line-height:1.55}
.cases{display:grid;gap:14px;margin:0 0 18px;padding:0;list-style:none}
.case{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px 20px;align-items:start;margin:0;padding:20px 22px;border:1px solid var(--line-2);background:var(--v-panel)}
.case-art{position:relative;display:block;grid-row:1/span 2;width:72px;height:56px;border:1px solid var(--line-2);background:#ffffff05}
.case-art i{position:absolute;display:block}
.art-doc i{left:10px;height:3px;border-radius:1px;background:#5b584e}
.art-doc i:nth-child(1){top:12px;width:46px}.art-doc i:nth-child(2){top:22px;width:38px;background:var(--red)}.art-doc i:nth-child(3){top:32px;width:42px;background:var(--v-sage)}.art-doc i:nth-child(4){top:42px;width:28px}
.art-chat i{height:11px;border-radius:6px}
.art-chat i:nth-child(1){top:8px;left:8px;width:34px;background:#ffffff1f}.art-chat i:nth-child(2){top:22px;right:8px;width:40px;background:#b8dbba4d}.art-chat i:nth-child(3){top:36px;left:8px;width:26px;background:#ffffff1f}
.art-split i{top:20px;height:16px}
.art-split i:nth-child(1){left:8px;width:23px;background:var(--v-sage)}.art-split i:nth-child(2){left:34px;width:18px;background:var(--v-warm)}.art-split i:nth-child(3){left:55px;width:9px;background:var(--v-violet)}
.art-layers i{left:10px;width:52px;height:8px;border-radius:1px}
.art-layers i:nth-child(1){top:12px;background:var(--v-sage)}.art-layers i:nth-child(2){top:24px;background:var(--v-warm)}.art-layers i:nth-child(3){top:36px;background:var(--v-violet)}
.case-quote{margin:0;color:var(--ink);font-size:18px;font-weight:500;line-height:1.4}
.case-do{margin:0;color:var(--ink-2);font-size:16px;line-height:1.55}
.case-do::before{content:"→ ";color:var(--lane)}
.lane>.link{align-self:flex-start;margin-top:auto}
.home-page .finding .f-body>div+div::before{content:"→";position:absolute;left:-21px;top:18px;color:var(--muted);font:14px/1 var(--mono)}
.hx-check{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.hx-check li{display:flex;align-items:center;gap:12px;margin:0;font-size:17px;line-height:1.45}
.hx-check li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;flex:none;border:1px solid #b8dbba80;border-radius:3px;color:var(--v-sage);font:12px/1 var(--mono)}
@media screen and (prefers-reduced-motion:no-preference){.hx-statement del{animation:hx-strike .7s var(--v-ease) .4s both}.hx-statement ins{animation:hx-insert .8s var(--v-ease) 1s both}}
@keyframes hx-strike{from{background-size:0% 3px}to{background-size:100% 3px}}
@keyframes hx-insert{from{opacity:0;background-size:0% 100%,0% 3px}to{opacity:1;background-size:100% 100%,100% 3px}}
@media(max-width:1080px){.hx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-facts div:nth-child(3){padding-left:0;border-left:0}.hx-facts div:nth-child(3)::before{left:0}.hx-facts div:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:860px){.lanes{grid-template-columns:1fr;gap:44px}.home-page .finding .f-body>div+div::before{content:none}}
@media(max-width:720px){.home-page .hx{grid-template-areas:"eyebrow eyebrow" "name photo" "statement statement" "lead lead" "cta cta";grid-template-rows:auto}.hx-statement{max-width:none;font-size:clamp(27px,8vw,36px)}.home-page .hx .lead{font-size:18px}.hx-facts{grid-template-columns:1fr}.hx-facts div,.hx-facts div+div{padding:16px 0;border-left:0;border-top:1px solid var(--line)}.hx-facts div:first-child{border-top:0}.hx-facts div::before,.hx-facts div+div::before,.hx-facts div:nth-child(3)::before{left:0}.case{grid-template-columns:72px minmax(0,1fr);gap:6px 14px;padding:16px}.case-art{grid-row:1}.case-do{grid-column:1/-1}.case-quote{align-self:center;font-size:17px}}
@media print{.hx-statement del,.hx-statement ins{animation:none}.case{background:none;border-color:#999;break-inside:avoid}.case-art{display:none}.case{grid-template-columns:1fr}.case-quote,.case-do{color:#111}.hx-facts dd{color:#111}}
