:root{--pine: #5a6e4e;--pine-deep: #4a5c3e;--moss: #7d9274;--sage: #eadfd3;--mist: #fcf2e8;--gold: #e8b4b8;--gold-soft: #f3d6d8;--blush: #f6dde0;--root: #8b6a48;--ink: #3a342e;--muted: #6d655c;--white: #fcf2e8;--line: rgba(74, 92, 62, .14);--danger: #b42318;--font-display: "Cormorant Garamond", "Fraunces", Georgia, serif;--font-accent: "Fraunces", Georgia, serif;--font-body: "Nunito", "Segoe UI", sans-serif;--radius: 2px;--shadow: none;--max: 1080px;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 100% 0%,rgba(232,180,184,.08),transparent 55%),radial-gradient(ellipse 60% 40% at 0% 100%,rgba(90,110,78,.05),transparent 50%),var(--mist);line-height:1.7;font-weight:400;font-size:1.02rem;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(100% - 2.5rem,var(--max));margin-inline:auto}.section{padding:4rem 0 5rem}.kicker{margin:0 0 .55rem;font-family:var(--font-accent);font-size:.92rem;font-weight:500;font-style:italic;letter-spacing:.04em;text-transform:none;color:#c48990}.section-title{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.75rem);font-weight:500;font-style:italic;margin:0 0 .5rem;color:var(--pine-deep);line-height:1.15;letter-spacing:-.01em}.section-lead{margin:0 0 2.5rem;max-width:34rem;color:var(--muted);font-weight:300;font-size:1.05rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:999px;padding:.75rem 1.35rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:500;transition:background .4s var(--ease-out),color .4s var(--ease-out),border-color .4s var(--ease-out),transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.btn-primary,.btn-dark{background:var(--pine-deep);color:var(--mist);border-color:var(--pine-deep)}.btn-primary:hover,.btn-dark:hover{background:#9a6b72;border-color:#9a6b72;transform:translateY(-3px);box-shadow:0 12px 28px #9a6b7238}.btn-secondary,.btn-ghost{background:transparent;color:var(--pine-deep);border-color:#4a5c3e47}.btn-ghost:hover,.btn-secondary:hover{border-color:var(--gold);color:#9a6b72;background:#e8b4b81f;transform:translateY(-3px)}.btn-danger{background:transparent;color:var(--danger);border-color:#b423184d}.content-list{display:grid;gap:0;border-top:1px solid var(--line)}.content-row{display:grid;grid-template-columns:220px 1fr auto;gap:1.75rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--line);background:transparent;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),padding .4s var(--ease-out),background .4s ease;transition-delay:var(--reveal-delay, 0s)}.content-row:hover{padding-left:.45rem;background:linear-gradient(90deg,rgba(232,180,184,.1),transparent 55%)}.content-row:hover h3{color:#9a6b72}.content-row img{width:100%;height:140px;object-fit:cover;transition:transform .8s var(--ease-out),filter .5s ease}.content-row:hover img{transform:scale(1.05);filter:saturate(1.08)}.content-row h3{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(1.35rem,2vw,1.65rem);font-weight:500;font-style:italic;color:var(--pine-deep);transition:color .35s ease;letter-spacing:-.01em}.content-row p{margin:0;color:var(--muted);font-weight:300;font-size:.98rem}.content-meta{font-family:var(--font-accent);font-size:.82rem;font-style:italic;letter-spacing:.03em;text-transform:none;color:#c48990;margin-bottom:.4rem}.prose{max-width:680px;font-weight:300;font-size:1.08rem;line-height:1.8}.prose :is(p,ul,ol){margin:0 0 1.15rem}.prose :is(h2,h3){font-family:var(--font-display);font-style:italic;font-weight:500;color:var(--pine-deep);margin:1.75rem 0 .7rem;letter-spacing:-.01em}.prose h2{font-size:1.7rem}.prose h3{font-size:1.4rem}.page-hero{padding:3.75rem 0 1.75rem;border-bottom:1px solid var(--line);margin-bottom:.5rem;position:relative}.page-hero:after{content:"";position:absolute;left:50%;bottom:-1px;width:4.5rem;height:2px;margin-left:-2.25rem;border-radius:999px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:hero-line 1s var(--ease-out) .45s both}.page-hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:500;font-style:italic;margin:0 0 .55rem;color:var(--pine-deep);letter-spacing:-.02em;line-height:1.1}.page-hero .muted{max-width:32rem;font-weight:300;font-size:1.08rem}.page-hero .kicker,.page-hero h1,.page-hero .muted{opacity:0;transform:translateY(18px);animation:soft-rise .95s var(--ease-out) forwards}.page-hero .kicker{animation-delay:.08s}.page-hero h1{animation-delay:.2s}.page-hero .muted{animation-delay:.34s}main>section,.content-row,.feature,.gallery-grid figure,[data-reveal]{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .95s var(--ease-out),transform .95s var(--ease-out);transition-delay:var(--reveal-delay, 0s)}main>section.is-visible,.content-row.is-visible,.feature.is-visible,.gallery-grid figure.is-visible,[data-reveal].is-visible{opacity:1;transform:none}main>section.hero,main>section.page-hero{opacity:1;transform:none}@keyframes soft-rise{to{opacity:1;transform:translateY(0)}}@keyframes hero-line{0%{opacity:0;width:0;margin-left:0}to{opacity:1;width:4.5rem;margin-left:-2.25rem}}@media(prefers-reduced-motion:reduce){main>section,.content-row,.feature,.gallery-grid figure,[data-reveal],.page-hero .kicker,.page-hero h1,.page-hero .muted,.page-hero:after{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;width:4.5rem!important;margin-left:-2.25rem!important}.btn:hover,.content-row:hover{transform:none;padding-left:0;box-shadow:none}}.muted{color:var(--muted)}.error-text{color:var(--danger)}.empty-state{padding:2.5rem 0;color:var(--muted);border:none}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr;background:var(--mist)}.admin-nav{background:var(--pine-deep);color:var(--mist);padding:1.5rem 1rem}.admin-nav a{display:block;padding:.7rem .8rem;margin-bottom:.2rem;color:#f9f3ead9}.admin-nav a.active,.admin-nav a:hover{background:#f9f3ea14;color:var(--gold-soft)}.admin-main{padding:2rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:.9rem 0;text-align:left;border-bottom:1px solid var(--line)}.form-grid{display:grid;gap:1rem;max-width:720px}.form-grid label{display:grid;gap:.35rem;font-weight:500}.form-grid input,.form-grid textarea,.form-grid select{padding:.75rem .9rem;border:1px solid var(--line);background:#fff8f0;border-radius:0}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1.25rem;background:#3a342e61}.admin-modal{width:min(100%,640px);max-height:min(88dvh,760px);overflow:auto;background:var(--mist);border:1px solid var(--line);padding:1.5rem 1.4rem 1.35rem;box-shadow:0 18px 50px #3a342e29}.admin-modal h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.55rem;font-weight:500;color:var(--pine-deep)}.admin-modal .form-grid{max-width:none}.form-grid label.admin-check{display:flex;flex-direction:row;align-items:flex-start;gap:.7rem;padding:.9rem .95rem;border:1px solid var(--line);background:#fff8f0;cursor:pointer;font-weight:500}.admin-table label.admin-check{display:inline-flex;flex-direction:row;align-items:center;gap:.45rem;padding:.2rem 0;border:0;background:transparent;cursor:pointer;font-weight:400}.admin-check input{width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:var(--pine-deep)}.admin-check small{display:block;margin-top:.2rem;font-weight:400;color:var(--muted)}.admin-table .row-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.file-field{display:grid;gap:.45rem}.file-field input[type=file]{padding:.55rem 0;border:0;background:transparent}.file-hint{font-size:.88rem;font-weight:300}.file-preview{width:100%;max-height:180px;object-fit:cover;border:1px solid var(--line)}.file-name{font-size:.88rem;color:var(--pine-deep)}@media(max-width:800px){.container{width:min(100% - 1.5rem,var(--max))}.content-row{grid-template-columns:1fr;gap:1rem}.content-row img{height:200px}.admin-shell{grid-template-columns:1fr}}
