@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");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:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");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:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,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:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");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:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");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:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,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:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,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:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_589abc{font-family:Cormorant Garamond,Cormorant Garamond Fallback}.__variable_589abc{--font-cormorant:"Cormorant Garamond","Cormorant Garamond Fallback"}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");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:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,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:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");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:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,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:Caveat Fallback;src:local("Arial");ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.00%;size-adjust:76.94%}.__className_5d185b{font-family:Caveat,Caveat Fallback;font-style:normal}.__variable_5d185b{--font-caveat:"Caveat","Caveat Fallback"}@font-face{font-family:IM Fell English;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/50af7580c16e943a-s.p.woff2) format("woff2");unicode-range:u+00??,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:IM Fell English;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/565f544356a75cf3-s.p.woff2) format("woff2");unicode-range:u+00??,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:IM Fell English Fallback;src:local("Times New Roman");ascent-override:88.71%;descent-override:35.60%;line-gap-override:0.00%;size-adjust:102.04%}.__className_98fc1d{font-family:IM Fell English,IM Fell English Fallback;font-weight:400}.__variable_98fc1d{--font-im-fell:"IM Fell English","IM Fell English Fallback"}:root{--cream:#fbf8f1;--cream-dark:#f1ebda;--ink:#1a1a16;--ink-light:#4a473e;--ink-faint:#8a857e;--sepia:#4e5c3a;--sepia-light:#bf8227;--accent-warm:#e5b25c;--border:#dad1b9;--shadow:rgba(26,26,22,0.08)}*{box-sizing:border-box;margin:0;padding:0}body{background:#e4dfd1;font-family:var(--font-caveat),cursive;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 20px;background-image:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(0,0,0,.015) 0,rgba(0,0,0,.015) 29px)}.card{background:var(--cream);width:780px;max-width:100%;padding:48px 52px;position:relative;box-shadow:0 1px 0 var(--border) inset,0 -1px 0 var(--border) inset,4px 4px 0 #d3cdbc,8px 8px 0 #c7c1b2,0 20px 60px rgba(0,0,0,.15);margin-bottom:40px;animation:fadeIn .6s ease both}.card:before{inset:6px;border:.5px solid var(--border)}.card:after,.card:before{content:"";position:absolute;pointer-events:none}.card:after{inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");opacity:.5}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:36px;position:relative;z-index:1}.names{flex:1 1}.nom-commun{font-family:var(--font-caveat),cursive;font-size:32px;font-weight:500;color:var(--ink);line-height:1.1;letter-spacing:.02em}.nom-scientifique{font-family:var(--font-cormorant),serif;font-style:italic;font-size:16px;color:var(--ink-light);margin-top:4px;letter-spacing:.03em;border-bottom:.5px solid var(--sepia-light);display:inline-block;padding-bottom:1px}.meta{text-align:right;font-family:var(--font-caveat),cursive;color:var(--ink-light)}.meta-sexe{font-size:22px;line-height:1;margin-bottom:6px;color:var(--ink)}.meta-taille{font-size:17px;color:var(--ink-light)}.divider{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--border),var(--sepia-light),var(--border),transparent);margin-bottom:32px;position:relative;z-index:1}.divider-dot{position:absolute;top:-3px;left:50%;transform:translateX(-50%);width:6px;height:6px;background:var(--sepia-light);border-radius:50%}.illustration-zone{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:stretch;margin-bottom:28px;z-index:1}.illus-panel{display:flex;flex-direction:column;gap:8px}.illus-label{font-family:var(--font-im-fell),serif;font-size:9px;letter-spacing:.3em;text-transform:uppercase}.illus-label,.illustration-placeholder{color:var(--ink-faint);text-align:center}.illustration-placeholder{flex:1 1;min-height:260px;border:1px dashed var(--border);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-cormorant),serif;font-size:13px;gap:8px;background:rgba(255,255,255,.3);cursor:pointer;transition:border-color .2s,background .2s;position:relative;overflow:hidden}.illustration-placeholder:hover{border-color:var(--sepia-light);background:rgba(255,255,255,.5)}.illustration-placeholder .icon{font-size:28px;opacity:.35}.illustration-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:2px}.illus-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--border);font-family:var(--font-cormorant),serif;font-size:11px;font-style:italic;letter-spacing:.05em;min-width:20px}.illus-divider-line{width:.5px;flex:1 1;background:var(--border);max-height:60px}.photo-credit{font-family:var(--font-cormorant),serif;font-size:10px;font-style:italic;color:var(--ink-faint);text-align:center;letter-spacing:.04em;min-height:16px}.photo-credit span{color:var(--sepia-light)}.file-input-hidden{display:none}@media (max-width:820px){.illustration-zone{grid-template-columns:1fr}}.footer{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:.5px solid var(--border);position:relative;z-index:1}.footer-habitat{font-family:var(--font-cormorant),serif;font-size:12px;font-style:italic;color:var(--ink-faint);letter-spacing:.05em}.footer-region{font-family:var(--font-caveat),cursive;font-size:13px;color:var(--ink-faint)}.footer-logo{display:flex;align-items:center;justify-content:center}.footer-logo-img{height:36px;width:auto;opacity:.22;filter:grayscale(1);transition:opacity .3s}.card:hover .footer-logo-img{opacity:.35}.controls-panel{background:var(--cream);width:780px;max-width:100%;padding:32px 52px;box-shadow:4px 4px 0 #d3cdbc,0 10px 30px rgba(0,0,0,.1);margin-bottom:40px;animation:fadeIn .8s ease .2s both}.controls-title{font-family:var(--font-im-fell),serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:24px;padding-bottom:10px;border-bottom:.5px solid var(--border)}.controls-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px 40px;gap:20px 40px}.control-group{display:flex;flex-direction:column;gap:6px}.control-label{font-family:var(--font-cormorant),serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint)}.control-input{font-family:var(--font-caveat),cursive;font-size:18px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);padding:4px 0;outline:none;width:100%;transition:border-color .2s}.control-input:focus{border-bottom-color:var(--sepia)}.control-select{font-family:var(--font-caveat),cursive;font-size:18px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);padding:4px 0;outline:none;cursor:pointer;width:100%}.btn-generate{margin-top:24px;font-family:var(--font-cormorant),serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:var(--cream);border:none;padding:12px 28px;cursor:pointer;transition:background .2s,transform .1s}.btn-generate:hover{background:var(--sepia);transform:translateY(-1px)}.btn-generate:active{transform:translateY(0)}#preview-card{transition:opacity .15s ease}.annotation-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-caveat),cursive;font-size:15px;color:var(--ink-light);margin:4px 6px 4px 0;cursor:pointer;transition:color .2s}.annotation-chip:hover{color:var(--sepia)}.annotation-chip:before{content:"—";color:var(--border);font-size:12px}.chip-remove{color:var(--border);font-size:11px;margin-left:2px;cursor:pointer;background:none;border:none;padding:0;line-height:1}.chip-remove:hover{color:var(--sepia)}.annotation-input-row{display:flex;gap:8px;margin-top:10px;align-items:center}.annotation-input-row input{font-family:var(--font-caveat),cursive;font-size:16px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);padding:2px 0;outline:none;flex:1 1}.btn-add{font-family:var(--font-cormorant),serif;font-size:11px;letter-spacing:.15em;background:transparent;color:var(--ink-faint);border:.5px solid var(--border);padding:4px 10px;cursor:pointer;transition:all .2s}.btn-add:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}.preview-annotations{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.preview-annotation-tag{font-family:var(--font-caveat),cursive;font-size:15px;color:var(--ink-light);display:flex;align-items:center;gap:6px}.preview-annotation-tag:before{content:"";display:inline-block;width:18px;height:.5px;background:var(--ink-light);vertical-align:middle}.section-label{font-family:var(--font-im-fell),serif;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:32px;margin-top:8px;text-align:center;width:780px;max-width:100%;animation:fadeIn .5s ease both}.page-title-logo{margin-bottom:36px;text-align:center;animation:fadeIn .4s ease both}.page-logo{height:110px;width:auto;opacity:.92;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.nav-burger{position:fixed;top:20px;right:20px;z-index:50;background:var(--cream);border:.5px solid var(--border);width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-shadow:2px 2px 0 #d3cdbc;transition:background .2s}.nav-burger:hover{background:var(--cream-dark)}.nav-burger span{display:block;width:18px;height:1px;background:var(--ink)}.nav-overlay{position:fixed;inset:0;background:var(--ink);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.nav-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.nav-close{position:fixed;top:22px;right:22px;background:none;border:none;color:var(--ink-faint);font-size:20px;cursor:pointer;font-family:var(--font-cormorant),serif;transition:color .2s;line-height:1}.nav-close:hover{color:var(--cream)}.nav-label{font-family:var(--font-im-fell),serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:48px;opacity:.5}.nav-links{display:flex;flex-direction:column;align-items:center;gap:28px}.nav-link{font-family:var(--font-im-fell),serif;font-size:36px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none;transition:color .2s;line-height:1}.nav-link:hover{color:var(--cream)}.nav-link--active{color:var(--sepia-light)}.nav-lang-switch{display:flex;align-items:center;gap:4px;margin-top:36px}.nav-lang-btn{font-family:var(--font-im-fell),serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;background:none;border:none;color:var(--ink-faint);padding:6px 10px;cursor:pointer;transition:color .2s;opacity:.45}.nav-lang-btn.active{color:var(--sepia-light);opacity:1}.nav-lang-btn:hover{opacity:.85}.nav-lang-sep{font-size:14px;opacity:.2;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-footer-label,.nav-lang-sep{font-family:var(--font-cormorant),serif;color:var(--ink-faint)}.nav-footer-label{font-style:italic;font-size:13px;margin-top:52px;letter-spacing:.08em;opacity:.4}.portfolio-grid{width:780px;max-width:100%;column-count:2;column-gap:24px;margin-bottom:40px}.portfolio-card{page-break-inside:avoid;break-inside:avoid;margin-bottom:24px;background:var(--cream);position:relative;box-shadow:3px 3px 0 #d3cdbc,0 8px 24px rgba(0,0,0,.1);animation:fadeIn .5s ease both;overflow:hidden;cursor:zoom-in;border:none;padding:0;text-align:left;display:block;width:100%;transition:box-shadow .2s,transform .2s}.portfolio-card:hover{box-shadow:5px 5px 0 #d3cdbc,0 16px 40px rgba(0,0,0,.15);transform:translateY(-2px)}.portfolio-card-image{width:100%;background:#fcfaf3;overflow:hidden}.portfolio-card-info{padding:14px 18px 16px;border-top:.5px solid var(--border)}.portfolio-card-nom{font-family:var(--font-caveat),cursive;font-size:20px;color:var(--ink);line-height:1.2}.portfolio-card-sci{font-family:var(--font-cormorant),serif;font-style:italic;font-size:13px;color:var(--ink-light);margin-top:2px;letter-spacing:.03em}.portfolio-card-meta{font-size:11px;margin-top:6px;letter-spacing:.06em;min-height:14px}.portfolio-card-meta,.portfolio-card-zoom{font-family:var(--font-cormorant),serif;color:var(--ink-faint)}.portfolio-card-zoom{position:absolute;top:10px;right:10px;background:rgba(245,240,232,.85);font-size:18px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:none}.portfolio-card:hover .portfolio-card-zoom{opacity:1}.lightbox{position:fixed;inset:0;background:rgba(30,26,22,.96);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;cursor:zoom-out}.lightbox-close{position:fixed;top:20px;right:20px;background:none;border:none;color:var(--ink-faint);font-size:22px;font-family:var(--font-cormorant),serif;cursor:pointer;transition:color .2s;z-index:10;line-height:1}.lightbox-close:hover{color:var(--cream)}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ink-faint);font-family:var(--font-cormorant),serif;font-size:52px;cursor:pointer;transition:color .2s;z-index:10;line-height:1;padding:0 20px}.lightbox-nav:hover{color:var(--cream)}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-content{flex-direction:column;gap:20px;cursor:default;max-height:90vh}.lightbox-content,.lightbox-image-wrap{display:flex;align-items:center;max-width:90vw}.lightbox-image-wrap{justify-content:center;max-height:80vh}.lightbox-image{max-width:90vw;max-height:80vh;width:auto;height:auto;object-fit:contain;box-shadow:0 8px 60px rgba(0,0,0,.5)}.lightbox-caption{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:center}.lightbox-caption-nom{font-family:var(--font-caveat),cursive;font-size:22px;color:var(--cream);letter-spacing:.02em}.lightbox-caption-sci{font-family:var(--font-cormorant),serif;font-style:italic;font-size:15px;color:var(--sepia-light);letter-spacing:.04em}.lightbox-caption-meta{letter-spacing:.08em}.lightbox-caption-meta,.lightbox-counter{font-family:var(--font-cormorant),serif;font-size:12px;color:var(--ink-faint)}.lightbox-counter{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);letter-spacing:.15em}@media (max-width:820px){.portfolio-grid{column-count:1}.lightbox-nav{font-size:36px;padding:0 10px}}.card-wrapper{position:relative;width:780px;max-width:100%;margin-bottom:40px}.card-wrapper .card{margin-bottom:0}.card--active{box-shadow:0 1px 0 var(--sepia-light) inset,0 -1px 0 var(--sepia-light) inset,4px 4px 0 #d3cdbc,8px 8px 0 #c7c1b2,0 20px 60px rgba(0,0,0,.15)}.card-active-label{position:absolute;top:-22px;left:0;font-family:var(--font-im-fell),serif;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--sepia)}.btn-new-card{width:780px;max-width:100%;font-family:var(--font-cormorant),serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;background:transparent;color:var(--ink-faint);border:1px dashed var(--border);padding:18px 28px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,border-style .2s;margin-bottom:56px}.btn-new-card:hover{background:var(--cream);color:var(--ink);border-color:var(--sepia-light);border-style:solid}.site-footer{width:780px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 0 48px;text-align:center}.site-footer-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--border),var(--sepia-light),var(--border),transparent);margin-bottom:28px}.site-footer-logo{height:64px;width:auto;opacity:.3;filter:grayscale(1)}.site-footer-name{font-family:var(--font-im-fell),serif;font-size:14px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-faint)}.site-footer-tagline{font-style:italic;font-size:13px;letter-spacing:.06em;opacity:.8}.site-footer-copy,.site-footer-tagline{font-family:var(--font-cormorant),serif;color:var(--ink-faint)}.site-footer-copy{font-size:11px;letter-spacing:.12em;opacity:.6;margin-top:4px}.page-intro{width:780px;max-width:100%;background:var(--cream);padding:20px 28px;border-left:2px solid var(--sepia-light);margin-bottom:28px;animation:fadeIn .5s ease both}.page-intro-text{font-family:var(--font-cormorant),serif;font-size:15px;color:var(--ink-light);line-height:1.75;letter-spacing:.02em;font-style:italic}.upload-section{margin-top:28px;padding-top:24px;border-top:.5px solid var(--border)}.upload-section-title{font-family:var(--font-im-fell),serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px}.upload-grid{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}.upload-grid--two{grid-template-columns:1fr 1fr}.upload-group{display:flex;flex-direction:column;gap:8px}.upload-label{font-family:var(--font-cormorant),serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint)}.upload-zone{min-height:140px;border:1px dashed var(--border);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;background:rgba(255,255,255,.3);transition:border-color .2s,background .2s;gap:8px}.upload-zone:hover{border-color:var(--sepia-light);background:rgba(255,255,255,.5)}.upload-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.upload-icon{font-size:26px;opacity:.35}.upload-hint{font-family:var(--font-cormorant),serif;font-size:12px;color:var(--ink-faint);text-align:center;font-style:italic}.upload-remove{position:absolute;top:6px;right:6px;background:rgba(245,240,232,.92);border:none;color:var(--ink-faint);font-size:11px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:color .2s}.upload-remove:hover{color:var(--ink)}@media (max-width:820px){.upload-grid--two{grid-template-columns:1fr}}.galerie-dual-thumb{display:grid;grid-template-columns:1fr 1fr}.galerie-dual-thumb img{width:100%;height:170px;object-fit:cover;display:block}.galerie-dual-thumb img:first-child{border-right:.5px solid var(--border)}.lightbox-dual{display:flex;align-items:flex-start;gap:2px;max-width:88vw}.lightbox-dual-item{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1 1}.lightbox-image-half{max-width:42vw;max-height:72vh;width:auto;height:auto;object-fit:contain;box-shadow:0 8px 60px rgba(0,0,0,.5)}.lightbox-dual-sep{width:.5px;background:rgba(154,144,136,.3);align-self:stretch;margin:0 12px}.lightbox-dual-label{font-family:var(--font-im-fell),serif;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-faint);opacity:.7}@media (max-width:820px){.lightbox-dual{flex-direction:column;align-items:center;gap:16px;max-width:90vw}.lightbox-dual-sep{display:none}.lightbox-image-half{max-width:85vw;max-height:35vh}}.login-wrap{width:780px;justify-content:center;margin-bottom:40px}.login-form,.login-wrap{max-width:100%;display:flex}.login-form{background:var(--cream);padding:40px 52px;box-shadow:4px 4px 0 #d3cdbc,0 10px 30px rgba(0,0,0,.1);flex-direction:column;gap:20px;width:420px;animation:fadeIn .5s ease both}.login-mode-switch{display:flex;gap:0;border-bottom:.5px solid var(--border);margin-bottom:4px}.login-mode-btn{flex:1 1;font-family:var(--font-im-fell),serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;background:none;color:var(--ink-faint);padding:10px;cursor:pointer;transition:color .2s;border:none;border-bottom:1.5px solid transparent;margin-bottom:-.5px}.login-mode-btn.active{color:var(--ink);border-bottom-color:var(--sepia)}.login-error{color:#c0392b}.login-error,.login-message{font-family:var(--font-cormorant),serif;font-size:14px;font-style:italic}.login-message{color:var(--sepia)}.login-back{font-family:var(--font-cormorant),serif;font-size:13px;color:var(--ink-faint);text-decoration:none;text-align:center;letter-spacing:.05em;transition:color .2s}.login-back:hover{color:var(--sepia)}.submit-zone{width:780px;max-width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.btn-submit{font-family:var(--font-cormorant),serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;background:var(--sepia);color:var(--cream);border:none;padding:13px 30px;cursor:pointer;transition:background .2s,transform .1s}.btn-submit:hover{background:var(--ink);transform:translateY(-1px)}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{background:var(--ink-faint);cursor:not-allowed;transform:none}.btn-submit-login{font-family:var(--font-cormorant),serif;font-size:14px;font-style:italic;letter-spacing:.06em;color:var(--ink-faint);text-decoration:none;border-bottom:.5px solid var(--border);transition:color .2s;padding-bottom:1px}.btn-submit-login:hover{color:var(--sepia);border-bottom-color:var(--sepia-light)}.submit-success{color:var(--sepia);letter-spacing:.04em}.submit-error,.submit-success{font-family:var(--font-cormorant),serif;font-size:14px;font-style:italic}.submit-error{color:#c0392b}.nav-auth-sep{width:40px;height:.5px;background:var(--ink-faint);opacity:.2;margin:24px 0 20px}.nav-auth{display:flex;flex-direction:column;align-items:center;gap:12px}.nav-auth-email{font-family:var(--font-cormorant),serif;font-style:italic;letter-spacing:.06em;opacity:.5}.nav-auth-btn,.nav-auth-email{font-size:13px;color:var(--ink-faint)}.nav-auth-btn{font-family:var(--font-im-fell),serif;letter-spacing:.2em;text-transform:uppercase;background:none;border:.5px solid rgba(154,144,136,.4);padding:8px 22px;cursor:pointer;text-decoration:none;display:inline-block;transition:color .2s,border-color .2s}.nav-auth-btn:hover{color:var(--cream);border-color:rgba(245,240,232,.4)}.admin-wrap{width:780px;max-width:100%;margin-bottom:40px;animation:fadeIn .5s ease both}.admin-filters{display:flex;gap:0;margin-bottom:32px;border-bottom:.5px solid var(--border)}.admin-filter-btn{font-family:var(--font-im-fell),serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;background:none;color:var(--ink-faint);padding:10px 24px;cursor:pointer;transition:color .2s;border:none;border-bottom:1.5px solid transparent;margin-bottom:-.5px}.admin-filter-btn.active{color:var(--ink);border-bottom-color:var(--sepia)}.admin-empty{font-family:var(--font-cormorant),serif;font-style:italic;font-size:16px;color:var(--ink-faint);text-align:center;padding:48px 0;letter-spacing:.05em}.admin-card{background:var(--cream);box-shadow:3px 3px 0 #d3cdbc,0 4px 20px rgba(0,0,0,.08);margin-bottom:24px;display:flex;gap:0;overflow:hidden;animation:fadeIn .4s ease both}.admin-card-images{display:flex;flex-direction:column;gap:0;flex-shrink:0}.admin-thumb{width:140px;height:140px;object-fit:cover;display:block}.admin-card-info{flex:1 1;padding:20px 24px;display:flex;flex-direction:column;gap:4px}.admin-card-nom{font-family:var(--font-caveat),cursive;font-size:22px;color:var(--ink);line-height:1.2}.admin-card-sci{font-family:var(--font-cormorant),serif;font-style:italic;font-size:14px;color:var(--ink-light);letter-spacing:.03em}.admin-card-meta{letter-spacing:.06em;margin-top:2px}.admin-card-annotations,.admin-card-meta{font-family:var(--font-cormorant),serif;font-size:12px;color:var(--ink-faint)}.admin-card-annotations{font-style:italic}.admin-card-submitter{font-family:var(--font-cormorant),serif;font-size:12px;color:var(--ink-faint);margin-top:8px;padding-top:10px;border-top:.5px solid var(--border)}.admin-card-actions{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.admin-notes-input{font-family:var(--font-caveat),cursive;font-size:16px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);padding:4px 0;outline:none;flex:1 1;min-width:120px;transition:border-color .2s}.admin-notes-input:focus{border-bottom-color:var(--sepia)}.admin-btn{font-family:var(--font-cormorant),serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;border:none;padding:9px 20px;cursor:pointer;transition:background .2s}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-approve{background:var(--sepia);color:var(--cream)}.admin-approve:hover:not(:disabled){background:var(--ink)}.admin-reject{background:transparent;color:var(--ink-faint);border:.5px solid var(--border)}.admin-reject:hover:not(:disabled){background:#c0392b;color:var(--cream);border-color:#c0392b}.admin-card-note{font-family:var(--font-cormorant),serif;font-style:italic;font-size:12px;color:var(--ink-faint);background:rgba(0,0,0,.03);padding:6px 10px;margin-top:6px}.contact-form{width:480px}.contact-textarea{resize:vertical;min-height:130px;font-family:var(--font-caveat),cursive;font-size:18px;line-height:1.5;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);padding:4px 0;outline:none;width:100%;transition:border-color .2s}.contact-textarea:focus{border-bottom-color:var(--sepia)}.contact-success{font-family:var(--font-cormorant),serif;font-style:italic;font-size:17px;color:var(--sepia);line-height:1.7;letter-spacing:.04em;animation:fadeIn .4s ease both}.auth-confirm-box,.contact-success{background:var(--cream);padding:48px 52px;box-shadow:4px 4px 0 #d3cdbc,0 10px 30px rgba(0,0,0,.1);text-align:center;max-width:480px}.auth-confirm-box{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;animation:fadeIn .5s ease both}.auth-confirm-check{font-size:52px;color:var(--sepia);line-height:1}.auth-confirm-title{font-family:var(--font-caveat),cursive;font-size:30px;color:var(--ink);font-weight:500;margin:0}.auth-confirm-text{font-family:var(--font-cormorant),serif;font-style:italic;font-size:16px;color:var(--ink-light);line-height:1.65;letter-spacing:.03em;margin:0;max-width:340px}.auth-confirm-countdown{font-family:var(--font-im-fell),serif;color:var(--ink-faint);margin:0}.admin-delete-btn,.auth-confirm-countdown{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.admin-delete-btn{font-family:var(--font-cormorant),serif;padding:9px 20px;cursor:pointer;background:transparent;color:#c0392b;border:.5px solid rgba(192,57,43,.3);transition:background .2s,color .2s,border-color .2s}.admin-delete-btn:hover{background:#c0392b;color:var(--cream);border-color:#c0392b}.admin-confirm-delete{font-family:var(--font-cormorant),serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding:9px 20px;cursor:pointer;background:#c0392b;color:var(--cream);border:none;transition:background .2s}.admin-confirm-delete:hover:not(:disabled){background:#96281b}.admin-confirm-delete:disabled{opacity:.5;cursor:not-allowed}.admin-cancel-btn{font-family:var(--font-cormorant),serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding:9px 20px;cursor:pointer;background:transparent;color:var(--ink-faint);border:.5px solid var(--border);transition:background .2s}.admin-cancel-btn:hover:not(:disabled){background:var(--cream-dark)}.admin-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.galerie-empty{font-family:var(--font-cormorant),serif;font-style:italic;font-size:16px;color:var(--ink-faint);text-align:center;line-height:1.8;padding:48px 0;letter-spacing:.05em;width:780px;max-width:100%;animation:fadeIn .5s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:820px){.card,.controls-panel,.tips{width:100%}.card,.controls-panel{padding:32px 24px}.controls-grid,.tips{grid-template-columns:1fr}.header{flex-direction:column;gap:12px}.meta{text-align:left}}