/* ============================================
   RightGuard KZ — Legal Services Website
   Theme: Protection / Shield / Fortress
   Colors: #14532D (dark green) + #C0C0C0 (silver)
   Font: Source Serif 4
   ============================================ */

/* --- Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Source Serif 4',Georgia,serif;color:#1a1a1a;background:#fafafa;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:#14532D;text-decoration:none;transition:color .3s}
a:hover{color:#0d3b1f}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit}
input,textarea,select{font-family:inherit;font-size:1rem}

/* --- Variables --- */
:root{
  --forest:#14532D;
  --forest-dark:#0d3b1f;
  --forest-light:#1a6b3a;
  --silver:#C0C0C0;
  --silver-light:#E5E7EB;
  --silver-pale:#F3F4F6;
  --gold:#B8860B;
  --text:#1a1a1a;
  --text-light:#4b5563;
  --white:#ffffff;
  --shadow:0 4px 20px rgba(0,0,0,.08);
  --shadow-lg:0 8px 40px rgba(0,0,0,.12);
  --radius:8px;
  --radius-lg:16px;
  --transition:all .3s ease;
}

/* --- Typography --- */
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--forest)}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.6rem,4vw,2.4rem)}
h3{font-size:clamp(1.2rem,3vw,1.6rem)}
h4{font-size:1.15rem}
p{margin-bottom:1rem}

/* --- Layout Container --- */
.citadel-wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* --- Utility --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}

/* ============================================
   HEADER — Fortress Gate
   ============================================ */
.fortress-gate{
  background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);
  position:sticky;top:0;z-index:1000;
  border-bottom:3px solid var(--silver);
}
.fortress-gate__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;max-width:1200px;margin:0 auto;
}
.fortress-gate__brand{display:flex;align-items:center;gap:10px;color:var(--white);font-size:1.3rem;font-weight:700;letter-spacing:.5px}
.fortress-gate__brand iconify-icon{font-size:1.8rem;color:var(--silver)}
.fortress-gate__nav{display:flex;gap:6px}
.fortress-gate__nav a{
  color:var(--silver-light);padding:8px 14px;border-radius:var(--radius);
  font-size:.92rem;font-weight:500;transition:var(--transition);
}
.fortress-gate__nav a:hover,
.fortress-gate__nav a.active{background:rgba(255,255,255,.12);color:var(--white)}

/* Hamburger */
.fortress-gate__hamburger{
  display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;
}
.fortress-gate__hamburger span{display:block;width:26px;height:2.5px;background:var(--silver-light);border-radius:2px;transition:var(--transition)}

/* Mobile nav */
@media(max-width:900px){
  .fortress-gate__hamburger{display:flex}
  .fortress-gate__nav{
    display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--forest-dark);padding:10px 20px;border-bottom:3px solid var(--silver);
  }
  .fortress-gate__nav.open{display:flex}
  .fortress-gate__nav a{padding:12px 16px;border-radius:0;border-bottom:1px solid rgba(255,255,255,.06)}
}

/* --- Breadcrumbs --- */
.path-trail{background:var(--silver-pale);padding:10px 0;font-size:.85rem;border-bottom:1px solid var(--silver-light)}
.path-trail__list{display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:0 20px}
.path-trail__list li::after{content:">";margin-left:6px;color:var(--silver)}
.path-trail__list li:last-child::after{content:""}
.path-trail__list a{color:var(--text-light)}
.path-trail__list a:hover{color:var(--forest)}
.path-trail__list li:last-child{color:var(--forest);font-weight:600}

/* ============================================
   SHIELD HERO — Main Landing Banner
   ============================================ */
.shield-banner{
  background:linear-gradient(160deg,var(--forest) 0%,#0a3d20 60%,#072a16 100%);
  color:var(--white);padding:80px 0 70px;position:relative;overflow:hidden;
}
.shield-banner::before{
  content:"";position:absolute;top:-60px;right:-60px;width:400px;height:400px;
  background:radial-gradient(circle,rgba(192,192,192,.06) 0%,transparent 70%);
  border-radius:50%;
}
.shield-banner::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--silver),var(--gold),var(--silver));
}
.shield-banner__body{max-width:1200px;margin:0 auto;padding:0 20px;position:relative;z-index:1}
.shield-banner__label{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(192,192,192,.12);border:1px solid rgba(192,192,192,.25);
  padding:6px 16px;border-radius:30px;font-size:.85rem;color:var(--silver);margin-bottom:24px;
}
.shield-banner__title{font-size:clamp(2.2rem,5.5vw,3.5rem);color:var(--white);margin-bottom:20px;max-width:700px}
.shield-banner__desc{font-size:1.15rem;color:rgba(255,255,255,.8);max-width:600px;margin-bottom:32px;line-height:1.8}
.shield-banner__actions{display:flex;gap:14px;flex-wrap:wrap}

/* Buttons */
.btn-shield{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 30px;border-radius:var(--radius);font-size:1rem;font-weight:600;
  transition:var(--transition);border:2px solid transparent;
}
.btn-shield--primary{background:var(--silver);color:var(--forest);border-color:var(--silver)}
.btn-shield--primary:hover{background:var(--white);color:var(--forest-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-shield--outline{background:transparent;color:var(--silver);border-color:rgba(192,192,192,.4)}
.btn-shield--outline:hover{border-color:var(--silver);background:rgba(192,192,192,.08)}
.btn-shield--dark{background:var(--forest);color:var(--white);border-color:var(--forest)}
.btn-shield--dark:hover{background:var(--forest-dark);transform:translateY(-2px)}

/* ============================================
   STRONGHOLD SECTIONS
   ============================================ */
.stronghold-section{padding:70px 0}
.stronghold-section--shaded{background:var(--silver-pale)}
.stronghold-section--dark{background:var(--forest);color:var(--white)}
.stronghold-section--dark h2,
.stronghold-section--dark h3{color:var(--white)}
.stronghold-section__head{text-align:center;margin-bottom:50px}
.stronghold-section__head h2{margin-bottom:12px}
.stronghold-section__head p{color:var(--text-light);font-size:1.05rem;max-width:600px;margin:0 auto}
.stronghold-section--dark .stronghold-section__head p{color:rgba(255,255,255,.7)}

/* ============================================
   GUARDIAN GRID — Service/Feature Cards
   ============================================ */
.guardian-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;
}
@media(max-width:400px){
  .guardian-grid{grid-template-columns:1fr}
}

/* Shield Card */
.shield-card{
  background:var(--white);border:1px solid var(--silver-light);border-radius:var(--radius-lg);
  padding:32px 28px;transition:var(--transition);position:relative;overflow:hidden;
}
.shield-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--forest),var(--forest-light));
  transform:scaleX(0);transform-origin:left;transition:transform .4s ease;
}
.shield-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.shield-card:hover::before{transform:scaleX(1)}
.shield-card__icon{
  width:56px;height:56px;border-radius:12px;
  background:linear-gradient(135deg,var(--forest),var(--forest-light));
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.shield-card__icon iconify-icon{font-size:1.6rem;color:var(--white)}
.shield-card__title{font-size:1.2rem;margin-bottom:10px}
.shield-card__text{color:var(--text-light);font-size:.95rem;line-height:1.7}
.shield-card__link{
  display:inline-flex;align-items:center;gap:6px;margin-top:16px;
  color:var(--forest);font-weight:600;font-size:.92rem;
}
.shield-card__link:hover{gap:10px}

/* ============================================
   BASTION BLOCK — CTA Sections
   ============================================ */
.bastion-block{
  background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);
  color:var(--white);padding:60px 0;text-align:center;position:relative;
}
.bastion-block::before{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5 L55 30 L30 55 L5 30Z' fill='none' stroke='rgba(192,192,192,0.03)' stroke-width='1'/%3E%3C/svg%3E");
}
.bastion-block__inner{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:0 20px}
.bastion-block h2{color:var(--white);margin-bottom:16px}
.bastion-block p{color:rgba(255,255,255,.8);margin-bottom:28px;font-size:1.05rem}

/* ============================================
   ARMOR TIER — Pricing Cards
   ============================================ */
.armor-tier-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;
}
.armor-tier{
  background:var(--white);border:2px solid var(--silver-light);border-radius:var(--radius-lg);
  padding:36px 28px;text-align:center;transition:var(--transition);position:relative;
}
.armor-tier--featured{border-color:var(--forest);box-shadow:var(--shadow-lg)}
.armor-tier--featured::after{
  content:"Популярный";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--forest);color:var(--white);padding:4px 20px;border-radius:20px;font-size:.82rem;font-weight:600;
}
.armor-tier:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.armor-tier__name{font-size:1.15rem;margin-bottom:8px;color:var(--forest)}
.armor-tier__price{font-size:2.4rem;font-weight:700;color:var(--forest);margin-bottom:6px}
.armor-tier__price span{font-size:1rem;font-weight:400;color:var(--text-light)}
.armor-tier__desc{color:var(--text-light);font-size:.9rem;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--silver-light)}
.armor-tier__features{text-align:left;margin-bottom:28px}
.armor-tier__features li{
  padding:8px 0;display:flex;align-items:flex-start;gap:10px;
  font-size:.93rem;color:var(--text);border-bottom:1px solid var(--silver-pale);
}
.armor-tier__features li iconify-icon{color:var(--forest);font-size:1.1rem;margin-top:3px;flex-shrink:0}

/* ============================================
   RAMPART ACCORDION — FAQ
   ============================================ */
.rampart-accordion{max-width:820px;margin:0 auto}
.rampart-accordion__item{border:1px solid var(--silver-light);border-radius:var(--radius);margin-bottom:10px;overflow:hidden;background:var(--white)}
.rampart-accordion__trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;background:none;border:none;font-size:1rem;font-weight:600;
  color:var(--forest);text-align:left;transition:var(--transition);gap:12px;
}
.rampart-accordion__trigger:hover{background:var(--silver-pale)}
.rampart-accordion__trigger iconify-icon{font-size:1.3rem;transition:transform .3s;flex-shrink:0}
.rampart-accordion__item.open .rampart-accordion__trigger iconify-icon{transform:rotate(180deg)}
.rampart-accordion__body{
  max-height:0;overflow:hidden;transition:max-height .4s ease;
}
.rampart-accordion__item.open .rampart-accordion__body{max-height:600px}
.rampart-accordion__content{padding:0 22px 20px;color:var(--text-light);font-size:.95rem;line-height:1.8}

/* ============================================
   WATCHTOWER — Team Cards
   ============================================ */
.watchtower-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.watchtower-card{
  background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--silver-light);
  overflow:hidden;transition:var(--transition);
}
.watchtower-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.watchtower-card__top{
  background:linear-gradient(135deg,var(--forest),var(--forest-light));
  padding:28px;color:var(--white);position:relative;
}
.watchtower-card__top::after{
  content:"";position:absolute;bottom:-1px;left:0;right:0;height:20px;
  background:var(--white);clip-path:polygon(0 100%,100% 100%,100% 0,50% 100%,0 0);
}
.watchtower-card__avatar{
  width:70px;height:70px;border-radius:50%;
  background:rgba(255,255,255,.15);border:3px solid var(--silver);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.watchtower-card__avatar iconify-icon{font-size:2rem;color:var(--white)}
.watchtower-card__name{font-size:1.2rem;color:var(--white);margin-bottom:4px}
.watchtower-card__role{color:rgba(255,255,255,.75);font-size:.9rem}
.watchtower-card__body{padding:24px 28px}
.watchtower-card__exp{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--silver-pale);padding:4px 14px;border-radius:20px;
  font-size:.82rem;color:var(--forest);font-weight:600;margin-bottom:14px;
}
.watchtower-card__desc{color:var(--text-light);font-size:.93rem;line-height:1.7}

/* ============================================
   GARRISON FORM — Contact Form
   ============================================ */
.garrison-form{max-width:640px}
.garrison-form__group{margin-bottom:20px}
.garrison-form__group label{display:block;font-weight:600;margin-bottom:6px;color:var(--forest);font-size:.92rem}
.garrison-form__group input,
.garrison-form__group textarea,
.garrison-form__group select{
  width:100%;padding:12px 16px;border:2px solid var(--silver-light);border-radius:var(--radius);
  font-size:1rem;transition:var(--transition);background:var(--white);
}
.garrison-form__group input:focus,
.garrison-form__group textarea:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px rgba(20,83,45,.1)}
.garrison-form__group textarea{resize:vertical;min-height:120px}
.garrison-form__consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--text-light);margin-bottom:24px}
.garrison-form__consent input[type="checkbox"]{margin-top:4px;accent-color:var(--forest);width:18px;height:18px;flex-shrink:0}

/* ============================================
   PARAPET — Reviews/Testimonials
   ============================================ */
.parapet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.parapet-card{
  background:var(--white);border:1px solid var(--silver-light);border-radius:var(--radius-lg);
  padding:28px;position:relative;
}
.parapet-card::before{
  content:"\201C";position:absolute;top:12px;right:20px;
  font-size:4rem;color:var(--silver-light);line-height:1;font-family:Georgia,serif;
}
.parapet-card__stars{display:flex;gap:2px;margin-bottom:14px}
.parapet-card__stars iconify-icon{color:var(--gold);font-size:1.1rem}
.parapet-card__text{color:var(--text-light);font-size:.95rem;line-height:1.7;margin-bottom:16px;font-style:italic}
.parapet-card__author{font-weight:700;color:var(--forest);font-size:.92rem}
.parapet-card__meta{color:var(--silver);font-size:.82rem}

/* ============================================
   SENTINEL STATS
   ============================================ */
.sentinel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;text-align:center}
.sentinel-stat__number{font-size:2.6rem;font-weight:700;color:var(--white)}
.sentinel-stat__label{color:rgba(255,255,255,.7);font-size:.95rem;margin-top:4px}

/* ============================================
   DRAWBRIDGE — Contact/Map Section
   ============================================ */
.drawbridge-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:800px){.drawbridge-layout{grid-template-columns:1fr}}
.drawbridge-map{border-radius:var(--radius-lg);overflow:hidden;border:2px solid var(--silver-light)}
.drawbridge-map iframe{width:100%;height:400px;border:0}
.drawbridge-info{display:flex;flex-direction:column;gap:20px}
.drawbridge-info__item{display:flex;align-items:flex-start;gap:14px}
.drawbridge-info__item iconify-icon{font-size:1.5rem;color:var(--forest);margin-top:2px;flex-shrink:0}
.drawbridge-info__item strong{display:block;color:var(--forest);margin-bottom:2px;font-size:.92rem}
.drawbridge-info__item span{color:var(--text-light);font-size:.92rem}

/* ============================================
   KEEP — Footer
   ============================================ */
.fortress-keep{
  background:var(--forest-dark);color:rgba(255,255,255,.7);padding:50px 0 0;
  border-top:4px solid var(--silver);
}
.fortress-keep__grid{
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;
  max-width:1200px;margin:0 auto;padding:0 20px 40px;
}
@media(max-width:700px){.fortress-keep__grid{grid-template-columns:1fr}}
.fortress-keep__brand{font-size:1.3rem;font-weight:700;color:var(--white);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.fortress-keep__brand iconify-icon{color:var(--silver)}
.fortress-keep__text{font-size:.9rem;line-height:1.7;margin-bottom:16px}
.fortress-keep__contacts{display:flex;flex-direction:column;gap:8px;font-size:.88rem}
.fortress-keep__contacts a{color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px}
.fortress-keep__contacts a:hover{color:var(--white)}
.fortress-keep h4{color:var(--silver);font-size:.95rem;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}
.fortress-keep__links{display:flex;flex-direction:column;gap:10px}
.fortress-keep__links a{color:rgba(255,255,255,.6);font-size:.9rem;transition:var(--transition)}
.fortress-keep__links a:hover{color:var(--white);padding-left:4px}
.fortress-keep__bottom{
  border-top:1px solid rgba(255,255,255,.08);padding:20px;text-align:center;font-size:.82rem;
}

/* ============================================
   COOKIE CONSENT — Portcullis Bar
   ============================================ */
.portcullis-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--forest-dark);color:var(--white);
  padding:16px 20px;display:none;
  border-top:3px solid var(--silver);
}
.portcullis-bar.visible{display:block}
.portcullis-bar__inner{
  max-width:1200px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.portcullis-bar__text{font-size:.9rem;color:rgba(255,255,255,.85);flex:1;min-width:260px}
.portcullis-bar__text a{color:var(--silver);text-decoration:underline}
.portcullis-bar__btn{
  background:var(--silver);color:var(--forest);padding:10px 28px;
  border:none;border-radius:var(--radius);font-weight:600;font-size:.9rem;
  transition:var(--transition);white-space:nowrap;
}
.portcullis-bar__btn:hover{background:var(--white)}

/* ============================================
   LEGAL PAGES
   ============================================ */
.scroll-content{max-width:820px;margin:0 auto;padding:40px 20px 60px}
.scroll-content h1{margin-bottom:28px}
.scroll-content h2{margin-top:36px;margin-bottom:14px;font-size:1.4rem}
.scroll-content h3{margin-top:24px;margin-bottom:10px;font-size:1.15rem}
.scroll-content p{color:var(--text-light);margin-bottom:14px}
.scroll-content ul{margin:10px 0 20px 24px;list-style:disc}
.scroll-content ul li{margin-bottom:6px;color:var(--text-light);font-size:.95rem}

/* ============================================
   THANK YOU / 404
   ============================================ */
.lost-tower{
  text-align:center;padding:100px 20px;min-height:60vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.lost-tower iconify-icon{font-size:4rem;color:var(--forest);margin-bottom:20px}
.lost-tower h1{margin-bottom:14px}
.lost-tower p{color:var(--text-light);margin-bottom:28px;max-width:500px}
.lost-tower__links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* ============================================
   SERVICES PAGE — Sidebar Layout
   ============================================ */
.command-layout{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}
@media(max-width:800px){
  .command-layout{grid-template-columns:1fr}
  .command-sidebar{display:none}
}
.command-sidebar{position:sticky;top:90px}
.command-sidebar__nav{display:flex;flex-direction:column;gap:4px}
.command-sidebar__nav a{
  padding:10px 16px;border-radius:var(--radius);color:var(--text-light);
  font-size:.9rem;transition:var(--transition);border-left:3px solid transparent;
}
.command-sidebar__nav a:hover,
.command-sidebar__nav a.active{
  background:var(--silver-pale);color:var(--forest);border-left-color:var(--forest);font-weight:600;
}

/* Service Detail Blocks */
.garrison-detail{margin-bottom:48px;scroll-margin-top:100px}
.garrison-detail__head{
  display:flex;align-items:center;gap:16px;margin-bottom:18px;
  padding-bottom:14px;border-bottom:2px solid var(--silver-light);
}
.garrison-detail__head iconify-icon{font-size:2rem;color:var(--forest)}
.garrison-detail__body{color:var(--text-light);font-size:.95rem;line-height:1.8}
.garrison-detail__body ul{margin:12px 0 12px 20px;list-style:disc}
.garrison-detail__body ul li{margin-bottom:6px}

/* ============================================
   TIMELINE — Process Steps
   ============================================ */
.chronicle-steps{max-width:700px;margin:0 auto;position:relative;padding-left:40px}
.chronicle-steps::before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:var(--silver-light)}
.chronicle-step{position:relative;margin-bottom:32px}
.chronicle-step__marker{
  position:absolute;left:-40px;top:0;width:32px;height:32px;
  background:var(--forest);color:var(--white);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;
  border:3px solid var(--white);box-shadow:0 0 0 2px var(--forest);
}
.chronicle-step__title{font-size:1.05rem;font-weight:700;color:var(--forest);margin-bottom:6px}
.chronicle-step__text{color:var(--text-light);font-size:.93rem}

/* ============================================
   PAYMENT METHODS
   ============================================ */
.vault-methods{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}
.vault-method{
  display:flex;align-items:center;gap:10px;background:var(--white);
  border:1px solid var(--silver-light);border-radius:var(--radius);padding:14px 20px;
}
.vault-method iconify-icon{font-size:1.4rem;color:var(--forest)}
.vault-method span{font-size:.92rem;font-weight:600;color:var(--text)}

/* ============================================
   FORTRESS FEATURES — Icon Feature Rows
   ============================================ */
.fortress-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.fortress-feature{
  display:flex;align-items:flex-start;gap:18px;
  padding:24px;background:var(--white);border-radius:var(--radius-lg);
  border:1px solid var(--silver-light);transition:var(--transition);
}
.fortress-feature:hover{box-shadow:var(--shadow);border-color:var(--silver)}
.fortress-feature__icon{
  width:48px;height:48px;border-radius:10px;flex-shrink:0;
  background:var(--silver-pale);display:flex;align-items:center;justify-content:center;
}
.fortress-feature__icon iconify-icon{font-size:1.4rem;color:var(--forest)}
.fortress-feature__title{font-size:1rem;font-weight:700;color:var(--forest);margin-bottom:4px}
.fortress-feature__text{font-size:.88rem;color:var(--text-light);line-height:1.6}

/* ============================================
   RAMPART TABS — Tab Navigation
   ============================================ */
.rampart-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:32px;border-bottom:2px solid var(--silver-light);padding-bottom:0}
.rampart-tabs__btn{
  padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;
  font-size:.95rem;font-weight:600;color:var(--text-light);transition:var(--transition);
  margin-bottom:-2px;
}
.rampart-tabs__btn:hover{color:var(--forest)}
.rampart-tabs__btn.active{color:var(--forest);border-bottom-color:var(--forest)}
.rampart-tabs__panel{display:none}
.rampart-tabs__panel.active{display:block}

/* ============================================
   TOWER BADGE — Status/Label Badges
   ============================================ */
.tower-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 14px;border-radius:20px;font-size:.78rem;font-weight:600;
}
.tower-badge--green{background:rgba(20,83,45,.1);color:var(--forest)}
.tower-badge--silver{background:var(--silver-pale);color:var(--text-light)}
.tower-badge--gold{background:rgba(184,134,11,.1);color:var(--gold)}

/* ============================================
   BULWARK — Info Boxes / Alerts
   ============================================ */
.bulwark-box{
  padding:20px 24px;border-radius:var(--radius);margin:20px 0;
  border-left:4px solid var(--forest);background:rgba(20,83,45,.04);
}
.bulwark-box__title{font-weight:700;color:var(--forest);margin-bottom:6px;font-size:.95rem}
.bulwark-box__text{color:var(--text-light);font-size:.9rem;line-height:1.7}
.bulwark-box--warning{border-left-color:var(--gold);background:rgba(184,134,11,.04)}
.bulwark-box--warning .bulwark-box__title{color:var(--gold)}

/* ============================================
   KEEP COLUMNS — Multi-column Text
   ============================================ */
.keep-columns{
  column-count:2;column-gap:40px;
}
@media(max-width:700px){.keep-columns{column-count:1}}
.keep-columns p{break-inside:avoid}

/* ============================================
   MOAT DIVIDER — Section Separators
   ============================================ */
.moat-divider{
  height:4px;border:none;margin:0;
  background:linear-gradient(90deg,var(--forest),var(--silver),var(--forest));
}
.moat-divider--thin{height:1px;background:var(--silver-light)}
.moat-divider--gold{background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* ============================================
   GARRISON TABLE — Data Tables
   ============================================ */
.garrison-table{width:100%;border-collapse:collapse;margin:20px 0}
.garrison-table th{
  background:var(--forest);color:var(--white);padding:14px 18px;
  text-align:left;font-size:.9rem;font-weight:600;
}
.garrison-table td{
  padding:12px 18px;border-bottom:1px solid var(--silver-light);
  font-size:.9rem;color:var(--text-light);
}
.garrison-table tr:hover td{background:var(--silver-pale)}
.garrison-table th:first-child{border-radius:var(--radius) 0 0 0}
.garrison-table th:last-child{border-radius:0 var(--radius) 0 0}

/* ============================================
   PINNACLE — Page Top Banner (inner pages)
   ============================================ */
.pinnacle-banner{
  background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);
  padding:48px 0;color:var(--white);text-align:center;
  border-bottom:3px solid var(--silver);
}
.pinnacle-banner h1{color:var(--white);margin-bottom:10px}
.pinnacle-banner p{color:rgba(255,255,255,.75);font-size:1.05rem;max-width:600px;margin:0 auto}

/* ============================================
   CURTAIN WALL — Sidebar Widgets
   ============================================ */
.curtain-widget{
  background:var(--white);border:1px solid var(--silver-light);
  border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;
}
.curtain-widget__title{
  font-size:1rem;font-weight:700;color:var(--forest);
  margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--silver-light);
}
.curtain-widget__list{display:flex;flex-direction:column;gap:8px}
.curtain-widget__list a{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  border-radius:var(--radius);color:var(--text-light);font-size:.88rem;
  transition:var(--transition);
}
.curtain-widget__list a:hover{background:var(--silver-pale);color:var(--forest)}
.curtain-widget__list a iconify-icon{font-size:1rem;color:var(--silver);flex-shrink:0}

/* ============================================
   BATTLEMENT — Counter/Number Highlights
   ============================================ */
.battlement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.battlement-item{
  text-align:center;padding:32px 20px;background:var(--white);
  border-radius:var(--radius-lg);border:1px solid var(--silver-light);
  transition:var(--transition);
}
.battlement-item:hover{box-shadow:var(--shadow);border-color:var(--silver)}
.battlement-item__icon{margin-bottom:12px}
.battlement-item__icon iconify-icon{font-size:2.4rem;color:var(--forest)}
.battlement-item__number{font-size:2rem;font-weight:700;color:var(--forest);margin-bottom:4px}
.battlement-item__label{font-size:.88rem;color:var(--text-light)}

/* ============================================
   GATEHOUSE — Login/Auth Forms
   ============================================ */
.gatehouse-form{
  max-width:440px;margin:0 auto;padding:40px;
  background:var(--white);border-radius:var(--radius-lg);
  border:1px solid var(--silver-light);box-shadow:var(--shadow);
}
.gatehouse-form h2{text-align:center;margin-bottom:28px}
.gatehouse-form .garrison-form__group{margin-bottom:18px}
.gatehouse-form__footer{text-align:center;margin-top:20px;font-size:.88rem;color:var(--text-light)}
.gatehouse-form__footer a{color:var(--forest);font-weight:600}

/* ============================================
   PORTCULLIS — Modal/Overlay
   ============================================ */
.portcullis-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,.6);display:none;
  align-items:center;justify-content:center;padding:20px;
}
.portcullis-overlay.active{display:flex}
.portcullis-modal{
  background:var(--white);border-radius:var(--radius-lg);
  max-width:560px;width:100%;max-height:90vh;overflow-y:auto;
  padding:36px;position:relative;box-shadow:var(--shadow-lg);
}
.portcullis-modal__close{
  position:absolute;top:14px;right:14px;background:none;border:none;
  font-size:1.4rem;color:var(--text-light);transition:var(--transition);
}
.portcullis-modal__close:hover{color:var(--forest)}

/* ============================================
   TOWER TOOLTIP
   ============================================ */
.tower-tooltip{position:relative;display:inline-block}
.tower-tooltip__content{
  position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:var(--forest-dark);color:var(--white);padding:8px 14px;
  border-radius:var(--radius);font-size:.8rem;white-space:nowrap;
  opacity:0;visibility:hidden;transition:var(--transition);pointer-events:none;
}
.tower-tooltip__content::after{
  content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);
  border:5px solid transparent;border-top-color:var(--forest-dark);
}
.tower-tooltip:hover .tower-tooltip__content{opacity:1;visibility:visible}

/* ============================================
   PARAPET PROGRESS — Progress Bars
   ============================================ */
.parapet-progress{margin:16px 0}
.parapet-progress__label{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--forest);margin-bottom:6px}
.parapet-progress__bar{height:8px;background:var(--silver-light);border-radius:4px;overflow:hidden}
.parapet-progress__fill{height:100%;background:linear-gradient(90deg,var(--forest),var(--forest-light));border-radius:4px;transition:width .6s ease}

/* ============================================
   TURRET LIST — Styled Lists
   ============================================ */
.turret-list{display:flex;flex-direction:column;gap:12px}
.turret-list__item{
  display:flex;align-items:flex-start;gap:12px;
  padding:16px 20px;background:var(--white);
  border-radius:var(--radius);border:1px solid var(--silver-light);
  transition:var(--transition);
}
.turret-list__item:hover{border-color:var(--silver);box-shadow:var(--shadow)}
.turret-list__item iconify-icon{font-size:1.2rem;color:var(--forest);margin-top:2px;flex-shrink:0}
.turret-list__item p{margin:0;font-size:.92rem;color:var(--text-light)}
.turret-list__item strong{color:var(--forest)}

/* ============================================
   MERLON — Tag/Chip Component
   ============================================ */
.merlon-tags{display:flex;flex-wrap:wrap;gap:8px}
.merlon-tag{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 14px;border-radius:20px;font-size:.8rem;font-weight:600;
  background:var(--silver-pale);color:var(--text-light);
  border:1px solid var(--silver-light);transition:var(--transition);
}
.merlon-tag:hover{border-color:var(--forest);color:var(--forest)}
.merlon-tag iconify-icon{font-size:.9rem}

/* ============================================
   GARRISON GALLERY — Image Grid
   ============================================ */
.garrison-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.garrison-gallery__item{
  border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:4/3;background:var(--silver-pale);
  transition:var(--transition);
}
.garrison-gallery__item:hover{box-shadow:var(--shadow-lg);transform:scale(1.02)}
.garrison-gallery__item img{width:100%;height:100%;object-fit:cover}

/* ============================================
   PALISADE — Horizontal Scroll Cards
   ============================================ */
.palisade-scroll{
  display:flex;gap:20px;overflow-x:auto;padding:10px 0 20px;
  -webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;
}
.palisade-scroll::-webkit-scrollbar{height:6px}
.palisade-scroll::-webkit-scrollbar-thumb{background:var(--silver);border-radius:3px}
.palisade-scroll::-webkit-scrollbar-track{background:var(--silver-pale)}
.palisade-card{
  min-width:300px;flex-shrink:0;scroll-snap-align:start;
  background:var(--white);border:1px solid var(--silver-light);
  border-radius:var(--radius-lg);padding:24px;transition:var(--transition);
}
.palisade-card:hover{box-shadow:var(--shadow)}

/* ============================================
   ANIMATION UTILITIES
   ============================================ */
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes slideInLeft{
  from{opacity:0;transform:translateX(-24px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes pulse{
  0%,100%{opacity:1}
  50%{opacity:.6}
}
.animate-fade-up{animation:fadeInUp .6s ease both}
.animate-fade-in{animation:fadeIn .5s ease both}
.animate-slide-left{animation:slideInLeft .6s ease both}
.animate-delay-1{animation-delay:.1s}
.animate-delay-2{animation-delay:.2s}
.animate-delay-3{animation-delay:.3s}
.animate-delay-4{animation-delay:.4s}

/* ============================================
   SKIP LINK — Accessibility
   ============================================ */
.skip-link{
  position:absolute;top:-100%;left:16px;z-index:10001;
  background:var(--forest);color:var(--white);padding:12px 24px;
  border-radius:0 0 var(--radius) var(--radius);font-size:.9rem;font-weight:600;
  transition:top .3s;
}
.skip-link:focus{top:0}

/* ============================================
   SELECTION & FOCUS STATES
   ============================================ */
::selection{background:var(--forest);color:var(--white)}
:focus-visible{outline:2px solid var(--forest);outline-offset:2px;border-radius:2px}
a:focus-visible{outline-offset:3px}

/* ============================================
   SCROLLBAR STYLING
   ============================================ */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-thumb{background:var(--silver);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--text-light)}
::-webkit-scrollbar-track{background:var(--silver-pale)}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:600px){
  .shield-banner{padding:50px 0 40px}
  .stronghold-section{padding:45px 0}
  .bastion-block{padding:40px 0}
  .fortress-keep__grid{gap:28px}
  .armor-tier-grid{grid-template-columns:1fr}
  .parapet-grid{grid-template-columns:1fr}
  .watchtower-grid{grid-template-columns:1fr}
  .sentinel-row{grid-template-columns:repeat(2,1fr);gap:20px}
  .btn-shield{padding:12px 22px;font-size:.92rem}
  .drawbridge-map iframe{height:280px}
}

@media(max-width:400px){
  .sentinel-row{grid-template-columns:1fr}
  .fortress-gate__brand{font-size:1.1rem}
  .shield-banner__actions{flex-direction:column}
  .shield-banner__actions .btn-shield{width:100%;justify-content:center}
}

/* ============================================
   PRINT
   ============================================ */
/* ============================================
   EMBRASURE — Notification Banners
   ============================================ */
.embrasure-banner{
  padding:14px 20px;display:flex;align-items:center;gap:12px;
  border-radius:var(--radius);margin-bottom:20px;font-size:.9rem;
}
.embrasure-banner--success{background:rgba(20,83,45,.08);color:var(--forest);border:1px solid rgba(20,83,45,.2)}
.embrasure-banner--error{background:rgba(220,38,38,.06);color:#dc2626;border:1px solid rgba(220,38,38,.2)}
.embrasure-banner--info{background:rgba(59,130,246,.06);color:#3b82f6;border:1px solid rgba(59,130,246,.2)}
.embrasure-banner iconify-icon{font-size:1.3rem;flex-shrink:0}

/* ============================================
   BARBICAN — Stepped Navigation
   ============================================ */
.barbican-steps{display:flex;align-items:center;gap:0;margin:32px 0;flex-wrap:wrap}
.barbican-step{
  display:flex;align-items:center;gap:10px;padding:10px 20px;
  font-size:.88rem;color:var(--text-light);position:relative;
}
.barbican-step::after{
  content:"";width:24px;height:2px;background:var(--silver-light);margin-left:10px;
}
.barbican-step:last-child::after{display:none}
.barbican-step__num{
  width:28px;height:28px;border-radius:50%;background:var(--silver-pale);
  display:flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:700;color:var(--text-light);flex-shrink:0;
}
.barbican-step.active .barbican-step__num{background:var(--forest);color:var(--white)}
.barbican-step.active{color:var(--forest);font-weight:600}
.barbican-step.done .barbican-step__num{background:var(--forest-light);color:var(--white)}
.barbican-step.done::after{background:var(--forest)}

/* ============================================
   DONJON — Hero Variant (compact)
   ============================================ */
.donjon-hero{
  background:linear-gradient(135deg,var(--forest),var(--forest-dark));
  color:var(--white);padding:40px 0;text-align:center;
}
.donjon-hero h1{color:var(--white);font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:8px}
.donjon-hero p{color:rgba(255,255,255,.7);font-size:.98rem}

/* ============================================
   MACHICOLATION — Dropdown Menu
   ============================================ */
.machicolation{position:relative;display:inline-block}
.machicolation__trigger{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  padding:8px 16px;border-radius:var(--radius);border:1px solid var(--silver-light);
  background:var(--white);font-size:.9rem;color:var(--text);transition:var(--transition);
}
.machicolation__trigger:hover{border-color:var(--silver)}
.machicolation__menu{
  position:absolute;top:calc(100% + 6px);left:0;min-width:200px;
  background:var(--white);border:1px solid var(--silver-light);
  border-radius:var(--radius);box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:var(--transition);z-index:100;
}
.machicolation:hover .machicolation__menu{opacity:1;visibility:visible;transform:translateY(0)}
.machicolation__menu a{
  display:flex;align-items:center;gap:10px;padding:10px 16px;
  font-size:.88rem;color:var(--text-light);transition:var(--transition);
}
.machicolation__menu a:hover{background:var(--silver-pale);color:var(--forest)}
.machicolation__menu a iconify-icon{font-size:1rem;color:var(--silver)}

/* ============================================
   LOOPHOLE — Inline Stats
   ============================================ */
.loophole-row{
  display:flex;gap:32px;flex-wrap:wrap;padding:20px 0;
  border-top:1px solid var(--silver-light);border-bottom:1px solid var(--silver-light);
  margin:24px 0;
}
.loophole-stat{text-align:center;flex:1;min-width:120px}
.loophole-stat__value{font-size:1.8rem;font-weight:700;color:var(--forest)}
.loophole-stat__label{font-size:.82rem;color:var(--text-light);margin-top:2px}

/* ============================================
   CRENEL — Card with Image Top
   ============================================ */
.crenel-card{
  border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--silver-light);background:var(--white);
  transition:var(--transition);
}
.crenel-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.crenel-card__img{width:100%;height:200px;object-fit:cover;background:var(--silver-pale)}
.crenel-card__body{padding:24px}
.crenel-card__title{font-size:1.1rem;font-weight:700;color:var(--forest);margin-bottom:8px}
.crenel-card__text{font-size:.9rem;color:var(--text-light);line-height:1.7}
.crenel-card__footer{
  padding:14px 24px;border-top:1px solid var(--silver-light);
  display:flex;align-items:center;justify-content:space-between;
  font-size:.85rem;
}

/* ============================================
   POSTERN — Back-to-top Button
   ============================================ */
.postern-top{
  position:fixed;bottom:80px;right:20px;z-index:999;
  width:44px;height:44px;border-radius:50%;
  background:var(--forest);color:var(--white);border:none;
  display:none;align-items:center;justify-content:center;
  box-shadow:var(--shadow);transition:var(--transition);
}
.postern-top:hover{background:var(--forest-dark);transform:translateY(-2px)}
.postern-top.visible{display:flex}
.postern-top iconify-icon{font-size:1.4rem}

/* ============================================
   STANCHION — Vertical Dividers
   ============================================ */
.stanchion{
  width:1px;background:var(--silver-light);
  align-self:stretch;margin:0 16px;
}
.stanchion--thick{width:2px;background:var(--silver)}
.stanchion--forest{background:var(--forest);opacity:.2}

/* ============================================
   CHEMIN DE RONDE — Breadcrumb Alternative
   ============================================ */
.chemin-nav{
  display:flex;align-items:center;gap:8px;padding:12px 0;
  font-size:.85rem;color:var(--text-light);flex-wrap:wrap;
}
.chemin-nav a{color:var(--text-light);transition:var(--transition)}
.chemin-nav a:hover{color:var(--forest)}
.chemin-nav__sep{color:var(--silver);font-size:.75rem}
.chemin-nav__current{color:var(--forest);font-weight:600}

/* ============================================
   GLACIS — Background Patterns
   ============================================ */
.glacis-dots{
  background-image:radial-gradient(circle,var(--silver-light) 1px,transparent 1px);
  background-size:20px 20px;
}
.glacis-lines{
  background-image:repeating-linear-gradient(0deg,transparent,transparent 19px,var(--silver-light) 19px,var(--silver-light) 20px);
}
.glacis-grid{
  background-image:
    linear-gradient(var(--silver-light) 1px,transparent 1px),
    linear-gradient(90deg,var(--silver-light) 1px,transparent 1px);
  background-size:40px 40px;
}

/* ============================================
   CASEMATE — Collapsed Content
   ============================================ */
.casemate{margin:16px 0}
.casemate__toggle{
  display:flex;align-items:center;gap:8px;
  background:none;border:none;color:var(--forest);
  font-size:.92rem;font-weight:600;padding:8px 0;
  transition:var(--transition);
}
.casemate__toggle:hover{color:var(--forest-dark)}
.casemate__toggle iconify-icon{transition:transform .3s}
.casemate.open .casemate__toggle iconify-icon{transform:rotate(90deg)}
.casemate__body{
  max-height:0;overflow:hidden;transition:max-height .4s ease;
  padding-left:24px;
}
.casemate.open .casemate__body{max-height:2000px}

.arrow-link{display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-weight:600;font-size:.92rem;transition:var(--transition)}
.arrow-link:hover{gap:12px;color:var(--forest-dark)}
.arrow-link iconify-icon{font-size:1rem;transition:transform .3s}
.arrow-link:hover iconify-icon{transform:translateX(4px)}

.text-forest{color:var(--forest)}
.text-silver{color:var(--silver)}
.text-gold{color:var(--gold)}
.text-light{color:var(--text-light)}
.text-white{color:var(--white)}
.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}
.text-sm{font-size:.85rem}
.text-lg{font-size:1.15rem}
.text-xl{font-size:1.4rem}

.bg-forest{background-color:var(--forest)}
.bg-silver{background-color:var(--silver-pale)}
.bg-white{background-color:var(--white)}

.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:48px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:48px}
.pt-0{padding-top:0}.pt-1{padding-top:8px}.pt-2{padding-top:16px}.pt-3{padding-top:24px}.pt-4{padding-top:32px}
.pb-0{padding-bottom:0}.pb-1{padding-bottom:8px}.pb-2{padding-bottom:16px}.pb-3{padding-bottom:24px}.pb-4{padding-bottom:32px}
.px-1{padding-left:8px;padding-right:8px}.px-2{padding-left:16px;padding-right:16px}.px-3{padding-left:24px;padding-right:24px}
.py-1{padding-top:8px;padding-bottom:8px}.py-2{padding-top:16px;padding-bottom:16px}.py-3{padding-top:24px;padding-bottom:24px}

.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}
.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.gap-4{gap:32px}

.w-full{width:100%}.h-full{height:100%}
.max-w-sm{max-width:440px}.max-w-md{max-width:640px}.max-w-lg{max-width:820px}.max-w-xl{max-width:1000px}
.mx-auto{margin-left:auto;margin-right:auto}

.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:9999px}
.shadow{box-shadow:var(--shadow)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}
.border{border:1px solid var(--silver-light)}.border-2{border:2px solid var(--silver-light)}.border-forest{border-color:var(--forest)}
.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}
.relative{position:relative}.absolute{position:absolute}
.hidden{display:none}.block{display:block}.inline-block{display:inline-block}

@media print{
  .fortress-gate,.portcullis-bar,.fortress-keep,.bastion-block{display:none}
  body{color:#000;background:#fff}
  .stronghold-section{padding:20px 0}
}

[class*="photo"] img,[class*="avatar"] img{width:100%;height:100%;object-fit:cover;border-radius:50%}
[class*="visual"] img{width:100%;height:100%;object-fit:cover;border-radius:12px}

/* === RightGuard Process === */
.stronghold-process{background:#072a16}
.bastion-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem}
.bastion-process-step{padding:2rem;background:#0a3d20;border-radius:12px;text-align:center;position:relative}
.bastion-process-num{position:absolute;top:.75rem;right:.75rem;font-size:1.5rem;font-weight:800;color:#14532d55}
.bastion-process-step iconify-icon{font-size:1.5rem;color:#4ADE80;margin-bottom:.75rem}
.bastion-process-step h3{color:#fff;margin-bottom:.5rem}
.bastion-process-step p{color:#aaa;font-size:.9rem}
@media(max-width:768px){.bastion-process-grid{grid-template-columns:repeat(2,1fr)}}
/* === RightGuard Team === */
.stronghold-team{background:#0d3b1f}
.bastion-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
.bastion-team-card{background:#072a16;border-radius:12px;padding:2rem;text-align:center;border:1px solid #14532d}
.bastion-team-initials{width:72px;height:72px;border-radius:50%;background:#14532D;color:#4ADE80;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin:0 auto 1rem}
.bastion-team-card h3{color:#fff;margin-bottom:.25rem}
.bastion-team-role{color:#4ADE80;font-size:.9rem;margin-bottom:.75rem}
.bastion-team-card p{color:#aaa;font-size:.9rem}
@media(max-width:768px){.bastion-team-grid{grid-template-columns:1fr}}
