:root{
  --navy:#02314d;--teal:#095f6d;--sage:#86ac85;--mist:#c4d4ce;--cream:#fefefe;--ink:#1c2830;
  --color-bg:#ecefe9;--color-text:var(--ink);--muted:#52615f;--paper:#fbfbf7;--paper-alt:#f1f4ee;--line:#1c283028;--focus:var(--teal);
  --font-display:'Zodiak',Georgia,serif;--font-body:'Satoshi',Arial,sans-serif;
  --text-xs:clamp(.75rem,.74rem + .04vw,.8rem);--text-sm:clamp(.875rem,.84rem + .12vw,.94rem);
  --text-base:clamp(1rem,.96rem + .12vw,1.0625rem);--text-lg:clamp(1.125rem,1rem + .3vw,1.35rem);
  --text-xl:clamp(1.5rem,1.2rem + .7vw,2rem);--text-2xl:clamp(1.625rem,1.3rem + .7vw,2.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --radius-sm:3px;--radius-md:6px;--ease:cubic-bezier(.22,.68,.15,1);
  --panel-width:min(29.5vw,390px);--panel-height:920px
}
[data-theme=dark]{--color-bg:#13282e;--color-text:#e9f0eb;--muted:#b3c3bf;--paper:#203b42;--paper-alt:#27464a;--line:#e9f0eb2e;--focus:#a9d4c6}
body{transition:background .25s,color .25s}
a{color:inherit}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);max-width:1440px;margin:auto;padding:var(--space-6) var(--space-12);border-bottom:1px solid var(--line)}
.brand{display:block;width:214px;flex-shrink:0}
.brand img{width:100%;height:auto}
[data-theme=dark] .brand{background:var(--cream);padding:var(--space-2);border-radius:var(--radius-sm)}
.header-right{display:flex;align-items:center;gap:var(--space-8)}
.header-note,.eyebrow,.panel-foot,.portrait-caption,.upcoming>span{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em}
.header-note{color:var(--muted)}
.text-button{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-sm)}
.text-button:hover:not(:disabled){background:var(--line)}
.text-button:disabled{opacity:.35}
.text-button span{margin-left:var(--space-2)}
.intro{text-align:center;padding:var(--space-8) var(--space-4) var(--space-6)}
.intro .eyebrow{color:var(--muted);margin:auto}
.intro-line{font-family:var(--font-display);font-size:var(--text-xl);margin:var(--space-2) auto 0}
.controls{max-width:1216px;margin:0 auto;padding:0 var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}
.view-switch{display:flex;gap:var(--space-1);border:1px solid var(--line);padding:var(--space-1);border-radius:var(--radius-md)}
.view-switch button{font-size:var(--text-sm);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm)}
.view-switch .selected{color:var(--paper);background:var(--color-text)}
.fold-actions{display:flex;align-items:center;gap:var(--space-4)}
.stage{position:relative;perspective:2400px;margin:var(--space-6) auto var(--space-8);padding:var(--space-4) 0;min-height:calc(var(--panel-height) + 32px)}
.book{width:var(--panel-width);height:var(--panel-height);position:relative;margin:0 auto;transform-style:preserve-3d;transition:transform 1.2s var(--ease)}
.book.turned{transform:rotateY(180deg)}
.sheet{position:absolute;width:100%;height:100%;transform-style:preserve-3d}
.middle{z-index:1}
.wing{transition:transform 1.25s var(--ease)}
.left{left:-100%;transform-origin:right center;transform:rotateY(180deg);z-index:2}
.right{left:100%;transform-origin:left center;transform:rotateY(-180deg);z-index:3}
.book.open .left{transform:rotateY(0);transition-delay:.2s}
.book.open .right{transform:rotateY(0)}
.book:not(.open) .left{transition-delay:0s}
.book:not(.open) .right{transition-delay:.2s}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--paper);box-shadow:0 16px 38px #02314d1a;transform:translateZ(.4px)}
.face::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid var(--line)}
.face.back{transform:rotateY(180deg) translateZ(.4px)}
.middle .front,.contact-panel{background:var(--paper-alt)}
.left .front::before,.right .front::before{content:"";position:absolute;top:0;bottom:0;width:16px;pointer-events:none;z-index:2}
.left .front::before{right:0;background:linear-gradient(90deg,transparent,#02314d0c)}
.right .front::before{left:0;background:linear-gradient(90deg,#02314d0c,transparent)}
.panel-content{height:100%;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}
.panel-content .eyebrow{color:var(--teal);margin-bottom:var(--space-1)}
[data-theme=dark] .panel-content .eyebrow{color:var(--mist)}
h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.045em}
h1{font-size:var(--text-2xl);line-height:1.2}
h2{font-size:var(--text-xl);line-height:1.22}
h3{font-size:var(--text-base);font-weight:700;letter-spacing:-.01em;line-height:1.35}
.panel-content p{font-size:var(--text-base);line-height:1.5}
.panel-foot{margin-top:auto;padding-top:var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--text-xs);letter-spacing:.075em}
.panel-foot span:first-child{max-width:90%}
.cover{background:var(--navy);color:var(--cream)}
.cover .panel-content{align-items:center;text-align:center;padding-top:var(--space-8)}
.cover .eyebrow{color:var(--mist)}
.cover-logo{width:174px;height:auto;margin:var(--space-4) 0 var(--space-6)}
.cover-title{margin-bottom:var(--space-3)}
.cover-title p{margin-top:var(--space-4);color:#c4d4ce;line-height:1.6}
.cover-speaker{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}
.cover-speaker strong{font-size:var(--text-lg);font-weight:500}
.cover-speaker span{font-size:var(--text-sm);color:var(--mist);letter-spacing:.05em}
.cover-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);width:100%;font-size:var(--text-sm);min-height:52px;border:1px solid #c4d4ce70;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);color:var(--cream)}
.cover-button:hover{background:#ffffff12;border-color:var(--mist)}
.cover .panel-foot{width:100%;color:var(--mist)}
.cover a:focus-visible,.cover button:focus-visible{outline-color:var(--cream)}
.book.open .cover-button{visibility:hidden}
.portrait-row{display:flex;align-items:flex-end;gap:var(--space-4);margin-top:var(--space-1)}
.portrait{width:128px;height:141px;object-fit:cover;object-position:center;border-radius:var(--radius-sm)}
.portrait-caption{display:flex;flex-direction:column;gap:var(--space-2);letter-spacing:.075em;color:var(--muted);padding-bottom:var(--space-2)}
#speaker h2{margin-top:var(--space-1)}
.panel-content .credentials{color:var(--teal);font-weight:700;margin-top:calc(-1 * var(--space-3));font-size:var(--text-sm);letter-spacing:.04em}
[data-theme=dark] .panel-content .credentials{color:var(--mist)}
.panel-content .speaker-role{font-size:var(--text-sm);color:var(--muted);margin-top:calc(-1 * var(--space-3))}
.credential-list{margin-top:var(--space-1)}
.credential-list>div{display:grid;grid-template-columns:90px 1fr;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line);font-size:var(--text-sm);line-height:1.35}
dt{font-weight:700}
dd{color:var(--muted)}
.lead-small{color:var(--muted)}
.experience-item{padding-top:var(--space-4);border-top:1px solid var(--line)}
.experience-item h3{margin-bottom:var(--space-2)}
.experience-item p{font-size:var(--text-sm);line-height:1.55}
.speaking-list{list-style:none;display:grid;gap:var(--space-3)}
.speaking-list li{font-size:var(--text-sm);line-height:1.55}
.inline-source{font-size:var(--text-xs);text-underline-offset:3px}
.upcoming{margin-top:var(--space-4)}
.upcoming>span{display:block;color:var(--teal);font-size:var(--text-xs);margin-bottom:var(--space-2)}
[data-theme=dark] .upcoming>span{color:var(--mist)}
.topic{display:grid;grid-template-columns:24px 1fr 16px;text-align:left;gap:var(--space-3);padding:var(--space-5) 0;border-top:1px solid var(--line);width:100%;line-height:1.35}
.topic+.topic{margin-top:calc(-1 * var(--space-4))}
.topic:hover{background:var(--line)}
.topic-number{font-size:var(--text-xs);font-weight:700;padding-top:var(--space-1);color:var(--muted)}
.topic strong{font-size:var(--text-base);font-weight:700;display:block}
.topic small{font-size:var(--text-sm);display:block;margin-top:var(--space-2);color:var(--muted)}
.topic-arrow{font-size:var(--text-base);color:var(--teal)}
[data-theme=dark] .topic-arrow{color:var(--mist)}
.session-note{background:var(--paper-alt);padding:var(--space-4);font-size:var(--text-sm)}
.session-note strong{font-weight:700}
.session-note p{font-size:var(--text-sm);margin-top:var(--space-2)}
.practice-focus{padding:var(--space-5) 0;border-block:1px solid var(--line)}
.practice-focus ul{padding-left:var(--space-4);margin-top:var(--space-3)}
.practice-focus li{font-size:var(--text-sm);padding-bottom:var(--space-2);padding-left:var(--space-1)}
.panel-content .partnership{font-size:var(--text-sm)}
.underlined{text-underline-offset:5px;min-height:44px;font-size:var(--text-sm);font-weight:700;display:inline-flex;align-items:center;justify-content:space-between}
.primary-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-4);background:var(--teal);color:var(--cream);font-size:var(--text-sm);font-weight:700;text-decoration:none;border-radius:var(--radius-sm);min-height:52px}
.primary-button:hover{background:var(--navy)}
address{font-style:normal;display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-sm)}
address a{display:flex;align-items:center;min-height:36px;text-decoration:none}
address a:hover{text-decoration:underline}
.small-print{padding-top:var(--space-4);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-3)}
.small-print p{font-size:var(--text-xs);color:var(--muted);line-height:1.5}
.status-line{text-align:center;font-size:var(--text-sm);color:var(--muted);padding:0 var(--space-4) var(--space-8)}
.site-footer{margin:auto;max-width:1320px;border-top:1px solid var(--line);padding:var(--space-5) var(--space-8);display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:var(--muted)}
.site-footer a{text-decoration:none;min-height:44px;display:flex;align-items:center}
.site-footer span{align-self:center}
.skip{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--color-text);padding:var(--space-4);z-index:100}
.skip:focus{top:12px}
.reading{max-width:1080px;margin:var(--space-8) auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);padding:0 var(--space-6)}
.reading .face{position:relative;inset:auto;transform:none!important;backface-visibility:visible;min-height:680px;box-shadow:0 4px 24px #02314d0d}
.reading .face::after{display:none}
.reading .cover-button{display:none}
.reading .panel-content{padding:var(--space-10)}
.reading .cover-logo{width:164px}
body.reading-mode .stage,body.reading-mode .fold-actions{display:none}
dialog{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--line);background:var(--paper);color:var(--color-text);margin:auto;border-radius:var(--radius-md);box-shadow:0 30px 100px #00192355}
dialog::backdrop{background:#03283299;backdrop-filter:blur(4px)}
.dialog-inner{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
dialog h2{font-size:var(--text-xl)}
dialog h3{margin-bottom:calc(-1 * var(--space-3))}
dialog ol{padding-left:var(--space-6)}
dialog li{padding-left:var(--space-2);margin-bottom:var(--space-3)}
.dialog-note,.dialog-fine{font-size:var(--text-xs);color:var(--muted)}
dialog[open]{animation:dialog-in .25s var(--ease)}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.no-script{margin:var(--space-8)}
@media(min-width:1450px){.panel-content{gap:var(--space-5)}}
@media(max-width:1100px) and (min-width:901px){:root{--panel-width:31vw;--panel-height:1080px}.panel-content{padding:var(--space-6)}.portrait-caption{letter-spacing:0}.portrait{width:105px;height:116px}.credential-list>div{grid-template-columns:80px 1fr}}
@media(max-width:900px){
  .site-header{padding:var(--space-4) var(--space-6)}.header-note{display:none}.brand{width:188px}
  .reading{max-width:680px;grid-template-columns:1fr}.reading .face{min-height:initial}.reading .cover{min-height:700px}
  .reading .panel-content{padding:var(--space-8)}.reading .panel-foot{margin-top:var(--space-6)}
  .reading .cover .panel-foot{margin-top:auto}
  .site-footer{flex-wrap:wrap}.site-footer span:nth-child(2){display:none}
  body:not(.reading-mode) .book{--panel-width:31vw;--panel-height:940px}
}
@media(max-width:600px){
  .site-header{padding:var(--space-3) var(--space-4)}.brand{width:166px}.header-right{gap:0}
  .intro{padding:var(--space-6) var(--space-4)}.intro .eyebrow{font-size:var(--text-xs);max-width:28ch}.intro-line{font-size:var(--text-xl);max-width:20ch}
  .controls{justify-content:center;padding:0 var(--space-4)}.view-switch{width:100%;justify-content:center}.view-switch button{flex:1}
  .fold-actions{display:none}
  .reading{margin-top:var(--space-6);padding:0 var(--space-4);gap:var(--space-5)}
  .reading .panel-content{padding:var(--space-6)}
  .reading .cover{min-height:680px}
  .reading .cover-logo{width:165px}
  .portrait{width:128px;height:141px}
  .panel-content h2{font-size:var(--text-xl)}
  .dialog-inner{padding:var(--space-6)}
  .site-footer{padding-inline:var(--space-4)}
}
@media print{
  .site-header,.controls,.intro,.stage,.site-footer,.status-line,dialog{display:none!important}
  .reading{display:grid!important;grid-template-columns:1fr 1fr;margin:0;padding:0;gap:12px}
  .reading .face{break-inside:avoid;min-height:0;box-shadow:none;transform:none}
  .reading .panel-content{padding:16px}.cover-button,.primary-button{display:none}
}
