.eskdale-live ::-moz-focus-inner{border:none;}.eskdale-live canvas{display:block;}.eskdale-live ul,.eskdale-live ul li{list-style-type:disc;}.eskdale-live{font-size:16px;}.eskdale-live strong{font-weight:600;}.eskdale-live p,.eskdale-live li{line-height:1.8em;padding:0.9em 0;}.eskdale-live h1,.eskdale-live h2,.eskdale-live h3,.eskdale-live h4,.eskdale-live h5,.eskdale-live h6,.eskdale-live .title{font-family:'Raleway',sans-serif;font-weight:600;line-height:1.5em;padding:0.75em 0;text-transform:uppercase;}.eskdale-live h1{font-size:48px;}.eskdale-live h2,.eskdale-live .title{font-size:28px;}.eskdale-live h3,.eskdale-live .intro{font-size:24px;}.eskdale-live h4,.eskdale-live h5,.eskdale-live h6{font-size:18px;}.eskdale-live ol,.eskdale-live ul{margin:0 0 0 2em;}.eskdale-live code{background:#DDD;box-shadow:0 10px 10px -10px rgba(0,0,0,0.6);border-left:5px solid #0092CB;color:#333;display:block;padding:0.75em 1.5em;}.eskdale-live address{font-style:normal;}.eskdale-live table{border:1px solid #0092CB;border-collapse:collapse;border-spacing:0;width:100%;}.eskdale-live th,.eskdale-live td{border:1px solid #0092CB;padding:0.75em;}.eskdale-live th{background:#0092CB;color:#FFF;}.eskdale-live a{color:#F49C16;display:inline;margin:0;padding:0;text-decoration:none;}.eskdale-live a:hover{color:#FFF;}.eskdale-live #alert{background:#354961;border:0.75em solid #C23A2C;color:#FFF;padding:0.75em;}.eskdale-live label,.eskdale-live input,.eskdale-live textarea,.eskdale-live select,.eskdale-live button,.eskdale-live .btn,.eskdale-live .boxLink a{display:block;font-size:16px;line-height:normal;padding:0;margin:0;max-width:none;text-align:left;text-decoration:none;vertical-align:top;}.eskdale-live label{font-family:'Roboto Condensed',sans-serif;font-weight:700;padding:0 0 5px 5px;}.eskdale-live input,.eskdale-live textarea,.eskdale-live select,.eskdale-live button,.eskdale-live .btn,.eskdale-live .boxLink a{background:#FFF;border:5px solid #FFF;border-radius:0;box-shadow:none;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-ms-box-sizing:content-box;box-sizing:content-box;color:#0092CB;font-family:Raleway,sans-serif;font-weight:400;margin:0;width:95%;width:calc(100% - 10px);}.eskdale-live textarea{height:180px;overflow:auto;}.eskdale-live button,.eskdale-live .btn,.eskdale-live .boxLink a,.eskdale-live .boxLink a:hover{background:none;border:5px solid #FFF;border-radius:0;color:#FFF;cursor:pointer;display:inline-block;font-size:18px;font-weight:600;padding:10px 20px;text-align:center;text-transform:uppercase;width:auto;}.eskdale-live .buttons{text-align:center;}.eskdale-live .clear{clear:both;}.eskdale-live .left,.eskdale-live .right{float:left;width:48.5%;}.eskdale-live .left{margin:0 3% 0 0;}.eskdale-live .col{float:left;overflow:hidden;width:25%;}.eskdale-live .last,.eskdale-live li.last a{border-right:none!important;margin-right:0!important;padding-right:0!important;}.eskdale-live .first,.eskdale-live li.first a{border-left:none!important;margin-left:0!important;padding-left:0!important;}.eskdale-live .floatleft{float:left;padding:0 10px 10px 0;}.eskdale-live .floatright{float:right;padding:0 0 10px 10px;}.eskdale-live .leftText{text-align:left;}.eskdale-live .rightText{text-align:right;}.eskdale-live .centerText{text-align:center;}.eskdale-live .fileLink span,.eskdale-live .fileLink img{display:inline-block;font-size:18px;padding:0 10px 0 0;vertical-align:middle;}.eskdale-live .fileLink small{font-size:12px;}.eskdale-live .wrapper{margin:0 auto;max-width:1400px;text-align:left;}.eskdale-live .white{background:#FFF;color:#797979;padding:0 20px;}.eskdale-live .white a{color:#0092cb;}.eskdale-live .white a:hover{color:#27AE61;}.eskdale-live .red{background:#c23a2c;}.eskdale-live .orange,.eskdale-live .yellow{background:#f49c16;}.eskdale-live .green{background:#27ae61;}.eskdale-live .blue{background:#0092cb;}.eskdale-live .indigo{background:#413560;}.eskdale-live .violet{background:#603541;}.eskdale-live .andThePatternsComplete{background:linear-gradient(to bottom,#c23a2c 14.29%,#f49c16 28.57%,#27ae61 42.86%,#0092cb 57.14%,#413560 71.43%,#413560 85.71%,#603541 100%);}.eskdale-live .darkBlue{background:#354961;}.eskdale-live .turquoise{background:#16a086;}.eskdale-live .tgor{background:linear-gradient(to right,#16a086 0,#16a086 25%,#27ae61 25%,#27ae61 50%,#f49c16 50%,#f49c16 75%,#c23a2c 75%,#c23a2c 100%)}.eskdale-live .pad{padding:5%;}.eskdale-live .nav li ul{-webkit-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;border:20px solid transparent;font-family:'Roboto Condensed',sans-serif;font-weight:700;margin:-3px 0 0 0;top:100%;transform:rotateX(-175deg) translateZ(50px);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;transition:transform 0.4s linear,right 0s 0.2s;white-space:nowrap;z-index:2;}.eskdale-live .nav li:hover>ul{right:-20px;transform:rotateX(0deg) translateZ(0px);transition:transform 0.2s linear,right 0s 0.1s;}.eskdale-live .nav li li{border-top:5px solid transparent;display:block;font-size:18px;text-shadow:3px 3px 3px rgba(0,0,0,0.1);z-index:3;}.eskdale-live .nav li li:hover{z-index:4;}.eskdale-live .nav li .header{background:#0092cb;background-clip:padding-box;border-top:5px solid transparent;box-shadow:0 5px 5px rgba(0,0,0,0.2);color:#FFF;padding:10px 20px;}.eskdale-live .nav li li a{background:#354961;box-shadow:0 0 5px rgba(0,0,0,0.2);color:#FFF;display:block;padding:10px 20px;position:relative;text-transform:none;z-index:2;}.eskdale-live .nav li li:hover>a{background:#FFF;color:#354961;}.eskdale-live .nav li li:hover,.eskdale-live .nav li li:hover>a{z-index:4;}.eskdale-live .nav li .hasChild>a:after,.eskdale-live .nav li .hasChild>a:before{border-left:0 dashed transparent;content:'';height:0;position:absolute;right:100%;transition:all 0.1s linear 0.2s;width:2px;z-index:5;}.eskdale-live .nav li .hasChild>a:after{border-bottom:19px solid #F49C16;top:0;}.eskdale-live .nav li .hasChild>a:before{border-top:19px solid #F49C16;bottom:0;}.eskdale-live .nav li li:hover>a{background:#F49C16;color:#FFF;}.eskdale-live .nav li .hasChild:hover>a:after,.eskdale-live .nav li .hasChild:hover>a:before{border-left-width:9px;transition:all 0.1s linear;width:5px;}.eskdale-live .nav li .hasChild:nth-of-type(4n + 1)>a:after{border-bottom-color:#16A086;}.eskdale-live .nav li .hasChild:nth-of-type(4n + 1)>a:before{border-top-color:#16A086;}.eskdale-live .nav li li:nth-of-type(4n + 1):hover>a{background:#16A086;}.eskdale-live .nav li .hasChild:nth-of-type(4n + 2)>a:after{border-bottom-color:#27AE61;}.eskdale-live .nav li .hasChild:nth-of-type(4n + 2)>a:before{border-top-color:#27AE61;}.eskdale-live .nav li li:nth-of-type(4n + 2):hover>a{background:#27AE61;}.eskdale-live .nav li .hasChild:nth-of-type(4n)>a:after{border-bottom-color:#C23A2C;}.eskdale-live .nav li .hasChild:nth-of-type(4n)>a:before{border-top-color:#C23A2C;}.eskdale-live .nav li li:nth-of-type(4n):hover>a{background:#C23A2C;}.eskdale-live .nav li li ul{border:40px solid transparent;margin:0;top:-45px;-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%;transform:rotateY(-175deg) translateZ(-1px);transition:transform 0.4s linear,right 0s 0.2s;z-index:1;}.eskdale-live .nav li li:hover>ul{right:100%;right:calc(100% - 35px);transform:rotateY(0deg) translateZ(0px);transition:transform 0.2s linear 0.1s,right 0s 0.2s;}.eskdale-live #content{position:relative;z-index:1;}.eskdale-live #footer{background:#354961;color:#FFF;position:relative;z-index:1;}.eskdale-live #footer .left{text-align:left;width:32%;}.eskdale-live #footer .right{text-align:right;width:64%;}.eskdale-live #footer .title{font-size:16px;}.eskdale-live #footer strong{text-transform:uppercase;}.eskdale-live #footer .right{text-align:right;}.eskdale-live #footer .top,.eskdale-live #footer .mid,.eskdale-live #footer .bottom{padding:0.9em 0;}.eskdale-live #footer .mid{border-bottom:1px solid #16a086;border-top:1px solid #16a086;}.eskdale-live #footer .mid .left{width:48%;}.eskdale-live #footer .mid .right{width:48%;}.eskdale-live #footer .mid a:hover{color:#FFF;}.eskdale-live #footer .mid .right{text-align:left;}.eskdale-live #footer .post{float:left;margin:0 10% 0 0;width:45%;}.eskdale-live #footer input{display:inline-block;font-size:16px;vertical-align:middle;}.eskdale-live #footer .hint{width:60%;}.eskdale-live #footer .btn{background:#0092CB;border-width:2px;font-size:16px;padding:3px;width:auto;}.eskdale-live #footer .bottom .right a{display:inline-block;margin:0 0 0 0.9em;}.eskdale-live .viewguest{background:#DDD;border-left:5px solid #0092CB;bottom:0.75em;box-shadow:0 10px 10px -10px rgba(0,0,0,0.8),0 0 0 1px rgba(0,0,0,0.1);color:#333;display:inline-block;font-family:"Courier New",Courier,serif;font-size:16px;font-weight:400;padding:0.75em 1.5em;position:fixed;right:0;text-decoration:none;z-index:32766;}.eskdale-live .viewguest:hover{background:#CCC;color:#000;}.eskdale-live .feed .col a{display:block;overflow:hidden;position:relative;}.eskdale-live .feed .col a:after,.eskdale-live .feed .col .nothumb .after{background:#F49C16;border:5px solid #FFF;color:rgba(255,255,255,0);display:block;font-size:18px;font-weight:600;left:50%;padding:10px;position:absolute;text-transform:uppercase;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) scale(15);transform:translateX(-50%) translateY(-50%) scale(15);transition:all 0.6s linear;width:66%;}.eskdale-live .feed .col a:after{content:attr(data-title);}.eskdale-live .feed .col img{display:block;width:100%;}.eskdale-live .feed .col a:hover:after{color:rgba(255,255,255,1);-webkit-transform:translateX(-50%) translateY(-50%) scale(1);transform:translateX(-50%) translateY(-50%) scale(1);transition:all 0.2s linear;}.eskdale-live .feed .col:nth-child(4n + 1) a:after{background:rgba(22,160,114,0.6);}.eskdale-live .feed .col:nth-child(4n + 2) a:after{background:rgba(39,174,93,0.6);}.eskdale-live .feed .col:nth-child(4n + 3) a:after{background:rgba(244,157,22,0.6);}.eskdale-live .feed .col:nth-child(4n) a:after{background:rgba(194,58,44,0.6);}.eskdale-live #content .feed .col:before{display:none;padding:0;}.eskdale-live .blog .col,.eskdale-live .blog .archive{float:left;width:16.666666666666666666666666666667%;}.eskdale-live .blog .wide{width:33.333333333333333333333333333333%;}.eskdale-live .blog .col a:after,.eskdale-live .blog .col .nothumb .after{border:none;bottom:0;color:#FFF;left:0;opacity:0;padding:20px;right:0;text-align:left;top:0;-webkit-transform:translateX(0) translateY(0) scale(1);transform:translateX(0) translateY(0) scale(1);width:auto;}.eskdale-live .blog .col a:hover:after{opacity:1;-webkit-transform:translateX(0) translateY(0) scale(1);transform:translateX(0) translateY(0) scale(1);}.eskdale-live .blog .col .nothumb:after{display:none;}.eskdale-live .blog .col .nothumb .after{opacity:1;-webkit-transform:scale(15) translateX(33%) translateY(33%);transform:scale(15) translateX(33%) translateY(33%);}.eskdale-live .blog .wide .nothumb .after{font-size:3em;}.eskdale-live .blog .col .nothumb:hover .after{bottom:0;left:0;opacity:1;text-align:left;right:0;top:0;-webkit-transform:translateX(0) translateY(0) scale(1);transform:translateX(0) translateY(0) scale(1);transition:all 0.1s linear;}.eskdale-live .blog .col .nothumb:before{content:'';display:block;padding:100% 0 0 0;}.eskdale-live .blog .col:nth-child(4n + 1) .nothumb,.eskdale-live .blog .col:nth-child(4n + 1) .nothumb .after{background:#16A086;}.eskdale-live .blog .col:nth-child(4n + 2) .nothumb,.eskdale-live .blog .col:nth-child(4n + 2) .nothumb .after{background:#27ae61;}.eskdale-live .blog .col:nth-child(4n + 3) .nothumb,.eskdale-live .blog .col:nth-child(4n + 3) .nothumb .after{background:#F49C16;}.eskdale-live .blog .col:nth-child(4n) .nothumb,.eskdale-live .blog .col:nth-child(4n) .nothumb .after{background:#C23A2C;}.eskdale-live .archive{position:relative;text-align:left;}.eskdale-live .archive:before{content:'';display:block;padding:100% 0 0 0;}.eskdale-live .archive .inner{bottom:0;left:0;position:absolute;right:0;top:0;}.eskdale-live .archive ul,.eskdale-live .archive li{list-style:none;margin:0;padding:0;}.eskdale-live .archive ul,.eskdale-live .archive .title{padding:0 0 0 10px;}.eskdale-live .archive li{font-size:14px;text-transform:uppercase;}.eskdale-live .archive li a{color:#FFF;}.eskdale-live #siteMap{background:#FFF;}.eskdale-live #siteMap ul{margin:0 0 0 auto!important;text-align:left;width:50%;}.eskdale-live #siteMap li a:hover{color:#0092CB;}.eskdale-live #siteMap ul ul{width:auto;}.eskdale-live #cookiePrompt{background:transparent;bottom:0;color:#FFF;left:0;position:fixed;right:0;text-shadow:0 1px #000;text-shadow:0 1px #000,0 -1px #000,1px 0 #000,-1px 0 #000,1px 1px #000,-1px -1px #000,-1px 1px #000,1px -1px #000;transition:all 1s linear;z-index:32767;}.eskdale-live #cookiePrompt p{font-size:18px;padding:0.5em;}.eskdale-live #cookiePrompt.cheerio{bottom:-100%;}.eskdale-live #mobNav,.eskdale-live .mobNavLink{box-shadow:0 0 20px rgba(0,0,0,0.4);font-family:'Roboto Condensed',serif;font-size:24px;font-weight:700;line-height:1em;position:fixed;top:0;}.eskdale-live #mobNav .hasChild,.eskdale-live .mobNavLink{background:url(../media/common/menu.png) no-repeat right top;}.eskdale-live #closeNav{left:0;position:fixed;right:0;top:0;}.eskdale-live #mobNav{background:#354961;bottom:0;left:-320px;overflow:auto;text-align:left;transition:left 0.1s linear;width:280px;z-index:32765;}.eskdale-live .mobNavLink{background-color:#0092CB;border-bottom:1px solid #FFF;border-bottom-color:rgba(255,255,255,0.4);color:#FFF;display:none;left:0;padding:8px 0;right:0;z-index:32764;}.eskdale-live .mobNavOpen #mobNav,.eskdale-live #mobNav:target{left:0;}.eskdale-live #closeNav:target + #mobNav{left:-320px;}.eskdale-live .mobNavMode{padding:40px 0 0 0;}.eskdale-live .mobNavMode .mobNavLink{display:block;}.eskdale-live .mobNavMode .nav{display:none;}.eskdale-live .mobNavMode #content .wrapper{padding:0;}.eskdale-live #mobNav ul,.eskdale-live #mobNav li{list-style:none;margin:0;padding:0;}.eskdale-live #mobNav li{border-bottom:1px solid #FFF;line-height:1em;margin:0 8px;}.eskdale-live #mobNav li ul{border-top:1px solid #FFF;font-size:0.9em;}.eskdale-live #mobNav li:last-child{border:none;}.eskdale-live #mobNav .header{background:#0092CB;padding:8px;}.eskdale-live #mobNav a{color:#FFF;display:block;padding:8px;}.eskdale-live #mobNav .hasChild>a{margin-right:40px;}@media only screen and (max-width:1420px){.eskdale-live .wrapper{max-width:none;padding:10px;}}@media only screen and (max-width:1240px){.eskdale-live .blog .col,.eskdale-live .blog .archive{float:left;width:33.333333333333333333333333333333%;}.eskdale-live .blog .wide{width:66.666666666666666666666666666667%;}.eskdale-live .blog .col .nothumb .after{bottom:0;left:0;opacity:1;text-align:left;right:0;top:0;-webkit-transform:translateX(0) translateY(0) scale(1);transform:translateX(0) translateY(0) scale(1);transition:all 0.1s linear;}}@media only screen and (max-width:1024px){.eskdale-live .pad{padding:10px;}}@media only screen and (max-width:990px){.eskdale-live{padding:40px 0 0 0;}.eskdale-live .mobNavLink{display:block;}.eskdale-live .nav{display:none;}.eskdale-live #header{top:40px;}.eskdale-live #footer .mid .left,.eskdale-live #footer .mid .right{float:none;margin:0;width:auto;}.eskdale-live #footer .mid .right{border-top:1px solid #16A086;}.eskdale-live #footer .mid .left .left,.eskdale-live #footer .mid .left .right{border:none;float:left;width:48%;}.eskdale-live #footer .mid .left .left{margin:0 4% 0 0;}}@media only screen and (max-width:720px){.eskdale-live .col{width:50%;}}@media only screen and (max-width:640px){.eskdale-live .left,.eskdale-live .right,.eskdale-live #header .left,.eskdale-live #header .right,.eskdale-live #footer .left,.eskdale-live #footer .right,.eskdale-live #footer .mid .left .left,.eskdale-live #footer .mid .left .right{float:none;margin:0;text-align:center;width:auto;}.eskdale-live #footer .mid .left .left,.eskdale-live #footer .mid .left .right{padding:10px 0;}.eskdale-live #footer .mid .left .right{border-top:1px solid #16A086;}.eskdale-live #header .right p,.eskdale-live .logo{padding:0;}.eskdale-live .logo img{margin:0 auto;}.eskdale-live .blog .col,.eskdale-live .blog .archive{width:50%;}.eskdale-live .blog .wide{width:100%;}}@media only screen and (max-width:480px){.eskdale-live #footer .post{float:none;margin:0;width:auto;}}@media only screen and (max-width:400px){.eskdale-live .blog .col .nothumb .after,.eskdale-live .blog .wide .nothumb .after{font-size:2em;}.eskdale-live .blog .col,.eskdale-live .blog .wide,.eskdale-live .blog .archive{float:none;width:auto;}}@media only screen and (max-width:320px){.eskdale-live .col{float:none;width:100%;}}.eskdale-live .contact__terms{position:fixed;left:-1000em;top:0}
/* =========================================================
   ESKDALE SOLUTIONS — SITE STYLESHEET
   Shared across all pages. Fonts loaded via <link> in <head>.
   ========================================================= */

.eskdale-live{
  --navy:#101A23;
  --ink:#16232E;
  --teal:#2F7A73;
  --teal-light:#5FA79E;
  --sand:#C89B6C;
  --off:#F5F2EC;
  --paper:#FBFAF7;
  --slate:#57666F;
  --line:rgba(16,26,35,0.1);
  --gold:#C9A24B;
  --seal-navy:#12324D;
}

/* ---------- RESET & BASE ---------- */
.eskdale-live *{box-sizing:border-box; margin:0; padding:0;}
.eskdale-live{scroll-behavior:smooth;}
.eskdale-live{
  font-family:'Inter',sans-serif;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.eskdale-live h1,.eskdale-live h2,.eskdale-live h3{font-family:'Fraunces',serif; font-weight:600; letter-spacing:-0.01em;}
.eskdale-live .mono{font-family:'Space Grotesk',sans-serif; text-transform:uppercase; letter-spacing:0.14em; font-size:12px; font-weight:500;}
.eskdale-live a{color:inherit; text-decoration:none;}
.eskdale-live .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.eskdale-live .wrap{padding:0 20px;}}

/* ---------- NAV / HEADER ---------- */
.eskdale-live header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(251,250,247,0.85); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.eskdale-live nav{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1180px; margin:0 auto;}
.eskdale-live .logo{font-family:'Fraunces',serif; font-weight:600; font-size:20px; letter-spacing:-0.01em; display:flex; align-items:center; gap:10px;}
.eskdale-live .logo-badge{display:block; flex-shrink:0;}
.eskdale-live .logo-badge .badge-ring{stroke:var(--navy);}
.eskdale-live .logo-badge .badge-ring-inner{stroke:var(--gold);}
.eskdale-live .logo-badge .badge-letter{fill:var(--navy); font-family:'Fraunces',serif;}
.eskdale-live .nav-links{display:flex; gap:36px; align-items:center;}
.eskdale-live .nav-links a{font-size:14px; font-weight:500; color:var(--ink); opacity:0.75; transition:opacity .2s;}
.eskdale-live .nav-links a.active, .eskdale-live .nav-links a:hover{opacity:1;}
.eskdale-live a.nav-phone{display:flex; align-items:center; gap:6px;}
.eskdale-live .nav-phone-icon{flex-shrink:0;}
.eskdale-live a.nav-cta{background:var(--navy); color:var(--paper); opacity:1; padding:10px 20px; border-radius:3px; font-size:13px; font-weight:600; font-family:'Space Grotesk',sans-serif;}
.eskdale-live a.nav-cta:hover{color:var(--paper); opacity:0.85;}
.eskdale-live .nav-mobile-hide{display:flex;}
@media(max-width:860px){ .eskdale-live .nav-mobile-hide{display:none;} }

/* The site-wide CMS template still renders its own old-brand mobile
   hamburger menu (#mobNav / .mobNavLink, styled in the pre-2026 blue)
   on every page, with no way to opt a template out of it. Hide it here
   so it never appears on the 2026-rebrand pages, which get their own
   mobile menu below instead. */
.eskdale-live .mobNavLink{display:none;}
.eskdale-live #mobNav{display:none;}

.eskdale-live .mobile-nav-checkbox{display:none;}
.eskdale-live .mobile-nav-btn{display:none; flex-direction:column; justify-content:center; gap:5px; width:30px; height:30px; cursor:pointer; flex-shrink:0; -webkit-tap-highlight-color:transparent;}
/* The first control every phone visitor uses, and it was 30px (#265). The
   bars stay where they are; the button around them grows. */
@media (max-width: 40rem) {
  .eskdale-live .mobile-nav-btn{ width:44px; height:44px; align-items:center; margin-right:-7px; }
  .eskdale-live .mobile-nav-btn span{ width:22px; }
}
.eskdale-live .mobile-nav-btn span{display:block; width:100%; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s ease, opacity .2s ease;}
.eskdale-live .mobile-nav-panel{display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100vh - 61px); background:var(--paper); z-index:99; padding:8px 32px 32px; overflow-y:auto; border-top:1px solid var(--line);}
.eskdale-live .mobile-nav-panel a{display:flex; align-items:center; gap:8px; padding:16px 0; border-bottom:1px solid var(--line); font-size:16px; font-weight:500; color:var(--ink);}
.eskdale-live .mobile-nav-panel a.nav-cta{background:var(--navy); color:var(--paper); border:none; border-radius:3px; padding:14px 20px; margin-top:16px; justify-content:center; opacity:1;}
.eskdale-live .mobile-nav-checkbox:checked ~ .mobile-nav-panel{display:block;}
.eskdale-live .mobile-nav-checkbox:checked ~ .mobile-nav-btn span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.eskdale-live .mobile-nav-checkbox:checked ~ .mobile-nav-btn span:nth-child(2){opacity:0;}
.eskdale-live .mobile-nav-checkbox:checked ~ .mobile-nav-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:860px){ .eskdale-live .mobile-nav-btn{display:flex;} }

/* ---------- HERO (homepage) ---------- */
.eskdale-live .hero{
  position:relative; overflow:hidden;
  padding:180px 0 120px;
  background:var(--navy); color:var(--paper);
}
@media(max-width:860px){.eskdale-live .hero{padding:110px 0 70px;}}
.eskdale-live .contour{position:absolute; inset:0; width:100%; height:100%; opacity:0.5;}
.eskdale-live .contour path{
  fill:none; stroke:var(--teal-light); stroke-width:1;
  stroke-dasharray:2000; stroke-dashoffset:2000;
  animation:draw 3.2s ease forwards;
}
.eskdale-live .contour path:nth-child(2){stroke:var(--sand); opacity:0.55; animation-delay:.15s;}
.eskdale-live .contour path:nth-child(3){opacity:0.3; animation-delay:.3s;}
.eskdale-live .contour path:nth-child(4){stroke:var(--sand); opacity:0.22; animation-delay:.45s;}
@keyframes draw{to{stroke-dashoffset:0;}}

.eskdale-live .hero-inner{position:relative; z-index:2;}
.eskdale-live .eyebrow{color:var(--sand); margin-bottom:22px; display:flex; align-items:center; gap:10px;}
.eskdale-live .eyebrow::before{content:''; width:28px; height:1px; background:var(--sand);}
.eskdale-live .hero h1{font-size:clamp(27px,1.6vw,28px); line-height:1.2; max-width:820px; font-weight:600;}
.eskdale-live .hero h1 em{font-style:italic; font-weight:300; color:var(--teal-light);}
@media(max-width:640px){.eskdale-live .hero h1 .hero-line1{font-size:1.15em;}}
.eskdale-live .hero p{font-size:18px; line-height:1.6; color:rgba(245,242,236,0.72); max-width:520px; margin-top:26px;}
.eskdale-live .hero-cta{display:flex; gap:16px; margin-top:40px; flex-wrap:wrap;}

.eskdale-live #rotate-word{display:inline-block; font-style:italic; font-weight:300; color:var(--teal-light); transition:opacity .3s ease, transform .3s ease;}
.eskdale-live #rotate-word.swap{opacity:0; transform:translateY(6px);}

/* ---------- HERO 3D DEMO (pure CSS 3D — no external library) ---------- */
.eskdale-live .hero-3d{
  position:absolute; top:50%; right:6%; transform:translateY(-46%);
  width:280px; height:280px; z-index:1; opacity:0; transition:opacity 1s ease;
  cursor:grab; perspective:900px;
}
.eskdale-live .hero-3d.ready{ opacity:1; }
.eskdale-live .hero-3d:active{ cursor:grabbing; }
.eskdale-live .cube-scene{
  width:100%; height:100%; position:relative; transform-style:preserve-3d;
  touch-action:none;
}
.eskdale-live .cube-face{
  position:absolute; width:280px; height:280px;
  border:1px solid rgba(95,167,158,0.55);
  background:linear-gradient(135deg, rgba(47,122,115,0.28), rgba(200,155,108,0.12));
  backdrop-filter:blur(1px);
  display:flex; align-items:center; justify-content:center;
}
.eskdale-live .cube-face svg{ opacity:0.9; }
.eskdale-live .cube-face.face-front{  transform:translateZ(140px); }
.eskdale-live .cube-face.face-back{   transform:rotateY(180deg) translateZ(140px); }
.eskdale-live .cube-face.face-right{  transform:rotateY(90deg) translateZ(140px); }
.eskdale-live .cube-face.face-left{   transform:rotateY(-90deg) translateZ(140px); }
.eskdale-live .cube-face.face-top{    transform:rotateX(90deg) translateZ(140px); }
.eskdale-live .cube-face.face-bottom{ transform:rotateX(-90deg) translateZ(140px); }

.eskdale-live .hero-3d-label{
  color:var(--sand); margin-top:36px; font-size:11.5px; opacity:0.85;
  max-width:340px; display:none;
}
@media(min-width:1024px){ .eskdale-live .hero-3d-label{ display:block; } }
@media(max-width:760px){ .eskdale-live .hero-3d{ display:none; } }
@media(max-width:1023px) and (min-width:761px){
  .eskdale-live .hero-3d{ width:200px; height:200px; right:3%; }
  .eskdale-live .cube-face{ width:200px; height:200px; }
  .eskdale-live .cube-face.face-front{  transform:translateZ(100px); }
  .eskdale-live .cube-face.face-back{   transform:rotateY(180deg) translateZ(100px); }
  .eskdale-live .cube-face.face-right{  transform:rotateY(90deg) translateZ(100px); }
  .eskdale-live .cube-face.face-left{   transform:rotateY(-90deg) translateZ(100px); }
  .eskdale-live .cube-face.face-top{    transform:rotateX(90deg) translateZ(100px); }
  .eskdale-live .cube-face.face-bottom{ transform:rotateX(-90deg) translateZ(100px); }
}

/* ---------- PAGE HERO (interior pages) ---------- */
.eskdale-live .page-hero{position:relative; overflow:hidden; padding:170px 0 90px; background:var(--navy); color:var(--paper);}
.eskdale-live .page-hero-inner{position:relative; z-index:2;}
.eskdale-live .breadcrumb{font-size:13px; color:rgba(245,242,236,0.5); margin-bottom:18px;}
.eskdale-live .breadcrumb a{color:rgba(245,242,236,0.75);}
.eskdale-live .breadcrumb a:hover{color:var(--sand);}
.eskdale-live .service-pager{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  font-family:'Space Grotesk',sans-serif; font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
  margin-bottom:22px;
}
.eskdale-live .service-pager-current{color:var(--sand);}
.eskdale-live .service-pager a{color:rgba(245,242,236,0.55); transition:color .15s;}
.eskdale-live .service-pager a:hover{color:var(--paper);}
.eskdale-live .service-pager-empty{min-width:1px;}

/* ---------- LIVE CARBON BADGE (services/it-support-networking) ---------- */
.eskdale-live .carbon-badge{
  display:inline-flex; align-items:center; gap:8px; margin-top:24px; padding:8px 16px;
  background:rgba(95,167,158,0.12); border:1px solid rgba(95,167,158,0.3); border-radius:999px;
  font-size:13px; color:rgba(245,242,236,0.85);
}
.eskdale-live .carbon-badge-icon{font-size:14px;}
.eskdale-live .carbon-badge strong{color:var(--teal-light);}

/* ---------- CURSOR-REACTIVE TRAIL (services/branding-graphic-design hero) ---------- */
.eskdale-live .cursor-trail-canvas{position:absolute; inset:0; z-index:1; pointer-events:none;}
@media(prefers-reduced-motion: reduce){ .eskdale-live .cursor-trail-canvas{display:none;} }

/* ---------- VIEW TRANSITIONS (native, progressive enhancement) ---------- */
@view-transition{navigation:auto;}
.eskdale-live .work-thumb-img, .eskdale-live .case-hero-image-img{view-transition-name:none;}

/* ---------- BEFORE/AFTER SLIDER (web-design-portfolio) ---------- */
.eskdale-live .before-after-section{padding-top:0;}
.eskdale-live .ba-slider{
  position:relative; max-width:900px; margin:0 auto; aspect-ratio:1400/620;
  overflow:hidden; border-radius:12px; cursor:ew-resize; user-select:none;
  box-shadow:0 20px 50px rgba(16,26,35,0.18);
}
.eskdale-live .ba-slider-before, .eskdale-live .ba-slider-after{position:absolute; inset:0; overflow:hidden;}
.eskdale-live .ba-slider-before img, .eskdale-live .ba-slider-after img{width:100%; height:100%; object-fit:cover; display:block;}
.eskdale-live .ba-slider-after{clip-path:inset(0 50% 0 0);}
.eskdale-live .ba-handle{
  position:absolute; top:0; bottom:0; left:50%; width:3px; background:var(--paper);
  transform:translateX(-50%); pointer-events:none;
}
.eskdale-live .ba-handle-grip{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:44px; height:44px; background:var(--paper); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--navy);
  box-shadow:0 4px 14px rgba(16,26,35,0.35);
}
.eskdale-live .ba-label{
  position:absolute; top:16px; font-family:'Space Grotesk',sans-serif; font-size:11px;
  letter-spacing:0.08em; text-transform:uppercase; background:rgba(16,26,35,0.72);
  color:var(--paper); padding:6px 12px; border-radius:999px; z-index:2;
}
.eskdale-live .ba-label-before{right:16px;}
.eskdale-live .ba-label-after{left:16px;}
@media(max-width:640px){.eskdale-live .ba-slider{border-radius:8px;}}
.eskdale-live .page-hero h1{font-size:clamp(32px,5vw,54px); line-height:1.1; max-width:760px;}
.eskdale-live .page-hero p{font-size:17px; line-height:1.6; color:rgba(245,242,236,0.72); max-width:560px; margin-top:22px;}
.eskdale-live .hero-tag{display:inline-block; font-family:'Space Grotesk',sans-serif; font-size:11px; letter-spacing:0.1em; color:var(--sand); border:1px solid var(--sand); border-radius:20px; padding:4px 12px; margin-top:18px;}
.eskdale-live .hero-tag-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:18px;}
.eskdale-live .hero-tag-row .hero-tag{margin-top:0;}

/* ---------- PAGE HERO SLIDESHOW (services.html) ---------- */
.eskdale-live .hero-slides{display:grid;}
.eskdale-live .hero-slide{
  grid-area:1 / 1; opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .6s ease;
}
.eskdale-live .hero-slide.is-active{opacity:1; visibility:visible; pointer-events:auto;}
.eskdale-live .hero-slide .tag{
  display:inline-block; font-family:'Space Grotesk',sans-serif; font-size:10px; letter-spacing:0.1em;
  color:var(--teal-light); border:1px solid var(--teal-light); border-radius:20px; padding:2px 9px; margin-left:6px;
  vertical-align:1px;
}
.eskdale-live .hero-slide-link{
  display:inline-block; margin-top:26px; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px;
  color:var(--paper); border-bottom:1px solid rgba(245,242,236,0.4); padding-bottom:2px; transition:border-color .2s;
}
.eskdale-live .hero-slide-link:hover{border-color:var(--paper);}
.eskdale-live .hero-dots{display:flex; gap:8px; margin-top:44px; position:relative; z-index:2;}
.eskdale-live .hero-dots button{
  width:9px; height:9px; padding:0; border:none; border-radius:50%; background:rgba(245,242,236,0.28);
  cursor:pointer; transition:background .25s, transform .25s;
}
.eskdale-live .hero-dots button:hover{background:rgba(245,242,236,0.55);}
.eskdale-live .hero-dots button.is-active{background:var(--sand); transform:scale(1.2);}
/* The dot you see stays 9px; the thing you tap becomes the full height of the
   row (#265). A 9px target is a decoration you can occasionally hit, not a
   control.
   
   Height only, because nine 44px-wide targets need 396px and a phone is 390px
   — they do not fit, and pretending otherwise would just push the row off the
   screen. Each dot takes an equal share of the width instead, which comes to
   about 43px, and is 44px tall. If the carousel ever wants proper targets it
   needs fewer dots or a different control; that is a design decision, not a
   number. */
@media (max-width: 40rem) {
  .eskdale-live .hero-dots{ gap:0; width:100%; }
  .eskdale-live .hero-dots button,
  .eskdale-live .hero-dots button.is-active,
  .eskdale-live .hero-dots button:hover{
    flex:1 1 0; width:auto; min-width:0; height:44px;
    background:none; border-radius:0; transform:none;
    display:flex; align-items:center; justify-content:center;
  }
  .eskdale-live .hero-dots button::before{
    content:""; width:9px; height:9px; border-radius:50%;
    background:rgba(245,242,236,0.28); transition:background .25s, transform .25s;
  }
  .eskdale-live .hero-dots button:hover::before{ background:rgba(245,242,236,0.55); }
  .eskdale-live .hero-dots button.is-active::before{ background:var(--sand); transform:scale(1.2); }
}
@media(prefers-reduced-motion: reduce){ .eskdale-live .hero-slide{transition:none;} }

/* Kinetic word-by-word headline reveal, used on the 3D & Immersive Web slide */
.eskdale-live .hero-slide h1.kinetic span{display:inline-block; opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease;}
.eskdale-live .hero-slide.is-active h1.kinetic span{opacity:1; transform:translateY(0);}
.eskdale-live .hero-slide h1.kinetic span:nth-child(1){transition-delay:.05s;}
.eskdale-live .hero-slide h1.kinetic span:nth-child(2){transition-delay:.11s;}
.eskdale-live .hero-slide h1.kinetic span:nth-child(3){transition-delay:.17s;}
.eskdale-live .hero-slide h1.kinetic span:nth-child(4){transition-delay:.23s;}
.eskdale-live .hero-slide h1.kinetic span:nth-child(5){transition-delay:.29s;}
.eskdale-live .hero-slide h1.kinetic span:nth-child(6){transition-delay:.35s;}
@media(prefers-reduced-motion: reduce){ .eskdale-live .hero-slide h1.kinetic span{transition:none; opacity:1; transform:none;} }

/* Live 3D showpiece, services-page hero slide 3 only */
.eskdale-live .hero-3d-showcase{
  position:absolute; top:50%; right:7%; transform:translateY(-50%);
  width:230px; height:230px; perspective:800px;
  opacity:0; pointer-events:none; transition:opacity .7s ease; z-index:1;
}
.eskdale-live .hero-3d-showcase.is-visible{opacity:1; pointer-events:auto;}
.eskdale-live .h3d-scene{width:100%; height:100%; position:relative; transform-style:preserve-3d; cursor:grab;}
.eskdale-live .h3d-scene:active{cursor:grabbing;}
.eskdale-live .h3d-ring{position:absolute; inset:0; border:1px solid rgba(95,167,158,0.35); border-radius:50%;}
.eskdale-live .h3d-ring-a{animation:h3dSpin 14s linear infinite;}
.eskdale-live .h3d-ring-b{inset:22px; border-color:rgba(200,155,108,0.35); animation:h3dSpin 10s linear infinite reverse;}
@keyframes h3dSpin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
.eskdale-live .h3d-wire{position:absolute; top:50%; left:50%; margin:-90px 0 0 -90px; filter:drop-shadow(0 0 14px rgba(95,167,158,0.35));}
.eskdale-live .h3d-dot{position:absolute; width:6px; height:6px; border-radius:50%; background:var(--sand); box-shadow:0 0 8px rgba(200,155,108,0.7);}
.eskdale-live .h3d-dot-1{top:4%; left:50%;}
.eskdale-live .h3d-dot-2{top:72%; left:6%;}
.eskdale-live .h3d-dot-3{top:62%; left:90%;}
.eskdale-live .h3d-badge{position:absolute; bottom:-32px; left:50%; transform:translateX(-50%); font-size:11px; color:rgba(245,242,236,0.55); white-space:nowrap;}
@media(max-width:900px){ .eskdale-live .hero-3d-showcase{display:none;} }
@media(prefers-reduced-motion: reduce){ .eskdale-live .h3d-ring-a, .eskdale-live .h3d-ring-b{animation:none;} }
.eskdale-live .visit-site-btn{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.02em;
  color:var(--navy); background:var(--sand); border-radius:20px; padding:5px 14px;
  transition:background .2s;
}
.eskdale-live .visit-site-btn:hover{background:var(--teal-light); color:var(--paper);}

/* ---------- BUTTONS ---------- */
.eskdale-live .btn-primary{
  background:var(--teal); color:var(--paper); padding:15px 28px; border-radius:3px;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px;
  transition:background .2s; display:inline-block;
}
.eskdale-live .btn-primary:hover{background:var(--teal-light);}
.eskdale-live .btn-ghost{
  border:1px solid rgba(245,242,236,0.3); color:var(--paper); padding:15px 28px; border-radius:3px;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px;
  transition:border-color .2s;
}
.eskdale-live .btn-ghost:hover{border-color:rgba(245,242,236,0.7);}

/* ---------- TRUST STRIP (marquee) ---------- */
.eskdale-live .trust{background:var(--ink); padding:26px 0; border-top:1px solid rgba(255,255,255,0.06); overflow:hidden;}
.eskdale-live .trust-track{display:flex; align-items:center; gap:44px; width:max-content; animation:marquee 22s linear infinite;}
.eskdale-live .trust-track span{font-family:'Space Grotesk',sans-serif; font-size:13px; letter-spacing:0.08em; white-space:nowrap; color:rgba(245,242,236,0.4);}
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.eskdale-live .trust:hover .trust-track{animation-play-state:paused;}

/* ---------- SECTION SHARED ---------- */
.eskdale-live section{padding:100px 0;}
.eskdale-live .section-head{max-width:640px; margin-bottom:56px;}
.eskdale-live .section-head .mono{color:var(--teal); margin-bottom:16px; display:block;}
.eskdale-live .section-head h2{font-size:clamp(26px,3.4vw,38px); line-height:1.15;}
.eskdale-live .section-head p{color:var(--slate); font-size:16px; margin-top:16px; line-height:1.6;}

/* ---------- SERVICES GRID (homepage cards) ---------- */
.eskdale-live .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.eskdale-live .service-card{background:var(--paper); padding:40px 32px; position:relative; transition:background .25s;}
.eskdale-live .service-card:hover{background:var(--off);}
.eskdale-live .service-tag{
  position:absolute; top:32px; right:32px;
  font-family:'Space Grotesk',sans-serif; font-size:10px; letter-spacing:0.1em;
  color:var(--teal); border:1px solid var(--teal); border-radius:20px; padding:3px 10px;
}
.eskdale-live .service-num{font-family:'Space Grotesk',sans-serif; color:var(--slate); font-size:13px; opacity:0.5; margin-bottom:24px;}
.eskdale-live .service-card h3{font-size:21px; font-weight:600; margin-bottom:12px;}
.eskdale-live .service-card p{color:var(--slate); font-size:14.5px; line-height:1.6;}
@media(max-width:860px){.eskdale-live .services-grid{grid-template-columns:1fr;}}

/* ---------- SERVICE DETAIL ROWS (services.html) ---------- */
.eskdale-live .service-row{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start; padding:64px 0; border-top:1px solid var(--line);}
.eskdale-live .service-row:first-of-type{border-top:none;}
.eskdale-live .service-row-num{font-family:'Space Grotesk',sans-serif; color:var(--teal); font-size:13px; margin-bottom:18px; display:block;}
.eskdale-live .service-row h3{font-size:clamp(24px,3vw,32px); margin-bottom:16px;}
.eskdale-live .service-row h3 .row-arrow::before{content:'→'; margin-left:10px;}
.eskdale-live .service-row .tag{display:inline-block; font-family:'Space Grotesk',sans-serif; font-size:10px; letter-spacing:0.1em; color:var(--teal); border:1px solid var(--teal); border-radius:20px; padding:3px 10px; margin-bottom:16px;}
.eskdale-live .service-row p.lead{color:var(--slate); font-size:16px; line-height:1.7; margin-bottom:24px;}
.eskdale-live .service-list{list-style:none;}
.eskdale-live .service-list li{padding:12px 0; border-top:1px solid var(--line); font-size:14.5px; color:var(--ink); display:flex; gap:12px;}
.eskdale-live .service-list li:first-child{border-top:none;}
.eskdale-live .service-list li::before{content:'—'; color:var(--teal); flex-shrink:0;}
.eskdale-live .service-visual{
  background:linear-gradient(135deg, rgba(47,122,115,0.1), rgba(200,155,108,0.08));
  border:1px solid var(--line); border-radius:8px; min-height:280px;
  display:flex; align-items:center; justify-content:center;
}
@media(max-width:900px){.eskdale-live .service-row{grid-template-columns:1fr; gap:32px;}}

/* ---------- 3D & IMMERSIVE WEB service page: live model viewer ---------- */
.eskdale-live .page-hero--3d .page-hero-inner{display:flex; flex-wrap:wrap; align-items:center; gap:48px;}
.eskdale-live .page-hero--3d .page-hero-text{flex:1 1 420px; min-width:0;}
.eskdale-live .page-hero-3dviewer{
  flex:1 1 360px; min-width:280px; height:360px; position:relative;
  background:rgba(255,255,255,0.04); border:1px solid rgba(245,242,236,0.14); border-radius:12px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.eskdale-live .page-hero-3dviewer model-viewer{width:100%; height:100%;}
.eskdale-live .hero3d-loadBtn{
  display:flex; flex-direction:column; align-items:center; gap:12px;
  background:transparent; border:none; color:var(--paper); cursor:pointer;
  font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:600; padding:20px;
}
.eskdale-live .hero3d-loadBtn:hover{color:var(--teal-light);}
.eskdale-live .hero3d-loadBtn small{display:block; margin-top:4px; color:rgba(245,242,236,0.5); font-weight:400; font-size:11px;}
@media(max-width:760px){.eskdale-live .page-hero-3dviewer{height:280px; width:100%;}}

/* ---------- SERVICE ROW ICON MOTION ---------- */
.eskdale-live .service-visual svg{transition:transform .35s ease;}
.eskdale-live .service-visual:hover svg{transform:scale(1.06);}
@keyframes iconPulse{0%,100%{opacity:1;}50%{opacity:.3;}}
@keyframes iconBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}
@keyframes iconSpinSlow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.eskdale-live .icon-pulse{animation:iconPulse 1.8s ease-in-out infinite;}
.eskdale-live .icon-pulse:nth-of-type(2){animation-delay:.3s;}
.eskdale-live .icon-pulse:nth-of-type(3){animation-delay:.6s;}
.eskdale-live .icon-bob{animation:iconBob 2.4s ease-in-out infinite;}
.eskdale-live .icon-spin{transform-box:fill-box; transform-origin:center; animation:iconSpinSlow 9s linear infinite;}
.eskdale-live .icon-draw{animation:draw 2.2s ease forwards;}
@media(prefers-reduced-motion: reduce){
  .eskdale-live .service-visual:hover svg{transform:none;}
  .eskdale-live .icon-pulse,.eskdale-live .icon-bob,.eskdale-live .icon-spin,.eskdale-live .icon-draw{animation:none;}
}

/* ---------- SERVICE DETAIL PAGES (overview/included/process/related) ---------- */
.eskdale-live .overview-row{display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px; align-items:start;}
.eskdale-live .overview-row p.lead{color:var(--slate); font-size:17px; line-height:1.8;}
.eskdale-live .overview-visual{
  background:linear-gradient(135deg, rgba(47,122,115,0.1), rgba(200,155,108,0.08));
  border:1px solid var(--line); border-radius:8px; min-height:260px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.eskdale-live .overview-visual-img{width:100%; height:100%; object-fit:cover;}
@media(max-width:900px){.eskdale-live .overview-row{grid-template-columns:1fr; gap:32px;}}

.eskdale-live .included-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.eskdale-live .included-card{background:var(--paper); padding:32px;}
.eskdale-live .included-card h4{font-size:16px; font-weight:600; margin-bottom:8px; font-family:'Inter',sans-serif;}
.eskdale-live .included-card p{color:var(--slate); font-size:14px; line-height:1.6;}
@media(max-width:760px){.eskdale-live .included-grid{grid-template-columns:1fr;}}

.eskdale-live .process-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:32px;}
.eskdale-live .process-step{border-top:2px solid var(--teal); padding-top:20px;}
.eskdale-live .process-step .mono{color:var(--teal); display:block; margin-bottom:10px;}
.eskdale-live .process-step h4{font-size:17px; margin-bottom:8px; font-family:'Fraunces',serif; font-weight:600;}
.eskdale-live .process-step p{color:var(--slate); font-size:13.5px; line-height:1.6;}
@media(max-width:760px){.eskdale-live .process-strip{grid-template-columns:1fr 1fr; gap:28px;}}

.eskdale-live .related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.eskdale-live .related-card{border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:transform .25s;}
.eskdale-live .related-card:hover{transform:translateY(-3px);}
.eskdale-live .related-thumb{height:130px; background-size:cover; background-position:center;}
.eskdale-live .related-body{padding:18px;}
.eskdale-live .related-body h4{font-size:15px; font-weight:600; font-family:'Inter',sans-serif;}
.eskdale-live .related-body span{font-size:12px; color:var(--slate);}
@media(max-width:760px){.eskdale-live .related-grid{grid-template-columns:1fr;}}

/* ---------- DIFFERENTIATOR (homepage) ---------- */
.eskdale-live .differentiator{background:var(--navy); color:var(--paper);}
.eskdale-live .diff-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,0.08); border-radius:6px; overflow:hidden;}
.eskdale-live .diff-card{background:var(--ink); padding:48px;}
.eskdale-live .diff-card .mono{color:var(--sand); margin-bottom:20px; display:block;}
.eskdale-live .diff-card h3{font-size:26px; margin-bottom:16px; color:var(--paper);}
.eskdale-live .diff-card p{color:rgba(245,242,236,0.65); line-height:1.65; font-size:15px;}
.eskdale-live .diff-visual{
  height:120px; margin-bottom:28px; border-radius:4px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(47,122,115,0.25), rgba(200,155,108,0.12));
  border:1px solid rgba(255,255,255,0.08);
}
@media(max-width:760px){.eskdale-live .diff-grid{grid-template-columns:1fr;}}

/* ---------- STATS ---------- */
.eskdale-live .stats{border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.eskdale-live .stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding:64px 0;}
.eskdale-live .stat-num{font-family:'Fraunces',serif; font-size:44px; font-weight:600; color:var(--teal);}
.eskdale-live .stat-label{font-family:'Space Grotesk',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:0.1em; color:var(--slate); margin-top:8px;}
@media(max-width:760px){.eskdale-live .stats-grid{grid-template-columns:1fr 1fr;}}

/* ---------- WORK GRID (homepage + work.html) ---------- */
.eskdale-live .work-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.eskdale-live .work-card{border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:transform .25s, box-shadow .25s;}
.eskdale-live .work-card:hover{transform:translateY(-4px); box-shadow:0 16px 32px rgba(16,26,35,0.08);}
.eskdale-live .work-thumb{height:180px; display:flex; align-items:flex-end; padding:18px; position:relative; overflow:hidden;}
.eskdale-live .work-thumb-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.eskdale-live .work-thumb::before{content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(16,26,35,0.85), rgba(16,26,35,0.1) 60%);}
.eskdale-live .work-thumb span{position:relative; z-index:2; font-family:'Space Grotesk',sans-serif; color:rgba(255,255,255,0.9); font-size:11px; letter-spacing:0.1em; text-transform:uppercase;}
.eskdale-live .work-body{padding:24px;}
.eskdale-live .work-body h3{font-size:18px; margin-bottom:8px; font-weight:600;}
.eskdale-live .work-body p{color:var(--slate); font-size:14px;}
@media(max-width:860px){.eskdale-live .work-grid{grid-template-columns:1fr;}}
/* work.html uses slightly taller thumbs and bigger body padding */
.eskdale-live .eskdale-work-page .work-thumb{height:220px;}
.eskdale-live .eskdale-work-page .work-body{padding:26px;}
.eskdale-live .eskdale-work-page .work-body h3{font-size:19px;}

/* ---------- TESTIMONIAL ---------- */
.eskdale-live .testimonial{background:var(--off);}
.eskdale-live .testimonial blockquote{
  font-family:'Fraunces',serif; font-size:clamp(22px,3vw,32px); font-weight:500;
  line-height:1.4; max-width:820px; font-style:italic;
}
.eskdale-live .testimonial cite{display:block; margin-top:28px; font-style:normal; font-family:'Space Grotesk',sans-serif; font-size:13px; color:var(--slate); letter-spacing:0.05em;}

/* ---------- CTA BAND ---------- */
.eskdale-live .cta-band{background:var(--teal); color:var(--paper); text-align:center; padding:90px 0;}
.eskdale-live .cta-band h2{font-size:clamp(28px,4vw,44px); margin-bottom:20px;}
.eskdale-live .cta-band p{color:rgba(245,242,236,0.85); margin-bottom:34px; font-size:16px;}
.eskdale-live .cta-band .btn-primary{background:var(--navy);}
.eskdale-live .cta-band .btn-primary:hover{background:var(--ink);}

/* ---------- FOOTER ---------- */
.eskdale-live footer{background:var(--navy); color:rgba(245,242,236,0.6); padding:70px 0 30px; position:relative; overflow:hidden;}
.eskdale-live footer > .wrap{position:relative; z-index:1;}
.eskdale-live .footer-logo-3d{
  position:absolute; right:-70px; bottom:-70px; width:420px; height:420px;
  opacity:0.09; pointer-events:none; user-select:none; z-index:0;
  filter:drop-shadow(-14px 14px 26px rgba(0,0,0,0.35));
  transform:perspective(800px) rotateX(10deg) rotateY(-24deg);
  animation:footer-logo-spin 42s linear infinite;
}
@keyframes footer-logo-spin{
  from{ transform:perspective(800px) rotateX(10deg) rotateY(-24deg); }
  to{ transform:perspective(800px) rotateX(10deg) rotateY(336deg); }
}
@media(prefers-reduced-motion: reduce){ .eskdale-live .footer-logo-3d{ animation:none; } }
@media(max-width:760px){ .eskdale-live .footer-logo-3d{ width:280px; height:280px; right:-50px; bottom:-50px; } }
.eskdale-live .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,0.08);}
.eskdale-live .footer-grid h4{font-family:'Space Grotesk',sans-serif; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(245,242,236,0.9); margin-bottom:18px;}
.eskdale-live .footer-grid p, .eskdale-live .footer-grid a{font-size:14px; line-height:2; color:rgba(245,242,236,0.55); display:block;}
.eskdale-live .footer-grid a:hover{color:var(--sand);}
.eskdale-live .footer-bottom{display:flex; justify-content:space-between; padding-top:26px; font-size:13px; color:rgba(245,242,236,0.4); flex-wrap:wrap; gap:12px;}
.eskdale-live .footer-bottom a{text-decoration:underline; text-underline-offset:2px;}
.eskdale-live .footer-bottom a:hover{color:var(--sand);}
@media(max-width:760px){.eskdale-live .footer-grid{grid-template-columns:1fr 1fr;}}

/* ---------- REVEAL ANIMATION ---------- */
.eskdale-live .reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.eskdale-live .reveal.visible{opacity:1; transform:translateY(0);}

/* ---------- ABOUT PAGE: STORY / STATS / VALUES / TIMELINE ---------- */
.eskdale-live .story{max-width:720px;}
.eskdale-live .story p{color:var(--slate); font-size:16.5px; line-height:1.8; margin-bottom:22px;}
.eskdale-live .story p strong{color:var(--ink); font-weight:600;}
.eskdale-live .story .meta-line{color:var(--slate); font-size:13px; margin-bottom:36px; display:block;}
.eskdale-live .story h2{font-size:22px; margin:44px 0 16px;}
.eskdale-live .story h2:first-of-type{margin-top:0;}
.eskdale-live .story ul{margin:0 0 22px 22px;}
.eskdale-live .story ul li{color:var(--slate); font-size:16.5px; line-height:1.8; margin-bottom:8px; list-style:disc;}

.eskdale-live .values-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.eskdale-live .value-card{background:var(--paper); padding:40px;}
.eskdale-live .value-card .mono{color:var(--teal); margin-bottom:14px; display:block;}
.eskdale-live .value-card h3{font-size:20px; margin-bottom:10px;}
.eskdale-live .value-card p{color:var(--slate); font-size:14.5px; line-height:1.6;}
@media(max-width:760px){.eskdale-live .values-grid{grid-template-columns:1fr;}}

.eskdale-live .timeline{border-left:2px solid var(--line); padding-left:32px; max-width:640px;}
.eskdale-live .timeline-item{position:relative; padding-bottom:40px;}
.eskdale-live .timeline-item:last-child{padding-bottom:0;}
.eskdale-live .timeline-item::before{content:''; position:absolute; left:-38px; top:4px; width:10px; height:10px; border-radius:50%; background:var(--teal);}
.eskdale-live .timeline-item .mono{color:var(--teal); display:block; margin-bottom:6px;}
.eskdale-live .timeline-item h4{font-size:17px; font-weight:600; margin-bottom:6px; font-family:'Fraunces',serif;}
.eskdale-live .timeline-item p{color:var(--slate); font-size:14.5px; line-height:1.6;}

/* ---------- ABOUT PAGE: EASTER EGG ---------- */
.eskdale-live .egg-trigger{
  display:inline-flex; align-items:center; gap:8px; background:none; border:1px dashed var(--line);
  border-radius:20px; padding:9px 16px; font-family:'Space Grotesk',sans-serif; font-size:12.5px;
  color:var(--slate); cursor:pointer; transition:border-color .2s, color .2s;
}
.eskdale-live .egg-trigger:hover{border-color:var(--teal); color:var(--teal);}
.eskdale-live .egg-card{
  max-width:340px; margin-top:24px; border:1px solid var(--line); border-radius:10px; overflow:hidden;
  background:var(--navy); max-height:0; opacity:0; transition:max-height .4s ease, opacity .4s ease;
}
.eskdale-live .egg-card.open{max-height:560px; opacity:1;}
.eskdale-live .egg-card video{display:block; width:100%; height:auto;}
.eskdale-live .egg-caption{padding:16px 18px; color:rgba(245,242,236,0.75); font-size:13.5px; line-height:1.6;}
.eskdale-live .egg-caption strong{color:var(--paper);}

/* ---------- CONTACT PAGE: FORM ---------- */
.eskdale-live .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
@media(max-width:860px){.eskdale-live .contact-grid{grid-template-columns:1fr; gap:48px;}}

.eskdale-live .field{margin-bottom:16px;}
.eskdale-live .field label{display:block; font-family:'Space Grotesk',sans-serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--slate); margin-bottom:6px;}
.eskdale-live .field input, .eskdale-live .field select, .eskdale-live .field textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:4px;
  font-family:'Inter',sans-serif; font-size:14px; color:var(--ink); background:var(--off);
  outline:none; transition:border-color .2s, box-shadow .2s; box-sizing:border-box;
}
.eskdale-live .field input:focus, .eskdale-live .field select:focus, .eskdale-live .field textarea:focus{border-color:var(--teal); box-shadow:0 0 0 3px rgba(47,122,115,0.12);}
.eskdale-live .field textarea{resize:vertical; min-height:90px;}
.eskdale-live .submit-btn{
  background:var(--teal); color:var(--paper); border:none; padding:11px 26px; border-radius:3px;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px; cursor:pointer; transition:background .2s;
}
.eskdale-live .submit-btn:hover{background:var(--teal-light);}
.eskdale-live .form-note{font-size:13px; color:var(--slate); margin-top:14px;}

.eskdale-live .info-block{margin-bottom:26px;}
.eskdale-live .info-block .mono{color:var(--teal); display:block; margin-bottom:6px;}
.eskdale-live .info-block h3{font-size:18px; margin-bottom:4px; padding:0;}
.eskdale-live .info-block p, .eskdale-live .info-block a{color:var(--slate); font-size:15px; line-height:1.5; display:block; padding:0; margin:0;}
.eskdale-live .info-block a:hover{color:var(--teal);}
.eskdale-live .map-embed{border-radius:6px; overflow:hidden; border:1px solid var(--line); margin-top:8px;}
.eskdale-live .map-embed iframe{display:block; width:100%; height:220px; border:0;}

/* Restyle the CMS's existing (working, spam-checked) contact-form
   handler output to match the new brand. Scoped to .contact-form-legacy
   so it doesn't touch .field/.col usage elsewhere on old template pages. */
.eskdale-live .contact-form-legacy .formBox{max-width:100%;}
.eskdale-live .contact-form-legacy .col{float:none; width:100%; overflow:visible; margin-bottom:9px;}
.eskdale-live .contact-form-legacy .field{margin-bottom:0; padding:0;}
.eskdale-live .contact-form-legacy label{display:block; font-family:'Space Grotesk',sans-serif; font-size:10px; letter-spacing:0.07em; text-transform:uppercase; color:var(--slate); margin-bottom:3px; padding:0;}
.eskdale-live .contact-form-legacy input, .eskdale-live .contact-form-legacy select, .eskdale-live .contact-form-legacy textarea{
  width:100%; background:var(--paper); border:1px solid var(--line); border-radius:3px; padding:7px 10px;
  font-family:'Inter',sans-serif; font-size:13px; color:var(--ink); box-sizing:border-box; max-width:none;
}
.eskdale-live .contact-form-legacy input:focus, .eskdale-live .contact-form-legacy select:focus, .eskdale-live .contact-form-legacy textarea:focus{border-color:var(--teal); outline:none; box-shadow:0 0 0 3px rgba(47,122,115,0.12);}
.eskdale-live .contact-form-legacy textarea{resize:vertical; min-height:64px; height:auto;}
.eskdale-live .contact-form-legacy .buttons{text-align:left; padding:0; margin:0;}
.eskdale-live .contact-form-legacy .buttons .btn{
  background:var(--teal); color:var(--paper); border:none; padding:9px 20px; border-radius:3px;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:12px; cursor:pointer; transition:background .2s; width:auto;
}
.eskdale-live .contact-form-legacy .buttons .btn:hover{background:var(--teal-light);}
/* On a phone every control here measured 32–34px: the name, the email, the
   subject dropdown and the Send button alike, against the 44px a thumb needs.
   The form is the one thing on this page a visitor has to actually operate,
   and it was the hardest thing on it to hit.

   The Terms checkbox is deliberately left out: it is a honeypot, hidden from
   people and ticked by bots, and making it a comfortable target would defeat
   the trap. */
/* Form fields on a touch screen, for the same reason as the links below
   (#274): a support ticket typed on an iPad was meeting 30px inputs. */
@media (pointer: coarse), (max-width: 40rem) {
  .eskdale-live #ticketForm input:not([type="checkbox"]),
  .eskdale-live #ticketForm select,
  .eskdale-live #ticketForm .btn,
  .eskdale-live .contact-form-legacy input:not([type="checkbox"]),
  .eskdale-live .contact-form-legacy select,
  .eskdale-live .contact-form-legacy .buttons .btn {
    min-height: 44px;
  }
  .eskdale-live #ticketForm textarea,
  .eskdale-live .contact-form-legacy textarea {
    min-height: 88px;
  }
}
.eskdale-live .contact-form-legacy #alert{background:var(--ink); border:none; border-left:4px solid var(--sand); color:var(--paper); border-radius:3px; margin-bottom:22px;}

/* The CMS injects a hidden utility SVG (clip-path defs, unused by this
   template) as the last element in <body> on every page. It has no CSS
   sizing of its own, so browsers give it a default box and it was adding
   blank scrollable space below the footer. Take it out of the flow. */
.eskdale-live > svg{position:absolute; width:0; height:0; overflow:hidden;}

/* ---------- CASE STUDY PAGES (portfolio detail) ---------- */
.eskdale-live .case-hero-image{
	width:100%; height:380px; background-size:cover; background-position:center;
	border-radius:10px; margin-top:-60px; position:relative; z-index:3;
	box-shadow:0 24px 48px rgba(16,26,35,0.18); border:1px solid var(--line);
	overflow:hidden;
}
.eskdale-live .case-hero-image-img{width:100%; height:100%; object-fit:cover; display:block;}
@media(max-width:760px){ .eskdale-live .case-hero-image{ height:220px; } }

.eskdale-live .case-meta-grid{
	display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
	background:var(--line); border:1px solid var(--line); margin-top:56px;
}
.eskdale-live .case-meta-item{ background:var(--paper); padding:24px; }
.eskdale-live .case-meta-item .mono{ color:var(--teal); display:block; margin-bottom:8px; }
.eskdale-live .case-meta-item p{ font-size:15px; font-weight:600; line-height:1.4; }
@media(max-width:760px){ .eskdale-live .case-meta-grid{ grid-template-columns:1fr 1fr; } }

.eskdale-live .service-chip-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.eskdale-live .service-chip{
	font-family:'Space Grotesk',sans-serif; font-size:12.5px; border:1px solid var(--teal);
	color:var(--teal); border-radius:20px; padding:7px 14px; transition:background .2s, color .2s;
	display:inline-block;
}
.eskdale-live .service-chip:hover{ background:var(--teal); color:var(--paper); }

.eskdale-live .next-case{
	display:flex; justify-content:space-between; align-items:center;
	padding:36px 0; border-top:1px solid var(--line); gap:20px; flex-wrap:wrap;
}
.eskdale-live .next-case .mono{ color:var(--teal); display:block; margin-bottom:6px; }
.eskdale-live .next-case h3{ font-size:clamp(18px,2.4vw,24px); }
.eskdale-live .next-case svg{ flex-shrink:0; }

/* ---------- SUPPORT PAGE ---------- */
.eskdale-live .callout{
	background:var(--ink); border-left:4px solid var(--sand); color:var(--paper);
	border-radius:3px; padding:22px 26px; margin-top:32px;
}
.eskdale-live .callout h3{ font-size:16px; margin-bottom:8px; }
.eskdale-live .callout p{ color:rgba(251,250,247,0.8); font-size:14.5px; line-height:1.7; }
.eskdale-live .callout p + p{ margin-top:10px; }
.eskdale-live .btn-secondary{
	display:inline-block; font-family:'Space Grotesk',sans-serif; font-weight:600;
	font-size:14px; padding:14px 28px; border-radius:4px; text-decoration:none;
	border:1px solid var(--navy); color:var(--navy); transition:background .2s, color .2s;
}
.eskdale-live .btn-secondary:hover{ background:var(--navy); color:var(--paper); }

/* ---------- 404 PAGE ---------- */
.eskdale-live .four-oh-four{
	font-family:'Fraunces',serif; font-weight:300; font-size:clamp(120px,20vw,260px);
	line-height:1; color:rgba(245,242,236,0.06); position:absolute; top:-0.15em; right:0;
	pointer-events:none; z-index:-1; letter-spacing:-0.02em;
}
.eskdale-live .notfound-links{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.eskdale-live #tooSpooky{
	position:absolute; bottom:18px; right:22px; font-family:'Space Grotesk',monospace;
	font-size:12px; letter-spacing:0.08em; color:rgba(245,242,236,0.35);
	opacity:0; transition:opacity 1.2s ease; pointer-events:none;
}
.eskdale-live #tooSpooky.visible{ opacity:1; }

.eskdale-live .ghoul{
	position:absolute; width:44px; height:auto; color:rgba(245,242,236,0.55);
	pointer-events:none; z-index:1; filter:drop-shadow(0 6px 10px rgba(0,0,0,0.2));
}
.eskdale-live .ghoul-1{ top:12%; left:5%; width:74px; animation:ghoulFloatA 4s ease-in-out infinite; }
.eskdale-live .ghoul-2{ top:58%; left:14%; width:52px; color:rgba(200,155,108,0.5); animation:ghoulFloatB 3.2s ease-in-out infinite; animation-delay:.6s; }
.eskdale-live .ghoul-3{ top:15%; right:11%; width:66px; animation:ghoulFloatA 4.5s ease-in-out infinite; animation-delay:.3s; }
.eskdale-live .ghoul-4{ top:64%; right:5%; width:48px; color:rgba(200,155,108,0.5); animation:ghoulFloatB 3.7s ease-in-out infinite; animation-delay:1s; }
@keyframes ghoulFloatA{
	0%,100%{ transform:translate(0,0) rotate(-6deg); }
	50%{ transform:translate(20px,-34px) rotate(6deg); }
}
@keyframes ghoulFloatB{
	0%,100%{ transform:translate(0,0) rotate(5deg); }
	50%{ transform:translate(-16px,-28px) rotate(-5deg); }
}
@media(prefers-reduced-motion: reduce){ .eskdale-live #tooSpooky{ transition:none; } .eskdale-live .ghoul{ animation:none; } }

/* ---------- INSTANT SEO CHECK WIDGET (services/digital-marketing-seo) ---------- */
.eskdale-live .seo-widget-section{background:var(--off); padding:80px 0;}
.eskdale-live .seo-widget-card{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:48px; max-width:720px; margin:0 auto;}
.eskdale-live .seo-widget-row{display:flex; gap:12px; flex-wrap:wrap;}
.eskdale-live .seo-widget-row input{
  flex:1 1 260px; border:1px solid var(--line); border-radius:6px; padding:14px 16px;
  font-size:15px; font-family:inherit; box-sizing:border-box;
}
.eskdale-live .seo-widget-row input:focus{outline:none; border-color:var(--teal);}
.eskdale-live .seo-widget-result{margin-top:32px; padding-top:32px; border-top:1px solid var(--line);}
.eskdale-live .seo-widget-loading{color:var(--slate); font-size:14px;}
.eskdale-live .seo-widget-error{color:#B4462B; font-size:14px;}
.eskdale-live .seo-widget-score{
  display:inline-flex; align-items:baseline; gap:4px; font-family:'Fraunces',serif; font-weight:700;
  font-size:52px; line-height:1; border-radius:50%; margin-bottom:24px;
}
.eskdale-live .seo-widget-score span{font-size:16px; font-weight:400; color:var(--slate); font-family:inherit;}
.eskdale-live .seo-widget-score--good{color:#2F7A73;}
.eskdale-live .seo-widget-score--mid{color:#C89B6C;}
.eskdale-live .seo-widget-score--low{color:#B4462B;}
.eskdale-live .seo-widget-fixes h4{font-family:'Space Grotesk',sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate); margin-bottom:12px;}
.eskdale-live .seo-widget-fixes ul{margin:0; padding:0; list-style:none;}
.eskdale-live .seo-widget-fixes li{padding:12px 0; border-top:1px solid var(--line); font-size:14.5px; color:var(--ink); line-height:1.6;}
.eskdale-live .seo-widget-fixes li:first-child{border-top:none;}
@media(max-width:640px){.eskdale-live .seo-widget-card{padding:32px 24px;}}

/* ---------- AI "ASK YOUR DATA" DEMO (services/ai-solutions) ---------- */
.eskdale-live .ai-demo-card{background:var(--ink); border-radius:12px; padding:40px; color:var(--paper);}
.eskdale-live .ai-demo-suggestions{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px;}
.eskdale-live .ai-demo-suggestions .AskSuggestion{
  background:rgba(245,242,236,0.08); border:1px solid rgba(245,242,236,0.18); border-radius:999px;
  color:var(--paper); cursor:pointer; font-size:13px; padding:8px 16px; transition:background .15s;
}
.eskdale-live .ai-demo-suggestions .AskSuggestion:hover{background:rgba(245,242,236,0.16);}
.eskdale-live .ai-demo-inputRow{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px;}
.eskdale-live .ai-demo-inputRow input{
  flex:1 1 240px; background:rgba(255,255,255,0.06); border:1px solid rgba(245,242,236,0.2);
  border-radius:6px; padding:14px 16px; color:var(--paper); font-size:15px; font-family:inherit; box-sizing:border-box;
}
.eskdale-live .ai-demo-inputRow input::placeholder{color:rgba(245,242,236,0.45);}
.eskdale-live .ai-demo-inputRow input:focus{outline:none; border-color:var(--teal-light);}
.eskdale-live .ai-demo-chart{min-height:180px;}
.eskdale-live .ai-demo-chart h4{font-family:'Space Grotesk',sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:0.06em; color:rgba(245,242,236,0.55); margin-bottom:18px;}
.eskdale-live .ai-demo-bar-row{display:flex; align-items:center; gap:14px; margin-bottom:14px; font-size:13.5px;}
.eskdale-live .ai-demo-bar-label{flex:0 0 150px; color:rgba(245,242,236,0.75);}
.eskdale-live .ai-demo-bar-track{flex:1 1 auto; background:rgba(255,255,255,0.08); border-radius:4px; height:20px; overflow:hidden;}
.eskdale-live .ai-demo-bar-fill{display:block; height:100%; width:0; background:linear-gradient(90deg, var(--teal-light), var(--sand)); border-radius:4px; transition:width 1s cubic-bezier(.16,1,.3,1);}
.eskdale-live .ai-demo-bar-fill.is-visible{width:var(--target-width, 0);}
.eskdale-live .ai-demo-bar-value{flex:0 0 auto; color:var(--paper); font-weight:600; min-width:70px; text-align:right;}
@media(max-width:640px){.eskdale-live .ai-demo-card{padding:28px 20px;} .eskdale-live .ai-demo-bar-label{flex-basis:100px; font-size:12px;}}


.eskdale-live > .page {padding-top:100px;min-height:70vh} .eskdale-live .reveal {opacity:1;transform:none}

/*
 * Node-site additions to the live 2026 CSS. refresh-from-live appends this
 * after scoping live's common.min.css + template-13.css into theme.css, so
 * these survive every refresh. Keep it small: prefer matching live.
 */

/* The React enquiry bot opens its panel with .is-open (live toggles it by script). */
.eskdale-live .enquiry-bot-panel{ display:none; }
.eskdale-live .enquiry-bot-panel.is-open{ display:flex; }
.eskdale-live #EnquiryMessages .message a{ color:var(--navy); text-decoration:underline; }
.eskdale-live .enquiry-bot-typing{ opacity:0.55; letter-spacing:0.2em; }
.eskdale-live .enquiry-bot-body .AskInputRow button:disabled{ opacity:0.55; cursor:wait; }

/* The React header opens its mobile menu with a class; live uses a checkbox (.mobile-nav-checkbox:checked). */
.eskdale-live .mobile-nav-panel.mobile-nav-panel--open{ display:block; }

/* CMS pages built from 2026 markup (the home page) are full-bleed sections like live,
   starting straight under the fixed header (app/globals.css skips its .page column for them). */
.eskdale-live > .page:has(.eskdale-markup){ padding:0; }

/* Signed-in staff: the fixed site header sits below the admin edit bar (40px)
   or the page editor's toolbar (48px) instead of covering them. */
body:has([data-admin-bar]) .eskdale-live .eskdale2026-header{ top:40px; }
body:has([data-editor-toolbar]) .eskdale-live .eskdale2026-header{ top:48px; }

/* Editor controls render inside the site wrapper, where live's unlayered CSS
   (buttons, links, headings) beats the admin's layered Tailwind classes.
   revert-layer hands these elements back to the admin styles. */
.eskdale-live [data-admin-ui],
.eskdale-live [data-admin-ui] *{ all: revert-layer; }

/* Page editor: show what's editable in a 2026 section. */
.eskdale-live .eskdale-markup--editing [data-edit]{ cursor:text; border-radius:2px; }
.eskdale-live .eskdale-markup--editing [data-edit]:hover{ outline:1px dashed rgba(95,167,158,0.8); outline-offset:3px; }
.eskdale-live .eskdale-markup--editing [data-edit]:focus{ outline:2px solid #5fa79e; outline-offset:3px; }
.eskdale-live .eskdale-markup--editing img[data-edit-img]{ cursor:pointer; }
.eskdale-live .eskdale-markup--editing img[data-edit-img]:hover{ outline:2px dashed #c89b6c; outline-offset:-2px; }
.eskdale-live .eskdale-markup--editing .reveal{ opacity:1; transform:none; }

/* Support page chat panel: live's page-level <style> isn't scoped, so the scoped
   theme's general button rules outrank it. Restate the panel's controls. */
.eskdale-live #askBot .AskSuggestion{ background:#F3F1EA; border:none; border-radius:999px; color:#4A4A42; cursor:pointer; font-family:inherit; font-size:0.75em; font-weight:500; letter-spacing:normal; overflow:hidden; padding:0.4em 0.8em; text-align:center; text-overflow:ellipsis; text-transform:none; white-space:nowrap; width:100%; }
.eskdale-live #askBot .AskSuggestion:hover{ background:#2AA6A1; color:#fff; }
.eskdale-live #askBot #AskSubmit{ background:#2AA6A1; border:none; border-radius:6px; color:#fff; cursor:pointer; font-weight:600; padding:0.55em 0.9em; text-transform:none; }
.eskdale-live #askBot #AskSubmit:disabled{ opacity:0.55; cursor:wait; }

/* ---- Blog (index, category, author, post) in the 2026 look ----
   The blog pages use the generic CMS .page markup; live's reset (margin:0 on
   everything) and the old highlighted headings don't suit them. */
.eskdale-live > main.blog,
.eskdale-live > main.blog-article{ max-width:1180px; margin:0 auto; padding:150px 32px 96px; box-sizing:border-box; }
@media(max-width:860px){
  .eskdale-live > main.blog, .eskdale-live > main.blog-article{ padding:110px 20px 72px; }
}
.eskdale-live main.blog h1::before, .eskdale-live main.blog h2::before,
.eskdale-live main.blog-article h1::before, .eskdale-live main.blog-article h2::before{ display:none; }
.eskdale-live main.blog h1, .eskdale-live main.blog-article h1{ display:block; font-family:'Fraunces',serif; font-weight:600; color:var(--ink); letter-spacing:-0.01em; margin:0 0 20px; }
.eskdale-live .blog-hero{ margin-bottom:28px; }
.eskdale-live .blog-hero::before{ content:"Journal"; display:block; margin-bottom:14px; font-family:'Space Grotesk',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--teal); }
.eskdale-live .shop-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 32px; }
.eskdale-live .shop-chip{ padding:6px 14px; border:1px solid var(--line); border-radius:999px; font-size:13px; color:var(--ink); }
.eskdale-live .blog-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
@media(max-width:960px){ .eskdale-live .blog-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px){ .eskdale-live .blog-grid{ grid-template-columns:1fr; } }
.eskdale-live .blog-card{ display:flex; flex-direction:column; height:100%; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; color:var(--ink); transition:border-color 0.2s; }
.eskdale-live .blog-card:hover{ border-color:var(--teal); }
.eskdale-live .blog-card__media{ aspect-ratio:16/9; background:var(--navy); }
.eskdale-live .blog-card__placeholder{ height:100%; background:
  radial-gradient(circle at 78% 30%, rgba(95,167,158,0.35), transparent 45%),
  radial-gradient(circle at 20% 85%, rgba(200,155,108,0.25), transparent 40%), var(--navy); }
.eskdale-live .blog-card__body{ display:flex; flex-direction:column; gap:10px; padding:20px 22px 22px; flex:1 1 auto; }
.eskdale-live .blog-card__title{ font-family:'Fraunces',serif; font-size:20px; line-height:1.25; font-weight:600; text-transform:none; letter-spacing:-0.01em; margin:0; }
.eskdale-live .blog-grid > li{ list-style:none; }
.eskdale-live .blog-grid > li::marker{ content:""; }
.eskdale-live .blog-card__excerpt{ font-size:14px; line-height:1.55; color:var(--slate); display:block; margin:0; }
.eskdale-live .blog-card__meta{ margin-top:auto; font-family:'Space Grotesk',sans-serif; font-size:12px; letter-spacing:0.04em; color:var(--slate); }
.eskdale-live .blog-pagination{ display:flex; justify-content:space-between; margin-top:40px; }
.eskdale-live main.blog-article{ max-width:820px; }
.eskdale-live .blog-article .shop-crumbs{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; font-family:'Space Grotesk',sans-serif; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--slate); }
.eskdale-live .blog-article .shop-crumbs a{ color:var(--teal); }
.eskdale-live .blog-article__meta{ margin:0 0 32px; font-size:14px; color:var(--slate); }
.eskdale-live .blog-article .rich-text{ font-size:17px; line-height:1.7; color:var(--ink); }
.eskdale-live .blog-article .rich-text p, .eskdale-live .blog-article .rich-text ul, .eskdale-live .blog-article .rich-text ol{ margin:0 0 1.1em; }
.eskdale-live .blog-article .rich-text ul, .eskdale-live .blog-article .rich-text ol{ padding-left:1.4em; }
.eskdale-live .blog-article .rich-text h2, .eskdale-live .blog-article .rich-text h3{ margin:1.6em 0 0.6em; }
.eskdale-live .blog-article .rich-text a{ color:var(--teal); text-decoration:underline; text-underline-offset:2px; }
.eskdale-live .blog-author-card{ margin-top:40px; padding:20px 22px; border:1px solid var(--line); border-radius:8px; }
.eskdale-live .blog-author-card__label{ font-family:'Space Grotesk',sans-serif; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--teal); margin:0 0 6px; }
.eskdale-live .blog-author-card__name{ font-family:'Fraunces',serif; font-weight:600; font-size:18px; color:var(--ink); }

/* Live styles every <header> as the fixed site bar. The blog's own headers are
   page content, so put them back in the flow. */
.eskdale-live main header{ position:static; background:none; backdrop-filter:none; border-bottom:none; z-index:auto; }

/* =========================================================
   The bag and the search box in the header.

   Live's base stylesheet styles every input as a full-width
   block with a 5px white border, so each of these has to
   out-specify it rather than rely on order.
   ========================================================= */

.eskdale-live .nav-search{ position:relative; display:flex; align-items:center; }
.eskdale-live .nav-search-icon{ position:absolute; left:11px; color:var(--slate); pointer-events:none; }
.eskdale-live .nav-search input{
  display:block; box-sizing:border-box; width:150px; margin:0;
  padding:8px 12px 8px 32px;
  background:var(--off); border:1px solid transparent; border-radius:999px;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif; font-size:13px; color:var(--ink);
  transition:width .18s ease, border-color .18s ease, background .18s ease;
}
.eskdale-live .nav-search input::placeholder{ color:var(--slate); opacity:0.8; }
.eskdale-live .nav-search input:focus{
  width:210px; outline:none; background:var(--paper); border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(47,122,115,0.14);
}
/* Safari draws its own clear button over the rounded end. */
.eskdale-live .nav-search input::-webkit-search-decoration,
.eskdale-live .nav-search input::-webkit-search-cancel-button{ -webkit-appearance:none; }

.eskdale-live a.nav-bag{
  position:relative; display:flex; align-items:center; flex-shrink:0;
  color:var(--ink); opacity:0.75; transition:opacity .2s;
}
/* The icon stays 18px; the link it sits in becomes something a thumb can
   find (#265). Negative margin so the header's spacing is unchanged. */
@media (max-width: 40rem) {
  .eskdale-live a.nav-bag{
    min-width:44px; min-height:44px; justify-content:center; margin:0 -13px;
  }
}
.eskdale-live a.nav-bag:hover{ color:var(--ink); opacity:1; }
.eskdale-live .nav-bag-count{
  position:absolute; top:-7px; right:-9px;
  display:flex; align-items:center; justify-content:center;
  min-width:17px; height:17px; padding:0 4px; box-sizing:border-box;
  background:var(--teal); color:var(--paper); border-radius:999px;
  font-family:'Space Grotesk',sans-serif; font-size:10px; font-weight:600; line-height:1;
}

/* The bag beside the hamburger: hidden on desktop, where it sits in the nav. */
.eskdale-live .nav-mobile-only{ display:none; }
@media(max-width:860px){
  .eskdale-live .nav-mobile-only{ display:flex; margin-left:auto; margin-right:18px; }
}

/* In the phone menu, the search box is a full-width field at the top. */
.eskdale-live .mobile-nav-panel .nav-search{ padding:16px 0; border-bottom:1px solid var(--line); }
.eskdale-live .mobile-nav-panel .nav-search input{ width:100%; padding:12px 14px 12px 34px; font-size:16px; }
.eskdale-live .mobile-nav-panel .nav-search input:focus{ width:100%; }

/* The header gained two controls, so it needs the room: a tighter gap, and
   nothing allowed to wrap onto a second line. Below 1100px the search box
   steps aside — it is still in the phone menu, and the shop has its own. */
.eskdale-live .nav-links{ gap:22px; }
.eskdale-live .logo,
.eskdale-live a.nav-phone,
.eskdale-live a.nav-cta,
.eskdale-live .nav-links a{ white-space:nowrap; }
/* #335: "Contact us" was breaking onto two lines on a wide desktop, because
   the bar stayed 1180px however much screen there was. No link wraps (above),
   and on a wide screen the bar spreads to 1440px so there is room for Shop. */
@media(min-width:1280px){
  .eskdale-live nav{ max-width:1440px; }
}
/* The box narrows before it goes: at tablet widths there is room for a
   shorter one, and it only disappears where the hamburger takes over. */
/* At tablet widths it shrinks to its icon. Focused, it opens as a row under
   the bar — it used to open leftwards across the links, which put a shop
   search box on top of the navigation (Paul, 23 Sept: "search bar is
   covering navigation"). Searching the shop is never worth hiding the way
   out of the page. */
@media(max-width:1100px){
  .eskdale-live .nav-links{ gap:16px; }
  .eskdale-live .nav-links .nav-search{ width:34px; height:34px; flex-shrink:0; }
  .eskdale-live .nav-search-icon{ left:10px; z-index:1; }
  .eskdale-live .nav-links .nav-search input{
    position:absolute; right:0; width:34px; padding-left:30px; padding-right:4px; cursor:pointer;
  }
  .eskdale-live .nav-links .nav-search input:focus{
    top:calc(100% + 19px); right:0;
    width:min(320px, calc(100vw - 48px));
    padding-left:14px; padding-right:12px; cursor:text;
    background:var(--paper); box-shadow:0 12px 28px rgba(11,20,30,0.16);
  }
  .eskdale-live .nav-links .nav-search input::placeholder{ color:transparent; }
  /* Below the bar there is room for the words again. */
  .eskdale-live .nav-links .nav-search input:focus::placeholder{ color:var(--slate); opacity:0.8; }
}

/* Live styles every button with a 5px white border, which drew a white box
   around the hamburger. Same class of leak as the invisible "Add to bag". */
.eskdale-live .mobile-nav-btn{ background:none; border:none; padding:0; box-sizing:border-box; }
/* At phone widths the name is two words on two lines; that is the design. */
@media(max-width:520px){
  .eskdale-live .logo{ white-space:normal; font-size:18px; line-height:1.15; }
}


/* ---- On a phone (#225) ----
   Measured at 390x844: no page scrolls sideways, but tap targets came in at
   20-34px where iOS asks for 44, and some labels fell to 9.8px. Height comes
   from padding rather than type size, so the desktop design is untouched, and
   everything here is inside a max-width query except the two labels that were
   too small at any width. */

/* The chat panel's group label inherits em from a parent that is already below
   1em, which landed it at 9.8px: unreadable at arm's length, on any screen. */
.eskdale-live #askBot .AskGroupLabel{ font-size:12px; letter-spacing:0.04em; }
.eskdale-live #askBot .label{ font-size:13px; }

/*
 * Thumb-sized controls (#274).
 *
 * These were written for a phone and scoped to 640px, so an iPad in portrait —
 * 768px — fell between the two stools and got the desk-sized version back.
 * Measured on the live site: two controls under 32px tall on a phone, and
 * twenty-three on a tablet. The same page, the same thumb.
 *
 * `pointer: coarse` is the honest test — it asks what is being pointed with
 * rather than how wide the glass is — and the width stays as a fallback for
 * the browsers and the desktop-sized touchscreens that don't report it.
 */
@media (pointer: coarse), (max-width: 640px) {
  /* Header and footer links: the email address and the phone numbers are
     exactly what a thumb goes for, and they were 20-28px tall. */
  .eskdale-live .logo{ min-height:44px; display:inline-flex; align-items:center; }
  .eskdale-live .footer-grid a{ display:flex; align-items:center; min-height:44px; line-height:1.45; }
  .eskdale-live .footer-grid p{ line-height:1.6; }
  .eskdale-live .footer-bottom a{ display:inline-flex; align-items:center; min-height:44px; }

  /* The three controls in the header, which the rules below never named and
     which were the two still too small on a phone (#274): the bag at 18px,
     the menu button at 30px and the phone link at 21px. A bag icon you have to
     aim at is the one that costs a sale. The box grows around the icon rather
     than the icon growing, so nothing about the header's look changes. */
  .eskdale-live a.nav-bag,
  .eskdale-live a.nav-phone{ min-height:44px; min-width:44px; display:inline-flex; align-items:center; justify-content:center; }
  /* The menu button keeps its own display — it is three stacked bars, and it
     is shown or hidden by the width rules above. Only its box grows. */
  .eskdale-live .mobile-nav-btn{ min-height:44px; min-width:44px; }
  .eskdale-live nav a{ min-height:44px; display:inline-flex; align-items:center; }

  /* A phone number is a control wherever it sits — tapping it makes the call —
     so it is the one exception to leaving links inside a sentence alone. It
     stays in the line; only its box grows. */
  .eskdale-live a[href^="tel:"]{ min-height:44px; display:inline-flex; align-items:center; }

  /* The support page's chat: five suggestion buttons stacked at 20px each was a
     coin toss with a thumb. */
  .eskdale-live #askBot .AskSuggestion{ min-height:44px; font-size:13px; padding:0.7em 1em; }
  .eskdale-live #askBot #AskSubmit{ min-height:44px; }

  /* Where a heading is a link — a service card, the contact page's email and
     phone — the link is the control, so on a phone it gets the full 44px rather
     than the 26px the type happened to give it. */
  .eskdale-live h3 > a:only-child{ display:flex; align-items:center; min-height:44px; }

  /* A link that is the whole of its list item is a control, so it gets 44px —
     including the support page's "label then link" rows, where a <span class=
     "label"> sits beside it. A link inside a sentence is left alone: turning it
     into a block would break the line it belongs to. */
  .eskdale-live li > a:only-child,
  .eskdale-live li > .label + a{ display:inline-flex; align-items:center; min-height:44px; }

  /* Labels that carry meaning rather than decorate: a sector chip is the
     content, so it reads at 13px on a phone even though it's 11px on a desk. */
  .eskdale-live .work-thumb span,
  .eskdale-live .hero-tag,
  .eskdale-live .ba-label,
  .eskdale-live .service-pager{ font-size:13px; }
  .eskdale-live .service-pager a{ display:inline-flex; align-items:center; min-height:44px; }
}


/* Product information (#229): the shop's sections and the product's own, each
   folded so the page stays short, plus any files to download. */
.eskdale-live .product-info{ margin-top:40px; border-top:1px solid var(--line); }
.eskdale-live .product-info__section{ border-bottom:1px solid var(--line); }
.eskdale-live .product-info__summary{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; min-height:44px; }
.eskdale-live .product-info__summary::-webkit-details-marker{ display:none; }
.eskdale-live .product-info__summary::after{ content:"+"; font-weight:400; color:var(--slate); }
.eskdale-live .product-info__section[open] .product-info__summary::after{ content:"\2212"; }
.eskdale-live .product-info__body{ padding:0 0 20px; line-height:1.65; color:var(--ink); }
.eskdale-live .product-info__body p{ margin:0 0 12px; }
.eskdale-live .product-info__downloads{ list-style:none; margin:0; padding:0 0 20px; }
.eskdale-live .product-info__downloads li{ padding:4px 0; }
.eskdale-live .product-info__downloads a{ display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--teal); }
.eskdale-live .product-info__kind{ font-family:'Space Grotesk',sans-serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--slate); }

/* The footer's column titles are labels, not headings (#384): same look as
   the h4s they replaced. */
.eskdale-live .footer-grid .footer-heading{ line-height:inherit; font-family:'Space Grotesk',sans-serif; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(245,242,236,0.9); margin-bottom:18px; }

/* Questions and answers on the service, area and pricing pages (#386): native
   <details>, so they open with the keyboard and read without scripts. */
.eskdale-live .faq-list{ max-width:780px; border-top:1px solid var(--line); }
.eskdale-live .faq-list details{ border-bottom:1px solid var(--line); }
.eskdale-live .faq-list summary{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:14px 0; cursor:pointer; list-style:none; font-family:'Inter',sans-serif; font-weight:600; font-size:17px; color:var(--ink); }
.eskdale-live .faq-list summary::-webkit-details-marker{ display:none; }
.eskdale-live .faq-list summary::after{ content:"+"; flex:none; color:var(--teal); font-size:24px; line-height:1; }
.eskdale-live .faq-list details[open] summary::after{ content:"3"; }
.eskdale-live .faq-list summary:focus-visible{ outline:2px solid var(--teal); outline-offset:4px; }
.eskdale-live .faq-list details p{ margin:0 0 20px; max-width:680px; color:var(--slate); font-size:15px; line-height:1.7; }
/* A "from" price on the pricing page's cards. */
.eskdale-live .included-card .price-from{ display:block; margin:4px 0 10px; font-family:'Fraunces',serif; font-size:26px; font-weight:600; color:var(--ink); }

/* Links that stand alone as controls — a breadcrumb step, a card's title —
   get a thumb-sized target (#386). The padding is cancelled by an equal
   negative margin, so nothing moves; only the area that takes the tap grows. */
.eskdale-live .breadcrumb a,
.eskdale-live .included-card h4 a{ display:inline-block; padding:12px 0; margin:-12px 0; }

/* /services' hero slides (#395): only the first carries the page's H1; the
   others are H2s, sized and animated exactly as the H1s they replaced. */
.eskdale-live .page-hero .hero-slide h2{font-size:clamp(32px,5vw,54px); line-height:1.1; max-width:760px;}
.eskdale-live .hero-slide h2.kinetic span{display:inline-block; opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease;}
.eskdale-live .hero-slide.is-active h2.kinetic span{opacity:1; transform:translateY(0);}
.eskdale-live .hero-slide h2.kinetic span:nth-child(1){transition-delay:.05s;}
.eskdale-live .hero-slide h2.kinetic span:nth-child(2){transition-delay:.11s;}
.eskdale-live .hero-slide h2.kinetic span:nth-child(3){transition-delay:.17s;}
.eskdale-live .hero-slide h2.kinetic span:nth-child(4){transition-delay:.23s;}
.eskdale-live .hero-slide h2.kinetic span:nth-child(5){transition-delay:.29s;}
.eskdale-live .hero-slide h2.kinetic span:nth-child(6){transition-delay:.35s;}
@media(prefers-reduced-motion: reduce){ .eskdale-live .hero-slide h2.kinetic span{opacity:1; transform:none; transition:none;} }
