@font-face{font-family:MoonSerif;src:local('Baskerville'),local('Palatino Linotype'),local('Georgia');font-display:swap}*{box-sizing:border-box} :root{--cream:#f8f3ec;--ink:#49382f;--muted:#796b60;--pink:#e9cec6;--rose:#a76660;--olive:#59604b;--line:#ded5c8;--serif:MoonSerif,Georgia,serif}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Trebuchet MS',sans-serif;font-size:15px;line-height:1.65}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(46px,5.8vw,86px);letter-spacing:-3px}h2{font-size:clamp(36px,4vw,56px);letter-spacing:-1.6px}h3{font-size:30px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background .2s,color .2s,transform .2s}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid var(--rose);outline-offset:5px}header{max-width:1440px;margin:auto;padding:25px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand span{font-family:var(--serif);font-size:23px;letter-spacing:5px;line-height:1.4}.brand small{display:block;font-size:10px;letter-spacing:3px}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a[aria-current=page]{color:var(--rose)}nav a:not(.nav-contact):hover{color:var(--rose)}.nav-contact{border:1px solid #c6b4a3;padding:12px 18px;border-radius:3px}.nav-contact span{margin-left:15px}.nav-contact:hover{background:var(--pink)}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}main{min-height:65vh}.hero{max-width:1440px;margin:auto;padding:65px 7% 72px;display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;position:relative}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--olive);display:block;margin-bottom:25px;font-weight:bold}.eyebrow:before{content:'✦';margin-right:12px;font-size:15px;color:var(--rose)}em{font-family:var(--serif);font-weight:400}h1 em,h2 em{color:var(--rose)}.hero p{max-width:380px;color:var(--muted);margin:25px 0 30px}.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;background:var(--olive);color:#fffaf3;border:1px solid var(--olive);padding:15px 23px;border-radius:3px;font-size:13px}.button:hover{background:#424b38;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:#bbaa9a}.button.secondary:hover{background:var(--pink)}.button.rose{background:var(--rose);border-color:var(--rose)}.text-link{display:inline-block;border-bottom:1px solid #b2a292;padding-bottom:4px;font-size:13px}.hero-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.signature{display:flex;align-items:center;gap:15px;margin-top:35px;font-size:11px;color:var(--muted)}.signature span:first-child{font-size:28px;color:var(--rose)}.hero-art{position:relative;padding:0 15px}.arch{border-radius:48% 48% 3px 3px;overflow:hidden;background:#ddd0bf;border:8px solid #fdf9f3;box-shadow:0 0 0 1px var(--line);height:520px;position:relative}.arch img{width:100%;height:100%;object-fit:cover}.art-caption{position:absolute;bottom:26px;left:20px;right:20px;text-align:center;color:var(--ink);background:#f8f3eceb;padding:15px;border:1px solid #ded5c8;border-radius:3px}.art-caption p{margin:0;max-width:none;font-family:var(--serif);font-size:22px;color:var(--ink)}.art-caption small{font-size:10px;letter-spacing:2px;text-transform:uppercase}.orbit{position:absolute;right:-12px;top:50px;font-family:var(--serif);font-size:40px;color:var(--olive)}.hero-number{position:absolute;left:-28px;bottom:60px;width:95px;height:95px;background:var(--pink);border:6px solid var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:11px;text-align:center;line-height:1.2;transform:rotate(-8deg)}.hero-number b{font:32px var(--serif)}.leaf{position:absolute;left:-25px;top:30px;color:var(--olive);width:100px;transform:rotate(-22deg);pointer-events:none}.leaf svg{width:100%}.values-strip{border-block:1px solid var(--line);display:flex;justify-content:center;gap:8%;padding:22px;background:#efe8dc;color:var(--olive);font:italic 21px var(--serif)}.values-strip span{white-space:nowrap}.values-strip i{font-style:normal;margin-right:12px;color:var(--rose)}.section{max-width:1440px;margin:auto;padding:85px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading p{color:var(--muted);max-width:360px;margin-top:16px}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.cat-card .photo{position:relative;aspect-ratio: .77;border-radius:48% 48% 4px 4px;overflow:hidden;background:#e4d7c9}.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.cat-card:hover img{transform:scale(1.045)}.cat-card:nth-child(2) img{filter:sepia(.12) brightness(1.12)}.cat-card:nth-child(3) img{filter:grayscale(.55) brightness(1.05)}.cat-card:nth-child(4) img{filter:sepia(.3) brightness(.85)}.badge{position:absolute;bottom:14px;left:14px;font-size:10px;letter-spacing:1px;background:#fbf8ee;color:var(--olive);padding:6px 12px;border-radius:30px}.badge:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--olive);margin-right:7px}.badge.reserved{background:var(--pink)}.cat-head{display:flex;justify-content:space-between;align-items:center;margin:19px 0 8px}.cat-head small{color:var(--muted);font-size:11px}.cat-card p{font-size:12px;color:var(--muted)}.card-button{padding:11px 0;border:0;border-bottom:1px solid var(--line);width:100%;display:flex;justify-content:space-between;color:var(--ink);background:transparent;font-size:12px;margin-top:12px;text-align:left}.card-button:hover{color:var(--rose);border-color:var(--rose)}.story{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;align-items:center}.story-image{background:var(--pink);padding:50px;text-align:center;border-radius:2px;position:relative}.story-image img{width:190px;height:190px}.story-image p{font:italic 30px var(--serif);margin-top:22px}.story-image small{display:block;margin-top:20px;text-transform:uppercase;letter-spacing:3px;font-size:10px}.story-copy p{color:var(--muted);margin:22px 0}.story-copy .text-link{margin-top:8px}.quote{background:#ece4d8;text-align:center;padding:55px 7%;position:relative}.quote .eyebrow{margin-bottom:18px}.quote p{font:italic clamp(28px,3.4vw,45px)/1.3 var(--serif);max-width:850px;margin:auto}.quote .heart{display:block;margin-top:20px;color:var(--rose);font-size:28px}.contact-band{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band p{margin-top:14px;color:var(--muted)}footer{background:#eee6da;border-top:1px solid var(--line);padding:45px 7% 20px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:35px}.footer-top p{font:22px/1.3 var(--serif)}.footer-top>a:last-child{font-size:12px}.footer-bottom{border-top:1px solid #d3c8b7;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.page-intro{text-align:center;max-width:850px;margin:auto;padding:65px 24px 35px}.page-intro h1{font-size:clamp(45px,5.5vw,72px)}.page-intro p{margin:22px auto 0;max-width:550px;color:var(--muted)}.filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;border-bottom:1px solid var(--line);padding-bottom:20px;gap:20px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-buttons button{border:1px solid var(--line);padding:9px 18px;border-radius:30px;background:transparent;color:var(--muted);font-size:12px}.filter-buttons button.active{background:var(--olive);color:var(--cream);border-color:var(--olive)}.filter-count{font-size:12px;color:var(--muted)}.note{color:var(--muted);font-size:12px;margin-top:22px}.empty{text-align:center;padding:55px 20px;background:#eee6da;border-radius:4px;grid-column:1/-1}.empty h3{margin-bottom:15px}.empty p{margin-bottom:20px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.step{border-top:1px solid var(--line);padding-top:25px}.step b{font:italic 35px var(--serif);color:var(--rose)}.step h3{font-size:25px;margin:16px 0}.step p{font-size:13px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-card{border:1px solid var(--line);padding:40px;margin-bottom:20px;background:#fdf9f3}.contact-card h3{margin-bottom:12px}.contact-card p{color:var(--muted);margin-bottom:20px}.phone{font:36px var(--serif)}.contact-info{background:var(--pink);padding:40px}.contact-info p{margin:20px 0;color:var(--muted)}.contact-info ul{padding-left:20px}.contact-info li{margin-bottom:12px}dialog{border:0;border-radius:8px;background:var(--cream);color:var(--ink);max-width:850px;width:calc(100% - 32px);padding:35px;box-shadow:0 20px 90px #24180f40}dialog::backdrop{background:#352c26aa;backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:12px;right:15px;font-size:28px;border:0;background:var(--cream);color:var(--ink);width:35px;height:35px;border-radius:50%;z-index:1}.detail{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.detail>img{width:100%;max-height:430px;object-fit:cover;border-radius:46% 46% 3px 3px}.detail h2{margin-bottom:14px}.detail p{color:var(--muted);margin:20px 0}.detail dl{font-size:13px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail dt{color:var(--muted)}.detail dd{margin:0}.detail-status{font-size:12px;color:var(--olive)}.traits{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.traits span{font-size:11px;padding:5px 12px;background:#eae2d6;border-radius:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--olive);color:white;padding:13px 22px;border-radius:4px;z-index:10;display:none;max-width:90%;font-size:13px}.toast.visible{display:block}.login-panel{max-width:430px;margin:30px auto 75px;border:1px solid var(--line);padding:35px;background:#fdf9f3}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field label{font-size:12px;font-weight:bold}.field input,.field textarea,.field select,.search-input{width:100%;padding:12px;border:1px solid #cfc0b1;border-radius:3px;background:#fffdf8;color:var(--ink)}.field textarea{resize:vertical;min-height:120px}.field small{font-size:11px;color:var(--muted)}.error{color:#a13737;font-size:13px;margin:12px 0}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.admin-actions{display:flex;gap:12px}.admin-summary{color:var(--muted);font-size:13px}.admin-list{display:grid;gap:12px}.admin-row{display:flex;align-items:center;gap:20px;background:#fffaf3;border:1px solid var(--line);padding:16px}.admin-row img{width:70px;height:80px;object-fit:cover;border-radius:30px 30px 3px 3px}.admin-row h3{font-size:25px}.admin-row small{color:var(--muted)}.admin-row .row-copy{flex:1}.admin-row button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 12px;font-size:12px}.admin-row button.danger{color:#9b3e36}.editor{max-width:750px;padding:35px;background:#fffaf3;border:1px solid var(--line);margin:30px auto}.editor-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.editor-heading button{background:none;border:0;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.wide{grid-column:1/-1}.check-field{display:flex;align-items:center;gap:10px;margin:0 0 25px;font-size:13px}.editor-preview{width:90px;height:100px;object-fit:cover;border-radius:35px 35px 3px 3px;margin-bottom:10px}.form-buttons{display:flex;gap:12px;flex-wrap:wrap}.admin-note{background:#eee6da;padding:15px 20px;font-size:12px;color:var(--muted);margin-top:25px}.fade-in{animation:appear .65s ease both}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:85px}}@media(max-width:1100px){nav{gap:18px}.nav-contact{padding:10px}.hero{gap:5%;padding-inline:5.5%}.arch{height:450px}.section{padding-inline:5.5%}.brand span{font-size:20px;letter-spacing:3px}.cat-grid{gap:18px}}@media(max-width:800px){header{padding:15px 6%;position:relative}.brand img{width:50px;height:50px}.brand span{font-size:18px}.brand small{font-size:9px}.menu-toggle{display:block;border:1px solid var(--line);padding:8px 12px;background:transparent;color:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:25px 6%;z-index:5;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:45px 7% 55px;gap:45px}.hero h1{max-width:570px}.hero p{max-width:500px}.hero-art{max-width:430px;width:85%;margin:auto}.arch{height:450px}.signature{margin-top:25px}.values-strip{gap:15px;flex-wrap:wrap;font-size:17px;padding:18px 20px}.section{padding:55px 7%}.cat-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}.section-heading{align-items:start;flex-direction:column;gap:20px}.story{grid-template-columns:1fr;gap:35px}.story-image{padding:35px}.story-image img{width:150px;height:150px}.steps{gap:25px}.contact-band,.footer-top{align-items:start;flex-direction:column}.footer-bottom{flex-wrap:wrap;gap:12px}.contact-layout{grid-template-columns:1fr;gap:25px}.filters{align-items:start;flex-direction:column;gap:15px}.detail{grid-template-columns:1fr;gap:20px}.detail>img{max-height:280px;width:65%;margin:auto}.steps{grid-template-columns:1fr}.admin-toolbar{align-items:start;flex-direction:column}.admin-row{gap:12px;flex-wrap:wrap}.admin-row .row-copy{min-width:calc(100% - 100px)}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.editor{padding:22px}.page-intro{padding-top:45px}h1{letter-spacing:-2px}}@media(max-width:400px){.brand span{font-size:15px}.brand small{font-size:8px;letter-spacing:2px}.hero-links{gap:20px}.cat-grid{gap:25px 12px}.cat-head{align-items:start;flex-direction:column;gap:5px}.cat-head h3{font-size:28px}.arch{height:380px}.contact-card,.contact-info{padding:25px}.phone{font-size:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}