:root{--sw-bg:#f8edda;--sw-ink:#17232d;--sw-ink-soft:#47525c;--sw-accent:#0655cb;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #0655cb;outline-offset:4px}.sw-root{--sw-bg:#f8edda;--sw-ink:#17232d;--sw-ink-soft:#47525c;--sw-accent:#0655cb;--sw-font-display:Arial,Helvetica,sans-serif}.sw-brand__mark{display:none}.sw-brand__name{font-size:20px;font-weight:800;letter-spacing:-.7px}.sw-topbar{padding:28px 4.5vw}.sw-nav{background:#fff8;padding:4px}.sw-nav__item{padding:7px 12px;font-size:11px}.sw-topcta{font-size:12px}.sw-copy{top:27%;left:4.5vw;width:33vw;max-width:460px}.sw-copy__title{font-size:clamp(42px,5.1vw,76px);line-height:.97;letter-spacing:-.065em;white-space:pre-line;font-weight:800}.sw-copy__body{font-size:15px;max-width:31ch;line-height:1.6}.sw-copy__eyebrow{font-size:10px;letter-spacing:.15em}.sw-copy__tags{margin-top:18px;gap:5px}.sw-copy__tags li{font-size:9px;padding:6px 9px}.sw-copylayer::before{width:43vw;background:linear-gradient(90deg,#f8eddaeb,#f8edda90 70%,transparent);opacity:var(--sw-copy-backdrop-opacity,0)}.sw-copy__num{font-size:10px}.sw-btn{font-size:12px;padding:12px 17px}.sw-copy__cta{margin-top:18px;gap:8px}.sw-stage{background:#f8edda}.sw-route{display:none}.sw-hint{font-size:9px;bottom:24px}.small-note{display:none}body:has(dialog[open]){overflow:hidden}dialog{color:#17232d;background:#f8edda;border:none;border-radius:20px;width:min(1280px,94vw);height:min(850px,90vh);max-height:90vh;padding:36px;box-shadow:0 30px 100px #17232d40}dialog::backdrop{background:#17232d88;backdrop-filter:blur(12px)}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:bold;color:#0655cb}dialog h2{font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-.05em;margin:15px 0 24px}.close{border:1px solid #17232d22;border-radius:50%;height:40px;width:40px;background:#fff7;font-size:25px;flex-shrink:0}.filters{display:flex;gap:8px;margin:4px 0 26px}.filters button{border:1px solid #17232d25;background:none;border-radius:30px;padding:9px 17px;font:12px Arial}.filters button[aria-pressed=true]{background:#0655cb;color:white;border-color:#0655cb}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}.project-card{text-decoration:none;display:block}.project-card img,.project-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#0655cb}.project-cover{display:grid;place-items:center;color:#f8edda;font-size:30px;font-weight:800;letter-spacing:-.05em;padding:25px;text-align:center}.project-card h3{font-size:15px;margin:12px 0 7px;letter-spacing:-.02em}.project-card p{font-size:10px;color:#53616c;margin:0}.project-card:hover img,.project-card:hover .project-cover{filter:brightness(.92)}.project-close{position:absolute;right:24px;top:24px;z-index:1}#project-dialog{height:auto;max-width:900px;padding:0}.detail-image{width:100%;aspect-ratio:16/9;object-fit:cover}.detail-copy{padding:28px 36px 36px}.detail-copy h2{font-size:38px}.detail-copy p{font-size:15px;line-height:1.7;max-width:60ch}.solid-link{display:inline-block;text-decoration:none;background:#17232d;color:white;padding:13px 20px;border-radius:30px;font-size:12px;margin-top:16px}.about{padding:35px 25px;max-width:1000px}.about>p{max-width:62ch;font-size:19px;line-height:1.7}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.about h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#0655cb}.about-columns p{font-size:14px;line-height:1.7}@media(max-width:1000px){.sw-nav__item{padding:7px 8px}.sw-copy__title{font-size:48px}.sw-copy__body{font-size:13px}.sw-copy__tags{display:none}}@media(max-width:860px){.small-note{display:block;position:fixed;top:80px;left:20px;right:20px;z-index:55;font-size:11px;background:#fff9;padding:10px;border-radius:10px}.sw-copy{top:auto;bottom:110px;width:85vw;max-width:500px;left:24px}.sw-copy__title{font-size:40px}.project-grid{grid-template-columns:1fr 1fr}.about-columns{grid-template-columns:1fr}.about>p{font-size:16px}dialog{padding:24px}.sw-copylayer::before{width:100%}}

.sw-topcta,.sw-btn--primary{color:#fff}.sw-btn--ghost{color:#17232d}

.sw-project-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:20px}.sw-project-thumb{text-decoration:none;font-size:9px;line-height:1.4}.sw-project-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin-bottom:6px}.sw-project-thumb:hover img{filter:brightness(.85)}.sw-copy .sw-copy__cta{pointer-events:inherit}

/* Preserve the selected portrait cover and the DFI group composition. */
.project-card img[style],.detail-image[style]{background:#dcecf4}.detail-image--portrait{height:65vh;aspect-ratio:auto;object-fit:contain}

/* The PDF cover is a separate first screen; the existing world begins below it. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portfolio-cover{position:relative;z-index:100;height:100vh;height:100svh;min-height:360px;background:#0655cb;isolation:isolate}
.portfolio-cover__image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.portfolio-cover__enter{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:11px 18px;border:1px solid #f8edda66;border-radius:30px;background:#084ca5c9;color:#f8edda;text-decoration:none;font:11px Arial,sans-serif;letter-spacing:.05em;white-space:nowrap;backdrop-filter:blur(8px)}
.portfolio-cover__enter span{font-size:18px}.portfolio-cover__enter:hover{background:#073f8eee}.portfolio-cover__enter:focus-visible{outline-color:#f8edda}

/* One continuous original paper layer; the artwork has a transparent background. */
.portfolio-cover::before{content:"";position:absolute;inset:0;z-index:0;background:url("assets/portfolio-paper-texture.jpg") center/100% 100% no-repeat;opacity:.149994;pointer-events:none}
.portfolio-cover__image{z-index:1}.portfolio-cover__enter{z-index:2}
