:root{--ink:#24211f;--muted:#706b66;--cream:#fffaf2;--paper:#fffdf9;--coral:#ef7756;--coral-dark:#d95f41;--yellow:#ffd66a;--line:#eadfd3;--shadow:0 15px 45px rgba(61,42,27,.11)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.site-header{height:76px;max-width:1200px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{font:700 25px Fraunces,serif;letter-spacing:-1px}.brand span{font-size:20px}nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}nav a:not(.nav-upload){color:var(--muted)}.nav-upload,.button{background:var(--coral);color:#fff;border:0;border-radius:999px;padding:12px 19px;font:600 14px 'DM Sans';cursor:pointer;display:inline-block;transition:.2s}.nav-upload{padding:10px 15px}.button:hover,.nav-upload:hover{background:var(--coral-dark);transform:translateY(-1px)}main{max-width:1200px;margin:auto;padding:10px 24px 72px}.hero{min-height:530px;background:#f7dccd;border-radius:30px;overflow:hidden;padding:72px 7% 55px;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;color:var(--coral-dark);margin:0 0 15px}.hero h1,.page-intro h1,.form-page h1,.photo-info h1{font:600 clamp(43px,6vw,72px)/.98 Fraunces,serif;letter-spacing:-.055em;margin:0;max-width:600px}.hero h1 em{font-style:italic;color:var(--coral-dark)}.hero-copy{font-size:18px;line-height:1.6;max-width:460px;margin:24px 0}.hero-actions{display:flex;align-items:center;gap:24px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:2px}.mini-stats{margin-top:52px;display:flex;gap:30px;font-size:13px;color:var(--muted)}.mini-stats b{font-size:18px;color:var(--ink);display:block}.hero-photo{position:relative;height:400px}.hero-photo img{width:100%;height:100%;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}.photo-note{position:absolute;bottom:-18px;left:-18px;background:var(--yellow);padding:14px 17px;border-radius:12px;font:600 15px Fraunces}.section-head{display:flex;justify-content:space-between;align-items:end;margin:82px 0 25px}.section-head h2{font:600 38px Fraunces;margin:0;letter-spacing:-.04em}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s}.photo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.photo-card img{display:block;width:100%;aspect-ratio:1/.9;object-fit:cover}.card-body{padding:15px 16px 17px}.card-body h3{font:600 18px Fraunces;margin:0 0 5px}.card-body p,.muted,.date{margin:0;color:var(--muted);font-size:13px}.empty-state{background:var(--paper);text-align:center;padding:60px;border:1px dashed #d8c5b1;border-radius:18px}.empty-state span{font-size:35px}.empty-state h2{font:600 29px Fraunces;margin:10px 0}.empty-state p{color:var(--muted);margin:0 0 22px}.page-intro{padding:48px 0 28px}.page-intro h1,.form-page h1{font-size:54px}.search{display:flex;margin-top:26px;max-width:530px}.search input{flex:1;border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;padding:14px;font:14px 'DM Sans';background:var(--paper)}.search button{border:0;background:var(--ink);color:white;border-radius:0 10px 10px 0;padding:0 18px;font-weight:700}.form-page{max-width:590px;margin:45px auto}.form-page>p:not(.eyebrow){color:var(--muted)}.form-card{display:grid;gap:18px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px;margin-top:28px}.form-card label{font-size:13px;font-weight:700;display:grid;gap:7px}.form-card small{font-weight:400;color:var(--muted)}input,textarea{font:15px 'DM Sans';border:1px solid #dbcfc3;border-radius:9px;padding:12px;background:#fff}textarea{min-height:105px;resize:vertical}.form-card .button{justify-self:start}.switch{font-size:14px}.switch a,.signin-prompt a{color:var(--coral-dark);font-weight:700}.photo-page{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:56px;padding-top:40px}.detail-photo{width:100%;max-height:75vh;object-fit:contain;background:#eee3d7;border-radius:18px}.photo-info{padding-top:18px}.photo-info h1{font-size:50px;margin-bottom:18px}.caption{font-size:17px;line-height:1.6}.photo-info hr{border:0;border-top:1px solid var(--line);margin:28px 0}.photo-info h2{font:600 26px Fraunces;margin:0 0 18px}.photo-info h2 span{font:500 14px 'DM Sans';color:var(--muted)}.comment{padding:13px 0;border-bottom:1px solid #eee5dc;font-size:14px}.comment p{margin:5px 0 0;line-height:1.5}.comment-form{margin-top:20px;display:grid;gap:10px}.flash-stack{position:fixed;right:20px;top:86px;z-index:5}.flash{padding:12px 16px;border-radius:10px;color:#fff;margin-bottom:8px;box-shadow:var(--shadow);font-size:14px}.flash.success{background:#3d8b68}.flash.error{background:#b85143}footer{text-align:center;padding:30px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}footer span{color:var(--coral)}@media(max-width:760px){.site-header{padding:0 18px}.site-header nav{gap:13px}.site-header nav a:first-child{display:none}main{padding:0 16px 45px}.hero{margin:0 -4px;padding:46px 28px 40px;grid-template-columns:1fr;min-height:0}.hero h1{font-size:52px}.hero-photo{height:300px;margin-top:4px}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.section-head{margin:55px 0 20px}.photo-page{grid-template-columns:1fr;gap:20px;padding-top:25px}.photo-info{padding:0}.page-intro h1,.form-page h1{font-size:42px}}@media(max-width:430px){.gallery{grid-template-columns:1fr}.nav-upload{padding:9px 11px}
