/* Adriatic Horizon SFDR — styles scoped under .ahs-sfdr-wrap so they never leak into the rest of the WordPress theme */

.ahs-sfdr-wrap{
  --navy:#0b2f5e;
  --navy-deep:#082044;
  --navy-soft:#e8eef7;
  --paper:#ffffff;
  --panel:#ffffff;
  --text:#152238;
  --text-muted:#51617a;
  --text-soft:#8695ac;
  --line:#dde4ef;
  --line-strong:#c3cee2;
  --on-navy:#ffffff;
  --on-navy-muted:#aebedd;
}
/* Dark-mode auto-switching intentionally removed: the page always uses
   the light palette above, regardless of the visitor's system/browser
   theme setting. */

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,400&family=Roboto+Mono:wght@400;500&display=swap');

.ahs-sfdr-wrap *{box-sizing:border-box;}
.ahs-sfdr-wrap{
  background:var(--paper);
  color:var(--text);
  font-family:'Roboto', -apple-system, Helvetica, Arial, sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  width:100vw;
  max-width:100vw;
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  overflow-x:hidden;
}

/* Neutralise any padding Elementor's section/column/widget wrapper adds
   around the shortcode, so the design reaches the true edge of the screen
   instead of leaving a white border. */
.elementor-widget-container:has(> .ahs-sfdr-wrap),
.elementor-element:has(> .elementor-widget-container > .ahs-sfdr-wrap){
  padding:0 !important;
  margin:0 !important;
  max-width:none !important;
}
.ahs-sfdr-wrap ::selection{ background:var(--navy-soft); color:var(--navy-deep); }
.ahs-sfdr-wrap a{ color:inherit; }

@media (prefers-reduced-motion: reduce){
  .ahs-sfdr-wrap *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

.ahs-sfdr-wrap .mono{ font-family:'Roboto', sans-serif; letter-spacing:.06em; }

@keyframes ahsRiseIn{
  from{ opacity:0; transform:translateY(16px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes ahsRing{
  from{ stroke-dashoffset:126; }
  to{ stroke-dashoffset:0; }
}
@keyframes ahsFloatGlow{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(-14px,10px) scale(1.06); }
}
@keyframes ahsFloatGlow2{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(18px,-14px) scale(1.08); }
}
@keyframes ahsGradientShift{
  0%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}
@keyframes ahsShimmer{
  0%{ transform:translateX(-120%); }
  100%{ transform:translateX(120%); }
}

/* ---------- Masthead ---------- */
.ahs-sfdr-wrap header.mast{
  background:linear-gradient(120deg, var(--navy-deep), var(--navy) 45%, #123a75 65%, var(--navy-deep) 100%);
  background-size:260% 260%;
  animation:ahsGradientShift 16s ease-in-out infinite;
  color:var(--on-navy);
  padding:88px 24px 64px;
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:center;
  text-align:center;
}
.ahs-sfdr-wrap header.mast::before{
  content:"";
  position:absolute;
  top:-140px; left:-100px;
  width:440px; height:440px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(120,170,255,.20), rgba(120,170,255,0) 70%);
  animation:ahsFloatGlow 13s ease-in-out infinite;
  pointer-events:none;
}
.ahs-sfdr-wrap header.mast::after{
  content:"";
  position:absolute;
  bottom:-160px; right:-110px;
  width:480px; height:480px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.10), rgba(255,255,255,0) 70%);
  animation:ahsFloatGlow2 15s ease-in-out infinite;
  pointer-events:none;
}
.ahs-sfdr-wrap .mast-inner{
  max-width:1060px;
  margin:0 auto;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ahs-sfdr-wrap .mast-title{
  font-weight:700;
  font-size:clamp(32px,5.5vw,50px);
  line-height:1.1;
  letter-spacing:-.01em;
  margin:0 0 18px;
  text-wrap:balance;
  color:var(--on-navy);
  opacity:0;
  position:relative;
  background:linear-gradient(100deg, #ffffff 30%, #cfe0ff 45%, #ffffff 60%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:ahsRiseIn .7s ease-out .2s forwards, ahsGradientShift 6s ease-in-out infinite 1s;
}
.ahs-sfdr-wrap .mast-sub{
  max-width:56ch;
  font-size:16px;
  font-weight:300;
  line-height:1.65;
  color:var(--on-navy-muted);
  margin:0 0 32px;
  opacity:0;
  animation:ahsRiseIn .7s ease-out .3s forwards;
}
.ahs-sfdr-wrap .mast-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 20px;
  margin-bottom:30px;
  border-radius:999px;
  font-family:'Roboto', sans-serif;
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--navy-deep);
  background:linear-gradient(120deg, #ffffff, #dbe6f7, #ffffff);
  background-size:220% 220%;
  box-shadow:0 10px 26px -10px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.6);
  opacity:0;
  animation:ahsRiseIn .7s ease-out .38s forwards;
  transition:transform .3s ease, box-shadow .3s ease, background-position .6s ease;
  position:relative;
  overflow:hidden;
  cursor:pointer;
}
.ahs-sfdr-wrap .mast-cta::after{
  content:"";
  position:absolute;
  top:0; left:-60%;
  width:40%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(11,47,94,.18), transparent);
  transform:skewX(-20deg);
}
.ahs-sfdr-wrap .mast-cta:hover{
  transform:translateY(-3px);
  background-position:100% 50%;
  box-shadow:0 16px 34px -10px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.7);
}
.ahs-sfdr-wrap .mast-cta:hover::after{ animation:ahsShimmer 1s ease forwards; }
.ahs-sfdr-wrap .mast-meta{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  row-gap:14px;
  padding-top:28px;
  position:relative;
  opacity:0;
  animation:ahsRiseIn .7s ease-out .4s forwards;
  width:100%;
}
.ahs-sfdr-wrap .mast-meta div{
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:4px 16px;
  position:relative;
}
.ahs-sfdr-wrap .mast-meta div + div::before{
  content:"";
  position:absolute;
  left:0; top:50%;
  transform:translateY(-50%);
  width:1px; height:26px;
  background:rgba(255,255,255,.22);
}
.ahs-sfdr-wrap .mast-meta .k{
  font-family:'Roboto', sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--on-navy-muted);
  margin-bottom:6px;
}
.ahs-sfdr-wrap .mast-meta .v{
  font-size:12.5px;
  font-weight:500;
  line-height:1.4;
  color:var(--on-navy);
  white-space:nowrap;
  transition:color .25s ease;
}
.ahs-sfdr-wrap .mast-meta div:hover .v{ color:#cfe0ff; }

/* ---------- Layout (centered) ---------- */
.ahs-sfdr-wrap .layout{
  max-width:960px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.ahs-sfdr-wrap nav.toc{
  max-width:1320px;
  margin:0 auto;
  padding:36px 24px 8px;
  font-family:'Roboto', sans-serif;
  font-size:12.5px;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  box-sizing:border-box;
}
.ahs-sfdr-wrap nav.toc .toc-label{
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-soft);
  margin-bottom:14px;
}
.ahs-sfdr-wrap nav.toc ol{
  list-style:none;
  margin:0; padding:0;
  display:flex; flex-direction:row; flex-wrap:nowrap;
  justify-content:center;
  gap:8px;
  max-width:100%;
}
@media (max-width:1000px){
  .ahs-sfdr-wrap nav.toc ol{ flex-wrap:wrap; }
}
.ahs-sfdr-wrap nav.toc a{
  display:block;
  white-space:nowrap;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid var(--line);
  text-decoration:none;
  color:var(--text-muted);
  letter-spacing:.02em;
  background:var(--panel);
  background-size:200% 200%;
  transition:color .25s ease, border-color .25s ease, transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.ahs-sfdr-wrap nav.toc a:hover{
  color:#fff;
  border-color:var(--navy);
  background:linear-gradient(120deg, var(--navy), #123a75, var(--navy));
  background-size:200% 200%;
  animation:ahsGradientShift 3s ease infinite;
  transform:translateY(-2px);
  box-shadow:0 6px 16px -8px rgba(11,47,94,.5);
}
.ahs-sfdr-wrap nav.toc a .num{ color:var(--text-soft); margin-right:8px; }
.ahs-sfdr-wrap nav.toc a:hover .num{ color:var(--on-navy-muted); }

.ahs-sfdr-wrap main{ padding:36px 0 100px; width:100%; display:flex; flex-direction:column; align-items:center; }

.ahs-sfdr-wrap section.article{
  width:100%;
  max-width:80ch;
  padding-bottom:44px;
  margin-bottom:44px;
  border-bottom:1px solid var(--line);
  scroll-margin-top:20px;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ahs-sfdr-wrap section.article.in-view{
  opacity:1;
  transform:translateY(0);
}
.ahs-sfdr-wrap section.article:last-of-type{ border-bottom:none; }

.ahs-sfdr-wrap .article-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  position:relative;
}
.ahs-sfdr-wrap .article-num{
  font-family:'Roboto', sans-serif;
  font-size:13px;
  font-weight:500;
  color:var(--navy);
  white-space:nowrap;
}
.ahs-sfdr-wrap .article-head h2{
  font-weight:700;
  font-size:22px;
  line-height:1.3;
  margin:0;
  text-wrap:balance;
  color:var(--text);
}
.ahs-sfdr-wrap .article-head::after{
  content:"";
  position:absolute;
  left:50%; bottom:-14px;
  width:40px; height:3px;
  margin-left:-20px;
  background:linear-gradient(90deg, var(--navy), #4d8fe0, var(--navy));
  background-size:200% 100%;
  transform-origin:center;
  transform:scaleX(0);
  transition:transform .6s ease .15s;
}
.ahs-sfdr-wrap section.article.in-view .article-head::after{
  transform:scaleX(1);
  animation:ahsGradientShift 3s ease-in-out infinite .6s;
}

.ahs-sfdr-wrap .article p{ margin:0 0 16px; color:var(--text); max-width:72ch; }
.ahs-sfdr-wrap .article p.lead{ color:var(--text-muted); }
.ahs-sfdr-wrap .article h3{
  font-weight:700;
  font-size:15px;
  letter-spacing:.01em;
  margin:26px 0 10px;
  color:var(--text);
}

.ahs-sfdr-wrap .article ul{ margin:0 0 16px; padding-left:0; list-style:none; max-width:62ch; width:100%; }
.ahs-sfdr-wrap .article ul li{
  position:relative;
  padding-left:22px;
  margin-bottom:9px;
  color:var(--text);
  text-align:left;
}
.ahs-sfdr-wrap .article ul li::before{
  content:"";
  position:absolute;
  left:0; top:9px;
  width:6px; height:6px;
  border-radius:50%;
  background:var(--navy);
}

.ahs-sfdr-wrap ol.steps{
  margin:18px auto 16px;
  padding:0;
  list-style:none;
  max-width:62ch;
  width:100%;
  counter-reset:step;
}
.ahs-sfdr-wrap ol.steps li{
  counter-increment:step;
  position:relative;
  padding:0 0 18px 40px;
  border-left:1px solid var(--line);
  margin-left:10px;
  text-align:left;
}
.ahs-sfdr-wrap ol.steps li:last-child{ border-left-color:transparent; padding-bottom:0; }
.ahs-sfdr-wrap ol.steps li::before{
  content:counter(step);
  position:absolute;
  left:-13px; top:-1px;
  width:24px; height:24px;
  border-radius:50%;
  background:var(--navy);
  border:1px solid var(--navy);
  color:#fff;
  font-family:'Roboto', sans-serif;
  font-size:11px;
  font-weight:500;
  display:flex; align-items:center; justify-content:center;
  transition:transform .25s ease;
}
.ahs-sfdr-wrap ol.steps li:hover::before{ transform:scale(1.12); }

.ahs-sfdr-wrap .taxo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  background:transparent;
  margin:20px 0 20px;
  max-width:80ch;
  width:100%;
}
@media (max-width:600px){
  .ahs-sfdr-wrap .taxo-grid{ grid-template-columns:1fr; }
}
.ahs-sfdr-wrap .taxo-cell{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px 18px 24px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  transition:background .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ahs-sfdr-wrap .taxo-cell:hover{
  background:var(--navy-soft);
  border-color:var(--navy-soft);
  transform:translateY(-4px);
  box-shadow:0 14px 28px -16px rgba(11,47,94,.35);
}
.ahs-sfdr-wrap .taxo-icon{
  width:34px; height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  border-radius:50%;
  background:var(--navy-soft);
  color:var(--navy);
  transition:transform .3s ease, background .3s ease;
}
.ahs-sfdr-wrap .taxo-cell:hover .taxo-icon{ transform:scale(1.1); background:#fff; }
.ahs-sfdr-wrap .taxo-icon svg{ width:17px; height:17px; }
.ahs-sfdr-wrap .taxo-cell .taxo-k{
  font-family:'Roboto', sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:8px;
  font-weight:500;
}
.ahs-sfdr-wrap .taxo-cell p{ font-size:14px; color:var(--text-muted); margin:0; max-width:none; }

.ahs-sfdr-wrap .callout{
  background:var(--navy-soft);
  border:1px solid var(--line);
  border-left:3px solid var(--navy);
  padding:18px 22px;
  margin:20px auto;
  max-width:64ch;
  width:100%;
  border-radius:0 6px 6px 0;
  text-align:left;
}
.ahs-sfdr-wrap .callout .callout-label{
  font-family:'Roboto', sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:8px;
  font-weight:500;
}
.ahs-sfdr-wrap .callout p{ margin:0; font-size:14.5px; color:var(--text-muted); max-width:none; }

.ahs-sfdr-wrap .status-row{ display:flex; align-items:center; justify-content:center; gap:10px; margin:0 0 20px; width:100%; }
.ahs-sfdr-wrap .status-pill{
  font-family:'Roboto', sans-serif;
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 12px;
  border:1px solid var(--navy);
  color:var(--navy);
  background:var(--navy-soft);
  white-space:nowrap;
  border-radius:999px;
  font-weight:500;
  transition:background .3s ease, color .3s ease, box-shadow .3s ease;
}
.ahs-sfdr-wrap .status-pill:hover{
  background:linear-gradient(120deg, var(--navy), #123a75, var(--navy));
  background-size:200% 200%;
  animation:ahsGradientShift 3s ease infinite;
  color:#fff;
  box-shadow:0 6px 16px -8px rgba(11,47,94,.5);
}

.ahs-sfdr-wrap footer.legal{
  border-top:1px solid var(--line);
  background:linear-gradient(120deg, var(--navy-deep), var(--navy) 45%, #123a75 65%, var(--navy-deep) 100%);
  background-size:260% 260%;
  animation:ahsGradientShift 18s ease-in-out infinite;
  color:var(--on-navy-muted);
  padding:44px 24px 52px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.ahs-sfdr-wrap footer.legal::before{
  content:"";
  position:absolute;
  top:-120px; left:50%;
  transform:translateX(-50%);
  width:420px; height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(120,170,255,.16), rgba(120,170,255,0) 70%);
  animation:ahsFloatGlow 14s ease-in-out infinite;
  pointer-events:none;
}
.ahs-sfdr-wrap .legal-inner{
  max-width:640px;
  margin:0 auto;
  font-family:'Roboto', sans-serif;
  font-size:11.5px;
  line-height:1.9;
  letter-spacing:.01em;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.ahs-sfdr-wrap .legal-inner .entity{
  color:#fff;
  margin-bottom:4px;
  font-weight:500;
  font-size:12.5px;
  letter-spacing:.08em;
}

/* ---------- Plain document page ---------- */
.ahs-sfdr-wrap #page-plain{
  display:none;
  background:#ffffff;
  color:#000000;
  min-height:100vh;
}
.ahs-sfdr-wrap #page-plain.active{ display:block; }
.ahs-sfdr-wrap #page-home.hidden-page{ display:none; }
.ahs-sfdr-wrap .plain-back{
  display:block;
  padding:16px 24px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:13px;
  color:#0b2f5e;
  text-decoration:underline;
  cursor:pointer;
}
.ahs-sfdr-wrap .plain-doc{
  max-width:800px;
  margin:0 auto;
  padding:20px 40px 80px;
  font-family:"Times New Roman", Times, serif;
  font-size:12pt;
  line-height:1.5;
  color:#000000;
}
.ahs-sfdr-wrap .plain-doc h1{
  font-size:14pt;
  font-weight:bold;
  margin:0 0 12pt;
}
.ahs-sfdr-wrap .plain-doc h2{
  font-size:12pt;
  font-weight:bold;
  margin:12pt 0 6pt;
}
.ahs-sfdr-wrap .plain-doc .bullet{
  margin:6pt 0 6pt 24pt;
  font-weight:bold;
}
.ahs-sfdr-wrap .plain-doc p{
  margin:0 0 10pt;
}
.ahs-sfdr-wrap .plain-doc ul{
  margin:6pt 0 10pt 24pt;
  padding:0;
}
.ahs-sfdr-wrap .plain-doc li{
  margin:0 0 4pt;
}
