:root{--pine:#173f33;--pine-deep:#0d3027;--pine-soft:#e6efe7;--cream:#f8f5ed;--white:#fffefa;--rust:#b6714b;--gold:#d3a875;--ink:#29372f;--mute:#64716a;--line:#dbe3d9;--shadow:0 14px 45px rgba(15,47,36,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--white);line-height:1.55}h1,h2,h3{font-family:Georgia,serif;letter-spacing:-.035em;line-height:1.13}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.55rem,5vw,4.9rem)}h2{font-size:clamp(1.85rem,3.2vw,3.05rem)}h3{font-size:1.45rem}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.58;cursor:not-allowed}img{max-width:100%}.shell{width:min(1150px,calc(100% - 40px));margin-inline:auto}.embedded .site-header,.embedded .hero,.embedded .features,.embedded .visit,.embedded .story,.embedded footer{display:none}.embedded .catalog{padding-block:25px}.skip{position:absolute;top:-100px;left:10px;z-index:99;background:white;padding:10px}.skip:focus{top:10px}.site-header,.admin-header{background:#fffefa;border-bottom:1px solid var(--line);position:relative;z-index:10}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;min-width:0}.brand img{height:53px;width:53px;object-fit:contain}.brand strong{display:block;color:var(--pine);font-family:Georgia,serif;font-size:1.18rem;white-space:nowrap}.brand small{display:block;color:var(--rust);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a,.small-link{font-size:.86rem;font-weight:700;text-decoration:none}.nav-outline{border:1px solid var(--line);padding:8px 13px;border-radius:50px}.hero{background:linear-gradient(115deg,#f5f1e7 10%,#e9eee6 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;min-height:535px}.hero-copy{padding-block:66px 74px;position:relative;z-index:2}.eyebrow,.mini-eyebrow{color:var(--rust);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1{color:var(--pine);margin:17px 0 20px}.hero em{font-style:normal;color:var(--rust)}.hero p{max-width:510px;font-size:1.07rem;color:#46564a}.hero-actions,.contact-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:27px 0}.btn{border:1px solid transparent;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:13px 18px;font-weight:750;font-size:.91rem;text-decoration:none;white-space:nowrap;transition:transform .15s ease,background .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--pine);color:white}.btn-primary:hover{background:var(--pine-deep)}.btn-light{background:white;color:var(--pine);border-color:#cdd9cd}.btn-small{padding:8px 12px;font-size:.82rem}.hero-foot{display:flex;align-items:center;gap:7px;font-size:.84rem;flex-wrap:wrap;margin-top:28px}.dot{height:9px;width:9px;border-radius:50%;display:inline-block;background:#a8aaa6}.dot.open{background:#39a86b;box-shadow:0 0 0 4px #39a86b20}.hero-art{min-height:510px;position:relative;display:flex;align-items:center;justify-content:center}.hero-logo{width:min(440px,90%);filter:drop-shadow(0 25px 32px #1b433024);position:relative;z-index:2}.arc{border-radius:50%;position:absolute;inset:17%;border:2px solid #bfae8b38}.arc-two{inset:9%;border-style:dashed;border-color:#a4b6a549}.ribbon-note{position:absolute;bottom:34px;right:20px;color:#6b7168;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--mute)}.features{background:#fffdf9;border-bottom:1px solid var(--line)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:24px}.feature-grid>div{display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto auto;align-items:center;padding:0 18px;border-right:1px solid var(--line)}.feature-grid>div:first-child{padding-left:0}.feature-grid>div:last-child{border-right:0}.feature-grid span{grid-row:1/3;color:var(--rust);font-size:1.5rem}.feature-grid strong{color:var(--pine);font-size:.91rem}.feature-grid small{color:var(--mute);font-size:.77rem}.catalog{padding-block:80px 95px;min-height:350px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-head h2{color:var(--pine);margin:13px 0 10px}.section-head p{color:var(--mute)}.catalog-count{font-size:.83rem;color:var(--mute);border:1px solid var(--line);padding:8px 12px;border-radius:40px;white-space:nowrap}.filters{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:30px 0}.searchbox{background:white;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 12px;min-width:min(300px,100%)}.searchbox span{font-size:1.6rem;color:var(--mute)}.searchbox input{border:0;outline:0;padding:12px 0;width:100%;background:transparent}.category-row{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);color:var(--pine);background:white;padding:7px 11px;border-radius:40px;font-size:.8rem}.chip.selected{background:var(--pine);color:white;border-color:var(--pine)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-media{height:235px;width:100%;background:#ecf0e7;display:flex;align-items:center;justify-content:center;position:relative}.product-media img{width:100%;height:100%;object-fit:cover}.product-media.empty:before{content:'✦';font-size:4.4rem;color:#c1ccbd}.tag{position:absolute;top:12px;left:12px;background:#fffffff1;padding:4px 10px;color:var(--pine);font-size:.72rem;border-radius:40px;font-weight:700}.product-content{padding:20px;flex:1;display:flex;flex-direction:column}.product-category{color:var(--rust);text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:800}.product-content h3{font-size:1.24rem;margin:10px 0 8px;color:var(--pine)}.product-desc{font-size:.86rem;color:var(--mute);margin:0 0 16px;flex:1}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.product-price{font-family:Georgia,serif;font-size:1.4rem;font-weight:700;color:var(--pine)}.product-bottom button{font-size:.77rem;padding:8px 12px}.empty-state{grid-column:1/-1;border:1px dashed #b7c4b7;padding:48px 20px;text-align:center;background:#f7f8f3;border-radius:12px}.empty-state h3{color:var(--pine)}.visit{background:#f0f3e9;padding:72px 0}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visit h2{color:var(--pine);margin:15px 0}.visit p{color:#536357}.visit-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.visit-badges span{background:#fffdf7;border:1px solid var(--line);padding:8px 10px;border-radius:20px;font-size:.75rem;color:var(--pine);font-weight:700}.visit-card{background:white;border:1px solid var(--line);padding:31px;border-radius:14px;box-shadow:var(--shadow)}.visit-card h3{color:var(--pine);margin:8px 0 15px}.visit-card p{margin:7px 0}.visit-card a{color:var(--pine)}.visit-card a.btn-primary{color:white}.status-line{display:flex;align-items:center;gap:9px;margin-top:15px;font-size:.85rem}.contact-buttons{margin:22px 0 14px}.story{padding:75px 0;text-align:center;max-width:730px}.story h2{color:var(--pine);margin-top:16px}.story p{color:var(--mute)}footer{background:var(--pine-deep);color:#f6f1e6;padding:30px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:15px}.foot strong{font-family:Georgia,serif}.foot small,.foot .muted{color:#b3c6b9}.foot .muted{font-size:.78rem}.alert{padding:12px 15px;border-radius:7px;background:#e7f2e8;color:#285136;margin:12px 0;font-size:.87rem}.alert.error{background:#fff1e9;color:#8e351a}.visually-hidden{position:absolute!important;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.item-dialog,.editor-dialog{border:0;border-radius:15px;padding:0;box-shadow:0 24px 90px #112f2875;width:min(820px,calc(100% - 30px));max-height:90vh}.item-dialog::backdrop,.editor-dialog::backdrop{background:#142f2bb0}.dialog-x,.x-plain{border:0;background:transparent;font-size:1.8rem;line-height:1;color:var(--pine);padding:5px}.dialog-x{position:absolute;right:13px;top:13px;z-index:3;background:white;border-radius:50%}.dialog-wrap{display:grid;grid-template-columns:.92fr 1.08fr}.modal-image{background:#e9ede4;min-height:400px;display:flex;align-items:center;justify-content:center}.modal-image img{height:100%;width:100%;object-fit:cover;max-height:620px}.fallback-art{font-size:5rem;color:#afc1af}.modal-copy{padding:36px;overflow-y:auto}.modal-copy h2{font-size:2.1rem;color:var(--pine);margin:12px 0}.modal-copy p{color:#5e6b61}.modal-price{font-family:Georgia,serif;font-size:1.8rem;color:var(--pine);margin:16px 0}.modal-copy label,.reserve-form label,.editor-dialog label,.login-panel label,.settings-form label{display:block;font-size:.8rem;font-weight:750;color:var(--pine);margin-bottom:9px}.modal-copy select,.reserve-form input,.reserve-form textarea,.editor-dialog input:not([type=checkbox]):not([type=file]),.editor-dialog select,.editor-dialog textarea,.login-panel input,.settings-form input:not([type=checkbox]),.settings-form textarea,.command-row input{display:block;width:100%;padding:11px 12px;background:white;border:1px solid #c8d4c9;border-radius:7px;color:var(--ink);margin-top:5px;outline-color:var(--rust)}.modal-actions{display:flex;flex-direction:column;gap:9px;margin-top:15px}.reserve-form{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.reserve-form .mini-eyebrow{margin-bottom:12px}.reserve-form textarea{resize:vertical}.header-right{display:flex;align-items:center;gap:15px}.admin-page{background:#f5f7f2}.admin-main{padding-block:35px 70px}.login-panel{background:white;max-width:490px;margin:42px auto;padding:36px;border:1px solid var(--line);border-radius:12px}.login-panel h1{font-size:2.7rem;color:var(--pine);margin:15px 0}.login-panel p{color:var(--mute)}.login-panel form{margin-top:24px;display:grid;gap:12px}.login-panel small{display:block;margin-top:18px}.admin-welcome{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.admin-welcome h1{font-size:2.4rem;color:var(--pine);margin:8px 0}.admin-welcome p{color:var(--mute);margin:0}.store-toggle{background:white;border:1px solid var(--line);border-radius:9px;padding:13px 18px;display:grid;gap:6px;min-width:220px}.store-toggle span{font-weight:750;font-size:.83rem}.store-toggle small{color:var(--mute);font-size:.73rem}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:26px}.stat{background:white;border:1px solid var(--line);padding:20px;border-radius:10px;display:grid;gap:5px}.stat small{color:var(--mute);font-size:.75rem}.stat strong{color:var(--pine);font-family:Georgia,serif;font-size:2rem}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.tabs button{background:#edf0e9;border:1px solid #e0e6df;border-radius:9px 9px 0 0;padding:12px 16px;color:var(--pine);font-weight:750;font-size:.84rem}.tabs button[aria-selected=true]{background:white;border-bottom-color:white}.panel{background:white;border:1px solid var(--line);padding:28px;border-radius:0 12px 12px 12px;min-height:300px}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.panel-heading h2{color:var(--pine);font-size:1.75rem;margin:0 0 8px}.panel-heading p{color:var(--mute);font-size:.87rem}.command-box{background:#f2f5ef;border-radius:10px;padding:15px;margin:14px 0}.command-box label{font-size:.78rem;font-weight:800;color:var(--pine)}.command-row{display:flex;gap:8px}.command-row input{margin-top:7px}.command-row button{align-self:end}.command-box small{display:block;color:var(--mute);font-size:.73rem;margin-top:9px}.import-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.import-row label{cursor:pointer}.admin-list{display:grid;gap:10px}.admin-item,.order-item{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:12px}.admin-thumb{width:70px;height:68px;object-fit:cover;background:#e7eee6;border-radius:7px;flex-shrink:0}.admin-item-content,.order-content{flex:1;min-width:0}.admin-item h3,.order-item h3{font-size:1rem;font-family:system-ui,sans-serif;font-weight:750;letter-spacing:0;margin:0 0 5px}.admin-item small,.order-item small{font-size:.74rem;color:var(--mute);display:block}.admin-item-actions,.order-actions{display:flex;flex-wrap:wrap;gap:6px}.mini-button{padding:7px 10px;font-size:.74rem;border-radius:6px;background:#e9f0e8;color:var(--pine);border:1px solid #d3ddd2;font-weight:750}.mini-button.danger{background:#fff3ec;color:#9c4430;border-color:#f0d7c8}.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.doc-tile{border:1px solid var(--line);border-radius:11px;background:#f9fbf8;padding:25px 10px;display:grid;justify-items:center;gap:7px;color:var(--pine)}.doc-tile span{font-size:2.2rem;color:var(--rust)}.doc-tile small{font-size:.72rem;color:var(--mute)}.settings-form{display:grid;max-width:620px;gap:8px;margin-top:17px}.settings-form .checkbox-line,.editor-dialog .checkbox-line{display:flex;align-items:center;gap:10px;font-weight:600}.settings-form .checkbox-line input,.editor-dialog .checkbox-line input{width:auto}.editor-dialog{width:min(620px,calc(100% - 20px));padding:26px;overflow:auto}.editor-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.editor-top h2{font-size:1.75rem;color:var(--pine);margin:0}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-dialog label{margin-bottom:13px}.editor-dialog input[type=file]{display:block;margin-top:9px;max-width:100%}.image-preview{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.image-preview img{width:80px;height:80px;border-radius:7px;object-fit:cover}.editor-actions{display:flex;gap:10px;justify-content:end;margin-top:20px}.print-area{display:none}
@media(max-width:850px){.site-header nav{gap:12px}.site-header nav a{font-size:.77rem}.hero-grid{grid-template-columns:1fr 1fr}.hero-art{min-height:400px}.hero-logo{width:100%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-grid{gap:25px}.docs-grid{grid-template-columns:repeat(2,1fr)}.admin-item,.order-item{flex-wrap:wrap}.admin-item-actions,.order-actions{width:100%}}
@media(max-width:620px){.shell{width:min(100% - 30px,1150px)}.topbar{min-height:66px}.brand img{height:42px;width:42px}.brand strong{font-size:.95rem}.brand small{font-size:.57rem}.site-header nav{gap:10px}.site-header nav a:nth-child(3),.site-header nav a:nth-child(4){display:none}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:50px 0 25px}.hero h1{font-size:clamp(2.4rem,11vw,4rem)}.hero-art{min-height:280px;width:100%}.hero-logo{width:min(290px,80%)}.ribbon-note{bottom:10px;right:0;left:0;text-align:center;font-size:.63rem}.feature-grid{grid-template-columns:1fr;gap:12px;padding:22px 0}.feature-grid>div{border:0;padding:0}.catalog{padding:48px 0}.section-head{align-items:start;flex-direction:column;gap:2px}.filters{margin:20px 0}.searchbox{min-width:100%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-media{height:150px}.product-content{padding:12px}.product-content h3{font-size:1rem}.product-desc{font-size:.73rem}.product-price{font-size:1.07rem}.product-bottom{align-items:start;flex-direction:column;gap:7px}.product-bottom button{width:100%}.visit{padding:50px 0}.visit-grid{grid-template-columns:1fr}.visit-card{padding:24px}.story{padding:50px 0}.foot{flex-direction:column;align-items:start}.dialog-wrap{display:block}.modal-image{min-height:180px;height:210px}.modal-copy{padding:20px}.modal-copy h2{font-size:1.7rem}.item-dialog{max-height:94vh}.item-dialog .modal-image img{max-height:210px}.admin-main{padding-top:22px}.admin-welcome{display:block}.store-toggle{margin-top:15px}.summary-grid{grid-template-columns:repeat(2,1fr)}.stat{padding:14px}.panel{padding:16px}.panel-heading{align-items:start}.panel-heading h2{font-size:1.4rem}.tabs button{font-size:.73rem;padding:8px}.command-row{flex-direction:column}.two-fields{grid-template-columns:1fr}.header-right{gap:6px}.small-link{font-size:.7rem}.login-panel{padding:24px}}
@media print{body{background:white!important;color:#000}.site-header,.admin-header,main,footer,.item-dialog,.editor-dialog{display:none!important}.print-area{display:block!important;position:static!important;padding:0!important}.print-area .print-page{display:block;page-break-after:always;font-family:Georgia,serif;color:#243c30}.print-area .print-header{display:flex;gap:20px;align-items:center;border-bottom:2px solid #244b38;padding-bottom:15px;margin-bottom:24px}.print-area img{max-height:90px;width:auto}.print-area table{width:100%;border-collapse:collapse}.print-area th,.print-area td{border-bottom:1px solid #ddd;padding:8px;text-align:left}.print-area .business-card-print{width:3.5in;height:2in;border:1px solid #aaa;display:flex;align-items:center;padding:12px;gap:10px;font-family:Georgia,serif;margin:20px}.print-area .business-card-print img{width:78px;height:78px;object-fit:contain}.print-area .business-card-print .business-card-copy{flex:1;min-width:0;line-height:1.15}.print-area .business-card-print strong{font-size:13px;display:block}.print-area .business-card-print small{display:block;font-size:8.5px;overflow-wrap:anywhere}.print-area .business-card-print .business-card-qr{width:60px;height:60px;object-fit:contain;margin-left:auto}}
/* Private photo map / placement capture */
.locator-search{padding:14px 0 20px}.locator-search label{font-size:.8rem;font-weight:700;color:var(--pine)}.locator-search input{display:block;width:100%;border:1px solid #c8d4c9;border-radius:8px;padding:13px;margin-top:6px;font-size:1rem}.locations-list{display:grid;gap:12px}.location-card{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px}.location-photo-row{display:flex;flex-wrap:wrap;gap:5px;max-width:300px}.location-photo-row img,.photo-placeholder{width:84px;height:78px;object-fit:cover;border-radius:7px;background:#e7eee6}.photo-placeholder{text-align:center;font-size:.7rem;padding:10px;color:var(--mute)}.location-details{flex:1;min-width:0}.location-details h3{font-size:1rem;font-family:system-ui,sans-serif;margin:0 0 7px}.location-details small{display:block;color:var(--mute)}.subheading{font-size:1.2rem;margin:28px 0 12px;color:var(--pine)}.private-photo-block{background:#f1f6f0;border:1px solid #d3e0d3;border-radius:9px;padding:14px;margin:12px 0 20px}.private-photo-head{display:grid;gap:4px;color:var(--pine)}.private-photo-head small{font-size:.76rem;color:var(--mute)}.camera-row{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.camera-row label,.camera-inline{cursor:pointer;display:inline-flex!important;align-items:center;width:auto!important;margin:3px 0 6px!important}.photo-tile{position:relative}.photo-tile button{position:absolute;right:-3px;top:-3px;width:25px;height:25px;border:0;border-radius:50%;background:#a43e22;color:white;font-size:1.05rem;font-weight:800}.editor-dialog select{display:block;width:100%;padding:11px 12px;background:white;border:1px solid #c8d4c9;border-radius:7px;margin-top:5px;color:var(--ink)}
@media(max-width:620px){.location-card{align-items:start;flex-wrap:wrap}.location-photo-row{width:100%;max-width:100%}.location-card>.mini-button{width:100%}.camera-row label{flex:1;justify-content:center}.private-photo-block{padding:12px}}

.share-page-body{background:var(--cream);min-height:100vh}
.share-page-main{width:min(760px,calc(100% - 32px));margin:34px auto;padding-bottom:40px}
.share-item-card{overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.share-item-card>img{display:block;width:100%;max-height:68vh;object-fit:contain;background:#ecf0e7}
.share-item-content{padding:24px}
.share-item-content h1{color:var(--pine);font-size:clamp(2rem,5vw,3rem);margin:10px 0}
.share-item-price{font-family:Georgia,serif;font-size:1.6rem;font-weight:700;color:var(--pine)}
.share-availability{color:var(--mute);font-weight:700}
.share-page-footer{text-align:center;color:var(--mute);font-size:.85rem;padding-top:18px}
@media(max-width:560px){.share-page-main{margin:16px auto}.share-item-content{padding:18px}.share-item-card>img{max-height:55vh}}
