.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;}
.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);}
@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);}
.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;
}
.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{ white-space:nowrap; }
/* 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 and, when focused, opens leftwards
   over the links rather than pushing the phone number and the button off the
   end of the bar. */
@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{
    width:210px; padding-right:12px; cursor:text; background:var(--paper);
  }
  .eskdale-live .nav-links .nav-search input::placeholder{ color:transparent; }
}

/* 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; }
}
