/* Shared case-file components. The recovered d2.css remains the visual baseline. */
:root{--sh:0 14px 30px rgba(35,38,43,.1)}
html{scroll-padding-top:24px}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pk);outline-offset:5px}
.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:var(--ink);color:#fff;padding:14px 20px}.skip-link:focus{top:12px}
nav.site-nav{position:relative;gap:24px;min-height:88px}nav.site-nav a{color:inherit;text-decoration:none}nav.site-nav .cta{color:#fff}nav.site-nav ul{gap:24px}nav.site-nav a[aria-current=page]{color:var(--pk);text-decoration:underline;text-underline-offset:7px}.brand{flex-shrink:0}.nav-book{white-space:nowrap}.menu{display:none}.menu summary{cursor:pointer;list-style:none;font-weight:700;padding:12px 16px;border:1px solid var(--ink);border-radius:6px}.menu summary::-webkit-details-marker{display:none}
.site-footer>.w{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:52px}footer.site-footer h2{font-size:16px;color:#fff;letter-spacing:0;margin:0 0 20px}footer.site-footer a{display:block;color:inherit;line-height:1.6;margin-bottom:10px}footer.site-footer p{max-width:32ch;line-height:1.6}footer.site-footer .footer-brand{font-size:26px;font-weight:800;color:#fff;text-decoration:none}footer.site-footer small{color:#c9ccd1}
.core-hero{padding:52px 0 100px}.core-hero>.w{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:72px}.core-hero h1{font-size:clamp(44px,5.6vw,76px);line-height:1.03;letter-spacing:-.04em;margin:22px 0 26px;max-width:12ch;text-wrap:balance}.core-hero .l{max-width:47ch;font-size:19px;line-height:1.6;margin-bottom:28px}.core-hero .t{box-decoration-break:clone;-webkit-box-decoration-break:clone}.core-illustration{margin:15px 10px 0;transform:rotate(2deg)}.core-illustration figcaption{font:13px/1.6 var(--mono);max-width:37ch;margin:20px 0 0}
.case-note{background:#fff;padding:36px;box-shadow:var(--sh);transform:rotate(1.5deg);position:relative}.file-label{font:600 12px/1.5 var(--mono);color:var(--pk);letter-spacing:.06em}.case-note .note-headline{font-size:34px;font-weight:800;line-height:1.15;letter-spacing:-.025em;margin:22px 0}.case-note p{font-size:17px;line-height:1.6}.text-link{font-weight:600;color:var(--pk);text-underline-offset:5px;line-height:1.6}.text-link:hover{text-decoration-thickness:2px}
.service-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:70px}.service-file{position:relative;background:#fff;padding:32px 28px;box-shadow:var(--sh);display:flex;flex-direction:column}.service-file:before{content:'';position:absolute;top:-14px;left:0;background:#fff;width:110px;height:15px;border-radius:8px 8px 0 0}.service-file h3{font-size:28px;line-height:1.2;letter-spacing:-.025em;margin:20px 0 12px}.service-file p{font-size:17px;line-height:1.65;margin:0 0 26px}.service-file .text-link{margin-top:auto}.related-work{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px}.related-work h2{font-size:clamp(40px,4.5vw,60px);letter-spacing:-.035em;max-width:11ch}.service-index>a{display:block;position:relative;color:inherit;text-decoration:none;border-top:1px solid #c3bfba;padding:28px 36px 28px 0}.service-index>a:last-child{border-bottom:1px solid #c3bfba}.service-index h3{font-size:24px;margin:0 0 12px;letter-spacing:-.02em}.service-index p{font-size:17px;line-height:1.6;margin:0;max-width:40ch}.service-index span{position:absolute;top:28px;right:0;font-size:24px;color:var(--pk)}.service-index>a:hover h3{text-decoration:underline;text-underline-offset:5px}
.decision-routes{margin:48px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 64px}.decision-routes>div{padding:30px 0;border-top:1px solid #c5b6bd}.decision-routes dt{font-size:30px;font-weight:700;letter-spacing:-.025em}.decision-routes dd{font-size:18px;line-height:1.6;margin:12px 0 0;max-width:45ch}.process-steps{list-style:none;padding:0;margin:56px 0 0}.process-steps>li{display:grid;grid-template-columns:60px 1.3fr .9fr;gap:36px;padding:38px 0;border-top:1px solid #c3bfba}.step-number{font:600 22px var(--mono);color:var(--pk)}.process-steps h3{font-size:30px;letter-spacing:-.025em;margin:0 0 16px}.process-steps p{font-size:18px;line-height:1.6;margin:0;max-width:48ch}.step-output{padding-left:28px;border-left:1px solid #c3bfba}.step-output b{font:600 12px var(--mono);color:var(--pk);text-transform:uppercase;letter-spacing:.06em}.step-output p{font-size:16px;margin:14px 0 0}.process-example{display:grid;grid-template-columns:1.1fr .9fr;gap:72px}.process-example h2{font-size:clamp(40px,4.5vw,60px);letter-spacing:-.035em;margin-bottom:0}.process-example .lead:first-child{margin-top:0}.book h2{font-size:clamp(42px,5vw,64px);letter-spacing:-.035em}.book p{font-size:18px;line-height:1.6;max-width:48ch}.booking-card{transform:none!important;border:0!important;padding:36px!important}.booking-card h3{font-size:30px;letter-spacing:-.025em;margin:20px 0 14px}.booking-card p{font-size:17px;line-height:1.65}.booking-card .calendar-note{font:12px/1.7 var(--mono);color:#4a4e55;margin:22px 0 0}.booking-card .cta{white-space:normal;text-align:center}.conversation-list{margin:0 0 28px;padding-left:24px}.conversation-list li{padding:0 0 20px 8px;font-size:21px;line-height:1.5}.conversation-list li::marker{color:var(--pk);font-family:var(--mono)}
@media(max-width:1100px){nav.site-nav{padding:18px 32px}nav.site-nav ul{gap:16px;font-size:14px}.core-hero>.w{gap:40px}.service-file{padding:28px 22px}.book>.w{grid-template-columns:1fr 1fr;gap:40px}.related-work{gap:40px}}
@media(max-width:900px){nav.site-nav .desktop-links{display:none}.menu{display:block}.menu[open]>ul{display:flex;position:absolute;z-index:20;top:76px;right:24px;left:24px;background:var(--bg);padding:22px;box-shadow:0 16px 30px #23262b26;flex-direction:column;gap:0}.menu li a{display:block;padding:12px;min-height:44px}.nav-book{margin-left:auto}.core-hero>.w{grid-template-columns:1fr 1fr;gap:32px}.core-hero .l{font-size:18px}.service-files{grid-template-columns:1fr;gap:48px}.service-file{padding:32px}.service-file h3{margin-top:16px}.service-file p{max-width:65ch}.process-steps>li{grid-template-columns:40px 1fr;gap:22px}.step-output{grid-column:2;padding-left:0;border-left:0}.site-footer>.w{gap:28px}}
@media(max-width:700px){.w{padding-left:24px;padding-right:24px}nav.site-nav{padding:16px 24px;gap:14px}nav.site-nav img{height:34px}.nav-book{display:none!important}.menu{margin-left:auto}.core-hero{padding:28px 0 64px}.core-hero>.w,.related-work,.process-example,.book>.w{grid-template-columns:1fr;gap:40px}.core-hero h1{font-size:48px;max-width:13ch}.core-hero .l{max-width:40ch}.core-illustration{max-width:420px;margin:8px 8px 0}.case-note{margin:8px 6px 0;padding:28px}.case-note .note-headline{font-size:30px}.sec h2{font-size:42px;letter-spacing:-.035em;line-height:1.05}.related-work h2{max-width:14ch}.decision-routes{grid-template-columns:1fr;gap:0}.decision-routes dt{font-size:28px}.process-steps>li{grid-template-columns:30px 1fr;gap:18px}.process-steps h3{font-size:26px}.process-steps p{font-size:17px}.step-number{font-size:18px}.booking-card{padding:28px!important}.booking-card .cta{display:block}.conversation-list li{font-size:19px}.site-footer>.w{grid-template-columns:1fr 1fr;gap:36px 24px}.site-footer>.w>div:first-child{grid-column:1/-1}footer.site-footer{padding-bottom:60px}footer.site-footer h2{font-size:16px}.core-hero .booking-card{margin:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Work, About, and Contact extend the same paper-file vocabulary. */
.marker-highlight{position:relative;display:inline-block;isolation:isolate;color:inherit;background:none}.marker-highlight:before{content:'';position:absolute;z-index:-1;left:-.12em;right:-.13em;top:30%;bottom:.02em;background:#f5df6b;transform:rotate(-1.2deg);clip-path:polygon(0 8%,98% 0,100% 88%,2% 100%)}.dirty-dozen-list>li:nth-child(4n) .marker-highlight:before{transform:rotate(.8deg)}.dirty-dozen-list>li:nth-child(9) .marker-highlight:before{top:24%;transform:rotate(-.6deg)}
.next-step-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.next-step-actions .cta{white-space:normal;text-align:center}.next-step-actions .cta-outline{background:transparent;color:var(--pk);box-shadow:inset 0 0 0 1px var(--pk)}.next-step-actions .cta-outline:hover{background:var(--blush)}.workflow-actions{margin-top:30px}.workflow-actions .cta{font-size:15px;padding:14px 20px}.map-next-step{background:var(--blush);display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;margin:44px 0 36px;padding:32px 36px}.map-next-step h3{font-size:30px;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}.map-next-step p{font-size:17px;line-height:1.6;margin:0;max-width:48ch}.map-next-step .cta{font-size:15px;padding:14px 20px}@media(max-width:1050px){.map-next-step{grid-template-columns:1fr;gap:24px}}@media(max-width:600px){.next-step-actions{flex-direction:column;align-items:stretch}.next-step-actions .cta{width:100%}.map-next-step{padding:28px 24px;margin-top:36px}.map-next-step h3{font-size:27px}}
.dirty-dozen{background:var(--blush)}.dirty-dozen .lead{max-width:52ch}.dirty-dozen-list{list-style:none;counter-reset:pattern;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px;row-gap:12px;padding:0;margin:52px 0 0}.dirty-dozen-list>li{counter-increment:pattern;border-top:1px solid #c5b6bd;padding:24px 0 16px;position:relative}.dirty-dozen-list>li:before{content:counter(pattern,decimal-leading-zero);display:block;font:600 12px var(--mono);color:var(--pk);margin-bottom:14px}.dirty-dozen-list h3{font-size:23px;line-height:1.25;letter-spacing:-.02em;margin:0 0 12px}.dirty-dozen-list p{font-size:17px;line-height:1.6;margin:0;max-width:36ch}@media(max-width:900px){.dirty-dozen-list{column-gap:30px;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dirty-dozen-list{grid-template-columns:1fr;margin-top:36px;row-gap:8px}.dirty-dozen-list h3{font-size:23px}.dirty-dozen-list>li{padding-top:22px}.dirty-dozen-list p{max-width:45ch}}
.work-index ul{list-style:none;padding:0;margin:28px 0 0}.work-index li{border-top:1px solid #c3bfba}.work-index a{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--ink);font-size:16px;line-height:1.5;text-decoration:none;padding:17px 0}.work-index a:hover{text-decoration:underline;text-underline-offset:4px}.work-index a span{color:var(--pk);flex-shrink:0}
.work-files{margin-top:64px;display:grid;gap:48px}.work-file{background:#fff;box-shadow:var(--sh);position:relative;padding:40px;display:grid;grid-template-columns:1fr 1.25fr;gap:64px;scroll-margin-top:48px}.work-file::before{content:'';position:absolute;top:-14px;left:0;width:130px;height:15px;background:#fff;border-radius:8px 8px 0 0}.work-file h3{font-size:36px;line-height:1.12;letter-spacing:-.03em;margin:24px 0 0;max-width:14ch}.work-file h3 em{font-style:normal;color:var(--pk)}.work-file-body>p{font-size:18px;line-height:1.65;margin:0 0 28px;max-width:55ch}.work-file dl{margin:0}.work-file dl>div{padding-top:20px;margin-top:20px;border-top:1px solid #d9d5d0}.work-file dt{font:600 12px var(--mono);color:var(--pk);margin-bottom:10px}.work-file dd{font-size:16px;line-height:1.65;margin:0}.scope-list article{border-top:1px solid #c3bfba;padding:28px 0}.scope-list article:last-child{border-bottom:1px solid #c3bfba}.scope-list h3{font-size:25px;letter-spacing:-.02em;margin:14px 0 10px}.scope-list p{font-size:17px;line-height:1.65;margin:0;max-width:50ch}.light-link{color:#ff6fb5}
.about-dossier{background:#e8e1d8;padding:32px;position:relative;box-shadow:var(--sh);transform:rotate(1deg)}.about-dossier dl{margin:24px 0}.about-dossier dl>div{display:grid;grid-template-columns:90px 1fr;gap:20px;margin:14px 0}.about-dossier dt{font:12px/1.6 var(--mono);color:#4a4e55}.about-dossier dd{margin:0;font-size:17px;font-weight:600;line-height:1.5}.about-dossier img{display:block;width:100%;border:6px solid #fff;transform:rotate(-2deg);margin-top:28px}.about-story{display:grid;grid-template-columns:1fr 1.05fr;gap:80px}.about-story h2{font-size:clamp(42px,4.5vw,60px);letter-spacing:-.035em;margin-bottom:0}.about-story .lead:first-child{margin-top:0}.about-story .lead:last-child{margin-bottom:0}.about-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:56px}.about-principles article{padding-top:26px;border-top:2px solid var(--ink)}.about-principles h3{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:0 0 18px}.about-principles p{font-size:18px;line-height:1.65;margin:0}
.contact-sheet{background:#fff;padding:36px;position:relative;box-shadow:var(--sh)}.contact-sheet:before{content:'';position:absolute;left:0;top:-16px;width:135px;height:17px;background:#fff;border-radius:8px 8px 0 0}.contact-sheet dl{margin:28px 0}.contact-sheet dl>div{border-top:1px solid #d9d5d0;padding:20px 0 0;margin-top:20px}.contact-sheet dt{font:12px var(--mono);color:#4a4e55;margin-bottom:10px}.contact-sheet dd{margin:0;font-size:24px;letter-spacing:-.02em;line-height:1.5}.contact-sheet dd a{display:inline-block;color:var(--pk);text-underline-offset:5px;overflow-wrap:anywhere;padding:4px 0}.contact-sheet p{font-size:16px;line-height:1.65;max-width:40ch}
@media(max-width:1000px){.work-file{gap:36px;padding:32px}.work-file h3{font-size:32px}.about-story{gap:40px}.about-principles{gap:28px}.contact-sheet{padding:28px}.contact-sheet dd{font-size:21px}.about-dossier{padding:26px}.about-dossier dl>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:700px){.work-files{gap:44px;margin-top:52px}.work-file{grid-template-columns:1fr;gap:28px;padding:28px 24px}.work-file h3{font-size:32px;margin-top:18px;max-width:17ch}.work-file-body>p{font-size:17px}.work-file .file-label{font-size:11px}.about-story,.about-principles{grid-template-columns:1fr;gap:36px}.about-story h2{font-size:42px}.about-principles{margin-top:40px}.about-principles h3{font-size:27px}.about-dossier{margin:8px 4px 0}.about-dossier dl>div{grid-template-columns:84px 1fr;gap:16px}.contact-sheet{margin-top:8px}.contact-sheet dd{font-size:23px}.contact-sheet .text-link{font-size:15px}.scope-list h3{font-size:25px}}

/* Linked pattern entries retain the homepage list typography. */
.hero-highlight{color:inherit;padding:0 .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone;background:linear-gradient(transparent 28%,var(--highlight-color) 28%,var(--highlight-color) 94%,transparent 94%)}.hero-highlight-services{--highlight-color:#f5df6b}.hero-highlight-friction{--highlight-color:#f1bed5}
.pattern-link{display:block;color:inherit;text-decoration:none}.pattern-link:hover h3{text-decoration:underline;text-underline-offset:5px}.pattern-link:focus-visible{outline:3px solid var(--pk);outline-offset:8px}.pattern-read{display:block;color:var(--pk);font-size:14px;font-weight:600;line-height:1.6;margin-top:18px}

/* Editorial image pilot: one lead scene, then the three service roles. */
.core-illustration img.mascot{height:auto;aspect-ratio:720/402;object-fit:cover}
.service-scene{display:block;width:calc(100% + 56px);max-width:none;height:auto;aspect-ratio:720/402;object-fit:cover;margin:-32px -28px 28px;border-radius:12px 12px 0 0}
@media(min-width:901px) and (max-width:1100px){.service-scene{width:calc(100% + 44px);margin:-28px -22px 28px}}
@media(max-width:900px){.service-scene{width:calc(100% + 64px);margin:-32px -32px 28px}}

/* Solution shelf: clipped photographs and paper files on charcoal. */
.solution-shelf{background:#23262b;color:#fff}
.shelf-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:end;margin-bottom:64px}
.solution-shelf .lab{color:#ff6fb5}
.solution-shelf h2{font-size:clamp(42px,5vw,68px);letter-spacing:-.035em;line-height:1.05;margin:16px 0 0}
.solution-shelf h2 em{color:#ff6fb5}
.shelf-intro>p{font-size:18px;line-height:1.65;color:#e1ded9;max-width:40ch;margin:0}
.solution-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.solution-group{min-width:0}
.solution-group>header{border-top:1px solid #74777c;padding-top:24px;margin-bottom:32px}
.solution-group h3{font-size:36px;line-height:1.1;letter-spacing:-.025em;margin:0 0 12px}
.solution-group>header p{font-size:16px;line-height:1.6;color:#e1ded9;margin:0}
.clipped-photo{position:relative;background:#fff;padding:10px;margin:0 4px 36px;box-shadow:0 12px 24px #0004;transform:rotate(-1.5deg)}
.solution-group:nth-child(2) .clipped-photo{transform:rotate(1deg)}
.solution-group:nth-child(3) .clipped-photo{transform:rotate(-.5deg)}
.clipped-photo img{display:block;width:100%;height:auto;aspect-ratio:720/402;object-fit:cover}
.paperclip{position:absolute;right:20px;top:-16px;width:19px;height:56px;border:3px solid #a4adb4;border-radius:12px;transform:rotate(24deg);box-shadow:1px 2px 2px #0007,inset 1px 0 0 #fff9;pointer-events:none}
.paperclip:after{content:'';position:absolute;left:3px;top:6px;width:7px;height:35px;border:2px solid #bdc4c9;border-top:0;border-radius:0 0 7px 7px}
.solution-files{display:grid;gap:28px}
.solution-file{display:block;position:relative;padding:24px 28px 24px 24px;background:#f5f2ed;color:#23262b;text-decoration:none;box-shadow:0 8px 18px #0003;transition:background .15s ease}
.solution-file:before{content:'';position:absolute;left:0;top:-9px;width:76px;height:10px;border-radius:6px 6px 0 0;background:inherit}
.solution-kind{display:block;font:11px/1.6 var(--mono);color:#9b0058;margin-bottom:12px}
.solution-file h4{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0 12px 12px 0}
.solution-file p{font-size:16px;line-height:1.6;margin:0;max-width:34ch}
.file-arrow{position:absolute;right:16px;top:24px;color:#9b0058;font-size:21px}
.solution-file:hover{background:#fff}.solution-file:hover h4{text-decoration:underline;text-underline-offset:4px}
.solution-file:focus-visible{outline:3px solid #ff6fb5;outline-offset:6px}
.shelf-note{color:#e1ded9;font:13px/1.7 var(--mono);margin:48px 0 0;max-width:65ch}
@media(max-width:1050px){.solution-groups{gap:24px}.solution-group h3{font-size:30px}.solution-file{padding:24px 22px}.solution-file h4{font-size:21px}.shelf-intro{gap:40px}}
@media(max-width:800px){.solution-groups{grid-template-columns:1fr;gap:64px}.shelf-intro{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.shelf-intro>p{max-width:55ch}.solution-group>header{margin-bottom:28px}.solution-group h3{font-size:34px}.clipped-photo{max-width:480px;margin:0 4px 36px}.solution-files{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.solution-file h4{font-size:24px}.solution-file p{max-width:45ch}}
@media(max-width:550px){.solution-files{grid-template-columns:1fr}.solution-file{padding:24px}.clipped-photo{margin-left:4px;margin-right:4px}.shelf-note{margin-top:40px}}

/* Work index: linked recognition patterns and an angled process band. */
.work-workflows{margin-top:80px;padding-top:56px;border-top:1px solid #c5b6bd}
.work-workflows h2{font-size:clamp(36px,4vw,52px);line-height:1.1;letter-spacing:-.03em;margin:16px 0 20px;max-width:20ch}
.work-workflows>.lead{max-width:60ch}
.work-workflow-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;list-style:none;padding:0;margin:40px 0 0}
.work-workflow-list li{border-top:1px solid #c5b6bd}
.work-workflow-list a{display:block;position:relative;padding:24px 28px 24px 0;text-decoration:none;color:var(--ink);min-height:150px}
.work-workflow-list h3{font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:0 0 12px}
.work-workflow-list p{font-size:16px;line-height:1.6;margin:0;max-width:34ch}
.work-workflow-list a>span{position:absolute;right:0;top:24px;color:var(--pk);font-size:21px}
.work-workflow-list a:hover h3{text-decoration:underline;text-underline-offset:4px}
.work-approach{clip-path:polygon(0 48px,100% 0,100% calc(100% - 48px),0 100%);padding:148px 0}
.work-approach .cta{margin-top:12px;display:inline-block;text-align:center;white-space:normal}
@media(max-width:1000px){.work-workflow-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}
@media(max-width:600px){.work-workflows{margin-top:56px;padding-top:40px}.work-workflow-list{grid-template-columns:1fr;margin-top:32px}.work-workflow-list a{min-height:0}.work-workflows h2{font-size:36px}.work-approach{clip-path:polygon(0 24px,100% 0,100% calc(100% - 24px),0 100%);padding:96px 0}.work-approach .cta{font-size:16px;padding:16px 20px}}

/* Process: a concrete example, then four alternating decision routes. */
.process-illustration .cta{margin-top:12px;text-align:center}
.decision-route-list{margin-top:64px}
.decision-route{display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"copy photo";gap:80px;align-items:center;padding:64px 0;border-top:1px solid #c5b6bd}
.decision-route:nth-child(even){grid-template-columns:.9fr 1.1fr;grid-template-areas:"photo copy"}
.route-copy{grid-area:copy;min-width:0}
.route-copy h3{font-size:36px;line-height:1.15;letter-spacing:-.03em;margin:16px 0 24px;max-width:22ch}
.route-copy>p{font-size:18px;line-height:1.7;margin:0 0 28px;max-width:52ch}
.route-copy dl{margin:0}
.route-copy dl>div{padding:16px 0;border-top:1px dashed #c5b6bd}
.route-copy dt{font:12px/1.5 var(--mono);color:#9b0058;margin-bottom:8px}
.route-copy dd{font-size:16px;line-height:1.65;margin:0;max-width:55ch}
.route-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px}
.route-links a{font-size:15px;line-height:1.6;padding:6px 0}
.route-photo{grid-area:photo;min-width:0;margin:16px 8px;transform:rotate(-1.5deg)}
.decision-route:nth-child(even) .route-photo{transform:rotate(1deg)}
.process-delivery{clip-path:polygon(0 48px,100% 0,100% calc(100% - 48px),0 100%);padding:148px 0}
.process-delivery .process-steps>li{border-color:#74777c}
.process-delivery .step-output{border-color:#74777c}
.process-delivery .step-number,.process-delivery .step-output b{color:#ff6fb5}
.process-delivery .process-steps p{color:#e1ded9}
@media(max-width:1050px){.decision-route{gap:48px}.route-copy h3{font-size:32px}}
@media(max-width:900px){.decision-route,.decision-route:nth-child(even){grid-template-columns:1fr;grid-template-areas:"copy" "photo";gap:32px}.route-photo{max-width:600px;margin:8px}.route-copy h3{max-width:27ch}.route-copy>p{max-width:65ch}}
@media(max-width:600px){.decision-route-list{margin-top:40px}.decision-route{padding:40px 0}.route-copy h3{font-size:30px}.route-copy>p{font-size:17px}.route-copy dd{font-size:16px}.process-delivery{clip-path:polygon(0 24px,100% 0,100% calc(100% - 24px),0 100%);padding:96px 0}.process-illustration .cta{white-space:normal;display:inline-block}}

/* About: project overviews on folders with clipped illustration prints. */
.about-story .cta{display:inline-block;margin-top:32px;text-align:center;white-space:normal}
.about-dossier img{height:auto;aspect-ratio:720/402;object-fit:cover}
.about-projects>.w>.lead{max-width:58ch}
.about-case-folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:64px}
.about-case-folder{position:relative;display:flex;flex-direction:column;background:#e9e2d9;padding:28px;box-shadow:var(--sh);min-width:0}
.about-case-folder:before{content:'';position:absolute;left:0;top:-16px;width:120px;height:17px;background:#e9e2d9;border-radius:8px 8px 0 0}
.about-case-folder>.file-label{font-size:11px;line-height:1.6;min-height:36px}
.about-case-photo{margin:24px 0 28px;padding:8px;transform:rotate(-1.5deg)}
.about-case-folder:nth-child(2) .about-case-photo{transform:rotate(1deg)}
.about-case-folder:nth-child(3) .about-case-photo{transform:rotate(-.5deg)}
.about-case-folder h3{font-size:28px;line-height:1.2;letter-spacing:-.025em;margin:0 0 24px}
.case-focus h4{font:12px/1.6 var(--mono);color:#9b0058;margin:0 0 12px}
.case-focus p{font-size:17px;line-height:1.65;margin:0 0 28px}
.about-case-folder>.text-link{margin-top:auto;font-size:14px;line-height:1.6;padding:8px 0}
.about-case-note{font:12px/1.7 var(--mono);color:#4a4e55;margin-top:32px}
@media(max-width:1050px){.about-case-folders{gap:24px}.about-case-folder{padding:24px}.about-case-folder h3{font-size:25px}}
@media(max-width:900px){.about-case-folders{grid-template-columns:1fr;gap:48px}.about-case-folder{padding:32px}.about-case-folder>.file-label{min-height:0}.about-case-photo{max-width:520px}.about-case-folder h3{font-size:30px}.case-focus p{max-width:60ch}}
@media(max-width:600px){.about-case-folder{padding:24px}.about-case-folder h3{font-size:28px}.about-case-folders{margin-top:48px}.about-case-photo{margin-top:28px}.about-story .cta{font-size:16px;padding:16px 20px}}

/* Contact stays actionable while business inbox/phone replacements are pending. */
.contact-sheet h3{font-size:32px;line-height:1.15;letter-spacing:-.025em;margin:24px 0}
.colorado-signoff{display:flex;align-items:center;gap:16px;border-top:1px solid #d9d5d0;padding-top:28px;margin-top:32px;font-size:18px;font-weight:600;line-height:1.4}
.colorado-flag{display:block;flex-shrink:0;width:45px;height:30px}
.hero-actions .cta{font-size:15px;padding:14px 20px}
@media(max-width:700px){.contact-sheet h3{font-size:30px}.colorado-signoff{gap:12px;font-size:17px}}

.shelf-stage-link{color:inherit;text-decoration:none}.shelf-stage-link:hover{text-decoration:underline;text-underline-offset:6px}.shelf-stage-link span{font-size:22px;color:#ff6fb5}

/* Work scopes use clipped illustrations, never implied customer screenshots. */
.work-case-photo{margin:32px 4px 8px;padding:10px 10px 0;transform:rotate(-1deg)}
.work-file:nth-child(2) .work-case-photo{transform:rotate(1deg)}
.work-case-photo figcaption{font:12px/1.65 var(--mono);color:#4a4e55;padding:16px 8px 20px}
@media(max-width:700px){.work-case-photo{margin:28px 4px 4px}}

/* One task-focused illustration, per the owner's short-page exception. */
.contact-conversation{margin:36px 4px 0;max-width:440px}
.contact-conversation img{aspect-ratio:auto;object-fit:contain}
.contact-conversation figcaption{font:12px/1.6 var(--mono);color:#464b53;padding:16px 8px 12px}

/* Let bordered lead photographs reserve their natural content proportions. */
.core-illustration img.mascot,.about-dossier img{height:auto;aspect-ratio:auto;object-fit:contain}

/* A prepared example supports the short booking task without replacing its action. */
.booking-preparation{margin:36px 4px 0;max-width:440px}
.booking-preparation img{aspect-ratio:auto;object-fit:contain}
.booking-preparation figcaption{font:12px/1.6 var(--mono);color:#464b53;padding:16px 8px 12px}
