:root{--page:#08080c;--surface:#0f0e14;--line:#2a272f;--ink:#f5f2ed;--muted:#97929d;--orange:#ff7b32;--lime:#b9ff32;--cyan:#62dfff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 72% 9%,rgba(108,72,190,.14),transparent 28%),var(--page);color:var(--ink);font-family:"DM Sans",sans-serif}.shell{width:min(calc(100% - 48px),1500px);margin-inline:auto}.skip-link{position:fixed;z-index:100;left:20px;top:20px;padding:12px 16px;background:#fff;color:#000;transform:translateY(-180%)}.skip-link:focus{transform:none}.collection-noise{position:fixed;inset:0;z-index:-1;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.collection-nav{display:flex;justify-content:space-between;align-items:center;min-height:92px;border-bottom:1px solid var(--line)}.collection-brand,.back-link{color:inherit;text-decoration:none}.collection-brand{display:flex;align-items:center;gap:11px;font:800 1.05rem "Manrope",sans-serif}.collection-brand i{width:16px;height:16px;background:var(--orange);transform:rotate(45deg);box-shadow:12px 0 rgba(255,123,50,.4)}.back-link{min-height:44px;display:flex;align-items:center;color:#aaa5ae;font:600 .7rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.back-link:hover{color:#fff}.collection-hero{position:relative;min-height:500px;padding:110px 0 90px;overflow:hidden}.collection-kicker{display:flex;align-items:center;gap:12px;margin:0 0 30px;color:#aba6af;font:700 .65rem "IBM Plex Mono",monospace;letter-spacing:.13em;text-transform:uppercase}.collection-kicker>i{width:29px;height:1px;background:var(--orange)}.collection-kicker b{color:var(--orange)}.collection-hero h1{position:relative;z-index:2;max-width:1120px;margin:0;font:750 clamp(4.2rem,8.2vw,9rem)/.82 "Manrope",sans-serif;letter-spacing:-.08em}.collection-hero h1 em{display:block;color:#6c6871;font-style:normal}.collection-hero>p:last-child{position:relative;z-index:2;max-width:520px;margin:42px 0 0;color:#aaa6af;font-size:1rem;line-height:1.65}.hero-orbit{position:absolute;right:-8%;top:45%;width:min(48vw,650px);aspect-ratio:1;transform:translateY(-50%);opacity:.55}.hero-orbit i{position:absolute;inset:8%;border:1px solid rgba(185,255,50,.13);border-radius:50%;animation:orbit 14s linear infinite}.hero-orbit i:nth-child(2){inset:25%;animation-direction:reverse;animation-duration:10s}.hero-orbit i:nth-child(3){inset:41%;animation-duration:7s}.hero-orbit i::after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 15px var(--lime)}@keyframes orbit{to{rotate:360deg}}
.discipline-switcher{position:sticky;z-index:20;top:0;display:flex;gap:7px;padding:12px 0;overflow-x:auto;background:rgba(8,8,12,.9);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);scrollbar-width:none}.discipline-switcher button{flex:0 0 auto;min-height:42px;padding:0 17px;border:1px solid var(--line);border-radius:999px;background:#0d0c11;color:#85808a;font:700 .58rem "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.discipline-switcher button:hover,.discipline-switcher button.is-active{border-color:var(--orange);background:rgba(255,123,50,.11);color:#fff}.industry-browser{padding:100px 0 50px}.section-heading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}.section-heading p{margin:12px 0;color:#8f8a94;font:700 .62rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.section-heading p span{margin-right:10px;color:var(--orange)}.section-heading h2{max-width:880px;margin:0;font:750 clamp(3.1rem,6vw,7rem)/.88 "Manrope",sans-serif;letter-spacing:-.07em}.section-heading h2 em{color:#716c75;font-style:normal}.industry-boxes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:58px}.industry-box{position:relative;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(27,25,33,.9),rgba(13,12,17,.88));color:#eeeaf0;text-align:left;cursor:pointer;overflow:hidden;transition:.28s ease}.industry-box::after{content:"↗";position:absolute;right:17px;bottom:13px;color:#4d4952;font-size:1.25rem;transition:.25s ease}.industry-box strong,.industry-box small{display:block;position:relative;z-index:2}.industry-box strong{max-width:80%;font-size:1rem;line-height:1}.industry-box small{margin-top:25px;color:#6f6a74;font:600 .55rem "IBM Plex Mono",monospace;text-transform:uppercase}.industry-box:hover,.industry-box.is-active{border-color:var(--orange);transform:translateY(-5px);box-shadow:0 18px 45px rgba(0,0,0,.3)}.industry-box:hover::after,.industry-box.is-active::after{color:var(--orange);transform:translate(3px,-3px)}.collection-groups{padding:40px 0 120px}.industry-group{padding:68px 0;border-top:1px solid var(--line)}.group-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.group-title h3{margin:0;font:750 clamp(2.2rem,4.2vw,4.7rem)/.9 "Manrope",sans-serif;letter-spacing:-.06em}.group-title span{color:var(--orange);font:700 .62rem "IBM Plex Mono",monospace;text-transform:uppercase}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.collection-card{position:relative;min-width:0;opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)}.collection-card.is-visible{opacity:1;transform:none}.collection-card a{display:block;color:inherit;text-decoration:none}.card-cover{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid #29262e;border-radius:18px;background:#111016}.card-cover::after{content:"VIEW PROJECT ↗";position:absolute;right:12px;bottom:12px;padding:9px 11px;border-radius:999px;background:rgba(8,8,12,.82);color:#fff;font:700 .52rem "IBM Plex Mono",monospace;opacity:0;transform:translateY(8px);transition:.25s ease}.card-cover img{width:100%;height:100%;object-fit:cover;transition:.55s cubic-bezier(.2,.8,.2,1)}.collection-card:hover img{transform:scale(1.055)}.collection-card:hover .card-cover{border-color:var(--orange)}.collection-card:hover .card-cover::after{opacity:1;transform:none}.card-copy{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 3px 5px}.card-copy h4{margin:0;font:700 1.05rem/1 "Manrope",sans-serif;letter-spacing:-.035em}.card-copy p{grid-column:1/-1;margin:0;color:#77727d;font:600 .54rem "IBM Plex Mono",monospace;text-transform:uppercase}.card-copy>span{color:#79747e;font:600 .56rem "IBM Plex Mono",monospace}.empty-state{min-height:300px;display:grid;place-items:center;border-top:1px solid var(--line);color:#aaa5ae;font-size:1.1rem}.collection-footer{display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:center;padding:42px 0;border-top:1px solid var(--line);color:#8c8791;font-size:.75rem}.collection-footer strong{color:#fff;font:800 1rem "Manrope",sans-serif}.collection-footer a{color:var(--lime);font-weight:700;text-decoration:none}
@media(max-width:1050px){.industry-boxes,.project-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.shell{width:min(calc(100% - 30px),650px)}.collection-nav{min-height:74px}.collection-hero{min-height:420px;padding:80px 0 65px}.collection-hero h1{font-size:clamp(3.7rem,17vw,6rem)}.hero-orbit{right:-48%;width:110vw}.section-heading{grid-template-columns:1fr}.industry-browser{padding-top:72px}.industry-boxes,.project-grid{grid-template-columns:repeat(2,1fr)}.collection-footer{grid-template-columns:1fr;gap:16px}}@media(max-width:470px){.industry-boxes{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.industry-box{min-height:102px}.group-title{align-items:flex-start;flex-direction:column}.back-link{font-size:.56rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orbit i,.collection-card{animation:none;transition:none}.collection-card{opacity:1;transform:none}.industry-box,.card-cover img,.card-cover::after{transition:none}}

/* Keep every book presentation at the same visible scale despite differing source margins. */
.field-bookcovers .card-cover{aspect-ratio:1;background:#e9e5de}
.field-bookcovers .card-cover img{object-fit:cover;transform:scale(var(--book-zoom,1));transform-origin:center}
.field-bookcovers .collection-card:hover .card-cover img{transform:scale(calc(var(--book-zoom,1) + .035))}

/* Flyer artwork is the focus: two complete, large designs per desktop row. */
body.field-flyer .guideline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
body.field-flyer .guideline-grid .card-cover{aspect-ratio:auto}
body.field-flyer .guideline-grid .card-cover img{display:block;width:100%;height:auto;object-fit:contain}
body.field-flyer .guideline-grid .card-copy h4{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.2}
@media(max-width:560px){body.field-flyer .guideline-grid{grid-template-columns:minmax(0,1fr);gap:24px}}

/* Book covers share the Flyer's two-column gallery, with equal, uncropped frames. */
body.field-bookcovers .guideline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
body.field-bookcovers .guideline-grid .card-cover{aspect-ratio:1}
body.field-bookcovers .guideline-grid .card-cover img{display:block;width:100%;height:100%;object-fit:contain}
body.field-bookcovers .guideline-grid .card-copy h4{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.2}
@media(max-width:560px){body.field-bookcovers .guideline-grid{grid-template-columns:minmax(0,1fr);gap:24px}}

/* Social artwork is displayed in full on the collection page, without project clicks. */
body.field-inline-gallery .guideline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;align-items:start}
body.field-inline-gallery .guideline-grid .card-cover{aspect-ratio:auto;background:transparent}
body.field-inline-gallery .guideline-grid .card-cover img{display:block;width:100%;height:auto;object-fit:contain;transform:none;filter:none}
body.field-inline-gallery .guideline-grid .card-cover::before,body.field-inline-gallery .guideline-grid .card-cover::after{display:none}
body.field-inline-gallery .guideline-grid .collection-card:hover img{transform:none}
body.field-inline-gallery .guideline-grid .card-copy{padding:18px 16px;background:none;backdrop-filter:none}
body.field-inline-gallery .guideline-grid .card-copy h4{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.2}
/* Give full artwork breathing room without cropping, stretching or hover zoom. */
body.field-inline-gallery .guideline-grid{width:min(100%,1040px);margin-inline:auto;gap:40px 36px}
/* Print and social artwork use a larger reading scale without cropping. */
body.field-flyer.field-inline-gallery .guideline-grid,
body.field-instagram.field-inline-gallery .guideline-grid,
body.field-stationery.field-inline-gallery .guideline-grid{width:min(100%,1240px);gap:28px 24px}
@media(max-width:560px){body.field-flyer.field-inline-gallery .guideline-grid,body.field-instagram.field-inline-gallery .guideline-grid,body.field-stationery.field-inline-gallery .guideline-grid{gap:24px}}
body.field-profiles .collection-card:hover img{transform:none}
@media(max-width:560px){body.field-inline-gallery .guideline-grid{grid-template-columns:minmax(0,1fr);gap:24px}}
/* Equal-width brochure columns flow independently, without tall-row blank spaces. */
body.field-brochures .brochure-balanced-column{display:flex;flex-direction:column;gap:28px;min-width:0}
@media(max-width:560px){body.field-brochures .brochure-balanced-grid{display:flex;flex-direction:column;gap:24px}body.field-brochures .brochure-balanced-column{display:contents}body.field-brochures .brochure-balanced-column .collection-card{order:var(--brochure-order,0)}}
