/* Working Sessions: real people, paper photographs and a brief taking shape. */
.service-page-session { --service-accent:var(--ha-bloom-deep); }
.session-opening { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:center; gap:64px; padding-block:var(--ha-space-support); background:var(--ha-bone-alt); --ha-text:var(--ha-support-on-paper); --ha-text-strong:var(--ha-ink); --ha-text-meta:var(--ha-support-on-paper); color:var(--ha-ink); }
.session-opening-copy { position:relative; z-index:2; }
.service-page-session .session-opening h1 { font-size:var(--ha-type-page-title); color:var(--ha-ink); line-height:1.12; letter-spacing:-.03em; }
.session-opening-copy > p { margin:28px 0; max-width:35ch; color:var(--ha-support-on-paper); font-size:var(--ha-type-lede); }
.session-link { display:inline-flex; gap:20px; align-items:center; font-weight:800; text-underline-offset:5px; text-decoration-thickness:2px; }
.session-link > span { font-size:32px; text-decoration:none; }
.session-photo-scene { margin:0; position:relative; padding:12px 0 76px 30px; min-width:0; }
.session-photo-main { padding:9px 9px 22px; background:var(--ha-card); transform:rotate(3deg); box-shadow:9px 12px 0 rgba(var(--ha-ink-rgb),.14); clip-path:polygon(0 1%,99% 0,100% 99%,1% 100%); }
.session-photo-main img { display:block; width:100%; height:auto; aspect-ratio:1.23; object-fit:cover; object-position:48% 62%; }
.session-photo-main::before { content:""; position:absolute; top:-2px; right:9%; height:24px; width:100px; background:color-mix(in srgb,var(--ha-paper-face) 82%,transparent); transform:rotate(-11deg); z-index:2; }
.session-photo-detail { position:absolute; left:-18px; bottom:24px; width:38%; padding:7px 7px 12px; background:var(--ha-card); box-shadow:6px 8px 0 rgba(var(--ha-ink-rgb),.16); transform:rotate(-7deg); }
.session-photo-detail img { display:block; width:100%; aspect-ratio:1.2; object-fit:cover; object-position:50% 100%; }
.session-photo-detail span { display:block; font:700 clamp(21px,2.3vw,31px)/1.05 Caveat,cursive; margin-top:9px; text-align:center; }
.session-photo-scene figcaption { position:absolute; right:0; bottom:0; max-width:23ch; font-size:14px; color:var(--ha-support-on-paper); text-align:right; line-height:1.5; }
.session-table { background:var(--ha-ink); color:var(--ha-vapour); display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:40px 64px; padding-block:var(--ha-space-chapter) var(--ha-space-content); --ha-text:var(--ha-vapour); --ha-text-strong:var(--ha-white); --ha-text-meta:var(--ha-meta-on-dark); }
.session-table > h2 { color:var(--ha-white); }
.session-table-copy p { margin:0 0 24px; max-width:39ch; color:var(--ha-vapour); font-size:var(--ha-type-body); }
.session-table-copy a { display:inline-block; margin-top:24px; text-underline-offset:5px; font-weight:700; color:var(--ha-paper-face); }
.session-brief-example { padding:24px 28px 18px; align-self:start; min-width:0; color:var(--ha-ink); background:var(--ha-card); background-image:radial-gradient(var(--ha-hairline) 1px,transparent 1px); background-size:18px 18px; box-shadow:8px 9px 0 rgba(var(--ha-bloom-rgb),.75); --ha-text:var(--ha-support-on-paper); --ha-text-strong:var(--ha-ink); --ha-text-meta:var(--ha-support-on-paper); }
.session-brief-example summary { display:block; list-style:none; cursor:pointer; }
.session-brief-example summary::-webkit-details-marker { display:none; }
.session-example-label { display:block; color:var(--ha-support-on-paper); font-size:14px; }
.session-example-title { display:block; font-size:clamp(25px,2.8vw,38px); line-height:1.2; letter-spacing:-.04em; margin-top:7px; }
.session-note-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; align-items:center; padding:46px 0 30px; }
.session-note { display:flex; min-height:170px; align-items:center; position:relative; padding:18px 14px; font:700 clamp(21px,2.1vw,30px)/1.16 Caveat,cursive; box-shadow:4px 6px 0 rgba(var(--ha-ink-rgb),.12); transform:rotate(var(--note-angle)); transition:transform 650ms var(--ha-ease),box-shadow 350ms ease; }
.session-note-people { background:var(--ha-bloom); --note-angle:-9deg; }
.session-note-evidence { background:var(--ha-paper-face); --note-angle:6deg; transform:rotate(var(--note-angle)) translateY(21px); }
.session-note-test { background:color-mix(in srgb,var(--ha-petrol) 20%,var(--ha-paper)); --note-angle:-4deg; transform:rotate(var(--note-angle)) translateY(-10px); }
.session-note::after { content:""; position:absolute; right:0; bottom:0; width:22px; height:22px; background:rgba(var(--ha-ink-rgb),.12); clip-path:polygon(100% 0,100% 100%,0 100%); }
.session-note-after { display:none; font:500 16px/1.5 Manrope,system-ui,sans-serif; font-size:16px; }
.session-note-after strong { display:block; font:700 20px/1.2 Manrope,system-ui,sans-serif; margin-bottom:10px; font-size:20px; }
.session-example-control { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:14px; font-weight:800; padding:16px 0 0; border-top:1px solid var(--ha-hairline); }
.session-example-control > span:last-child { font-size:29px; color:var(--ha-bloom-deep); transition:transform 400ms ease; }
.session-control-after { display:none; }
.session-brief-example[open] .session-note { transform:rotate(0); box-shadow:2px 3px 0 rgba(var(--ha-ink-rgb),.12); }
.session-brief-example[open] .session-note-before,.session-brief-example[open] .session-control-before { display:none; }
.session-brief-example[open] .session-note-after,.session-brief-example[open] .session-control-after { display:block; }
.session-brief-example[open] .session-example-control > span:last-child { transform:rotate(180deg); }
.session-example-result { margin-top:18px; border-left:3px solid var(--ha-bloom-deep); padding-left:15px; }
.session-example-result > strong { font-size:16px; }
.service-page-session .session-example-result p { font-size:16px; line-height:1.5; margin:8px 0 0; color:var(--ha-support-on-paper); }
.service-page-session .session-table-footnote { grid-column:1/-1; margin:0; font-size:14px; color:var(--ha-vapour); }
.session-leave { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:100px; align-items:center; padding-block:var(--ha-space-chapter); }
.session-second-photo { margin:0 14px; position:relative; padding:9px 9px 25px; background:var(--ha-card); box-shadow:8px 10px 0 var(--ha-paper-face); transform:rotate(-3deg); }
.session-second-photo img { display:block; width:100%; aspect-ratio:.94; object-fit:cover; object-position:50% 54%; }
.session-second-photo figcaption { position:absolute; left:-26px; bottom:18px; padding:14px 22px; background:var(--ha-bloom); font:700 31px/1.03 Caveat,cursive; transform:rotate(8deg); box-shadow:4px 5px 0 rgba(var(--ha-ink-rgb),.15); }
.session-leave-copy > p { margin-top:24px; max-width:50ch; color:var(--ha-support-on-paper); }
.session-takeaways { margin:28px 0 0; display:grid; gap:22px; }
.session-takeaways > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:20px; padding-left:19px; border-left:3px solid var(--ha-petrol); }
.session-takeaways dt { font-weight:800; font-size:16px; line-height:1.4; }
.session-takeaways dd { margin:0; font-size:16px; line-height:1.5; color:var(--ha-support-on-paper); }
.service-page-session .session-booking-note { font-size:15px; margin-top:20px; font-weight:700; }
.service-page-session .page-final-conversation .session-link { font-size:15px; margin-top:16px; }
.service-page-session summary:focus-visible,.service-page-session a:focus-visible { outline:3px solid var(--ha-petrol); outline-offset:6px; }
.session-table a:focus-visible { outline-color:var(--ha-bloom); }
.service-page-session:has(.session-brief-example:is([open],:hover,:focus-within)) > .ask-amp[data-amp-mode="dock"] { visibility:hidden!important; pointer-events:none; }
@media(hover:hover) { .session-brief-example:not([open]) summary:hover .session-note { transform:rotate(0); } }
@media(max-width:1100px) {
 .session-opening { gap:32px; padding-block:56px 70px; }
 .service-page-session .session-opening h1 { font-size:var(--ha-type-page-title); line-height:1.12; letter-spacing:-.03em; color:var(--ha-ink); }
 .session-photo-scene { padding-left:16px; }
 .session-photo-detail { left:-6px; }
 .session-table { gap:30px; padding-block:60px 34px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
 .session-brief-example { padding:22px 19px 18px; --ha-text:var(--ha-support-on-paper); --ha-text-strong:var(--ha-ink); --ha-text-meta:var(--ha-support-on-paper); color:var(--ha-ink); }
 .session-note-board { gap:10px; padding:35px 0 30px; grid-template-columns:1fr; }
 .session-note { padding:14px 10px; min-height:170px; font-size:25px; }
 .session-note-after { font-size:16px; font:500 16px/1.5 Manrope,system-ui,sans-serif; }
 .session-note-after strong { font-size:20px; font:700 20px/1.2 Manrope,system-ui,sans-serif; }
 .session-leave { gap:52px; padding-block:65px; }
 .session-takeaways > div { grid-template-columns:110px minmax(0,1fr); gap:15px; }
}
@media(max-width:760px) {
 .session-opening { grid-template-columns:1fr; gap:24px; padding-block:35px 45px; }
 .service-page-session .session-opening h1 { font-size:var(--ha-type-page-title); line-height:1.12; letter-spacing:-.03em; color:var(--ha-ink); }
 .session-opening-copy > p { margin:20px 0; max-width:48ch; color:var(--ha-support-on-paper); font-size:var(--ha-type-lede); }
 .session-link { font-size:15px; }
 .session-photo-scene { padding:5px 4px 69px 20px; margin-top:9px; }
 .session-photo-main img { aspect-ratio:1.25; }
 .session-photo-detail { left:0; bottom:29px; width:40%; }
 .session-photo-scene figcaption { max-width:23ch; font-size:14px; right:0; bottom:0; line-height:1.5; }
 .session-photo-detail span { font-size:24px; }
 .session-table { grid-template-columns:1fr; gap:30px; padding-block:43px 32px; }
 .session-table-copy p { font-size:var(--ha-type-body); max-width:46ch; margin-top:18px; color:var(--ha-vapour); }
 .session-table-copy a { font-size:14px; margin-top:18px; }
 .session-brief-example { margin-right:8px; --ha-text:var(--ha-support-on-paper); --ha-text-strong:var(--ha-ink); --ha-text-meta:var(--ha-support-on-paper); color:var(--ha-ink); }
 .session-example-title { font-size:31px; }
 .session-note-board { gap:10px; padding:30px 0 28px; }
 .session-note { font-size:24px; min-height:166px; }
 .session-note-after { font-size:16px; line-height:1.45; font:500 16px/1.5 Manrope,system-ui,sans-serif; }
 .session-note-after strong { font-size:20px; font:700 20px/1.2 Manrope,system-ui,sans-serif; }
 .session-example-control { font-size:14px; }
 .session-leave { grid-template-columns:1fr; gap:37px; padding-block:45px; }
 .session-second-photo { width:min(80%,430px); justify-self:center; margin-bottom:8px; }
 .session-second-photo img { aspect-ratio:1.12; }
 .session-second-photo figcaption { font-size:29px; left:-17px; }
 .session-leave-copy > p { font-size:17px; margin-top:20px; }
 .session-takeaways { gap:21px; }
 .session-takeaways > div { grid-template-columns:1fr; gap:6px; padding-left:15px; }
 .session-takeaways dd { font-size:16px; }
}
@media(max-width:420px) {
 .session-note-board { grid-template-columns:1fr; gap:15px; padding:24px 8px; }
 .session-note { min-height:80px; padding:14px 17px; width:87%; font-size:25px; }
 .session-note-evidence { justify-self:end; transform:rotate(4deg); }
 .session-note-test { transform:rotate(-4deg); }
 .session-note-after { font-size:16px; font:500 16px/1.5 Manrope,system-ui,sans-serif; }
 .session-note-after strong { font-size:20px; margin-bottom:6px; font:700 20px/1.2 Manrope,system-ui,sans-serif; }
 .session-brief-example[open] .session-note { width:100%; min-height:90px; }
 .session-example-title { font-size:28px; }
 .session-example-control { font-size:14px; }
 .session-photo-detail span { font-size:20px; }
 .session-photo-scene figcaption { max-width:23ch; right:0; bottom:0; font-size:14px; line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) {
 .session-note,.session-example-control > span:last-child { transition:none; }
}
