/* Swim Logic: a poolside research desk. Existing media is the only motion. */
.method-page{--logic-ink:oklch(29% .043 161);--logic-muted:oklch(46% .035 161);--logic-rule:oklch(76% .025 155);--logic-paper:oklch(97% .008 155);--logic-silver:oklch(89% .012 155);--logic-water:oklch(86% .06 181);--logic-blue:oklch(45% .15 258)}
.method-page .method-sheet{max-width:1200px;padding:46px 40px 72px;margin:0 auto;color:var(--logic-ink);container-type:inline-size}
.method-page .research-subnav{max-width:1200px;padding-left:40px;padding-right:40px}
.logic-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:clamp(36px,6vw,80px);align-items:center}
.method-kicker{font:600 12px/1.5 Archivo,sans-serif;letter-spacing:.09em;margin:0}
.method-page .method-heading h1{font:500 clamp(80px,9vw,116px)/.93 CWSection,Archivo,sans-serif;letter-spacing:-.035em;margin:22px 0 24px}
.logic-stop{color:var(--logic-blue)}
.method-page .method-deck{font:550 clamp(21px,2vw,26px)/1.35 Archivo,sans-serif;letter-spacing:-.025em;margin:0 0 16px;max-width:22ch}
.method-intro{font-size:16px;line-height:1.7;max-width:34ch;margin:0}
.method-page .logic-key{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:10px 17px;margin-top:28px;border:1px solid var(--logic-ink);border-radius:4px;background:var(--logic-paper);box-shadow:0 3px 0 var(--logic-ink);font-size:14px;font-weight:550;text-decoration:none;transition:transform 140ms ease-out,box-shadow 140ms ease-out;color:var(--logic-ink)}
.method-page .logic-key:hover{background:var(--logic-water)}
.method-page .logic-key:active{transform:translateY(2px);box-shadow:0 1px 0 var(--logic-ink)}
.method-film{margin:0;min-width:0}
.method-video-shell{position:relative;padding:10px;border:1px solid oklch(51% .04 155);border-radius:12px;background:linear-gradient(135deg,oklch(59% .04 155),oklch(35% .045 155) 5%,oklch(26% .045 155) 70%);box-shadow:inset 0 1px 0 oklch(78% .025 155),0 4px 0 oklch(22% .04 155),0 20px 28px -18px oklch(22% .04 155 / .5)}
.method-video-shell::after{content:"";position:absolute;inset:10px;border-radius:4px;pointer-events:none;box-shadow:inset 0 2px 7px oklch(15% .02 155 / .6)}
.method-film video{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border:1px solid oklch(19% .035 155);border-radius:4px;background:oklch(18% .02 160);color:var(--logic-paper)}
.method-film [role=status]{font-size:12px;line-height:1.65;margin:7px 0 0;color:var(--logic-muted);max-width:58ch}
.logic-under-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);column-gap:clamp(36px,6vw,80px);margin-top:28px;align-items:start}
.method-transcript{grid-column:2;border-top:1px solid var(--logic-rule);border-bottom:1px solid var(--logic-rule);min-width:0}
.method-transcript summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:9px 0;cursor:pointer;font-size:14px;font-weight:500;list-style:none}
.method-transcript summary::-webkit-details-marker{display:none}
.method-transcript summary>span{font-size:24px;line-height:1}.method-transcript[open] summary>span{transform:rotate(45deg)}
.method-transcript-body{padding:10px 0 24px;max-width:66ch}.method-transcript-body>div+div{margin-top:22px}
.method-page .method-transcript h3{font:600 14px/1.5 Archivo,sans-serif;margin:0 0 6px}.method-transcript p{font-size:14px;line-height:1.75;margin:0}.method-transcript-body>p{margin-top:24px}
.logic-page-index{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--logic-ink);border-bottom:1px solid var(--logic-ink)}
.logic-page-index a{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 20px;text-decoration:none;font-size:14px}
.logic-page-index a+a{border-left:1px solid var(--logic-rule)}
.logic-page-index a>span:first-child{font-size:12px;color:var(--logic-muted)}
.logic-page-index a>span:last-child{margin-left:auto;font-size:20px}
.logic-page-index a:hover{background:var(--logic-silver)}
.method-process{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:80px;margin-top:100px}
.method-page .method-sheet h2{font:500 clamp(34px,3.6vw,48px)/1.1 CWSection,Archivo,sans-serif;letter-spacing:-.02em;margin:18px 0 24px}
.method-section-title{align-self:start;position:sticky;top:28px}
.method-section-title>p:not(.method-kicker){font-size:15px;line-height:1.7;max-width:31ch}
.logic-check-index{list-style:decimal-leading-zero;list-style-position:inside;padding:0;margin:28px 0 0;color:var(--logic-muted);font-size:12px}
.logic-check-index li{display:flex;counter-increment:check;align-items:center;gap:16px;border-top:1px solid var(--logic-rule);max-width:225px}
.logic-check-index li::before{content:counter(check,decimal-leading-zero);font-size:12px}
.logic-check-index a{display:flex;align-items:center;flex:1;min-height:44px;text-decoration:none;font-size:14px}
.logic-check-index a:hover{text-decoration:underline;text-underline-offset:4px}
.method-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:24px;padding:28px 0 38px;border-top:1px solid var(--logic-rule)}
.method-step:first-child{border-color:var(--logic-ink)}
.method-index{font:500 42px/1 CWSection,Archivo,sans-serif;letter-spacing:-.02em;color:var(--logic-muted)}
.method-role{display:block;font:550 12px/1.5 Archivo,sans-serif;letter-spacing:.055em;color:var(--logic-muted);margin:0 0 12px}
.method-page .method-step h3{font:550 25px/1.25 Archivo,sans-serif;letter-spacing:-.03em;margin:0 0 16px}
.method-step p{font-size:16px;line-height:1.8;margin:0;max-width:57ch}
.method-example{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px 72px;margin-top:64px;padding:48px;background:var(--logic-ink);color:var(--logic-paper);border-radius:6px;position:relative}
.method-page .method-example h2{font-size:clamp(54px,6vw,76px);margin:20px 0 24px}
.logic-example-intro>p:not(.method-kicker){font-size:16px;line-height:1.8;max-width:34ch}
.logic-example-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:12px;color:var(--logic-paper);font-size:14px;text-decoration:underline;text-underline-offset:5px}
.logic-decision-record{align-self:center;padding:24px;background:var(--logic-paper);color:var(--logic-ink);box-shadow:4px 5px 0 oklch(66% .04 155);border:1px solid var(--logic-rule)}
.logic-record-heading{display:flex;flex-wrap:wrap;gap:5px 16px;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--logic-rule);font:600 12px/1.6 Archivo,sans-serif;letter-spacing:.04em}
.logic-record-heading time{font-weight:450}.logic-decision-record dl{margin:0}
.logic-decision-record dl>div{padding:20px 0;border-bottom:1px solid var(--logic-rule)}
.logic-decision-record dt{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.logic-symbol{font:500 32px/1 CWSection,Archivo,sans-serif;letter-spacing:-.02em}
.logic-verdict{font:550 12px/1.5 Archivo,sans-serif}.logic-decision-record dd{font-size:14px;line-height:1.7;margin:12px 0 0;max-width:42ch}
.logic-record-note{font-size:12px;line-height:1.75;margin:18px 0 0;color:var(--logic-muted)}
.method-example .method-boundary{grid-column:1/-1;max-width:78ch;font-size:13px;line-height:1.75;color:oklch(84% .025 155);margin:4px 0 0;padding-top:22px;border-top:1px solid oklch(51% .03 155)}
.method-sources{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:80px;margin-top:96px}
.logic-source-heading>p:not(.method-kicker){font-size:15px;line-height:1.75;max-width:33ch}
.logic-source-ledger{list-style:none;margin:0;padding:0;min-width:0}
.logic-source-ledger li{border-top:1px solid var(--logic-rule)}
.logic-source-ledger li:last-child{border-bottom:1px solid var(--logic-rule)}
.logic-source-ledger a{display:flex;align-items:center;gap:18px;padding:22px 2px;min-height:80px;text-decoration:none}
.logic-source-number{font-size:12px;color:var(--logic-muted)}
.logic-source-copy{flex:1;min-width:0}.logic-source-copy strong{display:block;font-size:18px;line-height:1.4;font-weight:550;letter-spacing:-.02em}.logic-source-copy>span{display:block;font-size:13px;line-height:1.6;color:var(--logic-muted);margin-top:5px}
.logic-file-type{font-size:12px;letter-spacing:.06em;color:var(--logic-muted)}
.logic-source-ledger a:hover .logic-source-copy strong{text-decoration:underline;text-underline-offset:5px}
.logic-end{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:72px;padding-top:32px;border-top:1px solid var(--logic-rule)}
.logic-end>p{font:500 24px/1.2 CWSection,Archivo,sans-serif;margin:0}.logic-end .logic-key{margin-top:0}
.method-page .method-sheet :is(a,button,summary,video):focus-visible{outline:3px solid var(--logic-blue);outline-offset:5px}
.method-page .method-example a:focus-visible{outline-color:var(--logic-water)}
.method-page .method-sheet [id]{scroll-margin-top:28px}
@media(max-width:960px){.method-page .method-sheet{padding:40px 32px 64px}.logic-hero,.logic-under-hero{gap:36px}.method-page .method-heading h1{font-size:88px}.method-process,.method-sources{gap:40px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.method-example{gap:28px 36px;padding:32px}}
@media(max-width:760px){.method-page .method-sheet{padding:28px 20px 56px}.method-page .research-subnav{padding-left:20px;padding-right:20px}.logic-hero,.logic-under-hero,.method-process,.method-sources,.method-example{grid-template-columns:minmax(0,1fr)}.logic-hero{gap:40px}.method-page .method-heading h1{font-size:clamp(66px,18vw,94px);margin:18px 0 22px}.method-page .method-deck{max-width:none;font-size:21px}.method-page .method-heading h1 br{display:none}.method-intro{max-width:44ch}.method-page .logic-key{margin-top:22px}.logic-under-hero{gap:20px;margin-top:24px}.method-transcript{grid-column:auto}.logic-page-index{margin-top:32px;grid-template-columns:1fr}.logic-page-index a{min-height:50px;padding:10px 0}.logic-page-index a+a{border-left:0;border-top:1px solid var(--logic-rule)}.method-process{gap:28px;margin-top:64px}.method-section-title{position:static}.method-section-title>p:not(.method-kicker){max-width:none}.logic-check-index{display:none}.method-step{grid-template-columns:36px minmax(0,1fr);gap:16px;padding:26px 0 32px}.method-index{font-size:34px}.method-page .method-step h3{font-size:23px}.method-step p{font-size:15px;line-height:1.8}.method-example{margin:40px -20px 0;padding:32px 20px;border-radius:0;gap:28px}.method-page .method-example h2{font-size:64px}.logic-example-intro>p:not(.method-kicker){max-width:44ch}.logic-decision-record{padding:22px;box-shadow:3px 4px 0 oklch(66% .04 155)}.method-example .method-boundary{padding-top:24px;margin:4px 0 0;font-size:13px}.method-sources{margin-top:60px;gap:24px}.method-page .method-sheet h2{font-size:40px}.logic-source-heading>p:not(.method-kicker){max-width:44ch}.logic-source-ledger a{gap:12px}.logic-end{margin-top:48px;align-items:flex-start;flex-direction:column}.logic-end>p{font-size:22px}.logic-end .logic-key{margin:0;font-size:13px;gap:12px}}

@media(max-width:360px){.method-page .method-heading h1{font-size:58px}.method-page .method-sheet{padding-left:16px;padding-right:16px}.method-page .research-subnav{padding-left:16px;padding-right:16px}.method-example{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.logic-file-type{display:none}.logic-end{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.method-page .logic-key{transition:none}.method-page .logic-key:active{transform:none}}
@media print{.method-page .method-sheet{padding:0;max-width:none}.logic-hero,.logic-under-hero,.method-process,.method-example,.method-sources{display:block;margin:24px 0;padding:0}.logic-page-index,.logic-check-index,.logic-key,.logic-end,.method-video-shell,.method-film video{display:none!important}.method-section-title{position:static}.method-transcript-body{display:block!important}.method-transcript::details-content{content-visibility:visible}.method-step,.logic-decision-record{break-inside:avoid}.method-example{background:transparent;color:var(--logic-ink)}.method-example .method-boundary,.logic-example-link{color:var(--logic-ink)}.logic-decision-record{box-shadow:none;margin:24px 0}.method-page .method-heading h1{font-size:64px}.method-page .method-sheet h2{font-size:32px}}
