:root{--ink:#123e49;--muted:#4d6970;--teal:#61c2bd;--orange:#ff9a52;--paper:#f3f8f6;--line:#c7dad6;--purple:#8555d9;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "Segoe UI",system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:#076366}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8555d9;outline-offset:4px}img{max-width:100%;height:auto}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,5.5vw,72px);line-height:1.06;letter-spacing:-.05em;margin-bottom:25px;font-weight:750}h1 em{font-style:normal;color:#056668}h2{font-size:clamp(28px,3.2vw,42px);line-height:1.15;letter-spacing:-.03em}h3{font-size:22px;line-height:1.3;letter-spacing:-.015em}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.15em;margin-bottom:15px}.lede{font-size:20px;line-height:1.6;max-width:800px}.small,figcaption{font-size:13px;color:var(--muted)}.skip{position:absolute;left:16px;top:-60px;background:white;padding:10px;z-index:99}.skip:focus{top:8px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px max(28px,calc((100vw - 1320px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;letter-spacing:.16em;line-height:1.2}.brand strong{display:block;font-size:21px;letter-spacing:.08em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600;flex-wrap:wrap}.site-header nav a{text-decoration:none}.studio-link{padding:10px 15px;background:#e3f3ef;border-radius:8px}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center;max-width:1380px;margin:auto;padding:82px 30px 78px}.hero-visual{background:var(--teal);border-radius:50% 50% 16px 16px;text-align:center;padding:30px 20px 32px;min-height:400px;display:grid;justify-items:center;align-content:center}.hero-visual img{width:260px}.hero-visual p{font-size:12px;letter-spacing:.12em;line-height:1.7;margin:16px 0 0}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:25px 0 18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid #8dafac;border-radius:7px;background:transparent;color:var(--ink);font-weight:650;text-decoration:none;font-size:14px}.button:hover{background:#e1eeea}.button.primary{background:var(--ink);color:white;border-color:var(--ink)}.button.primary:hover{background:#075e60}.button:disabled{opacity:.45;cursor:default}.section{max-width:1380px;margin:auto;padding:62px 30px;border-top:1px solid var(--line)}.section.compact{padding-top:28px}.section-head{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-bottom:25px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.feature{background:white;border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}.feature img{margin-bottom:22px}.feature h3 a{text-decoration:none}.feature .text-link{margin-top:auto;font-weight:700;font-size:14px}.feature .eyebrow{font-size:10px}.method-strip{background:var(--teal);padding:58px max(30px,calc((100vw - 1320px)/2))}.method-strip h2{margin-bottom:32px}.method-strip p{max-width:380px}.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}.color-card{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;align-items:flex-start}.color-card h3{margin:14px 0 10px}.paper-links{margin-top:auto;display:grid;gap:8px;font-size:14px}.related p{max-width:930px}.show-section{padding:60px max(30px,calc((100vw - 1320px)/2));background:#e0eeea;border-top:1px solid var(--line)}.show-section p{max-width:780px}.site-footer{display:flex;justify-content:space-between;gap:30px;max-width:1380px;margin:auto;padding:42px 30px 16px;font-size:12px}.site-footer p{margin:6px 0}.usage-notice{text-align:center;font-size:10px;padding:15px 25px 24px;color:#49646a}.detail-head{max-width:1380px;margin:auto;padding:62px 30px 35px}.detail-head.compact{padding-bottom:10px}.back{display:inline-block;margin-bottom:26px;font-size:14px}.play-diagram{max-width:1320px;margin:0 auto 40px;padding:20px;background:white;border:1px solid var(--line);border-radius:10px}.play-diagram img{width:100%;display:block}.play-diagram figcaption{padding-top:14px}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.role{border-top:3px solid var(--teal);padding-top:18px}.role dl{font-size:14px}.role dt{font-weight:700}.role dd{margin:0 0 12px}.algorithm{padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.equation{font:20px/1.5 Consolas,monospace;overflow-wrap:anywhere}.filters{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:20px}.filters label{display:grid;gap:6px;font-size:13px;font-weight:650}.filters input,.filters select{min-width:0;min-height:46px;padding:10px;border:1px solid #7e9e9e;border-radius:6px;background:white;color:var(--ink);width:100%}.play-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.play-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}.play-card img{width:100%;aspect-ratio:1100/630;object-fit:contain;border-bottom:1px solid var(--line)}.play-card>div{padding:20px}.play-card h3{font-size:18px;margin-bottom:10px}.play-card .small{margin-bottom:0}.play-card:hover{border-color:#0b7775}.pagination{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}.all-plays{columns:2;column-gap:40px}.all-plays li{break-inside:avoid;margin-bottom:10px}.paper-body{background:white;max-width:1050px;margin:0 auto 60px;padding:35px;border:1px solid var(--line);border-radius:12px}.paper-body h1{font-size:37px}.paper-body h2{font-size:19px;margin-top:30px}.paper-body .meta{font-size:13px;color:var(--muted)}.paper-body p{overflow-wrap:anywhere}.paper-body a{overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#e6efec;padding:20px;font-size:13px}details{margin-top:20px}summary{cursor:pointer;font-weight:650;padding:10px 0}@media(max-width:1000px){.hero{gap:35px}.color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header{align-items:flex-start}.site-header nav{gap:16px;justify-content:flex-end}.three-grid,.role-grid{gap:16px}.feature{padding:22px}.play-diagram{margin:0 20px 30px}}@media(max-width:740px){.site-header{padding:18px 20px;flex-direction:column;gap:18px}.site-header nav{gap:16px;font-size:13px;justify-content:flex-start}.hero{grid-template-columns:1fr;padding:42px 22px;gap:24px}.hero-visual{min-height:230px;border-radius:14px;grid-template-columns:1fr 1fr;padding:10px}.hero-visual img{width:180px}.hero-visual p{font-size:11px;padding:15px}.three-grid,.role-grid,.two-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.section,.detail-head{padding:40px 22px}.section-head,.site-footer{flex-direction:column;align-items:flex-start}.filters{grid-template-columns:1fr}.play-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.play-card>div{padding:14px}.play-card h3{font-size:16px}.color-card{padding:18px}.all-plays{columns:1}.paper-body{margin:0 16px 30px;padding:22px}.paper-body h1{font-size:30px}.method-strip,.show-section{padding:38px 22px}.lede{font-size:18px}.hero-visual strong{font-size:11px}.play-diagram{padding:8px}}@media(max-width:420px){.color-grid,.play-grid{grid-template-columns:1fr}.hero-visual{grid-template-columns:1fr}.hero-visual img{width:160px}.hero-visual p{margin:0;padding-top:0}.actions .button{width:100%}.site-header nav{column-gap:17px;row-gap:12px}.brand{gap:8px}.paper-body h1{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.usage-notice,.actions,.pagination{display:none}body{background:white;color:black}.section{padding:20px 0}.detail-head{padding:20px 0}.play-diagram{break-inside:avoid}.role-grid{display:block}.role,.algorithm{break-inside:avoid}.detail-head h1{font-size:30px}}

.diagram-section{max-width:1380px;margin:auto}.diagram-controls{display:flex;gap:12px;flex-wrap:wrap;padding:0 30px 20px}.diagram-controls [aria-pressed=true]{background:#123e49;color:white}.assignment-table{overflow-x:auto;margin:25px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}th,td{padding:16px 18px;vertical-align:top;border-bottom:1px solid #c7dad6}thead{background:#e1efeb}tbody th{font-size:17px;white-space:nowrap}td:last-child{font-size:13px;color:#4d6970}table td{min-width:220px}.play-grid:has(>.play-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.play-grid:has(>.play-card:nth-child(2):last-child){grid-template-columns:1fr}.diagram-controls{padding:0 22px 18px}.assignment-table table,.assignment-table tbody,.assignment-table tr,.assignment-table td,.assignment-table th{display:block;min-width:0}.assignment-table thead{display:none}.assignment-table th{padding:18px 0 4px;border:0}.assignment-table td{padding:5px 0;border:0}.assignment-table tr{padding-bottom:12px;border-bottom:1px solid #c7dad6}}
.coaching-link,.button.coaching-button{background:var(--orange);color:var(--ink);border-color:var(--orange);font-weight:750}.coaching-link{padding:10px 15px;border-radius:8px;white-space:nowrap}.coaching-link:hover,.button.coaching-button:hover{background:#ffb278;color:var(--ink)}.coaching-callout{max-width:1320px;margin:0 auto 48px;background:#e0eeea;border:1px solid var(--line);border-radius:16px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:35px}.coaching-callout p{max-width:740px}.coaching-callout .button{flex-shrink:0}.coaching-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;max-width:1380px;margin:auto;padding:60px 30px 64px}.coaching-hero h1{font-size:clamp(40px,5vw,66px)}.coaching-hero>.small,.coaching-hero>div>.small{margin:18px 0 0}.strategy-card{background:var(--teal);border-radius:18px;padding:35px}.strategy-card h2{font-size:36px}.strategy-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:16px;border-top:1px solid #2d8f90;font-size:13px}.strategy-stats b{display:block;font-size:37px;line-height:1.2}.coach-bio{display:grid;grid-template-columns:1fr 1.8fr;gap:55px;align-items:center}.coach-identity img{margin-bottom:18px}.coach-identity h2{font-size:32px;margin-bottom:12px}.coach-identity p:last-child{color:var(--muted);font-size:14px;margin:0}.coach-bio>div:last-child{font-size:18px;max-width:810px}.coaching-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:35px 0 22px}.offer-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);background:white;border-radius:14px;padding:34px}.offer-card h3{font-size:25px;min-height:2.6em}.offer-price{font-size:42px;font-weight:750;line-height:1.15;letter-spacing:-.04em;margin-bottom:12px}.offer-price span{display:block;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.5;margin-top:8px}.offer-card ul{padding-left:20px;margin-top:0;margin-bottom:28px}.offer-card li{padding-bottom:9px}.offer-booking{margin-top:auto;width:100%;display:grid;gap:12px}.offer-card .button{margin:0;width:100%;min-width:0}.offer-season-price{font-size:14px;line-height:1.5;border-top:1px solid var(--line);padding-top:18px;margin:7px 0 0}.offer-season-price strong{font-size:24px;display:block}.season-inclusions{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;border:1px solid #369b99;background:#edf8f5;border-radius:14px;padding:30px;margin:0 0 24px}.season-inclusions h3{font-size:25px}.season-inclusions p:last-child{margin-bottom:0}.season-inclusions ul{padding-left:20px;margin-top:0}.offer-season{border:2px solid #369b99;background:#edf8f5}.season-value{font-size:14px;font-weight:700}.coaching-faq{max-width:1380px}.coaching-faq details{max-width:900px;border-bottom:1px solid var(--line);padding-bottom:12px}.coaching-faq summary{font-size:18px}.coaching-faq details p{max-width:850px;margin:10px 0 15px}#options,#booking{scroll-margin-top:24px}@media(max-width:1100px){.site-header nav{column-gap:16px}.coaching-hero{gap:30px}.coaching-callout{margin-left:30px;margin-right:30px}.coaching-callout .button{flex-shrink:1}}@media(max-width:1000px){.coaching-offers{grid-template-columns:1fr}.offer-card h3{min-height:0}.season-inclusions{grid-template-columns:1fr;gap:12px}}@media(max-width:740px){.coaching-hero{grid-template-columns:1fr;padding:38px 22px;gap:30px}.strategy-card{padding:25px}.strategy-card h2{font-size:30px}.coaching-callout{margin:0 22px 32px;padding:25px;flex-direction:column;align-items:flex-start;gap:12px}.coaching-callout h2{font-size:30px}.coach-bio{grid-template-columns:1fr;gap:30px}.coaching-offers{grid-template-columns:1fr;gap:22px}.offer-card{padding:25px}.offer-price{font-size:45px}.offer-card .button{width:100%}.coaching-link{font-size:12px;padding:10px 12px}.coach-bio>div:last-child{font-size:17px}}@media print{.coaching-link,.coaching-button,.offer-card .button{display:none}.coaching-hero,.coach-bio{display:block}.strategy-card,.offer-card,.season-inclusions{break-inside:avoid}}
