/* Extend the established espresso, royal blue, and gold identity. */
[hidden]{display:none!important}
section[id],article[id]{scroll-margin-top:25px}
header nav{gap:16px 22px;justify-content:flex-end}
header nav a{line-height:1.4}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.dark a:focus-visible,.dark button:focus-visible,.home-page .hero a:focus-visible,.service-hero a:focus-visible{outline-color:var(--gold)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.button{border-top:0;border-left:0;border-right:0;line-height:1.5;max-width:100%;white-space:normal}
.section-intro{max-width:820px;margin-bottom:42px}
.section-intro p{max-width:65ch}
.service-evidence{padding:23px max(5vw,24px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 30px;background:var(--ink);color:var(--paper);border-top:1px solid #66534a;border-bottom:2px solid var(--gold)}
.service-evidence a{font-size:.875rem;font-weight:600;line-height:1.5;text-decoration:none;border-left:2px solid var(--gold);padding-left:14px;display:flex;align-items:center;min-height:44px}
.service-evidence a:hover{color:var(--gold)}
.home-page .hero{background:var(--ink);color:var(--paper);padding-top:70px;padding-bottom:70px;min-height:0}
.home-page .hero h1{font-size:clamp(3.2rem,6vw,6rem);max-width:720px}
.home-page .hero .eyebrow{color:var(--gold)}
.home-page .hero .button{background:var(--paper);color:var(--ink)}
.home-page .hero .button.secondary{background:transparent;color:var(--paper);border-color:#a99889}
.home-page .hero .button:hover{background:var(--gold);color:var(--ink)}
.home-page .hero-visual{margin:0}.home-page .hero-visual figcaption{color:#d5cbc4;line-height:1.6}
.home-page .visitor-value .grid{gap:35px}
.home-page .visitor-value article{display:flex;flex-direction:column}
.home-page .visitor-value a{align-self:flex-start;margin-top:auto;font-size:.875rem;line-height:1.5;min-height:30px}
.home-speaking{background:#f1efea}.home-speaking img{height:auto;max-height:none;object-fit:contain}
.talk-link-list{margin:24px 0;display:grid;gap:0}
.talk-link-list a{padding:18px 0;border-top:1px solid #bfb4a5;text-decoration:none;display:block}
.talk-link-list strong{display:block;font-size:1.05rem;line-height:1.5;margin-top:6px}
.talk-link-list a:hover strong{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.talk-link-list .tag{font-size:.875rem}
/* Service page: a personal introduction, useful engagement scope, relevant evidence. */
.work-with-page .service-hero{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:8vw;align-items:center;padding-top:65px;padding-bottom:65px}
.service-hero h1{font-size:clamp(3.4rem,6.5vw,6.6rem);margin-top:18px}
.service-hero .eyebrow{color:var(--gold)}
.service-hero .button.secondary{color:var(--paper);border-color:#a99889}
.service-hero .button.secondary:hover{color:var(--ink);background:var(--paper)}
.service-signature{margin-top:32px;font-weight:700;font-size:1rem}
.service-signature span{font-weight:400;color:#d5cbc4;font-size:.875rem}
.service-portrait{margin:0;width:100%;max-width:400px;justify-self:end}
.service-portrait img{display:block;width:100%;height:auto;border-bottom:3px solid var(--gold)}
.service-portrait figcaption{font-size:.875rem;color:#d5cbc4;margin-top:12px;line-height:1.5}
.service-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:35px}
.service-menu a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--blue);font-size:.875rem;font-weight:700}
.service-menu a:hover{text-decoration:underline;text-underline-offset:5px}
.service-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.65fr);gap:7vw;align-items:start;padding:55px 0;border-bottom:1px solid var(--line)}
.service-detail:last-child{padding-bottom:0;border-bottom:0}
.service-detail h3{font-size:clamp(2rem,3vw,3.2rem);margin:20px 0}
.service-detail p{max-width:65ch}
.service-detail .number{color:var(--blue);font-size:.875rem}
.service-question{font-size:1.2rem;font-weight:600;line-height:1.5}
.service-deliverables{margin:25px 0;padding-left:20px;border-left:3px solid var(--gold)}
.service-deliverables dt{font-weight:700;font-size:1rem;margin-top:18px}
.service-deliverables dd{margin:6px 0 0;font-size:1rem}
.service-detail a.textlink{display:inline-block;font-size:.875rem;line-height:1.5;margin-right:15px}
.service-detail .button{display:table}
.service-source{padding:32px;background:var(--ink);color:var(--paper);border-top:3px solid var(--gold);margin-top:40px}
.service-source .eyebrow{color:var(--gold)}
.service-source-quote{font:600 clamp(2rem,3vw,3rem)/1.2 'Playfair Display',Georgia,serif;margin:25px 0}
.service-source .textlink{color:var(--paper)}
.development-label{display:block;font-size:.875rem;color:var(--gold);margin:22px 0}
.service-photo{margin:40px 0 0;max-width:400px;justify-self:end}
.service-photo img{display:block;width:100%;height:auto;border-bottom:3px solid var(--blue)}
.service-photo.landscape{max-width:none;margin-top:40px}
.service-photo figcaption{font-size:.875rem;line-height:1.5;margin-top:14px;color:#695c5b}
.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:30px}
.process-list li{padding-top:22px;border-top:1px solid #8b7547}
.process-list .number{font-size:.875rem}
.process-list h3{margin-top:20px;font-size:1.7rem}
.process-list p{font-size:1rem}
.inquiry-section{background:#f1efea}
.inquiry-section h2{font-size:clamp(2.4rem,4vw,4.5rem)}
.inquiry-section label{display:block;font-size:1rem;font-weight:600;margin:0 0 9px}
.inquiry-section input,.inquiry-section select,.inquiry-section textarea{display:block;width:100%;border:1px solid #a89d90;border-radius:0;background:var(--paper);color:var(--ink);padding:12px;font-size:1rem;margin-bottom:24px}
.inquiry-section textarea{resize:vertical;line-height:1.6}
.inquiry-section input:focus,.inquiry-section select:focus,.inquiry-section textarea:focus{outline:2px solid var(--blue);outline-offset:2px}
.inquiry-section .button{margin-top:0}
#inquiry-draft{border-top:2px solid var(--blue);padding-top:28px;margin-top:25px}
#inquiry-status{font-size:1rem}
/* TEDx media: typography-first posters, user-controlled players, direct links. */
.ted-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}
.ted-grid article{min-width:0}
.ted-grid h3{font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:1.2;margin-bottom:25px}
.ted-grid .eyebrow{font-size:.875rem;margin:25px 0 16px}
.ted-grid .textlink{font-size:1rem}
.video-shell{aspect-ratio:16/9;background:var(--blue);width:100%;position:relative;border-bottom:3px solid var(--gold)}
.video-play{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;background:transparent;border:1px solid #6a83b1;color:var(--paper);padding:25px}
.video-play:hover{background:#1c386a}
.video-event{font-size:clamp(1.5rem,2.2vw,2.4rem);font-weight:600;line-height:1.3}
.video-play-mark{border:1px solid #a9b7d0;border-radius:50%;height:58px;width:58px;display:flex;align-items:center;justify-content:center;font-size:20px;padding-left:3px}
.video-play>span:last-child{font-size:1rem}
.video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ted-production{background:#f1efea;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ted-production img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-bottom:3px solid var(--gold)}
.ted-production figcaption{font-size:.875rem;line-height:1.6}
/* Illustrations are authored public examples. They do not run the model. */
.example-lab{margin-top:35px}
.example-picker{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.example-picker button{border:1px solid #a89d90;border-bottom:3px solid #a89d90;background:var(--paper);color:var(--ink);padding:13px 18px;font-size:1rem;line-height:1.5;min-height:48px}
.example-picker button[aria-pressed="true"]{background:var(--blue);color:var(--paper);border-color:var(--blue);border-bottom-color:var(--gold)}
.example-picker button:hover{border-bottom-color:var(--blue)}
.six-model .example-disclosure{font-size:.875rem;line-height:1.6;max-width:80ch;margin-bottom:30px}
.example-result{border:1px solid #bfb4a5}
.example-start{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:35px;background:#f1efea;padding:32px}
.example-start p{font-size:1rem;margin-bottom:0}
.example-start h3{margin-bottom:18px}
.example-start .eyebrow{font-size:.875rem;margin-bottom:15px}
.example-questions{padding:20px 32px;border-top:1px solid #bfb4a5;border-bottom:1px solid #bfb4a5}
.example-questions summary{font-weight:600;font-size:1rem;cursor:pointer;min-height:44px;padding:8px 0;color:var(--blue)}
.example-lenses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 35px;padding:24px 0 14px}
.example-lenses>div{border-top:2px solid var(--blue);padding-top:15px}
.example-lenses span{font-size:.875rem;color:var(--blue);font-weight:700}
.example-result h4{font-family:'DM Sans',Arial,sans-serif;font-size:1.05rem;line-height:1.4;margin:10px 0}
.example-result .example-lenses p{font-size:1rem;line-height:1.6;margin-bottom:0}
.example-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;padding:28px 32px}
.example-evidence p{font-size:1rem;margin-bottom:0}
.example-response{background:var(--ink);color:var(--paper);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding:32px}
.example-response .eyebrow{color:var(--gold);font-size:.875rem}
.example-response p{font-size:1rem;max-width:85ch}
.example-response h3{font-size:clamp(1.9rem,3vw,3.1rem);max-width:none}
.example-response .example-mechanism{padding-top:18px;border-top:1px solid #66534a;margin-bottom:0;color:#d5cbc4}
.example-measure{padding:25px 32px 32px;background:#f1efea}
.example-measure ul{padding-left:22px;margin:18px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 35px}
.example-measure li,.example-measure p{font-size:1rem}
.example-measure p{margin-bottom:0}
@media(max-width:1100px){header{gap:25px;align-items:center}.service-hero .button{display:table}.service-detail{gap:35px}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.work-with-page .service-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.7fr);gap:35px}.service-detail{grid-template-columns:1fr}.service-source{margin:5px 0 0;max-width:700px}.service-photo,.service-photo.landscape{justify-self:start;margin:5px 0 0;max-width:500px}.example-lenses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.work-with-page .service-hero,.service-evidence,.service-menu,.ted-grid,.ted-production,.example-start,.example-evidence,.example-measure ul{grid-template-columns:1fr}.service-portrait{justify-self:start;max-width:340px;margin-top:15px}.service-evidence{gap:10px}.service-menu{gap:4px}.service-detail{padding-top:40px;padding-bottom:40px}.ted-grid{gap:45px}.home-page .hero{padding-top:55px;padding-bottom:55px}.service-hero .button{display:inline-flex}.example-start,.example-evidence,.example-response,.example-measure{padding:24px}.example-questions{padding:16px 24px}.example-measure ul{gap:10px}.example-picker{display:grid;grid-template-columns:1fr}.example-picker button{text-align:left}.inquiry-section .split{gap:30px}.process-list{gap:20px}}
@media(max-width:600px){header nav{justify-content:start;gap:4px 12px}.service-evidence{padding-left:20px;padding-right:20px}.section-intro{margin-bottom:30px}.example-lenses,.process-list{grid-template-columns:1fr}.video-play{gap:12px}.video-play-mark{height:44px;width:44px}.service-source{padding:25px}.home-page .hero h1{font-size:clamp(3rem,10vw,4.5rem)}.work-with-page .service-hero h1{font-size:clamp(3rem,10vw,4.5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.media-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:6vw;align-items:center}
.media-hero h1{font-size:clamp(3.1rem,5vw,5.5rem)}
.media-hero figure{margin:0}.media-hero img{display:block;width:100%;height:auto;border-bottom:3px solid var(--gold)}.media-hero figcaption{font-size:.875rem;line-height:1.6;color:#695c5b;margin-top:12px}
@media(max-width:850px){.media-hero{grid-template-columns:1fr}.media-hero figure{max-width:650px}}
.eyebrow,.tag{font-size:.875rem}
.video-shell{min-height:12rem}
@media(max-width:600px){.video-play{padding:16px;gap:10px}}

/* Frame the supplied replacement above the shoes without stretching it. */
.service-portrait .portrait-crop{width:100%;aspect-ratio:4 / 5;overflow:hidden;border-bottom:3px solid var(--gold)}
.service-portrait .portrait-crop img{display:block;width:100%;height:auto;border:0}

/* The supplied TEDx photographs replace the typography-only blue posters. */
.video-shell{background:var(--ink)}
.video-play.video-photo{position:relative;display:flex;padding:0;overflow:hidden;border:0;background:transparent}
.video-play.video-photo:hover{background:transparent}
.video-photo .video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.video-photo .video-play-mark{position:relative;z-index:1;background:rgba(43,33,29,.92);border:1px solid var(--gold);width:58px;height:58px;flex-shrink:0}
.video-photo .video-play-label{position:absolute;left:16px;bottom:16px;z-index:1;padding:7px 12px;background:rgba(43,33,29,.92);color:var(--paper);font-size:1rem;line-height:1.5}
.video-photo:hover .video-play-mark{background:var(--ink);border-width:2px}
