@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
*{box-sizing:border-box}
body{margin:0}

:root{
  --paper:#c3cdc8;
  --ink:#1f3038;
  --rule:#0e7c86;
  --mark:#762e5c;
  --card:#dde0d8;
  --measure:41rem;
}

html{
  background:var(--paper);
  color:var(--ink);
  -webkit-text-size-adjust:100%;
}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:Assistant,"Segoe UI",system-ui,sans-serif;
  font-weight:400;
  font-size:1.0625rem;
  line-height:1.62;
  padding:0 1.15rem 3rem;
  overflow-x:hidden;
}

p{margin:0 0 1.05rem}
a{color:inherit}

.aml-plain-link{
  color:var(--ink);
  text-decoration:underline;
  text-decoration-color:var(--rule);
  text-underline-offset:3px;
  text-decoration-thickness:2px;
  transition:background-color 180ms linear,text-decoration-color 180ms linear;
}
.aml-plain-link:hover{background:rgba(14,124,134,.13);text-decoration-color:var(--mark)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--mark);
  outline-offset:3px;
}

/* ---------- header band ---------- */

.aml-header-band{
  max-width:var(--measure);
  margin:0 auto;
  padding:2.5rem 0 1.5rem;
  position:relative;
}
.aml-header-band::after{
  content:"";
  display:block;
  height:3px;
  background:var(--rule);
  margin-top:1.4rem;
  animation:rule-draw 900ms cubic-bezier(.2,.7,.3,1) both;
}
@keyframes rule-draw{from{transform:scaleX(0);transform-origin:left center}to{transform:scaleX(1);transform-origin:left center}}

.aml-company-mark{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:1.72rem;
  line-height:1.18;
  letter-spacing:.005em;
  margin:0 0 .85rem;
}
.aml-header-statement{margin-bottom:.6rem;max-width:34rem}
.aml-header-enquiries{margin-bottom:1.4rem}

.aml-header-nav-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.42rem;
  font-size:.965rem;
}
.aml-header-nav-list li{
  padding-left:.85rem;
  border-left:2px solid rgba(31,48,56,.28);
  transition:border-left-color 180ms linear,padding-left 180ms linear;
}
.aml-header-nav-list li:hover,.aml-header-nav-list li:focus-within{
  border-left-color:var(--mark);
  padding-left:1.15rem;
}

/* ---------- document ---------- */

.aml-document{
  max-width:var(--measure);
  margin:0 auto;
}
.aml-document-section{
  padding:2.4rem 0 .4rem;
  scroll-margin-top:1rem;
}
.aml-section-heading{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:1.24rem;
  line-height:1.3;
  margin:0 0 1.1rem;
  padding-bottom:.5rem;
  border-bottom:2px solid rgba(14,124,134,.42);
}
.aml-section-lead{max-width:36rem}

/* ---------- the handover set ---------- */

.aml-handover-set{
  display:grid;
  grid-template-columns:1fr;
  gap:1.1rem;
  margin:1.6rem 0 .6rem;
}

.aml-handover-card{
  position:relative;
  background:var(--card);
  border:1px solid rgba(31,48,56,.24);
  padding:1.15rem 1.15rem 1rem;
  transition:transform 200ms cubic-bezier(.2,.7,.3,1),box-shadow 200ms linear;
  will-change:transform;
}
.aml-handover-card::after{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:26px;
  height:3px;
  background:var(--rule);
  transition:width 220ms cubic-bezier(.2,.7,.3,1);
}
.aml-handover-card:hover,.aml-handover-card:focus-within{
  transform:translateY(-6px);
  box-shadow:0 10px 0 -6px rgba(31,48,56,.22);
}
.aml-handover-card:hover::after,.aml-handover-card:focus-within::after{width:78px}

.aml-handover-card-turn{
  position:relative;
  min-height:15rem;
  transform-style:preserve-3d;
}
.aml-handover-card-front,.aml-handover-card-back{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.aml-handover-card-back{
  visibility:visible;
  position:absolute;
  inset:0;
  transform:rotateY(180deg);
  overflow:auto;
}
.aml-handover-card-heading{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:1.06rem;
  line-height:1.25;
  margin:0 0 .35rem;
}
.aml-handover-card-role{
  font-size:.8rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--mark);
  margin:0 0 .6rem;
}
.aml-handover-card-back .aml-handover-card-role{color:var(--rule)}
.aml-handover-card p:last-child{margin-bottom:0}

.aml-handover-card-control{
  font:inherit;
  font-size:.88rem;
  margin-top:1.05rem;
  padding:.42rem .8rem;
  color:var(--ink);
  background:transparent;
  border:2px solid var(--rule);
  cursor:pointer;
  transition:background-color 180ms linear,color 180ms linear;
}
.aml-handover-card-control:hover{background:var(--rule);color:var(--card)}
.aml-control-context{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}

/* ---------- session time budget ---------- */

.aml-session-budget{margin:1.7rem 0 .5rem}

.aml-budget-fields{
  border:1px solid rgba(31,48,56,.3);
  padding:1rem 1.05rem 1.15rem;
  margin:0 0 1.5rem;
  background:var(--card);
}
.aml-budget-legend{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:.98rem;
  padding:0 .45rem;
}
.aml-budget-field{
  display:block;
  font-size:.92rem;
  margin-bottom:.85rem;
}
.aml-budget-field:last-child{margin-bottom:0}
.aml-budget-input{
  display:block;
  font:inherit;
  font-size:1rem;
  width:100%;
  max-width:9rem;
  margin-top:.28rem;
  padding:.4rem .5rem;
  color:var(--ink);
  background:var(--paper);
  border:2px solid rgba(31,48,56,.35);
  transition:border-color 160ms linear;
}
.aml-budget-input:hover{border-color:var(--rule)}

.aml-budget-ledger-frame{overflow-x:auto}
.aml-budget-ledger{
  width:100%;
  border-collapse:collapse;
  font-size:.94rem;
}
.aml-budget-caption{
  text-align:left;
  font-size:.85rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mark);
  padding-bottom:.5rem;
}
.aml-budget-ledger th,.aml-budget-ledger td{
  text-align:left;
  padding:.42rem .55rem;
  border-bottom:1px solid rgba(31,48,56,.2);
  font-weight:400;
}
.aml-budget-ledger thead th{
  font-size:.78rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  border-bottom:2px solid var(--rule);
}
.aml-numeric-column{text-align:right;font-variant-numeric:tabular-nums}
.aml-budget-line th{white-space:nowrap}
.aml-budget-remainder th,.aml-budget-remainder td{
  border-top:2px solid var(--rule);
  border-bottom:none;
  padding-top:.7rem;
}
.aml-budget-remainder-label{font-family:Aleo,Georgia,serif;font-weight:600}
.aml-budget-remainder-figure{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:1.16rem;
  color:var(--mark);
}
.aml-budget-footnote{
  margin-top:1.1rem;
  font-size:.86rem;
  padding-left:.8rem;
  border-left:3px solid rgba(118,46,92,.5);
}

/* ---------- enquiries ---------- */

.aml-enquiry-items{
  margin:0 0 1.2rem;
  padding-left:1.35rem;
}
.aml-enquiry-items li{margin-bottom:.7rem}
.aml-enquiry-item-head{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
}

/* ---------- closing band ---------- */

.aml-closing-band{
  max-width:var(--measure);
  margin:2.8rem auto 0;
  padding-top:1.5rem;
  border-top:3px solid var(--rule);
  font-size:.94rem;
}
.aml-closing-name{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:1.04rem;
  margin-bottom:.7rem;
}
.aml-closing-address{
  font-style:normal;
  margin-bottom:.9rem;
  line-height:1.5;
}
.aml-closing-registration,.aml-closing-duns,.aml-closing-email{margin-bottom:.5rem}
.aml-closing-notice{margin:1.1rem 0 0}

/* ---------- the boundary table on the notice page ---------- */

.aml-boundary-page{
  max-width:47rem;
  margin:0 auto;
  padding:2.6rem 0 2rem;
}
.aml-boundary-sentence{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:1.14rem;
  line-height:1.45;
  margin:0 0 1.8rem;
  padding-bottom:1rem;
  border-bottom:3px solid var(--rule);
}
.aml-boundary-table{
  width:100%;
  border-collapse:collapse;
  font-size:.94rem;
}
.aml-boundary-table th,.aml-boundary-table td{
  text-align:left;
  vertical-align:top;
  padding:.75rem .7rem;
  border-bottom:1px solid rgba(31,48,56,.22);
  font-weight:400;
}
.aml-boundary-table thead th{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  font-size:.9rem;
  border-bottom:2px solid var(--rule);
  background:var(--card);
}
.aml-boundary-table tbody th{
  font-family:Aleo,Georgia,serif;
  font-weight:600;
  width:26%;
}
.aml-boundary-return{
  margin:2rem 0 0;
  padding-top:1.2rem;
  border-top:3px solid var(--rule);
  font-size:.95rem;
}

/* ---------- wider viewports ---------- */

@media (min-width:40rem){
  body{padding:0 2rem 4rem;font-size:1.09rem}
  .aml-company-mark{font-size:2.15rem}
  .aml-section-heading{font-size:1.42rem}
  .aml-header-nav-list{
    flex-direction:row;
    flex-wrap:wrap;
    gap:.5rem 1.4rem;
  }
  .aml-budget-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.9rem 1.4rem;
  }
  .aml-budget-legend{grid-column:1 / -1}
  .aml-handover-card-turn{min-height:9rem}
  .aml-budget-field{margin-bottom:0}
}

@media (min-width:56rem){
  .aml-header-band,.aml-document,.aml-closing-band{max-width:52rem}
  .aml-handover-set{grid-template-columns:1fr 1fr;gap:1.35rem}
  .aml-handover-card-turn{min-height:12.5rem}
  .aml-document-section{padding-top:3.1rem}
  .aml-boundary-table th,.aml-boundary-table td{padding:.9rem 1rem}
}
