:root{color-scheme:dark;--forest: #0d2418;--pine: #163222;--charcoal: #0b100d;--gold: #c8a86b;--gold-soft: #d7be82;--sand: #e5d0a0;--cream: #f2eee3;--muted: #a9977a;--sage: #9da890;--moss: #3d5b3e;--card-green: #142f20;--hover-green: #1d4630;--beige-card: #d8bd7f;--beige-card-soft: #ead7a8;--line: rgba(200, 168, 107, .28);--glass-line: rgba(240, 217, 155, .34);--glass: rgba(16, 41, 27, .56);--glass-strong: rgba(11, 15, 12, .68);--surface: rgba(22, 40, 31, .74);--surface-strong: rgba(14, 26, 20, .92);--shadow: 0 28px 90px rgba(0, 0, 0, .42);--soft-shadow: 0 18px 56px rgba(0, 0, 0, .28);font-family:Montserrat,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--forest);color:var(--cream);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 18% 4%,rgba(200,168,107,.14),transparent 25rem),radial-gradient(circle at 82% 12%,rgba(61,91,62,.22),transparent 28rem),radial-gradient(circle at 10% 70%,rgba(22,50,34,.48),transparent 34rem),linear-gradient(180deg,#0b100d 0%,var(--forest) 34rem,#10291b 100%)}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(200,168,107,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(200,168,107,.035) 1px,transparent 1px);background-size:96px 96px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.34),transparent 70%);mask-image:linear-gradient(180deg,rgba(0,0,0,.34),transparent 70%);content:""}body:after{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.035) 24%,transparent 44%),radial-gradient(circle at 50% 0%,rgba(229,208,160,.06),transparent 38rem);opacity:.75;content:""}body,button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.75rem 1rem;background:var(--gold);color:var(--charcoal);border-radius:999px;font-weight:800}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(13rem,auto) 1fr auto;gap:1rem;align-items:center;width:min(1320px,calc(100% - 32px));margin:.7rem auto 0;padding:.85rem 1rem;border:1px solid rgba(240,217,155,.18);border-radius:1rem;background:linear-gradient(135deg,#0b0f0cc2,#10291b85),#0b0f0c9e;box-shadow:0 18px 70px #00000047;-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%)}.brand{display:inline-flex;align-items:center;gap:.85rem;color:var(--cream);text-decoration:none;transition:transform .18s ease}.brand:hover,.brand:focus-visible{transform:translateY(-1px)}.brand-wordmark{display:grid;gap:.34rem;min-width:0}.brand strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.45vw,1.48rem);font-weight:500;letter-spacing:.15em;line-height:1;text-transform:uppercase;white-space:nowrap}.brand small{display:block;color:var(--gold);font-size:.58rem;font-weight:800;letter-spacing:.27em;text-transform:uppercase;white-space:nowrap}.canine-mark{width:3.35rem;height:3.35rem;flex:0 0 auto;object-fit:contain;border-radius:0;filter:drop-shadow(0 12px 26px rgba(200,168,107,.16));transition:filter .18s ease,transform .18s ease}.brand:hover .canine-mark,.brand:focus-visible .canine-mark{filter:drop-shadow(0 16px 32px rgba(200,168,107,.28));transform:rotate(-2deg) scale(1.04)}.site-header nav{display:flex;justify-content:center;flex-wrap:nowrap;gap:clamp(.45rem,1vw,.9rem);color:var(--charcoal);font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.site-header nav a{position:relative;min-height:2.35rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .85rem;border:1px solid rgba(200,168,107,.4);border-radius:999px;background:#d8bd7feb;color:var(--charcoal);text-decoration:none;transition:background-color .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s ease}.site-header nav a:after{content:none}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a[aria-current=page]{border-color:#f0d99bd6;background:var(--gold-soft);color:var(--charcoal);box-shadow:0 14px 36px #c8a86b33;transform:translateY(-2px)}.button{position:relative;overflow:hidden;display:inline-flex;min-height:3.2rem;align-items:center;justify-content:center;padding:0 1.35rem;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:var(--charcoal);text-decoration:none;font-size:.86rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.button:after{position:absolute;inset:-40% -70%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.38),transparent 62%);transform:translate(-55%) rotate(10deg);transition:transform .52s ease;content:""}.button>*,.button{isolation:isolate}.button:hover,.button:focus-visible{transform:translateY(-2px);box-shadow:0 18px 48px #c8a86b3d}.button:hover:after,.button:focus-visible:after{transform:translate(55%) rotate(10deg)}.button-ghost{background:transparent;color:var(--sand)}.button-dark{width:100%;color:var(--charcoal)}.subpage-hero{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:clamp(4rem,8vw,7rem) 0 clamp(2.5rem,6vw,4.5rem)}.subpage-hero h1{max-width:12ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,7vw,7.6rem);font-weight:500;line-height:.95}.subpage-hero p{max-width:48rem;margin:1.35rem 0 0;color:#f2eee3b8;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2vw,1.75rem);font-style:italic;line-height:1.55}.hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;width:min(1240px,calc(100% - 32px));min-height:calc(100vh - 7rem);margin:0 auto;padding:clamp(2rem,5vw,4rem) 0 clamp(2.5rem,6vw,5rem)}.hero-copy{animation:fadeUp .68s ease both}.hero h1,.split-section h2,.erin-section h2,.programmes-section h2,.pricing-section h2,.booking-section h2,.mouse-feature h2,.tribute-story h2,.digital-card-section h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:0}.hero h1{max-width:9ch;font-size:clamp(4rem,8vw,8rem);line-height:.93}.hero p{max-width:41rem;margin:1.45rem 0 0;color:#f2eee3c2;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.28rem,2vw,1.75rem);font-style:italic;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-signals{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.45rem}.hero-signals span{padding:.52rem .72rem;border:1px solid rgba(240,217,155,.26);border-radius:999px;background:#ffffff0e;color:#f2eee3c7;font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-signals span:nth-child(1){border-color:#a2f3c152;color:#d9f6e6}.hero-signals span:nth-child(2){border-color:#b8865f6b;color:#f2d8c4}.hero-signals span:nth-child(3){border-color:#9fb15f70;color:#e8efc8}.hero-poster{position:relative;overflow:hidden;border:1px solid var(--glass-line);border-radius:1.15rem;background:linear-gradient(135deg,#ffffff17,#ffffff05),var(--pine);box-shadow:var(--shadow);animation:fadeUp .76s 80ms ease both;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.hero-poster:after{position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 32%),linear-gradient(180deg,transparent 64%,rgba(11,15,12,.2));content:""}.hero-poster:hover{border-color:#f0d99b9e;box-shadow:0 34px 110px #00000085;transform:translateY(-4px)}.hero-poster img{width:100%;aspect-ratio:1 / 1.26;object-fit:cover;object-position:center;transition:transform .65s ease}.hero-poster:hover img{transform:scale(1.035)}.hero-mark-orbit{position:absolute;right:clamp(.8rem,2vw,1.4rem);top:clamp(.8rem,2vw,1.4rem);z-index:2;width:clamp(3.5rem,7vw,6rem);height:clamp(3.5rem,7vw,6rem);border:1px solid rgba(240,217,155,.42);border-radius:50%;background:#0b100db8;box-shadow:0 20px 60px #00000061;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);animation:floatMark 5.4s ease-in-out infinite}.hero-mark-orbit .canine-mark{width:118%;height:118%;margin:-9%}.service-band,.split-section,.training-difference-section,.erin-section,.programmes-section,.pricing-section,.booking-section,.mouse-feature,.tribute-section,.story-arc-section,.content-grid,.team-section{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:clamp(3rem,7vw,6.5rem) 0}.mouse-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.78fr);gap:clamp(1.5rem,5vw,4rem);align-items:stretch;padding-top:clamp(2rem,5vw,4rem)}.mouse-copy,.mouse-portrait-card,.tribute-media,.team-card{border:1px solid var(--glass-line);border-radius:1rem;background:radial-gradient(circle at 80% 0%,rgba(200,168,107,.14),transparent 18rem),linear-gradient(145deg,#142f20e0,#0b100dc7);box-shadow:var(--soft-shadow)}.mouse-copy{display:grid;align-content:center;gap:1.1rem;padding:clamp(1.4rem,4vw,2.4rem)}.mouse-feature h2,.tribute-story h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:1}.mouse-copy p,.tribute-story p,.team-card p,.content-grid p{color:#f2eee3b8;line-height:1.65}.mission-pills{display:flex;flex-wrap:wrap;gap:.55rem}.mission-pills span{padding:.6rem .85rem;border:1px solid rgba(200,168,107,.3);border-radius:999px;background:#0b100d61;color:var(--sand);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mouse-portrait-card{display:grid;align-content:center;justify-items:center;gap:1.2rem;min-height:28rem;padding:clamp(1.2rem,4vw,2rem);text-align:center}.mouse-portrait-card .canine-mark{width:clamp(12rem,26vw,21rem);height:clamp(12rem,26vw,21rem)}.mouse-portrait-card blockquote,.tribute-story blockquote{margin:0;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,3vw,2.8rem);font-style:italic;line-height:1.25}.service-band{overflow:hidden;padding:clamp(2rem,5vw,4rem);border:1px solid var(--glass-line);border-radius:1.1rem;background:radial-gradient(circle at 12% 0%,rgba(200,168,107,.16),transparent 26rem),radial-gradient(circle at 82% 100%,rgba(61,91,62,.2),transparent 26rem),linear-gradient(135deg,#163222bd,#0d24188f);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%)}.service-band>p{max-width:72rem;margin:0 0 2rem;color:#f2eee3c2;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3vw,3.1rem);font-style:italic;line-height:1.35}.service-grid,.programme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem}.service-grid button,.service-link-card,.programme-grid article,.form-panel,.contact-panel{border:1px solid rgba(240,217,155,.24);border-radius:.75rem;background:linear-gradient(145deg,#ffffff13,#ffffff05),#142f2099;-webkit-backdrop-filter:blur(18px) saturate(132%);backdrop-filter:blur(18px) saturate(132%)}.service-grid button,.service-link-card{position:relative;overflow:hidden;min-height:18rem;padding:1.55rem;color:inherit;text-align:left;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.service-grid button{cursor:pointer}.service-grid button:before,.service-link-card:before{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.82;content:""}.service-grid button:after,.service-link-card:after,.programme-grid article:after{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx, 50%) var(--my, 0%),rgba(229,208,160,.12),transparent 18rem);opacity:0;transition:opacity .18s ease;content:""}.service-grid button:hover,.service-grid button:focus-visible,.service-grid button.active,.service-link-card:hover,.service-link-card:focus-visible{transform:translateY(-7px);border-color:#f0d99bb8;background:radial-gradient(circle at 100% 0%,rgba(200,168,107,.18),transparent 16rem),linear-gradient(145deg,var(--hover-green),rgba(13,36,24,.7));box-shadow:0 26px 78px #00000052}.service-grid button:hover:after,.service-grid button:focus-visible:after,.service-grid button.active:after,.service-link-card:hover:after,.service-link-card:focus-visible:after{opacity:1}.service-grid h2,.service-link-card h2,.programme-grid h3,.form-panel h3{margin:0;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,2vw,2rem);font-weight:600}.service-grid span,.service-link-card span{display:block;margin-top:1.4rem;color:var(--muted);font-weight:750}.service-grid ul{display:grid;gap:.35rem;margin:1rem 0 0;padding:0;color:#f2eee3b8;font-size:.84rem;line-height:1.35;list-style:none}.service-grid li{display:flex;gap:.45rem;align-items:baseline}.service-grid li:before{width:.38rem;height:.38rem;flex:0 0 auto;margin-top:.1rem;border-radius:999px;background:var(--gold);content:""}.service-grid p,.service-link-card p,.programme-grid p,.booking-section p,.erin-section p,.form-panel p{color:#f2eee3ad;line-height:1.65}.service-grid-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.training-difference-section{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}.training-difference-copy{display:grid;gap:1rem}.training-difference-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,5vw,5.4rem);font-weight:500;line-height:1}.training-difference-copy p,.team-profile p{margin:0;color:#f2eee3b8;line-height:1.7}.training-visual-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:1rem;align-items:stretch}.training-visual-grid figure{position:relative;overflow:hidden;min-height:18rem;margin:0;border:1px solid var(--glass-line);border-radius:1rem;background:var(--pine);box-shadow:var(--soft-shadow);isolation:isolate}.training-visual-grid figure:nth-child(2){grid-row:span 2}.training-visual-grid img{width:100%;height:100%;object-fit:cover;transition:transform .72s ease}.training-visual-grid figure:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(11,15,12,.82)),radial-gradient(circle at 20% 0%,rgba(200,168,107,.12),transparent 18rem);content:""}.training-visual-grid figcaption{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:2;color:var(--sand);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.training-visual-grid figure:hover img{transform:scale(1.06)}.experience-section{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.25rem,4vw,3rem);align-items:stretch;width:min(1240px,calc(100% - 32px));margin:0 auto;padding:clamp(3rem,7vw,6rem) 0}.experience-media{overflow:hidden;min-height:34rem;border:1px solid var(--glass-line);border-radius:1.05rem;background:var(--pine);box-shadow:var(--shadow)}.experience-media img{width:100%;height:100%;object-fit:cover;transition:transform .62s ease}.experience-media:hover img{transform:scale(1.045)}.experience-panel{display:grid;align-content:center;gap:1.1rem;padding:clamp(1.25rem,4vw,2.4rem);border:1px solid var(--glass-line);border-radius:1.05rem;background:radial-gradient(circle at 100% 0%,rgba(200,168,107,.16),transparent 20rem),radial-gradient(circle at 0% 100%,rgba(61,91,62,.18),transparent 22rem),#0e1a1494;box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}.experience-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,4.6vw,4.8rem);font-weight:500;line-height:1}.experience-panel p{color:#f2eee3b8;line-height:1.65}.focus-tabs{display:flex;flex-wrap:wrap;gap:.6rem}.focus-tabs button{min-height:2.6rem;padding:0 .9rem;border:1px solid rgba(200,168,107,.32);border-radius:999px;background:transparent;color:var(--sand);cursor:pointer;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:background-color .17s ease,color .17s ease,transform .17s ease,border-color .17s ease}.focus-tabs button.active{background:var(--gold);color:var(--charcoal)}.focus-tabs button:hover,.focus-tabs button:focus-visible{border-color:#f0d99bc7;transform:translateY(-2px)}.plan-card{display:grid;gap:.6rem;padding:1rem;border-left:3px solid var(--gold);background:linear-gradient(90deg,#c8a86b1f,#5f7b551a)}.plan-card strong{color:var(--cream);line-height:1.55}.plan-card span{color:var(--muted);font-weight:800}.route-rates{display:flex;flex-wrap:wrap;gap:.55rem}.route-rates span{padding:.55rem .75rem;border:1px solid rgba(200,168,107,.26);border-radius:999px;background:#0b0f0c5c;color:#f2eee3c2;font-size:.82rem;font-weight:800;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.moments-section{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:0 0 clamp(3rem,7vw,6rem)}.moments-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.mouse-gallery-track{grid-template-columns:repeat(5,minmax(0,1fr))}.moment-card{position:relative;overflow:hidden;min-height:clamp(18rem,28vw,26rem);border:1px solid rgba(240,217,155,.24);border-radius:1rem;background:var(--charcoal);box-shadow:var(--soft-shadow);isolation:isolate;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.moment-card:before{position:absolute;inset:0;z-index:2;pointer-events:none;border-top:4px solid rgba(200,168,107,.86);content:""}.moment-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.moment-card:after{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 26%,rgba(11,15,12,.2) 54%,rgba(11,15,12,.88)),radial-gradient(circle at 30% 0%,rgba(200,168,107,.14),transparent 20rem);content:""}.moment-card div{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:2}.moment-card h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.3vw,2rem);line-height:1}.moment-card p{margin:.55rem 0 0;color:#f2eee3b8;line-height:1.45}.moment-card-2,.moment-card-4{transform:translateY(1.6rem)}.moment-card:hover,.moment-card:focus-within{border-color:#f0d99b9e;box-shadow:0 30px 90px #0006;transform:translateY(-.35rem)}.moment-card:hover img{transform:scale(1.075)}.split-section,.erin-section,.booking-section{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}.section-label{display:block;margin-bottom:1rem;color:var(--gold);font-size:.8rem;font-weight:850;letter-spacing:.32em;text-transform:uppercase}.split-section h2,.erin-section h2,.programmes-section h2,.pricing-section h2,.booking-section h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:1}.method-list{display:grid}.method-list article{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:1.4rem;min-height:7rem;align-items:center;border-top:1px solid var(--line)}.method-list span{color:var(--gold);font-size:1.25rem;font-weight:900}.method-list p{color:#f2eee3b8;line-height:1.65}.erin-copy{position:sticky;top:7rem}.credential-list{display:grid;gap:.75rem;margin-top:1.5rem}.credential-list div{padding:1rem;border-left:3px solid var(--gold);background:linear-gradient(90deg,#c8a86b1a,#5f7b551f);color:#f2eee3bd;line-height:1.55}.erin-proof-card{overflow:hidden;border:1px solid var(--glass-line);border-radius:1rem;background:radial-gradient(circle at 72% 12%,rgba(200,168,107,.12),transparent 18rem),linear-gradient(145deg,#142f20eb,#0b100dd1);box-shadow:var(--shadow);padding:clamp(1.25rem,4vw,2rem);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.erin-proof-card .canine-mark{width:clamp(8rem,22vw,15rem);height:clamp(8rem,22vw,15rem);margin:0 auto 1.2rem}.erin-proof-card h3{margin:0;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:500;line-height:1}.erin-proof-card p{color:#f2eee3b8}.erin-proof-card dl{display:grid;gap:.75rem;margin:1.2rem 0 0}.erin-proof-card dl div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.8rem;padding:.85rem 0;border-top:1px solid rgba(200,168,107,.22)}.erin-proof-card dt{color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.erin-proof-card dd{margin:0;color:#f2eee3c2}.erin-proof-card:hover{border-color:#f0d99b9e;box-shadow:0 30px 96px #0000006b;transform:translateY(-3px)}.tribute-section{display:grid;grid-template-columns:minmax(20rem,.66fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:start;padding-top:0}.tribute-media{position:sticky;top:7rem;display:grid;gap:1rem;justify-items:center;padding:clamp(1.3rem,4vw,2rem);text-align:center}.tribute-media .canine-mark{width:clamp(13rem,25vw,22rem);height:clamp(13rem,25vw,22rem)}.tribute-media img{width:min(100%,26rem);aspect-ratio:4 / 5;object-fit:cover;object-position:center;border:1px solid rgba(240,217,155,.32);border-radius:1rem;box-shadow:var(--shadow)}.tribute-media p{margin:0;color:var(--sand);font-weight:850;letter-spacing:.06em;text-transform:uppercase}.tribute-story p{font-size:1rem}.tribute-story blockquote{padding:1.5rem 0 0;border-top:1px solid var(--line)}.story-arc-section,.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.story-arc-section article,.content-grid article{min-height:17rem;padding:1.35rem;border:1px solid rgba(240,217,155,.24);border-radius:.85rem;background:linear-gradient(145deg,#ffffff13,#ffffff05),#142f209e;box-shadow:var(--soft-shadow)}.story-arc-section span,.content-grid span{color:var(--gold);font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.story-arc-section h3,.content-grid h2,.team-card h2{margin:.8rem 0 0;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:500;line-height:1}.content-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:1rem}.content-grid a{display:inline-flex;margin-top:.7rem;color:var(--gold);font-weight:850;text-decoration:none}.dog-stories-grid{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:clamp(2rem,5vw,4.5rem) 0 clamp(4rem,8vw,7rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dog-stories-grid article{overflow:hidden;border:1px solid rgba(240,217,155,.28);border-radius:1rem;background:linear-gradient(145deg,#ffffff14,#ffffff05),#142f20ad;box-shadow:var(--soft-shadow);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.dog-stories-grid article:hover{border-color:#f0d99b94;box-shadow:0 28px 80px #0000005c;transform:translateY(-4px)}.dog-story-media{position:relative;overflow:hidden;min-height:clamp(16rem,23vw,23rem);background:var(--pine)}.dog-story-media img{display:block;width:100%;height:clamp(16rem,23vw,23rem);object-fit:cover;background:var(--pine);transition:transform .72s ease}.dog-story-media:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(11,15,12,.62));content:"";pointer-events:none}.dog-stories-grid article:hover .dog-story-media>img:first-child{transform:scale(1.045)}.dog-story-accent-image{position:absolute;right:.8rem;bottom:.8rem;z-index:2;width:5.8rem!important;height:5.8rem!important;border:1px solid rgba(240,217,155,.58);border-radius:.7rem;object-fit:cover;box-shadow:0 16px 38px #00000061}.dog-story-copy{display:grid;gap:.85rem;padding:1.2rem}.dog-stories-grid span{color:var(--gold);font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.dog-stories-grid h2{margin:0;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,3rem);font-weight:500;line-height:.95}.dog-stories-grid p{margin:0;color:#f2eee3b8;line-height:1.65}.dog-stories-grid ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.dog-stories-grid li{position:relative;padding-left:1rem;color:#f2eee3c7;font-size:.92rem;line-height:1.45}.dog-stories-grid li:before{position:absolute;top:.62em;left:0;width:.35rem;height:.35rem;border-radius:50%;background:var(--gold);content:""}.dog-stories-grid a{width:fit-content;min-height:2.45rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .9rem;border:1px solid rgba(200,168,107,.45);border-radius:999px;background:#d8bd7feb;color:var(--charcoal);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.team-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}.team-card{display:grid;gap:.8rem;padding:clamp(1.3rem,4vw,2rem)}.team-card .canine-mark{width:clamp(7rem,15vw,11rem);height:clamp(7rem,15vw,11rem)}.team-card strong{color:var(--gold);font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.team-profile{display:grid;gap:1rem}.image-rhythm{display:grid;grid-template-columns:.8fr 1.2fr .8fr;gap:1rem;width:min(1240px,calc(100% - 32px));margin:0 auto;padding:0 0 clamp(3rem,7vw,6rem)}.image-rhythm figure{position:relative;overflow:hidden;margin:0;border:1px solid var(--glass-line);border-radius:1rem;box-shadow:0 18px 60px #00000042;isolation:isolate}.image-rhythm figure:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,15,12,.82)),radial-gradient(circle at 20% 0%,rgba(200,168,107,.1),transparent 18rem);content:""}.image-rhythm img{width:100%;height:clamp(16rem,26vw,26rem);object-fit:cover;transition:transform .7s ease}.image-rhythm figure:nth-child(2) img{height:clamp(20rem,32vw,32rem)}.image-rhythm figcaption{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:2;color:var(--sand);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.image-rhythm figure:hover img{transform:scale(1.06)}.section-heading{max-width:54rem;margin-bottom:2rem}.programme-grid article{position:relative;overflow:hidden;min-height:15rem;padding:1.35rem;transition:border-color .19s ease,box-shadow .19s ease,transform .19s ease}.programme-grid article:hover{border-color:#f0d99b8f;box-shadow:var(--soft-shadow);transform:translateY(-4px)}.pricing-section{border-top:1px solid var(--line)}.pricing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.34fr);gap:1rem;align-items:start}.pricing-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pricing-row{display:grid;gap:.8rem;min-height:13rem;align-content:start;padding:1.2rem;border:1px solid rgba(94,71,32,.26);border-radius:.85rem;background:linear-gradient(145deg,var(--beige-card-soft),var(--beige-card)),var(--beige-card);color:var(--charcoal);box-shadow:0 18px 56px #0000002e;transition:background-color .17s ease,box-shadow .17s ease,transform .17s ease}.pricing-row h3,.price-notes h3{margin:0;color:inherit;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:600}.pricing-row strong{color:#533d17;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1}.pricing-row p,.price-notes p{margin:0;color:#0b100db8;line-height:1.55}.pricing-row:hover{background:linear-gradient(145deg,#efdfb8,#d7b86f),var(--beige-card);box-shadow:0 24px 68px #00000042;transform:translateY(-.25rem)}.price-notes{display:grid;gap:.85rem;padding:1.2rem;border:1px solid var(--glass-line);border-radius:.9rem;background:radial-gradient(circle at 0% 0%,rgba(200,168,107,.14),transparent 18rem),#0e1a1494;box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px) saturate(132%);backdrop-filter:blur(18px) saturate(132%)}.price-notes p{color:#f2eee3b3}.digital-card-section{display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;width:min(1240px,calc(100% - 32px));margin:0 auto;padding:clamp(4rem,8vw,7rem) 0;border-top:1px solid var(--line)}.digital-card-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,5vw,5.4rem);font-weight:500;line-height:1}.digital-card-copy p{color:#f2eee3b3;line-height:1.65}.ecard-window{position:relative;overflow:hidden;display:block;width:min(100%,25rem);justify-self:center;border:1px solid rgba(240,217,155,.38);border-radius:1rem;background:#141a15;box-shadow:var(--shadow);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.ecard-window img{width:100%;aspect-ratio:420 / 860;object-fit:cover;object-position:top center}.ecard-window span{position:absolute;right:1rem;bottom:1rem;left:1rem;display:inline-flex;min-height:3rem;align-items:center;justify-content:center;border-radius:999px;background:#d8bd7ff0;color:var(--charcoal);font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ecard-window:hover,.ecard-window:focus-visible{border-color:#f0d99bb8;box-shadow:0 30px 92px #0000006b;transform:translateY(-.25rem)}.booking-section{padding-top:clamp(4rem,8vw,7rem);border-top:1px solid var(--line)}.page-booking{min-height:calc(100vh - 10rem)}.booking-copy{display:grid;align-content:start;gap:1rem}.contact-panel{display:grid;gap:.55rem;margin-top:1rem;padding:1.2rem}.contact-panel strong{color:var(--cream);font-size:1.15rem}.contact-panel a{color:var(--sand);text-decoration:none}.form-panel{display:grid;gap:1rem;padding:clamp(1.1rem,3vw,1.6rem);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px) saturate(132%);backdrop-filter:blur(18px) saturate(132%)}label{display:grid;gap:.45rem;color:var(--sand);font-size:.86rem;font-weight:850;letter-spacing:.04em}input,textarea,select{width:100%;min-height:3.1rem;border:1px solid rgba(200,168,107,.34);border-radius:.45rem;padding:.8rem .9rem;background:#0b0f0cd1;color:var(--cream);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}textarea{min-height:8rem;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--gold);background:#0b0f0cf0;box-shadow:0 0 0 4px #c8a86b2e}::placeholder{color:#f2eee36b}.form-status{min-height:1.4rem;margin:0;color:var(--gold);font-size:.86rem;font-weight:800}.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:1.5rem;align-items:center;margin-top:clamp(2rem,6vw,5rem);padding:2rem max(16px,calc((100% - 1240px)/2));border-top:1px solid var(--line);background:var(--charcoal)}.site-footer p{max-width:30rem;color:#f2eee3a3;line-height:1.55}.site-footer>a{color:var(--gold);font-weight:850;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(1.6rem)}to{opacity:1;transform:translateY(0)}}@keyframes floatMark{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-.55rem) rotate(2deg)}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.hero-copy,.hero-poster,.hero-mark-orbit,.service-band,.training-difference-section,.experience-section,.moments-section,.split-section,.erin-section,.image-rhythm,.programmes-section,.pricing-section,.booking-section{animation:none!important}}@media(max-width:980px){.site-header{grid-template-columns:1fr}.site-header nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}.site-header nav a{flex:0 0 auto}.header-button{justify-self:start}.hero,.mouse-feature,.training-difference-section,.experience-section,.split-section,.erin-section,.tribute-section,.story-arc-section,.content-grid,.team-section,.digital-card-section,.booking-section,.pricing-layout,.site-footer{grid-template-columns:1fr}.hero{min-height:auto}.erin-copy,.tribute-media{position:static}.service-grid,.programme-grid,.service-grid-preview,.training-visual-grid,.image-rhythm,.moments-track,.dog-stories-grid,.pricing-table{grid-template-columns:1fr}.moment-card-2,.moment-card-4{transform:none}.experience-media{min-height:24rem}.image-rhythm img,.image-rhythm figure:nth-child(2) img{height:22rem}}@media(max-width:640px){.site-header{width:min(100% - 24px,1240px)}.brand strong{font-size:1rem}.brand small{font-size:.58rem;letter-spacing:.22em}.canine-mark{width:2.65rem;height:2.65rem}.header-button{min-height:2.8rem}.hero,.subpage-hero,.mouse-feature,.training-difference-section,.experience-section,.moments-section,.dog-stories-grid,.service-band,.split-section,.erin-section,.tribute-section,.story-arc-section,.content-grid,.team-section,.digital-card-section,.programmes-section,.pricing-section,.booking-section{width:min(100% - 24px,1240px)}.hero h1{font-size:clamp(3.3rem,17vw,4.6rem)}.subpage-hero h1{font-size:clamp(3rem,15vw,4.5rem)}.hero p,.service-band>p{font-size:1.35rem}.hero-actions .button,.experience-panel .button{width:100%}.method-list article{grid-template-columns:1fr;gap:.4rem;padding:1rem 0}.hero-mark-orbit{display:none}.hero-signals span{flex:1 1 100%;text-align:center}.moment-card{min-height:21rem}.pricing-row{grid-template-columns:1fr;gap:.45rem}}
