/* Photography and guided learning, within the Caslavinieri visual system. */
.ai-figure{position:relative;margin:0;min-width:0;overflow:hidden;background:#e7e9e3;}
.ai-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.ai-figure figcaption,.landing-image figcaption{position:absolute;right:10px;bottom:10px;background:#15191de8;color:#fff;font-size:11px;line-height:1.45;padding:5px 8px;letter-spacing:0;}
.entry-card{padding:0 0 25px;overflow:hidden;}
.entry-card .audience-photo{width:100%;margin-bottom:24px;}
.audience-photo img{height:154px;aspect-ratio:auto;object-position:center 48%;}
.entry-card>.entry-kicker,.entry-card>h3,.entry-card>p,.entry-card>.entry-action{margin-left:27px;margin-right:27px;}
.entry-card>p:not(.entry-kicker){margin:0 27px 22px;}
.entry-card>.entry-action{margin-top:auto;}
.course-shop-card{padding:0;border-top:0;overflow:hidden;display:grid;grid-template-columns:42% minmax(0,1fr);align-items:stretch;}
.course-shop-image{height:100%;}
.course-shop-image img{height:100%;min-height:300px;aspect-ratio:auto;object-position:center;}
.course-shop-copy{padding:29px 27px;display:flex;flex-direction:column;align-items:flex-start;}
.course-shop-copy h2{font-size:28px;line-height:1.16;margin:13px 0 16px;}
.course-shop-copy>p{font-size:16px;line-height:1.55;color:var(--muted);margin-bottom:19px;}
.course-shop-copy .course-fact{font-size:13px;margin:0 0 20px;}
.course-shop-copy .entry-action{font-size:15px;}
.product-results-visual{padding:0;border:0;}
.product-results-visual .course-hero-image img{height:215px;aspect-ratio:auto;}
.product-results-copy{padding:26px 28px 28px;}
.product-results-copy h2{margin-bottom:17px;}
.product-results-copy .result-list{margin-bottom:0;}
.product-results-copy .result-list li{font-size:15px;}
.product-hero{gap:48px;}
.product-hero .product-results-visual{margin-top:0;}
.sample-method{font-weight:500;color:var(--ink);}
.sample-intro .button{margin:12px 0 15px;font-size:15px;}
.sample-example h3{font-size:24px;line-height:1.3;margin:16px 0;}
.sample-example .result-text{font-size:16px;line-height:1.7;}
.sample-example .offer-details{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;}
.workshop-page-hero{grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;}
.workshop-page-hero:has(.landing-image) .offer-facts{font-size:14px;row-gap:9px;line-height:1.6;margin:22px 0 27px;}
.workshop-page-hero:has(.landing-image) h1{font-size:54px;}
.workshop-teaching{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:34px 0;border-block:1px solid var(--line);margin:44px 0 0;}
.workshop-teaching h2{font-size:34px;line-height:1.15;max-width:450px;margin-bottom:18px;}
.workshop-teaching>div>p:not(.eyebrow){max-width:480px;color:var(--muted);font-size:17px;line-height:1.65;margin-bottom:0;}
.workshop-teaching ol{list-style:none;margin:0;padding:0;display:grid;gap:19px;}
.workshop-teaching li{display:flex;gap:19px;align-items:flex-start;}
.workshop-teaching li>span{color:var(--accent-dark);font-size:13px;padding-top:5px;}
.workshop-teaching h3{font-size:21px;font-weight:500;margin:0 0 5px;}
.workshop-teaching li p{font-size:16px;color:var(--muted);margin:0;line-height:1.5;}
.learning-v2 .lesson-layout{grid-template-columns:235px minmax(0,1fr);gap:50px;}
.learning-v2 .lesson-sidebar h2{font-size:22px;}
.learning-v2 .lesson-header{margin-bottom:28px;}
.learning-v2 .lesson-header h1{font-size:44px;}
.learning-v2 .lesson-header .page-lead{font-size:18px;line-height:1.6;margin-bottom:0;}
.learning-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 32px;scroll-margin-top:25px;}
.learning-steps button{border:0;border-bottom:2px solid var(--line);border-radius:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:13px 8px;min-height:50px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;}
.learning-steps button>span{display:grid;place-items:center;width:23px;height:23px;flex-shrink:0;background:#e3e5e0;font-size:12px;}
.learning-steps button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent-dark);}
.learning-steps button[aria-pressed="true"]>span{background:var(--accent);color:#fff;}
.learning-steps button:hover{background:#e8eeea;}
.learning-panel[hidden]{display:none!important;}
.learning-panel-heading{margin:0 0 24px;}
.learning-panel-heading h2{font-size:29px;line-height:1.2;margin:0 0 15px;}
.learning-panel-heading>p:not(.eyebrow){font-size:17px;line-height:1.65;margin-bottom:0;max-width:730px;}
.learning-panel-heading h2:focus{outline:none;}
.worked-result{background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);padding:26px 29px;}
.result-caption{display:block;font-size:11px;font-weight:500;letter-spacing:.015em;color:var(--muted);margin:0 0 15px;}
.result-text{font-size:17px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;}
.result-annotations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:24px 0 30px;}
.result-annotations h3{font-size:15px;font-weight:600;line-height:1.4;margin:0 0 7px;color:var(--accent-dark);}
.result-annotations p{font-size:15px;line-height:1.6;color:var(--muted);margin:0;}
.learning-details{border-block-start:1px solid var(--line);padding:18px 0;}
.learning-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;font-size:16px;font-weight:500;line-height:1.5;cursor:pointer;min-height:26px;}
.learning-details>summary::-webkit-details-marker{display:none;}
.learning-details>summary .icon{flex-shrink:0;}
.learning-details[open]>summary{margin-bottom:20px;}
.learning-details[open]>summary .icon{transform:rotate(180deg);}
.learning-details>p,.learning-details>ul{font-size:16px;line-height:1.7;}
.learning-details .lesson-section{margin-bottom:24px;}
.learning-details .lesson-section h3,.diagnostic-item h3{font-size:20px;line-height:1.3;margin-bottom:12px;}
.learning-details .lesson-section p,.learning-details .lesson-section li{font-size:16px;line-height:1.65;}
.learning-details .example-box p{white-space:pre-line;font-size:15px;line-height:1.65;}
.learning-details .example-box h3{font-size:16px;}
.learning-details .example-grid{margin-bottom:18px;}
.learning-diagram{max-width:680px;margin:0 auto 22px;}
.learning-diagram img{aspect-ratio:3/2;height:auto;object-fit:contain;}
.diagram-text{padding-left:22px;color:var(--muted);}
.diagram-text li+li{margin-top:9px;}
.learning-next{display:flex;justify-content:flex-end;padding-top:27px;border-top:1px solid var(--line);margin-top:5px;}
.learning-next .button{font-size:15px;}
.practice-steps{list-style:none;counter-reset:practice;display:grid;grid-template-columns:repeat(var(--practice-count,3),minmax(0,1fr));gap:20px;padding:0;margin:0 0 27px;}
.practice-steps li{counter-increment:practice;font-size:14px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;}
.practice-steps li::before{content:counter(practice,decimal-leading-zero);color:var(--accent-dark);display:block;font-size:11px;font-weight:600;margin-bottom:7px;}
.scenario-picker{background:#e8ebe6;padding:21px 24px;}
.scenario-picker>label{font-size:16px;font-weight:500;display:block;margin-bottom:12px;}
.scenario-controls{display:flex;gap:13px;align-items:center;}
.scenario-controls select{min-width:0;flex:1;font:inherit;font-size:15px;background:#fff;color:var(--ink);padding:12px 11px;min-height:46px;border:1px solid #a8b0ad;border-radius:0;}
.scenario-controls .button{font-size:14px;flex-shrink:0;min-height:46px;}
.scenario-picker .session-note{margin:13px 0 0;font-size:13px;line-height:1.6;}
.scenario-picker .status-message:empty{display:none;}
.learning-v2 .exercise-panel{margin-top:18px;padding:26px;}
.learning-v2 .form-grid{gap:20px;}
.learning-v2 .field label{font-size:15px;line-height:1.5;}
.learning-v2 .field textarea{font-size:16px;line-height:1.6;}
.learning-v2 .prompt-output pre{font-size:15px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;}
.learning-v2 .session-note{font-size:13px;line-height:1.6;}
.learning-v2 .checklist label{font-size:16px;line-height:1.6;gap:13px;}
.reflection-panel{background:var(--pale);padding:24px;margin-top:24px;}
.reflection-panel .session-note{margin:11px 0 15px;}
.reflection-panel textarea{background:#fff;}
.learning-v2 .quiz-panel h3{font-size:25px;font-weight:500;line-height:1.3;margin-bottom:18px;}
.learning-v2 .quiz-option{font-size:16px;line-height:1.6;}
.learning-v2 .quiz-panel>p{font-size:16px;line-height:1.65;}
.diagnostic-item+.diagnostic-item{border-top:1px solid var(--line);margin-top:24px;padding-top:24px;}
.diagnostic-item p{font-size:16px;line-height:1.65;}
.learning-panel .takeaway{font-size:22px;line-height:1.55;font-weight:500;}
.learning-success{padding:25px 0;}
.learning-success h3,.learning-download h3{font-size:23px;line-height:1.3;margin-bottom:17px;}
.learning-success .result-list li{font-size:16px;}
.learning-download{background:#e7eae4;padding:25px 27px;}
.learning-download>p:not(.session-note){font-size:16px;line-height:1.65;color:var(--muted);margin-bottom:18px;}
.learning-download .resource-links{display:flex;flex-direction:column;align-items:flex-start;gap:17px;font-size:15px;}
.learning-v2 .lesson-bottom{justify-content:flex-start;flex-wrap:wrap;}
.learning-v2 .lesson-bottom>.text-link{margin-left:auto;}
.learning-v2 button:disabled{opacity:.5;cursor:not-allowed;}
.learning-v2 .error-text:not(:empty){padding:19px 0;font-size:15px;line-height:1.65;}
.learning-v2 .error-text .text-link{display:block;margin-top:12px;}
.attempt-item{background:#fff;border:1px solid var(--line);padding:20px;margin-top:15px;}
.attempt-item h3{font-size:16px;color:var(--accent-dark);margin-bottom:13px;}
.attempt-item pre{font:inherit;font-size:15px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;}
@media(min-width:981px) and (max-width:1150px){
 .learning-v2 .lesson-layout{grid-template-columns:210px minmax(0,1fr);gap:30px;}
 .learning-steps{gap:3px;}.learning-steps button{font-size:13px;gap:7px;padding-inline:5px;}
 .course-shop-card{grid-template-columns:36% minmax(0,1fr);}.course-shop-copy{padding:25px 22px;}
 .course-shop-copy h2{font-size:25px;}.workshop-page-hero:has(.landing-image) h1{font-size:47px;}
}
@media(max-width:980px){
 .learning-v2 .lesson-layout{grid-template-columns:1fr;gap:25px;}
 .learning-v2 .lesson-sidebar>.session-note{display:none;}
 .course-shop-card{grid-template-columns:1fr;}.course-shop-image img{min-height:0;height:200px;aspect-ratio:auto;}
 .course-shop-copy{flex:1;}.course-shop-copy h2{font-size:28px;}
 .course-shop-card .course-shop-copy .entry-action{margin-top:auto;}
 .workshop-page-hero{grid-template-columns:1fr;gap:27px;}
 .workshop-teaching{gap:35px;}.workshop-teaching h2{font-size:29px;}
 .audience-photo img{height:130px;}.entry-card>.entry-kicker,.entry-card>h3,.entry-card>p,.entry-card>.entry-action{margin-inline:19px;}
 .entry-card>p:not(.entry-kicker){margin-inline:19px;}
 .entry-card>h3{font-size:25px;}
}
@media(max-width:680px){
 .landing-image figcaption,.ai-figure figcaption{font-size:11px;bottom:8px;right:8px;}
 .entry-card{position:relative;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:16px;align-items:start;}
 .entry-card .audience-photo{grid-column:2;grid-row:1/3;margin:0 0 12px;width:112px;}
 .audience-photo img{width:112px;height:105px;object-fit:cover;}
 .audience-photo figcaption{position:static;padding:4px 5px;font-size:10px;text-align:center;}
 .entry-card>.entry-kicker,.entry-card>h3,.entry-card>p,.entry-card>.entry-action{margin-inline:0;}
 .entry-card>.entry-kicker{grid-column:1;margin:0 0 12px;}
 .entry-card>h3{grid-column:1;font-size:28px;}
 .entry-card>p,.entry-card>.entry-action{grid-column:1/-1;}
 .entry-card>p:not(.entry-kicker){margin:5px 0 20px;}
 .course-shop-image img{height:auto;aspect-ratio:3/2;}
 .course-shop-copy{padding:24px;}.course-shop-copy h2{font-size:29px;}
 .product-results-visual{padding:0;}.product-results-copy{padding:25px 24px;}
 .product-results-visual .course-hero-image img{height:auto;aspect-ratio:3/2;}
 .product-hero .product-results-visual{margin:0;}
 .sample-example h3{font-size:23px;}.sample-example .result-text{font-size:16px;}
 .workshop-page-hero:has(.landing-image) h1{font-size:40px;}
 .workshop-page-hero:has(.landing-image) .offer-facts{font-size:14px;}
 .workshop-teaching{grid-template-columns:1fr;gap:28px;padding:30px 0;}
 .workshop-teaching h2{font-size:30px;}.workshop-teaching>div>p:not(.eyebrow){font-size:16px;}
 .learning-v2 .lesson-header h1{font-size:33px;line-height:1.17;}
 .learning-v2 .lesson-header .page-lead{font-size:17px;}
 .learning-steps{grid-template-columns:1fr 1fr;gap:4px 10px;margin-bottom:27px;}
 .learning-steps button{font-size:14px;min-height:48px;padding:11px 6px;}
 .learning-panel-heading h2{font-size:26px;}.learning-panel-heading>p:not(.eyebrow){font-size:16px;}
 .worked-result{padding:21px 20px;}.result-text{font-size:16px;}
 .result-annotations{grid-template-columns:1fr;gap:17px;margin:21px 0 26px;}
 .result-annotations>div{border-left:2px solid var(--line);padding-left:16px;}
 .result-annotations h3{font-size:15px;}.result-annotations p{font-size:15px;}
 .learning-details>summary{font-size:16px;min-height:30px;}
 .learning-details .example-grid{grid-template-columns:1fr;}
 .practice-steps{grid-template-columns:1fr;gap:12px;margin-bottom:22px;}
 .practice-steps li{display:grid;grid-template-columns:23px 1fr;gap:12px;}
 .practice-steps li::before{margin:0;padding-top:2px;}
 .scenario-picker{padding:21px 19px;}.scenario-controls{flex-wrap:wrap;}
 .scenario-controls select{flex-basis:100%;font-size:16px;}.scenario-controls .button{font-size:14px;}
 .learning-v2 .exercise-panel{padding:22px 18px;}.learning-v2 .field textarea{font-size:16px;}
 .reflection-panel{padding:22px 19px;}.learning-v2 .quiz-panel{padding:23px 19px;}
 .learning-v2 .quiz-panel h3{font-size:24px;}.learning-v2 .quiz-option{font-size:16px;}
 .learning-next{justify-content:flex-start;padding-top:23px;}.learning-next .button{font-size:14px;}
 .learning-panel .takeaway{font-size:21px;}.learning-download{padding:24px 20px;}
 .learning-download h3,.learning-success h3{font-size:22px;}
 .learning-v2 .lesson-bottom>.button{margin-left:0;font-size:14px;}
 .learning-v2 .lesson-bottom>.text-link{margin-left:0;font-size:15px;}
}
@media print{
 .learning-panel[hidden]{display:block!important;}.learning-steps,.learning-next,.scenario-picker{display:none!important;}
 .ai-figure{display:none!important;}.result-annotations{display:block;}.worked-result{padding:5mm;}
 .learning-panel{break-before:page;}.learning-panel:first-of-type{break-before:auto;}
 .learning-details>summary{display:none;}.learning-details>*:not(summary){display:block!important;}
 .learning-download{background:none;border:1px solid #bbb;}.workshop-teaching{display:block;}
 .course-shop-card{display:block;}.course-shop-copy{padding:5mm;}
}
