/**
 * AuthorsAxis service book (home page "Our Services").
 * Ported from "Final Service portfolio.html"; every rule is scoped to .ax-book-wrap
 * so it can't collide with the theme (the form is .ax-book-form, not the theme's .ax-form).
 */
.ax-book-wrap{
  --ax-pw:clamp(170px,38vw,330px);
  --ax-navy:#0B1B33;
  --ax-navy-2:#122A4A;
  --ax-gold:#C9A96A;
  --ax-gold-2:#E0C389;
  --ax-blue:#1F4FB0;
  --ax-paper:#FFFFFF;
  --ax-paper-soft:#F7F8FA;
  --ax-ink:#0B1B33;
  --ax-soft:#5A6577;
  --ax-line:#E4E7EC;
  display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 12px;outline:none;
  font-family:"Instrument Sans",system-ui,sans-serif;color:inherit;box-sizing:border-box;
  background:transparent;
  line-height:normal; /* the original page had no base line-height; the theme's 1.5 overflows the pages */
}
/* Inside the two-column services section the book gets the right column, not the viewport. */
@media (min-width:1024px){ .ax-book-wrap{ --ax-pw:min(330px,30vw); } }
.ax-book-wrap *,.ax-book-wrap *::before,.ax-book-wrap *::after{box-sizing:border-box}
.ax-book-wrap:focus-visible{outline:3px solid var(--ax-gold);outline-offset:4px;border-radius:8px}

.ax-book-wrap .ax-scene{perspective:2000px;width:100%;display:flex;justify-content:center;padding:24px 0 40px}

/* ==== PORTRAIT BOOK, STRAIGHT, WITH SHADOW ==== */
.ax-book-wrap .ax-book{
  position:relative;
  width:calc(var(--ax-pw)*2);
  height:calc(var(--ax-pw)*var(--ax-ratio,1.42));
  transform-style:preserve-3d;
  transform:none;
  transition:transform 1s cubic-bezier(.5,.1,.2,1);
  cursor:pointer;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.55)) drop-shadow(0 10px 15px rgba(0,0,0,.35));
}
.ax-book-wrap .ax-book.is-closed{transform:translateX(calc(var(--ax-pw)/-2));}
.ax-book-wrap .ax-book::before{
  content:"";
  position:absolute;left:50%;top:100%;
  width:calc(var(--ax-pw)*1.9);height:34px;margin-top:8px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(0,0,0,.5),transparent 70%);
  filter:blur(10px);
}

.ax-book-wrap .ax-board,.ax-book-wrap .ax-base,.ax-book-wrap .ax-leaf{position:absolute;left:50%;top:0;width:var(--ax-pw);height:100%}
.ax-book-wrap .ax-board{
  inset:auto;left:50%;top:-6px;height:calc(100% + 12px);width:calc(var(--ax-pw) + 8px);
  background:linear-gradient(135deg,#0B1B33,#122A4A);
  border-radius:0 8px 8px 0;
  transform:translateZ(-6px);
  box-shadow:inset 0 0 0 1px rgba(201,169,106,.25);
}
.ax-book-wrap .ax-base{
  background:var(--ax-paper);
  border-radius:0 5px 5px 0;
  box-shadow:1px 0 0 #E4E7EC,2px 0 0 #EFF1F4,3px 0 0 #E4E7EC,2px 3px 0 #EFF1F4,2px 6px 0 #E4E7EC;
}
.ax-book-wrap .ax-base,.ax-book-wrap .ax-face{font-size:calc(var(--ax-pw)/16)}

.ax-book-wrap .ax-leaf{transform-origin:left center;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.55,.05,.25,1),z-index 0s .5s}
.ax-book-wrap .ax-leaf.is-flipped{transform:rotateY(-180deg)}
.ax-book-wrap .ax-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.ax-book-wrap .ax-front{
  background:var(--ax-paper);
  border-radius:0 5px 5px 0;
  background-image:linear-gradient(90deg,rgba(11,27,51,.06),transparent 9%);
}
.ax-book-wrap .ax-back{
  background:var(--ax-paper);
  border-radius:5px 0 0 5px;
  transform:rotateY(180deg);
  background-image:linear-gradient(270deg,rgba(11,27,51,.06),transparent 9%);
}

/* ==== COVER ==== */
.ax-book-wrap .ax-cover{
  inset:-6px -8px -6px 0;
  border-radius:0 8px 8px 0;
  color:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2em 1.4em;
  background-color:var(--ax-navy);
  background-image:
    radial-gradient(circle at 30% 20%, rgba(201,169,106,.18), transparent 55%),
    radial-gradient(circle at 75% 85%, rgba(31,79,176,.25), transparent 55%),
    linear-gradient(135deg, #0B1B33 0%, #122A4A 60%, #0B1B33 100%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  box-shadow:inset 0 0 0 1px rgba(201,169,106,.35);
}
.ax-book-wrap .ax-cover::after{
  content:"";
  position:absolute;inset:14px;
  border:1px solid rgba(201,169,106,.45);
  border-radius:4px;
  pointer-events:none;
}

.ax-book-wrap .ax-logo{width:11em;height:auto;max-width:80%;position:relative;z-index:1;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.6)) drop-shadow(0 0 4px rgba(201,169,106,.35));}

/* ==== ENDMARK PANEL ==== */
.ax-book-wrap .ax-endmark-panel{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0B1B33,#122A4A);
  border-radius:8px;
  padding:1.2em 1em;
  margin-bottom:.8em;
  box-shadow:0 4px 12px rgba(11,27,51,.35), inset 0 0 0 1px rgba(201,169,106,.35);
  position:relative;
}
.ax-book-wrap .ax-endmark-panel::after{
  content:"";position:absolute;inset:8px;border:1px solid rgba(201,169,106,.35);border-radius:4px;pointer-events:none;
}
.ax-book-wrap .ax-endmark{width:6em;height:auto;display:block;position:relative;z-index:1;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));}

/* ==== PAGE LAYOUT ==== */
.ax-book-wrap .ax-pg{
  padding:1.4em 1.6em 1.3em 1.8em;
  height:100%;
  display:flex;
  flex-direction:column;
  color:var(--ax-ink);
  justify-content:flex-start;
}
.ax-book-wrap .ax-pg h2{
  font:700 1.55em/1.1 "Cormorant Garamond",Georgia,serif;
  margin:.15em 0 .45em;
  color:var(--ax-navy);
  letter-spacing:.005em;
}
.ax-book-wrap .ax-pg p{margin:0;font-size:.88em;line-height:1.5;color:var(--ax-soft)}
.ax-book-wrap .ax-points{margin:.8em 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4em}
.ax-book-wrap .ax-points li{font-size:.84em;color:var(--ax-ink);padding-left:1.15em;position:relative;line-height:1.35}
.ax-book-wrap .ax-points li::before{
  content:"";position:absolute;left:0;top:.5em;width:.4em;height:.4em;
  background:var(--ax-gold);transform:rotate(45deg);border-radius:1px;
}

/* Learn more — sits at bottom of page */
.ax-book-wrap .ax-more{
  margin-top:auto;
  padding-top:.8em;
  font-size:.84em;
  font-weight:600;
  color:var(--ax-navy);
  text-decoration:none;
  align-self:flex-start;
  border-bottom:1.5px solid var(--ax-gold);
  padding-bottom:1px;
  transition:color .2s;
}
.ax-book-wrap .ax-more:hover{color:var(--ax-blue)}
.ax-book-wrap .ax-more:focus-visible,.ax-book-wrap .ax-toc button:focus-visible,.ax-book-wrap .ax-nav button:focus-visible{outline:3px solid var(--ax-gold);outline-offset:3px}

/* ==== SERVICE ICON ==== */
.ax-book-wrap .ax-ic-wrap{
  display:flex;justify-content:center;align-items:center;
  width:100%;margin:.15em 0 .5em;
}
.ax-book-wrap .ax-ic{width:3em;height:3em;display:block}

/* ==== TOC ==== */
.ax-book-wrap .ax-toc{list-style:none;margin:.5em 0 0;padding:0}
.ax-book-wrap .ax-toc button{
  all:unset;box-sizing:border-box;cursor:pointer;
  display:flex;justify-content:space-between;gap:.6em;width:100%;
  padding:.55em 0;border-bottom:1px solid var(--ax-line);
  font-size:.88em;color:var(--ax-ink);
  transition:color .2s;
}
.ax-book-wrap .ax-toc button:hover{color:var(--ax-blue)}
.ax-book-wrap .ax-toc button span:last-child{color:var(--ax-gold);font-weight:600}

/* ==== FORM ==== */
.ax-book-wrap .ax-book-form{display:flex;flex-direction:column;gap:.4em;margin-top:.3em;width:100%}
.ax-book-wrap .ax-book-form label{font-size:.7em;font-weight:600;color:var(--ax-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:-.2em}
.ax-book-wrap .ax-book-form input{
  width:100%;padding:.5em .8em;font:400 .82em/1.4 "Instrument Sans",system-ui,sans-serif;
  color:var(--ax-ink);background:#fff;border:1px solid var(--ax-line);border-radius:5px;
  transition:border-color .2s,box-shadow .2s;outline:none;
}
.ax-book-wrap .ax-book-form input:focus{border-color:var(--ax-blue);box-shadow:0 0 0 3px rgba(31,79,176,.15)}
.ax-book-wrap .ax-book-form input[aria-invalid="true"]{border-color:#C0392B}
.ax-book-wrap .ax-book-form .ax-submit{
  all:unset;box-sizing:border-box;cursor:pointer;text-align:center;
  margin-top:.35em;
  font:600 .84em "Instrument Sans",sans-serif;
  padding:.65em 1.2em;
  background:var(--ax-gold);
  color:var(--ax-navy);
  border-radius:4px;
  transition:background .2s, transform .1s, box-shadow .2s;
  box-shadow:0 1px 2px rgba(11,27,51,.15);
  align-self:flex-start;
}
.ax-book-wrap .ax-book-form .ax-submit:hover{background:var(--ax-gold-2);box-shadow:0 4px 12px rgba(201,169,106,.4)}
.ax-book-wrap .ax-book-form .ax-submit:active{transform:translateY(1px);}
.ax-book-wrap .ax-book-form .ax-submit:focus-visible{outline:3px solid var(--ax-gold);outline-offset:3px}
.ax-book-wrap .ax-book-form .ax-submit[disabled]{opacity:.6;cursor:default}
.ax-book-wrap .ax-book-form .ax-status{font-size:.72em;line-height:1.3;color:#C0392B}
.ax-book-wrap .ax-book-form .ax-status:empty{display:none}
.ax-book-wrap .ax-book-form .ax-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ax-book-wrap .ax-thanks{margin-top:.6em;padding:1em;border-radius:6px;background:var(--ax-paper-soft);border:1px solid var(--ax-line)}
.ax-book-wrap .ax-thanks strong{display:block;font:700 1.15em/1.2 "Cormorant Garamond",Georgia,serif;color:var(--ax-navy);margin-bottom:.3em}

/* ==== NAV (recoloured for the dark services section: the original navy-on-navy was invisible) ==== */
.ax-book-wrap .ax-nav{display:flex;align-items:center;gap:16px}
.ax-book-wrap .ax-nav button{
  width:44px;height:44px;border-radius:50%;
  border:1.5px solid rgba(201,169,106,.6);background:transparent;
  color:#F4EFE6;cursor:pointer;font-size:1.1rem;
  transition:background .2s, color .2s, border-color .2s;
}
.ax-book-wrap .ax-nav button:hover:not(:disabled){background:var(--ax-gold);border-color:var(--ax-gold);color:var(--ax-navy)}
.ax-book-wrap .ax-nav button:disabled{opacity:.3;cursor:default}
.ax-book-wrap .ax-dots{display:flex;gap:8px}
.ax-book-wrap .ax-dots i{width:8px;height:8px;border-radius:50%;background:#F4EFE6;opacity:.25;transition:.3s}
.ax-book-wrap .ax-dots i.is-on{opacity:1;width:22px;border-radius:4px;background:var(--ax-gold)}
.ax-book-wrap .ax-hint{font-size:.9rem;margin:0;opacity:.7;text-align:center;min-height:1.4em;color:#cfd6e0}
.ax-book-wrap .ax-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* The theme's custom cursor replaces the system pointer on fine-pointer screens. */
.has-cursor .ax-book-wrap .ax-book,.has-cursor .ax-book-wrap .ax-toc button,.has-cursor .ax-book-wrap .ax-nav button,.has-cursor .ax-book-wrap .ax-book-form .ax-submit{cursor:none}

@media(max-width:560px){
  /* Phones: the book can't get wider, so the pages get taller and the type a touch smaller. */
  .ax-book-wrap{--ax-pw:43vw;--ax-ratio:1.7}
  .ax-book-wrap .ax-base,.ax-book-wrap .ax-face{font-size:calc(var(--ax-pw)/14)}
  .ax-book-wrap .ax-pg{padding:1.1em 1.3em 1em 1.4em}
  .ax-book-wrap .ax-logo{width:9em}
  .ax-book-wrap .ax-endmark{width:4.5em}
  .ax-book-wrap .ax-ic{width:2.4em;height:2.4em}
  .ax-book-wrap .ax-book-form input{font-size:.76em;padding:.55em .65em}
  .ax-book-wrap .ax-book-form .ax-submit{font-size:.78em;padding:.65em 1em}
  .ax-book-wrap .ax-pg h2{font-size:1.35em;margin:.1em 0 .35em}
  .ax-book-wrap .ax-pg p{font-size:.82em}
  .ax-book-wrap .ax-points li{font-size:.78em}
}
.ax-book-wrap .ax-book.is-riffle .ax-leaf{transition-duration:.65s,0s;transition-delay:0s,.32s}
@media(prefers-reduced-motion:reduce){.ax-book-wrap .ax-book,.ax-book-wrap .ax-leaf{transition:none}}
