:root{--ink:#20312f;--muted:#687774;--green:#173c3a;--green-light:#c0d7c3;--line:#dfe5df;--paper:#f7f8f5;--white:#fff;--danger:#a93832}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f6f7f5 url('/img/clean_bckg_tile.jpg') left top/200% auto scroll repeat}body{margin:0;background:transparent;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}a{color:#285e58;text-underline-offset:3px}a:hover{color:#102a28}.skip-link{position:absolute;left:-10000px;top:8px;z-index:20;background:#fff;padding:10px}.skip-link:focus{left:8px}.site-header{position:relative;z-index:5;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(32,49,47,.08)}.header-row{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;line-height:1.1}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #a7c0b2;border-radius:50%;font:700 22px Manrope,Arial,sans-serif;color:var(--green)}.brand strong{display:block;font:700 15px Manrope,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:30px}.site-nav a{color:#455653;text-decoration:none;font-size:14px;font-weight:600}.site-nav a[aria-current=page]{color:var(--green);box-shadow:inset 0 -2px var(--green);padding-block:8px}.site-nav .nav-phone{padding:10px 18px;border-radius:999px;background:var(--green);color:white}.menu-toggle{display:none}.hero{min-height:0;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(14,43,41,.78) 0%,rgba(16,48,45,.64) 52%,rgba(19,52,49,.46) 100%);color:#fff}.hero-inner{position:relative;z-index:1;padding-block:24px}.eyebrow{margin:0 0 12px;color:#64877b;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.hero .eyebrow{color:#c3d9c8}.hero h1,.page-intro h1{font-family:Manrope,Arial,sans-serif;letter-spacing:-.04em;line-height:1.1}.hero h1{max-width:700px;margin:0;font-size:clamp(38px,5vw,56px);font-weight:600}.hero h1 span{color:var(--green-light)}.hero-copy{max-width:510px;margin:14px 0 16px;color:rgba(255,255,255,.86);font-size:17px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 19px;border:1px solid transparent;border-radius:5px;font:600 14px 'DM Sans',Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .16s,transform .16s}.button:hover{transform:translateY(-1px)}.button-light{background:#f2f3e9;color:#1a3c38}.button-light:hover{background:#fff;color:#1a3c38}.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:#24534e;color:#fff}.button-outline{border-color:#bdcbc4;background:transparent;color:var(--green)}.button-outline:hover{background:#edf3ee}.text-link{font-weight:600;text-decoration:none}.text-link-light{color:white}.hero-address{margin:18px 0 0;color:rgba(255,255,255,.75);font-size:13px}.main-content{min-height:280px;margin-block:28px;padding:44px;background:rgba(255,255,255,.86);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border:1px solid rgba(255,255,255,.72);border-radius:10px;box-shadow:0 8px 30px rgba(20,43,39,.1)}.home-content{padding-top:60px}.section-heading{max-width:700px;margin:0 auto 32px;text-align:center}.section-heading h2,.home-address h2{margin:0 0 12px;font:600 clamp(28px,4vw,39px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.03em}.section-heading>p:last-child{margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:210px;padding:25px 24px;border:1px solid #e4e9e3;border-radius:7px;background:#fff;box-shadow:0 4px 16px rgba(20,43,39,.045)}.service-number{color:#7d9e8c;font-size:12px;font-weight:700;letter-spacing:.1em}.service-card h3{margin:18px 0 9px;font:600 18px/1.35 Manrope,Arial,sans-serif}.service-card p{margin:0;color:var(--muted);font-size:14px}.home-contact{display:grid;grid-template-columns:.78fr 1.22fr;gap:24px;margin-top:45px;padding:23px;background:#e9efea;border:1px solid #dce5dc;border-radius:7px}.home-address{padding:11px 9px}.home-address h2{font-size:28px}.home-address p:not(.eyebrow){color:#556964}.home-address .eyebrow{margin-bottom:8px}.home-address a{font-weight:600}.map-frame{min-height:330px;overflow:hidden;border:1px solid #bdcbc4;border-radius:5px;background:#e1e8e1}.map-frame iframe{display:block;width:100%;height:100%;min-height:330px;border:0}.page-intro{max-width:760px;margin:0 auto 38px;text-align:center}.page-intro h1{margin:0 0 13px;font-size:clamp(36px,5vw,52px);font-weight:600}.page-intro>p:last-child{max-width:650px;margin:0 auto;color:var(--muted)}.services-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.services-list article{padding:23px 25px;border:1px solid #e4e9e3;border-radius:6px;background:white}.services-list h2{margin:0 0 9px;font:600 19px Manrope,Arial,sans-serif}.services-list p{margin:0;color:var(--muted);font-size:14px}.page-cta{text-align:center;margin-top:25px}.back-link{display:inline-block;margin-bottom:18px;font-size:14px;font-weight:600;text-decoration:none}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.album-card{display:block;overflow:hidden;border:1px solid #e2e8e2;border-radius:7px;background:white;color:var(--ink);text-decoration:none;box-shadow:0 5px 18px rgba(20,43,39,.055);transition:transform .18s,box-shadow .18s}.album-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,43,39,.1);color:var(--ink)}.album-cover{height:230px;overflow:hidden;background:#e6ebe5}.album-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.album-card:hover .album-cover img{transform:scale(1.025)}.album-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#284d48,#a6bfb1);color:rgba(255,255,255,.75);font:600 14px Manrope,Arial,sans-serif;letter-spacing:.22em}.album-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px}.album-info h2{margin:0;font:600 16px Manrope,Arial,sans-serif}.album-info span{white-space:nowrap;color:var(--muted);font-size:12px}.album-info b{padding-left:5px;color:var(--green)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.photo-card{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border-radius:5px;background:#e5eae4}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-card:hover img{transform:scale(1.035)}.photo-card span{position:absolute;inset:auto 0 0;padding:30px 13px 10px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white;font-size:13px}.empty-state,.panel{max-width:740px;margin:20px auto;padding:35px;border:1px solid #e2e8e2;border-radius:7px;background:white;text-align:center}.empty-state h2,.panel h1{margin:0 0 10px;font:600 23px Manrope,Arial,sans-serif}.empty-state p,.panel p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;align-items:stretch}.contact-details{padding:28px;border:1px solid #e4e9e3;border-radius:7px;background:white}.contact-details h2{font:600 21px Manrope,Arial,sans-serif}.contact-address{color:var(--muted)}.contact-big{font:700 23px Manrope,Arial,sans-serif;text-decoration:none}.contact-details .button{margin-top:11px}.contact-grid .map-frame,.contact-grid .map-frame iframe{min-height:360px}.site-footer{margin-top:22px;padding:38px 0 17px;background:#183b38;color:#e1ebe5}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;padding-bottom:25px}.brand-footer{color:white}.brand-footer .brand-mark{border-color:#719086;color:#d8e6dc}.brand-footer small{color:#acc0b6}.footer-grid p{margin:12px 0 0;color:#becfc6;font-size:13px}.footer-grid h2{margin:4px 0 9px;color:white;font:600 14px Manrope,Arial,sans-serif}.footer-grid a{color:#e5eee8}.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:13px;border-top:1px solid rgba(255,255,255,.15);color:#a8bdb3;font-size:12px}.footer-bottom a{color:#cbd9d1;text-decoration:none}.notice{margin:0 auto 22px;padding:11px 14px;border-radius:5px;font-size:14px}.notice-success{background:#e5f2e7;color:#28543a}.notice-error{background:#f8e8e6;color:#8c302b}.admin-login{max-width:500px;margin:0 auto}.login-card{padding:32px;border:1px solid #e2e8e2;border-radius:7px;background:white;box-shadow:0 7px 25px rgba(20,43,39,.06)}.login-card h1{margin:0 0 22px;font:600 31px Manrope,Arial,sans-serif}.form-stack{display:grid;gap:9px;margin-bottom:22px}.form-stack label,.upload-form label{font-size:13px;font-weight:700}.form-stack input,.inline-form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #ccd7d0;border-radius:4px;font:inherit}.form-stack button{margin-top:9px}.form-error{margin:0;color:var(--danger);font-size:13px}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;max-width:none;text-align:left}.admin-heading h1{font-size:40px}.admin-heading p:not(.eyebrow){max-width:650px;color:var(--muted)}.admin-create,.admin-album{margin-bottom:17px;padding:22px;border:1px solid #e2e8e2;border-radius:7px;background:white}.admin-create h2,.admin-album h2{margin:0;font:600 19px Manrope,Arial,sans-serif}.inline-form{display:flex;gap:9px;margin-top:13px}.admin-create .inline-form input{max-width:520px}.admin-album-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-album-title span{color:var(--muted);font-size:12px}.rename-form{max-width:620px}.upload-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:14px;border-radius:5px;background:#f5f7f3}.upload-form input[type=file]{max-width:340px;font-size:13px}.admin-photo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:17px}.admin-photo{overflow:hidden;border:1px solid #e2e8e2;border-radius:5px}.admin-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.admin-photo form{padding:5px;text-align:center}.delete-button,.text-danger{border:0;background:none;color:var(--danger);font:600 12px 'DM Sans',Arial,sans-serif;cursor:pointer}.delete-album{margin-top:15px;text-align:right}.text-danger{text-decoration:underline}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.site-nav{gap:18px}.hero{min-height:0;background-position:55% center}.album-grid{grid-template-columns:repeat(2,1fr)}.album-cover{height:200px}.contact-grid{grid-template-columns:1fr}.map-frame,.map-frame iframe{min-height:320px}.admin-photo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.container{width:min(100% - 34px,1160px)}.header-row{min-height:72px}.brand-mark{width:38px;height:38px}.menu-toggle{display:block;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font:inherit;padding:8px 12px}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 17px 15px;border-bottom:1px solid var(--line);background:white;box-shadow:0 10px 20px rgba(20,43,39,.08)}.site-nav.is-open{display:flex}.site-nav a{padding:11px 8px}.site-nav a[aria-current=page]{box-shadow:none}.site-nav .nav-phone{text-align:center;margin-top:6px}.hero{min-height:0;background-position:57% center}.hero-inner{padding-block:18px}.hero h1{font-size:clamp(30px,8vw,40px);max-width:100%;overflow-wrap:normal}.hero-copy{margin:12px 0 14px;font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.main-content{padding:28px 18px}.home-content{padding-top:40px}.service-grid,.services-list{grid-template-columns:1fr}.service-card{min-height:0}.home-contact{grid-template-columns:1fr;margin-top:32px;padding:18px}.section-heading{margin-bottom:24px}.page-intro{margin-bottom:29px}.album-grid{grid-template-columns:1fr;gap:14px}.album-cover{height:auto;aspect-ratio:16/10}.photo-grid{grid-template-columns:repeat(2,1fr);gap:8px}.contact-details{padding:22px}.map-frame,.map-frame iframe{min-height:280px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{font-size:11px}.admin-heading{flex-direction:column}.admin-heading h1{font-size:34px}.inline-form{flex-direction:column}.inline-form .button{align-self:flex-start}.admin-album-title{align-items:flex-start;flex-direction:column}.upload-form{align-items:flex-start;flex-direction:column}.upload-form input[type=file]{max-width:100%}.admin-photo-grid{grid-template-columns:repeat(3,1fr)}.login-card{padding:24px}}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #438c84;outline-offset:2px}
.home-services-text{max-width:none;margin:0 0 30px}.home-services-text h2{margin:0 0 12px;font:600 27px/1.25 Manrope,Arial,sans-serif}.home-services-text p{color:var(--muted)}.home-services-text ul{margin:0 0 16px;padding-left:32px}
@media(max-width:620px){.home-services-text h2{font-size:23px}.home-services-text ul{padding-left:27px}}

@media(max-width:620px){html{background-attachment:scroll}}

.secondary-phone{font-size:.88em;color:var(--muted);font-weight:400}.secondary-phone a{font-weight:400;color:#61736d}.footer-grid .secondary-phone{color:#b9c9c0}.footer-grid .secondary-phone a{color:#c9d8d0}
/* Opening hours */
.opening-hours{margin:18px 0 20px}.opening-hours h3{margin:0 0 7px;color:var(--ink);font:600 15px/1.4 Manrope,Arial,sans-serif}.opening-hours dl{margin:0}.opening-hours dl div{display:grid;grid-template-columns:minmax(105px,.85fr) 1.15fr;gap:10px;padding:4px 0;border-bottom:1px solid rgba(32,49,47,.1);font-size:13px;line-height:1.45}.opening-hours dt{font-weight:600}.opening-hours dd{margin:0;color:var(--muted)}
.brand-mark{overflow:hidden;background:#d9e4dc url('/img/clean_bckg.jpg') center/cover no-repeat;color:transparent;font-size:0}
html{background-image:url('/img/clean_bckg_tile.jpg?v=2')}
.upload-descriptions{flex:1 0 100%;display:grid;gap:9px}.upload-description-row{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(135px,.7fr) minmax(180px,1.4fr);align-items:center;gap:10px;width:100%}.upload-filename{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.upload-description-row input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #ccd7d0;border-radius:4px;font:inherit}
@media(max-width:620px){.upload-description-row{grid-template-columns:1fr;gap:4px}.upload-filename{font-size:11px}}
.admin-photo-description{display:grid;gap:6px;padding:7px!important;text-align:left!important}.admin-photo-description textarea{width:100%;min-height:58px;padding:7px;border:1px solid #ccd7d0;border-radius:4px;font:12px/1.4 'DM Sans',Arial,sans-serif;resize:vertical}.admin-photo-description .button{width:100%;min-height:34px;padding:6px 8px;font-size:12px}
body{min-height:100vh;display:flex;flex-direction:column}main.main-content{flex:1 0 auto}
.admin-album-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.order-controls{display:flex;align-items:center;gap:6px}.order-controls form{margin:0}.order-button{min-width:36px;min-height:34px;padding:4px 9px;font-size:17px;line-height:1}.order-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.admin-photo>.order-controls{justify-content:center;margin:4px 0 8px}
