html{scroll-behavior:smooth}body{margin:0}.site-header .menu,.site-header ul{list-style:none;margin:0;padding:0}.site-header .nav-links>ul{display:contents}.site-header .nav-links li{display:inline-flex}
/* One active item only. WordPress current-* classes are normalized in functions.php. */
.site-header .nav-links li.ang-active>a,
.site-header .nav-links a[aria-current="page"]{
  text-decoration:none!important;
  opacity:1;
  color:var(--accent-ink);
}
.site-header .nav-links li.ang-active>a::after,
.site-header .nav-links a[aria-current="page"]::after{right:0;}
.site-header .mobile-menu li.ang-active>a,
.site-header .mobile-menu a[aria-current="page"]{color:var(--accent-ink);font-weight:700;}
.wp-theme-content{min-height:45vh}.wp-theme-content>p:empty{display:none}.skip-link{position:fixed;left:12px;top:-80px;z-index:999999;background:#fff;color:#111;padding:10px 14px;border-radius:4px;box-shadow:0 4px 18px rgba(0,0,0,.18)}.skip-link:focus{top:12px}.mobile-toggle{display:none}.mobile-menu{display:none}
/* One exact family-bar component across all themes. */
.network-bar .wrap{display:flex;align-items:center;justify-content:center;gap:8px;min-height:32px}.network-bar a.is-active{color:#C9CFC7!important;font-weight:700}.network-bar .sep{opacity:.55}
@media(max-width:1100px){.site-header .nav-links,.site-header .nav>.btn.small,.rr-nav-consult{display:none!important}.mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer}.mobile-toggle svg{width:25px;height:25px}.mobile-menu.open{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--paper,#fff);padding:16px 22px 22px;box-shadow:0 14px 30px rgba(0,0,0,.12);z-index:1000}.mobile-menu a{padding:11px 4px;text-decoration:none}.nav{position:relative}}
@media(max-width:700px){.network-bar .wrap{justify-content:flex-start;overflow-x:auto;white-space:nowrap;padding-left:14px;padding-right:14px}.brand-logo{max-width:min(240px,68vw)}}


/* 2.5.4 mobile masthead contract — mirrors the approved HTML master. */
.mobile-menu-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.mobile-menu-list>li{display:block;margin:0;padding:0;list-style:none;}
@media(max-width:1100px){
  .site-header .nav{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;}
  .site-header .brand{min-width:0;max-width:calc(100% - 60px);}
  .site-header .brand-logo{display:block;width:auto;height:38px;max-width:min(240px,68vw);object-fit:contain;}
  .mobile-toggle{display:flex!important;flex:0 0 44px;margin-left:auto;width:44px;height:44px;border:1px solid var(--panel-border,#d8d2c5)!important;background:var(--panel,#fffdfa)!important;border-radius:10px;align-items:center;justify-content:center;color:var(--ink,#161b18);cursor:pointer;}
  .mobile-toggle svg{width:22px;height:22px;}
  .mobile-menu.open{display:block!important;position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:10px;background:rgba(255,253,250,.98);border:1px solid var(--panel-border,#d8d2c5);border-radius:14px;box-shadow:0 18px 42px rgba(17,23,19,.15);z-index:1000;}
  .mobile-menu-list a{display:block;padding:12px 14px;border-radius:8px;text-decoration:none!important;font-weight:700;line-height:1.3;color:var(--ink,#161b18);}
  .mobile-menu-list a:hover,.mobile-menu-list a:focus-visible{background:var(--accent-soft,#dceee5);color:var(--accent-ink,#12402f);outline:none;}
  .mobile-menu-list li.ang-active>a,.mobile-menu-list a[aria-current="page"]{background:var(--accent-soft,#dceee5);color:var(--accent-ink,#12402f);}
  .mobile-menu>.btn{display:block;margin-top:8px;width:100%;text-align:center;box-sizing:border-box;}
}
@media(max-width:560px){
  .network-bar .wrap{justify-content:flex-start;gap:8px;overflow-x:auto;white-space:nowrap;padding-left:16px;padding-right:16px;scrollbar-width:none;}
  .network-bar .wrap::-webkit-scrollbar{display:none;}
  .network-bar .wrap>span:first-child{display:none;}
  .site-header .nav{min-height:68px;padding-left:16px;padding-right:16px;}
  .site-header .brand-logo{height:34px!important;max-width:min(190px,62vw)!important;}
  .mobile-menu.open{left:12px;right:12px;top:calc(100% + 6px);}
}


/* Blog + article system 2.6.0 */
.ang-blog-list{display:grid;gap:24px;max-width:980px;margin:0 auto}
.ang-blog-card{background:var(--paper,#f7f4ec);border:1px solid var(--line,#ddd5c7);border-radius:22px;overflow:hidden;display:grid;grid-template-columns:1fr;box-shadow:0 12px 30px rgba(22,27,24,.03)}
.ang-blog-card.has-image{grid-template-columns:minmax(220px,34%) 1fr}
.ang-blog-thumb{display:block;min-height:230px;background:#e8e2d6;overflow:hidden}
.ang-blog-thumb img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block}
.ang-blog-card-content{padding:28px 30px}
.ang-blog-card .post-meta,.ang-post-kicker{font-size:.76rem;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-soft,#66706a);font-weight:600}
.ang-blog-card h3{margin:9px 0 10px;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.16}
.ang-blog-card h3 a{color:var(--ink,#161b18);text-decoration:none}
.ang-blog-card h3 a:hover{color:var(--accent-bright,#12402f)}
.ang-blog-card p{margin:0;color:var(--ink-soft,#66706a);line-height:1.65}
.ang-read-more{display:inline-block;margin-top:16px;color:var(--accent-bright,#12402f);font-weight:700;text-decoration:none}
.ang-post-hero{padding:78px 24px 52px;border-bottom:1px solid var(--line,#ddd5c7);background:var(--paper,#f7f4ec)}
.ang-post-hero-inner{max-width:1080px}
.ang-post-kicker{margin-bottom:18px}
.ang-post-hero h1{max-width:940px;margin:0;font-size:clamp(2.45rem,5vw,4.65rem);line-height:1.03;letter-spacing:-.025em}
.ang-post-deck{max-width:820px;margin:24px 0 0;color:var(--ink-soft,#66706a);font-size:1.15rem;line-height:1.65}
.ang-post-feature{padding:44px 24px 0}.ang-post-feature .wrap{max-width:1080px}.ang-post-feature figure{margin:0;border-radius:20px;overflow:hidden}.ang-post-feature img{width:100%;height:auto;max-height:620px;object-fit:cover;display:block}
.ang-post-body-section{padding:58px 24px 88px}.ang-post-body-section .wrap{max-width:1080px}.ang-post-body{max-width:780px;margin:0 auto;color:var(--ink-soft,#53605a);font-size:1.06rem;line-height:1.75}
.ang-post-body>p:first-child{margin-top:0}.ang-post-body p{margin:0 0 1.35em}.ang-post-body h2,.ang-post-body h3,.ang-post-body h4{color:var(--ink,#161b18);line-height:1.18;margin:1.8em 0 .65em}.ang-post-body h2{font-size:clamp(1.65rem,3vw,2.25rem)}.ang-post-body h3{font-size:1.5rem}
.ang-post-body ul,.ang-post-body ol{padding-left:1.35em;margin:0 0 1.5em}.ang-post-body li{margin:.45em 0}.ang-post-body blockquote{margin:2em 0;padding:4px 0 4px 24px;border-left:4px solid var(--accent,#2e8b69);font-family:Georgia,serif;font-size:1.2rem;color:var(--ink,#161b18)}
.ang-post-body img{max-width:100%;height:auto;border-radius:16px}.ang-post-body figure{margin:2em 0}.ang-post-body figcaption{font-size:.86rem;color:var(--ink-soft,#66706a);margin-top:8px;text-align:center}.ang-post-body .alignwide{width:min(960px,calc(100vw - 48px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.ang-post-body .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
@media(max-width:760px){.ang-blog-card.has-image{grid-template-columns:1fr}.ang-blog-thumb,.ang-blog-thumb img{min-height:190px;max-height:260px}.ang-blog-card-content{padding:22px}.ang-post-hero{padding:48px 20px 36px}.ang-post-hero h1{font-size:clamp(2.1rem,11vw,3.2rem)}.ang-post-deck{font-size:1rem}.ang-post-feature{padding:24px 20px 0}.ang-post-body-section{padding:38px 20px 64px}.ang-post-body{font-size:1rem}.ang-post-body .alignwide,.ang-post-body .alignfull{width:100%;margin-left:0;transform:none}}


/* 2.7.3 family-bar current-site treatment
   Keep every family name the same text color. The current site is indicated
   by a quiet highlight rather than turning the label green. */
.network-bar a.is-active,
.network-bar a.is-active:hover,
.network-bar a.is-active:focus-visible{
  color:#C9CFC7!important;
  font-weight:700!important;
  background:rgba(201,207,199,.11);
  box-shadow:inset 0 -1px 0 rgba(201,207,199,.62);
  border-radius:4px;
}


/* 2.7.3 family-bar hardening: active family label is highlighted without changing text hue. */
.network-bar .wrap a.is-active,
.network-bar .wrap a.is-active:visited,
.network-bar .wrap a.is-active:hover,
.network-bar .wrap a.is-active:focus-visible{
  color:#C9CFC7!important;
  background:rgba(201,207,199,.11)!important;
  box-shadow:inset 0 -1px 0 rgba(201,207,199,.62)!important;
  border-radius:4px;
  text-decoration:none!important;
}


/* 2.8.0 fuller page layout contract — use more of the viewport like CyberDefenseIQ while preserving each brand. */
:root{--maxw:1360px;}

/* Generic heroes: broader, left-led, and less vertically sparse. CyberDefenseIQ keeps its purpose-built product hero. */
@media (min-width:860px){
  .hero:not(.cdiq-hero){text-align:left;padding:clamp(68px,7vw,96px) 0 clamp(62px,6vw,86px);background:radial-gradient(circle at 82% 18%,rgba(31,138,99,.13),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.18),transparent 58%);}
  .hero:not(.cdiq-hero) .hero-content{max-width:var(--maxw)!important;margin-left:auto;margin-right:auto;}
  .hero:not(.cdiq-hero) h1{max-width:980px;font-size:clamp(3rem,6vw,5.15rem);}
  .hero:not(.cdiq-hero) .hero-sub{max-width:860px;margin-left:0;margin-right:0;font-size:clamp(1.05rem,1.7vw,1.25rem);}
  .hero:not(.cdiq-hero) .hero-ctas{justify-content:flex-start;}
}

/* Secondary page heroes use the full content rail instead of a narrow centered island. */
.page-hero{text-align:left!important;padding:clamp(56px,6vw,82px) 0 clamp(42px,5vw,64px);}
.page-hero .wrap{max-width:var(--maxw);}
.page-hero h1{max-width:1040px;}
.page-hero p{max-width:900px!important;margin-left:0!important;margin-right:0!important;text-align:left!important;line-height:1.65;}

/* Main content sections occupy more horizontal space and establish a stronger left-to-right reading rhythm. */
.section{padding:clamp(58px,6vw,88px) 0;}
.section>.wrap>h2.center{text-align:left;max-width:1000px;}
.section>.wrap>.eyebrow.center{text-align:left;}
.section-intro{max-width:900px;margin-left:0;margin-right:0;text-align:left;line-height:1.7;}
.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:22px;}
.for-list{max-width:none!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.step-grid{max-width:none!important;gap:18px;}
.related-links{max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0;margin-right:0;}
.faq-list{max-width:1100px!important;margin-left:0;margin-right:0;}
.quote-panel{max-width:1100px;}
.prose-page{max-width:1040px!important;}
.post-list{max-width:1120px!important;margin-left:0;margin-right:0;}

/* Long-form material remains readable while feature blocks, galleries, and service grids can breathe. */
.two-col{gap:clamp(40px,5vw,72px);}
.feature-panel{gap:26px;}
.solution-row{gap:clamp(36px,5vw,68px);}

@media (max-width:980px){
  .for-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
  :root{--maxw:1200px;}
  .hero:not(.cdiq-hero){text-align:left;padding:56px 0 54px;}
  .hero:not(.cdiq-hero) .hero-content{max-width:none;}
  .hero:not(.cdiq-hero) h1{max-width:none;margin-left:0;margin-right:0;font-size:clamp(2.45rem,12vw,3.7rem);}
  .hero:not(.cdiq-hero) .hero-sub{max-width:none;margin-left:0;margin-right:0;}
  .hero:not(.cdiq-hero) .hero-ctas{justify-content:flex-start;}
  .page-hero{padding:46px 0 36px;}
  .section{padding:52px 0;}
  .section-intro{margin-bottom:32px;}
  .for-list,.related-links{grid-template-columns:1fr;}
  .faq-list{max-width:none!important;}
}

/* 2.8.4 persistent family masthead — production invariant.
   The complete family bar + primary header are fixed to the viewport on every
   route. JS measures the real masthead height and reserves exactly that space
   above page content, so long pages, consultation/contact pages, blog posts,
   hash navigation, and mobile layouts all behave consistently. */
:root{--ang-masthead-height:116px;}
body{overflow-x:clip!important;overflow-y:visible!important;}
.sticky-top{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:99990!important;
  width:100%!important;
  isolation:isolate;
}
body.admin-bar .sticky-top{top:32px!important;}
.sticky-top>.network-bar{position:relative;z-index:2;flex:0 0 auto;}
.sticky-top>.site-header{position:relative;z-index:1;}
.wp-theme-content{padding-top:var(--ang-masthead-height)!important;}
html{scroll-padding-top:calc(var(--ang-masthead-height) + 16px)!important;}
@media(max-width:782px){body.admin-bar .sticky-top{top:46px!important;}}


/* 3.0.5 blog landing layout stabilization */
.ang-blog-list{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:22px!important;
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
}
.ang-blog-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  background:linear-gradient(135deg,var(--paper,#f7f4ec) 0%,var(--panel,#fffdfa) 100%)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ang-blog-card:nth-child(even){
  background:linear-gradient(135deg,var(--panel,#fffdfa) 0%,var(--paper,#f7f4ec) 100%)!important;
}
.ang-blog-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(22,27,24,.07);}
.ang-blog-card-content{min-width:0;}
@media(max-width:760px){.ang-blog-list{gap:16px!important}.ang-blog-card:hover{transform:none}}


/* 3.2.0 Robert Rasha family visual-parity pass -----------------------------
   Keep Robert Rasha a distinct personal brand while using the same production
   geometry, typography, CTA behavior, blog rhythm, and form/card discipline as
   AquilaNera Global. */

/* Header CTA matches the family outline treatment instead of the old dark fill. */
.rr-unified-nav .rr-nav-action-button,
.mobile-menu .rr-nav-action-button{
  background:transparent!important;
  color:var(--accent-bright,#12402f)!important;
  border:1px solid var(--accent-bright,#12402f)!important;
  box-shadow:none!important;
}
.rr-unified-nav .rr-nav-action-button:hover,
.rr-unified-nav .rr-nav-action-button:focus-visible,
.mobile-menu .rr-nav-action-button:hover,
.mobile-menu .rr-nav-action-button:focus-visible{
  background:var(--accent-bright,#12402f)!important;
  color:#fff!important;
  border-color:var(--accent-bright,#12402f)!important;
}

/* Match the corporate masthead content rail and text sizing. */
.site-header .nav.rr-unified-nav{
  max-width:1360px!important;
  min-height:76px!important;
  padding:12px 24px!important;
}
.rr-unified-nav .nav-links{gap:20px!important;font-family:'Source Sans 3',system-ui,sans-serif!important;}
.rr-unified-nav .nav-links a{font-size:14px!important;font-weight:650!important;line-height:1.4!important;}
.rr-unified-nav .brand-text{font-family:'Source Sans 3',system-ui,sans-serif!important;font-size:15px!important;font-weight:600!important;}
.rr-unified-nav .rr-nav-consult{min-width:190px!important;min-height:42px!important;}
@media(min-width:1180px){.rr-unified-nav .nav-links{gap:24px!important}.rr-unified-nav .nav-links a{font-size:15px!important}}

/* Six primary homepage feature cards form a balanced 3 x 2 grid and share height. */
.home .card-grid{align-items:stretch;}
.home .card-grid>.card{height:100%;box-sizing:border-box;display:flex;flex-direction:column;}
.home .card-grid>.card>p:last-child{margin-top:auto;}
@media(min-width:980px){.home .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}

/* Blog pagination and landing presentation mirror the AquilaNera production blog. */
.ang-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:34px}
.ang-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border:1px solid var(--line,#d8d2c5);border-radius:10px;text-decoration:none;color:var(--ink,#161b18)}
.ang-pagination .current,.ang-pagination a:hover{border-color:var(--accent,#2e8b69);color:var(--accent-bright,#12402f)}

/* Keep theme typography authoritative even though the bookstore stylesheet is loaded. */
.wp-theme-content,
.wp-theme-content input,
.wp-theme-content select,
.wp-theme-content textarea,
.wp-theme-content button{font-family:'Source Sans 3',system-ui,sans-serif;}
.wp-theme-content h1,.wp-theme-content h2,.wp-theme-content h3,.wp-theme-content h4{font-family:'Playfair Display',Georgia,serif;}


/* Shared full-width visual hero system used by the personal blog. */
.visual-hero{
  padding:clamp(44px,4vw,64px) 0!important;
  text-align:left!important;
  min-height:0!important;
}
.visual-hero .hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:clamp(42px,5vw,78px);
  align-items:center;
  max-width:var(--maxw);
  margin:0 auto;
}
.visual-hero .hero-copy{min-width:0;position:relative;z-index:2;}
.visual-hero .hero-copy h1{
  max-width:760px!important;
  margin:24px 0 20px!important;
  font-size:clamp(2.55rem,4.25vw,4.15rem)!important;
  line-height:1.01!important;
  letter-spacing:-.035em!important;
}
.visual-hero .hero-sub{
  max-width:760px!important;
  margin:0 0 28px!important;
  font-size:clamp(1.02rem,1.35vw,1.18rem)!important;
  line-height:1.72!important;
}
.visual-hero .hero-ctas{justify-content:flex-start!important;margin-top:0!important;}
.visual-hero .hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.visual-hero .hero-links a{
  display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;
  border:1px solid var(--panel-border,#d8d2c5);border-radius:999px;
  background:rgba(255,255,255,.48);color:var(--ink-soft,#66706a);
  text-decoration:none;font-size:.78rem;font-weight:700;
}
.visual-hero .hero-links a:hover,.visual-hero .hero-links a:focus-visible{
  border-color:var(--accent-bright,#12402f);color:var(--accent-bright,#12402f);
}
.hero-visual{position:relative;z-index:2;width:100%;max-width:620px;justify-self:end;}
.visual-window,.visual-browser{
  background:rgba(255,253,250,.94);border:10px solid var(--ink,#161b18);border-radius:22px;
  box-shadow:0 28px 60px rgba(22,27,24,.12);overflow:hidden;
}
.visual-window-top,.visual-browser-bar{
  min-height:38px;padding:0 13px;display:flex;align-items:center;gap:6px;background:#f3f0e9;
  border-bottom:1px solid var(--panel-border,#d8d2c5);color:var(--ink-soft,#66706a);
}
.visual-window-top>span,.visual-browser-bar>span{width:8px;height:8px;border-radius:50%;background:#c8c1b3;display:block;}
.visual-window-top strong{margin-left:auto;font-size:.72rem;letter-spacing:.03em;color:var(--ink-soft,#66706a);}
.visual-stack{display:grid;gap:13px;padding:24px;}
.visual-tile{padding:16px 17px;border:1px solid var(--panel-border,#d8d2c5);border-radius:14px;background:#fff;}
.visual-tile b{display:block;color:var(--ink,#161b18);font-size:.94rem;margin-bottom:4px;}
.visual-tile span{display:block;color:var(--ink-soft,#66706a);font-size:.8rem;line-height:1.45;}
.visual-metric{margin:24px 24px 4px;padding:18px;border-radius:14px;background:rgba(31,138,99,.08);border:1px solid rgba(31,138,99,.18);}
.visual-metric span,.visual-risk small{display:block;color:var(--ink-soft,#66706a);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.visual-metric b,.visual-risk b{display:block;color:var(--ink,#161b18);font-size:1.15rem;}
.visual-list{display:grid;grid-template-columns:28px 1fr;gap:13px 12px;padding:22px 24px 26px;align-items:start;}
.visual-list i{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:rgba(31,138,99,.12);color:var(--accent-bright,#12402f);font-style:normal;font-size:.76rem;font-weight:800;}
.visual-list b{display:block;color:var(--ink,#161b18);font-size:.9rem;margin-bottom:2px;}
.visual-list span{display:block;color:var(--ink-soft,#66706a);font-size:.77rem;line-height:1.4;}
.visual-risk{margin:24px 24px 0;padding:18px;border-radius:14px;background:rgba(31,138,99,.08);border:1px solid rgba(31,138,99,.18);}
.visual-flow{display:flex;align-items:center;justify-content:center;gap:13px;padding:28px 20px 18px;}
.visual-flow div{min-width:92px;padding:14px 10px;text-align:center;border:1px solid var(--panel-border,#d8d2c5);border-radius:14px;background:#fff;}
.visual-flow div b{display:grid;place-items:center;width:28px;height:28px;margin:0 auto 7px;border-radius:50%;background:rgba(31,138,99,.12);color:var(--accent-bright,#12402f);}
.visual-flow div span{font-size:.76rem;font-weight:700;color:var(--ink,#161b18);}
.visual-flow em{font-style:normal;color:var(--ink-soft,#66706a);font-size:1.2rem;}
.visual-browser-bar div{height:18px;flex:1;margin-left:10px;border-radius:6px;background:#fff;border:1px solid #e4dfd5;color:#9b9589;font-size:.58rem;display:flex;align-items:center;padding:0 9px;}
.visual-site-preview{padding:22px;background:#fff;}
.preview-nav{width:58%;height:10px;border-radius:5px;background:#d8ddd9;margin-bottom:19px;}
.preview-hero{height:112px;border-radius:12px;background:linear-gradient(135deg,rgba(31,138,99,.12),rgba(31,138,99,.035));border:1px solid rgba(31,138,99,.14);}
.preview-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;}
.preview-row span{height:54px;border-radius:10px;background:#f4f1eb;border:1px solid #e6e0d5;}
.visual-status{padding:14px 18px 17px;background:#f7f4ee;border-top:1px solid var(--panel-border,#d8d2c5);}
.visual-status b{display:block;font-size:.85rem;color:var(--ink,#161b18);margin-bottom:2px;}.visual-status span{font-size:.72rem;color:var(--ink-soft,#66706a);}
.visual-app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:24px;}
.visual-app-grid div{min-height:54px;padding:12px;border:1px solid var(--panel-border,#d8d2c5);border-radius:12px;background:#fff;display:flex;align-items:center;font-size:.82rem;font-weight:700;color:var(--ink,#161b18);}

@media(max-width:980px){
  .visual-hero .hero-grid{grid-template-columns:1fr;gap:34px;}
  .hero-visual{justify-self:start;max-width:680px;}
  .visual-hero .hero-copy h1{max-width:820px!important;}
}
@media(max-width:700px){
  .visual-hero{padding:38px 0 44px!important;}
  .visual-hero .hero-grid{gap:28px;}
  .visual-hero .hero-copy h1{font-size:clamp(2.15rem,10vw,3rem)!important;margin:18px 0 16px!important;}
  .visual-hero .hero-sub{font-size:1rem!important;line-height:1.62!important;margin-bottom:22px!important;}
  .visual-hero .hero-links{margin-top:18px;gap:8px;}
  .visual-window,.visual-browser{border-width:7px;border-radius:18px;}
  .visual-stack,.visual-list,.visual-app-grid{padding:18px;}
  .visual-flow{gap:7px;padding:20px 12px 14px;}
  .visual-flow div{min-width:0;flex:1;padding:11px 6px;}
  .visual-flow em{font-size:.9rem;}
}

/* 3.2.1 Robert Rasha bio-site restoration and header CTA hardening ----------
   The personal site keeps the same family masthead geometry while preserving
   Robert Rasha as a biography/author site rather than a product property. */
.site-header .rr-unified-nav .rr-nav-consult.rr-nav-action-button,
.site-header .rr-unified-nav > a.rr-nav-consult,
.site-header .mobile-menu .rr-nav-action-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:12px 22px!important;
  border:1px solid var(--accent-bright,#12402f)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.4)!important;
  color:var(--accent-bright,#12402f)!important;
  font-family:'Source Sans 3',system-ui,sans-serif!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.2!important;
  text-decoration:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.site-header .rr-unified-nav .rr-nav-consult.rr-nav-action-button:hover,
.site-header .rr-unified-nav .rr-nav-consult.rr-nav-action-button:focus-visible,
.site-header .rr-unified-nav > a.rr-nav-consult:hover,
.site-header .rr-unified-nav > a.rr-nav-consult:focus-visible,
.site-header .mobile-menu .rr-nav-action-button:hover,
.site-header .mobile-menu .rr-nav-action-button:focus-visible{
  background:var(--accent-bright,#12402f)!important;
  color:#fff!important;
  border-color:var(--accent-bright,#12402f)!important;
  transform:none!important;
  box-shadow:none!important;
}
@media(min-width:1121px){
  .site-header .rr-unified-nav .rr-nav-consult{min-width:198px!important;height:46px!important;}
}
@media(max-width:1120px){
  .site-header .mobile-menu .rr-nav-action-button{width:100%!important;}
}

/* Keep the restored personal hero/photo visually intentional. */
.home .hero .author-photo-frame{
  width:148px!important;
  height:148px!important;
  margin:0 auto 22px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  border:1px solid var(--panel-border,#d8d2c5)!important;
  box-shadow:0 14px 34px rgba(22,27,24,.10)!important;
  background:var(--panel,#fffdfa)!important;
}
.home .hero .author-photo{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center top!important;
}

/* 3.2.3 family masthead scale ------------------------------------------------
   Match the larger AquilaNera/Platinum header geometry while preserving the
   Robert Rasha personal-brand navigation and cart. */
@media (min-width:701px){
  .network-bar .wrap{min-height:38px!important;font-size:.72rem!important;padding-top:7px!important;padding-bottom:7px!important;}
  .site-header .nav.rr-unified-nav{min-height:84px!important;padding-top:14px!important;padding-bottom:14px!important;gap:18px!important;max-width:1240px!important;}
  .rr-unified-nav .brand{width:190px!important;flex-basis:190px!important;gap:11px!important;}
  .rr-unified-nav .brand-mark{font-size:15px!important;padding:7px 11px!important;}
  .rr-unified-nav .brand-text{font-size:16px!important;font-weight:650!important;}
  .rr-unified-nav .nav-links{gap:22px!important;}
  .rr-unified-nav .nav-links a{font-size:16px!important;font-weight:650!important;}
  .site-header .rr-unified-nav .rr-nav-consult{min-width:205px!important;height:48px!important;min-height:48px!important;font-size:14px!important;padding-left:20px!important;padding-right:20px!important;}
  .rr-cart-link,.rr-unified-nav .cart-btn{width:48px!important;height:48px!important;}
  .rr-cart-link svg,.rr-unified-nav .cart-btn svg{width:23px!important;height:23px!important;}
  .mobile-toggle{width:48px!important;height:48px!important;}
  .mobile-toggle svg{width:24px!important;height:24px!important;}
}
@media (min-width:1180px){
  .rr-unified-nav .nav-links{gap:25px!important;}
  .rr-unified-nav .nav-links a{font-size:16px!important;}
}
@media (max-width:700px){
  .site-header .nav.rr-unified-nav{min-height:74px!important;}
  .rr-unified-nav .brand-text{font-size:15px!important;}
}

/* 3.2.4 Robert Rasha logo + deterministic active navigation -----------------
   The personal brand uses the supplied Robert M. Rasha Jr. artwork. The
   primary navigation underline is owned only by the single .ang-active item,
   preventing WordPress/browser aria-current state from lighting every link. */
.rr-unified-nav .brand{
  width:280px!important;
  flex:0 0 280px!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
}
.rr-unified-nav .rr-brand-logo{
  display:block!important;
  width:auto!important;
  height:50px!important;
  max-width:280px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-header .rr-unified-nav .nav-links a::after{
  right:100%!important;
}
.site-header .rr-unified-nav .nav-links li.ang-active>a::after{
  right:0!important;
}
.site-header .rr-unified-nav .nav-links a[aria-current="page"]::after{
  right:100%!important;
}
.site-header .rr-unified-nav .nav-links li.ang-active>a[aria-current="page"]::after{
  right:0!important;
}
.site-header .rr-unified-nav .nav-links a{
  color:#111713!important;
  opacity:.82!important;
}
.site-header .rr-unified-nav .nav-links li.ang-active>a{
  color:#12402F!important;
  opacity:1!important;
}
@media(min-width:1121px){
  .site-header .nav.rr-unified-nav{max-width:1320px!important;}
}
@media(max-width:1120px){
  .rr-unified-nav .brand{width:auto!important;flex:0 1 auto!important;max-width:calc(100% - 108px)!important;}
  .rr-unified-nav .rr-brand-logo{height:46px!important;max-width:min(310px,70vw)!important;}
}
@media(max-width:560px){
  .rr-unified-nav .rr-brand-logo{height:40px!important;max-width:min(270px,68vw)!important;}
}

/* 3.2.5 Robert Rasha homepage alignment — personal bio hero remains centered. */
@media (min-width:860px){
  body.home .hero:not(.cdiq-hero){text-align:center!important;}
  body.home .hero:not(.cdiq-hero) .hero-content{max-width:900px!important;margin-left:auto!important;margin-right:auto!important;}
  body.home .hero:not(.cdiq-hero) h1{max-width:980px;margin-left:auto;margin-right:auto;}
  body.home .hero:not(.cdiq-hero) .hero-sub{max-width:760px;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
  body.home .hero:not(.cdiq-hero) .hero-ctas{justify-content:center!important;}
}

/* 3.2.7 homepage hub: equal-height cards with CTA buttons centered at a shared bottom position. */
body.home .card-grid > .card{display:flex!important;flex-direction:column!important;height:100%!important;}
body.home .card-grid > .card > p:last-child{margin-top:auto!important;text-align:center!important;padding-top:18px!important;}
body.home .card-grid > .card > p:last-child .btn{margin-left:auto!important;margin-right:auto!important;}

/* 3.2.9 Robert Rasha footer/header identity consistency. */
.site-footer .rr-footer-wordmark{
  display:block;
  width:min(360px,100%);
  height:auto;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:700px){
  .site-footer .rr-footer-wordmark{width:min(300px,82vw);}
}

/* 3.3.0 homepage interaction hardening ------------------------------------- */
.hero-overlay{pointer-events:none!important;}
.hero-content,.hero-ctas,.card-grid,.quote-panel{position:relative;z-index:2;}
.rr-home-blog-card{display:flex!important;flex-direction:column;text-decoration:none!important;color:inherit!important;cursor:pointer;}
.rr-home-blog-card h3,.rr-home-blog-card p{color:inherit;}
.rr-home-blog-card .rr-home-blog-link{margin-top:auto;padding-top:18px;font-weight:800;color:var(--accent-ink,#174f3d);}
.rr-home-blog-card:hover .rr-home-blog-link{text-decoration:underline;}

body.home .section a{position:relative;z-index:4;pointer-events:auto;}

/* 3.3.3 homepage quote scale + logo rendering -------------------------------- */
body.home .quote-panel blockquote{
  font-size:clamp(1.35rem,2.15vw,2rem)!important;
  line-height:1.30!important;
  letter-spacing:-.018em!important;
}
body.home .quote-panel cite{margin-top:16px!important;font-size:.95rem!important;}
.rr-unified-nav .rr-brand-logo,
.site-footer .rr-footer-wordmark{
  image-rendering:auto;
  backface-visibility:hidden;
}
.rr-unified-nav .rr-brand-logo{
  width:280px!important;
  height:auto!important;
  max-width:280px!important;
}
@media(max-width:1120px){
  .rr-unified-nav .rr-brand-logo{width:min(310px,70vw)!important;height:auto!important;}
}
@media(max-width:560px){
  .rr-unified-nav .rr-brand-logo{width:min(270px,68vw)!important;height:auto!important;}
}

/* 3.3.4 approved Robert M. Rasha Jr. logo replacement -----------------------
   Uses the supplied RobertMRashaJrLogo_Bold.png artwork unchanged. The source
   includes a large transparent canvas, so the image element crops that empty
   canvas in CSS rather than altering the approved artwork itself. */
.rr-unified-nav .rr-brand-logo{
  width:280px!important;
  height:50px!important;
  max-width:280px!important;
  object-fit:cover!important;
  object-position:center 45%!important;
}
.site-footer .rr-footer-wordmark{
  width:min(360px,100%)!important;
  height:62px!important;
  max-width:100%!important;
  object-fit:cover!important;
  object-position:center 45%!important;
}
@media(max-width:1120px){
  .rr-unified-nav .rr-brand-logo{width:min(310px,70vw)!important;height:46px!important;}
}
@media(max-width:560px){
  .rr-unified-nav .rr-brand-logo{width:min(270px,68vw)!important;height:40px!important;}
  .site-footer .rr-footer-wordmark{width:min(300px,82vw)!important;height:54px!important;}
}

/* 3.3.5 Robert masthead logo sizing -----------------------------------------
   Match AquilaNera Global's desktop masthead presence while preserving the
   wider Robert M. Rasha Jr. wordmark. The bundled PNG is tightly cropped from
   the approved source so browser scaling uses the artwork pixels, not the
   original oversized transparent canvas. */
.rr-unified-nav .brand{
  width:330px!important;
  flex:0 0 330px!important;
}
.rr-unified-nav .rr-brand-logo{
  display:block!important;
  width:auto!important;
  height:46px!important;
  max-width:330px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-footer .rr-footer-wordmark{
  width:auto!important;
  height:48px!important;
  max-width:min(330px,100%)!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:1120px){
  .rr-unified-nav .brand{width:auto!important;flex:0 1 auto!important;max-width:calc(100% - 108px)!important;}
  .rr-unified-nav .rr-brand-logo{height:44px!important;max-width:min(315px,70vw)!important;}
}
@media(max-width:560px){
  .rr-unified-nav .rr-brand-logo{height:38px!important;max-width:min(275px,68vw)!important;}
  .site-footer .rr-footer-wordmark{height:42px!important;max-width:min(285px,82vw)!important;}
}


/* 3.3.6 supplied Robert logo swap -------------------------------------------
   Replaces the site logo with the exact user-supplied artwork, tightly cropped
   so it renders crisply at the same visual masthead height as AquilaNera Global. */
.rr-unified-nav .brand{
  width:340px!important;
  flex:0 0 340px!important;
}
.rr-unified-nav .rr-brand-logo{
  display:block!important;
  width:auto!important;
  height:46px!important;
  max-width:340px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-footer .rr-footer-wordmark{
  width:auto!important;
  height:48px!important;
  max-width:min(340px,100%)!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:1120px){
  .rr-unified-nav .brand{width:auto!important;flex:0 1 auto!important;max-width:calc(100% - 108px)!important;}
  .rr-unified-nav .rr-brand-logo{height:44px!important;max-width:min(320px,70vw)!important;}
}
@media(max-width:560px){
  .rr-unified-nav .rr-brand-logo{height:38px!important;max-width:min(280px,68vw)!important;}
  .site-footer .rr-footer-wordmark{height:42px!important;max-width:min(290px,82vw)!important;}
}


/* 3.3.7 static masthead logo invariant -------------------------------------
   Keep the Robert wordmark at a constant masthead size across every route.
   Page content, active menu state, and navigation width must never shrink it. */
.rr-unified-nav .brand{
  width:340px!important;
  min-width:340px!important;
  max-width:340px!important;
  flex:0 0 340px!important;
  flex-shrink:0!important;
}
.rr-unified-nav .rr-brand-logo{
  display:block!important;
  width:auto!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  max-width:none!important;
  flex:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:1100px){
  .rr-unified-nav .brand{
    width:340px!important;
    min-width:340px!important;
    max-width:min(340px,calc(100vw - 120px))!important;
    flex:0 0 auto!important;
  }
  .rr-unified-nav .rr-brand-logo{height:46px!important;min-height:46px!important;max-height:46px!important;max-width:min(340px,calc(100vw - 120px))!important;}
}
@media(max-width:560px){
  .rr-unified-nav .brand{width:280px!important;min-width:0!important;max-width:calc(100vw - 96px)!important;}
  .rr-unified-nav .rr-brand-logo{height:38px!important;min-height:38px!important;max-height:38px!important;max-width:calc(100vw - 96px)!important;}
}


/* 3.3.8 cache-safe static logo asset ----------------------------------------
   New asset filename prevents stale CDN/browser copies of the earlier oversized
   transparent-canvas logo from being reused on interior pages. */
.rr-unified-nav .brand{width:340px!important;min-width:340px!important;max-width:340px!important;flex:0 0 340px!important;}
.rr-unified-nav .rr-brand-logo{display:block!important;width:auto!important;height:46px!important;min-height:46px!important;max-height:46px!important;max-width:none!important;}
@media(max-width:560px){.rr-unified-nav .brand{width:280px!important;min-width:0!important;max-width:calc(100vw - 96px)!important}.rr-unified-nav .rr-brand-logo{height:38px!important;min-height:38px!important;max-height:38px!important;max-width:calc(100vw - 96px)!important}}


/* 3.4.0 AquilaNera-style Robert logo ----------------------------------------
   Uses the exact transparent logo supplied by the site owner. Match the
   AquilaNera Global masthead height and preserve the artwork's natural width.
   Keep the logo size invariant on every desktop/tablet route. */
.rr-unified-nav .brand{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
  flex-shrink:0!important;
}
.rr-unified-nav .rr-brand-logo{
  display:block!important;
  width:auto!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-footer .rr-footer-wordmark{
  display:block!important;
  width:auto!important;
  height:46px!important;
  max-height:46px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:invert(1) brightness(1.18)!important;
}
.ang-construction-logo{
  width:auto!important;
  height:46px!important;
  max-height:46px!important;
  max-width:min(100%,320px)!important;
  object-fit:contain!important;
}
@media(max-width:560px){
  .rr-unified-nav .brand{max-width:calc(100vw - 96px)!important;}
  .rr-unified-nav .rr-brand-logo{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    max-width:calc(100vw - 96px)!important;
  }
  .site-footer .rr-footer-wordmark{height:38px!important;max-height:38px!important;max-width:min(100%,280px)!important;}
  .ang-construction-logo{height:38px!important;max-height:38px!important;max-width:min(100%,280px)!important;}
}


/* 3.4.1 Robert logo visual-size parity ---------------------------------------
   The supplied Robert wordmark contains intentional transparent padding in its
   canvas. AquilaNera's logo artwork fills almost all of its image height, so a
   46px CSS image height makes the Robert artwork look much smaller. Keep the
   supplied logo file unchanged and compensate only in layout sizing so the
   visible Robert wordmark matches AquilaNera Global's masthead presence. */
.rr-unified-nav .brand{
  flex:0 0 auto!important;
  flex-shrink:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.rr-unified-nav .rr-brand-logo{
  display:block!important;
  width:auto!important;
  height:71px!important;
  min-height:71px!important;
  max-height:71px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-footer .rr-footer-wordmark{
  width:auto!important;
  height:71px!important;
  min-height:71px!important;
  max-height:71px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ang-construction-logo{
  width:auto!important;
  height:71px!important;
  min-height:71px!important;
  max-height:71px!important;
  max-width:min(100%,520px)!important;
  object-fit:contain!important;
}
@media(max-width:560px){
  .rr-unified-nav .brand{max-width:calc(100vw - 96px)!important;}
  .rr-unified-nav .rr-brand-logo{
    height:59px!important;
    min-height:59px!important;
    max-height:59px!important;
    max-width:calc(100vw - 96px)!important;
  }
  .site-footer .rr-footer-wordmark{
    height:59px!important;
    min-height:59px!important;
    max-height:59px!important;
    max-width:min(100%,420px)!important;
  }
  .ang-construction-logo{
    height:59px!important;
    min-height:59px!important;
    max-height:59px!important;
    max-width:min(100%,420px)!important;
  }
}


/* 3.4.2 editorial author identity */
.rr-blog-author-intro{padding:34px 0 0;background:var(--paper,#f7f4ec)}
.rr-blog-author-intro-card,.rr-article-author-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:28px;align-items:center;background:linear-gradient(135deg,var(--panel,#fffdfa),var(--paper,#f7f4ec));border:1px solid var(--panel-border,#ddd5c7);border-radius:22px;padding:28px 32px;box-shadow:0 12px 30px rgba(22,27,24,.04)}
.rr-blog-author-intro-card{max-width:1120px;margin:0 auto}.rr-article-author-card{max-width:780px;margin:52px auto 0}
.rr-author-avatar{width:128px;height:128px;border-radius:50%;overflow:hidden;background:#e9e3d7;border:1px solid var(--panel-border,#ddd5c7)}
.rr-author-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rr-author-copy h2{margin:5px 0 8px;font-size:clamp(1.35rem,2.2vw,1.9rem)}.rr-author-copy p{margin:10px 0 0;color:var(--text-dim,#66706a);line-height:1.65}
.rr-author-tagline,.ang-post-author-line{color:var(--text-dim,#66706a)}.ang-post-author-line{margin:18px 0 0;font-size:.96rem}
.rr-author-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px}.rr-author-links a{color:var(--accent-bright,#12402f);font-weight:700;text-decoration:none}.rr-author-links a:hover{text-decoration:underline}
.rr-byline{color:var(--accent-bright,#12402f)}
@media(max-width:640px){.rr-blog-author-intro{padding-top:22px}.rr-blog-author-intro-card,.rr-article-author-card{grid-template-columns:1fr;padding:24px}.rr-author-avatar{width:96px;height:96px}.rr-article-author-card{margin-top:36px}}

/* 3.4.3 Consultation form verification */
.rr-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.rr-consultation-notice{margin:0 0 24px;padding:16px 18px;border-radius:10px;border:1px solid var(--panel-border,#ddd5c7)}
.rr-consultation-error{background:#fff7f4;border-color:#d7aaa0}
.rr-consultation-success{text-align:center;background:#f6faf7;border-color:#b9d4c7}
.rr-consultation-success p{color:var(--text-dim,#66706a)}
.rr-math-field{max-width:360px}
.rr-math-field .hint{display:block;margin-top:6px}

/* 3.4.6 blog post images: left/right/centered images, galleries and captions from the editor */
.ang-post-body .alignleft,.ang-post-body .wp-block-image.alignleft{float:left;max-width:48%;margin:.4em 1.6em 1em 0}
.ang-post-body .alignright,.ang-post-body .wp-block-image.alignright{float:right;max-width:48%;margin:.4em 0 1em 1.6em}
.ang-post-body .wp-block-gallery{display:flex;flex-wrap:wrap;gap:12px;margin:2em 0;padding:0;list-style:none}
.ang-post-body .wp-block-gallery figure{margin:0;flex:1 1 220px}
.ang-post-body .wp-block-gallery img{width:100%;height:100%;object-fit:cover}
.ang-post-body::after{content:"";display:block;clear:both}
@media(max-width:640px){.ang-post-body .alignleft,.ang-post-body .alignright{float:none;max-width:100%;margin:1.6em auto}}

/* 3.4.6 editor buttons inside blog posts */
.ang-post-body .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:1.6em 0}
.ang-post-body .wp-block-buttons.is-content-justification-center{justify-content:center}
.ang-post-body .wp-block-button__link{display:inline-block;background:var(--ink,#161b18);color:#fff!important;padding:14px 28px;border-radius:8px;font-weight:700;text-decoration:none!important;border:1px solid var(--ink,#161b18);line-height:1.2}
.ang-post-body .wp-block-button__link:hover{background:var(--accent,#2e8b69);border-color:var(--accent,#2e8b69)}
.ang-post-body .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink,#161b18)!important}
.ang-post-body .wp-block-image.is-resized img{height:auto}

/* 3.4.8 images in posts: override WordPress core's table-style image blocks (they squeezed captions into a thin column) */
.ang-post-body figure.wp-block-image,.ang-post-body figure.wp-block-image.aligncenter{display:block;width:auto;max-width:100%;margin:2em auto;text-align:center}
.ang-post-body figure.wp-block-image img{display:block;margin-left:auto;margin-right:auto;max-width:100%;height:auto}
.ang-post-body figure.wp-block-image>figcaption,.ang-post-body .wp-element-caption{display:block;caption-side:top;width:auto;max-width:560px;margin:12px auto 0;text-align:center;font-size:.9rem;line-height:1.5}
.ang-post-body figure.wp-block-image.alignleft{display:block;float:left;max-width:48%;margin:.4em 1.6em 1em 0;text-align:left}
.ang-post-body figure.wp-block-image.alignright{display:block;float:right;max-width:48%;margin:.4em 0 1em 1.6em;text-align:left}
.ang-post-body figure.wp-block-image.alignleft>figcaption,.ang-post-body figure.wp-block-image.alignright>figcaption{margin-left:0;margin-right:0;text-align:left}
.ang-post-body figure.wp-block-image.alignleft img,.ang-post-body figure.wp-block-image.alignright img{margin-left:0;margin-right:0}
.ang-post-body figure.wp-block-image.alignwide,.ang-post-body figure.wp-block-image.alignfull{max-width:none}
@media(max-width:640px){.ang-post-body figure.wp-block-image.alignleft,.ang-post-body figure.wp-block-image.alignright{float:none;max-width:100%;margin:1.6em auto;text-align:center}.ang-post-body figure.wp-block-image.alignleft img,.ang-post-body figure.wp-block-image.alignright img{margin-left:auto;margin-right:auto}}
/* featured/other images and general WordPress content defaults */
.ang-post-body .wp-block-buttons{align-items:center}
.ang-post-body .wp-block-button__link{border-radius:8px}

/* 3.4.9 top cap: plain black strip, no links to other sites */
.network-bar{background:#0c120f!important}
.network-bar .wrap{min-height:12px!important;padding:0!important}

/* 3.4.11 the author photo is a transparent cut-out: every photo frame gets the same dark backdrop (matches the black top cap) */
.author-photo-frame,.rr-author-avatar,.home .hero .author-photo-frame{background:radial-gradient(circle at 50% 38%,#34453d 0%,#18211c 60%,#0c120f 100%)!important}
.author-photo,.rr-author-avatar img{object-position:center 20%}

/* 3.4.14 Legal page and footer link */
.rr-legal{max-width:820px;margin:0 auto;font-size:1.02rem;line-height:1.72;color:var(--ink,#161b18)}
.rr-legal h2{font-size:1.5rem;margin:44px 0 12px;scroll-margin-top:110px}
.rr-legal p{margin:0 0 14px}
.rr-legal ul{margin:0 0 16px;padding-left:1.25em}.rr-legal li{margin:0 0 8px}
.rr-legal a{color:var(--accent-bright,#12402f);text-decoration:underline;text-underline-offset:3px}
.rr-legal-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0 0 22px;border-bottom:1px solid var(--panel-border,#ddd5c7)}
.rr-legal-toc a{font-size:.82rem;font-weight:700;text-decoration:none;color:inherit;border:1px solid var(--panel-border,#ddd5c7);border-radius:999px;padding:6px 13px;background:var(--panel,#fffdfa)}
.rr-legal-toc a:hover{border-color:var(--accent,#2e8b69)}
.footer-bottom .rr-footer-sep{opacity:.5;margin:0 6px}
.footer-bottom a{color:#c9d0cb;text-decoration:none}.footer-bottom a:hover,.footer-bottom a:focus-visible{color:#91dfbb;text-decoration:underline;text-underline-offset:3px}


/* 3.4.17 Blog list cards: the picture sits on the left. It fills the card's own height and never stretches the card. */
.ang-blog-card.has-image{grid-template-columns:clamp(120px,15%,170px) minmax(0,1fr)!important}
.ang-blog-card.has-image .ang-blog-card-content{padding:22px 26px}
.ang-blog-card .ang-blog-thumb{position:relative;display:block;min-height:0!important;height:auto;background:#18211c;overflow:hidden}
.ang-blog-card .ang-blog-thumb img{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover;display:block}
.ang-blog-card .ang-blog-thumb.is-inline img{object-fit:contain;padding:10px;box-sizing:border-box}
.ang-blog-tile{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:700;font-size:2rem;letter-spacing:.06em;color:#e7d9a8;background:radial-gradient(circle at 50% 38%,#34453d 0%,#18211c 70%)}
@media(max-width:760px){
  .ang-blog-card.has-image{grid-template-columns:92px minmax(0,1fr)!important}
  .ang-blog-card.has-image .ang-blog-card-content{padding:16px 16px}
  .ang-blog-card .ang-blog-thumb{height:auto}
  .ang-blog-tile{font-size:1.4rem}
}

/* 3.4.19 Single post featured image: show the whole picture (no cropping). A tall picture, such as a book cover, sits centered on a dark backdrop instead of being zoomed in. */
.ang-post-feature figure{background:radial-gradient(circle at 50% 38%,#34453d 0%,#18211c 62%,#0c120f 100%)}
.ang-post-feature img{object-fit:contain!important;width:100%;height:auto;max-height:620px}
@media(max-width:760px){.ang-post-feature img{max-height:560px}}

/* 3.4.21 Article page: a traditional blog layout. Wide header, picture on a plain background, comfortable reading column, sidebar. */
.rr-post{background:var(--paper,#f7f4ec)}
.rr-post-wrap{width:100%;max-width:1320px;margin:0 auto;padding-left:32px;padding-right:32px;box-sizing:border-box}
.rr-post-header{padding:64px 0 34px}
.rr-post-crumbs{font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--ink-soft,#66706a);margin-bottom:18px}
.rr-post-crumbs a{color:var(--accent-ink,#174f3d);text-decoration:none}.rr-post-crumbs a:hover{text-decoration:underline}
.rr-post-header h1{max-width:1100px;margin:0;font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.06;letter-spacing:-.02em;color:var(--ink,#161b18)}
.rr-post-deck{max-width:900px;margin:20px 0 0;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.6;color:var(--ink-soft,#53605a)}
.rr-post-byline{display:flex;align-items:center;gap:14px;margin-top:26px}
.rr-post-byline-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex:none;background:#18211c;display:block}
.rr-post-byline-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.rr-post-byline-text{display:flex;flex-direction:column;font-size:.92rem;line-height:1.35;color:var(--ink-soft,#66706a)}
.rr-post-byline-text strong{color:var(--ink,#161b18);font-size:1rem}
.rr-post-feature-wrap{padding-bottom:6px}
.rr-post-feature{margin:0;border-radius:18px;overflow:hidden;background:transparent}
.rr-post-feature img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover}
.rr-post-feature.is-portrait{max-width:420px;margin:0 auto;border-radius:14px;box-shadow:0 18px 44px rgba(22,27,24,.16)}
.rr-post-feature.is-portrait img{max-height:none;object-fit:contain}
.rr-post-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start;padding-top:44px;padding-bottom:84px}
.rr-post-main{min-width:0}
.rr-post .rr-post-body{max-width:900px;margin:0;font-size:1.18rem;line-height:1.8;color:#2b352f}
.rr-post .rr-post-body p{margin:0 0 1.4em}
.rr-post .rr-post-body a{color:var(--accent-ink,#174f3d);text-decoration:underline;text-underline-offset:3px}
.rr-post .rr-post-body h2{margin:2em 0 .6em;font-size:clamp(1.55rem,2.6vw,2rem)}
.rr-post .rr-post-body > p:first-of-type{font-size:1.22rem;color:var(--ink,#161b18)}
.rr-share{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;max-width:900px;margin-top:44px;padding:20px 0;border-top:1px solid var(--line,#ddd5c7);border-bottom:1px solid var(--line,#ddd5c7)}
.rr-share-label{font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft,#66706a)}
.rr-share-buttons{display:flex;flex-wrap:wrap;gap:8px}
.rr-share-btn{appearance:none;border:1px solid var(--line,#cfc6b4);background:#fff;color:var(--ink,#161b18);font:inherit;font-weight:600;font-size:.9rem;padding:8px 16px;border-radius:999px;text-decoration:none;cursor:pointer;line-height:1.2}
.rr-share-btn:hover{border-color:var(--accent-ink,#174f3d);color:var(--accent-ink,#174f3d)}
.rr-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px;margin-top:28px}
.rr-post-nav a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line,#ddd5c7);border-radius:14px;text-decoration:none;color:var(--ink,#161b18);background:var(--panel,#fffdfa)}
.rr-post-nav a:hover{border-color:var(--accent-ink,#174f3d)}
.rr-post-nav span{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--ink-soft,#66706a)}
.rr-post-nav-next{text-align:right;grid-column:2}
.rr-post-side{position:sticky;top:112px;display:grid;gap:20px}
.rr-side-card{background:var(--panel,#fffdfa);border:1px solid var(--line,#ddd5c7);border-radius:18px;padding:22px}
.rr-side-eyebrow{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink-soft,#66706a);margin-bottom:10px}
.rr-side-author{text-align:left}
.rr-side-avatar{width:84px;height:84px;border-radius:50%;overflow:hidden;background:#18211c;margin-bottom:14px}
.rr-side-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.rr-side-author h2{margin:0;font-size:1.35rem;line-height:1.2}
.rr-side-tagline{font-size:.88rem;color:var(--ink-soft,#66706a);margin:4px 0 10px}
.rr-side-author p{margin:0 0 12px;font-size:.95rem;line-height:1.6;color:var(--ink-soft,#53605a)}
.rr-side-link{display:inline-block;font-weight:700;font-size:.92rem;color:var(--accent-ink,#174f3d);text-decoration:none}.rr-side-link:hover{text-decoration:underline}
.rr-side-list{list-style:none;margin:0 0 12px;padding:0}
.rr-side-list li{padding:10px 0;border-top:1px solid var(--line,#e6dfd0)}.rr-side-list li:first-child{border-top:0;padding-top:0}
.rr-side-list a{display:block;font-weight:700;line-height:1.3;color:var(--ink,#161b18);text-decoration:none}.rr-side-list a:hover{color:var(--accent-ink,#174f3d)}
.rr-side-list span{display:block;font-size:.8rem;color:var(--ink-soft,#66706a);margin-top:3px}
.rr-side-book{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:center}
.rr-side-book img{width:76px;height:auto;border-radius:6px;box-shadow:0 8px 20px rgba(22,27,24,.2)}
.rr-side-book strong{display:block;line-height:1.25;margin-bottom:6px;font-size:1.02rem}
@media(max-width:1020px){
  .rr-post-layout{grid-template-columns:minmax(0,1fr);gap:40px}
  .rr-post-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .rr-side-book{grid-column:1/-1}
}
@media(max-width:640px){
  .rr-post-wrap{padding-left:20px;padding-right:20px}
  .rr-post-header{padding:40px 0 24px}
  .rr-post-side{grid-template-columns:1fr}
  .rr-post-nav{grid-template-columns:1fr}.rr-post-nav-next{grid-column:1}
  .rr-post .rr-post-body{font-size:1.06rem}
}

/* 3.4.23 Phone and tablet header. (1) The header "Schedule a Consultation" button is hidden below 1120px, where the menu button takes over; an older rule was keeping it visible, which pushed the menu button off the screen. (2) With the WordPress admin bar showing on a phone (it scrolls away there), the sticky header no longer floats 46px down over the article. */
@media(max-width:1120px){
  .site-header .rr-unified-nav > a.rr-nav-consult.rr-nav-action-button{display:none!important}
}
@media(max-width:600px){
  body.admin-bar .sticky-top{top:0!important}
}
/* 3.4.23 Small phones: the logo shrinks to leave room for the cart and menu buttons instead of pushing them off the screen. */
@media(max-width:560px){
  .site-header .wrap.rr-unified-nav{padding-left:16px!important;padding-right:16px!important;gap:8px!important}
  .site-header .wrap.rr-unified-nav .brand{flex:1 1 0!important;min-width:0!important;width:auto!important;max-width:none!important}
  .site-header .wrap.rr-unified-nav .brand .rr-brand-logo{width:auto!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:42px!important;object-fit:contain!important;object-position:left center!important}
}
@media(max-width:1120px){
  .site-header .wrap.rr-unified-nav .rr-cart-link{margin-left:auto!important}
}

/* 3.4.24 Pull quote (home page and anywhere else .quote-panel is used): a dark brand card with a gold quotation mark and a quieter, more readable type size. */
.quote-panel,body.home .quote-panel{position:relative;max-width:1000px!important;margin:0 auto!important;padding:clamp(34px,5vw,60px) clamp(26px,6vw,72px) clamp(30px,4.5vw,50px)!important;border:1px solid rgba(231,217,168,.22)!important;border-left:1px solid rgba(231,217,168,.22)!important;border-radius:22px!important;background:radial-gradient(circle at 12% 0%,#34453d 0%,#18211c 55%,#0c120f 100%)!important;color:#f4efe2;box-shadow:0 22px 50px rgba(12,18,15,.22);overflow:hidden}
.quote-panel::before{content:"\201C";position:absolute;left:clamp(26px,6vw,72px);top:clamp(2px,1vw,14px);font-family:'Playfair Display',Georgia,serif;font-size:clamp(5rem,9vw,8rem);line-height:1;color:#e7d9a8;opacity:.9;pointer-events:none}
.quote-panel blockquote,body.home .quote-panel blockquote{position:relative;margin:clamp(34px,5vw,52px) 0 0!important;padding:0!important;border:0!important;max-width:860px;font-family:'Playfair Display',Georgia,serif!important;font-weight:600!important;font-size:clamp(1.2rem,2.1vw,1.7rem)!important;line-height:1.5!important;letter-spacing:0!important;color:#f7f3e8!important}
.quote-panel cite,body.home .quote-panel cite{display:flex;align-items:center;gap:12px;margin-top:clamp(20px,3vw,30px)!important;font-family:'Source Sans 3',system-ui,sans-serif;font-style:normal;font-size:.95rem!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#e7d9a8!important}

/* 3.4.25 Mobile footer: copyright on its own line, Privacy | Terms on the next line, kept clear of the floating back-to-top arrow. */
.footer-bottom .rr-footer-links{white-space:nowrap}
@media(max-width:700px){
  .site-footer .footer-bottom{padding-bottom:84px}
  .footer-bottom .rr-footer-copy{display:block;margin-bottom:8px}
  .footer-bottom>p>.rr-footer-sep{display:none}
  .footer-bottom .rr-footer-links{display:block;padding-right:76px}
}
