:root{--grass: #b8cfa2;--paper: #fffdf7;--ink: #232a31;--navy: #1f3a5f;--blue: #3a67ae;--muted: #5b6570;--border: 2px solid #262c33}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--grass);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}#world{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}#sky{position:fixed;inset:0;width:100%;height:100%;z-index:2;display:block;pointer-events:none}.panels{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.panels.placed{max-width:none;margin:0;padding:0;display:block}.panels.placed .panel{position:absolute;margin:0}.panel{background:var(--paper);border:var(--border);border-radius:12px;box-shadow:0 3px #232a3147;padding:clamp(18px,2.6vw,30px);overflow:hidden}.panel h1{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.08;margin:.15em 0 .35em;color:var(--navy);letter-spacing:-.015em;white-space:pre-line}.panel h2{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.2;margin:.2em 0 .5em;color:var(--navy);letter-spacing:-.01em}.panel p{margin:.4em 0;white-space:pre-line}.kicker{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin:0 0 .2em}.lede{font-size:clamp(.95rem,1.25vw,1.1rem);color:var(--muted);max-width:46ch}.small{font-size:.8rem;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.panel--hero{background:linear-gradient(160deg,#fffdf7 62%,#f2f4ec);display:flex;align-items:center;gap:clamp(16px,3vw,32px)}.hero-text{flex:1 1 auto;min-width:0}.hero-logo{flex:0 0 auto;width:clamp(64px,12vw,128px);height:clamp(64px,12vw,128px);object-fit:contain;border-radius:12px;box-shadow:0 2px #232a3133}@media(max-width:760px){.panel--hero{flex-direction:column;align-items:flex-start}}.badges{list-style:none;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:0;margin:0 0 8px}.badges li{width:64px;height:64px;flex:0 0 auto;border:2px solid var(--navy);border-radius:10px;overflow:hidden;background:var(--paper);display:flex;align-items:center;justify-content:center}.badges img{width:100%;height:100%;object-fit:contain}blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid var(--blue)}blockquote p{font-style:italic;margin:0 0 .2em}blockquote footer{font-size:.8rem;color:var(--muted)}.gallery-wrap{display:flex;align-items:center;gap:6px;margin-top:10px}.gallery-carousel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px}.gallery-carousel::-webkit-scrollbar{display:none}.gallery-tile{flex:0 0 auto;width:clamp(150px,30vw,240px);aspect-ratio:4 / 3;scroll-snap-align:start;border-radius:8px;border:2px solid #b9c0c7;padding:0;margin:0;overflow:hidden;background:#eef1ea;cursor:pointer}.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.gallery-tile:hover img{transform:scale(1.06)}.gallery-tile:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.gallery-nav{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:2px solid var(--navy);background:var(--paper);color:var(--navy);font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.gallery-nav:hover{background:var(--navy);color:#fff}.lightbox{position:fixed;inset:0;z-index:20;background:#0f1216e0;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox[hidden]{display:none}.lightbox-img{max-width:min(92vw,1100px);max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 30px #00000080}.lightbox-close{position:fixed;top:16px;right:20px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.lightbox-close:hover{background:#ffffff4d}.more-info-btn{display:inline-block;margin-top:14px;padding:8px 20px;border-radius:999px;border:2px solid var(--navy);background:transparent;color:var(--navy);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}.more-info-btn:hover{background:var(--navy);color:#fff}.info-overlay{position:fixed;inset:0;z-index:20;background:#0f1216e0;display:flex;align-items:center;justify-content:center;padding:24px}.info-overlay[hidden]{display:none}.info-overlay-card{background:var(--paper);border:var(--border);border-radius:12px;box-shadow:0 8px 30px #00000080;width:100%;max-width:720px;max-height:88vh;overflow-y:auto;padding:clamp(24px,4vw,48px)}.info-overlay-card h2{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15;margin:0 0 .6em;color:var(--navy);letter-spacing:-.01em}.info-overlay-body{white-space:pre-line;color:var(--ink);line-height:1.6}.info-overlay-close{position:fixed;top:16px;right:20px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.info-overlay-close:hover{background:#ffffff4d}.info-page[hidden]{display:none}.team-list{margin-top:24px}.team-member{display:flex;align-items:center;gap:24px;padding:22px 0}.team-member--reverse{flex-direction:row-reverse}.team-photo{flex:0 0 auto;width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--navy)}.team-info{flex:1 1 auto;min-width:0}.team-name{margin:0 0 2px;font-size:1.05rem;color:var(--navy)}.team-position{margin:0 0 8px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}.team-bio{margin:0;color:var(--ink);line-height:1.6;white-space:pre-line}.team-divider{border:none;border-top:1px solid #d8dde2;margin:0}@media(max-width:480px){.team-member,.team-member--reverse{flex-direction:column;text-align:center;gap:12px}}.case-select{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:22px}.case-select[hidden]{display:none}.case-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 14px;border:2px solid var(--navy);border-radius:10px;background:var(--paper);font:inherit;cursor:pointer}.case-card:hover{background:#f2f4ec}.case-card-logo{width:64px;height:64px;object-fit:contain}.case-card-name{margin:0;font-weight:700;color:var(--navy)}.case-card-teaser{margin:0;font-size:.85rem;color:var(--muted)}.case-card-cta{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}.case-detail-wrap[hidden]{display:none}.case-back{margin-top:4px;padding:7px 16px;border-radius:999px;border:2px solid var(--navy);background:transparent;color:var(--navy);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}.case-back:hover{background:var(--navy);color:#fff}.case-back[hidden]{display:none}.case-detail{margin-top:18px}.case-detail[hidden]{display:none}.case-detail-logo{width:72px;height:72px;object-fit:contain;margin-bottom:10px}.case-detail-name{margin:0 0 2px;color:var(--navy);font-size:1.2rem}.case-detail-date{margin:0 0 14px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}.case-detail-body{white-space:pre-line;color:var(--ink);line-height:1.6;margin-bottom:16px}.case-detail-images{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.case-detail-images img{width:calc(33.333% - 7px);aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;flex:0 0 auto}.case-detail-quote{margin:0;padding-left:12px;border-left:3px solid var(--blue)}.case-detail-quote p{font-style:italic;margin:0 0 .3em}.case-detail-quote footer{font-size:.8rem;color:var(--muted)}@media(max-width:480px){.case-detail-images img{width:100%}}.info-blocks h1{font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.15;margin:0 0 .5em;color:var(--navy);letter-spacing:-.01em}.info-blocks h2{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.2;margin:1em 0 .5em;color:var(--navy)}.info-blocks>:first-child{margin-top:0}.block-paragraph{white-space:pre-line;color:var(--ink);line-height:1.6;margin:0 0 1em}.block-image{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:8px;margin:0 0 1em}.block-logo{display:block;max-width:280px;max-height:90px;object-fit:contain;margin:0 0 1.2em}.block-download{display:inline-flex;align-items:center;gap:8px;margin:0 12px 14px 0;padding:10px 18px;border-radius:8px;border:2px solid var(--navy);background:var(--paper);color:var(--navy);font-weight:700;text-decoration:none}.block-download:before{content:"↓"}.block-download:hover{background:var(--navy);color:#fff}.block-imagetext{display:flex;align-items:center;gap:24px;margin:0 0 1.2em}.block-imagetext--right{flex-direction:row-reverse}.block-imagetext img{flex:0 0 auto;width:38%;max-width:260px;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px}.block-imagetext-text{flex:1 1 auto;min-width:0;color:var(--ink);line-height:1.6;white-space:pre-line}@media(max-width:480px){.block-imagetext,.block-imagetext--right{flex-direction:column}.block-imagetext img{width:100%;max-width:none}}.block-bullets{margin:0 0 1.2em;padding:0;list-style:none}.block-bullets li{position:relative;padding-left:26px;margin-bottom:10px;color:var(--ink);line-height:1.55}.block-bullets li:before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--blue)}.contact-lines a{color:var(--navy);font-weight:700;text-decoration-color:var(--blue)}.panel--note{box-shadow:none}.motion-gate{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:5;background:var(--navy);color:#fff;border:none;border-radius:999px;padding:12px 22px;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 3px #232a3166}.stamp{position:relative;z-index:1;text-align:center;padding:10px 16px 16px;font-size:.68rem;letter-spacing:.02em;color:#232a3159;pointer-events:none;user-select:none}.stamp a{color:inherit;text-decoration:none;pointer-events:auto}.stamp a:hover{text-decoration:underline}.debug-hud{position:fixed;top:8px;left:8px;z-index:10;background:#14181cd9;color:#cfe3ff;font:11px/1.5 ui-monospace,Consolas,monospace;border-radius:8px;padding:8px 10px;min-width:210px;user-select:none}.debug-hud label{display:flex;gap:6px;align-items:center}.debug-hud input[type=range]{width:110px}
