.theme-toggle[data-astro-cid-x3pjskd3]{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:center;padding:0;transition:var(--transition-color)}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--color-text)}.theme-toggle[data-astro-cid-x3pjskd3] svg[data-astro-cid-x3pjskd3]{display:block;transition:var(--transition-transform)}.theme-toggle[data-astro-cid-x3pjskd3]:hover svg[data-astro-cid-x3pjskd3]{transform:scale(1.1)}.theme-toggle-sun[data-astro-cid-x3pjskd3],html[data-theme=dark] .theme-toggle-moon[data-astro-cid-x3pjskd3]{display:none}html[data-theme=dark] .theme-toggle-sun[data-astro-cid-x3pjskd3]{display:inline-flex}.language-switcher[data-astro-cid-a2mxz4y6]{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);justify-content:center;text-decoration:none;transition:var(--transition-color)}.language-switcher[data-astro-cid-a2mxz4y6]:hover{color:var(--color-text)}.footer[data-astro-cid-sz7xmlte]{background:var(--color-light-gray);border-top:var(--border-width) solid var(--color-border);margin-top:auto}.footer-container[data-astro-cid-sz7xmlte]{align-items:center;display:flex;flex-direction:column;gap:var(--space-sm);margin:0 auto;max-width:var(--container-md);padding:var(--space-md);text-align:center}.copyright[data-astro-cid-sz7xmlte]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.footer-icons[data-astro-cid-sz7xmlte]{align-items:center;display:flex;gap:var(--space-sm)}.footer-icons[data-astro-cid-sz7xmlte]>:not(script){align-items:center;display:flex;height:var(--icon-size-sm);line-height:var(--line-height-none)}.footer-icons[data-astro-cid-sz7xmlte]>script{display:none}.icon-link[data-astro-cid-sz7xmlte]{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;transition:var(--transition-color)}.icon-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-text)}.icon-link[data-astro-cid-sz7xmlte] svg[data-astro-cid-sz7xmlte]{display:block;transition:var(--transition-transform)}.icon-link[data-astro-cid-sz7xmlte]:hover svg[data-astro-cid-sz7xmlte]{transform:scale(1.1)}@media(width<=360px){.copyright[data-astro-cid-sz7xmlte]{font-size:var(--font-size-xs)}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-standard-italic.DxWqP7Ku.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-standard-italic.CGbN9UgK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-standard-italic.lSdLDfvT.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-400-normal.Rg4St2Dn.woff2) format("woff2"),url(/_astro/space-mono-latin-400-normal._3DlpgIW.woff) format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-700-normal.mWgeinG7.woff2) format("woff2"),url(/_astro/space-mono-latin-700-normal.D7A851RN.woff) format("woff")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-heading: "Fraunces Variable", Georgia, serif;--font-body: "Space Grotesk Variable", "Helvetica Neue", sans-serif;--font-mono: "Space Mono", "Courier New", monospace;--font-size-display: clamp(4rem, 15vw, 8rem);--font-size-h1: clamp(2.5rem, 1.58rem + 4.09vw, 8.125rem);--font-size-h2: clamp(1.75rem, 1.22rem + 2.36vw, 5rem);--font-size-h3: clamp(1.25rem, 1rem + 1.09vw, 2.75rem);--font-size-h4: clamp(1rem, .88rem + .55vw, 1.75rem);--font-size-body: clamp(1rem, .95rem + .23vw, 1.3125rem);--font-size-body-lg: clamp(1.0625rem, .94rem + .55vw, 1.8125rem);--font-size-small: clamp(.875rem, .84rem + .14vw, 1.0625rem);--font-size-xs: clamp(.75rem, .72rem + .14vw, .9375rem);--font-size-base: var(--font-size-body);--font-size-sm: var(--font-size-small);--font-size-lg: var(--font-size-body-lg);--font-size-xl: var(--font-size-h4);--font-size-2xl: var(--font-size-h3);--font-size-3xl: var(--font-size-h2);--font-size-4xl: var(--font-size-h1);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-none: 1;--line-height-tight: 1.1;--line-height-heading: 1.15;--line-height-snug: 1.2;--line-height-normal: 1.5;--line-height-body: 1.6;--line-height-relaxed: 1.7;--line-height-loose: 1.8;--letter-spacing-tighter: -.03em;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .1em;--letter-spacing-widest: .15em;--letter-spacing-caps: .2em;--color-bg: #ffffff;--color-bg-alt: #fafafa;--color-bg-muted: #f5f5f5;--color-white: #ffffff;--color-black: #000000;--color-zafiro: #4746ea;--color-zafiro-dark: #3635c8;--color-onix: #191919;--color-esmeralda: #00ae93;--color-peonia: #f3c3ac;--color-topacio: #ff4e13;--color-zafiro-75: #7574ef;--color-onix-75: #535353;--color-esmeralda-75: #40c2ae;--color-peonia-75: #f6d2c1;--color-topacio-75: #ff7a4e;--color-zafiro-50: #a3a2f5;--color-onix-50: #737373;--color-esmeralda-50: #80d7c9;--color-peonia-50: #f9e1d6;--color-topacio-50: #ffa789;--color-zafiro-25: #d1d1fa;--color-onix-25: #c6c6c6;--color-esmeralda-25: #bfebe4;--color-peonia-25: #fcf0ea;--color-topacio-25: #ffd3c4;--color-text: var(--color-onix);--color-text-primary: var(--color-onix);--color-text-secondary: #4a4a4a;--color-text-muted: var(--color-onix-50);--color-text-subtle: var(--color-onix-75);--color-gray: var(--color-onix-50);--color-light-gray: #f5f5f5;--color-error: #dc2626;--color-accent: var(--color-zafiro-dark);--color-accent-hover: #2a29aa;--color-border: #e5e5e5;--color-border-dark: #d1d1d1;--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-black-alpha-95: rgba(0, 0, 0, .95);--space-3xs: .25rlh;--space-2xs: .5rlh;--space-xs: .75rlh;--space-sm: 1rlh;--space-md: 1.5rlh;--space-lg: 2rlh;--space-xl: 3rlh;--space-2xl: 4rlh;--space-3xl: 6rlh;--space-4xl: 8rlh;--container-sm: 680px;--container-md: 960px;--container-lg: 1200px;--container-xl: 1400px;--max-width-text: 700px;--max-width-content: 600px;--max-width-narrow: 400px;--navbar-height: 200px;--navbar-height-mobile: 134px;--border-radius-sm: 2px;--border-radius-lg: 4px;--border-radius-full: 9999px;--border-width: 1px;--border-width-thicker: 2.5px;--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-slower: .6s ease;--transition-transform: transform .3s ease;--transition-color: color .3s ease;--transition-opacity: opacity .3s ease;--transition-shadow: box-shadow .3s ease;--z-index-dropdown: 100;--z-index-sticky: 500;--z-index-fixed: 1000;--z-index-modal: 1001;--z-index-lightbox: 9999;--blur-sm: 10px;--hamburger-size: 40px;--hamburger-line-width: 28px;--hamburger-line-height: 20px;--hamburger-line-spacing: 8px;--hamburger-margin-adjust: -1px;--icon-size-sm: 20px;--icon-size-md: 48px;--icon-size-lg: 60px;--icon-size-standard: 28px;--textarea-min-height: 120px;--position-bottom-link: -4px;--rotate-45: 45deg;--rotate-90: 90deg}html[data-theme=dark]{--color-bg: #1a1a1a;--color-bg-alt: #222222;--color-bg-muted: #2a2a2a;--color-white: #ffffff;--color-black: #000000;--color-text: #e5e5e5;--color-text-primary: #e5e5e5;--color-text-secondary: #bfbfbf;--color-text-muted: #999999;--color-text-subtle: #999999;--color-gray: #999999;--color-light-gray: #2a2a2a;--color-error: #f87171;--color-accent: #a3a2f5;--color-accent-hover: #d1d1fa;--color-border: #777777;--color-border-dark: #888888;--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-black-alpha-95: rgba(0, 0, 0, .95);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4)}html[data-theme=dark] .btn-primary,html[data-theme=dark] .btn-primary:hover,html[data-theme=dark] .skip-link,html[data-theme=dark] .collection-link:hover,html[data-theme=dark] .collection-link:hover .link-title{color:var(--color-bg)}html[data-theme=dark] .collection-card:hover{background-color:var(--color-zafiro-25)}html[data-theme=dark] .numbered-item:hover{background-color:var(--color-peonia-25)}html[data-theme=dark] .numbered-item:hover .numbered-item-number{color:var(--color-onix-75)}html[data-theme=dark] .numbered-item:hover .numbered-item-title,html[data-theme=dark] .numbered-item:hover .feature-list,html[data-theme=dark] .numbered-item:hover .extras-item-name,html[data-theme=dark] .numbered-item:hover .info-section-title{color:var(--color-onix)}html[data-theme=dark] .numbered-item:hover .item-cta,html[data-theme=dark] .numbered-item:hover .extras-item-price,html[data-theme=dark] .numbered-item:hover .package-price,html[data-theme=dark] .numbered-item:hover .format-price{color:var(--color-zafiro-dark)}html[data-theme=dark] .numbered-item:hover .package-meta{color:var(--color-onix-75)}html[data-theme=dark] .collection-card:hover .collection-title,html[data-theme=dark] .collection-card:hover .collection-description{color:var(--color-onix)}html{font-family:var(--font-body);font-size:clamp(1rem,.975rem + .125vw,1.0625rem);line-height:var(--line-height-normal);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-text-secondary);display:flex;flex-direction:column;font-feature-settings:"kern" 1,"calt" 1,"liga" 1,"ss01" 1,"ss02" 1,"zero" 1,"onum" 1;font-kerning:normal;font-size:var(--font-size-body);font-variant-ligatures:common-ligatures contextual;font-variant-numeric:oldstyle-nums proportional-nums;font-weight:300;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-relaxed);min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-family:var(--font-heading);font-feature-settings:"kern" 1,"calt" 1,"liga" 1,"dlig" 1,"onum" 1,"case" 1,"cpsp" 1;font-optical-sizing:auto;font-style:italic;font-variant-ligatures:common-ligatures discretionary-ligatures contextual;font-variation-settings:"wght" 100,"opsz" 72,"SOFT" 0,"WONK" 1;letter-spacing:var(--letter-spacing-wider);line-height:var(--line-height-heading);margin-bottom:var(--space-md)}h1{font-size:var(--font-size-h1);font-variation-settings:"wght" 100,"opsz" 144,"SOFT" 0,"WONK" 1;letter-spacing:var(--letter-spacing-caps);line-height:var(--line-height-tight);text-transform:uppercase}h2{font-size:var(--font-size-h2);letter-spacing:var(--letter-spacing-widest)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}p{color:var(--color-text-secondary);font-size:var(--font-size-body);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-relaxed)}strong,b{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}em,i{color:var(--color-accent);font-family:var(--font-heading);font-style:italic;font-variation-settings:"wght" 100,"opsz" 12,"SOFT" 0,"WONK" 1}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}img{display:block;height:auto;max-width:100%}button{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit}.container{margin-left:auto;margin-right:auto;max-width:var(--container-lg);padding-left:var(--space-md);padding-right:var(--space-md);width:100%}@media(max-width:640px){.container{padding-left:var(--space-xs);padding-right:var(--space-xs)}}.section{padding-bottom:var(--space-lg);padding-top:var(--space-lg)}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}::selection{background-color:var(--color-accent);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{background:var(--color-accent);color:var(--color-white);font-weight:var(--font-weight-semibold);left:50%;padding:var(--space-sm) var(--space-md);position:fixed;text-decoration:none;top:var(--space-sm);transform:translate(-50%) translateY(-200%);transition:transform var(--transition-fast);z-index:calc(var(--z-index-modal) + 1)}.skip-link:focus{transform:translate(-50%) translateY(0)}.btn-primary,.btn-secondary{border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);padding:var(--space-sm) var(--space-lg);text-decoration:none;text-transform:uppercase;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn-primary{background:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-white)}.btn-secondary{background:var(--color-light-gray);color:var(--color-text-secondary)}.btn-secondary:hover{background:var(--color-border)}.collection-links{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:flex-start}.collection-link{align-items:center;background:var(--color-light-gray);border-radius:var(--border-radius-sm);color:inherit;display:flex;flex-direction:row;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);text-decoration:none;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.collection-link:hover{background:var(--color-accent);box-shadow:var(--shadow-md);color:var(--color-white);transform:translateY(-2px)}.link-title{color:var(--color-accent);font-family:var(--font-mono);font-feature-settings:"kern" 1,"tnum" 1,"zero" 1,"ss01" 1,"case" 1,"cpsp" 1;font-size:var(--font-size-base);font-variant-numeric:tabular-nums;letter-spacing:var(--letter-spacing-normal);text-transform:uppercase}.collection-link:hover .link-title{color:var(--color-white)}@media(width<=480px){.collection-link{flex:1 1 calc(50% - var(--space-sm) / 2);justify-content:center;min-width:fit-content}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-muted)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}input,textarea,select{color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-body);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-normal)}input::placeholder,textarea::placeholder{color:var(--color-text-subtle)}li::marker{color:var(--color-accent)}.skeleton{align-items:center;background-color:var(--color-accent);color:var(--color-white);display:flex;justify-content:center;overflow:hidden;position:relative;text-align:center}.skeleton:before{background:linear-gradient(90deg,transparent 0%,oklch(from var(--color-accent) l c h / .3) 50%,transparent 100%);content:"";height:100%;left:0;position:absolute;top:0;transition:opacity var(--transition-base);width:100%;z-index:0}@media(prefers-reduced-motion:no-preference){.skeleton:before{animation:skeleton-shimmer 1.5s infinite}}.skeleton.loaded:before{animation:none;content:none}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes skeleton-fade-in{0%{opacity:0}to{opacity:1}}.skeleton img{position:relative;z-index:1}@media(prefers-reduced-motion:no-preference){.skeleton img:not([data-astro-transition-scope]){animation:skeleton-fade-in .3s ease-out}}.skeleton:has(img[data-astro-transition-scope]){overflow:visible}.skeleton.error{min-height:200px}.skeleton.error:after{color:var(--color-white);content:attr(data-alt);font-family:var(--font-body);font-size:var(--font-size-sm);left:50%;line-height:var(--line-height-relaxed);max-width:80%;padding:var(--space-md);position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:2}.skeleton.error img{opacity:0}.section-title{color:var(--color-accent);font-family:var(--font-heading);font-feature-settings:"kern" 1,"calt" 1,"liga" 1,"dlig" 1,"onum" 1;font-optical-sizing:auto;font-size:var(--font-size-h2);font-style:italic;font-variation-settings:"wght" 100,"opsz" 50,"SOFT" 0,"WONK" 1;letter-spacing:var(--letter-spacing-widest);margin-bottom:var(--space-xs);text-transform:uppercase}.gallery-index-page{padding:var(--space-3xl) 0}.gallery-index-page .section{padding-top:0}.page-title{font-size:var(--font-size-h1);margin-bottom:var(--space-xl);text-transform:uppercase}.page-subtitle{color:var(--color-gray);font-size:var(--font-size-lg);margin-bottom:var(--space-xl);max-width:var(--max-width-content)}.info-section-title{color:var(--color-text-subtle);font-family:var(--font-mono);font-feature-settings:"kern" 1,"tnum" 1,"zero" 1,"ss01" 1,"case" 1,"cpsp" 1;font-size:var(--font-size-sm);font-style:normal;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-md);text-transform:uppercase}.collections-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(3,1fr)}@media(width<=768px){.collections-grid{grid-template-columns:repeat(2,1fr)}}.collection-card{color:inherit;display:block;text-decoration:none;transition:background-color var(--transition-fast)}.collection-card:hover{background-color:var(--color-peonia-25)}.collection-card:hover .collection-image img{transform:scale(1.02)}.collection-image{align-items:center;aspect-ratio:3 / 4;background:var(--color-accent);display:flex;justify-content:center;overflow:hidden;position:relative}.collection-image picture{display:contents}.collection-image img{height:100%;object-fit:cover;transition:transform var(--transition-slower);width:100%}.collection-info{padding:var(--space-sm) var(--space-2xs)}.collection-title{color:var(--color-text);font-family:var(--font-mono);font-feature-settings:"kern" 1,"tnum" 1,"zero" 1,"ss01" 1,"case" 1,"cpsp" 1;font-size:var(--font-size-lg);font-style:normal;font-variant-numeric:tabular-nums;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-3xs);text-transform:uppercase;transition:color var(--transition-fast)}.collection-card:hover .collection-title{color:var(--color-accent)}.collection-description{color:var(--color-text-subtle);font-family:var(--font-heading);font-size:var(--font-size-h4);font-style:italic;font-variation-settings:"wght" 100,"opsz" 21,"SOFT" 0,"WONK" 1;line-height:var(--line-height-relaxed)}.project-detail{min-height:calc(100vh - var(--navbar-height));min-height:calc(100dvh - var(--navbar-height));padding:var(--space-xl) 0}.project-header{margin-bottom:var(--space-lg);text-align:center}.back-link{color:var(--color-text-muted);display:inline-block;font-size:var(--font-size-sm);margin-bottom:var(--space-md);text-decoration:none;transition:var(--transition-color)}.back-link:hover{color:var(--color-accent)}.project-title{font-size:var(--font-size-h1);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-sm)}.project-description{color:var(--color-gray);font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);margin:0 auto var(--space-lg);max-width:var(--max-width-text)}.project-meta{display:flex;gap:var(--space-lg);justify-content:center}.meta-item{color:var(--color-text-subtle);font-family:var(--font-mono);font-feature-settings:"kern" 1,"tnum" 1,"zero" 1,"ss01" 1,"case" 1,"cpsp" 1;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide)}.shooting-rows{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.shooting-rows .react-photos-grid{margin-bottom:0}.photos-grid,.react-photos-grid{gap:var(--space-sm);list-style:none;margin-bottom:var(--space-xl);padding:0}.photos-grid .photo-card,.react-photos-grid .photo-card{background:var(--color-bg);cursor:pointer;display:block;overflow:hidden;text-decoration:none;transition:var(--transition-transform),var(--transition-shadow)}.react-photos-grid .photo-card{background:none;border:none;padding:0;pointer-events:auto;position:relative;z-index:1}.photos-grid .photo-card:hover,.react-photos-grid .photo-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.photos-grid .photo-image,.react-photos-grid .photo-image{background:var(--color-bg-muted);overflow:hidden;position:relative}.react-photos-grid .photo-image{pointer-events:none}.photos-grid .photo-card:hover .photo-image img,.react-photos-grid .photo-card:hover .photo-image img{transform:scale(1.03)}.photos-grid--grid,.react-photos-grid[data-layout=grid]{display:grid;grid-template-columns:repeat(4,1fr)}.photos-grid--grid>li{aspect-ratio:3 / 4}.photos-grid--grid .photo-card,.photos-grid--grid .photo-image{height:100%}.photos-grid--grid .photo-image picture{display:contents}.photos-grid--grid .photo-image img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.photos-grid--flex,.react-photos-grid:not([data-layout=grid]){display:flex;flex-wrap:wrap;justify-content:flex-start}.photos-grid--flex>li,.react-photos-grid:not([data-layout=grid])>li{flex:0 0 auto}.photos-grid--flex .photo-image,.react-photos-grid:not([data-layout=grid]) .photo-image{height:350px}.photos-grid--flex .photo-image picture,.react-photos-grid:not([data-layout=grid]) .photo-image picture{display:block;height:100%}.photos-grid--flex .photo-image img,.react-photos-grid:not([data-layout=grid]) .photo-image img{display:block;height:100%;transition:transform var(--transition-slow);width:auto}.react-photos-grid .photo-image img{pointer-events:none}.photo-card:has(img[data-astro-transition-scope]),.photo-image:has(img[data-astro-transition-scope]){overflow:visible}.other-collections{padding-top:var(--space-lg)}.other-collections:first-of-type{margin-top:0}.other-collections h2{font-size:calc(var(--font-size-h2) * .5);margin-bottom:var(--space-sm);text-align:center}@media(width<=768px){.project-detail{padding:var(--space-md) 0}.photos-grid--grid,.react-photos-grid[data-layout=grid]{grid-template-columns:repeat(3,1fr)}.photos-grid--flex .photo-image,.react-photos-grid:not([data-layout=grid]) .photo-image{height:280px}}@media(width<=576px){.photos-grid,.react-photos-grid{gap:var(--space-xs)}.photos-grid--grid,.react-photos-grid[data-layout=grid]{grid-template-columns:repeat(2,1fr)}.photos-grid--flex .photo-image,.react-photos-grid:not([data-layout=grid]) .photo-image{height:200px}}.photos-grid.blur-effect .photo-image{overflow:hidden;position:relative}.photos-grid.blur-effect .photo-image:after{background:color-mix(in oklch,var(--color-peonia) 25%,transparent);content:"";inset:0;position:absolute;transition:opacity .5s ease,transform .3s ease;z-index:1}.photos-grid.blur-effect .photo-image img{filter:blur(var(--blur-sm));transform:scale(1.1);transition:filter .5s ease,transform .3s ease}.photos-grid.blur-effect .photo-card:hover .photo-image:after,.photos-grid.blur-effect .photo-card:focus-visible .photo-image:after{opacity:0;transform:translateY(-100%)}.photos-grid.blur-effect .photo-card:hover .photo-image img,.photos-grid.blur-effect .photo-card:focus-visible .photo-image img{filter:blur(0);transform:scale(1.03)}.result-page .actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-lg)}.result-page .links{display:flex;gap:var(--space-md);justify-content:center}.result-page .links a{color:var(--color-text-muted);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.result-page .links a:hover{color:var(--color-accent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
