.ip-page{--ink:#262b27;--paper:#f5f4ef;--line:#d4d6cb;--green:#304c3d;background:var(--paper);color:var(--ink);font-family:'Source Sans 3',sans-serif}.ip-page *{box-sizing:border-box}.ip-wrap{width:min(1440px,90%);margin:0 auto}.ip-page h1,.ip-page h2,.ip-page h3{font-family:'Outfit',sans-serif;font-weight:500;letter-spacing:-.045em;color:var(--ink)}.ip-page em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em}.ip-intro{padding:70px 0 44px}.ip-kicker{font-size:11px;font-weight:600;letter-spacing:.18em;margin:0 0 24px;text-transform:uppercase}.ip-intro-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:60px;align-items:end}.ip-intro h1{font-size:clamp(44px,5.5vw,84px);line-height:1.04;margin:0}.ip-intro-grid>div{max-width:350px;justify-self:end;font-size:19px;line-height:1.5}.ip-muted{color:#60675e;font-size:16px}.ip-link{color:inherit;display:inline-flex;gap:30px;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding:10px 0;font-weight:600}.ip-hero>a{position:relative;display:block;overflow:hidden;background:#242b26}.ip-hero img{width:100%;height:clamp(430px,47vw,680px);object-fit:cover;object-position:50% 58%;display:block}.ip-hero>a:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68));pointer-events:none}.ip-hero-caption{position:absolute;bottom:40px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:end;z-index:1;color:white}.ip-hero-caption span{font-size:11px;letter-spacing:.16em}.ip-hero-caption h2{font-size:clamp(32px,4vw,60px);line-height:1.08;color:#fff;margin:16px 0 0}.ip-hero-caption .ip-circle{border:1px solid #ffffff8a;border-radius:50%;height:54px;width:54px;display:grid;place-items:center;font-size:24px}.ip-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:18px 0;color:#5e655b;font-size:12px}.ip-meta p{margin:0}.ip-meta>span:last-child{font-size:10px;letter-spacing:.12em}.ip-collection{padding-top:85px;padding-bottom:80px;scroll-margin-top:100px}.ip-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.ip-section-head h2{font-size:clamp(32px,3.6vw,52px);line-height:1.1;margin:0}.ip-section-head>p{max-width:320px;color:#61685e;font-size:17px;line-height:1.5}.ip-tools{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding:22px 0 32px}.ip-filters{display:flex;gap:8px;flex-wrap:wrap}.ip-filters button{border:1px solid #bfc6ba;background:transparent;color:var(--ink);padding:9px 19px;border-radius:30px;font:inherit;cursor:pointer;box-shadow:none;margin:0}.ip-filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}#ip-count{font-size:13px;white-space:nowrap;margin:0}.ip-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 40px;align-items:start}.ip-card{min-width:0;scroll-margin-top:100px}.ip-card[hidden]{display:none}.ip-photo{position:relative;display:block;padding:0;border:0;border-radius:0;background:#dfe1d8;width:100%;cursor:zoom-in;text-align:left;overflow:hidden;box-shadow:none;margin:0}.ip-photo img{width:100%;height:480px;object-fit:cover;display:block;transition:transform .5s}.ip-photo:hover img{transform:scale(1.02)}.ip-photo>span{position:absolute;bottom:18px;right:18px;background:rgba(245,244,239,.94);color:#262b27;padding:9px 14px;font-size:12px}.ip-card-top{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:22px 0 10px;color:#64705f}.ip-card h3{font-size:34px;margin:0 0 10px;line-height:1.1}.ip-story-title{font-size:20px;margin:0 0 10px}.ip-description{color:#60665d;line-height:1.6;font-size:16px;margin-bottom:22px}.ip-facts{display:grid;grid-template-columns:1.2fr 1fr 1fr;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0}.ip-facts dt{font-size:11px;letter-spacing:.04em;color:#66705f;font-weight:400}.ip-facts dd{margin:5px 0 0;font-size:18px}.ip-details summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:600;display:flex;justify-content:space-between}.ip-details summary::-webkit-details-marker{display:none}.ip-details[open] summary span{transform:rotate(45deg)}.ip-details>div{padding-bottom:24px;line-height:1.6}.ip-details .ip-kicker{margin-bottom:12px}.ip-patterns{display:flex;gap:8px;flex-wrap:wrap}.ip-patterns>a,.ip-patterns>span{border:1px solid #c5cbbf;padding:7px 12px;color:inherit}.ip-patterns>a:hover{background:#dfe7d9}.ip-small,.ip-source-note{font-size:13px;color:#67705f}.ip-source-note{border-top:1px solid var(--line);padding-top:25px;margin:40px 0 0;max-width:1000px;line-height:1.6}.ip-extra{margin:24px 0}.ip-extra img{height:auto;max-height:540px;object-fit:contain}.ip-next{background:#e4e8dc;padding:75px 0}.ip-next-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:90px}.ip-next h2{font-size:clamp(44px,5vw,72px);line-height:1.05;margin:0 0 24px}.ip-next p:not(.ip-kicker){max-width:530px;line-height:1.6}.ip-actions{display:flex;gap:25px;flex-wrap:wrap;align-items:center;margin-top:25px}.ip-button{display:inline-block;background:var(--green);color:#fff;padding:15px 25px}.ip-next-links{align-self:center}.ip-next-links>a{display:block;padding:24px 0;border-bottom:1px solid #b5c0af;color:inherit}.ip-next-links span{font-size:10px;letter-spacing:.14em;display:block;margin-bottom:9px}.ip-next-links strong{font-size:21px;font-weight:500}.ip-page :focus-visible{outline:3px solid #aa6a29;outline-offset:5px}.ip-page dialog{border:0;padding:58px 20px 20px;background:#151914;color:#fff;width:min(1100px,95vw);max-height:94vh}.ip-page dialog::backdrop{background:#000c}.ip-page dialog img{display:block;max-height:75vh;max-width:100%;width:auto;margin:auto;object-fit:contain}.ip-page dialog p{font-size:14px;margin:16px 0 0}.ip-close{position:absolute;right:18px;top:14px;background:transparent;color:white;border:1px solid #7b8177;border-radius:0;padding:8px 14px;box-shadow:none;cursor:pointer}.ip-page a:hover{color:#61764f}.ip-hero>a:hover h2{color:white}@media(max-width:800px){.ip-intro{padding-top:40px}.ip-intro-grid{grid-template-columns:1fr;gap:25px}.ip-intro-grid>div{justify-self:start;max-width:none;font-size:17px}.ip-intro-grid>div>p:first-child{display:none}.ip-hero img{height:460px}.ip-hero-caption{left:22px;right:22px;bottom:26px}.ip-meta>span:last-child{display:none}.ip-section-head{display:block}.ip-section-head>p{max-width:100%;margin-top:20px}.ip-grid{gap:44px 22px}.ip-photo img{height:350px}.ip-facts{grid-template-columns:1fr 1fr;gap:15px}.ip-facts>div:first-child{grid-column:1/-1}.ip-next-grid{gap:35px;grid-template-columns:1fr}.ip-collection{padding-top:50px}.ip-card h3{font-size:29px}.ip-tools{display:block}#ip-count{margin-top:16px}}@media(max-width:560px){.ip-grid{grid-template-columns:1fr}.ip-photo img{height:420px}.ip-facts{grid-template-columns:1.2fr 1fr 1fr;gap:8px}.ip-facts>div:first-child{grid-column:auto}.ip-facts dd{font-size:16px}.ip-filters{gap:6px}.ip-filters button{padding:8px 12px;font-size:13px}.ip-hero img{height:420px}.ip-meta{align-items:start;font-size:11px}.ip-meta p{max-width:190px;text-align:right}.ip-next{padding:50px 0}.ip-actions{gap:15px}}@media(prefers-reduced-motion:reduce){.ip-photo img{transition:none}}

/* Multi-view project gallery */
.ip-card--gallery{grid-column:1/-1}.ip-card--gallery>.ip-photo img{height:auto;aspect-ratio:3/2;max-height:670px;object-fit:cover}.ip-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.ip-gallery .ip-photo img{height:auto;aspect-ratio:3/2;object-fit:cover}.ip-gallery .ip-photo>span{left:10px;right:auto;bottom:10px;font-size:12px}.ip-card--gallery .ip-description{max-width:850px}.ip-card--gallery .ip-facts{grid-template-columns:1fr 1fr 1.5fr}.ip-scope-note{font-size:13px;color:#60665d;margin-top:12px}.ip-card--gallery .ip-details>div{max-width:850px}@media(max-width:560px){.ip-gallery{grid-template-columns:1fr;gap:12px}.ip-card--gallery .ip-facts{grid-template-columns:1fr 1fr}.ip-card--gallery .ip-facts>div:last-child{grid-column:1/-1}.ip-card--gallery>.ip-photo img{height:auto;aspect-ratio:3/2}.ip-card--gallery .ip-facts dd{font-size:19px}}
