/* Homepage portfolio. Deliberately independent of the full Projects page. */
.featured-work{position:relative;isolation:isolate;overflow:hidden;background:#faf9f6;color:var(--ink);padding-block:80px 70px}
.featured-work::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-200px;bottom:-140px;width:600px;height:540px;border-radius:45%;opacity:.25;background:repeating-radial-gradient(ellipse at 30% 70%,transparent 0 23px,#c9c5ba66 24px,transparent 25px 38px);transform:rotate(-25deg)}
.fw-heading{display:grid;grid-template-columns:1.65fr 1fr;gap:48px;align-items:end;margin-bottom:44px}
.fw-eyebrow{display:flex;align-items:center;gap:18px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.28em;color:#84817b;margin:0 0 26px}
.fw-eyebrow span{height:1px;width:100px;background:#a7a39a}
.featured-work h2{font-size:clamp(36px,4.3vw,68px);line-height:1.08;margin:0;letter-spacing:-.035em;max-width:none;font-weight:500}
.featured-work h2 .accent{color:var(--amber)}
.fw-intro{max-width:400px;justify-self:end}.fw-intro p{font-size:16px;line-height:1.55;color:#706d67;margin:0 0 22px}.fw-intro .button{float:right;gap:20px}
.fw-carousel{position:relative;--slide:92%;--gap:32px;--image-ratio:2.5}
.fw-window{overflow:hidden;margin-right:calc(-1 * var(--pad))}
.fw-track{display:flex;gap:var(--gap);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;touch-action:pan-y pinch-zoom;cursor:grab;padding-right:calc(100% - var(--slide));}
.fw-track::-webkit-scrollbar{display:none}.fw-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.fw-track.is-moving{scroll-snap-type:none}
.fw-slide{flex:0 0 var(--slide);min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.fw-image{display:block;position:relative;overflow:hidden;aspect-ratio:2.5;border-radius:7px;color:white;background:#41433b;user-select:none;-webkit-user-drag:none}
.fw-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.22,.61,.36,1);-webkit-user-drag:none;transform:scale(1.02)}
.fw-slide.is-current .fw-image img{transform:scale(1)}
.fw-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0006,transparent 30%,transparent 65%,#0008);pointer-events:none}
.fw-overlay{position:absolute;z-index:1;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;line-height:1.5;text-shadow:0 1px 8px #0008}
.fw-overlay>span:first-child>span{padding-inline:12px}.fw-overlay>span:last-child{text-align:right}
.fw-view{position:absolute;z-index:1;bottom:25px;left:28px;font-size:16px;display:flex;gap:18px;align-items:center}
.fw-meta{display:grid;grid-template-columns:1.8fr 1fr 1fr;align-items:center;gap:0;padding-top:27px;opacity:.18;transition:opacity .4s ease;min-height:118px}
.fw-slide.is-current .fw-meta{opacity:1}.fw-name{padding-right:24px}.fw-name h3{font-size:clamp(25px,2.7vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.12;margin:0 0 10px}
.fw-name p{color:#7b7770;font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:0;line-height:1.5}
.fw-spec{border-left:1px solid #d8d4cb;padding:10px 30px;display:flex;flex-direction:column;gap:9px}.fw-spec strong{font-size:20px;font-weight:500;line-height:1.2}.fw-size strong{color:var(--accent-on-paper);font-size:28px;letter-spacing:-.025em}.fw-spec>span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#7b7770}
.fw-arrow{position:absolute;z-index:2;top:0;margin-top:calc((100% + var(--pad)) * .92 / 5 - 25px);width:50px;height:50px;display:grid;place-items:center;border:1px solid #d8d4cb;border-radius:50%;background:#faf9f6;color:var(--ink);font-size:26px;cursor:pointer;transition:background .2s,opacity .2s}.fw-prev{left:-25px}.fw-next{right:-12px}.fw-arrow:hover{background:#eee9de}.fw-arrow:disabled{opacity:.4;cursor:default}
.fw-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:38px}.fw-pagination{display:flex;gap:10px;align-items:center}.fw-pagination button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;min-width:58px;min-height:44px;padding:0 8px;cursor:pointer}.fw-pagination button:first-child{padding-left:0}.fw-pagination i{display:block;width:42px;height:2px;background:#c9c5ba;transition:width .65s ease,background .3s ease}.fw-pagination [aria-current=true] i{width:90px;background:var(--amber)}
.fw-all{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid transparent;border-radius:6px;padding:0 22px;background:var(--amber);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;transition:background .2s ease}.fw-all:hover{background:#dfa72d}
.fw-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.fw-track:focus-visible,.fw-image:focus-visible,.fw-arrow:focus-visible,.fw-pagination button:focus-visible{outline:2px solid var(--amber);outline-offset:-3px}
@media(hover:hover){.fw-slide.is-current .fw-image:hover img{transform:scale(1.02)}}
@media(max-width:1100px) and (min-width:860px){.fw-heading{grid-template-columns:1.5fr 1fr;gap:30px}.fw-spec{padding-inline:20px}.fw-meta{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:859px){
 .featured-work{padding-block:52px}.fw-heading{display:block;margin-bottom:26px}.fw-eyebrow{font-size:12px;letter-spacing:.2em;margin-bottom:18px}.fw-eyebrow span{width:60px}.featured-work h2{font-size:clamp(34px,7.5vw,54px)}
 .fw-intro{max-width:48ch;margin-top:20px}.fw-intro p{font-size:16px;margin-bottom:18px}.fw-intro .button{float:none;min-height:48px}
 .fw-carousel{--slide:100%;--gap:16px}.fw-window{margin-right:0}.fw-track{padding-right:0;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.fw-image{aspect-ratio:16/10;border-radius:6px}.fw-overlay{top:16px;left:16px;right:16px;font-size:11px;letter-spacing:.1em;gap:12px}.fw-overlay>span:first-child>span{padding-inline:4px}.fw-overlay>span:last-child{max-width:12ch}.fw-view{left:16px;bottom:16px;font-size:14px}
 .fw-meta{grid-template-columns:1fr 1fr;padding-top:20px;gap:18px;align-content:start;min-height:174px;opacity:1}.fw-name{grid-column:1/-1;padding:0}.fw-name h3{font-size:28px;margin-bottom:6px}.fw-name p{font-size:12px;letter-spacing:.12em}.fw-spec{padding:0;border:0;gap:6px}.fw-spec:last-child:not(.fw-size){border-left:1px solid #d8d4cb;padding-left:22px}.fw-spec strong{font-size:19px}.fw-size strong{font-size:25px}
 .fw-arrow{top:auto;bottom:61px;margin:0;width:44px;height:44px;font-size:23px}.fw-prev{left:auto;right:54px}.fw-next{right:0}
 .fw-bottom{margin-top:20px;display:flex;padding-top:0}.fw-pagination{gap:2px;max-width:calc(100% - 150px);flex-wrap:nowrap}.fw-pagination button{padding:0 4px;min-width:28px}.fw-pagination i{width:22px}.fw-pagination [aria-current=true] i{width:34px}.fw-all{margin-top:0;margin-left:auto;width:max-content;min-height:44px;font-size:12px;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){.featured-work *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.fw-track{padding-right:0}.fw-track::after{content:"";flex:0 0 calc(8% - 32px)}
.fw-slide:not(.is-current) .fw-meta{opacity:0}
.js .featured-work [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease;transition-delay:var(--delay,0ms)}
.js .featured-work [data-reveal].in{opacity:1;transform:none}
@media(max-width:859px){.fw-track::after{display:none}.js .featured-work [data-reveal]{transform:none}}
@media(prefers-reduced-motion:reduce){.js .featured-work [data-reveal]{opacity:1;transform:none;transition:none}}
