.home-projects{position:relative;padding:80px 0 45px;background:#fcfbf8;color:#09283f;font:17px/1.65 Arial,sans-serif;isolation:isolate}
.home-projects::before{content:"";position:absolute;inset:30px 0 0;background:#f2eee6;border-radius:48% 52% 0 0/55px 55px 0 0;z-index:-1}
.home-projects-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:35px}
.home-projects .eyebrow{font-size:15px;letter-spacing:.16em;line-height:1.6;margin:0 0 12px}
.home-projects h2{font-size:clamp(34px,3.2vw,48px);line-height:1.15;margin:0}
.home-projects .button{font-size:16px;flex-shrink:0}
.home-project-slide{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:65px;align-items:center;margin:0}
.home-project-slide[hidden]{display:none}
.home-project-photo{position:relative;aspect-ratio:1.3;overflow:hidden;border-radius:90px 32px 80px 32px;background:#ded8cf}
.home-project-photo img{width:100%;height:100%;object-fit:cover;animation:project-reveal .55s ease}
.home-project-photo.rotated img{position:absolute;width:100%;height:auto;aspect-ratio:1;left:0;top:50%;transform:translateY(-50%) rotate(var(--photo-rotation))}
.home-project-slide figcaption{padding-right:20px}
.home-project-slide figcaption>span{display:block;color:#73613f;font-size:15px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.home-project-slide h3{font:400 clamp(32px,3vw,44px)/1.15 Georgia,serif;margin:0 0 19px}
.home-project-slide p{font-size:17px;margin:0;max-width:310px}
.home-project-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}
.home-project-arrows{display:flex;gap:10px}
.home-project-controls button{font:16px/1.4 Arial,sans-serif;color:#09283f;cursor:pointer}
.home-project-arrows button{width:48px;height:48px;border:1px solid #a39a8b;border-radius:50%;background:transparent;font-size:24px}
.home-project-dots{display:flex;gap:1px}
.home-project-dots button{background:none;border:0;width:44px;height:44px;display:grid;place-items:center}
.home-project-dots span{width:9px;height:9px;background:#c2b9ab;border-radius:50%;transition:width .2s}
.home-project-dots button[aria-pressed=true] span{width:28px;border-radius:8px;background:#c9942a}
.home-project-pause{background:none;border:0;border-bottom:1px solid #c9942a;padding:10px 0}
.home-project-controls button:hover{color:#77623e}
.home-project-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.gallery-page .gallery-hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;padding-top:60px;padding-bottom:85px}
.gallery-page h1{font:400 clamp(44px,4.6vw,68px)/1.07 Georgia,serif;margin:18px 0 25px;letter-spacing:-.025em}
.gallery-hero-copy>p:not(.eyebrow){max-width:450px;font-size:18px;margin:0 0 28px}
.gallery-hero-image{position:relative;aspect-ratio:1;overflow:hidden;border-radius:43% 57% 37% 63%/30% 32% 68% 70%;background:#f2eee6}
.gallery-hero-image img{width:100%;height:100%;object-fit:cover}
.gallery-home{display:flex!important;width:fit-content;margin-top:24px}
.gallery-hero-line{position:absolute;right:-20px;bottom:22px;width:130px;height:150px;color:#d8cdbb;z-index:-1}
.gallery-collection{padding:50px 0 65px;scroll-margin-top:35px}
.collection-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end;margin-bottom:30px}
.collection-heading h2{margin-bottom:0}
.collection-heading>p{max-width:350px;margin:0 0 4px;color:#52565a}
.gallery-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:15px}
.gallery-filters button{border:1px solid #d9d0c2;border-radius:30px;padding:12px 22px;font:16px/1.4 Arial,sans-serif;background:transparent;color:#09283f;cursor:pointer;transition:background .2s,color .2s}
.gallery-filters button[aria-pressed=true]{background:#c9942a;border-color:#c9942a;color:white}
.gallery-filters button:hover{border-color:#c9942a}
.gallery-count{font-size:15px;color:#625947;margin:12px 0 25px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px;align-items:start}
.project-tile[hidden]{display:none}
.project-open{display:block;position:relative;width:100%;border:0;background:none;padding:0;cursor:zoom-in;text-align:left}
.project-image{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:28px;background:#e5dfd5}
.project-image img{width:100%;height:100%;object-fit:cover;transition:scale .45s}
.project-image.rotated img{transform:rotate(var(--photo-rotation))}
.project-open:hover img{scale:1.035}
.project-expand{position:absolute;bottom:17px;right:17px;width:44px;height:44px;background:#fcfbf8ed;border-radius:50%;font:25px/44px Arial,sans-serif;color:#09283f;text-align:center}
.project-caption{padding:18px 4px 0}
.project-caption p{font-size:15px;color:#73613f;margin:0 0 7px}
.gallery-page .project-caption h3{font-size:26px;margin:0;line-height:1.2}
.gallery-source{margin-top:48px;padding-top:25px;border-top:1px solid #ddd4c6}
.project-lightbox{position:fixed;inset:0;width:min(1040px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:0;border-radius:24px;background:#fcfbf8;color:#09283f;overflow:auto}
.project-lightbox::backdrop{background:#1a202ae8;backdrop-filter:blur(6px)}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.lightbox-toolbar p{font-size:16px;margin:0}
.lightbox-close{border:1px solid #d8cdbb;border-radius:30px;background:transparent;padding:10px 20px;font:16px/1.4 Arial,sans-serif;cursor:pointer;color:#09283f}
.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:20px;align-items:center}
.lightbox-stage img{width:min(100%,700px);height:auto;max-height:calc(100dvh - 210px);aspect-ratio:1;object-fit:contain;justify-self:center;transform:rotate(var(--photo-rotation,0deg))}
.lightbox-stage button{border:1px solid #cbbfae;border-radius:50%;width:48px;height:48px;background:transparent;font:24px Arial,sans-serif;cursor:pointer;color:#09283f}
#lightbox-caption{font-size:17px;text-align:center;margin:20px 0 0}
.gallery-page button:focus-visible,.home-projects button:focus-visible{outline:3px solid #77623e;outline-offset:5px}
@keyframes project-reveal{from{opacity:.5}to{opacity:1}}
@media(max-width:1180px){.gallery-page .gallery-hero{gap:35px}.gallery-hero-line{right:0;width:100px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-project-slide{gap:35px}}
@media(max-width:768px){.gallery-page .gallery-hero{grid-template-columns:1fr;padding-top:38px;gap:35px;padding-bottom:35px}.gallery-hero-copy>p:not(.eyebrow){max-width:100%}.gallery-hero-image{width:min(100%,550px);justify-self:center}.gallery-hero-line{display:none}.collection-heading{grid-template-columns:1fr;gap:15px}.collection-heading>p{max-width:100%}.gallery-collection{padding-top:40px}.home-projects-heading{align-items:start;flex-direction:column}.home-project-slide{grid-template-columns:1fr;gap:25px}.home-project-slide figcaption{padding:0 5px}.home-project-slide p{max-width:100%}.home-project-photo{aspect-ratio:1.25;border-radius:65px 25px 65px 25px}.home-projects{padding-top:65px;padding-bottom:30px}.lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px}.lightbox-stage button{width:40px;height:40px}.project-lightbox{padding:18px}}
@media(max-width:560px){.gallery-page .container{width:calc(100% - 40px)}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:4/3}.gallery-filters{gap:8px}.gallery-filters button{padding:10px 16px;font-size:15px}.gallery-page h1{font-size:44px}.gallery-page .collection-heading h2{font-size:34px}.home-project-controls{gap:8px;flex-wrap:wrap}.home-project-arrows button{width:44px;height:44px}.home-project-dots button{width:35px}.home-project-pause{font-size:15px!important}.lightbox-stage{grid-template-columns:1fr 1fr}.lightbox-stage img{grid-column:1/-1;grid-row:1}.lightbox-stage button{justify-self:center}.lightbox-toolbar p{font-size:15px}.lightbox-close{padding:8px 15px}}
@media(prefers-reduced-motion:reduce){.home-project-photo img{animation:none}.project-image img,.home-project-dots span{transition:none}}
@media(max-width:560px){.home-project-slide h3{min-height:2.3em}}
