.contact-page .contact-intro{min-height:0;padding-bottom:30px}
.contact-page .contact-invitation{margin-top:42px;padding:24px 0}
.contact-page .contact-invitation .talk-title{font-size:clamp(44px,7vw,96px)}
.project-brief{padding:50px 7vw 110px;background:#f4f3f0;color:#242321;scroll-margin-top:100px}
.brief-heading{margin-bottom:44px}.brief-heading .eyebrow{font-size:13px;letter-spacing:.12em}
.brief-heading h2{margin:20px 0 0;font-size:clamp(36px,4.4vw,66px);font-weight:450;line-height:1.08;letter-spacing:-.045em}.brief-heading h2>span{color:#c42430}
.brief-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.enquiry-form{min-width:0;padding-top:4px}.brief-step{font-size:12px;letter-spacing:.1em;color:#716d68}.enquiry-form h3{margin:26px 0 30px}
.enquiry-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 20px}.enquiry-fields label{display:block;font-size:14px;line-height:1.4}.enquiry-fields label>span{color:#bc2630}.enquiry-fields label>small{color:#736e68;font-size:12px;margin-left:5px}.field-wide{grid-column:1/-1}
.enquiry-fields input,.enquiry-fields select,.enquiry-fields textarea{display:block;box-sizing:border-box;width:100%;min-width:0;border:0;border-bottom:1px solid #b4b0a9;background:transparent;color:#242321;border-radius:0;min-height:52px;padding:12px 0;font:400 16px/1.5 Arial,sans-serif;outline-offset:4px;transition:border-color .25s}
.enquiry-fields input:focus,.enquiry-fields select:focus,.enquiry-fields textarea:focus{border-color:#bd2630;outline:1px solid #bd2630}.enquiry-fields textarea{resize:vertical;min-height:118px}.enquiry-fields input::placeholder,.enquiry-fields textarea::placeholder{color:#827b73}
.enquiry-priorities{margin:26px 0;background:#eae8e2;border-left:2px solid #bd2630;padding:16px 18px}.enquiry-priorities>span{font-size:12px;letter-spacing:.09em;color:#71665d}.enquiry-priorities p{margin:8px 0 0;font-size:15px;line-height:1.55}
.enquiry-submit{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:18px 23px;border:1px solid #bd2630;border-radius:32px;background:#bd2630;color:#fff;font:400 16px/1.3 Arial,sans-serif;cursor:pointer;transition:background .25s,transform .25s}.enquiry-submit:hover{background:#a61e28;transform:translateY(-2px)}.enquiry-submit:focus-visible{outline:2px solid #242321;outline-offset:5px}.enquiry-submit>span:last-child{font-size:24px}
.enquiry-note,.enquiry-status{font-size:14px;line-height:1.6;color:#716b64;margin:14px 0 0}.enquiry-status:empty{display:none}
@media(max-width:960px){.brief-layout{grid-template-columns:1fr;gap:42px}.priority-panel{max-width:none}.priority-card{padding:18px 22px}.priority-control button{width:150px;flex-basis:150px}.priority-control>span{max-width:none}.enquiry-form{padding:0}.priority-reaction{min-height:0}}
@media(max-width:600px){.project-brief{padding:30px 24px 70px}.brief-heading{margin-bottom:30px}.brief-heading h2{font-size:36px}.priority-panel{padding:24px 18px;border-radius:20px}.priority-card{padding:16px 14px}.priority-heading{gap:9px}.priority-heading label{font-size:21px}.priority-heading output{font-size:13px;max-width:92px}.priority-control{gap:8px}.priority-control button{width:108px;flex-basis:108px}.priority-control>span{font-size:12px;max-width:70px}.enquiry-fields{grid-template-columns:1fr;gap:22px}.brief-layout{gap:38px}}
@media(prefers-reduced-motion:reduce){.project-brief *{transition:none!important}}


.priority-panel{padding:clamp(22px,3vw,38px);border-radius:20px;background:linear-gradient(125deg,#f2f3ee,#eef0e9 48%,#f4f4ef);color:#121411;min-width:0}
.reality-masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:44px}
.reality-brand{font:bold 28px/1 Arial,sans-serif;letter-spacing:-1.6px}.reality-brand>span,#priorities-title>span{color:#c5242c}
.reality-masthead>span:last-child{font:12px/1.4 monospace;letter-spacing:.1em;color:#7d8178}
.priority-panel #priorities-title{font:400 clamp(38px,4vw,56px)/1.04 Arial,sans-serif;letter-spacing:-.06em;margin:0 0 26px}
.priority-intro{font:400 16px/1.7 Arial,sans-serif;color:#73776e;margin:0 0 34px}
.priority-cards{display:block;border-top:1px solid #d6dad1}
.priority-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(138px,42%);align-items:center;gap:14px;padding:28px 0;border:0;border-bottom:1px solid #d6dad1;border-radius:0;background:transparent!important}
.priority-heading{min-width:0}.priority-heading label{display:block;font:400 clamp(23px,2.6vw,30px)/1.2 Arial,sans-serif;letter-spacing:-.045em;cursor:pointer}.priority-heading small{display:block;margin-top:9px;font:11px/1.5 monospace;letter-spacing:.02em;color:#8a8e83}
.reality-switch{--thumb:52px;position:relative;width:100%;height:66px;min-width:0;padding:0;border:1px solid #fff;border-radius:999px;background:linear-gradient(120deg,#e9ede3,#f5f5f0);box-shadow:inset 0 0 0 4px #f6f6f180,inset 0 0 6px #bdc8b737,0 2px 3px #848d781c;color:#919988;cursor:pointer;touch-action:manipulation;transition:background .25s,color .25s}
.reality-switch-thumb{position:absolute;left:6px;top:6px;width:var(--thumb);height:var(--thumb);display:grid;place-items:center;border:1px solid #fffffff5;border-radius:50%;background:radial-gradient(circle at 30% 18%,#fff 2%,#f7faf1 24%,#dce5d7 58%,#b8c5b4 100%);box-shadow:inset 0 2px 4px #fff,0 4px 7px #64745c30;transition:left .28s linear,background .28s,color .28s}
.reality-switch-thumb svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.reality-switch-text{position:absolute;inset:0 7px 0 calc(var(--thumb) + 10px);display:flex;align-items:center;justify-content:center;font:10px/1.4 monospace;letter-spacing:.055em;pointer-events:none;text-align:center}
.reality-switch[aria-checked=true]{background:linear-gradient(110deg,#d2e3d0,#dceadd);color:#385b44;border-color:#eaf1e7}
.reality-switch[aria-checked=true] .reality-switch-thumb{left:calc(100% - var(--thumb) - 6px);color:white;background:radial-gradient(circle at 30% 17%,#d6ffdf 0%,#8acba0 18%,#3a9464 40%,#1c5137 80%);box-shadow:inset 0 2px 4px #ddffe98a,0 5px 8px #235b453d}
.reality-switch[aria-checked=true] .reality-switch-text{left:7px;right:calc(var(--thumb) + 10px)}
.reality-switch:focus-visible{outline:2px solid #477c57;outline-offset:5px}
.priority-reaction{display:flex;gap:10px;align-items:flex-start;padding-top:28px;min-height:155px}.reality-star{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:6px;color:white;font:30px/1 Arial;background:linear-gradient(#72ed50,#08b31b);box-shadow:inset 0 1px 2px #fff9}
.priority-reaction strong{display:block;font:400 clamp(21px,2vw,28px)/1.25 Arial,sans-serif;letter-spacing:-.045em}.priority-reaction p{font:400 15px/1.65 Arial,sans-serif;color:#777c70;margin:14px 0 0}
.reality-brief{position:relative;margin-top:38px;padding-top:24px;border-top:1px solid #d6dad1}.reality-down{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);display:grid;place-items:center;width:42px;height:42px;border:1px solid white;border-radius:50%;background:linear-gradient(135deg,#fff,#e8ece2);box-shadow:0 2px 5px #68725d22;font-size:30px;line-height:1}
.reality-brief>span,.reality-brief>small{font:11px/1.5 monospace;color:#8a8e83}.reality-brief p{font:400 16px/1.55 Arial,sans-serif;margin:10px 0 16px;color:#455d49}
@media(max-width:600px){.priority-panel{padding:24px 18px}.reality-masthead{margin-bottom:36px}.reality-brand{font-size:24px}.reality-masthead>span:last-child{font-size:10px}.priority-panel #priorities-title{font-size:42px}.priority-card{gap:10px;padding:24px 0;grid-template-columns:minmax(0,1fr) 44%}.reality-switch{--thumb:42px;height:56px}.priority-heading label{font-size:24px}.priority-heading small{font-size:10px}.reality-switch-text{font-size:9px;letter-spacing:0}.priority-reaction{min-height:160px}.reality-brief{margin-top:28px}}
.enquiry-form h3{font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.15;letter-spacing:-.035em}

/* A raised plaster panel with a concealed warm-white perimeter light. */
.priority-panel{position:relative;isolation:isolate;overflow:visible;border:1px solid #fffffff0;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #c9ccc2,0 3px 0 -1px #d5d7ce,0 7px 0 -3px #dfe0d8,0 15px 24px -16px #292e224d,0 28px 48px -30px #292e2240}
.priority-panel:before{content:'';position:absolute;inset:4px 3px 2px;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 4px 3px #fff3d9,0 0 13px 7px #ffe0a9b3,0 0 30px 13px #f5c78155,0 12px 50px 15px #e6b57428;transition:opacity .75s cubic-bezier(.22,.61,.36,1)}
.priority-panel:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid #ffffff8c;box-shadow:inset 1px 1px 0 #ffffffb3,inset -1px -1px 0 #bfc3b826}
.priority-panel:has(:focus-visible):before{opacity:1}
@media(hover:hover){.priority-panel:hover:before{opacity:1}}
@media(hover:none){.priority-panel:active:before{opacity:1;transition-duration:.12s}}
@media(max-width:600px){.priority-panel:before{box-shadow:0 0 4px 2px #fff3d9,0 0 11px 5px #ffe0a9a6,0 0 22px 8px #f5c78144,0 9px 32px 9px #e6b57422}}
@media(prefers-reduced-motion:reduce){.priority-panel:before{transition:none}}

/* The surrounding page dims only while this panel is being used. Pointer focus
   is deliberately excluded, so clicking a switch cannot latch the light on. */
body.contact-page:after{content:'';position:fixed;inset:0;z-index:45;background:#171917;opacity:0;pointer-events:none;transition:opacity .65s ease}
.priority-panel{z-index:1;transition:z-index 0s .75s}
.priority-panel:has(:focus-visible){z-index:46;transition-delay:0s}
body.contact-page:has(.priority-panel :focus-visible):after{opacity:.17}
@media(hover:hover){
 .priority-panel:hover{z-index:46;transition-delay:0s}
 body.contact-page:has(.priority-panel:hover):after{opacity:.17}
}
@media(hover:none){
 .priority-panel:active{z-index:46;transition-delay:0s}
 body.contact-page:has(.priority-panel:active):after{opacity:.17;transition-duration:.12s}
}
@media(prefers-reduced-motion:reduce){body.contact-page:after,.priority-panel{transition:none}}

/* A compact console: all three controls and feedback stay together. */
.priority-panel{box-sizing:border-box;width:100%;max-width:620px;justify-self:center;padding:clamp(18px,2.6svh,28px)}
.reality-masthead{margin-bottom:clamp(14px,2svh,22px);gap:10px}
.reality-brand{font-size:25px}
.reality-masthead>span:last-child{font-size:10px}
.priority-panel #priorities-title{font-size:clamp(28px,4.2svh,38px);line-height:1.02;margin-bottom:12px;letter-spacing:-.05em}
.priority-intro{font-size:14px;line-height:1.5;margin-bottom:clamp(12px,2svh,20px)}
.priority-card{grid-template-columns:minmax(0,1fr) minmax(130px,46%);gap:12px;padding:clamp(10px,1.8svh,17px) 0}
.priority-heading label{font-size:clamp(20px,2.2vw,26px);font-weight:750;letter-spacing:-.04em;text-transform:uppercase}
.priority-heading small{font-size:10px;line-height:1.4;margin-top:5px}
.reality-switch{--thumb:40px;height:54px}
.reality-switch-thumb{box-sizing:border-box;transform:rotate(0turn);transition:left .6s cubic-bezier(.22,.68,.26,1),transform .6s cubic-bezier(.22,.68,.26,1),background .3s,color .3s}
.reality-switch[aria-checked=true] .reality-switch-thumb{transform:rotate(1turn)}
.reality-switch-thumb svg{width:21px;height:21px;position:relative;z-index:1}
.reality-switch-thumb:after{content:'';position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 28% 20%,#fff 0%,#fff9 12%,#fff0 46%);box-shadow:0 0 9px 2px #efffe799;opacity:.15;animation:console-glimmer 3.8s ease-in-out infinite}
.priority-card:nth-child(2) .reality-switch-thumb:after{animation-delay:-1.25s}
.priority-card:nth-child(3) .reality-switch-thumb:after{animation-delay:-2.5s}
.reality-switch-text{font-size:10px;line-height:1.3;letter-spacing:.025em}
.priority-reaction{min-height:106px;padding-top:18px;gap:9px}
.priority-reaction strong{font-size:clamp(18px,1.7vw,23px);line-height:1.2;letter-spacing:-.035em}
.priority-reaction p{font-size:14px;line-height:1.45;margin-top:8px}
.reality-star{flex-basis:26px;width:26px;height:26px;font-size:25px}
.reality-brief{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;min-height:42px}
.reality-brief>small{font-size:10px;line-height:1.4;max-width:150px}
.reality-continue{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:1.3;min-height:32px;color:#455d49;text-decoration:underline;text-underline-offset:4px}
.reality-continue>span{font-size:20px}
.reality-continue:focus-visible{outline:2px solid #477c57;outline-offset:4px}
@keyframes console-glimmer{0%,100%{opacity:.12}45%,55%{opacity:.8}}
@media(min-width:961px) and (min-height:740px){.priority-panel{position:sticky;top:112px}}
@media(max-width:600px){
 .project-brief{padding-inline:16px;scroll-margin-top:104px}
 .priority-panel{padding:20px 16px}
 .priority-heading label{font-size:clamp(20px,5.6vw,24px)}
 .priority-card{grid-template-columns:minmax(0,1fr) minmax(130px,46%);gap:8px;padding:12px 0}
 .priority-reaction{min-height:110px}
 .priority-reaction strong{font-size:20px}
}
@media(max-height:700px){
 .priority-panel{padding:16px}
 .reality-masthead{margin-bottom:12px}
 .reality-brand{font-size:22px}
 .priority-panel #priorities-title{font-size:28px;margin-bottom:10px}
 .priority-panel #priorities-title br{display:none}
 .priority-intro{margin-bottom:12px}
 .priority-card{padding:9px 0}
 .priority-reaction{min-height:96px;padding-top:14px}
 .priority-reaction strong{font-size:19px}
 .reality-brief{margin-top:10px;padding-top:10px}
}
@media(prefers-reduced-motion:reduce){.reality-switch-thumb{transition:none}.reality-switch-thumb:after{animation:none;opacity:.3}}

/* Clear invitation to interact, without interrupting the rolling thumb. */
.priority-intro strong{color:#242b23;font-weight:650;font-size:15px}
.priority-heading label{font-weight:800;color:#1f2a20;letter-spacing:-.02em;transition:color .3s,text-shadow .3s}
.priority-card:is(:hover,:focus-within) .priority-heading label{color:#285e3d;text-shadow:0 0 18px #bad7ab80}
.priority-card.is-selected .priority-heading label{color:#285e3d}
.reality-switch-thumb:after{inset:-4px;background:radial-gradient(ellipse at 28% 20%,#fff 0%,#fff9 12%,#fff0 46%);box-shadow:0 0 0 1px #9aaf8f99,0 0 14px 3px #c4dcaf80;animation:console-invite 2.8s ease-in-out infinite}
.priority-card:nth-child(2) .reality-switch-thumb:after{animation-delay:.3s}
.priority-card:nth-child(3) .reality-switch-thumb:after{animation-delay:.6s}
.reality-switch-thumb:before{content:'';position:absolute;inset:-1px;border:1px solid #70926880;border-radius:50%;pointer-events:none;animation:console-ripple 2.8s ease-out infinite}
.priority-card:nth-child(2) .reality-switch-thumb:before{animation-delay:.3s}
.priority-card:nth-child(3) .reality-switch-thumb:before{animation-delay:.6s}
.reality-switch:is(:hover,:focus-visible) .reality-switch-thumb:before{animation:none;opacity:0}
@keyframes console-invite{0%,100%{opacity:.3;transform:scale(.98)}45%{opacity:1;transform:scale(1.12)}70%{opacity:.5;transform:scale(1)}}
@keyframes console-ripple{0%,15%{opacity:0;transform:scale(1)}25%{opacity:.7}75%,100%{opacity:0;transform:scale(1.55)}}
@media(prefers-reduced-motion:reduce){.reality-switch-thumb:before{animation:none;opacity:0}.reality-switch-thumb:after{animation:none;opacity:.5}}
