:root{--ink:#2b2e30;--ink-soft:#565a5d;--paper:#faf8f4;--paper-2:#f1ece3;--white:#fff;--line:#e4ddd1;--accent:#9c7a4d;--accent-deep:#7c6038;--overlay:#1c1e1f8c;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--container:1180px;--radius:4px;--shadow:0 18px 50px #2b2e3021;--shadow-soft:0 6px 22px #2b2e3014;--header-h:76px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.7}img{max-width:100%;display:block}a{color:var(--accent-deep);text-decoration:none;transition:color .2s}a:hover{color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--ink);letter-spacing:.2px;margin:0 0 .6em;font-weight:600;line-height:1.15}h1{font-size:clamp(2.1rem,5vw,3.4rem)}h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}h3{font-size:clamp(1.25rem,2.2vw,1.55rem)}h4{font-size:1.1rem}p{margin:0 0 1.1em}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}::selection{background:var(--accent);color:#fff}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.section{padding:clamp(48px,8vw,110px) 0}.section--tight{padding:clamp(36px,5vw,64px) 0}.section--sand{background:var(--paper-2)}.section--ink{background:var(--ink);color:#e9e6e0}.section--ink h1,.section--ink h2,.section--ink h3{color:#fff}.eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin:0 0 1rem;font-size:.76rem;font-weight:600}.lead{color:var(--ink-soft);max-width:60ch;font-size:1.15rem}.measure{max-width:68ch}.center{text-align:center}.center .lead,.center .measure,.center.lead,.center.measure{margin-left:auto;margin-right:auto}.btn{font-family:var(--font-sans);letter-spacing:.04em;border-radius:var(--radius);cursor:pointer;text-transform:uppercase;border:1px solid #0000;align-items:center;gap:.5em;padding:14px 28px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep);color:#fff}.btn-ghost{color:#fff;background:0 0;border-color:#fff9}.btn-ghost:hover{color:var(--ink);background:#fff;border-color:#fff}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{color:#fff;background:#000}.site-header{z-index:100;height:var(--header-h);align-items:center;transition:background .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0}.site-header.transparent{background:linear-gradient(#1416178c,#14161700)}.site-header.solid{background:var(--paper);box-shadow:0 1px 0 var(--line)}.site-header .container{justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:12px;display:flex}.brandmark{-webkit-user-select:none;user-select:none;background:#33363a;border-radius:3px;flex-direction:column;align-items:flex-start;gap:4px;padding:9px 16px 10px;line-height:1;display:inline-flex}.brandmark-kicker{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:#fff;white-space:nowrap;font-size:.62rem;font-weight:600}.brandmark-name{font-family:var(--font-sans);letter-spacing:-.2px;color:#fff;white-space:nowrap;font-size:1.5rem;font-weight:700}.brandmark-suffix{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;vertical-align:.85em;color:#fff9;margin-left:.3em;font-size:.4em;font-weight:600}@media (width<=480px){.brandmark{padding:7px 12px 8px}.brandmark-name{font-size:1.2rem}.brandmark-kicker{letter-spacing:.18em;font-size:.54rem}}.nav{align-items:center;gap:30px;display:flex}.nav a{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;padding:4px 0;font-size:.92rem;font-weight:500;position:relative}.site-header.transparent .nav a{color:#ffffffeb}.site-header.solid .nav a{color:var(--ink)}.nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .25s;position:absolute;bottom:-2px;left:0}.nav a:hover:after,.nav a.active:after{width:100%}.nav a.active{color:var(--accent)}.site-header.transparent .nav a.active{color:#fff}.nav-cta{margin-left:8px}.nav a.nav-cta{padding:14px 34px}.nav-toggle{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:10px;display:none}.nav-toggle span{background:currentColor;border-radius:2px;height:2px;margin:5px 0;transition:all .3s;display:block}.site-header.transparent .nav-toggle{color:#fff}.site-header.solid .nav-toggle{color:var(--ink)}@media (width<=880px){.nav-toggle{display:block}.nav{background:var(--paper);flex-direction:column;justify-content:center;gap:26px;transition:transform .35s;position:fixed;inset:0;transform:translate(100%)}.nav.open{transform:translate(0)}.nav a{font-size:1.3rem;color:var(--ink)!important}.nav-cta{margin:10px 0 0}.nav-toggle{z-index:101}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-toggle.open{color:var(--ink)}}.hero{color:#fff;align-items:center;min-height:clamp(540px,86vh,820px);display:flex;position:relative;overflow:hidden}.hero-bg{background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.05)}.hero:after{content:"";background:linear-gradient(90deg,#141617c7 0%,#14161773 45%,#14161733 100%);position:absolute;inset:0}.hero .container{z-index:2;position:relative}.hero-content{max-width:640px}.hero h1{color:#fff;margin-bottom:.35em}.hero .eyebrow{color:#e7c79a}.hero p{color:#ffffffe6;max-width:46ch;margin-bottom:2rem;font-size:1.2rem}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.page-hero{padding:calc(var(--header-h) + 70px) 0 70px;color:#fff;text-align:center;position:relative;overflow:hidden}.page-hero-bg{background-position:50%;background-size:cover;position:absolute;inset:0}.page-hero:after{content:"";background:#181a1b99;position:absolute;inset:0}.page-hero .container{z-index:2;position:relative}.page-hero h1{color:#fff;margin-bottom:.25em}.page-hero p{color:#ffffffe0;max-width:56ch;margin:0 auto}.breadcrumb{letter-spacing:.14em;text-transform:uppercase;color:#e7c79a;margin-bottom:1rem;font-size:.8rem}.breadcrumb a{color:#e7c79a}.breadcrumb a:hover{color:#fff}.grid{gap:clamp(28px,4vw,56px);display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=860px){.grid-2,.grid-3{grid-template-columns:1fr}}.split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.split.reverse .split-media{order:2}@media (width<=860px){.split{grid-template-columns:1fr}.split.reverse .split-media{order:0}}.split-media img{border-radius:var(--radius);width:100%;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}.feature-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:32px;transition:transform .25s,box-shadow .25s}.feature-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.feature-card .num{font-family:var(--font-serif);color:var(--accent);font-size:1.6rem}.svc-list{margin:0;padding:0;list-style:none}.svc-list li{border-bottom:1px solid var(--line);padding:11px 0 11px 30px;position:relative}.svc-list li:before{content:"";background:var(--accent);width:9px;height:9px;position:absolute;top:19px;left:0;transform:rotate(45deg)}.svc-list li:last-child{border-bottom:0}.notice{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:26px 30px}.notice h3{color:var(--accent-deep);margin-bottom:.4em}.notice address{color:var(--ink);font-style:normal;font-weight:600}.stats{flex-wrap:wrap;gap:clamp(24px,5vw,70px);display:flex}.stat .n{font-family:var(--font-serif);color:var(--accent);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1}.stat .l{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-top:.5rem;font-size:.8rem}.info-table{border-collapse:collapse;width:100%}.info-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 0}.info-table td:first-child{padding-right:18px;font-weight:600}.info-table td:first-child:not(:last-child){white-space:nowrap}.info-table tr:last-child td{border-bottom:0}.cat-nav{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:48px;display:flex}.cat-nav button{font-family:var(--font-sans);letter-spacing:.03em;border:1px solid var(--line);background:var(--white);color:var(--ink-soft);cursor:pointer;border-radius:100px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.cat-nav button:hover{border-color:var(--accent);color:var(--accent-deep)}.cat-nav button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.cat-block{margin-bottom:72px;scroll-margin-top:100px}.cat-block h2{align-items:baseline;gap:14px;display:flex}.cat-block h2 .count{font-family:var(--font-sans);color:var(--ink-soft);font-size:.9rem;font-weight:500}.gallery{columns:3 260px;column-gap:16px}.gallery .tile{break-inside:avoid;border-radius:var(--radius);cursor:zoom-in;background:var(--paper-2);border:0;width:100%;margin-bottom:16px;padding:0;display:block;position:relative;overflow:hidden}.gallery .tile img{width:100%;height:auto;transition:transform .5s,filter .3s}.gallery .tile:after{content:"";background:#1c1e1f00;transition:background .3s;position:absolute;inset:0}.gallery .tile:hover img{transform:scale(1.05)}.gallery .tile:hover:after{background:#1c1e1f1f}.gallery-empty{color:var(--ink-soft);padding:24px 0;font-style:italic}.lightbox{z-index:1000;background:#101112eb;justify-content:center;align-items:center;padding:24px;animation:.2s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.lightbox img{border-radius:var(--radius);max-width:92vw;max-height:86vh;box-shadow:0 30px 80px #00000080}.lightbox-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;transition:background .2s;display:flex;position:absolute}.lightbox-btn:hover{background:#ffffff38}.lightbox-close{top:24px;right:24px}.lightbox-prev{top:50%;left:24px;transform:translateY(-50%)}.lightbox-next{top:50%;right:24px;transform:translateY(-50%)}.lightbox-counter{color:#ffffffb3;letter-spacing:.1em;font-size:.85rem;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=600px){.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-btn{width:44px;height:44px}}.facade{border-radius:var(--radius);background-position:50%;background-size:cover;background-color:var(--ink);cursor:pointer;aspect-ratio:16/9;width:100%;box-shadow:var(--shadow);border:0;position:relative;overflow:hidden}.facade.map{aspect-ratio:16/8}.facade:after{content:"";background:#14161773;transition:background .3s;position:absolute;inset:0}.facade:hover:after{background:#1416174d}.facade-inner{z-index:2;color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.facade-play{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;display:flex}.facade-play svg{fill:#fff;width:28px;height:28px;margin-left:4px}.facade-label{letter-spacing:.03em;font-weight:600}.facade-hint{color:#fffc;max-width:40ch;font-size:.82rem}.facade iframe{z-index:3;border:0;width:100%;height:100%;position:absolute;inset:0}.site-footer{background:var(--ink);color:#c9c6c0;padding:64px 0 28px;font-size:.95rem}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;display:grid}@media (width<=760px){.footer-grid{grid-template-columns:1fr;gap:32px}}.site-footer h4{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-sans);margin-bottom:1.1em;font-size:.82rem}.site-footer a{color:#c9c6c0}.site-footer a:hover{color:#fff}.footer-links{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer-brand .brandmark{margin-bottom:18px;padding:11px 18px 12px}.footer-brand .brandmark-name{font-size:1.8rem}.footer-brand .brandmark-kicker{font-size:.66rem}.footer-bottom{color:#8f8d88;border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:48px;padding-top:22px;font-size:.82rem;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:18px;display:flex}.legal{padding:calc(var(--header-h) + 60px) 0 90px}.legal .container{max-width:860px}.legal h1{margin-bottom:1.2rem}.legal h2{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1.6rem;font-size:1.5rem}.legal h3{color:var(--accent-deep);margin-top:1.8rem;font-size:1.15rem}.legal h4{color:var(--ink);margin-top:1.4rem;font-size:1rem}.legal h5{font-size:.95rem;font-family:var(--font-sans);margin-top:1rem}.legal p,.legal ul{color:var(--ink-soft)}.legal address{font-style:normal}.page-pad{padding-top:var(--header-h)}.cat-card{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s;display:block;overflow:hidden}.cat-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.cat-card-img{aspect-ratio:4/3;background-position:50%;background-size:cover;background-color:var(--paper-2);transition:transform .5s}.cat-card:hover .cat-card-img{transform:scale(1.04)}.cat-card-body{justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.cat-card-body h3{margin:0;font-size:1.25rem}.cat-card-link{color:var(--accent);white-space:nowrap;font-size:.9rem;font-weight:600}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.flow>*+*{margin-top:1.2rem}.tag{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);background:var(--paper-2);border-radius:100px;padding:4px 12px;font-size:.72rem;font-weight:600;display:inline-block}.admin-shell{background:var(--paper);min-height:100vh;font-family:var(--font-sans);color:var(--ink)}.admin-center{justify-content:center;align-items:center;padding:24px;display:flex}.admin-muted{color:var(--ink-soft);font-size:.9rem}.login-card{background:var(--white);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;border-radius:10px;padding:40px 34px}.login-logo{width:auto;height:48px;margin:0 auto 18px}.login-card h1{margin-bottom:.3em;font-size:1.5rem}.login-card .admin-muted{margin-bottom:24px}.field{text-align:left;margin-bottom:16px;display:block}.field span{margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.field input{border:1px solid var(--line);background:var(--paper);border-radius:6px;width:100%;padding:12px 14px;font-family:inherit;font-size:1rem;transition:border-color .2s}.field input:focus{border-color:var(--accent);outline:none}.admin-alert{color:#9c2b22;text-align:left;background:#fcebea;border:1px solid #f0b8b3;border-radius:6px;margin-bottom:18px;padding:12px 14px;font-size:.9rem}.btn-danger{color:#fff;text-transform:none;background:#b23b32}.btn-danger:hover{color:#fff;background:#93302a}.btn-ghost-dark{border-color:var(--line);color:var(--ink);text-transform:none;background:0 0}.btn-ghost-dark:hover{background:var(--paper-2);color:var(--ink)}.admin-shell .btn{text-transform:none;padding:11px 18px;font-size:.9rem}.admin-top{z-index:10;background:var(--white);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.admin-top-left{align-items:center;gap:14px;display:flex}.admin-logo{width:auto;height:38px}.admin-top-left strong{font-family:var(--font-serif);font-size:1.15rem}.admin-top-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.save-badge{background:var(--paper-2);color:var(--ink-soft);border-radius:100px;padding:6px 12px;font-size:.85rem}.save-badge.save-saving{color:#8a6d2f;background:#fdf3e0}.save-badge.save-saved{color:#2f7a45;background:#e7f3ea}.save-badge.save-error{color:#9c2b22;background:#fcebea}.admin-main{max-width:1100px;margin:0 auto;padding:clamp(20px,4vw,40px)}.add-cat{flex-wrap:wrap;gap:10px;margin-bottom:32px;display:flex}.add-cat input{border:1px solid var(--line);background:var(--white);border-radius:6px;flex:1;min-width:220px;padding:12px 14px;font-family:inherit;font-size:1rem}.add-cat input:focus{border-color:var(--accent);outline:none}.admin-empty{text-align:center;padding:40px 0}.cat-list{flex-direction:column;gap:22px;display:flex}.cat-panel{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:10px;overflow:hidden}.cat-panel-head{background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.cat-name-input{font-family:var(--font-serif);min-width:180px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px;font-size:1.3rem;font-weight:600}.cat-name-input:hover{background:var(--white);border-color:var(--line)}.cat-name-input:focus{background:var(--white);border-color:var(--accent);outline:none}.cat-panel-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.upload-btn{cursor:pointer;position:relative}.upload-btn.is-busy{opacity:.7;pointer-events:none}.cat-empty{padding:24px 20px}.img-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:20px;display:grid}.img-cell{aspect-ratio:1;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;margin:0;position:relative;overflow:hidden}.img-cell img{object-fit:cover;width:100%;height:100%}.img-tools{opacity:0;background:linear-gradient(#14161700,#141617b3);justify-content:center;gap:4px;padding:6px;transition:opacity .2s;display:flex;position:absolute;inset:auto 0 0}.img-cell:hover .img-tools{opacity:1}.img-tools button{width:30px;height:30px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.img-tools button:hover:not(:disabled){background:#fff}.img-tools button:disabled{opacity:.4;cursor:default}.img-tools .img-del:hover{color:#fff;background:#b23b32}@media (width<=560px){.img-tools{opacity:1}}
