
:root{color-scheme:only light;
  --p:#F4EDE2;--l:#FAF6F0;--b:#EDE4D8;--s:#DDD0BC;
  --e:#1C1208;--w:#2E1F0F;--c:#A8712A;--h:#C4934E;
  --t:#6B5B48;--g:#9A876E;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
section,.proof{scroll-margin-top:92px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--c);outline-offset:2px}
body{font-family:'Inter',sans-serif;background:var(--l);color:var(--e);-webkit-font-smoothing:antialiased}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:300;height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4%;background-color:#F4EDE2!important;background-image:none!important;opacity:1!important;backdrop-filter:none!important;border-bottom:1px solid #CDBDA6;box-shadow:0 2px 10px rgba(28,18,8,.08)}
.nl{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;color:var(--e);text-decoration:none;flex:0 1 auto;min-width:0}
.nl img{width:440px;max-width:100%;height:auto;aspect-ratio:4219/667;object-fit:contain;object-position:left center;display:block}
.nm{display:flex;align-items:stretch;gap:2px;height:82px;flex:0 0 auto}
.nm a{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--t);text-decoration:none;transition:color .2s}
.nm a:hover{color:var(--c)}
.nm a.ni{color:var(--c)}
.nav-group{position:relative;display:flex;align-items:center}
.nav-main{display:flex;align-items:center;gap:8px;height:82px;padding:0 12px;border:0;background:transparent;color:var(--t);font:inherit;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}
.nav-chevron{width:6px;height:6px;border-right:1px solid var(--c);border-bottom:1px solid var(--c);transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
.nav-main[aria-expanded="true"] .nav-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-sub{display:none;position:absolute;top:calc(100% - 1px);left:50%;z-index:400;transform:translateX(-50%);width:370px;padding:18px;color:#2E1F0F;background-color:#FFFDF8!important;background-image:none!important;opacity:1!important;backdrop-filter:none!important;border:1px solid #725D43;box-shadow:0 24px 52px rgba(28,18,8,.38),0 5px 14px rgba(28,18,8,.18);isolation:isolate;overflow:hidden}
.nav-sub::before{content:"";position:absolute;inset:0;z-index:-1;background:#FFFDF8;opacity:1;pointer-events:none}
.nav-overview{display:flex!important;align-items:center;justify-content:space-between;padding:14px 15px!important;margin-bottom:13px;background:#EEE4D6;border:1px solid #D5C4AC!important;text-transform:none!important}
.nav-overview strong{display:block;color:var(--e);font-family:Georgia,serif;font-size:16px;font-weight:500;letter-spacing:0;text-transform:none}
.nav-overview small{display:block;margin-top:4px;color:#6B6257;font-size:10px;font-weight:400;letter-spacing:.4px;text-transform:none}
.nav-overview b{color:var(--c);font-size:19px;font-weight:400}
.nav-tree{position:relative;padding-left:13px;border-left:1px solid #BDA98E}
.nav-tree-section{position:relative;padding:4px 0 8px 17px}
.nav-tree-section::before{content:"";position:absolute;left:-13px;top:12px;width:14px;border-top:1px solid #BDA98E}
.nav-tree-label{margin-bottom:4px;color:var(--c);font-size:9px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.nav-tree-branches{position:relative;padding-left:12px}
.nav-tree-branches::before{content:"";position:absolute;left:0;top:3px;bottom:9px;border-left:1px solid #DDD0BC}
.nav-tree-branches a{position:relative;display:block;padding:7px 8px 7px 11px;border:0!important;color:#2E1F0F;letter-spacing:.25px;text-transform:none;font-size:11px;line-height:1.25;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.nav-tree-branches a::before{content:"";position:absolute;left:0;top:50%;width:7px;border-top:1px solid #DDD0BC}
.nav-tree-branches a:hover,.nav-tree-branches a:focus-visible{color:#1C1208;background:#E9DCC9;transform:translateX(2px)}
.nav-group.sub-open .nav-sub{display:block}
@media(min-width:901px){
  .nav-group.is-hovered .nav-sub{display:block}
  .nav-group.is-hovered>.nav-main,.nav-group.sub-open>.nav-main{color:#1C1208;background:#E9DDCC}
}
.nav-home{display:flex;align-items:center;padding:0 9px}
.nav-inquire{display:flex;align-items:center;align-self:center;height:40px;margin:12px 0;padding:0 15px!important;color:#FFFDF8!important;background:#A8712A;border:1px solid #8D5A1D;border-radius:2px;box-shadow:0 3px 12px rgba(168,113,42,.24)}
.nav-inquire:hover{color:#FFFDF8!important;background:#8F5E24}
.nav-toggle{display:none;min-width:92px;height:42px;gap:12px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--s);border-radius:2px;color:var(--e);cursor:pointer}
.nav-toggle-label{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.nav-toggle-lines,.nav-toggle-lines::before,.nav-toggle-lines::after{display:block;width:18px;height:1px;background:currentColor;position:relative;transition:transform .2s ease,opacity .2s ease}
.nav-toggle-lines::before,.nav-toggle-lines::after{content:"";position:absolute;left:0}
.nav-toggle-lines::before{top:-6px}.nav-toggle-lines::after{top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines::after{top:0;transform:rotate(-45deg)}
@media(max-width:1240px){.nl img{width:370px}.nav-main{padding:0 8px}.nm a{letter-spacing:1px}.nav-home{display:none}}
@media(max-width:1100px){.nl img{width:310px}.nav-main{padding:0 6px}.nm a{letter-spacing:.7px}}

/* All adjacent photographs remain visibly separated and individually framed. */
.photo-proof-grid,.tag-example-grid,.vmi-solution-grid,.sol-g{background:transparent!important}
.photo-proof-grid figure,.tag-example-grid figure,.vmi-solution-grid figure,.sol{box-shadow:0 8px 24px rgba(28,18,8,.06)}

/* FLOATING CTA */
#fb{position:fixed;bottom:26px;right:26px;z-index:200;background:var(--c);color:var(--l);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:13px 20px;border-radius:2px;text-decoration:none;box-shadow:0 4px 20px rgba(168,113,42,0.32);transition:background .2s}
#fb:hover{background:var(--h)}

/* HERO */
#hero{min-height:100vh;background:var(--p);display:flex;flex-direction:column;justify-content:center;padding:120px 5% 80px;border-bottom:1px solid var(--s);position:relative;overflow:hidden}
.hero-inner{position:relative;z-index:1;width:100%}
.h-eye{font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--c);margin-bottom:22px;display:block}
.h-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,8.5vw,108px);font-weight:600;color:var(--e);line-height:.93;letter-spacing:-2px;max-width:820px;margin-bottom:34px}
.h-h1 em{font-style:italic;color:var(--c);display:inline-block;margin-top:.09em}
.h-r{width:40px;height:1px;background:var(--c);margin-bottom:22px}
.h-s{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(19px,2.3vw,25px);line-height:1.6;color:var(--c);max-width:820px;margin-bottom:44px;font-weight:600}
.h-cta{display:flex;gap:14px;flex-wrap:wrap}
.btn-p{background:var(--c);color:#FFFDF8;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:14px 24px;border-radius:2px;text-decoration:none;transition:background .2s;display:inline-block}
.btn-p:hover{background:var(--h)}
.btn-g{background:transparent;color:var(--c);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:14px 24px;border-radius:2px;text-decoration:none;border:1px solid var(--c);transition:all .2s;display:inline-block}
.btn-g:hover{background:var(--c);color:#FFFDF8}

/* MARQUEE */
.mq{background:var(--b);border-top:1px solid var(--s);border-bottom:1px solid var(--s);padding:14px 0;overflow:hidden}
.mq-t{display:flex;animation:mq 75s linear infinite;width:max-content}
.mq-i{padding:0 32px;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--g);white-space:nowrap;border-right:1px solid var(--s)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mq-t{animation:none}}

/* PROOF STRIP */
.proof{display:grid;grid-template-columns:repeat(3,1fr);background:var(--b);border-bottom:1px solid var(--s)}
.pf{padding:46px 36px;border-right:1px solid var(--s);transition:background .25s ease}
.pf:last-child{border-right:none}
.pf:hover{background:var(--p)}
.pv{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:600;color:var(--c);line-height:1;display:block;margin-bottom:7px}
.pl{font-size:12px;line-height:1.6;color:var(--t)}

/* SECTION SHELL */
.sec{padding:96px 5%}
.sec-alt{background:var(--p)}
.si{max-width:1060px;margin:0 auto}
.eye{font-size:10px;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;color:var(--c);display:block;margin-bottom:14px}
.sh{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4.6vw,50px);font-weight:600;color:var(--e);line-height:1.04;letter-spacing:-.5px;margin-bottom:18px;max-width:680px}
.sh em{font-style:italic;color:var(--c)}
.sl{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;line-height:1.55;color:var(--c);max-width:820px;font-weight:600}
.sl + .sl{margin-top:28px}
.sl-steps{max-width:none}
.cap-panel{margin-bottom:52px}
.cap-panel .eye{margin-bottom:16px}
.cap-panel .sh{margin-bottom:26px}
.steps{display:block;white-space:nowrap;font-weight:700;color:var(--c);font-size:clamp(13px,2.3vw,22px);letter-spacing:.3px;margin-bottom:20px}
.steps b{color:var(--c);font-weight:700;margin:0 .5em}
/* safety net: if the JS auto-fit hits its font-size floor before the line
   fits, allow it to wrap instead of forcing a fixed-width overflow */
@media(max-width:440px){.steps{white-space:normal}}
.sl-sub{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;max-width:none;color:var(--c);font-size:21px;line-height:1.55;font-weight:600}

/* CAPABILITIES */
.cap-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--s);border:1px solid var(--s);margin-top:52px}
.cap{background:var(--l);padding:48px 42px;transition:background .25s ease,box-shadow .3s ease,transform .3s ease}
.cap:hover{background:var(--p)}
.cap h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--c);margin-bottom:13px}
.cap p{font-size:14.5px;line-height:1.9;color:var(--w)}

/* METHOD */
.mth-l{margin-top:52px;border-top:1px solid var(--s)}
.mth{display:grid;grid-template-columns:240px 1fr;gap:36px;padding:34px 0;border-bottom:1px solid var(--s)}
.mth h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--e)}
.mth p{font-size:13.5px;line-height:1.85;color:var(--t)}
.mth-note{margin-top:44px;padding:26px 30px;background:var(--b);border-left:2px solid var(--c);font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;line-height:1.6;color:var(--w);max-width:720px}

/* INDUSTRIES */
.ind-g{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--s);border:1px solid var(--s);margin-top:52px}
.ind{background:var(--p);padding:46px 40px;transition:background .25s ease,box-shadow .3s ease,transform .3s ease;display:block;text-decoration:none;color:inherit;position:relative}
.ind::after{content:"\2192";position:absolute;top:46px;right:34px;color:var(--c);font-size:18px;opacity:0;transition:opacity .25s ease}
.ind:hover::after{opacity:1}
.ind:hover{background:var(--l)}
.ind h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--c);margin-bottom:11px}
.ind p{font-size:14px;line-height:1.85;color:var(--w)}

/* FOUNDER */
.ab-i{max-width:860px;margin:0 auto}
.founder-photo{width:168px;height:168px;margin:0 0 30px;overflow:hidden;border:0;border-radius:50%;background:transparent;line-height:0;box-shadow:none}
.founder-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 22%;border:0;border-radius:50%;-webkit-mask-image:radial-gradient(circle at center,#000 68%,rgba(0,0,0,.88) 82%,transparent 100%);mask-image:radial-gradient(circle at center,#000 68%,rgba(0,0,0,.88) 82%,transparent 100%)}
@media(max-width:700px){.founder-photo{width:138px;height:138px}}
.ab-q{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4.4vw,46px);font-weight:600;font-style:italic;color:var(--e);line-height:1.15;letter-spacing:-.3px;margin-bottom:30px}
.ab-p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;line-height:1.6;color:var(--c);max-width:660px;margin-bottom:16px;font-weight:600}
.ab-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;line-height:1.5;color:var(--t);max-width:520px;margin:0 0 16px 34px;padding-left:20px;border-left:2px solid var(--c)}
.ab-lead{font-size:19px;line-height:1.7;color:var(--e);max-width:660px;margin:0 0 30px;padding-left:22px;border-left:2px solid var(--c);font-style:italic}
.ab-n{margin-top:34px;font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:600;color:var(--e)}
.ab-t{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--c);margin-top:4px}

/* RESOURCES */
.res-cta{margin-top:30px}
.res-g{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start;margin-top:52px}
.doc{padding:20px 0;border-bottom:1px solid var(--s)}
.doc:first-child{border-top:1px solid var(--s)}
.doc h3,.doc h4{font-size:13.5px;font-weight:600;color:var(--e);margin-bottom:5px}
.doc p{font-size:13.5px;line-height:1.75;color:var(--w)}
.vmi-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.vmi-benefit-grid .doc{min-height:164px;padding:28px 0}
.vmi-benefit-grid .doc:nth-child(2){border-top:1px solid var(--s)}
@media(max-width:700px){
  .vmi-benefit-grid{grid-template-columns:1fr}
  .vmi-benefit-grid .doc{min-height:0}
  .vmi-benefit-grid .doc:nth-child(2){border-top:0}
}
.res-unlock{background-color:#F8F2E4;background-image:linear-gradient(#F8F2E4,#F8F2E4);box-shadow:inset 0 0 0 1px #E8DCC4;padding:36px 32px;position:sticky;top:96px}
.res-unlock h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--e);margin-bottom:12px}
.res-unlock p{font-size:14px;line-height:1.8;color:var(--w);margin-bottom:22px}
.res-lock{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--g);margin-top:18px}
#dl-list{display:none;flex-direction:column;gap:10px}
#dl-list.open{display:flex}
.dl-a{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--p);border:1px solid var(--s);border-radius:2px;padding:14px 16px;font-size:13px;font-weight:600;color:var(--e);text-decoration:none;transition:border-color .2s,background .2s}
.dl-a:hover{border-color:var(--c);background:var(--l)}
.dl-a span{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--c)}
#dl-ok,#ps-ok,#reg-ok{font-size:13px;line-height:1.8;color:var(--t);margin-bottom:18px;display:none}
#dl-ok.open,#ps-ok.open,#reg-ok.open{display:block}

/* FORMS */
.cf{display:flex;flex-direction:column;gap:12px}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ff{display:flex;flex-direction:column;gap:5px}
.ff label{font-size:9.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--t)}
.ff input,.ff textarea,.ff select{background:var(--p);border:1px solid var(--s);border-radius:2px;padding:11px 12px;font-family:'Inter',sans-serif;font-size:13px;color:var(--e);outline:none;transition:border-color .2s;-webkit-appearance:none}
.ff input:focus,.ff textarea:focus,.ff select:focus{border-color:var(--c)}
.ff input::placeholder,.ff textarea::placeholder{color:var(--g)}
.ff textarea{resize:vertical;min-height:100px}
.ff select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B5B48' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.btn-s{background:var(--c);color:#FFFDF8;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;padding:14px 24px;border-radius:2px;transition:background .2s;align-self:flex-start}
.btn-s:hover{background:var(--h)}
.f-err{display:none;font-size:12px;color:#8A3B12;line-height:1.6}
.f-err.open{display:block}
.ff-check{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;padding:4px 0}
.ff-check input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--c)}
.ff-check label{font-size:12px;line-height:1.65;color:var(--w)}
.form-note{font-size:11.5px;line-height:1.65;color:var(--g)}

/* CONTACT */
.ci{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start}
#cform,#registration{scroll-margin-top:100px}
.c-dir{margin-top:30px;padding-top:26px;border-top:1px solid var(--s)}
.c-dir p{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--g);margin-bottom:9px}
.c-dir a{display:block;font-size:14px;color:var(--e);text-decoration:none;margin-bottom:6px;transition:color .2s}
.c-dir a:hover{color:var(--c)}

/* PARTNER REGISTRATION */
.reg-copy{margin-top:24px;max-width:520px}
.reg-copy p{font-size:14px;line-height:1.85;color:var(--w)}
.reg-copy p+p{margin-top:16px}
.reg-copy strong{color:var(--e)}
.reg-next{margin-top:30px;padding-top:26px;border-top:1px solid var(--s);max-width:520px}
.reg-next h3{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:600;color:var(--e);margin-bottom:12px}
.reg-next ol{list-style:none;display:flex;flex-direction:column;gap:0}
.reg-next li{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--s)}
.reg-next li span{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--c);padding-top:3px}
.reg-next li p{font-size:13px;line-height:1.7;color:var(--w)}
.reg-form{background-color:#F8F2E4;background-image:linear-gradient(#F8F2E4,#F8F2E4);box-shadow:inset 0 0 0 1px #E8DCC4;padding:30px}

/* FOOTER */
footer{background:var(--b);padding:40px 5%;border-top:1px solid var(--s)}
.fi{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.fl{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;color:var(--e);text-decoration:none}
.fn{display:flex;gap:20px;flex-wrap:wrap}
.fn a{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--t);text-decoration:none;transition:color .2s}
.fn a:hover{color:var(--c)}
.fc{font-size:11px;color:var(--t);width:100%;margin-top:8px}
.fc a{color:var(--t);text-decoration:none}
.fc a:hover{color:var(--c)}

@media(max-width:900px){
  nav{height:72px;padding:0 4%;gap:12px}
  .nl{flex:1 1 auto;min-width:0}
  .nl img{width:280px;max-width:100%}
  .nav-toggle{display:flex;flex:0 0 auto}
  .nm{display:none;position:absolute;left:0;right:0;top:72px;height:calc(100vh - 72px);height:calc(100svh - 72px);max-height:calc(100vh - 72px);max-height:calc(100svh - 72px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;align-items:stretch;gap:0;background-color:#FFFDF8!important;background-image:none!important;opacity:1!important;backdrop-filter:none!important;border:1px solid #725D43;border-top:0;box-shadow:0 20px 44px rgba(28,18,8,.36);padding:12px 4% 18px}
  .nm.open{display:flex}
  .nav-group{display:block;width:100%}
  .nav-main,.nm a.ni{width:100%;height:auto;display:flex;justify-content:space-between;padding:14px 5px;font-size:11px;color:#2E1F0F;background:#FFFDF8!important;border-bottom:1px solid #CFC0AA}
  .nav-sub{position:relative;top:auto;left:auto;transform:none;width:auto;padding:12px;margin:0 0 7px;background-color:#F4EDE2!important;background-image:none!important;border:1px solid #BBA488;border-top:0;box-shadow:none}
  .nav-overview{margin-bottom:10px;padding:12px!important}
  .nav-tree{padding-left:10px}
  .nav-tree-section{padding-left:14px}
  .nav-tree-branches a{padding:8px 8px 8px 11px;font-size:11px}
  .nav-home{display:block!important;height:auto;padding:13px 4px;border-bottom:1px solid rgba(221,208,188,.72)}
  .nm a.ni.nav-inquire{display:flex;align-items:center;justify-content:center;margin:12px 0 0;padding:14px 16px!important;color:#FFFDF8!important;background:#A8712A!important;border:1px solid #8D5A1D}
  .nm a:last-child{border-bottom:0}
}
@media(max-width:520px){.nl img{width:230px;max-width:100%}}
@media(max-width:360px){
  .nav-toggle{min-width:48px;width:48px;padding:0}
  .nav-toggle-label{display:none}
}
@media(max-width:760px){
  .proof{grid-template-columns:1fr}
  .pf{border-right:none;border-bottom:1px solid var(--s);padding:28px 20px}
  .pf:last-child{border-bottom:none}
  .cap-g,.ind-g{grid-template-columns:1fr}
  .mth{grid-template-columns:1fr;gap:10px;padding:28px 0}
  .res-g,.ci{grid-template-columns:1fr;gap:44px}
  .fr2{grid-template-columns:1fr}
  .fi{flex-direction:column;align-items:flex-start}
  #fb{bottom:20px;right:20px;font-size:10px;padding:11px 16px}
  .sec{padding:112px 5%}
}

/* ===== DAYLIGHT LOCK + CRAFT: bright surfaces with restored depth ===== */

.sec-alt{background:var(--b)}
.sec{background:var(--l)}
.mq,.proof,footer{background-color:#F0E7D0;background-image:linear-gradient(#F0E7D0,#F0E7D0)}
.mth-note{background-color:#F8F2E4;background-image:linear-gradient(#F8F2E4,#F8F2E4);box-shadow:inset 0 0 0 1px #E8DCC4}

.cap,.dl-a{background-color:#FEFCF6;background-image:linear-gradient(#FEFCF6,#FEFCF6)}
.ind,.ff input,.ff textarea,.ff select{background-color:#FCF8F0;background-image:linear-gradient(#FCF8F0,#FCF8F0)}
body,p,span,li,h1,h2,h3,h4,label{-webkit-text-fill-color:currentColor}
/* depth without darkness */
.cap:hover,.ind:hover{background-image:linear-gradient(#FFFDF7,#FBF5E9);box-shadow:0 18px 44px rgba(168,113,42,0.16),0 4px 12px rgba(28,18,8,0.05);transform:translateY(-3px)}
.dl-a:hover{box-shadow:0 8px 24px rgba(168,113,42,0.16)}
.btn-p,.btn-s{box-shadow:0 3px 14px rgba(168,113,42,0.28)}
.btn-p:hover,.btn-s:hover{box-shadow:0 5px 20px rgba(168,113,42,0.36)}

::selection{background:#A8712A;color:#FFFDF8}
.cap,.ind{border:0}
.cap-g,.ind-g{gap:1px;background:#E4D8C1;border:1px solid #E4D8C1}
.doc{border-color:#E8DCC4}
.vgroup{border-color:#E8DCC4}


/* gilded display accent */

/* ghost monogram */
#hero{position:relative;overflow:hidden;padding-top:168px;padding-bottom:104px}

#hero>*:not(.hero-ghost){position:relative;z-index:1}
/* editorial eyebrows */
/* luxe nav */

.nl{display:flex;align-items:center;gap:10px;letter-spacing:.3px}
.nl img{height:auto;width:440px;max-width:100%;aspect-ratio:4219/667;display:block}
@media(max-width:1240px){.nl img{width:370px}}
@media(max-width:1100px){.nl img{width:310px}}
@media(max-width:900px){.nl img{width:280px;max-width:100%}}
@media(max-width:520px){.nl img{width:230px;max-width:100%}}
/* generous buttons */
.btn-p,.btn-s,.btn-g{padding:16px 30px;letter-spacing:2px}
/* stately sections */
.sec{padding:128px 5%}
.sh{margin-bottom:22px}
/* numbered guides, oversized serif */
.doc{display:flex;gap:20px;align-items:baseline}
.doc-m{font-size:0;min-width:20px;width:20px;line-height:1;align-self:flex-start;padding-top:3px}
.doc-m::before{content:"";display:block;width:3px;height:26px;background:var(--c);border-radius:2px}
/* founder = the rich moment */
#about .ab-q{font-size:clamp(32px,5vw,54px);position:relative;padding-top:52px}
#about .ab-q::before{content:"\201C";position:absolute;top:-6px;left:-8px;font-family:'Cormorant Garamond',serif;font-size:110px;line-height:1;color:var(--c);opacity:.25;pointer-events:none}

/* footer */
.fl{display:flex;align-items:center;gap:10px}
.fl img{width:360px;max-width:80vw;height:auto;aspect-ratio:4219/667;object-fit:contain;display:block}
footer{padding:56px 5%}
@media(max-width:760px){}

/* ===== INTERIOR PAGES ===== */
.page-hero{background:var(--p);padding:170px 5% 78px;border-bottom:1px solid var(--s);position:relative;overflow:hidden}
.page-hero .si{position:relative;z-index:1}
.ph-crumb{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--t);display:block;margin-bottom:16px}
.ph-crumb a{color:var(--t);text-decoration:none;transition:color .2s}
.ph-crumb a:hover{color:var(--c)}
.ph-crumb span{color:var(--c)}
.ph-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,6.2vw,72px);font-weight:600;color:var(--e);line-height:.98;letter-spacing:-1.2px;max-width:760px;margin-bottom:24px}
.ph-h1 em{font-style:italic;color:var(--c)}
.ph-lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(19px,2vw,23px);line-height:1.55;color:var(--c);max-width:820px;font-weight:600}
/* Photo-backed heroes (About mountain hero, the three full-bleed solution
   photo heroes) need darker lede text than the plain parchment heroes --
   copper italic loses too much contrast against a washed photo. */
.page-hero-mtn .ph-lede,.page-hero-photo .ph-lede{color:var(--e);font-weight:700;text-shadow:0 0 3px rgba(250,246,240,1),0 0 3px rgba(250,246,240,1),0 0 8px rgba(250,246,240,1),0 0 16px rgba(250,246,240,0.95),0 0 28px rgba(250,246,240,0.85),0 0 44px rgba(250,246,240,0.6)}
/* Hero CTA row for interior pages, same look as the homepage's .h-cta */
.ph-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
@media(max-width:900px){.page-hero-mtn .ph-cta,.page-hero-photo .ph-cta{margin-top:26px}}
.ph-ghost{position:absolute;right:4%;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(80px,13vw,190px);line-height:1;color:#A8712A;opacity:.05;letter-spacing:0;user-select:none;pointer-events:none;-webkit-text-fill-color:#A8712A;white-space:nowrap}
.hero-ghost{top:38%;left:76%;right:auto;transform:translate(-50%,-50%);font-size:clamp(90px,15vw,220px);z-index:0}

/* coverage grid on capability pages */
.pt-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#E4D8C1;border:1px solid #E4D8C1;margin-top:48px}
.pt{background-color:#FEFCF6;background-image:linear-gradient(#FEFCF6,#FEFCF6);padding:30px 30px}
.pt h3,.pt h4{font-size:13px;font-weight:600;letter-spacing:.2px;color:var(--e);margin-bottom:8px}
.pt p{font-size:13.5px;line-height:1.8;color:var(--w)}

/* linked capability cards */
a.cap{display:block;text-decoration:none;position:relative}
.cap-more{display:inline-block;margin-top:16px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--c)}
a.cap:hover .cap-more{color:var(--h)}

/* CTA band */
.cta-band{background-color:#F0E7D0;background-image:linear-gradient(#F2E9D3,#EDE3C9);border-top:1px solid var(--s);border-bottom:1px solid var(--s);padding:112px 5%}
.cta-i{max-width:1060px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-h{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3.8vw,40px);font-weight:600;color:var(--e);line-height:1.1;letter-spacing:-.4px;max-width:560px}
.cta-h em{font-style:italic;color:var(--c)}
.cta-a{display:flex;gap:14px;flex-wrap:wrap}

/* related guide chip */
.rel{margin-top:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background-color:#F8F2E4;background-image:linear-gradient(#F8F2E4,#F8F2E4);box-shadow:inset 0 0 0 1px #E8DCC4;padding:24px 28px}
.rel p{font-size:13.5px;line-height:1.7;color:var(--w);max-width:520px}
.rel p strong{color:var(--e)}
.rel a{white-space:nowrap}

/* capabilities index list */
.cix{margin-top:52px;border-top:1px solid var(--s)}
.cix-r{display:grid;grid-template-columns:280px 1fr auto;gap:36px;align-items:baseline;padding:36px 0;border-bottom:1px solid var(--s);text-decoration:none;transition:background .2s}
.cix-r:hover{background-color:#FEFCF6;background-image:linear-gradient(#FFFDF7,#FBF5E9)}
.cix-r h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--c)}
.cix-r p{font-size:14px;line-height:1.85;color:var(--w);max-width:560px}
.cix-r .cap-more{margin-top:0}
@media(max-width:760px){
  .pt-g{grid-template-columns:1fr}
  .cix-r{grid-template-columns:1fr;gap:8px;padding:28px 6px}
  .page-hero{padding:140px 5% 60px}
  .ph-ghost{display:none}
  .hero-ghost{display:block}
  .cta-i{flex-direction:column;align-items:flex-start}
}

/* capstone card spans full width in 7-card grid */
a.cap.cap-wide{grid-column:1/-1}

/* ===== LEAN COUNSEL LIST: bare questions, serif ===== */
.ql{margin-top:52px;border-top:1px solid var(--s);max-width:760px}
.si > .eye + .sh + .ql{margin-top:30px}
.ql + .sh{margin-top:54px}
.ql + .sl{margin-top:54px}
.ql .q{display:block;padding:26px 0;border-bottom:1px solid var(--s);font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.6vw,27px);font-weight:600;color:var(--e);line-height:1.25}
.ql .q em{font-style:italic;color:var(--c)}

/* testimonial quotes on about */
.ql.tq{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--c);border-bottom:2px solid var(--c);max-width:none;margin-top:56px}
.ql.tq .q{border-bottom:none;border-left:1px solid var(--s);padding:34px 30px;font-weight:500;font-style:italic;font-size:clamp(17px,1.7vw,20px);color:var(--c);line-height:1.4}
.ql.tq .q:first-child{border-left:none}
@media(max-width:760px){.ql.tq{grid-template-columns:1fr}.ql.tq .q{border-left:none;border-bottom:1px solid var(--s)}.ql.tq .q:last-child{border-bottom:none}}

/* featured full recommendation on about */
.rec-feat{max-width:820px;margin-top:56px;padding:38px 42px;background:var(--p);border-left:3px solid var(--c)}
.rec-feat blockquote{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.3vw,26px);font-weight:500;font-style:italic;color:var(--e);line-height:1.4}
.rec-feat .rec-by{display:block;margin-top:24px;font-family:'Inter',sans-serif;font-style:normal;font-size:14px;font-weight:600;color:var(--c);line-height:1.5;letter-spacing:.3px}
.rec-feat .rec-by span{display:block;font-weight:400;color:var(--w);font-size:13px}
@media(max-width:760px){.rec-feat{padding:30px 26px}}

@media(prefers-reduced-motion:reduce){.cap:hover,.ind:hover{transform:none}html{scroll-behavior:auto}}

/* ══ McDowell Mountains backdrop — About page hero ══ */
.page-hero > .mcd-wrap{position:absolute;top:0;left:0;right:0;bottom:0;
  height:100%;z-index:0;pointer-events:none;overflow:hidden}

.page-hero .mcd-wrap img{position:absolute;left:50%;bottom:0;
  transform:translateX(-52%);width:132%;min-width:1500px;height:auto;display:block}

/* light atmospheric wash so ridges stay visible through the type */
.page-hero .mcd-wrap::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,
    rgba(244,237,226,0.78) 0%,
    rgba(244,237,226,0.66) 30%,
    rgba(244,237,226,0.50) 50%,
    rgba(244,237,226,0.30) 68%,
    rgba(244,237,226,0.14) 82%,
    rgba(244,237,226,0.04) 96%);}

/* softens the top edge into parchment behind the nav */
.page-hero .mcd-wrap::before{content:"";position:absolute;left:0;right:0;top:0;height:68%;z-index:2;
  background:linear-gradient(180deg,
    rgba(244,237,226,0.95) 0%,
    rgba(244,237,226,0.55) 55%,
    rgba(244,237,226,0.15) 85%,
    rgba(244,237,226,0) 100%);}

.page-hero .si{z-index:3}
.page-hero .ph-ghost{z-index:4}

/* less zoom shrinks the physical mountain band; extra top AND bottom room
   pushes the whole band down toward the bottom edge, so the entire text
   block (headline + paragraph) clears it and sits on open sky */
.page-hero-mtn{padding-top:190px;padding-bottom:70px}
.page-hero-mtn .mcd-wrap img{width:105%}

/* belt-and-suspenders: a soft parchment glow sits directly behind the
   text block itself, so legibility never depends on hitting the exact
   crop of the photo underneath it — text is guaranteed readable */
.page-hero-mtn .si{position:relative}
.page-hero-mtn .si::before{content:"";position:absolute;z-index:-1;
  left:-15%;right:-15%;top:-20%;bottom:-20%;
  background:radial-gradient(ellipse farthest-corner at 35% 42%,
    rgba(244,237,226,0.94) 0%,
    rgba(244,237,226,0.80) 32%,
    rgba(244,237,226,0.48) 55%,
    rgba(244,237,226,0.18) 74%,
    rgba(244,237,226,0) 88%)}

@media(max-width:900px){
  .page-hero-mtn{padding-top:150px;padding-bottom:200px}
  .page-hero-mtn .mcd-wrap img{width:100%;min-width:800px;transform:translateX(-50%)}
  .page-hero-mtn .mcd-wrap::after{background:linear-gradient(180deg,
    rgba(244,237,226,0.90) 0%,
    rgba(244,237,226,0.80) 45%,
    rgba(244,237,226,0.55) 72%,
    rgba(244,237,226,0.22) 100%);}
  .page-hero-mtn .si::before{left:-18%;right:-18%;top:-10%;bottom:-10%;
    background:radial-gradient(ellipse farthest-corner at 50% 38%,
      rgba(244,237,226,0.95) 0%,
      rgba(244,237,226,0.82) 38%,
      rgba(244,237,226,0.52) 60%,
      rgba(244,237,226,0.20) 78%,
      rgba(244,237,226,0) 90%)}
}

/* ══ Solution-page photo heroes (Overhead / Dock Door / Machine Vision) ══ */
.page-hero-photo .ph-photo{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.page-hero-photo .ph-photo img{width:100%;height:100%;object-fit:cover;display:block}
.page-hero-photo .ph-photo::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,
    rgba(244,237,226,0.55) 0%,
    rgba(244,237,226,0.40) 32%,
    rgba(244,237,226,0.22) 55%,
    rgba(244,237,226,0.08) 75%,
    rgba(244,237,226,0) 92%);}
.page-hero-photo .ph-photo::before{content:"";position:absolute;left:0;right:0;top:0;height:40%;z-index:2;
  background:linear-gradient(180deg,rgba(244,237,226,0.85) 0%,rgba(244,237,226,0.35) 60%,rgba(244,237,226,0) 100%);}

/* guaranteed-legibility glow directly behind the text block, same technique
   proven on the About page: sized to the box's farthest corner so it always
   fades to nothing before it reaches its own edge (no visible box) */
.page-hero-photo .si::before{content:"";position:absolute;z-index:-1;
  left:-15%;right:-15%;top:-20%;bottom:-20%;
  background:radial-gradient(ellipse farthest-corner at 32% 42%,
    rgba(244,237,226,0.94) 0%,
    rgba(244,237,226,0.80) 32%,
    rgba(244,237,226,0.48) 55%,
    rgba(244,237,226,0.18) 74%,
    rgba(244,237,226,0) 88%)}

/* per-page object-position: keeps the hardware/technician in frame instead
   of a generic center crop */
.ph-overhead .ph-photo img{object-position:62% 68%}
.ph-dock .ph-photo img{object-position:50% 55%}
.ph-vision .ph-photo img{object-position:50% 75%}

@media(max-width:900px){
  .ph-overhead .ph-photo img{object-position:70% 70%}
  .ph-dock .ph-photo img{object-position:50% 60%}
  .ph-vision .ph-photo img{object-position:50% 80%}
  .page-hero-photo .si::before{left:-18%;right:-18%;top:-10%;bottom:-10%;
    background:radial-gradient(ellipse farthest-corner at 50% 38%,
      rgba(244,237,226,0.95) 0%,
      rgba(244,237,226,0.82) 38%,
      rgba(244,237,226,0.52) 60%,
      rgba(244,237,226,0.20) 78%,
      rgba(244,237,226,0) 90%)}
}

/* ══ Split hero (portrait image) — used by RFID-Enabled VMI ══ */
.page-hero.ph-split .si{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;max-width:1180px}
.ph-split-fig{border-radius:2px;overflow:hidden;border:1px solid var(--s);line-height:0}
.ph-split-fig img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/2}
@media(max-width:900px){
  .page-hero.ph-split .si{grid-template-columns:1fr;gap:28px}
  .ph-split-fig{order:2;max-width:340px}
}

/* ══ Plain figure frame for supporting/technical images ══ */
.fig{border-radius:2px;overflow:hidden;border:1px solid var(--s);line-height:0;margin-top:52px}
.fig img{width:100%;height:auto;display:block}
.fig-tech{max-width:520px;margin-left:auto;margin-right:auto}
.fig-cap{margin-top:10px;font-size:11.5px;color:var(--g);line-height:1.6}

/* how-it-works / delivery-approach: numbered .doc list beside a supporting figure */
.wf-g{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start;margin-top:52px}
.wf-g-single{grid-template-columns:minmax(0,760px)}
.wf-g .fig{margin-top:0}
@media(max-width:900px){.wf-g{grid-template-columns:1fr;gap:36px}}

/* ══ Homepage Flagship Solutions cards ══ */
/* Flagship cards used to sit on a 1px hairline grid, which read as photos
   colliding once each card carried an image. Real gutters, each card framed
   as its own object. */
.sol-g{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;background:transparent;border:0;margin-top:52px}
.sol{border:1px solid #E4D8C1;border-radius:5px;overflow:hidden}
.sol{background-color:#FEFCF6;background-image:linear-gradient(#FEFCF6,#FEFCF6);display:block;text-decoration:none;color:inherit;transition:background .25s ease,box-shadow .3s ease,transform .3s ease}
.sol:hover,.sol:focus-visible{background-image:linear-gradient(#FFFDF7,#FBF5E9);box-shadow:0 18px 44px rgba(168,113,42,0.16),0 4px 12px rgba(28,18,8,0.05);transform:translateY(-3px)}
.sol-fig{line-height:0;overflow:hidden}
.sol-fig img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.sol-overhead .sol-fig img{object-position:60% 65%}
.sol-dock .sol-fig img{object-position:50% 55%}
.sol-vmi .sol-fig img{object-position:50% 42%}
.sol-b{padding:30px 32px}
.sol h3{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:600;color:var(--c);margin-bottom:9px}
.sol p{font-size:14px;line-height:1.85;color:var(--w)}
.sol .cap-more{margin-top:14px}
.sol:hover .cap-more,.sol:focus-visible .cap-more{color:var(--h)}
@media(prefers-reduced-motion:reduce){.sol:hover{transform:none}}
@media(max-width:900px){.sol-g{grid-template-columns:1fr}}

/* ══ Curated page-level proof imagery ══ */
.page-evidence{margin:46px 0 8px;border:1px solid #E4D8C1;background:#FEFCF6;overflow:hidden;line-height:0}
.page-evidence img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.page-evidence-contain{background:linear-gradient(135deg,#FBF6ED,#F1E6D4)}
.page-evidence-contain img{max-height:560px;object-fit:contain}
.page-evidence-portrait{max-width:760px;margin-left:auto;margin-right:auto}
.page-evidence-compact{margin-top:32px}
.page-evidence figcaption{padding:12px 16px 13px;font-size:11.5px;line-height:1.55;color:var(--g);background:#FEFCF6;border-top:1px solid #E4D8C1}
.photo-proof-grid,.tag-example-grid,.vmi-solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:44px}
.photo-proof-grid.photo-proof-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.photo-proof-grid figure,.tag-example-grid figure,.vmi-solution-grid figure{margin:0;border:1px solid #E4D8C1;background:#FEFCF6;overflow:hidden}
.photo-proof-grid img,.tag-example-grid img,.vmi-solution-grid img{display:block;width:100%;height:320px;object-fit:cover}
.tag-example-grid img,.vmi-solution-grid img{object-fit:contain;background:linear-gradient(135deg,#FBF6ED,#F1E6D4)}
.photo-proof-grid figcaption,.tag-example-grid figcaption,.vmi-solution-grid figcaption{padding:13px 16px 15px;font-size:11.5px;line-height:1.55;color:var(--g);border-top:1px solid #E4D8C1}
.photo-proof-grid figcaption strong,.tag-example-grid figcaption strong,.vmi-solution-grid figcaption strong{display:block;font-size:13px;color:var(--c);margin-bottom:4px}
.photo-proof-grid figcaption span,.tag-example-grid figcaption span,.vmi-solution-grid figcaption span{display:block}
@media(max-width:900px){
  .photo-proof-grid,.tag-example-grid,.vmi-solution-grid{grid-template-columns:1fr}
  .photo-proof-grid.photo-proof-grid-three{grid-template-columns:1fr}
  .photo-proof-grid img,.tag-example-grid img,.vmi-solution-grid img{height:auto;max-height:520px}
}

/* Public-content protection: a deliberate speed bump against casual copying.
   Form controls remain selectable so inquiry and accessibility workflows work. */
body,body *{-webkit-user-select:none;-moz-user-select:none;user-select:none}
input,textarea,select,option,[contenteditable="true"]{-webkit-user-select:text;-moz-user-select:text;user-select:text}
img{-webkit-user-drag:none;pointer-events:auto;-webkit-touch-callout:none}

/* ---- premium photo skin (2026-08-29): adds depth + a slow, deliberate
   hover zoom to every existing photo container on the site. Purely a
   presentation layer -- no copy, layout, or structural class changed,
   so it drops onto every page's markup with zero HTML edits. Respects
   reduced-motion. ---- */
.ph-photo,.sol-fig,.fig,.page-evidence,.ph-split-fig,
.photo-proof-grid figure,.tag-example-grid figure,.vmi-solution-grid figure{
  border-radius:5px;
  box-shadow:0 1px 2px rgba(28,18,8,.05),0 18px 40px -12px rgba(28,18,8,.16);
}
.sol-fig img,.ph-photo img,.fig img,.page-evidence img,.ph-split-fig img,
.photo-proof-grid figure img,.tag-example-grid img,.vmi-solution-grid img{
  transition:transform 1.1s cubic-bezier(.16,.6,.2,1);
  will-change:transform;
}
.sol:hover .sol-fig img,
.fig:hover img,
.page-evidence:hover img,
.photo-proof-grid figure:hover img{
  transform:scale(1.045);
}
/* a touch more lift under the flagship/solutions cards to match the new depth */
.cap:hover,.ind:hover,.sol:hover,.sol:focus-visible{
  box-shadow:0 24px 56px rgba(168,113,42,.18),0 6px 16px rgba(28,18,8,.06);
}
@media (prefers-reduced-motion: reduce){
  .sol-fig img,.ph-photo img,.fig img,.page-evidence img,.ph-split-fig img,
  .photo-proof-grid figure img,.tag-example-grid img,.vmi-solution-grid img{
    transition:none;
  }
}

/* ---- card thumbnails on the homepage capability + industry grids
   (2026-08-31): small, consistent, cropped identically so the two grids
   read as one system rather than a scrapbook. ---- */
.card-thumb{
  display:block;line-height:0;margin:-48px -42px 26px;overflow:hidden;
  border-bottom:1px solid #E4D8C1;background:#F3EADA;
}
.card-thumb img{
  display:block;width:100%;height:178px;object-fit:cover;object-position:center 42%;
  /* the house photo treatment is very high-key, so a tight crop can read as
     blank at thumbnail scale; a small contrast lift keeps it reading as an image */
  filter:contrast(1.08) saturate(1.06);
  transition:transform 1.1s cubic-bezier(.16,.6,.2,1);
}
.cap:hover .card-thumb img,.ind:hover .card-thumb img{transform:scale(1.045)}
.ind .card-thumb{margin:-46px -40px 24px}
.cap-wide .card-thumb img{height:196px}
@media(max-width:760px){
  .card-thumb img,.cap-wide .card-thumb img{height:150px}
}
@media (prefers-reduced-motion: reduce){
  .card-thumb img{transition:none}
}

/* homepage credibility quote */
.home-cred{max-width:900px;margin:0 auto;text-align:left}
.home-cred blockquote{
  margin:0;font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(20px,2.4vw,27px);line-height:1.55;color:var(--e);
  border-left:2px solid var(--c);padding-left:28px;
}
.home-cred .hc-attr{
  margin-top:22px;padding-left:30px;font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--g);
}
@media(max-width:760px){
  .home-cred blockquote{padding-left:18px}
  .home-cred .hc-attr{padding-left:20px}
}
/* the ATR placement map carries a title band at the top; crop past it */
.card-thumb img[src*="atr-placement"]{object-position:center 66%}

/* Homepage capability and industry cards use the same separated-card rhythm
   as Flagship Solutions. A fixed aspect ratio keeps crops stable as the grid
   changes width instead of progressively zooming the photographs. */
.cap-g,.ind-g{
  gap:26px;background:transparent;border:0;
}
.cap,.ind{
  border:1px solid #E4D8C1;border-radius:5px;overflow:hidden;
  box-shadow:0 1px 2px rgba(28,18,8,.05),0 18px 40px -12px rgba(28,18,8,.13);
}
.card-thumb img,.cap-wide .card-thumb img{
  width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
  filter:none;
}
.sol-fig img{filter:none}

/* MTG image tone system. The painted/drawn treatment stays in the source
   artwork; these rules only keep large groups from collapsing into one
   beige value. Colors remain within the site's ivory, charcoal and copper
   palette. */

/* Approved benchmarks stay exactly as supplied. */
img[src*="strategy-consulting-session-mtg"],
img[src*="xemelgo-platform-screens"],
img[src*="software-integration-ecosystem-diagram-color-mtg"],
img[src*="software-integration-x-connectors"],
img[src*="medical-sterile-packaging-line"],
img[src*="medical-cold-storage-biohazard-corridor"],
img[src*="overhead-rfid"],
img[src*="vmi-stockroom"],
img[src*="mtg-portal-and-cabinet-outline"]{filter:none}
.cap:hover .card-thumb img,.ind:hover .card-thumb img{transform:scale(1.02)}
.card-thumb img[src*="mobile-rfid-inventory-cart"]{object-position:center 57%}
.card-thumb img[src*="xemelgo-platform-screens"]{
  height:196px;aspect-ratio:auto;object-fit:cover;object-position:center 42%;
}
.card-thumb img[src*="software-integration-x-connectors"]{
  height:178px;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none;background:#F8F3EA;
}
.cap:hover .card-thumb img[src*="software-integration-x-connectors"]{transform:none}
@media(max-width:760px){.card-thumb img[src*="software-integration-x-connectors"]{height:150px}}

/* Global site search */
.nav-search-toggle{display:flex;align-items:center;align-self:center;gap:7px;height:40px;padding:0 10px;border:0;background:transparent;color:var(--t);font-family:'Inter',sans-serif;font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer}
.nav-search-toggle:hover{color:var(--c)}
.nav-search-icon{display:inline-block;width:15px;height:15px;border:1.5px solid currentColor;border-radius:50%;position:relative;flex:0 0 auto}
.nav-search-icon::after{content:"";position:absolute;width:6px;border-top:1.5px solid currentColor;right:-5px;bottom:-2px;transform:rotate(45deg);transform-origin:left center}
.site-search{display:none;position:fixed;inset:0;z-index:900;color:var(--e)}
.site-search.open{display:block}
.site-search-backdrop{position:absolute;inset:0;background:rgba(28,18,8,.55)}
.site-search-panel{position:relative;width:min(760px,calc(100% - 32px));max-height:calc(100vh - 120px);margin:98px auto 0;padding:34px;background:#FFFDF8;border:1px solid #725D43;box-shadow:0 28px 80px rgba(28,18,8,.38);overflow:auto}
.site-search-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}
.site-search-eye,.site-search-category{display:block;color:var(--c);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.site-search-head h2{margin-top:6px;font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1.05;font-weight:600}
.site-search-close{width:40px;height:40px;border:1px solid var(--s);background:#F4EDE2;color:var(--e);font-size:27px;line-height:1;cursor:pointer}
.site-search-field{display:flex;align-items:center;gap:14px;padding:0 18px;border:1px solid #A98C65;background:#FAF6F0;color:var(--c)}
.site-search-field input{width:100%;height:58px;border:0;outline:0;background:transparent;color:var(--e);font-family:'Inter',sans-serif;font-size:16px}
.site-search-field input::placeholder{color:#8B7963}
.site-search-status{padding:18px 2px 10px;color:var(--g);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.site-search-results{border-top:1px solid var(--s)}
.site-search-result{display:grid;grid-template-columns:125px 1fr 24px;column-gap:16px;align-items:center;padding:17px 4px;border-bottom:1px solid var(--s);color:var(--e);text-decoration:none}
.site-search-result strong{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600}
.site-search-result small{grid-column:2;color:var(--t);font-size:11px;line-height:1.5;margin-top:3px}
.site-search-result b{grid-column:3;grid-row:1 / span 2;color:var(--c);font-size:18px;font-weight:400}
.site-search-result:hover,.site-search-result:focus-visible{background:#F4EDE2}
body.search-open{overflow:hidden}
@media(max-width:1240px){.nav-search-toggle>span:last-child{display:none}.nav-search-toggle{padding:0 9px}}
@media(max-width:900px){
  .nav-search-toggle{width:100%;height:auto;justify-content:flex-start;padding:14px 5px;border-bottom:1px solid #CFC0AA;color:#2E1F0F}
  .nav-search-toggle>span:last-child{display:inline}
  .site-search-panel{margin-top:82px;max-height:calc(100vh - 96px);padding:24px}
}
@media(max-width:580px){
  .site-search-result{grid-template-columns:1fr 22px;gap:4px 12px}
  .site-search-category{grid-column:1}
  .site-search-result strong,.site-search-result small{grid-column:1}
  .site-search-result b{grid-column:2;grid-row:1 / span 3}
  .site-search-head h2{font-size:29px}
}
.quote-redaction{
  display:inline-block;padding:0 .25em;color:#6C5840;background:rgba(108,88,64,.14);
  font-family:'Inter',sans-serif;font-size:.58em;font-style:normal;letter-spacing:.08em;
  line-height:1.15;filter:blur(3px);user-select:none;transform:translateY(-.05em);
}
.ind::after{top:auto;bottom:28px}
@media(max-width:760px){
  .cap-g,.ind-g{gap:22px}
  .card-thumb img,.cap-wide .card-thumb img{height:auto;aspect-ratio:16/9}
  .card-thumb img[src*="xemelgo-platform-screens"]{height:150px;aspect-ratio:auto}
}

/* ---- Action Plan offer cards (2026-08-31) ---- */
.offer-g{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;align-items:stretch}
.offer{
  display:flex;flex-direction:column;background:#FEFCF6;border:1px solid #E4D8C1;border-radius:5px;
  padding:34px 30px 30px;box-shadow:0 1px 2px rgba(28,18,8,.05),0 18px 40px -12px rgba(28,18,8,.13);
}
.offer.offer-feature{border-color:var(--c);box-shadow:0 1px 2px rgba(28,18,8,.05),0 22px 48px -12px rgba(168,113,42,.26)}
.offer-tag{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--c);margin-bottom:14px}
.offer h3{font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:600;color:var(--e);line-height:1.15;margin-bottom:12px}
.offer-price{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:600;color:var(--c);line-height:1;margin-bottom:4px}
.offer-price small{display:block;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--g);margin-top:9px;text-transform:uppercase}
.offer-scope{margin:5px 0 8px;font-size:11.5px;font-weight:700;letter-spacing:.14em;line-height:1.45;text-transform:uppercase;color:var(--c)}
.offer-sum{font-size:14px;line-height:1.8;color:var(--w);margin:18px 0 16px}
.offer-list{list-style:none;margin:0 0 24px;padding:0;font-size:13.5px;line-height:1.7;color:var(--t)}
.offer-list li{padding:7px 0 7px 18px;position:relative;border-top:1px solid #EFE5D3}
.offer-list li:first-child{border-top:0}
.offer-list li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:99px;background:var(--c)}
.offer .offer-cta{margin-top:auto}
.offer .offer-cta a{display:block;text-align:center;width:100%}
.offer-note{margin-top:14px;font-size:11.5px;line-height:1.6;color:var(--g)}
@media(max-width:980px){.offer-g{grid-template-columns:1fr;gap:20px}}

/* ---- plain legal documents (privacy, terms) ----
   Deliberately stripped of the marketing page furniture: no alternating
   bands, no eyebrows, no display headings. Conventional numbered sections,
   a readable measure, and an effective date. ---- */
.legal{max-width:760px;margin:0 auto;padding:0 0 20px}
.legal-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4.4vw,44px);font-weight:600;color:var(--e);line-height:1.1;margin-bottom:10px}
.legal-eff{font-size:12.5px;color:var(--g);margin-bottom:38px;padding-bottom:22px;border-bottom:1px solid var(--s)}
.legal h2{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em;
  color:var(--e);margin:34px 0 10px;text-transform:none;
}
.legal h2:first-of-type{margin-top:0}
.legal p{font-size:14.5px;line-height:1.85;color:var(--w);margin-bottom:14px}
.legal p.legal-addr{margin-top:10px;color:var(--t)}
.legal ul{margin:0 0 14px 20px;padding:0}
.legal li{font-size:14.5px;line-height:1.85;color:var(--w);margin-bottom:7px}
.legal a{color:var(--c)}

/* Conversion path: one clear call action after every major homepage section. */
.h-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.h-cta-note{font-size:11px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--g)}
.section-call{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:44px;padding:25px 28px;background:#F4EDE2;border:1px solid #DED0BC;border-left:3px solid var(--c);border-radius:4px}
.section-call div{display:flex;flex-direction:column;gap:7px;max-width:680px}
.section-call strong{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:600;line-height:1.15;color:var(--e)}
.section-call span{font-size:13px;line-height:1.65;color:var(--w)}
.section-call .btn-s{flex:0 0 auto;text-align:center}
.founder-call-h{margin:8px 0 20px;font-size:clamp(34px,4vw,50px)}
.cta-sub{max-width:760px;margin-top:10px;font-size:13px;line-height:1.65;color:#EDE4D8}
@media(max-width:760px){
  .section-call{align-items:stretch;flex-direction:column;padding:22px 20px}
  .section-call .btn-s{width:100%}
  .h-cta{align-items:flex-start;flex-direction:column}
}

/* Improve long problem lists without reducing them to tiny bullets. */
.ql:not(.tq){
  max-width:900px;background:#F8F2E4;border:1px solid #E4D8C1;border-radius:5px;
  overflow:hidden;box-shadow:0 1px 2px rgba(28,18,8,.05),0 18px 40px -14px rgba(28,18,8,.14);
}
.ql:not(.tq) .q{
  position:relative;padding:22px 28px 22px 48px;border-bottom:1px solid #E5D8C1;
  font-size:clamp(18px,2vw,22px);line-height:1.45;color:#2E1F0F;
}
.ql:not(.tq) .q:nth-child(even){background:rgba(255,255,255,.36)}
.ql:not(.tq) .q::before{
  content:"";position:absolute;left:27px;top:25px;width:3px;height:25px;border-radius:2px;background:var(--c);
}
.ql:not(.tq) .q:last-child{border-bottom:0}

/* Preserve the warm closing CTA while separating the footer below it. */
footer{
  background-color:#FFFDF8;background-image:linear-gradient(#FFFDF8,#FBF7EF);
  border-top:1px solid #CDBDA6;box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
@media(max-width:760px){
  .ql:not(.tq) .q{padding:19px 20px 19px 38px;font-size:18px}
  .ql:not(.tq) .q::before{left:20px;top:22px;height:22px}
}

/* --- Tawk.to launcher polish (MTG) --- */
/* Tawk renders in its own iframe; we can only nudge the launcher container.
   Soften the shadow so the bubble sits against the parchment background. */
#tawkchat-container iframe,
iframe[title*="chat" i]{
  filter:drop-shadow(0 6px 20px rgba(28,18,8,.18));
}
