/* Fully local fonts: no outbound font request. */
:root{--green:#183b35;--green2:#214b42;--cream:#f7f4eb;--sand:#ece8d9;--gold:#e7b862;--ink:#20332f;--muted:#687b72;--line:#d8ddd2;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.preview-ribbon{text-align:center;background:#e6b762;color:#213c31;padding:5px 12px;font-size:11px;letter-spacing:.16em;font-weight:700}.site-header{height:88px;padding:0 max(32px,calc((100vw - 1200px)/2));display:flex;align-items:center;gap:30px;background:var(--cream);position:relative;z-index:3}.brand{display:inline-flex;align-items:center;gap:10px;line-height:1}.brand-mark{display:grid;place-items:center;background:var(--green);color:var(--gold);width:43px;height:43px;border-radius:50%;font-size:26px}.brand strong{font-family:var(--serif);font-size:22px;letter-spacing:.1em}.brand small{display:block;margin-top:8px;font-size:9px;font-weight:700;letter-spacing:.2em}.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:13px;font-weight:700}.main-nav a:hover,.main-nav button:hover,.text-link:hover{text-decoration:underline}.main-nav button,.footer-grid button{background:none;border:0;color:inherit;padding:0;font-weight:700}.header-cta{border:1px solid var(--green);padding:12px 19px;font-size:13px;font-weight:700;white-space:nowrap}.header-cta span{margin-left:15px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:53% 47%;min-height:590px;align-items:stretch}.hero-copy{padding:75px 40px 55px 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.section-label{font-size:12px;font-weight:700;letter-spacing:.18em;color:#608176;text-transform:uppercase}.eyeline{display:inline-block;width:27px;height:1px;background:var(--gold);vertical-align:middle;margin-right:11px}.hero h1,h2{font-family:var(--serif);font-weight:500;line-height:1.13;letter-spacing:-.04em}.hero h1{font-size:clamp(50px,5.7vw,82px);margin:25px 0 20px}.hero h1 em,h2 em,.visual-card em,.contact-art em{color:#8a9e65;font-weight:500}.hero-copy>p{max-width:520px;color:#596c62;font-size:18px;line-height:1.7;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border:0;padding:16px 23px;font-size:13px;font-weight:700;line-height:1.2}.button-primary{background:var(--green);color:white}.button:hover{filter:brightness(1.12)}.button-cream{background:var(--cream);color:var(--green);margin-top:20px}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #82978d;padding-bottom:6px}.hero-proof{display:flex;gap:24px;margin-top:auto;padding-top:50px;font-size:12px;color:#576a62;flex-wrap:wrap}.hero-proof b{font-family:var(--serif);font-size:19px;color:var(--green);margin-right:5px}.hero-proof sup{font-size:9px}.hero-art{position:relative;overflow:hidden;background:#d9e0cb;min-height:540px}.hero-art:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,#f8f0d5 0,transparent 35%)}.sun{position:absolute;width:210px;height:210px;border-radius:50%;background:#f5d89b;top:13%;right:17%;box-shadow:0 0 0 30px #f5d89b44}.hill{position:absolute;width:130%;height:250px;border-radius:50% 50% 0 0;left:-15%}.hill-back{background:#adc0a3;bottom:0;transform:rotate(-10deg)}.hill-front{background:#759679;bottom:-100px;transform:rotate(8deg)}.dog{position:absolute;left:29%;bottom:8%;width:49%;height:55%}.dog-body{position:absolute;left:4%;bottom:0;width:95%;height:60%;border-radius:48% 48% 15% 16%;background:#b3784e;box-shadow:inset -22px 0 #95613f}.dog-face{position:absolute;width:66%;height:55%;left:11%;top:0;border-radius:46% 44% 48% 48%;background:#c58c59;z-index:2;transform:rotate(-8deg);box-shadow:inset -15px -8px #a8754b}.dog-ear{position:absolute;left:0;top:1%;height:40%;width:28%;background:#6f4835;border-radius:70% 20% 80% 30%;transform:rotate(18deg);z-index:3}.dog-face:after{content:'';position:absolute;width:19%;height:15%;border-radius:50%;background:#2a3129;right:11%;bottom:22%}.eye{position:absolute;right:29%;top:37%;width:9px;height:9px;background:#2a3129;border-radius:50%}.muzzle{position:absolute;right:4%;bottom:8%;background:#e2b084;border-radius:50%;width:40%;height:29%}.dog-tail{position:absolute;right:-13%;bottom:18%;height:21%;width:23%;border:22px solid #9c6642;border-left:0;border-bottom:0;border-radius:0 80% 0 0;transform:rotate(23deg)}.art-label{position:absolute;left:8%;top:9%;background:#fff9eeeb;padding:15px 18px;border-radius:3px;line-height:1.35;font-family:var(--serif);font-style:italic;color:var(--green)}.art-label strong{font-style:normal}.ticker{background:#e9ddbd;padding:15px 0;color:#425547}.ticker .wrap{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;letter-spacing:.15em}.ticker i{font-size:16px;color:#a67b41;font-style:normal}.intro,.services,.book{padding-top:115px;padding-bottom:115px;display:grid;grid-template-columns:27% 73%}.intro h2,.services h2,.book h2,.contact h2,.faq-band h2{font-size:clamp(42px,4.5vw,65px);margin:0 0 22px}.intro>div:nth-child(2)>p,.services-heading>p,.book-grid>div>p{max-width:720px;color:#5c7064;font-size:17px}.service-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}.service-card{border:1px solid var(--line);padding:32px;background:#fffdf7;min-height:270px}.card-icon{font-size:34px;color:#94a980}.service-card h3,.training-grid h3,.coming-row h3{font-family:var(--serif);font-size:26px;margin:22px 0 6px;font-weight:500}.service-card p,.training-grid p{color:#65756b;margin:0 0 18px}.muted,.footnote{font-size:12px;color:#687a6c}.footnote{margin-top:20px}.feature-band{background:var(--green);color:#f6f4e9}.feature-grid{display:grid;grid-template-columns:48% 52%;gap:5%;align-items:center;padding:85px 0}.feature-grid h2,.offer-band h2{font-size:clamp(45px,4.5vw,65px);margin:15px 0 25px}.feature-grid p{max-width:530px;color:#c5d1c6}.section-label.light{color:#e5bf7a}.feature-visual{min-height:410px;border:1px solid #678172;position:relative;background:radial-gradient(circle at 50% 48%,#55775f 0,#214b42 66%);display:grid;place-items:center}.outline-star{position:absolute;font-size:300px;line-height:1;color:#b5c2a021}.visual-card{position:relative;border:1px solid #d3c8a3;padding:40px 50px;background:#f6f1dd;color:var(--green);font:500 36px/1.2 var(--serif);transform:rotate(-5deg);box-shadow:15px 15px 0 #14352f}.check-list{padding:0;list-style:none;margin:24px 0}.check-list li{padding:7px 0}.check-list li:before{content:'✦';color:var(--gold);margin-right:12px}.services{display:block}.services-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:50px}.services-heading p{margin-bottom:28px}.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.training-grid article{padding:33px;border-top:2px solid #acb8a8;background:#edece2;min-height:265px;display:flex;flex-direction:column;align-items:flex-start}.training-grid .number{color:#97a995;font:italic 30px var(--serif)}.training-grid h3{margin:20px 0 8px}.training-grid a{margin-top:auto;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.coming-row{margin-top:18px;padding:23px 35px;border:1px solid #c8d4c5;display:flex;justify-content:space-between;align-items:center;background:#e5e9df}.coming-row b{font-size:12px;letter-spacing:.15em;color:#677d64;text-transform:uppercase}.coming-row h3{margin:2px 0}.coming-row span{font-size:12px;color:#687a6c}.offer-band{background:#376557;color:#f8f5e9}.offer-band>.wrap{display:flex;justify-content:space-between;align-items:center;gap:70px;padding:65px 0}.offer-band p{max-width:690px;color:#dae3d9}.offer-seal{width:210px;height:210px;border:1px dashed #d6c494;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;transform:rotate(8deg);font-size:12px;letter-spacing:.13em}.offer-seal strong{font:500 73px var(--serif);line-height:1}.offer-seal small{font-size:9px}.book{display:block}.book-grid{display:grid;grid-template-columns:42% 58%;gap:6%;align-items:start}.note-box{border-left:3px solid #aab78f;background:#edf0e4;padding:18px 22px;margin-top:40px;max-width:460px}.note-box p{margin:5px 0 0;color:#5d7164}.form-card{background:#fffdf8;border:1px solid var(--line);padding:32px;box-shadow:0 15px 40px #183b350b}.form-card h3{font:500 30px var(--serif);margin:0 0 25px}.form-card h3 span{font:700 10px var(--sans);letter-spacing:.15em;color:#67816e;vertical-align:middle}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-card label,.admin-form label,dialog label{display:block;font-size:12px;font-weight:700;margin-bottom:14px}.form-card input,.form-card select,.admin-form input,.admin-form select,dialog input{display:block;width:100%;margin-top:7px;border:1px solid #cdd6cc;background:white;border-radius:0;padding:11px 12px;color:var(--ink);min-height:44px}.form-card input:focus,.form-card select:focus,.admin-form input:focus,button:focus-visible,a:focus-visible{outline:3px solid #d7a85b;outline-offset:2px}.form-card .check{display:flex;align-items:center;gap:10px}.check input{width:18px;min-height:18px;margin:0}.form-hint{color:#697c70;font-size:12px}.full{width:100%}.result{font-weight:700;min-height:20px}.result.error{color:#a54130}.result.success{color:#246b4a}.faq-band{background:#ebece3;padding:100px 0}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:45px}.faq-grid article{border-top:1px solid #bdc9b9;padding-top:15px}.faq-grid h3{font:500 22px var(--serif);margin:0}.faq-grid p{color:#64766c}.contact{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact p{max-width:520px;color:#64766c}.contact-phone{font:500 32px var(--serif);display:block;margin:30px 0}.contact address{font-style:normal;color:#6d7d70}.contact-art{min-height:320px;background:#d8e3c5;position:relative;padding:45px;display:flex;flex-direction:column;justify-content:center}.contact-art span{position:absolute;top:20px;right:30px;font-size:55px;color:#8ea579}.contact-art p{font:500 44px/1.2 var(--serif);color:var(--green)}footer{background:#193a34;color:#ecf0e6;padding:38px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.footer-brand .brand-mark{background:#e0ba75;color:var(--green)}.footer-grid p{color:#b9cabd}.footer-grid>div:last-child{display:flex;gap:20px}.footer-grid a,.footer-grid button{text-decoration:underline}.admin-shell{position:fixed;inset:0;background:#f3f5f0;z-index:20;display:grid;grid-template-columns:250px 1fr}.admin-shell[hidden]{display:none}.admin-sidebar{background:#183b35;color:#eff3e9;padding:25px;display:flex;flex-direction:column}.admin-logo{font-family:var(--serif);font-size:21px;color:#e2bc79}.admin-logo small{display:block;font:700 10px var(--sans);letter-spacing:.15em;margin-top:5px;color:#b6c6b8}.admin-sidebar nav{display:grid;gap:8px;margin-top:48px}.admin-sidebar nav button,.back-site{border:0;background:none;color:#d4dfd4;text-align:left;padding:13px 12px;font-size:13px;border-radius:3px}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{background:#2d5548;color:white}.back-site{margin-top:auto;border-top:1px solid #537366;border-radius:0}.admin-main{overflow:auto;padding:34px 42px}.admin-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:16px}.admin-main>header small{font-size:11px;letter-spacing:.16em;color:#6e8976;font-weight:700}.admin-main>header h1{font:500 38px var(--serif);margin:0}.admin-header-actions{display:flex;align-items:center;gap:14px}.offline-dot{color:#4d8260;font-size:12px;font-weight:700}.ghost-button{border:1px solid #aab9ad;background:white;padding:9px 13px;font-size:12px;font-weight:700}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat,.admin-card{background:white;border:1px solid #dce3da;padding:22px}.stat b{display:block;font:500 39px var(--serif);color:var(--green)}.stat span{font-size:12px;color:#667c6d}.admin-card{margin-top:18px}.admin-card h2{font-size:25px;margin:0 0 10px}.admin-card h3{font:500 21px var(--serif);margin:0 0 10px}.admin-card p{color:#63786b}.admin-card table{border-collapse:collapse;width:100%;font-size:13px}.admin-card th,.admin-card td{border-bottom:1px solid #e1e8df;padding:11px;text-align:left;vertical-align:top}.admin-card th{color:#6b8071}.admin-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0}.admin-toolbar input,.admin-toolbar select{padding:10px;border:1px solid #ccd6cd;background:white}.admin-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px}.admin-form .button{align-self:end;margin-bottom:14px}.pill{display:inline-block;border-radius:30px;background:#e9eee5;color:#4b7054;padding:4px 9px;font-size:11px;font-weight:700}.pill.warn{background:#f6e8ce;color:#816332}.pill.bad{background:#f5ddd7;color:#9b4d3d}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-grid>div{min-height:83px;padding:7px;border:1px solid #d9e1d7;background:white;font-size:12px}.calendar-grid .weekday{min-height:25px;background:none;border:0;font-weight:700;color:#6b8070}.calendar-grid .outside{opacity:.3}.calendar-grid b{display:block}.calendar-grid small{display:block;margin-top:4px}.calendar-grid .full-day{background:#f3ded9}.calendar-grid .blocked-day{border-color:#c99463}.review-list{padding-left:20px}.review-list li{margin:11px 0;color:#455f50}.guide-search{width:100%;max-width:420px;padding:11px;border:1px solid #cbd7cb}.guide-list details{background:white;border:1px solid #dce3da;margin:9px 0;padding:12px 18px}.guide-list summary{cursor:pointer;font-weight:700}.guide-list p{color:#5e7467}.admin-note{padding:12px 15px;border-left:3px solid #d7aa60;background:#fff7e7;color:#635a44;font-size:13px}dialog{border:0;padding:0;max-width:410px;width:calc(100% - 32px);box-shadow:0 30px 70px #10282066}dialog::backdrop{background:#09251bcc}dialog form{padding:35px}dialog h2{font-size:38px;margin:18px 0 10px}dialog p{color:#63766a}.dialog-close{float:right;background:none;border:0;font-size:25px}#login-error{color:#a54130;min-height:20px}a:hover,button:hover{opacity:.92}
@media(max-width:1050px){.main-nav{gap:15px}.site-header{gap:16px}.hero{grid-template-columns:55% 45%}.hero-copy{padding-right:20px}.hero-proof{gap:12px}.feature-grid{gap:4%}.admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.wrap{width:min(100% - 40px,1200px)}.site-header{height:72px;padding:0 20px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-weight:700}.header-cta{display:none}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:20px;box-shadow:0 15px 20px #0002;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a,.main-nav button{padding:7px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 0 35px}.hero h1{font-size:65px}.hero-proof{margin-top:30px;padding-top:0}.hero-art{min-height:470px}.intro{grid-template-columns:1fr;padding:75px 0}.intro .section-label{margin-bottom:22px}.feature-grid{grid-template-columns:1fr;padding:65px 0}.feature-visual{min-height:300px;order:2}.services{padding:80px 0}.book{padding:80px 0}.book-grid{grid-template-columns:1fr;gap:40px}.admin-shell{grid-template-columns:190px 1fr}.admin-sidebar{padding:16px}.admin-main{padding:22px}.admin-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.brand strong{font-size:18px}.brand small{font-size:8px}.brand-mark{width:38px;height:38px}.hero h1{font-size:clamp(46px,12vw,62px)}.hero-copy>p{font-size:16px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-art{min-height:350px}.art-label{font-size:13px}.ticker .wrap{gap:10px;flex-wrap:wrap;justify-content:center}.ticker span{font-size:9px}.intro h2,.services h2,.book h2,.contact h2,.faq-band h2{font-size:44px}.service-split,.services-heading,.training-grid,.faq-grid,.contact{grid-template-columns:1fr}.service-card{min-height:0}.offer-band>.wrap{flex-direction:column;align-items:flex-start;gap:15px}.offer-seal{align-self:center}.coming-row{align-items:flex-start;gap:8px;flex-direction:column}.form-card{padding:20px}.form-grid{grid-template-columns:1fr}.contact{gap:30px;padding:75px 0}.footer-grid{flex-direction:column;align-items:flex-start}.admin-shell{display:block;overflow:auto}.admin-sidebar{position:sticky;top:0;z-index:2;display:block;padding:11px 15px}.admin-logo{font-size:16px}.admin-logo small{font-size:8px}.admin-sidebar nav{display:flex;overflow-x:auto;gap:2px;margin:8px 0;white-space:nowrap}.admin-sidebar nav button{padding:7px;font-size:11px}.back-site{display:block;padding:5px;font-size:11px}.admin-main{overflow:visible;padding:20px 14px}.admin-main>header{align-items:flex-start}.admin-main>header h1{font-size:29px}.admin-header-actions{flex-direction:column;align-items:flex-end;gap:5px}.admin-grid,.admin-form{grid-template-columns:1fr}.admin-card{overflow-x:auto}.calendar-grid>div{min-height:61px;padding:3px;font-size:10px}.calendar-grid small{font-size:9px}}
@media(max-width:350px){.wrap{width:calc(100% - 28px)}.hero h1{font-size:43px}.brand strong{font-size:16px}.brand small{letter-spacing:.1em}.hero-proof{gap:9px}.hero-proof span{font-size:10px}.button{gap:10px}.admin-main>header{display:block}.admin-header-actions{flex-direction:row;align-items:center;justify-content:space-between;margin-top:10px}}
.feature-grid{grid-template-columns:minmax(0,48%) minmax(0,1fr)}.book-grid{grid-template-columns:minmax(0,40%) minmax(0,1fr)}
@media(max-width:800px){.feature-grid,.book-grid{grid-template-columns:1fr}}
.public-calendar{margin:30px 0 55px;padding:30px;background:#fffdf8;border:1px solid var(--line);scroll-margin-top:25px}.calendar-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.calendar-heading h2{font-size:clamp(35px,4vw,52px);margin:0 0 8px}.calendar-heading p{color:#5c7064;max-width:720px;margin:0}.calendar-legend{display:flex;gap:17px;white-space:nowrap;font-size:12px;font-weight:700;color:#53685a}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:12px;height:12px;display:inline-block;border-radius:2px}.legend-available{background:#e7f0e3;border:1px solid #9db99a}.legend-unavailable{background:#f2eeea;border:1px solid #c5c8be}.public-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 15px}.public-calendar-toolbar h3{font:500 26px var(--serif);margin:0;text-align:center}.public-calendar-toolbar button:disabled{opacity:.4;cursor:not-allowed}.public-calendar-grid .public-day{padding:0;min-height:78px}.public-day button{width:100%;height:100%;min-height:78px;border:0;text-align:left;padding:8px;background:#eaf1e6;color:var(--green)}.public-day button:hover:not(:disabled){background:#d9e8d3}.public-day.unavailable button{background:#f3f0eb;color:#68766b;cursor:not-allowed}.public-day.selected button{outline:3px solid #b9893d;outline-offset:-3px;background:#d5e7cc}.public-day button:focus-visible{outline:3px solid #bc8532;outline-offset:1px;position:relative;z-index:1}.public-day b{font-size:15px}.public-day small{font-size:11px}.calendar-message{font-size:13px;color:#52685b;margin:12px 0 0}.book-grid form{scroll-margin-top:20px}.selected-date{background:#edf3e8;color:#244633;padding:9px 12px;margin:0 0 7px;font-size:13px}.calendar-return{display:inline-block;font-size:12px;text-decoration:underline;margin-bottom:18px;color:#345d48}
@media(max-width:800px){.calendar-heading{display:block}.calendar-legend{margin-top:15px}.public-calendar{padding:22px}}
@media(max-width:600px){.public-calendar{padding:14px;margin:18px 0 40px}.public-calendar-toolbar h3{font-size:20px}.public-calendar-toolbar .ghost-button{padding:7px;font-size:11px}.public-calendar-grid{gap:2px}.public-calendar-grid .public-day,.public-day button{min-height:60px}.public-day button{padding:3px}.public-day b{font-size:13px}.public-day small{font-size:9px;line-height:1.1}.calendar-legend{flex-wrap:wrap;white-space:normal}}
@media(max-width:350px){.public-calendar-toolbar h3{font-size:17px}.public-calendar-toolbar .ghost-button{font-size:10px;padding:6px}.public-day small{font-size:8px}}
@media(max-width:350px){.public-calendar-toolbar .nav-word{display:none}.public-calendar-toolbar .ghost-button{width:44px;min-height:44px;font-size:18px}}
.reset-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.reset-actions .button{gap:8px}

/* Visual continuity with the current Camelot site: original CK artwork, photo, green and gold. */
:root{--green:#117642;--green2:#176b43;--cream:#fffefa;--sand:#f2f3e7;--gold:#f5c84d;--ink:#173f2b;--muted:#617367;--line:#c9d6c5;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,serif}
body{background:#fff;color:var(--ink)}
.preview-ribbon{background:#f7e7a5;color:#164a31;letter-spacing:.08em;font-size:11px}
.site-header{height:68px;max-width:none;padding:0 28px;background:linear-gradient(100deg,#266e42,#a2bd84 65%,#ece27c);box-shadow:0 2px 8px #173f2b22;gap:12px}
.site-header .brand{gap:9px;color:#fff}.site-header .brand img{width:44px;height:44px;object-fit:contain}.brand-name{font-weight:800;letter-spacing:.04em;text-shadow:0 1px 3px #21432f;font-size:16px}
.social-links{display:flex;gap:9px;align-items:center;margin-left:5px}.social-links a{width:27px;height:27px;border-radius:50%;background:#fff;color:#287647;text-align:center;line-height:27px;font-size:22px;font-weight:800}
.menu-toggle{display:block;margin-left:auto;background:#147746;color:#ffd05b;border:1px solid #327d53;border-radius:9px;padding:8px 12px;font-size:14px;font-weight:800;box-shadow:0 2px 5px #0e4f3266}.menu-toggle span{margin-left:5px}.menu-toggle:hover{background:#0c653b}
.main-nav{display:none;position:absolute;top:68px;right:26px;left:auto;width:min(310px,calc(100vw - 32px));background:#fff;border:2px solid #c4af65;padding:10px;box-shadow:0 18px 35px #0e392b44;flex-direction:column;align-items:stretch;gap:0;margin:0;border-radius:4px;z-index:20}.main-nav.open{display:flex}.main-nav a,.main-nav button{padding:10px 12px;text-align:left;color:#146d3f;border-bottom:1px solid #e7ebdd}.main-nav button{background:none;border-left:0;border-right:0;border-top:0}.header-cta{display:none}
.hours-band{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;background:#087941;color:#fff;text-align:center;min-height:61px;padding:10px 16px;font-size:18px;font-weight:700;border-bottom:2px solid #e5cf69}.hours-band>span{font-size:24px;color:#ffd958}.hours-band strong{color:#ffd958}.hours-band small{font-size:12px;font-weight:500;color:#e8f5e8;margin-left:14px}
.hero{display:block;position:relative;width:100%;min-height:600px;height:min(44vw,720px);overflow:hidden;background:#315327}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b2c1f22,transparent 64%)}.hero-logo{position:absolute;left:clamp(6%,18vw,24%);top:50%;transform:translate(-20%,-50%);width:min(43vw,620px);height:auto;max-height:88%;object-fit:contain;filter:drop-shadow(0 7px 7px #183b3544)}
.brand-intro{position:relative;background:#fff;min-height:330px;padding:52px 0 72px;overflow:hidden}.brand-intro>.wrap{display:flex;justify-content:space-between;align-items:center;gap:60px;position:relative;z-index:1}.brand-intro h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-stretch:condensed;text-transform:uppercase;letter-spacing:.02em;line-height:1.05;font-size:clamp(45px,5.3vw,78px);font-weight:900;color:#187c4b;text-shadow:4px 4px 2px #9ab5a1;margin:0}.brand-intro-copy{max-width:420px;text-align:center}.brand-intro-copy p{font-size:22px;line-height:1.5;font-weight:800;color:#0e713d}.brand-intro-copy .button{border-radius:24px;letter-spacing:.1em;box-shadow:0 4px 0 #b2b9ac}.paw-trail{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:57px;letter-spacing:14px;opacity:.88;color:#151b17;white-space:nowrap;pointer-events:none}
.ticker{background:linear-gradient(100deg,#5b7d2c,#f1db70);color:#fff}.ticker i{color:#ffcf54}.section-label{color:#25864e}.intro,.services,.book{padding-top:95px;padding-bottom:95px}.intro h2,.services h2,.book h2,.contact h2,.faq-band h2,.feature-grid h2,.offer-band h2,.site-gallery h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.005em;color:#187c4b;line-height:1.1}.intro h2 em,.services h2 em,.book h2 em,.contact h2 em,.faq-band h2 em,.feature-grid h2 em,.offer-band h2 em{font-style:normal;color:#b89130}.service-card{border-radius:4px;border-top:5px solid #198049;background:#fcfdf8}.card-icon{color:#c69c34}.feature-band{background:linear-gradient(110deg,#0d6c3d,#418441);color:white}.feature-grid h2,.offer-band h2{color:#fff}.feature-visual{min-height:380px;background:#164629;border:5px solid #d4b752;overflow:hidden}.feature-visual img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}
.site-gallery{background:linear-gradient(100deg,#57832f,#f2e381);padding:70px 0}.gallery-inner{display:grid;grid-template-columns:54% 1fr;align-items:center;gap:50px}.gallery-inner img{width:100%;height:350px;object-fit:cover;border:7px solid #fff;box-shadow:0 12px 26px #26452b3d}.site-gallery h2{font-size:clamp(40px,4vw,61px);margin:12px 0;color:#fff;text-shadow:2px 3px #1e663f}.site-gallery p{font-size:17px;font-weight:600;color:#143d27}.site-gallery .button{border-radius:22px;background:#0d703d}.services{background:#fff}.training-grid article{background:#edf4e9;border-top:4px solid #258447}.coming-row{background:#f8edc7;border-color:#c8ac57}.offer-band{background:#177a43}.offer-seal{border:2px solid #f5cb56}.public-calendar,.form-card{border-color:#a9c4a9}.public-calendar{border-top:5px solid #21834c}.button-primary{background:#137944;color:#fff;border-radius:4px}.button-cream{color:#176d3d}.faq-band{background:#f3f6ed}.contact-art{display:grid;place-items:center;background:linear-gradient(120deg,#155f3b,#8dab55);padding:25px}.contact-art img{width:min(85%,300px);height:auto}.footer-brand img{width:50px;height:50px}.footer-brand strong{font:700 18px Georgia,serif;color:#f5ca55}.footer-brand small{font:700 9px Arial,sans-serif;color:#e5efd9}footer{background:#11693d}.admin-sidebar{background:#11693d}.admin-logo{color:#f5ca55}
@media(max-width:800px){.site-header{height:64px;padding:0 16px}.main-nav{top:64px;right:16px;left:auto;background:#fff;padding:10px;box-shadow:0 18px 35px #0e392b44}.hero{height:61vw;min-height:390px}.hero-logo{width:52vw;left:15%}.brand-intro>.wrap{gap:20px}.brand-intro h1{font-size:clamp(42px,6vw,60px)}.brand-intro-copy p{font-size:18px}.gallery-inner{grid-template-columns:1fr}.gallery-inner img{height:320px}}
@media(max-width:600px){.site-header .brand-name{font-size:12px}.site-header .brand img{width:36px;height:36px}.social-links{gap:5px}.social-links a{width:22px;height:22px;font-size:18px;line-height:22px}.menu-toggle{font-size:11px;padding:7px}.menu-toggle span{display:none}.hours-band{font-size:14px;gap:4px}.hours-band small{display:block;width:100%;margin:0;font-size:10px}.hero{height:108vw;min-height:370px;max-height:540px}.hero-photo{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#123a2777,transparent 90%)}.hero-logo{width:65vw;left:5%;transform:translate(0,-50%)}.brand-intro{padding:45px 0 75px}.brand-intro>.wrap{display:block;text-align:center}.brand-intro h1{font-size:49px}.brand-intro-copy{margin:auto}.brand-intro-copy p{font-size:17px}.paw-trail{font-size:35px;letter-spacing:3px;bottom:-8px}.site-gallery{padding:50px 0}.gallery-inner{gap:16px}.gallery-inner img{height:230px}.site-gallery h2{font-size:42px}.feature-visual,.feature-visual img{min-height:250px}.offer-band h2{font-size:46px}}
@media(max-width:350px){.site-header .brand-name{display:none}.menu-toggle{margin-left:auto}.hero-logo{width:70vw}.brand-intro h1{font-size:43px}}
.ticker a{display:inline-block;padding:7px 10px;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.15em;color:#fff;text-align:center;text-decoration:none;text-underline-offset:4px}.ticker a:hover{text-decoration:underline;background:#125d363d}.ticker a:focus-visible{outline:3px solid #123f2c;outline-offset:3px;background:#fff5c9;color:#115d39;text-decoration:underline}.ticker a.external-service::after{content:' ↗';font-size:13px;color:#fff2a2}.ticker a.external-service:focus-visible::after{color:#115d39}
@media(max-width:600px){.ticker a{font-size:10px;letter-spacing:.08em;padding:7px 5px}}
.service-card-link{display:flex;flex-direction:column;color:var(--ink);text-decoration:none;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;scroll-margin-top:24px}.service-card-link:hover{opacity:1;border-color:#197d48;box-shadow:0 10px 25px #173f2b20;transform:translateY(-2px)}.service-card-link:focus-visible{outline:4px solid #ba8f30;outline-offset:4px;box-shadow:0 10px 25px #173f2b20}.service-card-link .card-cta{display:block;margin-top:auto;padding-top:19px;color:#126d3e;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.service-card-link:hover .card-cta{color:#9c7221}
.quick-view-links{display:grid;gap:9px;margin-top:17px}.quick-view-links a{display:block;color:#0d7040;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.quick-view-links a::after{content:' ⤢';font-size:15px}.quick-view-links a:hover{color:#9d7223}.quick-view-links a:focus-visible{outline:3px solid #bf9132;outline-offset:3px;border-radius:2px}
.quick-view-dialog{width:min(700px,calc(100% - 28px));max-width:700px;max-height:min(84vh,750px);overflow-y:auto;border-top:6px solid #168045;background:#fffefa;color:var(--ink)}.quick-view-inner{padding:30px 36px 34px}.quick-view-dialog .dialog-close{position:sticky;top:0;float:right;width:40px;height:40px;background:#edf2e9;border:1px solid #b4cbb6;border-radius:50%;line-height:1}.quick-view-dialog .draft-tag{margin:2px 48px 12px 0;color:#826124;font-size:11px;font-weight:800;letter-spacing:.12em}.quick-view-dialog h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(34px,5vw,49px);text-transform:uppercase;color:#147746;margin:0 0 19px;line-height:1.1}.quick-view-dialog h2:focus{outline:none}.quick-view-dialog h3{font-size:18px;color:#147746}.quick-view-dialog p,.quick-view-dialog li{color:#465f4f;line-height:1.55}.quick-view-dialog ul,.quick-view-dialog ol{padding-left:23px}.quick-view-dialog li{margin:7px 0}.quick-view-dialog .confirmed-note{background:#e8f2e7;border-left:4px solid #177b46;padding:12px 15px}.quick-view-dialog .draft-note{background:#fff1d1;padding:10px 13px;font-size:13px}.quick-view-dialog form{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}.quick-view-dialog form label{margin:0}.quick-view-dialog form button,.quick-view-dialog #draft-record-result{grid-column:1/-1}.quick-view-dialog #draft-record-result{margin:0;font-weight:700;color:#156d3d}
@media(max-width:600px){.quick-view-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 20px)}.quick-view-inner{padding:18px 18px 24px}.quick-view-dialog form{grid-template-columns:1fr}.quick-view-dialog h2{font-size:37px}}
