/* Blackwood launch hardening layer.
   Loaded after styles.css so the core visual system remains untouched. */

:root{
  --header-height:86px;
  --focus-ring:rgba(18,63,54,.34);
  --forest-image:url('https://images.unsplash.com/photo-1758781102552-b6ed66cbafe3?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=65&w=2400');
}

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease-out}

html{scroll-padding-top:calc(var(--header-height) + 18px)}
body{overflow-x:clip}
main section[id]{scroll-margin-top:calc(var(--header-height) + 18px)}

/* Keyboard and touch accessibility */
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:5px}
.button,.menu-button{touch-action:manipulation}

/* Header feels lighter at the top and gains definition only when needed. */
.site-header{transition:background-color .22s ease,box-shadow .22s ease,border-color .22s ease}
.site-header.is-scrolled{background:rgba(247,243,235,.975);box-shadow:0 10px 32px rgba(13,28,48,.055);border-bottom-color:rgba(13,28,48,.11)}
.brand{transition:opacity .18s ease,transform .18s ease}
.brand:hover{opacity:.88}
.primary-nav>a,.nav-dropdown>a{transition:color .18s ease}
.primary-nav>a:hover,.nav-dropdown>a:hover{color:var(--green)}
.nav-dropdown-menu{transform-origin:top center;box-shadow:0 20px 55px rgba(13,28,48,.11)}

/* Small motion cues, never a redesign. */
.product-card,.value-card,.product-link,.business-panel,.res-panel,.ledger-panel,.contact-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
.text-link,.company-link,.product-link a,.footer-grid a:not(.brand){transition:color .18s ease,opacity .18s ease}
.icon-sage{background:var(--sage)}
.icon-sage .mini-mark i{background:var(--green)}
.icon-navy .mini-mark i,.icon-green .mini-mark i{background:#e7efe3}

@media (hover:hover) and (pointer:fine){
  .product-card:hover{transform:translateY(-4px);border-color:rgba(18,63,54,.22);box-shadow:0 24px 60px rgba(13,28,48,.075)}
  .value-card:hover,.product-link:hover{transform:translateY(-3px);border-color:rgba(18,63,54,.2);box-shadow:0 18px 42px rgba(13,28,48,.06)}
  .business-panel:hover,.res-panel:hover,.ledger-panel:hover{transform:translateY(-2px)}
}

/* Cinematic forest: atmosphere only. The left side remains quiet for copy. */
.page-home main>.hero:first-child::before,
.page-company .company-hero::before{
  content:"";
  position:absolute;
  inset:-3%;
  z-index:0;
  pointer-events:none;
  background-image:var(--forest-image);
  background-size:cover;
  background-position:center 58%;
  filter:saturate(.52) contrast(.92) brightness(.82);
  transform:scale(1.03);
}
.page-home main>.hero:first-child::after,
.page-company .company-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(247,243,235,.995) 0%,rgba(247,243,235,.985) 32%,rgba(247,243,235,.9) 52%,rgba(247,243,235,.66) 74%,rgba(247,243,235,.42) 100%),
    linear-gradient(180deg,rgba(247,243,235,.52),rgba(247,243,235,.18) 56%,rgba(247,243,235,.76));
}
.page-home main>.hero:first-child::before{opacity:.52}
.page-company .company-hero::before{opacity:.58;background-position:center 52%}
.page-company .company-hero::after{background:
  linear-gradient(90deg,rgba(247,243,235,.995) 0%,rgba(247,243,235,.97) 34%,rgba(247,243,235,.83) 56%,rgba(231,237,228,.58) 78%,rgba(219,229,220,.38) 100%),
  linear-gradient(180deg,rgba(247,243,235,.44),rgba(247,243,235,.14) 58%,rgba(247,243,235,.7));
}
.page-home main>.hero:first-child>.hero-grid,
.page-company .company-hero>.hero-grid{position:relative;z-index:2}
.page-home main>.hero:first-child>.hero-orbit{z-index:2;opacity:.56}

.site-footer{position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:45% 0 -26%;background-image:var(--forest-image);background-size:cover;background-position:center 76%;filter:saturate(.4) contrast(.9) brightness(.72);opacity:.06;pointer-events:none}
.site-footer::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,243,235,1),rgba(247,243,235,.98) 48%,rgba(247,243,235,.89));pointer-events:none}
.site-footer .footer-grid{position:relative;z-index:2}

/* Large laptop / small desktop */
@media(max-width:1180px){
  .shell{width:min(1120px,calc(100% - 40px))}
  .nav-wrap{gap:22px}
  .primary-nav{gap:28px}
  .hero-grid{gap:28px}
  .row-heading{gap:52px}
  .operating-grid,.principles-grid,.workflow-grid,.thesis-grid,.editorial-grid,.mark-grid{gap:60px}
  .product-card{padding:27px}
}

/* Switch to compact navigation before it becomes cramped. */
@media(max-width:1060px){
  :root{--header-height:76px}
  .nav-wrap{height:76px;grid-template-columns:1fr auto}
  .primary-nav,.nav-cta{display:none}
  .menu-button{display:grid;justify-self:end;width:46px;height:46px;border:1px solid var(--line);background:rgba(251,249,244,.72);border-radius:7px;place-content:center;gap:6px;cursor:pointer}
  .menu-button span{display:block;width:20px;height:1.5px;background:var(--navy);transition:transform .2s ease,opacity .2s ease}
  .menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .primary-nav.open{display:grid;position:absolute;left:20px;right:20px;top:68px;padding:10px 18px 18px;background:rgba(251,249,244,.985);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 65px rgba(13,28,48,.13);gap:0;max-height:calc(100vh - 92px);overflow:auto}
  .primary-nav.open>a,.primary-nav.open>.nav-dropdown>a{min-height:50px;padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:center}
  .primary-nav a::after,.nav-dropdown>a::after{display:none}
  .nav-dropdown-menu{display:none}
  .primary-nav.open .nav-dropdown-menu{display:block;position:static;opacity:1;pointer-events:auto;transform:none;width:auto;box-shadow:none;border:0;border-left:1px solid var(--line);border-radius:0;margin:0 0 8px 8px;background:transparent;padding:4px 0 4px 8px}
  .primary-nav.open .nav-dropdown-menu a{min-height:44px;padding:12px 14px;display:flex;align-items:center}
}

/* Tablet */
@media(min-width:721px) and (max-width:980px){
  .section{padding:82px 0}
  .hero-grid{grid-template-columns:1fr .72fr;gap:20px}
  .hero h1{font-size:clamp(52px,6vw,66px)}
  .hero-intro{font-size:16px}
  .hero-art{gap:18px}
  .pillar{width:66px}
  .pillar-one{height:280px}.pillar-two{height:225px}.pillar-three{height:175px}
  .product-grid,.value-grid,.product-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .product-grid>.product-card:last-child,.value-grid>.value-card:last-child,.product-links>.product-link:last-child{grid-column:1/-1}
  .product-card{min-height:0}
  .row-heading{grid-template-columns:1fr;gap:20px}
  .contact-card{grid-template-columns:1fr;gap:32px}
  .contact-actions{justify-self:start;text-align:left}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-meta{grid-column:1/-1;text-align:left;border-top:1px solid var(--line);padding-top:22px}
}

/* Portrait tablet and mobile */
@media(max-width:840px){
  .hero-grid,.page-hero .hero-grid,.company-hero .hero-grid{grid-template-columns:1fr}
  .hero-art{max-width:620px;width:100%;margin-inline:auto}
  .page-home .hero-art{height:320px;margin-top:4px}
  .page-home .pillar{width:70px}.page-home .pillar-one{height:245px}.page-home .pillar-two{height:200px}.page-home .pillar-three{height:155px}
  .page-home main>.hero:first-child::before{background-position:68% center;opacity:.42}
  .page-home main>.hero:first-child::after{background:linear-gradient(180deg,rgba(247,243,235,.96) 0%,rgba(247,243,235,.88) 53%,rgba(247,243,235,.76) 78%,rgba(247,243,235,.94) 100%)}
  .page-company .company-hero::before{background-position:66% center;opacity:.42}
  .page-company .company-hero::after{background:linear-gradient(180deg,rgba(247,243,235,.95),rgba(247,243,235,.79) 60%,rgba(247,243,235,.94))}
}

@media(max-width:720px){
  :root{--header-height:72px}
  .shell{width:min(100% - 32px,1180px)}
  .section{padding:68px 0}
  .hero-grid{padding-top:42px;padding-bottom:48px}
  .hero-copy{padding:0}
  .hero h1,.page-hero h1,.company-hero h1{font-size:clamp(44px,12.5vw,60px);line-height:.96}
  .hero-intro{font-size:15px;line-height:1.62}
  .hero-actions{gap:10px}
  .hero-proof{margin-top:25px}
  .product-card,.value-card,.product-link{padding:24px}
  .product-topline{margin-bottom:24px}
  .contact-card{padding:34px 25px;border-radius:13px}
  .contact-card h2{font-size:clamp(36px,10vw,43px)}
  .site-footer{padding-top:48px}
}

@media(max-width:560px){
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .button,.contact-actions .button{width:100%}
  .contact-actions{width:100%;text-align:left}
  .hero-proof{align-items:flex-start}
  .product-grid,.value-grid,.product-links{grid-template-columns:1fr}
  .product-grid>.product-card:last-child,.value-grid>.value-card:last-child,.product-links>.product-link:last-child{grid-column:auto}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-brand,.footer-meta{grid-column:auto}
  .footer-meta{padding-top:22px}
  .product-topline{align-items:flex-start}
  .status{margin-top:5px}
}

/* Respect system accessibility preferences. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
