.c20-file{position:relative;padding-top:39px;perspective:1400px;-webkit-tap-highlight-color:transparent;transition:transform 1.15s cubic-bezier(.2,.7,.15,1),margin 1.15s cubic-bezier(.2,.7,.15,1);transform-origin:center top}.c20-back{position:absolute;left:10px;right:-4px;top:48px;bottom:-8px;background:#d4c8a9;border:1px solid #9d906e;transform:rotate(.5deg);box-shadow:7px 9px 13px #4d40261c}.c20-tab{position:absolute;z-index:5;top:0;left:0;height:44px;min-width:190px;padding:0 20px;display:flex;align-items:center;gap:13px;background:linear-gradient(100deg,#b8a77b,#d1c092);border:1px solid #9b8a60;border-bottom:0;border-radius:7px 14px 0 0;font:13px sans-serif;letter-spacing:.13em}.c20-tab:after{content:"／";opacity:.45}
.c20-inside{position:relative;min-height:300px;padding:30px 25px 24px 48px;background:linear-gradient(100deg,#b5a77d18,transparent 17%,transparent 86%,#8b744d12),var(--c20-inside);border:1px solid #9c906f}.c20-inside h2{font-size:19px;font-weight:500;margin:12px 0 17px}.c20-inside p{font-size:14px;line-height:1.9;margin:0 0 16px}.c20-inside .c20-label{font:10px sans-serif;letter-spacing:.18em;color:#8a8068;border-bottom:1px solid #82745655;padding-bottom:12px}.c20-inside-actions{margin-top:24px;padding-top:18px;border-top:1px solid #82745655;display:grid;gap:10px}
.c20-inside-actions button{width:100%;min-height:46px;border-radius:2px;font-family:inherit;font-size:14px;letter-spacing:.04em;cursor:pointer}
.c20-consult-btn{border:1px solid #183c33;background:#183c33;color:#f5f0df;box-shadow:0 3px 0 #0f2c25}
.c20-back-btn{border:1px solid #8f8468;background:#eee7d4;color:#4f493b}
.c20-inside-actions button:active{transform:translateY(1px)}
.c20-cover{position:absolute;z-index:4;left:0;right:0;top:39px;min-height:300px;padding:34px 25px 24px 49px;transform-origin:0 50%;transform-style:preserve-3d;background:
linear-gradient(89deg,#6f5a3315 0,#fff0 12%,#fff0 88%,#6f5a3312),
radial-gradient(ellipse at 8% 8%,#79603712 0 3%,transparent 12%),
radial-gradient(ellipse at 92% 88%,#745a3010 0 4%,transparent 14%),
repeating-linear-gradient(7deg,transparent 0 19px,#6b573608 20px,transparent 21px),
var(--c20-paper);border:1px solid var(--c20-edge);box-shadow:inset 0 0 30px #6e552414,4px 5px 9px #51432618;transition:transform 1.65s cubic-bezier(.18,.72,.12,1),box-shadow .8s}
.c20-cover:before,.c20-cover:after{content:"";position:absolute;pointer-events:none}.c20-cover:before{inset:0;background:linear-gradient(105deg,#6f54300c,transparent 21%,transparent 72%,#6e50260e);mix-blend-mode:multiply}.c20-cover:after{left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#6e593b55,#b9aa8155 17%,#77624166 51%,#c4b58d44 80%,#66523555)}
.c20-file.open .c20-cover{transform:rotateY(-166deg) translateX(-3px);box-shadow:18px 16px 30px #3f34252b}.c20-file.expanding{z-index:20;transform:scale(1.12);margin:42px 0 75px}.c20-file.expanding .c20-inside{min-height:500px}
.c20-file.focused{z-index:30;transform:scale(1.17);margin:62px 0 100px}
.c20-file.focused .c20-inside{min-height:560px;box-shadow:0 18px 50px #342b1d2b}
.c20-list.has-focus .c20-file:not(.c20-focused){opacity:.18;transform:scale(.94);filter:blur(1.2px);transition:opacity .8s,transform .8s,filter .8s}
.c20-list.has-focus .c20-file.focused{opacity:1;filter:none}
body.case-focus .c20-ey,body.case-focus h1,body.case-focus .c20-hint{opacity:.16;transition:opacity .8s} body.case-focus{background:#ece6d8}
.c20-swipehint{position:absolute;z-index:10;right:9px;top:203px;font:9px sans-serif;letter-spacing:.14em;color:#75684f;writing-mode:vertical-rl;opacity:.7;transition:opacity .4s}
.c20-file.untying .c20-swipehint,.c20-file.open .c20-swipehint{opacity:0}

.c20-spine{position:absolute;left:0;top:0;bottom:0;width:39px;border-right:1px solid #6b5c3c66;background:linear-gradient(90deg,#806b421f,#fff1)}
.c20-eye{position:absolute;left:11px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#ddd2b5 0 23%,#817453 27% 38%,#c7b98f 43% 58%,#796c4e 62% 70%,transparent 74%);box-shadow:0 1px 2px #332a1e66}.c20-e1{top:64px}.c20-e2{top:174px}
/* cord: two strands, diagonal tie and knot */
.c20-cord1,.c20-cord2,.c20-tie,.c20-knot{position:absolute;background:linear-gradient(90deg,#6f5e3e,#a99668 45%,#655537);box-shadow:1px 1px 1px #392f2055}.c20-cord1{left:16px;top:79px;width:3px;height:91px;transform:rotate(-2deg)}.c20-cord2{left:20px;top:80px;width:2px;height:90px;transform:rotate(2deg);opacity:.78}.c20-tie{left:8px;top:118px;width:25px;height:3px;transform:rotate(-28deg);border-radius:50%}.c20-knot{left:14px;top:121px;width:10px;height:8px;border-radius:55% 45% 60% 40%;transform:rotate(18deg)}
.c20-rightbind{position:absolute;z-index:8;right:13px;top:61px;width:30px;height:129px;pointer-events:none;transition:transform .18s ease-out,opacity .45s ease 1.05s}.c20-reye{position:absolute;right:0;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#ddd2b5 0 23%,#817453 27% 38%,#c7b98f 43% 58%,#796c4e 62% 70%,transparent 74%);box-shadow:0 1px 2px #332a1e66}.c20-r1{top:0}.c20-r2{bottom:0}.c20-rstrand{position:absolute;right:7px;top:15px;width:3px;height:100px;border-radius:50%;background:linear-gradient(90deg,#675537,#aa9567 48%,#5e4e34);box-shadow:1px 1px 1px #392f2055;transform-origin:top center;transition:transform .95s cubic-bezier(.35,.05,.25,1),opacity .45s ease .65s}.c20-rloop{position:absolute;right:1px;top:48px;width:23px;height:34px;border:3px solid #796643;border-left-color:#a28d60;border-radius:50%;transform:rotate(11deg);transition:transform .9s cubic-bezier(.35,.05,.25,1),opacity .4s ease .65s}.c20-file.untying .c20-rstrand{transform:translate(18px,34px) rotate(28deg) scaleY(.65);opacity:0}.c20-file.untying .c20-rloop{transform:translate(22px,25px) rotate(70deg) scale(.7);opacity:0}.c20-file.untying .c20-rightbind{opacity:.15}.c20-file.untying .c20-cord1{transform:translateY(22px) rotate(14deg);opacity:.25;transition:1s}.c20-file.untying .c20-cord2{transform:translateY(25px) rotate(-11deg);opacity:.2;transition:1s}.c20-file.untying .c20-tie,.c20-file.untying .c20-knot{transform:translate(15px,20px) rotate(45deg);opacity:0;transition:.85s}

.c20-pullmeter{position:absolute;z-index:12;left:50%;bottom:-22px;transform:translateX(-50%);width:74%;height:2px;background:#897a5d30;opacity:0;transition:opacity .2s}
.c20-pullmeter i{display:block;height:100%;width:0;background:#6c5a3a;transition:width .05s linear}
.c20-file.pulling .c20-pullmeter{opacity:.65}.c20-file.untying .c20-pullmeter{opacity:0}
.c20-meta{display:flex;justify-content:space-between;font:11px sans-serif;letter-spacing:.16em;color:#84785d;padding-bottom:16px;border-bottom:1px solid #75654366}.c20-stamp{display:inline-block;margin:19px 0 13px;padding:4px 8px;border:1.5px solid #8b5945bb;color:var(--c20-rust);font-size:12px;letter-spacing:.14em;transform:rotate(-3deg)}.c20-stamp-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.c20-tapmark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:78px;height:66px;margin:-2px 3px 0 0;padding:12px 8px 8px;background:linear-gradient(145deg,#f6df63 0%,#efd252 72%,#d7b63c 100%);color:#4d412c;box-shadow:2px 4px 8px #493b241f, inset 0 1px #fff7b1;transform:rotate(5deg);font:italic 700 18px/1.1 "Bradley Hand","Segoe Print","Comic Sans MS",cursive;letter-spacing:.02em}
.c20-tapmark:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:#e3c54855;border-bottom:1px solid #b99c3270}
.c20-tapmark:after{content:"";position:absolute;right:0;bottom:0;width:17px;height:17px;background:linear-gradient(135deg,#c8a83700 48%,#c4a63d 51%,#f8e477 100%);clip-path:polygon(0 100%,100% 0,100% 100%);filter:drop-shadow(-1px -1px 1px #8d752b55)}
.c20-tapmark b{font-weight:700}.c20-file:not(.c20-open) .c20-tapmark{animation:c20StickyTap 1.8s ease-in-out infinite}.c20-file.open .c20-tapmark{opacity:0;transition:opacity .3s}
@keyframes c20StickyTap{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(3.5deg) translateY(-3px)}}
.c20-ttl{font-size:22px;line-height:1.68;letter-spacing:.035em;margin:3px 0 22px}.c20-tags{font:9px sans-serif;letter-spacing:.12em;color:#817760;margin-bottom:15px}.c20-openbtn{border-top:1px solid #75654366;padding-top:16px;display:flex;justify-content:space-between;align-items:center;font-size:15px;cursor:pointer}.c20-openbtn:before{content:"PRESS TO OPEN";font:700 9px/1 sans-serif;letter-spacing:.15em;color:#8d7650;margin-right:auto}.c20-openbtn span:first-of-type{margin-left:12px}.c20-arr{font-size:23px}.c20-hint{font:12px/1.8 sans-serif;color:#77705e;margin-top:34px}
.c20-file:nth-child(2) .c20-tab{background:linear-gradient(100deg,#aa9b74,#c3b58c)}.c20-file:nth-child(3) .c20-tab{background:linear-gradient(100deg,#c0ab7f,#d0bd91)}
@media(prefers-reduced-motion:reduce){.c20-cover{transition:none}}

/* Test20. Supplied images and paper files; no global reset or PC topic-card rules. */
:root{--c20-paper:#e9dfc4;--c20-edge:#958661;--c20-rust:#8b5945;--c20-inside:#f4eedc}
.c20-file{min-width:0;color:#173d33;font-family:var(--serif);align-self:start;scroll-margin-top:25px;isolation:isolate}
.c20-file .c20-cover{display:block;position:relative;top:auto;width:100%;text-align:left;cursor:pointer;font-family:inherit;color:inherit;min-height:340px;padding:28px 32px 23px 49px;appearance:none;border-radius:0}
.c20-file .c20-tab{max-width:100%;min-width:140px;font-size:12px;z-index:2}
.c20-file .c20-meta,.c20-file .c20-stamp-row,.c20-file .c20-openbtn{display:flex}
.c20-file .c20-ttl{display:block;font-size:21px;line-height:1.7;letter-spacing:.02em;margin:10px 0 22px}
.c20-file .c20-tags{display:block;font-size:9px;line-height:1.7;letter-spacing:0}
.c20-file .c20-openbtn{font-size:13px;gap:5px}.c20-file .c20-openbtn:before{font-size:8px;letter-spacing:.06em}
.c20-file .c20-inside{min-height:0;padding:26px 5% 35px 7%;background:var(--c20-inside)}
.c20-file .c20-inside[hidden]{display:none!important}
.c20-file.c20-untying:not(.c20-open) .c20-inside{min-height:var(--c20-cover-height);max-height:var(--c20-cover-height);overflow:hidden}
.c20-file.c20-untying .c20-cover{position:absolute;top:39px;min-height:var(--c20-cover-height);height:var(--c20-cover-height);overflow:hidden}
.c20-file.c20-expanding,.c20-file.c20-focused{grid-column:1/-1;transform:none;margin:8px auto 30px;width:100%;max-width:900px;z-index:20}
.c20-file.c20-open .c20-cover{transform:perspective(1400px) rotateY(-166deg) translateX(-3px);opacity:0;pointer-events:none;transition:transform 1.65s cubic-bezier(.18,.72,.12,1),opacity .6s .65s}
.c20-file.c20-focused .c20-inside{min-height:0;box-shadow:0 18px 40px #342b1d1c}
.c20-has-focus>.c20-file:not(.c20-focused){opacity:.22;filter:blur(.7px);transform:scale(.97);transition:opacity .6s,filter .6s,transform .6s}
.c20-top-close{display:block;margin:14px 0 0 auto;padding:10px 16px;background:#eee7d4;border:1px solid #8f8468;color:#4f493b;cursor:pointer;font:14px var(--sans)}
.c20-paper .cf-cover{min-height:0;padding:18px 0 25px}.c20-paper .cf-cover-number{font-size:50px;margin:5px 0!important}
.c20-paper .cf-cover h2{font:500 clamp(22px,2.2vw,30px)/1.7 var(--serif);margin:10px 0 15px}.c20-paper .cf-cover p{font-size:15px;line-height:1.9}
.c20-paper .cf-stage{min-height:0;padding:30px 0 25px}.c20-paper .cf-stage h3{font:500 23px/1.6 var(--serif);margin:12px 0 18px}.c20-paper .cf-step{top:26px}.c20-paper .cf-narrative{font:16px/1.95 var(--serif);margin-top:12px!important}
.c20-paper .cf-narrative p{font-size:16px;line-height:1.95;margin:0 0 18px}.c20-paper .cf-end{padding:25px 0 0;display:grid;gap:15px}.c20-paper .cf-end a{font-size:15px;text-align:center;background:#183c33;color:#f5f0df;padding:16px}.c20-paper .c20-back-btn{padding:14px;border:1px solid #8f8468;background:#eee7d4;color:#4f493b;font:14px var(--sans);cursor:pointer}
.c20-cover:focus-visible,.c20-back-btn:focus-visible{outline:3px solid #b08224;outline-offset:5px}
.p15-home-file-grid,.p14-files .f14-grid{gap:30px 34px;margin-top:30px;isolation:isolate}
/* Clip only the swinging cover's off-canvas projection, without a horizontal scroll surface. */
.p15-home-files,.p14-files,.p17-case-group{overflow:clip;padding-left:12px;padding-right:12px}
/* A single photographic surface unites the headline and portrait. */
.p15-hero{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;padding:52px 6% 46px;min-height:660px;isolation:isolate;overflow:hidden;background:#163b32}
.p15-portrait{position:absolute;inset:0;z-index:-2;width:100%;height:100%;margin:0;min-height:0;background:#163b32}
.p15-portrait .p15-face{width:100%;height:100%;object-fit:cover;object-position:64% center;transform:none}
.p15-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#092a21db 0%,#092a21b0 29%,#092a2140 49%,transparent 64%);pointer-events:none}
.p15-hero-heading{grid-area:1/1;align-self:end;width:47%;position:relative;z-index:1}
.p15-hero h1{font:500 clamp(33px,3.1vw,49px)/1.55 var(--serif);margin:12px 0 24px;letter-spacing:.03em}.p15-hero h1 span{display:block;color:inherit}
.p15-hero-description{grid-area:2/1;width:45%;max-width:600px;position:relative;z-index:1}.p15-hero-description p{font-size:14px;line-height:1.9;margin:0 0 13px}.p15-hero-description .p15-belief{margin:18px 0!important;padding-left:16px}
.p15-hero-description .ed-text-link{display:inline-block;padding:13px 22px;background:#b6a16c;color:#102d24;border:1px solid #c3b17f;font-size:14px;margin-top:6px;text-decoration:none}
.p15-portrait figcaption{left:auto;right:4%;top:auto;bottom:24px;width:auto;max-width:43%;background:none;padding:0;align-items:flex-start;text-align:left;text-shadow:0 1px 6px #09271c}
.p15-portrait .p16-hand{font-size:23px;margin:0 0 8px!important}.p15-portrait figcaption>span{font-size:11px}
/* Compact, light appointment band before practice selection. */
.ed-availability.p15-booking{width:100%;max-width:none;margin:0;padding:0;background:#f7f6f1;color:#183c32}
.p15-booking .daimyo-availability{width:min(1180px,88%);margin:auto;padding:30px 0;border:0;border-bottom:1px solid #cfcab9;background:none;box-shadow:none;color:#183c32}
.p15-booking .av-eyebrow{color:#89723e;font-size:11px;margin:0 0 8px}.p15-booking .daimyo-availability h3{font-size:27px;margin:0 0 8px}.p15-booking .av-note{font-size:12px;line-height:1.8;margin:10px 0}.p15-booking .av-freshness{font-size:13px;margin-bottom:12px}.p15-booking .av-more{font-size:14px;margin-top:15px;color:#173d33}
.p15-attorney{gap:5%;padding-top:55px;padding-bottom:55px}.p15-attorney img{object-fit:cover;aspect-ratio:1.5;max-height:365px;object-position:52% 45%}.p15-attorney h2{font-size:clamp(25px,2.7vw,37px)}
.p15-look{background:#e8ede6}.p15-look-grid article{background:#f7f6f1;border-top:2px solid #a68a54;padding:24px 20px}.p15-look-grid h3{font-size:18px}.p15-look-grid p{font-size:15px}.p15-look-ending{font-size:22px}
.p15-method{background:linear-gradient(110deg,#0d2b22,#234b3e)}
.p16-lawyer-hero figure{max-width:920px}.p16-lawyer-hero figure img{aspect-ratio:1.6;object-fit:cover;object-position:50% 46%}
@media(min-width:1000px){.p15-booking .daimyo-availability{display:grid;grid-template-columns:1fr 1.7fr;column-gap:34px}.p15-booking .av-eyebrow,.p15-booking h3,.p15-booking .av-freshness,.p15-booking .av-note{grid-column:1}.p15-booking .av-days{grid-column:2;grid-row:1/7;align-self:center}.p15-booking .av-more{display:block}}
@media(max-width:700px){
.p15-hero{padding:25px 5% 28px;display:block;min-height:0;background:#123c30}
.p15-portrait{position:absolute;inset:0 0 auto;height:310px;z-index:-2;margin:0;width:100%}
.p15-portrait .p15-face{object-position:67% center;transform:none}
.p15-hero:after{background:linear-gradient(90deg,#0d3026de,transparent 77%),linear-gradient(0deg,#123c30 0%,#123c30 41%,transparent 68%)}
.p15-hero-heading{width:68%;min-height:255px}.p15-hero-heading .ed-kicker{font-size:8px;letter-spacing:.12em;max-width:165px}.p15-hero h1{font-size:clamp(25px,6.5vw,32px);line-height:1.65;letter-spacing:0;margin:16px 0 20px}.p15-hero h1 span{display:block;white-space:normal}
.p15-portrait figcaption{top:auto;bottom:12px;left:auto;right:5%;max-width:54%;padding:0;background:none}.p15-portrait .p16-hand{font-size:13px;margin:0 0 4px!important}.p15-portrait figcaption>span{font-size:8px}
.p15-hero-description{width:100%;max-width:none}.p15-hero-description p{font-size:13px;line-height:1.9}.p15-hero-description .p15-belief{margin:15px 0!important}.p15-hero-description .ed-text-link{font-size:13px;padding:12px 19px}
/* Mobile-only design specimen: no topic logic changes. */
.p14-app .ed-practice .ed-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.p14-app .ed-practice .ed-card{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:9px 3px 8px;border:1px solid #d7d0c2;border-radius:12px;background:#fffdf8;color:#163b32;box-shadow:none;transform:none;text-align:center;text-decoration:none;transition:background .22s,color .22s,border-color .22s}
.p14-app .ed-practice .ed-card>img,.p14-app .ed-practice .ed-card p,.p14-app .ed-practice .ed-card h3 span{display:none}
.p14-app .ed-practice .ed-card>div{padding:0;border:0;min-width:0}.p14-app .ed-practice .ed-card h3{font:500 14px/1.2 var(--serif);white-space:nowrap;letter-spacing:0;margin:0;padding:0;color:inherit}
.p14-app .ed-practice .ed-card[aria-expanded="true"]{background:#163b32;color:#fffdf8;border-color:#163b32;box-shadow:0 4px 14px #163b3224}
.p14-app .ed-practice .ed-card:active{transform:scale(.97)}
.p15-booking .daimyo-availability{width:90%;padding:23px 0}.p15-booking .daimyo-availability h3{font-size:23px}.p15-booking .av-note{font-size:11px}.p15-booking .av-freshness{font-size:12px}.p15-booking .av-more{font-size:13px}
.p15-attorney{padding-top:35px;padding-bottom:35px}.p15-attorney img{aspect-ratio:1.5;max-height:290px}.p15-look-grid article{padding:18px 16px}.p15-look-ending{font-size:19px}
.p15-home-file-grid,.p14-files .f14-grid{grid-template-columns:minmax(0,1fr);gap:25px;margin-top:25px}
.c20-file .c20-cover{padding:26px 23px 22px 43px;min-height:320px}.c20-file .c20-ttl{font-size:20px}.c20-file .c20-tapmark{width:64px;height:57px;font-size:17px}.c20-file .c20-meta{font-size:10px;letter-spacing:.08em}.c20-file .c20-inside{padding:22px 18px 28px 22px}.c20-file .c20-openbtn:before{display:none}.c20-file .c20-openbtn span:first-of-type{margin-left:0}
.c20-paper .cf-cover h2{font-size:24px}.c20-paper .cf-stage h3{font-size:21px}.c20-paper .cf-narrative p{font-size:15px}.c20-paper .cf-stage{padding:25px 0 20px}.c20-file.c20-expanding,.c20-file.c20-focused{margin:8px 0 20px}
}
@media(max-width:350px){.p14-app .ed-practice .ed-cards{gap:4px}.p14-app .ed-practice .ed-card{padding-left:2px;padding-right:2px}.p14-app .ed-practice .ed-card h3{font-size:13px}.c20-file .c20-ttl{font-size:18px}.c20-file .c20-cover{padding-right:19px;padding-left:40px}.c20-file .c20-tags{font-size:8px}.p15-hero-heading{width:72%}}
@media(prefers-reduced-motion:reduce){.c20-file,.c20-file *{animation:none!important;transition:none!important}.c20-file.c20-open .c20-cover{visibility:hidden}}
/* Clear inherited grid placement on the now full-width photograph. */
.p15-portrait{grid-area:auto}
.ed-availability.p15-booking .daimyo-availability{background:transparent!important;margin:0 auto!important;padding:30px 0!important}
@media(max-width:700px){.p15-hero-heading{width:78%;min-height:280px}.p15-hero h1{font-size:clamp(22px,6vw,29px)}.p15-portrait figcaption{bottom:10px}.ed-availability.p15-booking .daimyo-availability{padding:23px 0!important}}
.c20-file .c20-tab{font-family:var(--serif)}
@media(max-width:700px){
.p15-home-files,.p14-files,.p17-case-group{width:96%;padding-left:7px;padding-right:7px}
.c20-file .c20-inside{padding-left:17px;padding-right:17px}
.p14-app .ed-practice .ed-card[aria-expanded="true"]{outline:0}
.p14-app .ed-practice .ed-card:focus-visible{outline:2px solid #a98c48;outline-offset:2px}
}
