/* A website brief, with an explorable cutaway of the work beneath the interface. */
.project-planner{padding-block:12px 90px;scroll-margin-top:30px;color:#12223c}
.planner-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;align-items:end;margin-bottom:40px}
.planner-heading h2{font-size:clamp(35px,4.2vw,60px);font-weight:500;line-height:1.07;letter-spacing:-.052em;margin:18px 0 0}
.planner-heading>p{font-size:14px;line-height:1.85;max-width:420px;margin:0 0 4px;color:#60718a}.planner-heading>p br{display:block;content:'';margin-top:10px}
.planner-desk{display:grid;grid-template-columns:1fr 1.1fr;min-height:595px;border:1px solid #cdd8eb;border-radius:4px 26px 4px 26px;overflow:hidden;box-shadow:0 22px 55px -40px #162d61;background:#fff}
.planner-map{position:relative;isolation:isolate;background:radial-gradient(ellipse at 15% 25%,#fff,#e9effb 65%,#dce5f9);padding:28px 30px;display:flex;flex-direction:column;overflow:hidden}
.planner-map:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#768db20b 1px,transparent 1px),linear-gradient(90deg,#768db20b 1px,transparent 1px);background-size:26px 26px}
.planner-map:after{content:'';position:absolute;width:340px;height:340px;border:1px solid #8ea4d326;border-radius:50%;left:10%;top:20%;box-shadow:0 0 0 50px #8ea4d30a,0 0 0 100px #8ea4d305;z-index:-1}
.planner-map-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;font:8px/1.6 Consolas,monospace;letter-spacing:.12em;color:#6379a0}.planner-map-heading .icon{width:20px;height:20px;color:#6680b6}
.planner-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 18px 24px;perspective:1000px}
.planner-layer{position:relative;display:flex;align-items:center;gap:17px;width:100%;min-height:82px;text-align:left;border:1px solid #c0cfe8;border-bottom:3px solid #a7badb;border-radius:5px 17px 5px 5px;background:linear-gradient(120deg,#ffffffee,#e5edfbf2);color:#536b94;box-shadow:0 9px 14px -9px #354f806b;transform:rotateY(-12deg) rotateZ(-5deg) translateX(var(--offset,0px));padding:13px 18px;transition:transform .3s,background .3s,color .3s,box-shadow .3s;isolation:isolate}
.planner-layer+.planner-layer{margin-top:12px}.planner-layer:nth-child(2){--offset:7px}.planner-layer:nth-child(3){--offset:14px}.planner-layer:nth-child(4){--offset:21px}
.planner-layer:before{content:'';position:absolute;inset:-1px 7px auto;height:1px;background:#fff}
.planner-layer[aria-pressed=true]{background:linear-gradient(115deg,#2644da,#12339b);color:#fff;border-color:#536ee1;border-bottom-color:#112979;box-shadow:0 15px 23px -12px #173cad80;transform:rotateY(-12deg) rotateZ(-5deg) translateX(calc(var(--offset,0px) - 8px)) translateY(-3px)}
.planner-layer:hover{transform:rotateY(-8deg) rotateZ(-3deg) translateX(calc(var(--offset,0px) - 8px))}.planner-layer:active{transform:rotateY(-8deg) rotateZ(-3deg) translateX(calc(var(--offset,0px) - 8px))}
.layer-index{position:absolute;left:12px;top:9px;font:7px Consolas,monospace;opacity:.55}.layer-symbol{display:grid;place-items:center;width:36px;height:39px;flex:none;border:1px solid #9caed24f;border-radius:4px 10px 4px 10px;background:#6f89c311}.layer-symbol .icon{width:18px;height:18px}.layer-name{min-width:0}.layer-name strong{display:block;font-size:17px;font-weight:500;letter-spacing:-.02em}.layer-name small{display:block;font:8px/1.4 Consolas,monospace;letter-spacing:.025em;margin-top:6px;opacity:.7}.layer-arrow{margin-left:auto}.layer-arrow .icon{width:17px;height:17px;opacity:.55}
.planner-map-note{font-size:11px;line-height:1.8;color:#6b7f9f;margin:25px 0 0}.planner-map-note strong{font-weight:400;color:#395581}
.planner-details{padding:36px 36px 29px;border-left:1px solid #d4dff1;position:relative}.planner-detail-index{display:block;color:#59739d;font:9px/1.5 Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}.planner-details h3{font-size:clamp(28px,3vw,41px);line-height:1.1;letter-spacing:-.048em;font-weight:500;color:#142b51;margin:24px 0 18px;max-width:330px}.planner-details article>p{font-size:13px;line-height:1.85;color:#64758b;margin:0 0 28px;max-width:410px}.planner-detail-label{font:8px/1.5 Consolas,monospace;letter-spacing:.11em;color:#6380ac}.planner-details ul{padding:0;margin:14px 0 23px;list-style:none}.planner-details li{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.7;padding:9px 0;color:#2d466c}.planner-details li .icon{width:15px;height:15px;color:#3158c3;margin-top:3px}.planner-details article>.planner-scope{font-size:10px;line-height:1.75;color:#77879c;border-top:1px solid #e1e7f1;padding-top:17px;margin-bottom:19px}
.planner-add{display:inline-flex;align-items:center;gap:11px;position:relative;cursor:pointer;min-height:44px;font-size:12px;color:#244bd1}.planner-add>input{position:absolute;left:0;width:36px;height:36px;opacity:0;cursor:pointer}.planner-add-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #bac9ec;border-radius:50%;background:#f2f5ff;transition:background .2s}.planner-add-mark .icon{width:16px;height:16px}.planner-add-mark .icon:last-child{display:none}.planner-add input:checked+.planner-add-mark{background:#2543cc;border-color:#2543cc;color:#fff}.planner-add input:checked+.planner-add-mark .icon:first-child{display:none}.planner-add input:checked+.planner-add-mark .icon:last-child{display:block}.planner-add input:focus-visible+.planner-add-mark{outline:3px solid #315ad0;outline-offset:4px}
.planner-combine{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:35px 0;align-items:start}.planner-combine .eyebrow{font-size:8px;letter-spacing:.07em;color:#5f769a}.planner-combine h3{font-size:26px;font-weight:500;letter-spacing:-.035em;margin:13px 0}.planner-combine p{font-size:13px;line-height:1.8;max-width:430px;margin:0;color:#6b7b91}.planner-combine details{border-top:1px solid #b7c6e1;border-bottom:1px solid #d9e2ef;margin-top:0}.planner-combine summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#23477c;cursor:pointer;padding:20px 3px;list-style:none;min-height:62px}.planner-combine summary::-webkit-details-marker{display:none}.planner-combine summary .icon{width:16px;height:16px;transition:transform .25s}.planner-combine details[open] summary .icon{transform:rotate(45deg)}.planner-additions{padding-bottom:13px}.planner-additions>label{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 5px;border-top:1px solid #e3e9f2;cursor:pointer}.planner-additions input{accent-color:#2543ec;width:16px;height:16px;flex:none}.planner-additions strong{display:block;font-size:12px;font-weight:500;color:#1a355e}.planner-additions small{display:block;font-size:11px;line-height:1.55;color:#74829a;margin-top:5px}.planner-additions .icon{width:15px;height:15px;color:#3a62c7;margin-left:auto;opacity:0}.planner-additions input:checked~.icon{opacity:1}
.planner-brief{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:27px 30px;background:#edf2fb;border:1px solid #dae3f2;border-left:3px solid #3154d5;border-radius:0 14px 0 0}.planner-brief>div{min-width:0}.planner-brief p{font-size:14px;line-height:1.65;color:#263e66;max-width:680px;margin:10px 0}.planner-brief small{font-size:10px;color:#7889a3}.planner-brief .button{flex-shrink:0;font-size:12px}
.contact-services{padding:0;border:0;margin:0;min-width:0}.contact-services legend{font-size:12px;color:var(--ink);margin-bottom:7px}.contact-services>p{font-size:11px;color:var(--muted);margin:0 0 12px}.contact-service-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contact-service-options label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:12px 10px;border:1px solid var(--line);font-size:11px;line-height:1.6;border-radius:4px;min-height:46px}.contact-service-options label:has(input:checked){background:#edf1ff;border-color:#9dafed}.contact-service-options input{accent-color:#2543ec;width:15px;height:15px;margin:2px 0;flex:none}.contact-services[aria-invalid=true]{outline:1px solid #b94646;outline-offset:7px}.contact-services .field-error{display:block;margin-top:7px;font-size:11px}.contact-brief-note{font-size:11px;color:#4962a0;margin:0 0 7px}
@media(max-width:1000px){.planner-heading{gap:30px}.planner-heading h2{font-size:41px}.planner-heading>p{font-size:12px}.planner-map{padding:25px 20px}.planner-stack{padding-inline:12px}.planner-layer{padding-inline:13px;gap:10px}.layer-name strong{font-size:16px}.planner-details{padding:28px}.planner-brief{gap:22px;padding:24px}.planner-brief .button{max-width:235px}}
@media(max-width:760px){.planner-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.planner-heading h2{font-size:40px}.planner-heading>p{font-size:14px;max-width:520px}.planner-desk{grid-template-columns:1fr}.planner-map{padding:24px}.planner-stack{max-width:460px;width:100%;margin:auto;padding:28px 25px 15px}.planner-layer{min-height:66px}.layer-name strong{font-size:17px}.planner-map-note{font-size:11px;margin-top:15px}.planner-details{padding:27px;border-left:0;border-top:1px solid #c8d4eb}.planner-details h3{max-width:450px;font-size:34px;margin-top:17px}.planner-details article>p{max-width:none}.planner-details li{font-size:13px}.planner-details article>.planner-scope{font-size:11px}.planner-combine{grid-template-columns:1fr;gap:24px;padding-block:30px}.planner-combine p{max-width:none}.planner-brief{flex-direction:column;align-items:flex-start;gap:22px}.planner-brief .button{max-width:none}.planner-add{font-size:13px}.project-planner{padding-bottom:50px}}
@media(max-width:400px){.planner-heading h2{font-size:34px}.planner-heading>p{font-size:13px}.planner-map{padding:20px 16px}.planner-map-heading{font-size:7px}.planner-stack{padding:27px 22px 15px 6px}.planner-layer{gap:9px;padding:11px;min-height:66px}.layer-name strong{font-size:15px}.layer-name small{font-size:7px}.layer-symbol{width:28px;height:33px}.layer-symbol .icon{width:15px;height:15px}.layer-arrow .icon{width:13px;height:13px}.planner-details{padding:23px}.planner-details h3{font-size:29px}.planner-brief{padding:23px 20px}.planner-brief .button{width:100%;font-size:11px}.contact-service-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.planner-layer,.planner-add-mark,.planner-combine summary .icon{transition:none}}
/* Keep the work explainer compact: one navigation rail, distinct evidence, clear deliverables. */
.planner-desk{grid-template-columns:205px minmax(0,1fr);min-height:0}
.planner-map{padding:25px 18px;background:linear-gradient(150deg,#f4f7fd,#e8eef9)}
.planner-map:after{display:none}.planner-map-heading{font-size:8px;letter-spacing:.07em}.planner-map-heading .icon{width:16px;height:16px}
.planner-stack{flex:0;padding:26px 0;perspective:none;gap:8px}
.planner-layer,.planner-layer[aria-pressed=true],.planner-layer:hover,.planner-layer:active{transform:none;gap:10px;padding:16px 12px;min-height:94px;border-radius:3px 12px 3px 3px;border:1px solid #cbd6e9;box-shadow:none;background:#ffffff80;color:#415b86}
.planner-layer+.planner-layer{margin-top:0}.planner-layer:before{display:none}.planner-layer[aria-pressed=true]{background:linear-gradient(130deg,#304cdb,#193993);color:#fff;border-color:#2644bb;box-shadow:0 5px 11px #173d9c18}.planner-layer:hover{border-color:#768cce}.layer-name strong{font-size:14px;line-height:1.4}.layer-name small{font-size:8px;line-height:1.5;margin-top:5px}.layer-symbol{width:25px;height:29px;border:none;background:none}.layer-symbol .icon{width:20px;height:20px}.layer-arrow{display:none}.planner-map-note{font-size:10px;line-height:1.8;margin-top:auto;padding-top:20px}
.planner-details{padding:30px}.planner-details h3{font-size:36px;max-width:none;margin:17px 0 13px}.planner-details article>p{max-width:none;margin-bottom:22px;font-size:13px}.planner-evidence-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr);gap:24px;align-items:start;margin:26px 0}.planner-includes{padding-top:5px}.planner-includes ul{margin:12px 0 0}.planner-includes li{font-size:12px;padding:10px 0}.planner-includes li+li{border-top:1px solid #e6ebf3}.planner-details article>.planner-scope{font-size:10px;margin-bottom:10px;padding-top:13px}.planner-combine{padding-block:30px}
@media(max-width:1000px){.planner-desk{grid-template-columns:1fr}.planner-map{padding:20px 24px}.planner-stack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:18px 0 0;max-width:none}.planner-layer,.planner-layer[aria-pressed=true],.planner-layer:hover{height:100%;min-height:91px;padding:13px 10px;align-items:flex-start}.layer-symbol{width:20px;align-self:center}.layer-name strong{font-size:12px}.layer-name small{font-size:7px}.planner-map-note{display:none}.planner-details{border-left:0;border-top:1px solid #cdd7e9;padding:28px}.planner-evidence-layout{grid-template-columns:minmax(0,1.1fr) minmax(200px,.9fr)}}
@media(max-width:640px){.planner-map{padding:19px}.planner-stack{grid-template-columns:1fr 1fr;gap:8px;padding-top:16px}.planner-layer,.planner-layer[aria-pressed=true],.planner-layer:hover{min-height:85px;gap:8px;padding:11px 8px;align-items:center}.layer-name strong{font-size:12px}.layer-name small{font-size:7px}.layer-symbol .icon{width:17px;height:17px}.planner-details{padding:23px 19px}.planner-details h3{font-size:30px}.planner-evidence-layout{grid-template-columns:minmax(0,1fr);gap:23px;margin:23px 0 18px}.planner-details article>p{font-size:13px}.planner-includes li{font-size:12px}.planner-map-heading .icon{width:17px;height:17px}}
.contact-brief-note:not([hidden]){display:block;line-height:1.7}.contact-brief-note>a{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:4px}.contact-brief-note>a:focus-visible{outline:2px solid #2947ed;outline-offset:3px}
