/* Acceptance: editorial typography, layered color, deliberate motion. */
.author-hero{position:relative;background:radial-gradient(ellipse at 100% 10%,#9af0dc80,transparent 50%),radial-gradient(ellipse at 4% 90%,#e5dbff65,transparent 46%),#c9eafb;padding-bottom:90px;align-items:start}
.author-copy{padding-top:25px}
.author-copy h1.author-name{font-family:var(--serif);font-size:clamp(64px,7.4vw,119px);font-weight:500;line-height:.98;letter-spacing:.045em;margin:0 0 0 -.025em;text-wrap:nowrap}
.author-name>span{display:block}
.author-copy h1 .name-given{color:var(--deep)}
.author-copy h1 .name-family{margin-top:12px;color:var(--purple);letter-spacing:.07em}
.author-lead{margin-top:35px}
.author-copy .eyebrow{letter-spacing:.09em;line-height:1.6}
.portrait-frame{border:7px solid #ffffff72;box-shadow:0 25px 70px #30205b20}
.author-portrait .portrait-mission{position:relative;display:block;right:auto;bottom:auto;margin:-24px -15px 0 -28px;padding:25px 30px 24px;background:linear-gradient(125deg,#34255a,#523687);border:1px solid #c6a8f04d;border-radius:20px;transform:none;box-shadow:0 20px 40px #281d4525;z-index:2;color:#fff}
.author-portrait .portrait-mission .mission-label{display:block;font:500 12px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--turquoise);margin-bottom:12px}
.portrait-mission p{font:400 22px/1.5 var(--serif);letter-spacing:.01em}
.portrait-mission strong{color:var(--yellow);font-weight:600;letter-spacing:.03em}
.portrait-mission a{display:flex;align-items:center;justify-content:space-between;margin-top:19px;padding-top:14px;border-top:1px solid #ffffff2c;font:400 14px/1.4 var(--sans);color:var(--blue)}
.author-portrait .portrait-mission a span{font-size:22px;line-height:1}
.mission-section{background:#d5ecfa;position:relative;overflow:hidden;color:var(--deep)}
.mission-section .section-top{border-bottom:1px solid #4c2d9135;padding-bottom:20px;margin-bottom:55px}
.mission-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(45px,7vw,115px)}
.mission-heading h2{font:500 clamp(38px,3.75vw,61px)/1.13 var(--serif);letter-spacing:-.02em;max-width:670px;text-wrap:balance}
.mission-heading h2 em{font-style:normal;color:var(--purple)}
.mission-ornament{display:block;font-size:78px;line-height:1;color:var(--purple);margin-top:35px;width:fit-content;animation:mission-turn 48s linear infinite}
.mission-body p{font-size:18px;line-height:1.85;max-width:660px;color:#42395b}
.mission-body .mission-definition{font-size:21px;line-height:1.65;color:var(--deep);padding-bottom:29px;margin-bottom:26px;border-bottom:1px solid #4c2d9130}
.mission-manifesto{position:relative;margin-top:65px;padding:40px 5% 36px 10%;border:1px solid #4c2d9130;border-radius:4px 45px 4px 45px;background:linear-gradient(120deg,#7bdccf7d,#c5e8f600 85%)}
.mission-manifesto p{font:500 clamp(26px,2.6vw,40px)/1.35 var(--serif);letter-spacing:-.01em;max-width:1150px}
.mission-manifesto p em{color:var(--purple);font-style:italic}
.manifesto-mark{position:absolute;left:3%;top:29px;font:500 110px/1 var(--serif);color:var(--purple)}
.manifesto-signature{display:block;margin-top:25px;font-size:14px;letter-spacing:.06em;color:var(--purple)}
.values-ribbon{position:relative;overflow:hidden;padding:46px 0 30px;background:radial-gradient(ellipse at 15% 120%,#7a56bc70,transparent 55%),linear-gradient(110deg,#231b40,#3d2a6a 75%,#263f5c);color:var(--blue);border-top:1px solid #bce4f64d;border-bottom:1px solid #bce4f650}
.values-ribbon:before{content:'';position:absolute;top:12px;left:0;right:0;border-top:1px solid #d6d0e438}
.ribbon-track{display:flex;width:max-content;animation:ribbon-flow 52s linear infinite;will-change:transform}
.ribbon-group{display:flex;flex-shrink:0;align-items:center;gap:48px;padding-right:48px;font:500 clamp(49px,5.7vw,89px)/1.15 var(--serif);letter-spacing:.005em;white-space:nowrap}
.ribbon-group i{font:400 35px/1 var(--sans);color:var(--turquoise);font-style:normal}
.ribbon-outline{color:transparent;-webkit-text-stroke:1px #c3e6f7}
.ribbon-yellow{color:var(--yellow);font-style:italic}
.ribbon-fine{border-top:1px solid #d6d0e438;margin-top:30px;padding-top:23px;color:#ddd3f0}
.ribbon-small-track{display:flex;width:max-content;animation:ribbon-flow 75s linear infinite reverse}
.ribbon-small-track>div{display:flex;align-items:center;gap:35px;padding-right:35px;flex-shrink:0;white-space:nowrap;font-size:13px;text-transform:uppercase;letter-spacing:.18em}
.ribbon-small-track i{color:var(--turquoise);font-style:normal}
.values-ribbon:hover .ribbon-track,.values-ribbon:hover .ribbon-small-track{animation-play-state:paused}
@keyframes ribbon-flow{to{transform:translateX(-50%)}}
@keyframes mission-turn{to{transform:rotate(360deg)}}
.button[data-practice-cta]{gap:26px;min-height:76px;padding-top:14px;padding-bottom:14px;text-align:left}
.cta-label{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.cta-title{font:inherit;line-height:1.25}
.button .cta-label,.button .cta-title{font-size:inherit;line-height:1.25}
.cta-label small{font:500 14px/1.3 var(--sans);letter-spacing:.025em;opacity:.85}
.button .cta-arrow{font:inherit;font-size:26px;flex-shrink:0}
.site-header .header-cta[data-practice-cta]{min-height:70px;padding:12px 25px;gap:20px}
.site-header .header-cta .cta-label{gap:4px}
.site-header .header-cta .cta-title{font-size:16px}
.request-card{box-shadow:0 12px 30px #39235b06;background:linear-gradient(140deg,#ffffff8c,#ffffff35);border-color:#4c2d913a}
.icon-tile{box-shadow:inset 0 1px 0 #ffffff50,0 7px 17px #241b4513}
.contact-card>span:nth-child(2){min-width:0}
.contact-card>span>span,.footer-column a{overflow-wrap:anywhere}
.review-card{background:linear-gradient(145deg,#ffffff13,#ffffff05);border-color:#ffffff45;box-shadow:inset 0 1px 0 #ffffff15}
.video-card .video-thumb{box-shadow:0 13px 30px #1d123a24}
.motion-paused .ribbon-track,.motion-paused .ribbon-small-track,.motion-paused .mission-ornament{animation-play-state:paused!important}
.library-page{background:#d5ecfa;color:var(--deep)}
.library-main{padding-top:145px;padding-bottom:70px;max-width:1720px;margin:auto}
.library-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin:35px 0 42px}
.library-heading .eyebrow{color:var(--purple);font-size:14px;margin-bottom:16px}
.library-heading h1{font:500 clamp(62px,6vw,96px)/1 var(--serif);letter-spacing:-.035em}
.library-heading>p{font-size:17px;line-height:1.7;color:#514863;padding-bottom:5px}
.library-controls{padding:28px 30px 24px;border:1px solid #4c2d9138;border-radius:22px;background:#ffffff6b;box-shadow:0 13px 30px #30215b08;scroll-margin-top:125px}
#video-search label{display:block;font-size:16px;font-weight:600;margin-bottom:12px}
.video-search-row{display:flex;gap:10px}
.video-search-row input{appearance:none;min-width:0;flex:1;background:#fff9;border:1px solid #4c2d915e;border-radius:11px;font:400 18px/1.4 var(--sans);padding:15px 18px;color:var(--deep)}
.video-search-row input::placeholder{color:#706982;opacity:1}
.video-search-row input:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.video-search-row button{display:flex;align-items:center;gap:28px;background:var(--purple);color:#fff;padding:14px 24px;border-radius:11px;font-size:16px;font-weight:500}
.video-search-row button>span{font-size:23px}
.video-search-row button:hover{background:#382063}
#search-scope{margin-top:9px;font-size:13px;line-height:1.5;color:#665f78}
.catalog-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.catalog-filters button{display:flex;align-items:center;gap:10px;padding:10px 19px;min-height:46px;border-radius:30px;border:1px solid #4c2d9145;background:transparent;color:var(--deep);font:500 16px/1.4 var(--sans)}
.catalog-filters button>span{font-size:13px;min-width:26px;padding:1px 6px;background:#4c2d9110;border-radius:15px}
.catalog-filters button[aria-pressed="true"]{background:var(--purple);color:#fff;border-color:var(--purple)}
.catalog-filters button[aria-pressed="true"]>span{background:#ffffff23;color:var(--yellow)}
.catalog-filters button:hover:not([aria-pressed="true"]){background:var(--yellow)}
.catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 20px;font-size:14px;line-height:1.6}
.catalog-summary>span{color:#665f78;text-align:right}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 24px;scroll-margin-top:125px}
.catalog-card{min-width:0;border:1px solid #4c2d912b;border-radius:18px;overflow:hidden;background:#ffffff65;transition:transform .25s,box-shadow .25s}
.catalog-card:hover{transform:translateY(-4px);box-shadow:0 17px 30px #3b255818}
.catalog-play{display:block;width:100%;height:100%;text-align:left;color:var(--deep);background:transparent;padding:0}
.catalog-thumb{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#2c204c}
.catalog-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.catalog-short .catalog-thumb img{object-fit:contain}
.catalog-play:hover .catalog-thumb img{transform:scale(1.03)}
.catalog-play-icon{display:grid;place-items:center;position:absolute;left:16px;bottom:14px;width:45px;height:45px;padding-left:3px;border-radius:50%;background:var(--yellow);color:var(--deep);font-size:18px;box-shadow:0 4px 15px #15102930}
.catalog-format{position:absolute;right:12px;bottom:13px;padding:4px 9px;border:1px solid #ffffff38;background:#211730de;color:#fff;border-radius:7px;font-size:13px;line-height:1.5}
.catalog-card-copy{display:flex;flex-direction:column;gap:10px;padding:20px 21px 23px}
.catalog-kind{font-size:12px;line-height:1.5;letter-spacing:.04em;color:#6c6080}
.catalog-card-title{display:block;font-size:17px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}
.catalog-grid.shorts-only{grid-template-columns:repeat(4,minmax(0,1fr))}
.shorts-only .catalog-thumb{aspect-ratio:9/14}
.shorts-only .catalog-card-copy{padding:18px}
.shorts-only .catalog-card-title{font-size:16px}
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:30px;padding-top:40px}
.catalog-pagination button{min-height:48px;display:flex;align-items:center;gap:12px;padding:10px 20px;border-radius:12px;border:1px solid #4c2d9140;background:#ffffff65;color:var(--deep);font-size:16px}
.catalog-pagination button:hover:not(:disabled){background:var(--purple);color:#fff}
.catalog-pagination label{display:flex;align-items:center;gap:9px;font-size:14px;white-space:nowrap}
.catalog-pagination select{font:500 16px/1.5 var(--sans);background:#fff9;border:1px solid #4c2d9170;border-radius:9px;padding:11px 9px;color:var(--deep)}
.library-main button:disabled,.library-main select:disabled{opacity:.42;cursor:default}
.library-main button:focus-visible,.library-main select:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
.catalog-source{display:flex;gap:30px;justify-content:space-between;margin-top:45px;padding-top:25px;border-top:1px solid #4c2d9130;font-size:14px;line-height:1.7;color:#625b72}
.catalog-source a{color:var(--purple);white-space:nowrap}
.catalog-empty{text-align:center;padding:60px 20px;background:#ffffff40;border-radius:20px;border:1px solid #4c2d9130}
.catalog-empty h2{font:500 44px/1.15 var(--serif);margin-bottom:18px}
.catalog-empty p{font-size:17px;line-height:1.6}
.catalog-empty button,.catalog-error button{padding:12px 21px;border-radius:30px;margin-top:24px;background:var(--purple);color:white;font-size:15px}
.catalog-error{margin:20px 0;padding:22px 25px;border-radius:15px;background:var(--yellow);font-size:16px;line-height:1.65}
.catalog-grid[hidden],.catalog-empty[hidden],.catalog-error[hidden],.catalog-pagination[hidden]{display:none}
@media(max-width:1100px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid.shorts-only{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-card-title{font-size:17px}}
@media(max-width:700px){.library-heading{display:block;margin-top:25px}.library-heading>p{margin-top:23px}.library-controls{padding:23px}.catalog-grid.shorts-only{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{gap:23px 16px}.catalog-card-copy{padding:17px}.catalog-card-title{font-size:16px}.catalog-source{display:block}.catalog-source>a{display:inline-block;margin-top:15px}}
@media(max-width:500px){.library-main{padding-top:120px}.library-heading h1{font-size:64px}.library-heading .eyebrow{font-size:13px}.library-controls{padding:20px 17px;border-radius:17px}.video-search-row{gap:8px}.video-search-row input{font-size:16px;padding:14px 11px;width:100px}.video-search-row button{padding:12px 15px;font-size:14px}.video-search-row button>span{display:none}.catalog-filters{gap:7px;margin-top:21px}.catalog-filters button{padding:9px 12px;font-size:14px;gap:6px}.catalog-filters button>span{font-size:12px;min-width:20px;padding:0 3px}.catalog-summary{display:block;margin-top:24px}.catalog-summary>span{display:block;text-align:left;font-size:13px;margin-top:5px}.catalog-grid{grid-template-columns:1fr}.catalog-card-title{font-size:18px}.catalog-grid.shorts-only{gap:20px 12px}.shorts-only .catalog-card-copy{padding:13px 12px 16px}.shorts-only .catalog-card-title{font-size:16px}.shorts-only .catalog-play-icon{width:35px;height:35px;left:9px;bottom:10px;font-size:14px}.shorts-only .catalog-format{right:7px;bottom:10px;font-size:12px;padding:3px 6px}.catalog-pagination{gap:15px;padding-top:30px}.catalog-pagination button{padding:10px 15px}.pagination-word{display:none}.catalog-pagination label{gap:7px}.catalog-empty h2{font-size:36px}.catalog-source p{font-size:13px}}
@media(max-width:1100px){.author-copy h1.author-name{font-size:clamp(57px,7.4vw,82px)}.author-hero{gap:35px}.portrait-mission p{font-size:21px}.author-portrait .portrait-mission{padding:22px}.mission-body p{font-size:17px}.mission-body .mission-definition{font-size:20px}}
@media(max-width:850px){.author-hero{gap:30px}.author-copy h1.author-name{font-size:clamp(44px,7.1vw,60px)}.author-copy h1 .name-family{letter-spacing:.045em}.author-copy{padding-top:0}.author-portrait .portrait-mission{margin:-18px -4px 0 -14px;padding:20px}.portrait-mission p{font-size:20px}.mission-layout{grid-template-columns:1fr;gap:35px}.mission-heading{display:grid;grid-template-columns:1fr 60px;gap:28px;align-items:center}.mission-heading h2{font-size:45px}.mission-ornament{font-size:60px;margin-top:0}.mission-body p{max-width:none;font-size:18px}.mission-section .section-top{margin-bottom:35px}.mission-manifesto{margin-top:40px}.mission-manifesto p{font-size:32px}}
@media(max-width:600px){.author-hero{padding-top:130px;padding-bottom:65px;gap:40px}.author-copy h1.author-name{font-size:clamp(48px,12.4vw,72px);line-height:1.02}.author-copy h1 .name-family{margin-top:8px;letter-spacing:.065em}.author-lead{margin-top:26px}.author-portrait{width:94%;max-width:390px}.author-portrait .portrait-mission{margin:-20px -7px 0;padding:24px}.portrait-mission p{font-size:24px}.mission-section .section-top{gap:20px}.mission-layout{gap:27px}.mission-heading{display:block}.mission-heading h2{font-size:35px;line-height:1.18}.mission-ornament{display:none}.mission-body .mission-definition{font-size:19px;padding-bottom:23px;margin-bottom:23px}.mission-body p{font-size:17px;line-height:1.8}.mission-manifesto{padding:60px 23px 27px;margin-top:30px;border-radius:4px 28px 4px 28px}.manifesto-mark{font-size:86px;top:14px;left:20px;height:40px}.mission-manifesto p{font-size:29px}.values-ribbon{padding-top:33px;padding-bottom:22px}.ribbon-group{gap:28px;padding-right:28px;font-size:53px}.ribbon-group i{font-size:26px}.ribbon-fine{margin-top:24px;padding-top:20px}.ribbon-small-track>div{font-size:12px;gap:22px;padding-right:22px;letter-spacing:.12em}.button[data-practice-cta]{min-height:74px;gap:20px}.cta-label small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ribbon-track,.ribbon-small-track,.mission-ornament{animation:none}}
@media(max-width:600px){
  .site-header,.site-header.is-fixed{padding-top:16px;padding-bottom:16px;gap:10px}
  .site-header .brand .wordmark{display:none}
  .site-header .header-cta[data-practice-cta]{display:inline-flex;min-height:60px;padding:10px 13px;gap:0;flex-shrink:0}
  .site-header .header-cta .cta-label{display:flex;gap:5px}
  .site-header .header-cta .cta-title{display:block;font-size:13px;line-height:1.3}
  .site-header .header-cta .cta-label small{font-size:12px;letter-spacing:0}
  .site-header .header-cta .cta-arrow{display:none}
  .mobile-nav{top:92px;height:calc(100dvh - 92px)}
  .cta-label small{font-size:14px}
}
